(FPCore (x y z t a) :precision binary64 (/ (- x (* y z)) (- t (* a z))))
↓
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (/ y (- (/ t z) a))) (t_2 (- t (* z a))))
(if (<= z -3.309001054250559e+22)
(- (/ x t_2) t_1)
(if (<= z 2.122287145817166e+25)
(/ (- x (* z y)) t_2)
(- (* x (/ 1.0 t_2)) t_1)))))
double code(double x, double y, double z, double t, double a) {
return (x - (y * z)) / (t - (a * z));
}
↓
double code(double x, double y, double z, double t, double a) {
double t_1 = y / ((t / z) - a);
double t_2 = t - (z * a);
double tmp;
if (z <= -3.309001054250559e+22) {
tmp = (x / t_2) - t_1;
} else if (z <= 2.122287145817166e+25) {
tmp = (x - (z * y)) / t_2;
} else {
tmp = (x * (1.0 / t_2)) - t_1;
}
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)) / (t - (a * z))
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y / ((t / z) - a)
t_2 = t - (z * a)
if (z <= (-3.309001054250559d+22)) then
tmp = (x / t_2) - t_1
else if (z <= 2.122287145817166d+25) then
tmp = (x - (z * y)) / t_2
else
tmp = (x * (1.0d0 / t_2)) - t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
return (x - (y * z)) / (t - (a * z));
}
↓
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y / ((t / z) - a);
double t_2 = t - (z * a);
double tmp;
if (z <= -3.309001054250559e+22) {
tmp = (x / t_2) - t_1;
} else if (z <= 2.122287145817166e+25) {
tmp = (x - (z * y)) / t_2;
} else {
tmp = (x * (1.0 / t_2)) - t_1;
}
return tmp;
}
def code(x, y, z, t, a):
return (x - (y * z)) / (t - (a * z))
↓
def code(x, y, z, t, a):
t_1 = y / ((t / z) - a)
t_2 = t - (z * a)
tmp = 0
if z <= -3.309001054250559e+22:
tmp = (x / t_2) - t_1
elif z <= 2.122287145817166e+25:
tmp = (x - (z * y)) / t_2
else:
tmp = (x * (1.0 / t_2)) - t_1
return tmp
function code(x, y, z, t, a)
return Float64(Float64(x - Float64(y * z)) / Float64(t - Float64(a * z)))
end
↓
function code(x, y, z, t, a)
t_1 = Float64(y / Float64(Float64(t / z) - a))
t_2 = Float64(t - Float64(z * a))
tmp = 0.0
if (z <= -3.309001054250559e+22)
tmp = Float64(Float64(x / t_2) - t_1);
elseif (z <= 2.122287145817166e+25)
tmp = Float64(Float64(x - Float64(z * y)) / t_2);
else
tmp = Float64(Float64(x * Float64(1.0 / t_2)) - t_1);
end
return tmp
end
function tmp = code(x, y, z, t, a)
tmp = (x - (y * z)) / (t - (a * z));
end
↓
function tmp_2 = code(x, y, z, t, a)
t_1 = y / ((t / z) - a);
t_2 = t - (z * a);
tmp = 0.0;
if (z <= -3.309001054250559e+22)
tmp = (x / t_2) - t_1;
elseif (z <= 2.122287145817166e+25)
tmp = (x - (z * y)) / t_2;
else
tmp = (x * (1.0 / t_2)) - t_1;
end
tmp_2 = tmp;
end
herbie shell --seed 2022302
(FPCore (x y z t a)
:name "Diagrams.Solve.Tridiagonal:solveTriDiagonal from diagrams-solve-0.1, A"
:precision binary64
:herbie-target
(if (< z -32113435955957344.0) (- (/ x (- t (* a z))) (/ y (- (/ t z) a))) (if (< z 3.5139522372978296e-86) (* (- x (* y z)) (/ 1.0 (- t (* a z)))) (- (/ x (- t (* a z))) (/ y (- (/ t z) a)))))
(/ (- x (* y z)) (- t (* a z))))