(FPCore (x y z) :precision binary64 (/ (+ x (* y (- z x))) z))
↓
(FPCore (x y z)
:precision binary64
(if (or (<= y -1.2e+26) (not (<= y 5e+26)))
(/ y (/ z (- z x)))
(- (+ y (/ x z)) (/ x (/ z 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 <= -1.2e+26) || !(y <= 5e+26)) {
tmp = y / (z / (z - x));
} else {
tmp = (y + (x / z)) - (x / (z / 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 <= (-1.2d+26)) .or. (.not. (y <= 5d+26))) then
tmp = y / (z / (z - x))
else
tmp = (y + (x / z)) - (x / (z / 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 <= -1.2e+26) || !(y <= 5e+26)) {
tmp = y / (z / (z - x));
} else {
tmp = (y + (x / z)) - (x / (z / y));
}
return tmp;
}
def code(x, y, z):
return (x + (y * (z - x))) / z
↓
def code(x, y, z):
tmp = 0
if (y <= -1.2e+26) or not (y <= 5e+26):
tmp = y / (z / (z - x))
else:
tmp = (y + (x / z)) - (x / (z / 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 <= -1.2e+26) || !(y <= 5e+26))
tmp = Float64(y / Float64(z / Float64(z - x)));
else
tmp = Float64(Float64(y + Float64(x / z)) - Float64(x / Float64(z / 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 <= -1.2e+26) || ~((y <= 5e+26)))
tmp = y / (z / (z - x));
else
tmp = (y + (x / z)) - (x / (z / y));
end
tmp_2 = tmp;
end
herbie shell --seed 2023133
(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))