(FPCore (x y z t a)
:precision binary64
(/ (* (* x y) z) (sqrt (- (* z z) (* t a)))))
↓
(FPCore (x y z t a)
:precision binary64
(if (<= z -6.4)
(* y (- x))
(if (<= z 5.5e-16)
(* (/ y (sqrt (- (* z z) (* t a)))) (* z x))
(/ (* y x) (sqrt (- 1.0 (* t (/ a (* z z)))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6.4) {
tmp = y * -x;
} else if (z <= 5.5e-16) {
tmp = (y / sqrt(((z * z) - (t * a)))) * (z * x);
} else {
tmp = (y * x) / sqrt((1.0 - (t * (a / (z * z)))));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = ((x * y) * z) / sqrt(((z * z) - (t * a)))
end function
↓
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-6.4d0)) then
tmp = y * -x
else if (z <= 5.5d-16) then
tmp = (y / sqrt(((z * z) - (t * a)))) * (z * x)
else
tmp = (y * x) / sqrt((1.0d0 - (t * (a / (z * z)))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
return ((x * y) * z) / Math.sqrt(((z * z) - (t * a)));
}
↓
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6.4) {
tmp = y * -x;
} else if (z <= 5.5e-16) {
tmp = (y / Math.sqrt(((z * z) - (t * a)))) * (z * x);
} else {
tmp = (y * x) / Math.sqrt((1.0 - (t * (a / (z * z)))));
}
return tmp;
}
def code(x, y, z, t, a):
tmp = 0
if z <= -6.4:
tmp = y * -x
elif z <= 5.5e-16:
tmp = (y / math.sqrt(((z * z) - (t * a)))) * (z * x)
else:
tmp = (y * x) / math.sqrt((1.0 - (t * (a / (z * z)))))
return tmp
function code(x, y, z, t, a)
return Float64(Float64(Float64(x * y) * z) / sqrt(Float64(Float64(z * z) - Float64(t * a))))
end
↓
function code(x, y, z, t, a)
tmp = 0.0
if (z <= -6.4)
tmp = Float64(y * Float64(-x));
elseif (z <= 5.5e-16)
tmp = Float64(Float64(y / sqrt(Float64(Float64(z * z) - Float64(t * a)))) * Float64(z * x));
else
tmp = Float64(Float64(y * x) / sqrt(Float64(1.0 - Float64(t * Float64(a / Float64(z * z))))));
end
return tmp
end
function tmp = code(x, y, z, t, a)
tmp = ((x * y) * z) / sqrt(((z * z) - (t * a)));
end
↓
function tmp_2 = code(x, y, z, t, a)
tmp = 0.0;
if (z <= -6.4)
tmp = y * -x;
elseif (z <= 5.5e-16)
tmp = (y / sqrt(((z * z) - (t * a)))) * (z * x);
else
tmp = (y * x) / sqrt((1.0 - (t * (a / (z * z)))));
end
tmp_2 = tmp;
end
herbie shell --seed 2023140
(FPCore (x y z t a)
:name "Statistics.Math.RootFinding:ridders from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< z -3.1921305903852764e+46) (- (* y x)) (if (< z 5.976268120920894e+90) (/ (* x z) (/ (sqrt (- (* z z) (* a t))) y)) (* y x)))
(/ (* (* x y) z) (sqrt (- (* z z) (* t a)))))