(FPCore (x y z) :precision binary64 (* x (- 1.0 (* y z))))
↓
(FPCore (x y z)
:precision binary64
(if (<= (* y z) -1e+157)
(* y (* (- z) x))
(if (<= (* y z) 1e+127)
(* x (/ (- 1.0 (* (* y z) (* y z))) (+ (* y z) 1.0)))
(* z (* x (- y))))))
double code(double x, double y, double z) {
return x * (1.0 - (y * z));
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x * (1.0d0 - (y * z))
end function
↓
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((y * z) <= (-1d+157)) then
tmp = y * (-z * x)
else if ((y * z) <= 1d+127) then
tmp = x * ((1.0d0 - ((y * z) * (y * z))) / ((y * z) + 1.0d0))
else
tmp = z * (x * -y)
end if
code = tmp
end function
public static double code(double x, double y, double z) {
return x * (1.0 - (y * z));
}
↓
public static double code(double x, double y, double z) {
double tmp;
if ((y * z) <= -1e+157) {
tmp = y * (-z * x);
} else if ((y * z) <= 1e+127) {
tmp = x * ((1.0 - ((y * z) * (y * z))) / ((y * z) + 1.0));
} else {
tmp = z * (x * -y);
}
return tmp;
}