real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = (((x * x) + (y * y)) - (z * z)) / (y * 2.0d0)
end function
↓
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = 0.5d0 * (y + ((z + x) / (y / (x - z))))
end function
public static double code(double x, double y, double z) {
return (((x * x) + (y * y)) - (z * z)) / (y * 2.0);
}
(*.f64 1/2 (+.f64 y (/.f64 (+.f64 z x) (/.f64 y (-.f64 x z))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/2 (+.f64 y (/.f64 (Rewrite<= +-commutative_binary64 (+.f64 x z)) (/.f64 y (-.f64 x z))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/2 (+.f64 y (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (+.f64 x z) (-.f64 x z)) y)))): 63 points increase in error, 8 points decrease in error
(*.f64 1/2 (+.f64 y (/.f64 (Rewrite<= difference-of-squares_binary64 (-.f64 (*.f64 x x) (*.f64 z z))) y))): 0 points increase in error, 0 points decrease in error
(*.f64 1/2 (+.f64 y (/.f64 (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 x 2)) (*.f64 z z)) y))): 0 points increase in error, 0 points decrease in error
(*.f64 1/2 (+.f64 y (/.f64 (-.f64 (pow.f64 x 2) (Rewrite<= unpow2_binary64 (pow.f64 z 2))) y))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 1/2 y) (*.f64 1/2 (/.f64 (-.f64 (pow.f64 x 2) (pow.f64 z 2)) y)))): 0 points increase in error, 0 points decrease in error