
(FPCore (x y z t a b c)
:precision binary64
(/
x
(+
x
(*
y
(exp
(*
2.0
(-
(/ (* z (sqrt (+ t a))) t)
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
return x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
code = x / (x + (y * exp((2.0d0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
def code(x, y, z, t, a, b, c): return x / (x + (y * math.exp((2.0 * (((z * math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
function code(x, y, z, t, a, b, c) return Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0)))))))))) end
function tmp = code(x, y, z, t, a, b, c) tmp = x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0))))))))); end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 17 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c)
:precision binary64
(/
x
(+
x
(*
y
(exp
(*
2.0
(-
(/ (* z (sqrt (+ t a))) t)
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
return x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
code = x / (x + (y * exp((2.0d0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
def code(x, y, z, t, a, b, c): return x / (x + (y * math.exp((2.0 * (((z * math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
function code(x, y, z, t, a, b, c) return Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0)))))))))) end
function tmp = code(x, y, z, t, a, b, c) tmp = x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0))))))))); end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\end{array}
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (* (- c b) (- (+ 0.8333333333333334 a) (/ 2.0 (* t 3.0)))))
(t_2 (sqrt (+ a t))))
(if (<= (+ (/ (* t_2 z) t) t_1) INFINITY)
(/ x (+ x (* y (pow (exp 2.0) (+ (/ z (/ t t_2)) t_1)))))
(/
x
(+
x
(*
y
(exp
(*
2.0
(* b (- (/ 0.6666666666666666 t) (+ 0.8333333333333334 a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = (c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0)));
double t_2 = sqrt((a + t));
double tmp;
if ((((t_2 * z) / t) + t_1) <= ((double) INFINITY)) {
tmp = x / (x + (y * pow(exp(2.0), ((z / (t / t_2)) + t_1))));
} else {
tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a)))))));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = (c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0)));
double t_2 = Math.sqrt((a + t));
double tmp;
if ((((t_2 * z) / t) + t_1) <= Double.POSITIVE_INFINITY) {
tmp = x / (x + (y * Math.pow(Math.exp(2.0), ((z / (t / t_2)) + t_1))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a)))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = (c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0))) t_2 = math.sqrt((a + t)) tmp = 0 if (((t_2 * z) / t) + t_1) <= math.inf: tmp = x / (x + (y * math.pow(math.exp(2.0), ((z / (t / t_2)) + t_1)))) else: tmp = x / (x + (y * math.exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a))))))) return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(Float64(c - b) * Float64(Float64(0.8333333333333334 + a) - Float64(2.0 / Float64(t * 3.0)))) t_2 = sqrt(Float64(a + t)) tmp = 0.0 if (Float64(Float64(Float64(t_2 * z) / t) + t_1) <= Inf) tmp = Float64(x / Float64(x + Float64(y * (exp(2.0) ^ Float64(Float64(z / Float64(t / t_2)) + t_1))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(b * Float64(Float64(0.6666666666666666 / t) - Float64(0.8333333333333334 + a)))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = (c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0))); t_2 = sqrt((a + t)); tmp = 0.0; if ((((t_2 * z) / t) + t_1) <= Inf) tmp = x / (x + (y * (exp(2.0) ^ ((z / (t / t_2)) + t_1)))); else tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a))))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(N[(c - b), $MachinePrecision] * N[(N[(0.8333333333333334 + a), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[Sqrt[N[(a + t), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(N[(N[(t$95$2 * z), $MachinePrecision] / t), $MachinePrecision] + t$95$1), $MachinePrecision], Infinity], N[(x / N[(x + N[(y * N[Power[N[Exp[2.0], $MachinePrecision], N[(N[(z / N[(t / t$95$2), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(b * N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(c - b\right) \cdot \left(\left(0.8333333333333334 + a\right) - \frac{2}{t \cdot 3}\right)\\
t_2 := \sqrt{a + t}\\
\mathbf{if}\;\frac{t_2 \cdot z}{t} + t_1 \leq \infty:\\
\;\;\;\;\frac{x}{x + y \cdot {\left(e^{2}\right)}^{\left(\frac{z}{\frac{t}{t_2}} + t_1\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(0.8333333333333334 + a\right)\right)\right)}}\\
\end{array}
\end{array}
if (-.f64 (/.f64 (*.f64 z (sqrt.f64 (+.f64 t a))) t) (*.f64 (-.f64 b c) (-.f64 (+.f64 a (/.f64 5 6)) (/.f64 2 (*.f64 t 3))))) < +inf.0Initial program 98.4%
exp-prod98.4%
associate-/l*98.7%
metadata-eval98.7%
Simplified98.7%
if +inf.0 < (-.f64 (/.f64 (*.f64 z (sqrt.f64 (+.f64 t a))) t) (*.f64 (-.f64 b c) (-.f64 (+.f64 a (/.f64 5 6)) (/.f64 2 (*.f64 t 3))))) Initial program 0.0%
Taylor expanded in b around inf 83.9%
associate-*r/83.9%
metadata-eval83.9%
+-commutative83.9%
Simplified83.9%
Final simplification98.0%
(FPCore (x y z t a b c)
:precision binary64
(/
x
(fma
y
(pow
(exp 2.0)
(fma
(- 0.8333333333333334 (- (/ 0.6666666666666666 t) a))
(- c b)
(* (sqrt (+ a t)) (/ z t))))
x)))
double code(double x, double y, double z, double t, double a, double b, double c) {
return x / fma(y, pow(exp(2.0), fma((0.8333333333333334 - ((0.6666666666666666 / t) - a)), (c - b), (sqrt((a + t)) * (z / t)))), x);
}
function code(x, y, z, t, a, b, c) return Float64(x / fma(y, (exp(2.0) ^ fma(Float64(0.8333333333333334 - Float64(Float64(0.6666666666666666 / t) - a)), Float64(c - b), Float64(sqrt(Float64(a + t)) * Float64(z / t)))), x)) end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(y * N[Power[N[Exp[2.0], $MachinePrecision], N[(N[(0.8333333333333334 - N[(N[(0.6666666666666666 / t), $MachinePrecision] - a), $MachinePrecision]), $MachinePrecision] * N[(c - b), $MachinePrecision] + N[(N[Sqrt[N[(a + t), $MachinePrecision]], $MachinePrecision] * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(0.8333333333333334 - \left(\frac{0.6666666666666666}{t} - a\right), c - b, \sqrt{a + t} \cdot \frac{z}{t}\right)\right)}, x\right)}
\end{array}
Initial program 93.8%
+-commutative93.8%
fma-def93.8%
Simplified97.3%
Final simplification97.3%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1
(*
y
(exp
(*
2.0
(+
(/ (* (sqrt (+ a t)) z) t)
(* (- c b) (- (+ 0.8333333333333334 a) (/ 2.0 (* t 3.0))))))))))
(if (<= t_1 INFINITY)
(/ x (+ x t_1))
(/
x
(+
x
(*
y
(exp
(*
2.0
(* b (- (/ 0.6666666666666666 t) (+ 0.8333333333333334 a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = y * exp((2.0 * (((sqrt((a + t)) * z) / t) + ((c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0)))))));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = x / (x + t_1);
} else {
tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a)))))));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = y * Math.exp((2.0 * (((Math.sqrt((a + t)) * z) / t) + ((c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0)))))));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = x / (x + t_1);
} else {
tmp = x / (x + (y * Math.exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a)))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = y * math.exp((2.0 * (((math.sqrt((a + t)) * z) / t) + ((c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0))))))) tmp = 0 if t_1 <= math.inf: tmp = x / (x + t_1) else: tmp = x / (x + (y * math.exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a))))))) return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(sqrt(Float64(a + t)) * z) / t) + Float64(Float64(c - b) * Float64(Float64(0.8333333333333334 + a) - Float64(2.0 / Float64(t * 3.0)))))))) tmp = 0.0 if (t_1 <= Inf) tmp = Float64(x / Float64(x + t_1)); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(b * Float64(Float64(0.6666666666666666 / t) - Float64(0.8333333333333334 + a)))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = y * exp((2.0 * (((sqrt((a + t)) * z) / t) + ((c - b) * ((0.8333333333333334 + a) - (2.0 / (t * 3.0))))))); tmp = 0.0; if (t_1 <= Inf) tmp = x / (x + t_1); else tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (0.8333333333333334 + a))))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(y * N[Exp[N[(2.0 * N[(N[(N[(N[Sqrt[N[(a + t), $MachinePrecision]], $MachinePrecision] * z), $MachinePrecision] / t), $MachinePrecision] + N[(N[(c - b), $MachinePrecision] * N[(N[(0.8333333333333334 + a), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], N[(x / N[(x + t$95$1), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(b * N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot e^{2 \cdot \left(\frac{\sqrt{a + t} \cdot z}{t} + \left(c - b\right) \cdot \left(\left(0.8333333333333334 + a\right) - \frac{2}{t \cdot 3}\right)\right)}\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;\frac{x}{x + t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(0.8333333333333334 + a\right)\right)\right)}}\\
\end{array}
\end{array}
if (*.f64 y (exp.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 z (sqrt.f64 (+.f64 t a))) t) (*.f64 (-.f64 b c) (-.f64 (+.f64 a (/.f64 5 6)) (/.f64 2 (*.f64 t 3)))))))) < +inf.0Initial program 98.4%
if +inf.0 < (*.f64 y (exp.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 z (sqrt.f64 (+.f64 t a))) t) (*.f64 (-.f64 b c) (-.f64 (+.f64 a (/.f64 5 6)) (/.f64 2 (*.f64 t 3)))))))) Initial program 0.0%
Taylor expanded in b around inf 83.9%
associate-*r/83.9%
metadata-eval83.9%
+-commutative83.9%
Simplified83.9%
Final simplification97.7%
(FPCore (x y z t a b c)
:precision binary64
(if (or (<= c -4e+109) (not (<= c 5e+76)))
(/
x
(+
x
(*
y
(exp
(* 2.0 (* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
(/
x
(+
x
(*
y
(exp
(*
2.0
(+
(* (sqrt (+ a t)) (/ z t))
(* b (- (- (/ 0.6666666666666666 t) a) 0.8333333333333334))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if ((c <= -4e+109) || !(c <= 5e+76)) {
tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((sqrt((a + t)) * (z / t)) + (b * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if ((c <= (-4d+109)) .or. (.not. (c <= 5d+76))) then
tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((sqrt((a + t)) * (z / t)) + (b * (((0.6666666666666666d0 / t) - a) - 0.8333333333333334d0)))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if ((c <= -4e+109) || !(c <= 5e+76)) {
tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((Math.sqrt((a + t)) * (z / t)) + (b * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if (c <= -4e+109) or not (c <= 5e+76): tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))) else: tmp = x / (x + (y * math.exp((2.0 * ((math.sqrt((a + t)) * (z / t)) + (b * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((c <= -4e+109) || !(c <= 5e+76)) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t))))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(sqrt(Float64(a + t)) * Float64(z / t)) + Float64(b * Float64(Float64(Float64(0.6666666666666666 / t) - a) - 0.8333333333333334)))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if ((c <= -4e+109) || ~((c <= 5e+76))) tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))); else tmp = x / (x + (y * exp((2.0 * ((sqrt((a + t)) * (z / t)) + (b * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[c, -4e+109], N[Not[LessEqual[c, 5e+76]], $MachinePrecision]], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[Sqrt[N[(a + t), $MachinePrecision]], $MachinePrecision] * N[(z / t), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(N[(0.6666666666666666 / t), $MachinePrecision] - a), $MachinePrecision] - 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -4 \cdot 10^{+109} \lor \neg \left(c \leq 5 \cdot 10^{+76}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\sqrt{a + t} \cdot \frac{z}{t} + b \cdot \left(\left(\frac{0.6666666666666666}{t} - a\right) - 0.8333333333333334\right)\right)}}\\
\end{array}
\end{array}
if c < -3.99999999999999993e109 or 4.99999999999999991e76 < c Initial program 87.4%
Taylor expanded in c around inf 92.6%
sub-neg92.6%
sub-neg92.6%
associate-*r/92.6%
metadata-eval92.6%
metadata-eval92.6%
associate-/r*92.6%
*-commutative92.6%
+-commutative92.6%
associate--l+92.6%
*-commutative92.6%
associate-/r*92.6%
metadata-eval92.6%
sub-neg92.6%
distribute-neg-frac92.6%
metadata-eval92.6%
Simplified92.6%
if -3.99999999999999993e109 < c < 4.99999999999999991e76Initial program 96.6%
Taylor expanded in c around 0 93.4%
fma-neg93.9%
+-commutative93.9%
fma-neg93.4%
associate--l+93.4%
associate-*r/93.4%
metadata-eval93.4%
Simplified93.4%
Final simplification93.1%
(FPCore (x y z t a b c)
:precision binary64
(if (<= t -1.75e+62)
(/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
(if (<= t 3.7e-214)
(/
x
(+
x
(*
y
(exp
(* 2.0 (/ (+ (* z (sqrt a)) (* (- c b) -0.6666666666666666)) t))))))
(if (<= t 3.5e-55)
(/
x
(+
x
(*
y
(exp
(*
2.0
(* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
(/ x (+ x (* y (exp (* 2.0 (* (- c b) (+ 0.8333333333333334 a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -1.75e+62) {
tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
} else if (t <= 3.7e-214) {
tmp = x / (x + (y * exp((2.0 * (((z * sqrt(a)) + ((c - b) * -0.6666666666666666)) / t)))));
} else if (t <= 3.5e-55) {
tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (t <= (-1.75d+62)) then
tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
else if (t <= 3.7d-214) then
tmp = x / (x + (y * exp((2.0d0 * (((z * sqrt(a)) + ((c - b) * (-0.6666666666666666d0))) / t)))))
else if (t <= 3.5d-55) then
tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((c - b) * (0.8333333333333334d0 + a))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -1.75e+62) {
tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
} else if (t <= 3.7e-214) {
tmp = x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt(a)) + ((c - b) * -0.6666666666666666)) / t)))));
} else if (t <= 3.5e-55) {
tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if t <= -1.75e+62: tmp = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) elif t <= 3.7e-214: tmp = x / (x + (y * math.exp((2.0 * (((z * math.sqrt(a)) + ((c - b) * -0.6666666666666666)) / t))))) elif t <= 3.5e-55: tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))) else: tmp = x / (x + (y * math.exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (t <= -1.75e+62) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))); elseif (t <= 3.7e-214) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(a)) + Float64(Float64(c - b) * -0.6666666666666666)) / t)))))); elseif (t <= 3.5e-55) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t))))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c - b) * Float64(0.8333333333333334 + a))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (t <= -1.75e+62) tmp = x / (x + (y * exp((2.0 * (a * (c - b)))))); elseif (t <= 3.7e-214) tmp = x / (x + (y * exp((2.0 * (((z * sqrt(a)) + ((c - b) * -0.6666666666666666)) / t))))); elseif (t <= 3.5e-55) tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))); else tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -1.75e+62], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.7e-214], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[a], $MachinePrecision]), $MachinePrecision] + N[(N[(c - b), $MachinePrecision] * -0.6666666666666666), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.5e-55], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c - b), $MachinePrecision] * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.75 \cdot 10^{+62}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{elif}\;t \leq 3.7 \cdot 10^{-214}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{z \cdot \sqrt{a} + \left(c - b\right) \cdot -0.6666666666666666}{t}}}\\
\mathbf{elif}\;t \leq 3.5 \cdot 10^{-55}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(c - b\right) \cdot \left(0.8333333333333334 + a\right)\right)}}\\
\end{array}
\end{array}
if t < -1.74999999999999992e62Initial program 92.9%
Taylor expanded in a around inf 100.0%
if -1.74999999999999992e62 < t < 3.7000000000000002e-214Initial program 93.5%
Taylor expanded in t around 0 98.7%
if 3.7000000000000002e-214 < t < 3.50000000000000025e-55Initial program 95.8%
Taylor expanded in c around inf 78.9%
sub-neg78.9%
sub-neg78.9%
associate-*r/78.9%
metadata-eval78.9%
metadata-eval78.9%
associate-/r*78.9%
*-commutative78.9%
+-commutative78.9%
associate--l+78.9%
*-commutative78.9%
associate-/r*78.9%
metadata-eval78.9%
sub-neg78.9%
distribute-neg-frac78.9%
metadata-eval78.9%
Simplified78.9%
if 3.50000000000000025e-55 < t Initial program 93.2%
Taylor expanded in t around inf 88.4%
mul-1-neg88.4%
distribute-rgt-neg-in88.4%
+-commutative88.4%
neg-sub088.4%
associate--r-88.4%
neg-sub088.4%
+-commutative88.4%
sub-neg88.4%
Simplified88.4%
Final simplification90.3%
(FPCore (x y z t a b c)
:precision binary64
(if (<= t -4.6e+48)
(/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
(if (<= t -2.05e-272)
(/
x
(+
x
(* y (exp (* 2.0 (/ (- (* z (sqrt a)) (* b -0.6666666666666666)) t))))))
(if (<= t 3.3e-55)
(/
x
(+
x
(*
y
(exp
(*
2.0
(* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
(/ x (+ x (* y (exp (* 2.0 (* (- c b) (+ 0.8333333333333334 a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -4.6e+48) {
tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
} else if (t <= -2.05e-272) {
tmp = x / (x + (y * exp((2.0 * (((z * sqrt(a)) - (b * -0.6666666666666666)) / t)))));
} else if (t <= 3.3e-55) {
tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (t <= (-4.6d+48)) then
tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
else if (t <= (-2.05d-272)) then
tmp = x / (x + (y * exp((2.0d0 * (((z * sqrt(a)) - (b * (-0.6666666666666666d0))) / t)))))
else if (t <= 3.3d-55) then
tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((c - b) * (0.8333333333333334d0 + a))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -4.6e+48) {
tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
} else if (t <= -2.05e-272) {
tmp = x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt(a)) - (b * -0.6666666666666666)) / t)))));
} else if (t <= 3.3e-55) {
tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if t <= -4.6e+48: tmp = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) elif t <= -2.05e-272: tmp = x / (x + (y * math.exp((2.0 * (((z * math.sqrt(a)) - (b * -0.6666666666666666)) / t))))) elif t <= 3.3e-55: tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))) else: tmp = x / (x + (y * math.exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (t <= -4.6e+48) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))); elseif (t <= -2.05e-272) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(a)) - Float64(b * -0.6666666666666666)) / t)))))); elseif (t <= 3.3e-55) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t))))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c - b) * Float64(0.8333333333333334 + a))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (t <= -4.6e+48) tmp = x / (x + (y * exp((2.0 * (a * (c - b)))))); elseif (t <= -2.05e-272) tmp = x / (x + (y * exp((2.0 * (((z * sqrt(a)) - (b * -0.6666666666666666)) / t))))); elseif (t <= 3.3e-55) tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))); else tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -4.6e+48], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -2.05e-272], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[a], $MachinePrecision]), $MachinePrecision] - N[(b * -0.6666666666666666), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.3e-55], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c - b), $MachinePrecision] * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.6 \cdot 10^{+48}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{elif}\;t \leq -2.05 \cdot 10^{-272}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{z \cdot \sqrt{a} - b \cdot -0.6666666666666666}{t}}}\\
\mathbf{elif}\;t \leq 3.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(c - b\right) \cdot \left(0.8333333333333334 + a\right)\right)}}\\
\end{array}
\end{array}
if t < -4.6e48Initial program 92.9%
Taylor expanded in a around inf 100.0%
if -4.6e48 < t < -2.0499999999999999e-272Initial program 93.8%
Taylor expanded in c around 0 85.8%
fma-neg85.8%
+-commutative85.8%
fma-neg85.8%
associate--l+85.8%
associate-*r/85.8%
metadata-eval85.8%
Simplified85.8%
Taylor expanded in t around 0 89.9%
if -2.0499999999999999e-272 < t < 3.2999999999999999e-55Initial program 94.8%
Taylor expanded in c around inf 79.3%
sub-neg79.3%
sub-neg79.3%
associate-*r/79.3%
metadata-eval79.3%
metadata-eval79.3%
associate-/r*79.3%
*-commutative79.3%
+-commutative79.3%
associate--l+79.3%
*-commutative79.3%
associate-/r*79.3%
metadata-eval79.3%
sub-neg79.3%
distribute-neg-frac79.3%
metadata-eval79.3%
Simplified79.3%
if 3.2999999999999999e-55 < t Initial program 93.2%
Taylor expanded in t around inf 88.4%
mul-1-neg88.4%
distribute-rgt-neg-in88.4%
+-commutative88.4%
neg-sub088.4%
associate--r-88.4%
neg-sub088.4%
+-commutative88.4%
sub-neg88.4%
Simplified88.4%
Final simplification86.6%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (/ x (+ x (* y (exp (* (- c b) 1.6666666666666667)))))))
(if (<= t -2e-181)
t_1
(if (<= t -6.8e-261)
1.0
(if (<= t -9.5e-301)
t_1
(if (<= t 8.2e-267)
(/ x (+ (+ x y) (* -2.0 (* b (* y (+ 0.8333333333333334 a))))))
(if (<= t 9.5e-88) 1.0 t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
double tmp;
if (t <= -2e-181) {
tmp = t_1;
} else if (t <= -6.8e-261) {
tmp = 1.0;
} else if (t <= -9.5e-301) {
tmp = t_1;
} else if (t <= 8.2e-267) {
tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a)))));
} else if (t <= 9.5e-88) {
tmp = 1.0;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: t_1
real(8) :: tmp
t_1 = x / (x + (y * exp(((c - b) * 1.6666666666666667d0))))
if (t <= (-2d-181)) then
tmp = t_1
else if (t <= (-6.8d-261)) then
tmp = 1.0d0
else if (t <= (-9.5d-301)) then
tmp = t_1
else if (t <= 8.2d-267) then
tmp = x / ((x + y) + ((-2.0d0) * (b * (y * (0.8333333333333334d0 + a)))))
else if (t <= 9.5d-88) then
tmp = 1.0d0
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * Math.exp(((c - b) * 1.6666666666666667))));
double tmp;
if (t <= -2e-181) {
tmp = t_1;
} else if (t <= -6.8e-261) {
tmp = 1.0;
} else if (t <= -9.5e-301) {
tmp = t_1;
} else if (t <= 8.2e-267) {
tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a)))));
} else if (t <= 9.5e-88) {
tmp = 1.0;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = x / (x + (y * math.exp(((c - b) * 1.6666666666666667)))) tmp = 0 if t <= -2e-181: tmp = t_1 elif t <= -6.8e-261: tmp = 1.0 elif t <= -9.5e-301: tmp = t_1 elif t <= 8.2e-267: tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a))))) elif t <= 9.5e-88: tmp = 1.0 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(x / Float64(x + Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667))))) tmp = 0.0 if (t <= -2e-181) tmp = t_1; elseif (t <= -6.8e-261) tmp = 1.0; elseif (t <= -9.5e-301) tmp = t_1; elseif (t <= 8.2e-267) tmp = Float64(x / Float64(Float64(x + y) + Float64(-2.0 * Float64(b * Float64(y * Float64(0.8333333333333334 + a)))))); elseif (t <= 9.5e-88) tmp = 1.0; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = x / (x + (y * exp(((c - b) * 1.6666666666666667)))); tmp = 0.0; if (t <= -2e-181) tmp = t_1; elseif (t <= -6.8e-261) tmp = 1.0; elseif (t <= -9.5e-301) tmp = t_1; elseif (t <= 8.2e-267) tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a))))); elseif (t <= 9.5e-88) tmp = 1.0; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(x / N[(x + N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2e-181], t$95$1, If[LessEqual[t, -6.8e-261], 1.0, If[LessEqual[t, -9.5e-301], t$95$1, If[LessEqual[t, 8.2e-267], N[(x / N[(N[(x + y), $MachinePrecision] + N[(-2.0 * N[(b * N[(y * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 9.5e-88], 1.0, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\
\mathbf{if}\;t \leq -2 \cdot 10^{-181}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -6.8 \cdot 10^{-261}:\\
\;\;\;\;1\\
\mathbf{elif}\;t \leq -9.5 \cdot 10^{-301}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 8.2 \cdot 10^{-267}:\\
\;\;\;\;\frac{x}{\left(x + y\right) + -2 \cdot \left(b \cdot \left(y \cdot \left(0.8333333333333334 + a\right)\right)\right)}\\
\mathbf{elif}\;t \leq 9.5 \cdot 10^{-88}:\\
\;\;\;\;1\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -2.00000000000000009e-181 or -6.8e-261 < t < -9.50000000000000032e-301 or 9.5e-88 < t Initial program 93.9%
Taylor expanded in t around inf 82.3%
mul-1-neg82.3%
distribute-rgt-neg-in82.3%
+-commutative82.3%
neg-sub082.3%
associate--r-82.3%
neg-sub082.3%
+-commutative82.3%
sub-neg82.3%
Simplified82.3%
Taylor expanded in a around 0 74.2%
if -2.00000000000000009e-181 < t < -6.8e-261 or 8.20000000000000022e-267 < t < 9.5e-88Initial program 94.1%
Taylor expanded in a around inf 46.1%
Taylor expanded in x around inf 61.5%
if -9.50000000000000032e-301 < t < 8.20000000000000022e-267Initial program 90.0%
Taylor expanded in b around inf 80.6%
associate-*r/80.6%
metadata-eval80.6%
+-commutative80.6%
Simplified80.6%
Taylor expanded in b around 0 32.7%
associate-*r*48.1%
associate-*r/48.1%
metadata-eval48.1%
+-commutative48.1%
Simplified48.1%
Taylor expanded in t around inf 80.1%
associate-+r+80.1%
Simplified80.1%
Final simplification71.0%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))))
(if (<= t -1.15e-249)
t_1
(if (<= t 1.05e-251)
(/ x (+ x (* y (exp (* 2.0 (/ (* c -0.6666666666666666) t))))))
(if (<= t 4.4e-57)
(/ x (+ x (* y (exp (* 2.0 (* 0.6666666666666666 (/ b t)))))))
(if (<= t 1.8e+214)
(/ x (+ x (* y (exp (* (- c b) 1.6666666666666667)))))
t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * exp((2.0 * (a * (c - b))))));
double tmp;
if (t <= -1.15e-249) {
tmp = t_1;
} else if (t <= 1.05e-251) {
tmp = x / (x + (y * exp((2.0 * ((c * -0.6666666666666666) / t)))));
} else if (t <= 4.4e-57) {
tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t))))));
} else if (t <= 1.8e+214) {
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: t_1
real(8) :: tmp
t_1 = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
if (t <= (-1.15d-249)) then
tmp = t_1
else if (t <= 1.05d-251) then
tmp = x / (x + (y * exp((2.0d0 * ((c * (-0.6666666666666666d0)) / t)))))
else if (t <= 4.4d-57) then
tmp = x / (x + (y * exp((2.0d0 * (0.6666666666666666d0 * (b / t))))))
else if (t <= 1.8d+214) then
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667d0))))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
double tmp;
if (t <= -1.15e-249) {
tmp = t_1;
} else if (t <= 1.05e-251) {
tmp = x / (x + (y * Math.exp((2.0 * ((c * -0.6666666666666666) / t)))));
} else if (t <= 4.4e-57) {
tmp = x / (x + (y * Math.exp((2.0 * (0.6666666666666666 * (b / t))))));
} else if (t <= 1.8e+214) {
tmp = x / (x + (y * Math.exp(((c - b) * 1.6666666666666667))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) tmp = 0 if t <= -1.15e-249: tmp = t_1 elif t <= 1.05e-251: tmp = x / (x + (y * math.exp((2.0 * ((c * -0.6666666666666666) / t))))) elif t <= 4.4e-57: tmp = x / (x + (y * math.exp((2.0 * (0.6666666666666666 * (b / t)))))) elif t <= 1.8e+214: tmp = x / (x + (y * math.exp(((c - b) * 1.6666666666666667)))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))) tmp = 0.0 if (t <= -1.15e-249) tmp = t_1; elseif (t <= 1.05e-251) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c * -0.6666666666666666) / t)))))); elseif (t <= 4.4e-57) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(0.6666666666666666 * Float64(b / t))))))); elseif (t <= 1.8e+214) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = x / (x + (y * exp((2.0 * (a * (c - b)))))); tmp = 0.0; if (t <= -1.15e-249) tmp = t_1; elseif (t <= 1.05e-251) tmp = x / (x + (y * exp((2.0 * ((c * -0.6666666666666666) / t))))); elseif (t <= 4.4e-57) tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t)))))); elseif (t <= 1.8e+214) tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667)))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.15e-249], t$95$1, If[LessEqual[t, 1.05e-251], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c * -0.6666666666666666), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.4e-57], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(0.6666666666666666 * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.8e+214], N[(x / N[(x + N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{if}\;t \leq -1.15 \cdot 10^{-249}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.05 \cdot 10^{-251}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{c \cdot -0.6666666666666666}{t}}}\\
\mathbf{elif}\;t \leq 4.4 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(0.6666666666666666 \cdot \frac{b}{t}\right)}}\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{+214}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.1499999999999999e-249 or 1.8000000000000001e214 < t Initial program 89.9%
Taylor expanded in a around inf 78.2%
if -1.1499999999999999e-249 < t < 1.04999999999999991e-251Initial program 90.0%
Taylor expanded in c around inf 77.4%
sub-neg77.4%
sub-neg77.4%
associate-*r/77.4%
metadata-eval77.4%
metadata-eval77.4%
associate-/r*77.4%
*-commutative77.4%
+-commutative77.4%
associate--l+77.4%
*-commutative77.4%
associate-/r*77.4%
metadata-eval77.4%
sub-neg77.4%
distribute-neg-frac77.4%
metadata-eval77.4%
Simplified77.4%
Taylor expanded in t around 0 80.7%
associate-*r/80.7%
Simplified80.7%
if 1.04999999999999991e-251 < t < 4.39999999999999997e-57Initial program 96.4%
Taylor expanded in b around inf 67.2%
associate-*r/67.2%
metadata-eval67.2%
+-commutative67.2%
Simplified67.2%
Taylor expanded in t around 0 75.8%
if 4.39999999999999997e-57 < t < 1.8000000000000001e214Initial program 97.6%
Taylor expanded in t around inf 85.6%
mul-1-neg85.6%
distribute-rgt-neg-in85.6%
+-commutative85.6%
neg-sub085.6%
associate--r-85.6%
neg-sub085.6%
+-commutative85.6%
sub-neg85.6%
Simplified85.6%
Taylor expanded in a around 0 82.1%
Final simplification79.2%
(FPCore (x y z t a b c)
:precision binary64
(if (<= t -2e-242)
(/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
(if (<= t 1e-249)
(/ x (+ x (* y (exp (* 2.0 (/ (* c -0.6666666666666666) t))))))
(if (<= t 5.6e-56)
(/ x (+ x (* y (exp (* 2.0 (* 0.6666666666666666 (/ b t)))))))
(/ x (+ x (* y (exp (* 2.0 (* (- c b) (+ 0.8333333333333334 a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -2e-242) {
tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
} else if (t <= 1e-249) {
tmp = x / (x + (y * exp((2.0 * ((c * -0.6666666666666666) / t)))));
} else if (t <= 5.6e-56) {
tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (t <= (-2d-242)) then
tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
else if (t <= 1d-249) then
tmp = x / (x + (y * exp((2.0d0 * ((c * (-0.6666666666666666d0)) / t)))))
else if (t <= 5.6d-56) then
tmp = x / (x + (y * exp((2.0d0 * (0.6666666666666666d0 * (b / t))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((c - b) * (0.8333333333333334d0 + a))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -2e-242) {
tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
} else if (t <= 1e-249) {
tmp = x / (x + (y * Math.exp((2.0 * ((c * -0.6666666666666666) / t)))));
} else if (t <= 5.6e-56) {
tmp = x / (x + (y * Math.exp((2.0 * (0.6666666666666666 * (b / t))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if t <= -2e-242: tmp = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) elif t <= 1e-249: tmp = x / (x + (y * math.exp((2.0 * ((c * -0.6666666666666666) / t))))) elif t <= 5.6e-56: tmp = x / (x + (y * math.exp((2.0 * (0.6666666666666666 * (b / t)))))) else: tmp = x / (x + (y * math.exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (t <= -2e-242) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))); elseif (t <= 1e-249) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c * -0.6666666666666666) / t)))))); elseif (t <= 5.6e-56) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(0.6666666666666666 * Float64(b / t))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c - b) * Float64(0.8333333333333334 + a))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (t <= -2e-242) tmp = x / (x + (y * exp((2.0 * (a * (c - b)))))); elseif (t <= 1e-249) tmp = x / (x + (y * exp((2.0 * ((c * -0.6666666666666666) / t))))); elseif (t <= 5.6e-56) tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t)))))); else tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -2e-242], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1e-249], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c * -0.6666666666666666), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.6e-56], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(0.6666666666666666 * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c - b), $MachinePrecision] * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2 \cdot 10^{-242}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{elif}\;t \leq 10^{-249}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{c \cdot -0.6666666666666666}{t}}}\\
\mathbf{elif}\;t \leq 5.6 \cdot 10^{-56}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(0.6666666666666666 \cdot \frac{b}{t}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(c - b\right) \cdot \left(0.8333333333333334 + a\right)\right)}}\\
\end{array}
\end{array}
if t < -2e-242Initial program 94.2%
Taylor expanded in a around inf 77.7%
if -2e-242 < t < 1.00000000000000005e-249Initial program 90.0%
Taylor expanded in c around inf 77.4%
sub-neg77.4%
sub-neg77.4%
associate-*r/77.4%
metadata-eval77.4%
metadata-eval77.4%
associate-/r*77.4%
*-commutative77.4%
+-commutative77.4%
associate--l+77.4%
*-commutative77.4%
associate-/r*77.4%
metadata-eval77.4%
sub-neg77.4%
distribute-neg-frac77.4%
metadata-eval77.4%
Simplified77.4%
Taylor expanded in t around 0 80.7%
associate-*r/80.7%
Simplified80.7%
if 1.00000000000000005e-249 < t < 5.59999999999999986e-56Initial program 96.5%
Taylor expanded in b around inf 66.1%
associate-*r/66.1%
metadata-eval66.1%
+-commutative66.1%
Simplified66.1%
Taylor expanded in t around 0 76.3%
if 5.59999999999999986e-56 < t Initial program 93.2%
Taylor expanded in t around inf 88.4%
mul-1-neg88.4%
distribute-rgt-neg-in88.4%
+-commutative88.4%
neg-sub088.4%
associate--r-88.4%
neg-sub088.4%
+-commutative88.4%
sub-neg88.4%
Simplified88.4%
Final simplification82.6%
(FPCore (x y z t a b c)
:precision binary64
(if (<= t -2.7e-239)
(/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
(if (<= t 3.5e-55)
(/
x
(+
x
(*
y
(exp
(*
2.0
(* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
(/ x (+ x (* y (exp (* 2.0 (* (- c b) (+ 0.8333333333333334 a))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -2.7e-239) {
tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
} else if (t <= 3.5e-55) {
tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (t <= (-2.7d-239)) then
tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
else if (t <= 3.5d-55) then
tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((c - b) * (0.8333333333333334d0 + a))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (t <= -2.7e-239) {
tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
} else if (t <= 3.5e-55) {
tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((c - b) * (0.8333333333333334 + a))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if t <= -2.7e-239: tmp = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) elif t <= 3.5e-55: tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))) else: tmp = x / (x + (y * math.exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (t <= -2.7e-239) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))); elseif (t <= 3.5e-55) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t))))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(c - b) * Float64(0.8333333333333334 + a))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (t <= -2.7e-239) tmp = x / (x + (y * exp((2.0 * (a * (c - b)))))); elseif (t <= 3.5e-55) tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t)))))))); else tmp = x / (x + (y * exp((2.0 * ((c - b) * (0.8333333333333334 + a)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -2.7e-239], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.5e-55], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(c - b), $MachinePrecision] * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.7 \cdot 10^{-239}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{elif}\;t \leq 3.5 \cdot 10^{-55}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(c - b\right) \cdot \left(0.8333333333333334 + a\right)\right)}}\\
\end{array}
\end{array}
if t < -2.7000000000000001e-239Initial program 94.2%
Taylor expanded in a around inf 77.7%
if -2.7000000000000001e-239 < t < 3.50000000000000025e-55Initial program 94.2%
Taylor expanded in c around inf 77.2%
sub-neg77.2%
sub-neg77.2%
associate-*r/77.2%
metadata-eval77.2%
metadata-eval77.2%
associate-/r*77.2%
*-commutative77.2%
+-commutative77.2%
associate--l+77.2%
*-commutative77.2%
associate-/r*77.2%
metadata-eval77.2%
sub-neg77.2%
distribute-neg-frac77.2%
metadata-eval77.2%
Simplified77.2%
if 3.50000000000000025e-55 < t Initial program 93.2%
Taylor expanded in t around inf 88.4%
mul-1-neg88.4%
distribute-rgt-neg-in88.4%
+-commutative88.4%
neg-sub088.4%
associate--r-88.4%
neg-sub088.4%
+-commutative88.4%
sub-neg88.4%
Simplified88.4%
Final simplification82.4%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))))
(if (<= t -6.1e-170)
t_1
(if (<= t 2e-57)
(/ x (+ x (* y (exp (* 2.0 (* 0.6666666666666666 (/ b t)))))))
(if (<= t 1e+206)
(/ x (+ x (* y (exp (* (- c b) 1.6666666666666667)))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * exp((2.0 * (a * (c - b))))));
double tmp;
if (t <= -6.1e-170) {
tmp = t_1;
} else if (t <= 2e-57) {
tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t))))));
} else if (t <= 1e+206) {
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: t_1
real(8) :: tmp
t_1 = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
if (t <= (-6.1d-170)) then
tmp = t_1
else if (t <= 2d-57) then
tmp = x / (x + (y * exp((2.0d0 * (0.6666666666666666d0 * (b / t))))))
else if (t <= 1d+206) then
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667d0))))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
double tmp;
if (t <= -6.1e-170) {
tmp = t_1;
} else if (t <= 2e-57) {
tmp = x / (x + (y * Math.exp((2.0 * (0.6666666666666666 * (b / t))))));
} else if (t <= 1e+206) {
tmp = x / (x + (y * Math.exp(((c - b) * 1.6666666666666667))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = x / (x + (y * math.exp((2.0 * (a * (c - b)))))) tmp = 0 if t <= -6.1e-170: tmp = t_1 elif t <= 2e-57: tmp = x / (x + (y * math.exp((2.0 * (0.6666666666666666 * (b / t)))))) elif t <= 1e+206: tmp = x / (x + (y * math.exp(((c - b) * 1.6666666666666667)))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b))))))) tmp = 0.0 if (t <= -6.1e-170) tmp = t_1; elseif (t <= 2e-57) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(0.6666666666666666 * Float64(b / t))))))); elseif (t <= 1e+206) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = x / (x + (y * exp((2.0 * (a * (c - b)))))); tmp = 0.0; if (t <= -6.1e-170) tmp = t_1; elseif (t <= 2e-57) tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t)))))); elseif (t <= 1e+206) tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667)))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6.1e-170], t$95$1, If[LessEqual[t, 2e-57], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(0.6666666666666666 * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1e+206], N[(x / N[(x + N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\
\mathbf{if}\;t \leq -6.1 \cdot 10^{-170}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(0.6666666666666666 \cdot \frac{b}{t}\right)}}\\
\mathbf{elif}\;t \leq 10^{+206}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -6.09999999999999999e-170 or 1e206 < t Initial program 89.3%
Taylor expanded in a around inf 79.1%
if -6.09999999999999999e-170 < t < 1.99999999999999991e-57Initial program 94.0%
Taylor expanded in b around inf 67.5%
associate-*r/67.5%
metadata-eval67.5%
+-commutative67.5%
Simplified67.5%
Taylor expanded in t around 0 71.3%
if 1.99999999999999991e-57 < t < 1e206Initial program 97.6%
Taylor expanded in t around inf 85.6%
mul-1-neg85.6%
distribute-rgt-neg-in85.6%
+-commutative85.6%
neg-sub085.6%
associate--r-85.6%
neg-sub085.6%
+-commutative85.6%
sub-neg85.6%
Simplified85.6%
Taylor expanded in a around 0 82.1%
Final simplification77.0%
(FPCore (x y z t a b c) :precision binary64 (if (or (<= t -4e-169) (not (<= t 4e-57))) (/ x (+ x (* y (exp (* (- c b) 1.6666666666666667))))) (/ x (+ x (* y (exp (* 2.0 (* 0.6666666666666666 (/ b t)))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if ((t <= -4e-169) || !(t <= 4e-57)) {
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
} else {
tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if ((t <= (-4d-169)) .or. (.not. (t <= 4d-57))) then
tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667d0))))
else
tmp = x / (x + (y * exp((2.0d0 * (0.6666666666666666d0 * (b / t))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if ((t <= -4e-169) || !(t <= 4e-57)) {
tmp = x / (x + (y * Math.exp(((c - b) * 1.6666666666666667))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * (0.6666666666666666 * (b / t))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if (t <= -4e-169) or not (t <= 4e-57): tmp = x / (x + (y * math.exp(((c - b) * 1.6666666666666667)))) else: tmp = x / (x + (y * math.exp((2.0 * (0.6666666666666666 * (b / t)))))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((t <= -4e-169) || !(t <= 4e-57)) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(0.6666666666666666 * Float64(b / t))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if ((t <= -4e-169) || ~((t <= 4e-57))) tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667)))); else tmp = x / (x + (y * exp((2.0 * (0.6666666666666666 * (b / t)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[t, -4e-169], N[Not[LessEqual[t, 4e-57]], $MachinePrecision]], N[(x / N[(x + N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(0.6666666666666666 * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4 \cdot 10^{-169} \lor \neg \left(t \leq 4 \cdot 10^{-57}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(0.6666666666666666 \cdot \frac{b}{t}\right)}}\\
\end{array}
\end{array}
if t < -4.00000000000000008e-169 or 3.99999999999999982e-57 < t Initial program 93.6%
Taylor expanded in t around inf 85.6%
mul-1-neg85.6%
distribute-rgt-neg-in85.6%
+-commutative85.6%
neg-sub085.6%
associate--r-85.6%
neg-sub085.6%
+-commutative85.6%
sub-neg85.6%
Simplified85.6%
Taylor expanded in a around 0 76.2%
if -4.00000000000000008e-169 < t < 3.99999999999999982e-57Initial program 94.0%
Taylor expanded in b around inf 67.5%
associate-*r/67.5%
metadata-eval67.5%
+-commutative67.5%
Simplified67.5%
Taylor expanded in t around 0 71.3%
Final simplification74.3%
(FPCore (x y z t a b c)
:precision binary64
(if (<= c -0.013)
1.0
(if (<= c -2.9e-183)
(/
x
(+
x
(*
y
(-
1.0
(*
(* 2.0 c)
(- (- (/ 0.6666666666666666 t) a) 0.8333333333333334))))))
(if (<= c 4.8e+100)
1.0
(/ x (* y (exp (* (- c b) 1.6666666666666667))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (c <= -0.013) {
tmp = 1.0;
} else if (c <= -2.9e-183) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (c <= 4.8e+100) {
tmp = 1.0;
} else {
tmp = x / (y * exp(((c - b) * 1.6666666666666667)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (c <= (-0.013d0)) then
tmp = 1.0d0
else if (c <= (-2.9d-183)) then
tmp = x / (x + (y * (1.0d0 - ((2.0d0 * c) * (((0.6666666666666666d0 / t) - a) - 0.8333333333333334d0)))))
else if (c <= 4.8d+100) then
tmp = 1.0d0
else
tmp = x / (y * exp(((c - b) * 1.6666666666666667d0)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (c <= -0.013) {
tmp = 1.0;
} else if (c <= -2.9e-183) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (c <= 4.8e+100) {
tmp = 1.0;
} else {
tmp = x / (y * Math.exp(((c - b) * 1.6666666666666667)));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if c <= -0.013: tmp = 1.0 elif c <= -2.9e-183: tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))) elif c <= 4.8e+100: tmp = 1.0 else: tmp = x / (y * math.exp(((c - b) * 1.6666666666666667))) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (c <= -0.013) tmp = 1.0; elseif (c <= -2.9e-183) tmp = Float64(x / Float64(x + Float64(y * Float64(1.0 - Float64(Float64(2.0 * c) * Float64(Float64(Float64(0.6666666666666666 / t) - a) - 0.8333333333333334)))))); elseif (c <= 4.8e+100) tmp = 1.0; else tmp = Float64(x / Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (c <= -0.013) tmp = 1.0; elseif (c <= -2.9e-183) tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))); elseif (c <= 4.8e+100) tmp = 1.0; else tmp = x / (y * exp(((c - b) * 1.6666666666666667))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[c, -0.013], 1.0, If[LessEqual[c, -2.9e-183], N[(x / N[(x + N[(y * N[(1.0 - N[(N[(2.0 * c), $MachinePrecision] * N[(N[(N[(0.6666666666666666 / t), $MachinePrecision] - a), $MachinePrecision] - 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.8e+100], 1.0, N[(x / N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -0.013:\\
\;\;\;\;1\\
\mathbf{elif}\;c \leq -2.9 \cdot 10^{-183}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(1 - \left(2 \cdot c\right) \cdot \left(\left(\frac{0.6666666666666666}{t} - a\right) - 0.8333333333333334\right)\right)}\\
\mathbf{elif}\;c \leq 4.8 \cdot 10^{+100}:\\
\;\;\;\;1\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\
\end{array}
\end{array}
if c < -0.0129999999999999994 or -2.9e-183 < c < 4.80000000000000023e100Initial program 93.9%
Taylor expanded in a around inf 60.8%
Taylor expanded in x around inf 62.6%
if -0.0129999999999999994 < c < -2.9e-183Initial program 97.6%
Taylor expanded in c around inf 72.2%
sub-neg72.2%
sub-neg72.2%
associate-*r/72.2%
metadata-eval72.2%
metadata-eval72.2%
associate-/r*72.2%
*-commutative72.2%
+-commutative72.2%
associate--l+72.2%
*-commutative72.2%
associate-/r*72.2%
metadata-eval72.2%
sub-neg72.2%
distribute-neg-frac72.2%
metadata-eval72.2%
Simplified72.2%
Taylor expanded in c around 0 63.1%
associate-*r*63.1%
associate-*r/63.1%
metadata-eval63.1%
associate-+r-63.1%
Simplified63.1%
if 4.80000000000000023e100 < c Initial program 88.0%
Taylor expanded in t around inf 73.6%
mul-1-neg73.6%
distribute-rgt-neg-in73.6%
+-commutative73.6%
neg-sub073.6%
associate--r-73.6%
neg-sub073.6%
+-commutative73.6%
sub-neg73.6%
Simplified73.6%
Taylor expanded in a around 0 61.8%
Taylor expanded in x around 0 61.8%
Final simplification62.6%
(FPCore (x y z t a b c)
:precision binary64
(if (<= x -6.8e-113)
1.0
(if (<= x -2.4e-179)
(/
x
(+
x
(*
y
(-
1.0
(*
(* 2.0 c)
(- (- (/ 0.6666666666666666 t) a) 0.8333333333333334))))))
(if (<= x -7.7e-202)
1.0
(if (<= x -6.3e-248)
(/
x
(+
x
(+
y
(*
2.0
(*
(- (/ 0.6666666666666666 t) (+ 0.8333333333333334 a))
(* y b))))))
1.0)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -6.8e-113) {
tmp = 1.0;
} else if (x <= -2.4e-179) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (x <= -7.7e-202) {
tmp = 1.0;
} else if (x <= -6.3e-248) {
tmp = x / (x + (y + (2.0 * (((0.6666666666666666 / t) - (0.8333333333333334 + a)) * (y * b)))));
} else {
tmp = 1.0;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (x <= (-6.8d-113)) then
tmp = 1.0d0
else if (x <= (-2.4d-179)) then
tmp = x / (x + (y * (1.0d0 - ((2.0d0 * c) * (((0.6666666666666666d0 / t) - a) - 0.8333333333333334d0)))))
else if (x <= (-7.7d-202)) then
tmp = 1.0d0
else if (x <= (-6.3d-248)) then
tmp = x / (x + (y + (2.0d0 * (((0.6666666666666666d0 / t) - (0.8333333333333334d0 + a)) * (y * b)))))
else
tmp = 1.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -6.8e-113) {
tmp = 1.0;
} else if (x <= -2.4e-179) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (x <= -7.7e-202) {
tmp = 1.0;
} else if (x <= -6.3e-248) {
tmp = x / (x + (y + (2.0 * (((0.6666666666666666 / t) - (0.8333333333333334 + a)) * (y * b)))));
} else {
tmp = 1.0;
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if x <= -6.8e-113: tmp = 1.0 elif x <= -2.4e-179: tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))) elif x <= -7.7e-202: tmp = 1.0 elif x <= -6.3e-248: tmp = x / (x + (y + (2.0 * (((0.6666666666666666 / t) - (0.8333333333333334 + a)) * (y * b))))) else: tmp = 1.0 return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (x <= -6.8e-113) tmp = 1.0; elseif (x <= -2.4e-179) tmp = Float64(x / Float64(x + Float64(y * Float64(1.0 - Float64(Float64(2.0 * c) * Float64(Float64(Float64(0.6666666666666666 / t) - a) - 0.8333333333333334)))))); elseif (x <= -7.7e-202) tmp = 1.0; elseif (x <= -6.3e-248) tmp = Float64(x / Float64(x + Float64(y + Float64(2.0 * Float64(Float64(Float64(0.6666666666666666 / t) - Float64(0.8333333333333334 + a)) * Float64(y * b)))))); else tmp = 1.0; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (x <= -6.8e-113) tmp = 1.0; elseif (x <= -2.4e-179) tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))); elseif (x <= -7.7e-202) tmp = 1.0; elseif (x <= -6.3e-248) tmp = x / (x + (y + (2.0 * (((0.6666666666666666 / t) - (0.8333333333333334 + a)) * (y * b))))); else tmp = 1.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[x, -6.8e-113], 1.0, If[LessEqual[x, -2.4e-179], N[(x / N[(x + N[(y * N[(1.0 - N[(N[(2.0 * c), $MachinePrecision] * N[(N[(N[(0.6666666666666666 / t), $MachinePrecision] - a), $MachinePrecision] - 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -7.7e-202], 1.0, If[LessEqual[x, -6.3e-248], N[(x / N[(x + N[(y + N[(2.0 * N[(N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision] * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -6.8 \cdot 10^{-113}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -2.4 \cdot 10^{-179}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(1 - \left(2 \cdot c\right) \cdot \left(\left(\frac{0.6666666666666666}{t} - a\right) - 0.8333333333333334\right)\right)}\\
\mathbf{elif}\;x \leq -7.7 \cdot 10^{-202}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -6.3 \cdot 10^{-248}:\\
\;\;\;\;\frac{x}{x + \left(y + 2 \cdot \left(\left(\frac{0.6666666666666666}{t} - \left(0.8333333333333334 + a\right)\right) \cdot \left(y \cdot b\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\end{array}
if x < -6.8000000000000005e-113 or -2.4e-179 < x < -7.6999999999999996e-202 or -6.29999999999999993e-248 < x Initial program 93.7%
Taylor expanded in a around inf 61.1%
Taylor expanded in x around inf 62.2%
if -6.8000000000000005e-113 < x < -2.4e-179Initial program 94.4%
Taylor expanded in c around inf 83.9%
sub-neg83.9%
sub-neg83.9%
associate-*r/83.9%
metadata-eval83.9%
metadata-eval83.9%
associate-/r*83.9%
*-commutative83.9%
+-commutative83.9%
associate--l+83.9%
*-commutative83.9%
associate-/r*83.9%
metadata-eval83.9%
sub-neg83.9%
distribute-neg-frac83.9%
metadata-eval83.9%
Simplified83.9%
Taylor expanded in c around 0 78.6%
associate-*r*78.6%
associate-*r/78.6%
metadata-eval78.6%
associate-+r-78.6%
Simplified78.6%
if -7.6999999999999996e-202 < x < -6.29999999999999993e-248Initial program 94.0%
Taylor expanded in b around inf 71.6%
associate-*r/71.6%
metadata-eval71.6%
+-commutative71.6%
Simplified71.6%
Taylor expanded in b around 0 65.6%
associate-*r*65.6%
associate-*r/65.6%
metadata-eval65.6%
+-commutative65.6%
Simplified65.6%
Final simplification63.6%
(FPCore (x y z t a b c)
:precision binary64
(if (<= x -6e-113)
1.0
(if (<= x -1.2e-179)
(/
x
(+
x
(*
y
(-
1.0
(*
(* 2.0 c)
(- (- (/ 0.6666666666666666 t) a) 0.8333333333333334))))))
(if (<= x -4.8e-202)
1.0
(if (<= x -2.6e-248)
(/ x (+ (+ x y) (* -2.0 (* b (* y (+ 0.8333333333333334 a))))))
1.0)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -6e-113) {
tmp = 1.0;
} else if (x <= -1.2e-179) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (x <= -4.8e-202) {
tmp = 1.0;
} else if (x <= -2.6e-248) {
tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a)))));
} else {
tmp = 1.0;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (x <= (-6d-113)) then
tmp = 1.0d0
else if (x <= (-1.2d-179)) then
tmp = x / (x + (y * (1.0d0 - ((2.0d0 * c) * (((0.6666666666666666d0 / t) - a) - 0.8333333333333334d0)))))
else if (x <= (-4.8d-202)) then
tmp = 1.0d0
else if (x <= (-2.6d-248)) then
tmp = x / ((x + y) + ((-2.0d0) * (b * (y * (0.8333333333333334d0 + a)))))
else
tmp = 1.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -6e-113) {
tmp = 1.0;
} else if (x <= -1.2e-179) {
tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334)))));
} else if (x <= -4.8e-202) {
tmp = 1.0;
} else if (x <= -2.6e-248) {
tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a)))));
} else {
tmp = 1.0;
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if x <= -6e-113: tmp = 1.0 elif x <= -1.2e-179: tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))) elif x <= -4.8e-202: tmp = 1.0 elif x <= -2.6e-248: tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a))))) else: tmp = 1.0 return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (x <= -6e-113) tmp = 1.0; elseif (x <= -1.2e-179) tmp = Float64(x / Float64(x + Float64(y * Float64(1.0 - Float64(Float64(2.0 * c) * Float64(Float64(Float64(0.6666666666666666 / t) - a) - 0.8333333333333334)))))); elseif (x <= -4.8e-202) tmp = 1.0; elseif (x <= -2.6e-248) tmp = Float64(x / Float64(Float64(x + y) + Float64(-2.0 * Float64(b * Float64(y * Float64(0.8333333333333334 + a)))))); else tmp = 1.0; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (x <= -6e-113) tmp = 1.0; elseif (x <= -1.2e-179) tmp = x / (x + (y * (1.0 - ((2.0 * c) * (((0.6666666666666666 / t) - a) - 0.8333333333333334))))); elseif (x <= -4.8e-202) tmp = 1.0; elseif (x <= -2.6e-248) tmp = x / ((x + y) + (-2.0 * (b * (y * (0.8333333333333334 + a))))); else tmp = 1.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[x, -6e-113], 1.0, If[LessEqual[x, -1.2e-179], N[(x / N[(x + N[(y * N[(1.0 - N[(N[(2.0 * c), $MachinePrecision] * N[(N[(N[(0.6666666666666666 / t), $MachinePrecision] - a), $MachinePrecision] - 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.8e-202], 1.0, If[LessEqual[x, -2.6e-248], N[(x / N[(N[(x + y), $MachinePrecision] + N[(-2.0 * N[(b * N[(y * N[(0.8333333333333334 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -6 \cdot 10^{-113}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -1.2 \cdot 10^{-179}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(1 - \left(2 \cdot c\right) \cdot \left(\left(\frac{0.6666666666666666}{t} - a\right) - 0.8333333333333334\right)\right)}\\
\mathbf{elif}\;x \leq -4.8 \cdot 10^{-202}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -2.6 \cdot 10^{-248}:\\
\;\;\;\;\frac{x}{\left(x + y\right) + -2 \cdot \left(b \cdot \left(y \cdot \left(0.8333333333333334 + a\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\end{array}
if x < -6.0000000000000002e-113 or -1.2e-179 < x < -4.8000000000000002e-202 or -2.60000000000000007e-248 < x Initial program 93.7%
Taylor expanded in a around inf 61.1%
Taylor expanded in x around inf 62.2%
if -6.0000000000000002e-113 < x < -1.2e-179Initial program 94.4%
Taylor expanded in c around inf 83.9%
sub-neg83.9%
sub-neg83.9%
associate-*r/83.9%
metadata-eval83.9%
metadata-eval83.9%
associate-/r*83.9%
*-commutative83.9%
+-commutative83.9%
associate--l+83.9%
*-commutative83.9%
associate-/r*83.9%
metadata-eval83.9%
sub-neg83.9%
distribute-neg-frac83.9%
metadata-eval83.9%
Simplified83.9%
Taylor expanded in c around 0 78.6%
associate-*r*78.6%
associate-*r/78.6%
metadata-eval78.6%
associate-+r-78.6%
Simplified78.6%
if -4.8000000000000002e-202 < x < -2.60000000000000007e-248Initial program 94.0%
Taylor expanded in b around inf 71.6%
associate-*r/71.6%
metadata-eval71.6%
+-commutative71.6%
Simplified71.6%
Taylor expanded in b around 0 65.6%
associate-*r*65.6%
associate-*r/65.6%
metadata-eval65.6%
+-commutative65.6%
Simplified65.6%
Taylor expanded in t around inf 63.2%
associate-+r+63.2%
Simplified63.2%
Final simplification63.4%
(FPCore (x y z t a b c) :precision binary64 (if (<= x -7e-113) 1.0 (if (<= x -3.1e-247) (/ x (+ x (* y (+ (* (- c b) (* 2.0 a)) 1.0)))) 1.0)))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -7e-113) {
tmp = 1.0;
} else if (x <= -3.1e-247) {
tmp = x / (x + (y * (((c - b) * (2.0 * a)) + 1.0)));
} else {
tmp = 1.0;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: tmp
if (x <= (-7d-113)) then
tmp = 1.0d0
else if (x <= (-3.1d-247)) then
tmp = x / (x + (y * (((c - b) * (2.0d0 * a)) + 1.0d0)))
else
tmp = 1.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (x <= -7e-113) {
tmp = 1.0;
} else if (x <= -3.1e-247) {
tmp = x / (x + (y * (((c - b) * (2.0 * a)) + 1.0)));
} else {
tmp = 1.0;
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if x <= -7e-113: tmp = 1.0 elif x <= -3.1e-247: tmp = x / (x + (y * (((c - b) * (2.0 * a)) + 1.0))) else: tmp = 1.0 return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (x <= -7e-113) tmp = 1.0; elseif (x <= -3.1e-247) tmp = Float64(x / Float64(x + Float64(y * Float64(Float64(Float64(c - b) * Float64(2.0 * a)) + 1.0)))); else tmp = 1.0; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (x <= -7e-113) tmp = 1.0; elseif (x <= -3.1e-247) tmp = x / (x + (y * (((c - b) * (2.0 * a)) + 1.0))); else tmp = 1.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[x, -7e-113], 1.0, If[LessEqual[x, -3.1e-247], N[(x / N[(x + N[(y * N[(N[(N[(c - b), $MachinePrecision] * N[(2.0 * a), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -7 \cdot 10^{-113}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -3.1 \cdot 10^{-247}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(\left(c - b\right) \cdot \left(2 \cdot a\right) + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\end{array}
if x < -7.00000000000000057e-113 or -3.10000000000000015e-247 < x Initial program 93.5%
Taylor expanded in a around inf 60.7%
Taylor expanded in x around inf 61.4%
if -7.00000000000000057e-113 < x < -3.10000000000000015e-247Initial program 95.2%
Taylor expanded in a around inf 66.8%
Taylor expanded in a around 0 55.7%
associate-*r*55.7%
Simplified55.7%
Final simplification60.5%
(FPCore (x y z t a b c) :precision binary64 1.0)
double code(double x, double y, double z, double t, double a, double b, double c) {
return 1.0;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
code = 1.0d0
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return 1.0;
}
def code(x, y, z, t, a, b, c): return 1.0
function code(x, y, z, t, a, b, c) return 1.0 end
function tmp = code(x, y, z, t, a, b, c) tmp = 1.0; end
code[x_, y_, z_, t_, a_, b_, c_] := 1.0
\begin{array}{l}
\\
1
\end{array}
Initial program 93.8%
Taylor expanded in a around inf 61.7%
Taylor expanded in x around inf 56.8%
Final simplification56.8%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (* z (sqrt (+ t a)))) (t_2 (- a (/ 5.0 6.0))))
(if (< t -2.118326644891581e-50)
(/
x
(+
x
(* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b)))))))
(if (< t 5.196588770651547e-123)
(/
x
(+
x
(*
y
(exp
(*
2.0
(/
(-
(* t_1 (* (* 3.0 t) t_2))
(*
(- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0)
(* t_2 (* (- b c) t))))
(* (* (* t t) 3.0) t_2)))))))
(/
x
(+
x
(*
y
(exp
(*
2.0
(-
(/ t_1 t)
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = z * sqrt((t + a));
double t_2 = a - (5.0 / 6.0);
double tmp;
if (t < -2.118326644891581e-50) {
tmp = x / (x + (y * exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))));
} else if (t < 5.196588770651547e-123) {
tmp = x / (x + (y * exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))));
} else {
tmp = x / (x + (y * exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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), intent (in) :: b
real(8), intent (in) :: c
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = z * sqrt((t + a))
t_2 = a - (5.0d0 / 6.0d0)
if (t < (-2.118326644891581d-50)) then
tmp = x / (x + (y * exp((2.0d0 * (((a * c) + (0.8333333333333334d0 * c)) - (a * b))))))
else if (t < 5.196588770651547d-123) then
tmp = x / (x + (y * exp((2.0d0 * (((t_1 * ((3.0d0 * t) * t_2)) - (((((5.0d0 / 6.0d0) + a) * (3.0d0 * t)) - 2.0d0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0d0) * t_2))))))
else
tmp = x / (x + (y * exp((2.0d0 * ((t_1 / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = z * Math.sqrt((t + a));
double t_2 = a - (5.0 / 6.0);
double tmp;
if (t < -2.118326644891581e-50) {
tmp = x / (x + (y * Math.exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))));
} else if (t < 5.196588770651547e-123) {
tmp = x / (x + (y * Math.exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))));
} else {
tmp = x / (x + (y * Math.exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = z * math.sqrt((t + a)) t_2 = a - (5.0 / 6.0) tmp = 0 if t < -2.118326644891581e-50: tmp = x / (x + (y * math.exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b)))))) elif t < 5.196588770651547e-123: tmp = x / (x + (y * math.exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2)))))) else: tmp = x / (x + (y * math.exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0))))))))) return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(z * sqrt(Float64(t + a))) t_2 = Float64(a - Float64(5.0 / 6.0)) tmp = 0.0 if (t < -2.118326644891581e-50) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(a * c) + Float64(0.8333333333333334 * c)) - Float64(a * b))))))); elseif (t < 5.196588770651547e-123) tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(t_1 * Float64(Float64(3.0 * t) * t_2)) - Float64(Float64(Float64(Float64(Float64(5.0 / 6.0) + a) * Float64(3.0 * t)) - 2.0) * Float64(t_2 * Float64(Float64(b - c) * t)))) / Float64(Float64(Float64(t * t) * 3.0) * t_2))))))); else tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(t_1 / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0)))))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = z * sqrt((t + a)); t_2 = a - (5.0 / 6.0); tmp = 0.0; if (t < -2.118326644891581e-50) tmp = x / (x + (y * exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b)))))); elseif (t < 5.196588770651547e-123) tmp = x / (x + (y * exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2)))))); else tmp = x / (x + (y * exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0))))))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a - N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -2.118326644891581e-50], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(a * c), $MachinePrecision] + N[(0.8333333333333334 * c), $MachinePrecision]), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Less[t, 5.196588770651547e-123], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(t$95$1 * N[(N[(3.0 * t), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(N[(N[(5.0 / 6.0), $MachinePrecision] + a), $MachinePrecision] * N[(3.0 * t), $MachinePrecision]), $MachinePrecision] - 2.0), $MachinePrecision] * N[(t$95$2 * N[(N[(b - c), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(t * t), $MachinePrecision] * 3.0), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(t$95$1 / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \sqrt{t + a}\\
t_2 := a - \frac{5}{6}\\
\mathbf{if}\;t < -2.118326644891581 \cdot 10^{-50}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333334 \cdot c\right) - a \cdot b\right)}}\\
\mathbf{elif}\;t < 5.196588770651547 \cdot 10^{-123}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{t_1 \cdot \left(\left(3 \cdot t\right) \cdot t_2\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(t_2 \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot t_2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{t_1}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\
\end{array}
\end{array}
herbie shell --seed 2023293
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"
:precision binary64
:herbie-target
(if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (* t t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))