(FPCore (x y z) :precision binary64 (/ (+ x (* y (- z x))) z))
↓
(FPCore (x y z)
:precision binary64
(if (or (<= y -5e+92) (not (<= y 1.05e+15)))
(/ y (/ z (- z x)))
(+ y (/ x (/ z (- 1.0 y))))))
double code(double x, double y, double z) {
return (x + (y * (z - x))) / z;
}
↓
double code(double x, double y, double z) {
double tmp;
if ((y <= -5e+92) || !(y <= 1.05e+15)) {
tmp = y / (z / (z - x));
} else {
tmp = y + (x / (z / (1.0 - y)));
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = (x + (y * (z - x))) / z
end function
↓
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((y <= (-5d+92)) .or. (.not. (y <= 1.05d+15))) then
tmp = y / (z / (z - x))
else
tmp = y + (x / (z / (1.0d0 - y)))
end if
code = tmp
end function
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 tmp;
if ((y <= -5e+92) || !(y <= 1.05e+15)) {
tmp = y / (z / (z - x));
} else {
tmp = y + (x / (z / (1.0 - y)));
}
return tmp;
}
def code(x, y, z):
return (x + (y * (z - x))) / z
↓
def code(x, y, z):
tmp = 0
if (y <= -5e+92) or not (y <= 1.05e+15):
tmp = y / (z / (z - x))
else:
tmp = y + (x / (z / (1.0 - y)))
return tmp
function code(x, y, z)
return Float64(Float64(x + Float64(y * Float64(z - x))) / z)
end
↓
function code(x, y, z)
tmp = 0.0
if ((y <= -5e+92) || !(y <= 1.05e+15))
tmp = Float64(y / Float64(z / Float64(z - x)));
else
tmp = Float64(y + Float64(x / Float64(z / Float64(1.0 - y))));
end
return tmp
end
function tmp = code(x, y, z)
tmp = (x + (y * (z - x))) / z;
end
↓
function tmp_2 = code(x, y, z)
tmp = 0.0;
if ((y <= -5e+92) || ~((y <= 1.05e+15)))
tmp = y / (z / (z - x));
else
tmp = y + (x / (z / (1.0 - y)));
end
tmp_2 = tmp;
end
herbie shell --seed 2022364
(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))