double code(double x, double y, double z, double t) {
double tmp;
if ((x / y) <= -5e+120) {
tmp = x * ((z / y) - (t / y));
} else {
tmp = t + ((x / y) * (z - t));
}
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 ((x / y) <= (-5d+120)) then
tmp = x * ((z / y) - (t / y))
else
tmp = t + ((x / y) * (z - t))
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 ((x / y) <= -5e+120) {
tmp = x * ((z / y) - (t / y));
} else {
tmp = t + ((x / y) * (z - t));
}
return tmp;
}
def code(x, y, z, t):
return ((x / y) * (z - t)) + t
↓
def code(x, y, z, t):
tmp = 0
if (x / y) <= -5e+120:
tmp = x * ((z / y) - (t / y))
else:
tmp = t + ((x / y) * (z - t))
return tmp
function code(x, y, z, t)
return Float64(Float64(Float64(x / y) * Float64(z - t)) + t)
end
↓
function code(x, y, z, t)
tmp = 0.0
if (Float64(x / y) <= -5e+120)
tmp = Float64(x * Float64(Float64(z / y) - Float64(t / y)));
else
tmp = Float64(t + Float64(Float64(x / y) * Float64(z - t)));
end
return tmp
end
function tmp = code(x, y, z, t)
tmp = ((x / y) * (z - t)) + t;
end
↓
function tmp_2 = code(x, y, z, t)
tmp = 0.0;
if ((x / y) <= -5e+120)
tmp = x * ((z / y) - (t / y));
else
tmp = t + ((x / y) * (z - t));
end
tmp_2 = tmp;
end
herbie shell --seed 2023090
(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))