(FPCore (x y z t) :precision binary64 (* x (/ (* (/ y z) t) t)))
↓
(FPCore (x y z t)
:precision binary64
(if (<= (/ y z) -5e+284)
(/ y (/ z x))
(if (<= (/ y z) -4e-208)
(* (/ y z) x)
(if (or (<= (/ y z) 4.5e-264) (not (<= (/ y z) 5e+213)))
(* y (/ x z))
(/ x (/ z y))))))
double code(double x, double y, double z, double t) {
double tmp;
if ((y / z) <= -5e+284) {
tmp = y / (z / x);
} else if ((y / z) <= -4e-208) {
tmp = (y / z) * x;
} else if (((y / z) <= 4.5e-264) || !((y / z) <= 5e+213)) {
tmp = y * (x / z);
} else {
tmp = x / (z / y);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x * (((y / z) * t) / t)
end function
↓
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((y / z) <= (-5d+284)) then
tmp = y / (z / x)
else if ((y / z) <= (-4d-208)) then
tmp = (y / z) * x
else if (((y / z) <= 4.5d-264) .or. (.not. ((y / z) <= 5d+213))) then
tmp = y * (x / z)
else
tmp = x / (z / y)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
return x * (((y / z) * t) / t);
}
↓
public static double code(double x, double y, double z, double t) {
double tmp;
if ((y / z) <= -5e+284) {
tmp = y / (z / x);
} else if ((y / z) <= -4e-208) {
tmp = (y / z) * x;
} else if (((y / z) <= 4.5e-264) || !((y / z) <= 5e+213)) {
tmp = y * (x / z);
} else {
tmp = x / (z / y);
}
return tmp;
}
def code(x, y, z, t):
return x * (((y / z) * t) / t)
↓
def code(x, y, z, t):
tmp = 0
if (y / z) <= -5e+284:
tmp = y / (z / x)
elif (y / z) <= -4e-208:
tmp = (y / z) * x
elif ((y / z) <= 4.5e-264) or not ((y / z) <= 5e+213):
tmp = y * (x / z)
else:
tmp = x / (z / y)
return tmp
function code(x, y, z, t)
return Float64(x * Float64(Float64(Float64(y / z) * t) / t))
end