(FPCore (x y z) :precision binary64 (/ (+ x (* y (- z x))) z))
↓
(FPCore (x y z)
:precision binary64
(let* ((t_0 (/ (+ x (* y (- z x))) z)))
(if (<= t_0 (- INFINITY))
(/ (- z x) (/ z y))
(if (<= t_0 5e+302) (+ y (/ (- x (* x y)) z)) (* (- z x) (/ y z))))))
double code(double x, double y, double z) {
return (x + (y * (z - x))) / z;
}
↓
double code(double x, double y, double z) {
double t_0 = (x + (y * (z - x))) / z;
double tmp;
if (t_0 <= -((double) INFINITY)) {
tmp = (z - x) / (z / y);
} else if (t_0 <= 5e+302) {
tmp = y + ((x - (x * y)) / z);
} else {
tmp = (z - x) * (y / z);
}
return tmp;
}
public static double code(double x, double y, double z) {
return (x + (y * (z - x))) / z;
}
↓
public static double code(double x, double y, double z) {
double t_0 = (x + (y * (z - x))) / z;
double tmp;
if (t_0 <= -Double.POSITIVE_INFINITY) {
tmp = (z - x) / (z / y);
} else if (t_0 <= 5e+302) {
tmp = y + ((x - (x * y)) / z);
} else {
tmp = (z - x) * (y / z);
}
return tmp;
}
def code(x, y, z):
return (x + (y * (z - x))) / z
↓
def code(x, y, z):
t_0 = (x + (y * (z - x))) / z
tmp = 0
if t_0 <= -math.inf:
tmp = (z - x) / (z / y)
elif t_0 <= 5e+302:
tmp = y + ((x - (x * y)) / z)
else:
tmp = (z - x) * (y / z)
return tmp
function code(x, y, z)
return Float64(Float64(x + Float64(y * Float64(z - x))) / z)
end
herbie shell --seed 2023057
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:rasterificRadialGradient from diagrams-rasterific-1.3.1.3"
:precision binary64
:herbie-target
(- (+ y (/ x z)) (/ y (/ z x)))
(/ (+ x (* y (- z x))) z))