I am modifying an open source C++ program. I found that my output was not the same as the original, so I spent the last 3 days searching for the errors in my program, then making extensive back-modifications to make my program's output identical to the original. I finally went back to the original, and made only minimal changes to allow compilation with my makefile. The errors persisted. Reasoning that the original was probably compiled with optimization, I tried that and sure enough the differences disappeared (some with -O and the rest disappeared using -O2). Calculations done mainly with integer math were fine to begin with. Using -O, linear interpolation involving doubles yielded the same results, and all results including more complex interpolation and double to int conversions were the same using -O2. I cannot verify my output other than by using the original program. Which results are correct? Am I to assume that optimization does something bad? [my program correct, the original compiled with optimizations incorrect]. -- -Dan Dr. Dan Martin, MD, CCFP, BSc, BCSc (Hon) GP Hospital Practitioner Computer Science grad student ummar143@cc.umanitoba.ca