The following script demonstrates the problem: float alpha=3.50; float phi=0.02; float angle=0.17; float a=alpha-phi; float b=alpha-angle; float c=alpha-angle-phi; float d=b-phi; debug.printL("a "a" b "b" c "c" d " d); debug.printL(alpha" "phi" "angle); with the output being: a 3.48 b 3.32 c 3.32 d 3.30 3.50 0.02 0.17 Note that b and c are identical, whilst c and d are different despite being the same overall sum! It seems that R3D is failing to notice that there is a second minus.