(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))
(* y (/ (- z x) z))
(if (<= t_0 4e+302) t_0 (/ y (/ z (- z x)))))))
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 = y * ((z - x) / z);
} else if (t_0 <= 4e+302) {
tmp = t_0;
} else {
tmp = y / (z / (z - x));
}
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 = y * ((z - x) / z);
} else if (t_0 <= 4e+302) {
tmp = t_0;
} else {
tmp = y / (z / (z - x));
}
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 = y * ((z - x) / z)
elif t_0 <= 4e+302:
tmp = t_0
else:
tmp = y / (z / (z - x))
return tmp
function code(x, y, z)
return Float64(Float64(x + Float64(y * Float64(z - x))) / z)
end
herbie shell --seed 2023064
(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))