(FPCore (x y z t) :precision binary64 (* (/ (- x y) (- z y)) t))
↓
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* (/ (- x y) (- z y)) t)))
(if (<= t_1 -1e-316)
(/ t (/ (- z y) (- x y)))
(if (<= t_1 5e-299) (/ 1.0 (/ z (* (- x y) t))) t_1))))
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 - y)) * 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) :: t_1
real(8) :: tmp
t_1 = ((x - y) / (z - y)) * t
if (t_1 <= (-1d-316)) then
tmp = t / ((z - y) / (x - y))
else if (t_1 <= 5d-299) then
tmp = 1.0d0 / (z / ((x - y) * t))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
return ((x - y) / (z - y)) * t;
}
↓
public static double code(double x, double y, double z, double t) {
double t_1 = ((x - y) / (z - y)) * t;
double tmp;
if (t_1 <= -1e-316) {
tmp = t / ((z - y) / (x - y));
} else if (t_1 <= 5e-299) {
tmp = 1.0 / (z / ((x - y) * t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t):
return ((x - y) / (z - y)) * t
↓
def code(x, y, z, t):
t_1 = ((x - y) / (z - y)) * t
tmp = 0
if t_1 <= -1e-316:
tmp = t / ((z - y) / (x - y))
elif t_1 <= 5e-299:
tmp = 1.0 / (z / ((x - y) * t))
else:
tmp = t_1
return tmp
function code(x, y, z, t)
return Float64(Float64(Float64(x - y) / Float64(z - y)) * t)
end
herbie shell --seed 2023151
(FPCore (x y z t)
:name "Numeric.Signal.Multichannel:$cput from hsignal-0.2.7.1"
:precision binary64
:herbie-target
(/ t (/ (- z y) (- x y)))
(* (/ (- x y) (- z y)) t))