(FPCore (x y z t) :precision binary64 (+ (* (/ x y) (- z t)) t))
↓
(FPCore (x y z t)
:precision binary64
(if (<= y -10000000000.0)
(+ t (* (/ x y) (- z t)))
(if (<= y 1e-85)
(+ t (* (/ 1.0 y) (/ (- z t) (/ 1.0 x))))
(+ t (* x (/ (- z t) y))))))
double code(double x, double y, double z, double t) {
double tmp;
if (y <= -10000000000.0) {
tmp = t + ((x / y) * (z - t));
} else if (y <= 1e-85) {
tmp = t + ((1.0 / y) * ((z - t) / (1.0 / x)));
} else {
tmp = t + (x * ((z - t) / 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 <= (-10000000000.0d0)) then
tmp = t + ((x / y) * (z - t))
else if (y <= 1d-85) then
tmp = t + ((1.0d0 / y) * ((z - t) / (1.0d0 / x)))
else
tmp = t + (x * ((z - t) / 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 <= -10000000000.0) {
tmp = t + ((x / y) * (z - t));
} else if (y <= 1e-85) {
tmp = t + ((1.0 / y) * ((z - t) / (1.0 / x)));
} else {
tmp = t + (x * ((z - t) / 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 <= -10000000000.0:
tmp = t + ((x / y) * (z - t))
elif y <= 1e-85:
tmp = t + ((1.0 / y) * ((z - t) / (1.0 / x)))
else:
tmp = t + (x * ((z - t) / y))
return tmp
function code(x, y, z, t)
return Float64(Float64(Float64(x / y) * Float64(z - t)) + t)
end
herbie shell --seed 2022317
(FPCore (x y z t)
:name "Numeric.Signal.Multichannel:$cget from hsignal-0.2.7.1"
:precision binary64
:herbie-target
(if (< z 2.759456554562692e-282) (+ (* (/ x y) (- z t)) t) (if (< z 2.326994450874436e-110) (+ (* x (/ (- z t) y)) t) (+ (* (/ x y) (- z t)) t)))
(+ (* (/ x y) (- z t)) t))