Hi, When I compile the attached program to bytecode, I get the output "0.000000 -1.000000 -> 1" (which is correct) but when I compile to native code the result is "0.000000 -1.000000 -> 0". The error stops when I substitute "invw" in "let cr = 300. *. invw -. 1.5" by its definition (i.e. if I write "let cr = 300. *. (2. /. float w) -. 1.5"). Curious to know what is the problem. Cheers, ChriS