(FPCore (x y z t a b)
:precision binary64
(/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t))))
↓
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (+ x (/ (* y z) t)) (+ (/ (* y b) t) (+ a 1.0)))))
(if (<= t_1 (- INFINITY))
(* (/ y t) (/ z (+ (+ a 1.0) (/ y (/ t b)))))
(if (<= t_1 2e+292) t_1 (/ z b)))))
double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
↓
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + ((y * z) / t)) / (((y * b) / t) + (a + 1.0));
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = (y / t) * (z / ((a + 1.0) + (y / (t / b))));
} else if (t_1 <= 2e+292) {
tmp = t_1;
} else {
tmp = z / b;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
↓
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + ((y * z) / t)) / (((y * b) / t) + (a + 1.0));
double tmp;
if (t_1 <= -Double.POSITIVE_INFINITY) {
tmp = (y / t) * (z / ((a + 1.0) + (y / (t / b))));
} else if (t_1 <= 2e+292) {
tmp = t_1;
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b):
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t))
↓
def code(x, y, z, t, a, b):
t_1 = (x + ((y * z) / t)) / (((y * b) / t) + (a + 1.0))
tmp = 0
if t_1 <= -math.inf:
tmp = (y / t) * (z / ((a + 1.0) + (y / (t / b))))
elif t_1 <= 2e+292:
tmp = t_1
else:
tmp = z / b
return tmp
function code(x, y, z, t, a, b)
return Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(a + 1.0) + Float64(Float64(y * b) / t)))
end
↓
function code(x, y, z, t, a, b)
t_1 = Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(Float64(y * b) / t) + Float64(a + 1.0)))
tmp = 0.0
if (t_1 <= Float64(-Inf))
tmp = Float64(Float64(y / t) * Float64(z / Float64(Float64(a + 1.0) + Float64(y / Float64(t / b)))));
elseif (t_1 <= 2e+292)
tmp = t_1;
else
tmp = Float64(z / b);
end
return tmp
end
function tmp = code(x, y, z, t, a, b)
tmp = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
end
↓
function tmp_2 = code(x, y, z, t, a, b)
t_1 = (x + ((y * z) / t)) / (((y * b) / t) + (a + 1.0));
tmp = 0.0;
if (t_1 <= -Inf)
tmp = (y / t) * (z / ((a + 1.0) + (y / (t / b))));
elseif (t_1 <= 2e+292)
tmp = t_1;
else
tmp = z / b;
end
tmp_2 = tmp;
end
herbie shell --seed 2023060
(FPCore (x y z t a b)
:name "Diagrams.Solve.Tridiagonal:solveCyclicTriDiagonal from diagrams-solve-0.1, B"
:precision binary64
:herbie-target
(if (< t -1.3659085366310088e-271) (* 1.0 (* (+ x (* (/ y t) z)) (/ 1.0 (+ (+ a 1.0) (* (/ y t) b))))) (if (< t 3.036967103737246e-130) (/ z b) (* 1.0 (* (+ x (* (/ y t) z)) (/ 1.0 (+ (+ a 1.0) (* (/ y t) b)))))))
(/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t))))