(FPCore (x y z) :precision binary64 (+ x (/ (* y y) z)))
↓
(FPCore (x y z)
:precision binary64
(+ x (if (!= y 0.0) (/ y (/ z y)) (* (/ y z) y))))
double code(double x, double y, double z) {
return x + ((y * y) / z);
}
↓
double code(double x, double y, double z) {
double tmp;
if (y != 0.0) {
tmp = y / (z / y);
} else {
tmp = (y / z) * y;
}
return x + 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 * y) / 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 /= 0.0d0) then
tmp = y / (z / y)
else
tmp = (y / z) * y
end if
code = x + tmp
end function
public static double code(double x, double y, double z) {
return x + ((y * y) / z);
}
↓
public static double code(double x, double y, double z) {
double tmp;
if (y != 0.0) {
tmp = y / (z / y);
} else {
tmp = (y / z) * y;
}
return x + tmp;
}
def code(x, y, z):
return x + ((y * y) / z)
↓
def code(x, y, z):
tmp = 0
if y != 0.0:
tmp = y / (z / y)
else:
tmp = (y / z) * y
return x + tmp
function code(x, y, z)
return Float64(x + Float64(Float64(y * y) / z))
end
↓
function code(x, y, z)
tmp = 0.0
if (y != 0.0)
tmp = Float64(y / Float64(z / y));
else
tmp = Float64(Float64(y / z) * y);
end
return Float64(x + tmp)
end
function tmp = code(x, y, z)
tmp = x + ((y * y) / z);
end
↓
function tmp_2 = code(x, y, z)
tmp = 0.0;
if (y ~= 0.0)
tmp = y / (z / y);
else
tmp = (y / z) * y;
end
tmp_2 = x + tmp;
end
herbie shell --seed 2023033
(FPCore (x y z)
:name "Crypto.Random.Test:calculate from crypto-random-0.0.9"
:precision binary64
:herbie-target
(+ x (* y (/ y z)))
(+ x (/ (* y y) z)))