
(FPCore (x y z t a b c i) :precision binary64 (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
code = ((((((((x * y) + z) * y) + 27464.7644705d0) * y) + 230661.510616d0) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
def code(x, y, z, t, a, b, c, i): return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
function code(x, y, z, t, a, b, c, i) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i)) end
function tmp = code(x, y, z, t, a, b, c, i) tmp = ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i); end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i) :precision binary64 (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
code = ((((((((x * y) + z) * y) + 27464.7644705d0) * y) + 230661.510616d0) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
def code(x, y, z, t, a, b, c, i): return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
function code(x, y, z, t, a, b, c, i) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i)) end
function tmp = code(x, y, z, t, a, b, c, i) tmp = ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i); end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\end{array}
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (fma y (fma y (fma y (+ y a) b) c) i)))
(if (<=
(/
(+
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
t)
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
INFINITY)
(+
(/ t t_1)
(/ y (/ t_1 (fma y (fma y (fma y x z) 27464.7644705) 230661.510616))))
(+ (/ z y) (- x (/ a (/ y x)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = fma(y, fma(y, fma(y, (y + a), b), c), i);
double tmp;
if ((((y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)) <= ((double) INFINITY)) {
tmp = (t / t_1) + (y / (t_1 / fma(y, fma(y, fma(y, x, z), 27464.7644705), 230661.510616)));
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i) t_1 = fma(y, fma(y, fma(y, Float64(y + a), b), c), i) tmp = 0.0 if (Float64(Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)) <= Inf) tmp = Float64(Float64(t / t_1) + Float64(y / Float64(t_1 / fma(y, fma(y, fma(y, x, z), 27464.7644705), 230661.510616)))); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(y * N[(y * N[(y * N[(y + a), $MachinePrecision] + b), $MachinePrecision] + c), $MachinePrecision] + i), $MachinePrecision]}, If[LessEqual[N[(N[(N[(y * N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(t / t$95$1), $MachinePrecision] + N[(y / N[(t$95$1 / N[(y * N[(y * N[(y * x + z), $MachinePrecision] + 27464.7644705), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)\\
\mathbf{if}\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right) + t}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i} \leq \infty:\\
\;\;\;\;\frac{t}{t_1} + \frac{y}{\frac{t_1}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < +inf.0Initial program 92.3%
Taylor expanded in t around 0 92.3%
+-commutative92.3%
*-commutative92.3%
fma-udef92.3%
fma-udef92.3%
fma-udef92.3%
associate-/l*93.5%
Simplified93.5%
if +inf.0 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) Initial program 0.0%
Taylor expanded in y around inf 76.3%
associate--l+76.3%
associate-/l*79.8%
Simplified79.8%
Final simplification88.7%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1
(/
(+
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
t)
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))))
(if (<= t_1 INFINITY) t_1 (+ (/ z y) (- x (/ a (/ y x)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = ((y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = ((y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = ((y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = ((y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) + t) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(N[(y * N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right) + t}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < +inf.0Initial program 92.3%
if +inf.0 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) Initial program 0.0%
Taylor expanded in y around inf 76.3%
associate--l+76.3%
associate-/l*79.8%
Simplified79.8%
Final simplification88.0%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -4.6e+60)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -1.25e+17)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 1.9e+60)
(/
1.0
(/
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i)
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y z))))))))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -4.6e+60) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -1.25e+17) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 1.9e+60) {
tmp = 1.0 / (((y * ((y * ((y * (y + a)) + b)) + c)) + i) / (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))));
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-4.6d+60)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-1.25d+17)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 1.9d+60) then
tmp = 1.0d0 / (((y * ((y * ((y * (y + a)) + b)) + c)) + i) / (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))))))
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -4.6e+60) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -1.25e+17) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 1.9e+60) {
tmp = 1.0 / (((y * ((y * ((y * (y + a)) + b)) + c)) + i) / (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))));
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -4.6e+60: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -1.25e+17: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 1.9e+60: tmp = 1.0 / (((y * ((y * ((y * (y + a)) + b)) + c)) + i) / (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z))))))) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -4.6e+60) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -1.25e+17) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 1.9e+60) tmp = Float64(1.0 / Float64(Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i) / Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))))))); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -4.6e+60) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -1.25e+17) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 1.9e+60) tmp = 1.0 / (((y * ((y * ((y * (y + a)) + b)) + c)) + i) / (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z))))))); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -4.6e+60], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.25e+17], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e+60], N[(1.0 / N[(N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision] / N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.6 \cdot 10^{+60}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -1.25 \cdot 10^{+17}:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{+60}:\\
\;\;\;\;\frac{1}{\frac{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -4.60000000000000034e60Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -4.60000000000000034e60 < y < -1.25e17Initial program 26.9%
Taylor expanded in a around inf 15.1%
Taylor expanded in y around inf 64.0%
associate-+r+64.0%
+-commutative64.0%
*-commutative64.0%
associate-+r+64.0%
associate-*r/64.0%
metadata-eval64.0%
Simplified64.0%
*-un-lft-identity64.0%
associate-/l*75.8%
Applied egg-rr75.8%
if -1.25e17 < y < 1.90000000000000005e60Initial program 96.6%
clear-num96.0%
inv-pow96.0%
Applied egg-rr96.0%
unpow-196.0%
fma-udef96.0%
*-commutative96.0%
fma-def96.0%
Simplified96.0%
Taylor expanded in x around 0 90.1%
if 1.90000000000000005e60 < y Initial program 2.7%
Taylor expanded in y around inf 78.2%
associate--l+78.2%
associate-/l*80.6%
Simplified80.6%
Final simplification86.0%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -2.5e+61)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -9.6e+24)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 4.9e+57)
(/
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* x (* y y)))))))
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -2.5e+61) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -9.6e+24) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 4.9e+57) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-2.5d+61)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-9.6d+24)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 4.9d+57) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (x * (y * y))))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -2.5e+61) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -9.6e+24) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 4.9e+57) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -2.5e+61: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -9.6e+24: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 4.9e+57: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -2.5e+61) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -9.6e+24) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 4.9e+57) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(x * Float64(y * y))))))) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -2.5e+61) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -9.6e+24) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 4.9e+57) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -2.5e+61], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -9.6e+24], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.9e+57], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(x * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.5 \cdot 10^{+61}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -9.6 \cdot 10^{+24}:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 4.9 \cdot 10^{+57}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + x \cdot \left(y \cdot y\right)\right)\right)}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -2.50000000000000009e61Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -2.50000000000000009e61 < y < -9.6000000000000003e24Initial program 16.5%
Taylor expanded in a around inf 16.4%
Taylor expanded in y around inf 72.3%
associate-+r+72.3%
+-commutative72.3%
*-commutative72.3%
associate-+r+72.3%
associate-*r/72.3%
metadata-eval72.3%
Simplified72.3%
*-un-lft-identity72.3%
associate-/l*85.9%
Applied egg-rr85.9%
if -9.6000000000000003e24 < y < 4.8999999999999999e57Initial program 96.6%
Taylor expanded in x around inf 91.7%
*-commutative91.7%
unpow291.7%
Simplified91.7%
if 4.8999999999999999e57 < y Initial program 2.7%
Taylor expanded in y around inf 78.2%
associate--l+78.2%
associate-/l*80.6%
Simplified80.6%
Final simplification87.4%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -7e+62)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 2.85e+35)
(/
(+ t (* y (+ 230661.510616 (* z (* y y)))))
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -7e+62) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.85e+35) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-7d+62)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 2.85d+35) then
tmp = (t + (y * (230661.510616d0 + (z * (y * y))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -7e+62) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.85e+35) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -7e+62: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 2.85e+35: tmp = (t + (y * (230661.510616 + (z * (y * y))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -7e+62) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 2.85e+35) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(z * Float64(y * y))))) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -7e+62) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 2.85e+35) tmp = (t + (y * (230661.510616 + (z * (y * y))))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -7e+62], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.85e+35], N[(N[(t + N[(y * N[(230661.510616 + N[(z * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7 \cdot 10^{+62}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 2.85 \cdot 10^{+35}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + z \cdot \left(y \cdot y\right)\right)}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -6.99999999999999967e62Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -6.99999999999999967e62 < y < -3.9e10Initial program 46.6%
Taylor expanded in a around inf 20.2%
Taylor expanded in y around inf 55.7%
associate-+r+55.7%
+-commutative55.7%
*-commutative55.7%
associate-+r+55.7%
associate-*r/55.7%
metadata-eval55.7%
Simplified55.7%
*-un-lft-identity55.7%
associate-/l*64.4%
Applied egg-rr64.4%
if -3.9e10 < y < 2.84999999999999997e35Initial program 99.1%
Taylor expanded in z around inf 93.8%
*-commutative93.8%
unpow293.8%
Simplified93.8%
if 2.84999999999999997e35 < y Initial program 8.3%
Taylor expanded in y around inf 69.8%
associate--l+69.8%
associate-/l*71.9%
Simplified71.9%
Final simplification85.5%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -7.5e+63)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -8.8e+16)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 1.55e+56)
(/
(+ t (* y (+ 230661.510616 (* y 27464.7644705))))
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -7.5e+63) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -8.8e+16) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 1.55e+56) {
tmp = (t + (y * (230661.510616 + (y * 27464.7644705)))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-7.5d+63)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-8.8d+16)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 1.55d+56) then
tmp = (t + (y * (230661.510616d0 + (y * 27464.7644705d0)))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -7.5e+63) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -8.8e+16) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 1.55e+56) {
tmp = (t + (y * (230661.510616 + (y * 27464.7644705)))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -7.5e+63: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -8.8e+16: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 1.55e+56: tmp = (t + (y * (230661.510616 + (y * 27464.7644705)))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -7.5e+63) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -8.8e+16) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 1.55e+56) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * 27464.7644705)))) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -7.5e+63) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -8.8e+16) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 1.55e+56) tmp = (t + (y * (230661.510616 + (y * 27464.7644705)))) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -7.5e+63], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -8.8e+16], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.55e+56], N[(N[(t + N[(y * N[(230661.510616 + N[(y * 27464.7644705), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7.5 \cdot 10^{+63}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -8.8 \cdot 10^{+16}:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 1.55 \cdot 10^{+56}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot 27464.7644705\right)}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -7.5000000000000005e63Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -7.5000000000000005e63 < y < -8.8e16Initial program 26.9%
Taylor expanded in a around inf 15.1%
Taylor expanded in y around inf 64.0%
associate-+r+64.0%
+-commutative64.0%
*-commutative64.0%
associate-+r+64.0%
associate-*r/64.0%
metadata-eval64.0%
Simplified64.0%
*-un-lft-identity64.0%
associate-/l*75.8%
Applied egg-rr75.8%
if -8.8e16 < y < 1.55000000000000002e56Initial program 96.6%
Taylor expanded in y around 0 85.8%
*-commutative85.8%
Simplified85.8%
if 1.55000000000000002e56 < y Initial program 2.7%
Taylor expanded in y around inf 78.2%
associate--l+78.2%
associate-/l*80.6%
Simplified80.6%
Final simplification83.4%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -1.38e+69)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 9.5e+59)
(/
(+ t (* y 230661.510616))
(+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -1.38e+69) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 9.5e+59) {
tmp = (t + (y * 230661.510616)) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-1.38d+69)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 9.5d+59) then
tmp = (t + (y * 230661.510616d0)) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -1.38e+69) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 9.5e+59) {
tmp = (t + (y * 230661.510616)) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -1.38e+69: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 9.5e+59: tmp = (t + (y * 230661.510616)) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -1.38e+69) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 9.5e+59) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -1.38e+69) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 9.5e+59) tmp = (t + (y * 230661.510616)) / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -1.38e+69], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.5e+59], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.38 \cdot 10^{+69}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 9.5 \cdot 10^{+59}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -1.37999999999999999e69Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -1.37999999999999999e69 < y < -3.9e10Initial program 46.6%
Taylor expanded in a around inf 20.2%
Taylor expanded in y around inf 55.7%
associate-+r+55.7%
+-commutative55.7%
*-commutative55.7%
associate-+r+55.7%
associate-*r/55.7%
metadata-eval55.7%
Simplified55.7%
*-un-lft-identity55.7%
associate-/l*64.4%
Applied egg-rr64.4%
if -3.9e10 < y < 9.50000000000000023e59Initial program 96.6%
Taylor expanded in y around 0 85.3%
*-commutative85.3%
Simplified85.3%
if 9.50000000000000023e59 < y Initial program 2.7%
Taylor expanded in y around inf 78.2%
associate--l+78.2%
associate-/l*80.6%
Simplified80.6%
Final simplification82.5%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -6.8e+75)
t_1
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 7.2e+29)
(/ t (+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -6.8e+75) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 7.2e+29) {
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: t_1
real(8) :: tmp
t_1 = (z / y) + (x - (a / (y / x)))
if (y <= (-6.8d+75)) then
tmp = t_1
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 7.2d+29) then
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
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 i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -6.8e+75) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 7.2e+29) {
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -6.8e+75: tmp = t_1 elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 7.2e+29: tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -6.8e+75) tmp = t_1; elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 7.2e+29) tmp = Float64(t / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -6.8e+75) tmp = t_1; elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 7.2e+29) tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.8e+75], t$95$1, If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+29], N[(t / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -6.8 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+29}:\\
\;\;\;\;\frac{t}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -6.80000000000000022e75 or 7.19999999999999952e29 < y Initial program 5.3%
Taylor expanded in y around inf 72.1%
associate--l+72.1%
associate-/l*75.2%
Simplified75.2%
if -6.80000000000000022e75 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 48.1%
associate-+r+48.1%
+-commutative48.1%
*-commutative48.1%
associate-+r+48.1%
associate-*r/48.1%
metadata-eval48.1%
Simplified48.1%
*-un-lft-identity48.1%
associate-/l*55.5%
Applied egg-rr55.5%
if -3.9e10 < y < 7.19999999999999952e29Initial program 99.1%
Taylor expanded in t around inf 79.2%
Final simplification76.5%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -4.7e+60)
(+ (/ z y) (- (+ x (/ 27464.7644705 (* y y))) (/ b (/ (* y y) x))))
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 2.5e+33)
(/ t (+ (* y (+ (* y (+ (* y (+ y a)) b)) c)) i))
(+ (/ z y) (- x (/ a (/ y x))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -4.7e+60) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.5e+33) {
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-4.7d+60)) then
tmp = (z / y) + ((x + (27464.7644705d0 / (y * y))) - (b / ((y * y) / x)))
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 2.5d+33) then
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i)
else
tmp = (z / y) + (x - (a / (y / x)))
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 i) {
double tmp;
if (y <= -4.7e+60) {
tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x)));
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.5e+33) {
tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i);
} else {
tmp = (z / y) + (x - (a / (y / x)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -4.7e+60: tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))) elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 2.5e+33: tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i) else: tmp = (z / y) + (x - (a / (y / x))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -4.7e+60) tmp = Float64(Float64(z / y) + Float64(Float64(x + Float64(27464.7644705 / Float64(y * y))) - Float64(b / Float64(Float64(y * y) / x)))); elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 2.5e+33) tmp = Float64(t / Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)) + i)); else tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -4.7e+60) tmp = (z / y) + ((x + (27464.7644705 / (y * y))) - (b / ((y * y) / x))); elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 2.5e+33) tmp = t / ((y * ((y * ((y * (y + a)) + b)) + c)) + i); else tmp = (z / y) + (x - (a / (y / x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -4.7e+60], N[(N[(z / y), $MachinePrecision] + N[(N[(x + N[(27464.7644705 / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[(y * y), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.5e+33], N[(t / N[(N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.7 \cdot 10^{+60}:\\
\;\;\;\;\frac{z}{y} + \left(\left(x + \frac{27464.7644705}{y \cdot y}\right) - \frac{b}{\frac{y \cdot y}{x}}\right)\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 2.5 \cdot 10^{+33}:\\
\;\;\;\;\frac{t}{y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right) + i}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\end{array}
\end{array}
if y < -4.6999999999999998e60Initial program 2.3%
div-inv2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
fma-def2.3%
*-commutative2.3%
fma-def2.3%
Applied egg-rr2.3%
Taylor expanded in y around inf 61.4%
+-commutative61.4%
associate-*r/61.4%
metadata-eval61.4%
unpow261.4%
associate-/l*68.2%
unpow268.2%
associate-/l*68.3%
unpow268.3%
Simplified68.3%
Taylor expanded in a around 0 71.6%
associate--l+71.6%
associate-*r/71.7%
metadata-eval71.7%
unpow271.7%
+-commutative71.7%
associate-/l*79.7%
unpow279.7%
Simplified79.7%
if -4.6999999999999998e60 < y < -3.9e10Initial program 46.6%
Taylor expanded in a around inf 20.2%
Taylor expanded in y around inf 55.7%
associate-+r+55.7%
+-commutative55.7%
*-commutative55.7%
associate-+r+55.7%
associate-*r/55.7%
metadata-eval55.7%
Simplified55.7%
*-un-lft-identity55.7%
associate-/l*64.4%
Applied egg-rr64.4%
if -3.9e10 < y < 2.49999999999999986e33Initial program 99.1%
Taylor expanded in t around inf 79.2%
if 2.49999999999999986e33 < y Initial program 10.1%
Taylor expanded in y around inf 68.6%
associate--l+68.6%
associate-/l*70.7%
Simplified70.7%
Final simplification77.0%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -1.8e+76)
t_1
(if (<= y -39000000000.0)
(+ (/ z a) (/ (* x y) a))
(if (<= y 5.4e-109)
(/ t (+ i (* y c)))
(if (<= y 1.05e-5)
(/ t (+ i (* b (* y y))))
(if (<= y 1.9e+17) (/ t (* y c)) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.8e+76) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 5.4e-109) {
tmp = t / (i + (y * c));
} else if (y <= 1.05e-5) {
tmp = t / (i + (b * (y * y)));
} else if (y <= 1.9e+17) {
tmp = t / (y * c);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: t_1
real(8) :: tmp
t_1 = (z / y) + (x - (a / (y / x)))
if (y <= (-1.8d+76)) then
tmp = t_1
else if (y <= (-39000000000.0d0)) then
tmp = (z / a) + ((x * y) / a)
else if (y <= 5.4d-109) then
tmp = t / (i + (y * c))
else if (y <= 1.05d-5) then
tmp = t / (i + (b * (y * y)))
else if (y <= 1.9d+17) then
tmp = t / (y * c)
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 i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.8e+76) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 5.4e-109) {
tmp = t / (i + (y * c));
} else if (y <= 1.05e-5) {
tmp = t / (i + (b * (y * y)));
} else if (y <= 1.9e+17) {
tmp = t / (y * c);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -1.8e+76: tmp = t_1 elif y <= -39000000000.0: tmp = (z / a) + ((x * y) / a) elif y <= 5.4e-109: tmp = t / (i + (y * c)) elif y <= 1.05e-5: tmp = t / (i + (b * (y * y))) elif y <= 1.9e+17: tmp = t / (y * c) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -1.8e+76) tmp = t_1; elseif (y <= -39000000000.0) tmp = Float64(Float64(z / a) + Float64(Float64(x * y) / a)); elseif (y <= 5.4e-109) tmp = Float64(t / Float64(i + Float64(y * c))); elseif (y <= 1.05e-5) tmp = Float64(t / Float64(i + Float64(b * Float64(y * y)))); elseif (y <= 1.9e+17) tmp = Float64(t / Float64(y * c)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -1.8e+76) tmp = t_1; elseif (y <= -39000000000.0) tmp = (z / a) + ((x * y) / a); elseif (y <= 5.4e-109) tmp = t / (i + (y * c)); elseif (y <= 1.05e-5) tmp = t / (i + (b * (y * y))); elseif (y <= 1.9e+17) tmp = t / (y * c); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.8e+76], t$95$1, If[LessEqual[y, -39000000000.0], N[(N[(z / a), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.4e-109], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.05e-5], N[(t / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e+17], N[(t / N[(y * c), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -1.8 \cdot 10^{+76}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{z}{a} + \frac{x \cdot y}{a}\\
\mathbf{elif}\;y \leq 5.4 \cdot 10^{-109}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{elif}\;y \leq 1.05 \cdot 10^{-5}:\\
\;\;\;\;\frac{t}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{+17}:\\
\;\;\;\;\frac{t}{y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -1.8000000000000001e76 or 1.9e17 < y Initial program 7.2%
Taylor expanded in y around inf 71.0%
associate--l+71.0%
associate-/l*74.0%
Simplified74.0%
if -1.8000000000000001e76 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 47.6%
if -3.9e10 < y < 5.4000000000000001e-109Initial program 99.8%
Taylor expanded in t around inf 83.6%
Taylor expanded in y around 0 78.0%
if 5.4000000000000001e-109 < y < 1.04999999999999994e-5Initial program 99.8%
Taylor expanded in t around inf 66.8%
Taylor expanded in b around inf 57.8%
*-commutative57.8%
unpow257.8%
Simplified57.8%
if 1.04999999999999994e-5 < y < 1.9e17Initial program 100.0%
Taylor expanded in t around inf 52.8%
Taylor expanded in c around inf 32.1%
Final simplification72.0%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -2.4e+76)
t_1
(if (<= y -39000000000.0)
(+ (/ z a) (/ (* x y) a))
(if (<= y 55000000000.0) (/ t (+ i (* y (+ c (* a (* y y)))))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -2.4e+76) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 55000000000.0) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: t_1
real(8) :: tmp
t_1 = (z / y) + (x - (a / (y / x)))
if (y <= (-2.4d+76)) then
tmp = t_1
else if (y <= (-39000000000.0d0)) then
tmp = (z / a) + ((x * y) / a)
else if (y <= 55000000000.0d0) then
tmp = t / (i + (y * (c + (a * (y * y)))))
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 i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -2.4e+76) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 55000000000.0) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -2.4e+76: tmp = t_1 elif y <= -39000000000.0: tmp = (z / a) + ((x * y) / a) elif y <= 55000000000.0: tmp = t / (i + (y * (c + (a * (y * y))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -2.4e+76) tmp = t_1; elseif (y <= -39000000000.0) tmp = Float64(Float64(z / a) + Float64(Float64(x * y) / a)); elseif (y <= 55000000000.0) tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(a * Float64(y * y)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -2.4e+76) tmp = t_1; elseif (y <= -39000000000.0) tmp = (z / a) + ((x * y) / a); elseif (y <= 55000000000.0) tmp = t / (i + (y * (c + (a * (y * y))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.4e+76], t$95$1, If[LessEqual[y, -39000000000.0], N[(N[(z / a), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 55000000000.0], N[(t / N[(i + N[(y * N[(c + N[(a * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -2.4 \cdot 10^{+76}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{z}{a} + \frac{x \cdot y}{a}\\
\mathbf{elif}\;y \leq 55000000000:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + a \cdot \left(y \cdot y\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -2.4e76 or 5.5e10 < y Initial program 8.1%
Taylor expanded in y around inf 70.4%
associate--l+70.4%
associate-/l*73.3%
Simplified73.3%
if -2.4e76 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 47.6%
if -3.9e10 < y < 5.5e10Initial program 99.8%
Taylor expanded in t around inf 80.0%
Taylor expanded in a around inf 71.6%
unpow271.6%
Simplified71.6%
Final simplification71.1%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -6.2e+75)
t_1
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ (* x y) a)))
(if (<= y 3.3e+15) (/ t (+ i (* y (+ c (* a (* y y)))))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -6.2e+75) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + ((x * y) / a));
} else if (y <= 3.3e+15) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: t_1
real(8) :: tmp
t_1 = (z / y) + (x - (a / (y / x)))
if (y <= (-6.2d+75)) then
tmp = t_1
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + ((x * y) / a))
else if (y <= 3.3d+15) then
tmp = t / (i + (y * (c + (a * (y * y)))))
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 i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -6.2e+75) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + ((x * y) / a));
} else if (y <= 3.3e+15) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -6.2e+75: tmp = t_1 elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + ((x * y) / a)) elif y <= 3.3e+15: tmp = t / (i + (y * (c + (a * (y * y))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -6.2e+75) tmp = t_1; elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(Float64(x * y) / a))); elseif (y <= 3.3e+15) tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(a * Float64(y * y)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -6.2e+75) tmp = t_1; elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + ((x * y) / a)); elseif (y <= 3.3e+15) tmp = t / (i + (y * (c + (a * (y * y))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.2e+75], t$95$1, If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.3e+15], N[(t / N[(i + N[(y * N[(c + N[(a * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -6.2 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{x \cdot y}{a}\right)\\
\mathbf{elif}\;y \leq 3.3 \cdot 10^{+15}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + a \cdot \left(y \cdot y\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -6.2000000000000002e75 or 3.3e15 < y Initial program 8.1%
Taylor expanded in y around inf 70.4%
associate--l+70.4%
associate-/l*73.3%
Simplified73.3%
if -6.2000000000000002e75 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 48.1%
associate-+r+48.1%
+-commutative48.1%
*-commutative48.1%
associate-+r+48.1%
associate-*r/48.1%
metadata-eval48.1%
Simplified48.1%
if -3.9e10 < y < 3.3e15Initial program 99.8%
Taylor expanded in t around inf 80.0%
Taylor expanded in a around inf 71.6%
unpow271.6%
Simplified71.6%
Final simplification71.1%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -1.7e+74)
t_1
(if (<= y -39000000000.0)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
(if (<= y 2.6e+15) (/ t (+ i (* y (+ c (* a (* y y)))))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.7e+74) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.6e+15) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: t_1
real(8) :: tmp
t_1 = (z / y) + (x - (a / (y / x)))
if (y <= (-1.7d+74)) then
tmp = t_1
else if (y <= (-39000000000.0d0)) then
tmp = (27464.7644705d0 / (y * a)) + ((z / a) + (y / (a / x)))
else if (y <= 2.6d+15) then
tmp = t / (i + (y * (c + (a * (y * y)))))
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 i) {
double t_1 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.7e+74) {
tmp = t_1;
} else if (y <= -39000000000.0) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else if (y <= 2.6e+15) {
tmp = t / (i + (y * (c + (a * (y * y)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -1.7e+74: tmp = t_1 elif y <= -39000000000.0: tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))) elif y <= 2.6e+15: tmp = t / (i + (y * (c + (a * (y * y))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -1.7e+74) tmp = t_1; elseif (y <= -39000000000.0) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); elseif (y <= 2.6e+15) tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(a * Float64(y * y)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -1.7e+74) tmp = t_1; elseif (y <= -39000000000.0) tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x))); elseif (y <= 2.6e+15) tmp = t / (i + (y * (c + (a * (y * y))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.7e+74], t$95$1, If[LessEqual[y, -39000000000.0], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.6e+15], N[(t / N[(i + N[(y * N[(c + N[(a * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -1.7 \cdot 10^{+74}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{elif}\;y \leq 2.6 \cdot 10^{+15}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + a \cdot \left(y \cdot y\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -1.7e74 or 2.6e15 < y Initial program 8.1%
Taylor expanded in y around inf 70.4%
associate--l+70.4%
associate-/l*73.3%
Simplified73.3%
if -1.7e74 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 48.1%
associate-+r+48.1%
+-commutative48.1%
*-commutative48.1%
associate-+r+48.1%
associate-*r/48.1%
metadata-eval48.1%
Simplified48.1%
*-un-lft-identity48.1%
associate-/l*55.5%
Applied egg-rr55.5%
if -3.9e10 < y < 2.6e15Initial program 99.8%
Taylor expanded in t around inf 80.0%
Taylor expanded in a around inf 71.6%
unpow271.6%
Simplified71.6%
Final simplification71.5%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -4.1e+74)
x
(if (<= y -39000000000.0)
(+ (/ z a) (/ (* x y) a))
(if (<= y 6.2e-109)
(/ t (+ i (* y c)))
(if (<= y 2.35e+27) (/ t (+ i (* b (* y y)))) x)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -4.1e+74) {
tmp = x;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 6.2e-109) {
tmp = t / (i + (y * c));
} else if (y <= 2.35e+27) {
tmp = t / (i + (b * (y * y)));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-4.1d+74)) then
tmp = x
else if (y <= (-39000000000.0d0)) then
tmp = (z / a) + ((x * y) / a)
else if (y <= 6.2d-109) then
tmp = t / (i + (y * c))
else if (y <= 2.35d+27) then
tmp = t / (i + (b * (y * y)))
else
tmp = x
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 i) {
double tmp;
if (y <= -4.1e+74) {
tmp = x;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 6.2e-109) {
tmp = t / (i + (y * c));
} else if (y <= 2.35e+27) {
tmp = t / (i + (b * (y * y)));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -4.1e+74: tmp = x elif y <= -39000000000.0: tmp = (z / a) + ((x * y) / a) elif y <= 6.2e-109: tmp = t / (i + (y * c)) elif y <= 2.35e+27: tmp = t / (i + (b * (y * y))) else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -4.1e+74) tmp = x; elseif (y <= -39000000000.0) tmp = Float64(Float64(z / a) + Float64(Float64(x * y) / a)); elseif (y <= 6.2e-109) tmp = Float64(t / Float64(i + Float64(y * c))); elseif (y <= 2.35e+27) tmp = Float64(t / Float64(i + Float64(b * Float64(y * y)))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -4.1e+74) tmp = x; elseif (y <= -39000000000.0) tmp = (z / a) + ((x * y) / a); elseif (y <= 6.2e-109) tmp = t / (i + (y * c)); elseif (y <= 2.35e+27) tmp = t / (i + (b * (y * y))); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -4.1e+74], x, If[LessEqual[y, -39000000000.0], N[(N[(z / a), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.2e-109], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.35e+27], N[(t / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.1 \cdot 10^{+74}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{z}{a} + \frac{x \cdot y}{a}\\
\mathbf{elif}\;y \leq 6.2 \cdot 10^{-109}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{elif}\;y \leq 2.35 \cdot 10^{+27}:\\
\;\;\;\;\frac{t}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -4.1e74 or 2.34999999999999988e27 < y Initial program 6.3%
Taylor expanded in y around inf 60.2%
if -4.1e74 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 47.6%
if -3.9e10 < y < 6.1999999999999999e-109Initial program 99.8%
Taylor expanded in t around inf 83.6%
Taylor expanded in y around 0 78.0%
if 6.1999999999999999e-109 < y < 2.34999999999999988e27Initial program 97.0%
Taylor expanded in t around inf 64.1%
Taylor expanded in b around inf 50.9%
*-commutative50.9%
unpow250.9%
Simplified50.9%
Final simplification66.0%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -3.9e+73) x (if (<= y -2.45e+17) (/ z a) (if (<= y 1.2e+18) (/ t (+ i (* y c))) x))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -3.9e+73) {
tmp = x;
} else if (y <= -2.45e+17) {
tmp = z / a;
} else if (y <= 1.2e+18) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-3.9d+73)) then
tmp = x
else if (y <= (-2.45d+17)) then
tmp = z / a
else if (y <= 1.2d+18) then
tmp = t / (i + (y * c))
else
tmp = x
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 i) {
double tmp;
if (y <= -3.9e+73) {
tmp = x;
} else if (y <= -2.45e+17) {
tmp = z / a;
} else if (y <= 1.2e+18) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -3.9e+73: tmp = x elif y <= -2.45e+17: tmp = z / a elif y <= 1.2e+18: tmp = t / (i + (y * c)) else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -3.9e+73) tmp = x; elseif (y <= -2.45e+17) tmp = Float64(z / a); elseif (y <= 1.2e+18) tmp = Float64(t / Float64(i + Float64(y * c))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -3.9e+73) tmp = x; elseif (y <= -2.45e+17) tmp = z / a; elseif (y <= 1.2e+18) tmp = t / (i + (y * c)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -3.9e+73], x, If[LessEqual[y, -2.45e+17], N[(z / a), $MachinePrecision], If[LessEqual[y, 1.2e+18], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.9 \cdot 10^{+73}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -2.45 \cdot 10^{+17}:\\
\;\;\;\;\frac{z}{a}\\
\mathbf{elif}\;y \leq 1.2 \cdot 10^{+18}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -3.9000000000000001e73 or 1.2e18 < y Initial program 7.2%
Taylor expanded in y around inf 59.6%
if -3.9000000000000001e73 < y < -2.45e17Initial program 24.5%
Taylor expanded in a around inf 13.5%
Taylor expanded in z around inf 57.0%
if -2.45e17 < y < 1.2e18Initial program 99.1%
Taylor expanded in t around inf 76.9%
Taylor expanded in y around 0 67.3%
Final simplification63.9%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -4.5e+73)
x
(if (<= y -1.3e+18)
(+ (/ 27464.7644705 (* y a)) (/ z a))
(if (<= y 2e+20) (/ t (+ i (* y c))) x))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -4.5e+73) {
tmp = x;
} else if (y <= -1.3e+18) {
tmp = (27464.7644705 / (y * a)) + (z / a);
} else if (y <= 2e+20) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-4.5d+73)) then
tmp = x
else if (y <= (-1.3d+18)) then
tmp = (27464.7644705d0 / (y * a)) + (z / a)
else if (y <= 2d+20) then
tmp = t / (i + (y * c))
else
tmp = x
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 i) {
double tmp;
if (y <= -4.5e+73) {
tmp = x;
} else if (y <= -1.3e+18) {
tmp = (27464.7644705 / (y * a)) + (z / a);
} else if (y <= 2e+20) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -4.5e+73: tmp = x elif y <= -1.3e+18: tmp = (27464.7644705 / (y * a)) + (z / a) elif y <= 2e+20: tmp = t / (i + (y * c)) else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -4.5e+73) tmp = x; elseif (y <= -1.3e+18) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)); elseif (y <= 2e+20) tmp = Float64(t / Float64(i + Float64(y * c))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -4.5e+73) tmp = x; elseif (y <= -1.3e+18) tmp = (27464.7644705 / (y * a)) + (z / a); elseif (y <= 2e+20) tmp = t / (i + (y * c)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -4.5e+73], x, If[LessEqual[y, -1.3e+18], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2e+20], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.5 \cdot 10^{+73}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -1.3 \cdot 10^{+18}:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \frac{z}{a}\\
\mathbf{elif}\;y \leq 2 \cdot 10^{+20}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -4.49999999999999985e73 or 2e20 < y Initial program 7.2%
Taylor expanded in y around inf 59.6%
if -4.49999999999999985e73 < y < -1.3e18Initial program 24.5%
Taylor expanded in a around inf 13.5%
Taylor expanded in y around inf 57.6%
associate-+r+57.6%
+-commutative57.6%
*-commutative57.6%
associate-+r+57.6%
associate-*r/57.6%
metadata-eval57.6%
Simplified57.6%
Taylor expanded in y around 0 57.7%
associate-*r/57.7%
metadata-eval57.7%
*-commutative57.7%
Simplified57.7%
if -1.3e18 < y < 2e20Initial program 99.1%
Taylor expanded in t around inf 76.9%
Taylor expanded in y around 0 67.3%
Final simplification64.0%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -3e+74)
x
(if (<= y -39000000000.0)
(+ (/ z a) (/ (* x y) a))
(if (<= y 1.4e+20) (/ t (+ i (* y c))) x))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -3e+74) {
tmp = x;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 1.4e+20) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-3d+74)) then
tmp = x
else if (y <= (-39000000000.0d0)) then
tmp = (z / a) + ((x * y) / a)
else if (y <= 1.4d+20) then
tmp = t / (i + (y * c))
else
tmp = x
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 i) {
double tmp;
if (y <= -3e+74) {
tmp = x;
} else if (y <= -39000000000.0) {
tmp = (z / a) + ((x * y) / a);
} else if (y <= 1.4e+20) {
tmp = t / (i + (y * c));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -3e+74: tmp = x elif y <= -39000000000.0: tmp = (z / a) + ((x * y) / a) elif y <= 1.4e+20: tmp = t / (i + (y * c)) else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -3e+74) tmp = x; elseif (y <= -39000000000.0) tmp = Float64(Float64(z / a) + Float64(Float64(x * y) / a)); elseif (y <= 1.4e+20) tmp = Float64(t / Float64(i + Float64(y * c))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -3e+74) tmp = x; elseif (y <= -39000000000.0) tmp = (z / a) + ((x * y) / a); elseif (y <= 1.4e+20) tmp = t / (i + (y * c)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -3e+74], x, If[LessEqual[y, -39000000000.0], N[(N[(z / a), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.4e+20], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3 \cdot 10^{+74}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -39000000000:\\
\;\;\;\;\frac{z}{a} + \frac{x \cdot y}{a}\\
\mathbf{elif}\;y \leq 1.4 \cdot 10^{+20}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -3e74 or 1.4e20 < y Initial program 7.2%
Taylor expanded in y around inf 59.6%
if -3e74 < y < -3.9e10Initial program 47.5%
Taylor expanded in a around inf 17.6%
Taylor expanded in y around inf 47.6%
if -3.9e10 < y < 1.4e20Initial program 99.1%
Taylor expanded in t around inf 78.9%
Taylor expanded in y around 0 69.1%
Final simplification64.3%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -3.9e+73) x (if (<= y -1.25e+19) (/ z a) (if (<= y 1.45e+21) (/ t i) x))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -3.9e+73) {
tmp = x;
} else if (y <= -1.25e+19) {
tmp = z / a;
} else if (y <= 1.45e+21) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-3.9d+73)) then
tmp = x
else if (y <= (-1.25d+19)) then
tmp = z / a
else if (y <= 1.45d+21) then
tmp = t / i
else
tmp = x
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 i) {
double tmp;
if (y <= -3.9e+73) {
tmp = x;
} else if (y <= -1.25e+19) {
tmp = z / a;
} else if (y <= 1.45e+21) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -3.9e+73: tmp = x elif y <= -1.25e+19: tmp = z / a elif y <= 1.45e+21: tmp = t / i else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -3.9e+73) tmp = x; elseif (y <= -1.25e+19) tmp = Float64(z / a); elseif (y <= 1.45e+21) tmp = Float64(t / i); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -3.9e+73) tmp = x; elseif (y <= -1.25e+19) tmp = z / a; elseif (y <= 1.45e+21) tmp = t / i; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -3.9e+73], x, If[LessEqual[y, -1.25e+19], N[(z / a), $MachinePrecision], If[LessEqual[y, 1.45e+21], N[(t / i), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.9 \cdot 10^{+73}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -1.25 \cdot 10^{+19}:\\
\;\;\;\;\frac{z}{a}\\
\mathbf{elif}\;y \leq 1.45 \cdot 10^{+21}:\\
\;\;\;\;\frac{t}{i}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -3.9000000000000001e73 or 1.45e21 < y Initial program 7.2%
Taylor expanded in y around inf 59.6%
if -3.9000000000000001e73 < y < -1.25e19Initial program 24.5%
Taylor expanded in a around inf 13.5%
Taylor expanded in z around inf 57.0%
if -1.25e19 < y < 1.45e21Initial program 99.1%
Taylor expanded in y around 0 54.2%
Final simplification56.4%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -7e+25) x (if (<= y 2.1e+22) (/ t i) x)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -7e+25) {
tmp = x;
} else if (y <= 2.1e+22) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
real(8) :: tmp
if (y <= (-7d+25)) then
tmp = x
else if (y <= 2.1d+22) then
tmp = t / i
else
tmp = x
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 i) {
double tmp;
if (y <= -7e+25) {
tmp = x;
} else if (y <= 2.1e+22) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -7e+25: tmp = x elif y <= 2.1e+22: tmp = t / i else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -7e+25) tmp = x; elseif (y <= 2.1e+22) tmp = Float64(t / i); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if (y <= -7e+25) tmp = x; elseif (y <= 2.1e+22) tmp = t / i; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -7e+25], x, If[LessEqual[y, 2.1e+22], N[(t / i), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7 \cdot 10^{+25}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+22}:\\
\;\;\;\;\frac{t}{i}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -6.99999999999999999e25 or 2.0999999999999998e22 < y Initial program 7.8%
Taylor expanded in y around inf 55.6%
if -6.99999999999999999e25 < y < 2.0999999999999998e22Initial program 99.1%
Taylor expanded in y around 0 53.9%
Final simplification54.6%
(FPCore (x y z t a b c i) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return x;
}
real(8) function code(x, y, z, t, a, b, c, i)
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), intent (in) :: i
code = x
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return x;
}
def code(x, y, z, t, a, b, c, i): return x
function code(x, y, z, t, a, b, c, i) return x end
function tmp = code(x, y, z, t, a, b, c, i) tmp = x; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 60.2%
Taylor expanded in y around inf 25.5%
Final simplification25.5%
herbie shell --seed 2023192
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))