
(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 18 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
(if (<=
(/
(+
t
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616)))
(+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))
INFINITY)
(/
(fma (fma (fma (fma x y z) y 27464.7644705) y 230661.510616) y t)
(fma (fma (fma (+ y a) y b) y c) y 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 (((t + (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)))) <= ((double) INFINITY)) {
tmp = fma(fma(fma(fma(x, y, z), y, 27464.7644705), y, 230661.510616), y, t) / fma(fma(fma((y + a), y, b), y, c), y, 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 (Float64(Float64(t + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616))) / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))) <= Inf) tmp = Float64(fma(fma(fma(fma(x, y, z), y, 27464.7644705), y, 230661.510616), y, t) / fma(fma(fma(Float64(y + a), y, b), y, c), y, i)); 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_] := If[LessEqual[N[(N[(t + N[(y * N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(N[(N[(N[(x * y + z), $MachinePrecision] * y + 27464.7644705), $MachinePrecision] * y + 230661.510616), $MachinePrecision] * y + t), $MachinePrecision] / N[(N[(N[(N[(y + a), $MachinePrecision] * y + b), $MachinePrecision] * y + c), $MachinePrecision] * y + 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}\;\frac{t + y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)} \leq \infty:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\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 95.4%
fma-def95.4%
fma-def95.4%
fma-def95.4%
fma-def95.4%
fma-def95.4%
fma-def95.4%
fma-def95.4%
Simplified95.4%
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 71.9%
associate--l+71.9%
associate-/l*76.7%
Simplified76.7%
Final simplification89.5%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1
(/
(+
t
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616)))
(+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))))
(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 = (t + (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
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 = (t + (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
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 = (t + (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616))) / (i + (y * ((y * ((y * (y + a)) + b)) + c))) 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(t + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616))) / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))) 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 = (t + (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616))) / (i + (y * ((y * ((y * (y + a)) + b)) + c))); 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[(t + N[(y * N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $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{t + y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\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 95.4%
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 71.9%
associate--l+71.9%
associate-/l*76.7%
Simplified76.7%
Final simplification89.5%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (* y (+ (* y (+ y a)) b)) c))
(t_2 (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
(t_3 (+ i (* y t_1)))
(t_4 (+ (/ z y) (- x (/ a (/ y x)))))
(t_5 (* y t_2)))
(if (<= y -7.8e+79)
t_4
(if (<= y -72.0)
(/ t_2 t_1)
(if (<= y -4.4e-42)
(/ (+ t t_5) (+ i (* b (* y y))))
(if (<= y 8.5e-9)
(/ (+ t (* y (+ 230661.510616 (* z (* y y))))) t_3)
(if (<= y 1e+54)
(/ t_5 t_3)
(if (<= y 2.1e+130)
(+ (/ z a) (+ (/ 27464.7644705 (* y a)) (/ y (/ a x))))
t_4))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = i + (y * t_1);
double t_4 = (z / y) + (x - (a / (y / x)));
double t_5 = y * t_2;
double tmp;
if (y <= -7.8e+79) {
tmp = t_4;
} else if (y <= -72.0) {
tmp = t_2 / t_1;
} else if (y <= -4.4e-42) {
tmp = (t + t_5) / (i + (b * (y * y)));
} else if (y <= 8.5e-9) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / t_3;
} else if (y <= 1e+54) {
tmp = t_5 / t_3;
} else if (y <= 2.1e+130) {
tmp = (z / a) + ((27464.7644705 / (y * a)) + (y / (a / x)));
} else {
tmp = t_4;
}
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) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: tmp
t_1 = (y * ((y * (y + a)) + b)) + c
t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0
t_3 = i + (y * t_1)
t_4 = (z / y) + (x - (a / (y / x)))
t_5 = y * t_2
if (y <= (-7.8d+79)) then
tmp = t_4
else if (y <= (-72.0d0)) then
tmp = t_2 / t_1
else if (y <= (-4.4d-42)) then
tmp = (t + t_5) / (i + (b * (y * y)))
else if (y <= 8.5d-9) then
tmp = (t + (y * (230661.510616d0 + (z * (y * y))))) / t_3
else if (y <= 1d+54) then
tmp = t_5 / t_3
else if (y <= 2.1d+130) then
tmp = (z / a) + ((27464.7644705d0 / (y * a)) + (y / (a / x)))
else
tmp = t_4
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 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = i + (y * t_1);
double t_4 = (z / y) + (x - (a / (y / x)));
double t_5 = y * t_2;
double tmp;
if (y <= -7.8e+79) {
tmp = t_4;
} else if (y <= -72.0) {
tmp = t_2 / t_1;
} else if (y <= -4.4e-42) {
tmp = (t + t_5) / (i + (b * (y * y)));
} else if (y <= 8.5e-9) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / t_3;
} else if (y <= 1e+54) {
tmp = t_5 / t_3;
} else if (y <= 2.1e+130) {
tmp = (z / a) + ((27464.7644705 / (y * a)) + (y / (a / x)));
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (y * ((y * (y + a)) + b)) + c t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616 t_3 = i + (y * t_1) t_4 = (z / y) + (x - (a / (y / x))) t_5 = y * t_2 tmp = 0 if y <= -7.8e+79: tmp = t_4 elif y <= -72.0: tmp = t_2 / t_1 elif y <= -4.4e-42: tmp = (t + t_5) / (i + (b * (y * y))) elif y <= 8.5e-9: tmp = (t + (y * (230661.510616 + (z * (y * y))))) / t_3 elif y <= 1e+54: tmp = t_5 / t_3 elif y <= 2.1e+130: tmp = (z / a) + ((27464.7644705 / (y * a)) + (y / (a / x))) else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c) t_2 = Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616) t_3 = Float64(i + Float64(y * t_1)) t_4 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) t_5 = Float64(y * t_2) tmp = 0.0 if (y <= -7.8e+79) tmp = t_4; elseif (y <= -72.0) tmp = Float64(t_2 / t_1); elseif (y <= -4.4e-42) tmp = Float64(Float64(t + t_5) / Float64(i + Float64(b * Float64(y * y)))); elseif (y <= 8.5e-9) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(z * Float64(y * y))))) / t_3); elseif (y <= 1e+54) tmp = Float64(t_5 / t_3); elseif (y <= 2.1e+130) tmp = Float64(Float64(z / a) + Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(y / Float64(a / x)))); else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (y * ((y * (y + a)) + b)) + c; t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616; t_3 = i + (y * t_1); t_4 = (z / y) + (x - (a / (y / x))); t_5 = y * t_2; tmp = 0.0; if (y <= -7.8e+79) tmp = t_4; elseif (y <= -72.0) tmp = t_2 / t_1; elseif (y <= -4.4e-42) tmp = (t + t_5) / (i + (b * (y * y))); elseif (y <= 8.5e-9) tmp = (t + (y * (230661.510616 + (z * (y * y))))) / t_3; elseif (y <= 1e+54) tmp = t_5 / t_3; elseif (y <= 2.1e+130) tmp = (z / a) + ((27464.7644705 / (y * a)) + (y / (a / x))); else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]}, Block[{t$95$3 = N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y * t$95$2), $MachinePrecision]}, If[LessEqual[y, -7.8e+79], t$95$4, If[LessEqual[y, -72.0], N[(t$95$2 / t$95$1), $MachinePrecision], If[LessEqual[y, -4.4e-42], N[(N[(t + t$95$5), $MachinePrecision] / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 8.5e-9], N[(N[(t + N[(y * N[(230661.510616 + N[(z * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision], If[LessEqual[y, 1e+54], N[(t$95$5 / t$95$3), $MachinePrecision], If[LessEqual[y, 2.1e+130], N[(N[(z / a), $MachinePrecision] + N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\\
t_2 := y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\\
t_3 := i + y \cdot t_1\\
t_4 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
t_5 := y \cdot t_2\\
\mathbf{if}\;y \leq -7.8 \cdot 10^{+79}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y \leq -72:\\
\;\;\;\;\frac{t_2}{t_1}\\
\mathbf{elif}\;y \leq -4.4 \cdot 10^{-42}:\\
\;\;\;\;\frac{t + t_5}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{elif}\;y \leq 8.5 \cdot 10^{-9}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + z \cdot \left(y \cdot y\right)\right)}{t_3}\\
\mathbf{elif}\;y \leq 10^{+54}:\\
\;\;\;\;\frac{t_5}{t_3}\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+130}:\\
\;\;\;\;\frac{z}{a} + \left(\frac{27464.7644705}{y \cdot a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if y < -7.7999999999999994e79 or 2.0999999999999999e130 < y Initial program 1.5%
Taylor expanded in y around inf 77.3%
associate--l+77.3%
associate-/l*83.0%
Simplified83.0%
if -7.7999999999999994e79 < y < -72Initial program 60.2%
Taylor expanded in t around 0 40.9%
Taylor expanded in i around 0 58.5%
if -72 < y < -4.4000000000000001e-42Initial program 99.4%
Taylor expanded in b around inf 70.0%
*-commutative70.0%
unpow270.0%
Simplified70.0%
if -4.4000000000000001e-42 < y < 8.5e-9Initial program 99.8%
Taylor expanded in z around inf 96.8%
*-commutative86.8%
unpow286.8%
Simplified96.8%
if 8.5e-9 < y < 1.0000000000000001e54Initial program 73.7%
Taylor expanded in t around 0 73.7%
if 1.0000000000000001e54 < y < 2.0999999999999999e130Initial program 0.6%
Taylor expanded in a around inf 0.7%
Taylor expanded in y around inf 29.0%
associate-*r/29.0%
*-commutative29.0%
metadata-eval29.0%
associate-/l*46.3%
Simplified46.3%
Final simplification86.3%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (* y (+ (* y (+ y a)) b)) c))
(t_2 (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
(t_3 (/ (+ t (* y t_2)) (+ i (* b (* y y)))))
(t_4 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -8.6e+80)
t_4
(if (<= y -15000000000.0)
(/ t_2 t_1)
(if (<= y -2.2e-37)
t_3
(if (<= y 7.2e-47)
(/ (+ t (* y 230661.510616)) (+ i (* y t_1)))
(if (<= y 2.1e+60) t_3 t_4)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (t + (y * t_2)) / (i + (b * (y * y)));
double t_4 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -8.6e+80) {
tmp = t_4;
} else if (y <= -15000000000.0) {
tmp = t_2 / t_1;
} else if (y <= -2.2e-37) {
tmp = t_3;
} else if (y <= 7.2e-47) {
tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
} else if (y <= 2.1e+60) {
tmp = t_3;
} else {
tmp = t_4;
}
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) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (y * ((y * (y + a)) + b)) + c
t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0
t_3 = (t + (y * t_2)) / (i + (b * (y * y)))
t_4 = (z / y) + (x - (a / (y / x)))
if (y <= (-8.6d+80)) then
tmp = t_4
else if (y <= (-15000000000.0d0)) then
tmp = t_2 / t_1
else if (y <= (-2.2d-37)) then
tmp = t_3
else if (y <= 7.2d-47) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * t_1))
else if (y <= 2.1d+60) then
tmp = t_3
else
tmp = t_4
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 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (t + (y * t_2)) / (i + (b * (y * y)));
double t_4 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -8.6e+80) {
tmp = t_4;
} else if (y <= -15000000000.0) {
tmp = t_2 / t_1;
} else if (y <= -2.2e-37) {
tmp = t_3;
} else if (y <= 7.2e-47) {
tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
} else if (y <= 2.1e+60) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (y * ((y * (y + a)) + b)) + c t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616 t_3 = (t + (y * t_2)) / (i + (b * (y * y))) t_4 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -8.6e+80: tmp = t_4 elif y <= -15000000000.0: tmp = t_2 / t_1 elif y <= -2.2e-37: tmp = t_3 elif y <= 7.2e-47: tmp = (t + (y * 230661.510616)) / (i + (y * t_1)) elif y <= 2.1e+60: tmp = t_3 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c) t_2 = Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616) t_3 = Float64(Float64(t + Float64(y * t_2)) / Float64(i + Float64(b * Float64(y * y)))) t_4 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -8.6e+80) tmp = t_4; elseif (y <= -15000000000.0) tmp = Float64(t_2 / t_1); elseif (y <= -2.2e-37) tmp = t_3; elseif (y <= 7.2e-47) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * t_1))); elseif (y <= 2.1e+60) tmp = t_3; else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (y * ((y * (y + a)) + b)) + c; t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616; t_3 = (t + (y * t_2)) / (i + (b * (y * y))); t_4 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -8.6e+80) tmp = t_4; elseif (y <= -15000000000.0) tmp = t_2 / t_1; elseif (y <= -2.2e-37) tmp = t_3; elseif (y <= 7.2e-47) tmp = (t + (y * 230661.510616)) / (i + (y * t_1)); elseif (y <= 2.1e+60) tmp = t_3; else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]}, Block[{t$95$3 = N[(N[(t + N[(y * t$95$2), $MachinePrecision]), $MachinePrecision] / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.6e+80], t$95$4, If[LessEqual[y, -15000000000.0], N[(t$95$2 / t$95$1), $MachinePrecision], If[LessEqual[y, -2.2e-37], t$95$3, If[LessEqual[y, 7.2e-47], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.1e+60], t$95$3, t$95$4]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\\
t_2 := y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\\
t_3 := \frac{t + y \cdot t_2}{i + b \cdot \left(y \cdot y\right)}\\
t_4 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -8.6 \cdot 10^{+80}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y \leq -15000000000:\\
\;\;\;\;\frac{t_2}{t_1}\\
\mathbf{elif}\;y \leq -2.2 \cdot 10^{-37}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{-47}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t_1}\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+60}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if y < -8.60000000000000008e80 or 2.1000000000000001e60 < y Initial program 1.3%
Taylor expanded in y around inf 73.8%
associate--l+73.8%
associate-/l*78.8%
Simplified78.8%
if -8.60000000000000008e80 < y < -1.5e10Initial program 60.2%
Taylor expanded in t around 0 40.9%
Taylor expanded in i around 0 58.5%
if -1.5e10 < y < -2.20000000000000002e-37 or 7.19999999999999982e-47 < y < 2.1000000000000001e60Initial program 87.3%
Taylor expanded in b around inf 67.6%
*-commutative67.6%
unpow267.6%
Simplified67.6%
if -2.20000000000000002e-37 < y < 7.19999999999999982e-47Initial program 99.8%
Taylor expanded in y around 0 97.0%
*-commutative90.0%
Simplified97.0%
Final simplification84.6%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (* y (+ (* y (+ y a)) b)) c))
(t_2 (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
(t_3 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -1.4e+80)
t_3
(if (<= y -40000000.0)
(/ t_2 t_1)
(if (<= y -2.95e-37)
(/ (+ t (* y t_2)) (+ i (* b (* y y))))
(if (<= y 4.25e+43)
(/ (+ t (* y (+ 230661.510616 (* z (* y y))))) (+ i (* y t_1)))
t_3))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.4e+80) {
tmp = t_3;
} else if (y <= -40000000.0) {
tmp = t_2 / t_1;
} else if (y <= -2.95e-37) {
tmp = (t + (y * t_2)) / (i + (b * (y * y)));
} else if (y <= 4.25e+43) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (y * t_1));
} else {
tmp = t_3;
}
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) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (y * ((y * (y + a)) + b)) + c
t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0
t_3 = (z / y) + (x - (a / (y / x)))
if (y <= (-1.4d+80)) then
tmp = t_3
else if (y <= (-40000000.0d0)) then
tmp = t_2 / t_1
else if (y <= (-2.95d-37)) then
tmp = (t + (y * t_2)) / (i + (b * (y * y)))
else if (y <= 4.25d+43) then
tmp = (t + (y * (230661.510616d0 + (z * (y * y))))) / (i + (y * t_1))
else
tmp = t_3
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 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (z / y) + (x - (a / (y / x)));
double tmp;
if (y <= -1.4e+80) {
tmp = t_3;
} else if (y <= -40000000.0) {
tmp = t_2 / t_1;
} else if (y <= -2.95e-37) {
tmp = (t + (y * t_2)) / (i + (b * (y * y)));
} else if (y <= 4.25e+43) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (y * t_1));
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (y * ((y * (y + a)) + b)) + c t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616 t_3 = (z / y) + (x - (a / (y / x))) tmp = 0 if y <= -1.4e+80: tmp = t_3 elif y <= -40000000.0: tmp = t_2 / t_1 elif y <= -2.95e-37: tmp = (t + (y * t_2)) / (i + (b * (y * y))) elif y <= 4.25e+43: tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (y * t_1)) else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c) t_2 = Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616) t_3 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) tmp = 0.0 if (y <= -1.4e+80) tmp = t_3; elseif (y <= -40000000.0) tmp = Float64(t_2 / t_1); elseif (y <= -2.95e-37) tmp = Float64(Float64(t + Float64(y * t_2)) / Float64(i + Float64(b * Float64(y * y)))); elseif (y <= 4.25e+43) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(z * Float64(y * y))))) / Float64(i + Float64(y * t_1))); else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (y * ((y * (y + a)) + b)) + c; t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616; t_3 = (z / y) + (x - (a / (y / x))); tmp = 0.0; if (y <= -1.4e+80) tmp = t_3; elseif (y <= -40000000.0) tmp = t_2 / t_1; elseif (y <= -2.95e-37) tmp = (t + (y * t_2)) / (i + (b * (y * y))); elseif (y <= 4.25e+43) tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (y * t_1)); else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]}, Block[{t$95$3 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.4e+80], t$95$3, If[LessEqual[y, -40000000.0], N[(t$95$2 / t$95$1), $MachinePrecision], If[LessEqual[y, -2.95e-37], N[(N[(t + N[(y * t$95$2), $MachinePrecision]), $MachinePrecision] / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.25e+43], N[(N[(t + N[(y * N[(230661.510616 + N[(z * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$3]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\\
t_2 := y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\\
t_3 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{if}\;y \leq -1.4 \cdot 10^{+80}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq -40000000:\\
\;\;\;\;\frac{t_2}{t_1}\\
\mathbf{elif}\;y \leq -2.95 \cdot 10^{-37}:\\
\;\;\;\;\frac{t + y \cdot t_2}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{elif}\;y \leq 4.25 \cdot 10^{+43}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + z \cdot \left(y \cdot y\right)\right)}{i + y \cdot t_1}\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if y < -1.39999999999999992e80 or 4.25e43 < y Initial program 3.8%
Taylor expanded in y around inf 71.5%
associate--l+71.5%
associate-/l*76.3%
Simplified76.3%
if -1.39999999999999992e80 < y < -4e7Initial program 60.2%
Taylor expanded in t around 0 40.9%
Taylor expanded in i around 0 58.5%
if -4e7 < y < -2.9499999999999998e-37Initial program 99.3%
Taylor expanded in b around inf 67.5%
*-commutative67.5%
unpow267.5%
Simplified67.5%
if -2.9499999999999998e-37 < y < 4.25e43Initial program 97.8%
Taylor expanded in z around inf 93.2%
*-commutative83.2%
unpow283.2%
Simplified93.2%
Final simplification84.5%
(FPCore (x y z t a b c i)
:precision binary64
(if (or (<= y -1.05e+45) (not (<= y 7.5e+64)))
(+ (/ z y) (- x (/ a (/ y x))))
(/
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* x (* y y)))))))
(+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if ((y <= -1.05e+45) || !(y <= 7.5e+64)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
}
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.05d+45)) .or. (.not. (y <= 7.5d+64))) then
tmp = (z / y) + (x - (a / (y / x)))
else
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (x * (y * y))))))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
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.05e+45) || !(y <= 7.5e+64)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if (y <= -1.05e+45) or not (y <= 7.5e+64): tmp = (z / y) + (x - (a / (y / x))) else: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / (i + (y * ((y * ((y * (y + a)) + b)) + c))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if ((y <= -1.05e+45) || !(y <= 7.5e+64)) tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); else tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(x * Float64(y * y))))))) / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if ((y <= -1.05e+45) || ~((y <= 7.5e+64))) tmp = (z / y) + (x - (a / (y / x))); else tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (x * (y * y))))))) / (i + (y * ((y * ((y * (y + a)) + b)) + c))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -1.05e+45], N[Not[LessEqual[y, 7.5e+64]], $MachinePrecision]], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 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[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.05 \cdot 10^{+45} \lor \neg \left(y \leq 7.5 \cdot 10^{+64}\right):\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + x \cdot \left(y \cdot y\right)\right)\right)}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\end{array}
\end{array}
if y < -1.04999999999999997e45 or 7.5000000000000005e64 < y Initial program 2.6%
Taylor expanded in y around inf 70.0%
associate--l+70.0%
associate-/l*74.6%
Simplified74.6%
if -1.04999999999999997e45 < y < 7.5000000000000005e64Initial program 96.3%
Taylor expanded in z around 0 90.5%
*-commutative90.5%
*-commutative90.5%
unpow290.5%
Simplified90.5%
Final simplification85.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (* y (+ (* y (+ y a)) b)) c))
(t_2 (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
(t_3 (+ (/ z y) (- x (/ a (/ y x)))))
(t_4 (* y t_2)))
(if (<= y -1.02e+82)
t_3
(if (<= y -3.9e+15)
(/ t_2 t_1)
(if (<= y -1e-42)
(/ (+ t t_4) (+ i (* y c)))
(if (<= y 9.2e-38)
(/ (+ t (* y 230661.510616)) (+ i (* y t_1)))
(if (<= y 2.1e+60) (/ t_4 (+ i (* b (* y y)))) t_3)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (z / y) + (x - (a / (y / x)));
double t_4 = y * t_2;
double tmp;
if (y <= -1.02e+82) {
tmp = t_3;
} else if (y <= -3.9e+15) {
tmp = t_2 / t_1;
} else if (y <= -1e-42) {
tmp = (t + t_4) / (i + (y * c));
} else if (y <= 9.2e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
} else if (y <= 2.1e+60) {
tmp = t_4 / (i + (b * (y * y)));
} else {
tmp = t_3;
}
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) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (y * ((y * (y + a)) + b)) + c
t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0
t_3 = (z / y) + (x - (a / (y / x)))
t_4 = y * t_2
if (y <= (-1.02d+82)) then
tmp = t_3
else if (y <= (-3.9d+15)) then
tmp = t_2 / t_1
else if (y <= (-1d-42)) then
tmp = (t + t_4) / (i + (y * c))
else if (y <= 9.2d-38) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * t_1))
else if (y <= 2.1d+60) then
tmp = t_4 / (i + (b * (y * y)))
else
tmp = t_3
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 = (y * ((y * (y + a)) + b)) + c;
double t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616;
double t_3 = (z / y) + (x - (a / (y / x)));
double t_4 = y * t_2;
double tmp;
if (y <= -1.02e+82) {
tmp = t_3;
} else if (y <= -3.9e+15) {
tmp = t_2 / t_1;
} else if (y <= -1e-42) {
tmp = (t + t_4) / (i + (y * c));
} else if (y <= 9.2e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
} else if (y <= 2.1e+60) {
tmp = t_4 / (i + (b * (y * y)));
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (y * ((y * (y + a)) + b)) + c t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616 t_3 = (z / y) + (x - (a / (y / x))) t_4 = y * t_2 tmp = 0 if y <= -1.02e+82: tmp = t_3 elif y <= -3.9e+15: tmp = t_2 / t_1 elif y <= -1e-42: tmp = (t + t_4) / (i + (y * c)) elif y <= 9.2e-38: tmp = (t + (y * 230661.510616)) / (i + (y * t_1)) elif y <= 2.1e+60: tmp = t_4 / (i + (b * (y * y))) else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c) t_2 = Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616) t_3 = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))) t_4 = Float64(y * t_2) tmp = 0.0 if (y <= -1.02e+82) tmp = t_3; elseif (y <= -3.9e+15) tmp = Float64(t_2 / t_1); elseif (y <= -1e-42) tmp = Float64(Float64(t + t_4) / Float64(i + Float64(y * c))); elseif (y <= 9.2e-38) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * t_1))); elseif (y <= 2.1e+60) tmp = Float64(t_4 / Float64(i + Float64(b * Float64(y * y)))); else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (y * ((y * (y + a)) + b)) + c; t_2 = (y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616; t_3 = (z / y) + (x - (a / (y / x))); t_4 = y * t_2; tmp = 0.0; if (y <= -1.02e+82) tmp = t_3; elseif (y <= -3.9e+15) tmp = t_2 / t_1; elseif (y <= -1e-42) tmp = (t + t_4) / (i + (y * c)); elseif (y <= 9.2e-38) tmp = (t + (y * 230661.510616)) / (i + (y * t_1)); elseif (y <= 2.1e+60) tmp = t_4 / (i + (b * (y * y))); else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]}, Block[{t$95$3 = N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y * t$95$2), $MachinePrecision]}, If[LessEqual[y, -1.02e+82], t$95$3, If[LessEqual[y, -3.9e+15], N[(t$95$2 / t$95$1), $MachinePrecision], If[LessEqual[y, -1e-42], N[(N[(t + t$95$4), $MachinePrecision] / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.2e-38], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.1e+60], N[(t$95$4 / N[(i + N[(b * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$3]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\\
t_2 := y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\\
t_3 := \frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
t_4 := y \cdot t_2\\
\mathbf{if}\;y \leq -1.02 \cdot 10^{+82}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq -3.9 \cdot 10^{+15}:\\
\;\;\;\;\frac{t_2}{t_1}\\
\mathbf{elif}\;y \leq -1 \cdot 10^{-42}:\\
\;\;\;\;\frac{t + t_4}{i + y \cdot c}\\
\mathbf{elif}\;y \leq 9.2 \cdot 10^{-38}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t_1}\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+60}:\\
\;\;\;\;\frac{t_4}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if y < -1.0200000000000001e82 or 2.1000000000000001e60 < y Initial program 1.3%
Taylor expanded in y around inf 73.8%
associate--l+73.8%
associate-/l*78.8%
Simplified78.8%
if -1.0200000000000001e82 < y < -3.9e15Initial program 57.4%
Taylor expanded in t around 0 36.7%
Taylor expanded in i around 0 55.6%
if -3.9e15 < y < -1.00000000000000004e-42Initial program 99.4%
Taylor expanded in y around 0 65.9%
*-commutative65.9%
Simplified65.9%
if -1.00000000000000004e-42 < y < 9.20000000000000007e-38Initial program 99.8%
Taylor expanded in y around 0 97.1%
*-commutative89.4%
Simplified97.1%
if 9.20000000000000007e-38 < y < 2.1000000000000001e60Initial program 79.6%
Taylor expanded in t around 0 68.1%
Taylor expanded in b around inf 55.9%
unpow255.9%
Simplified55.9%
Final simplification83.6%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -2e+49)
t_1
(if (<= y 9.2e-38)
(/
(+ t (* y 230661.510616))
(+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))
(if (<= y 2.1e+60)
(/
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
(+ i (* b (* 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 <= -2e+49) {
tmp = t_1;
} else if (y <= 9.2e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 2.1e+60) {
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / (i + (b * (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 <= (-2d+49)) then
tmp = t_1
else if (y <= 9.2d-38) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
else if (y <= 2.1d+60) then
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0)) / (i + (b * (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 <= -2e+49) {
tmp = t_1;
} else if (y <= 9.2e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 2.1e+60) {
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / (i + (b * (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 <= -2e+49: tmp = t_1 elif y <= 9.2e-38: tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c))) elif y <= 2.1e+60: tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / (i + (b * (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 <= -2e+49) tmp = t_1; elseif (y <= 9.2e-38) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); elseif (y <= 2.1e+60) tmp = Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616)) / Float64(i + Float64(b * 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 <= -2e+49) tmp = t_1; elseif (y <= 9.2e-38) tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c))); elseif (y <= 2.1e+60) tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / (i + (b * (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, -2e+49], t$95$1, If[LessEqual[y, 9.2e-38], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.1e+60], 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] / N[(i + N[(b * N[(y * y), $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 \cdot 10^{+49}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 9.2 \cdot 10^{-38}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+60}:\\
\;\;\;\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{i + b \cdot \left(y \cdot y\right)}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -1.99999999999999989e49 or 2.1000000000000001e60 < y Initial program 2.5%
Taylor expanded in y around inf 70.8%
associate--l+70.8%
associate-/l*75.5%
Simplified75.5%
if -1.99999999999999989e49 < y < 9.20000000000000007e-38Initial program 98.4%
Taylor expanded in y around 0 88.5%
*-commutative78.0%
Simplified88.5%
if 9.20000000000000007e-38 < y < 2.1000000000000001e60Initial program 79.6%
Taylor expanded in t around 0 68.1%
Taylor expanded in b around inf 55.9%
unpow255.9%
Simplified55.9%
Final simplification81.1%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -2e+49)
t_1
(if (<= y -7.8e-85)
(/ t (+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))
(if (<= y 5.5e-38)
(/ (+ t (* y 230661.510616)) (+ i (* y c)))
(if (<= y 3.25e+40)
(/
(* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))
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 <= -2e+49) {
tmp = t_1;
} else if (y <= -7.8e-85) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 5.5e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * c));
} else if (y <= 3.25e+40) {
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / 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 <= (-2d+49)) then
tmp = t_1
else if (y <= (-7.8d-85)) then
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
else if (y <= 5.5d-38) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * c))
else if (y <= 3.25d+40) then
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0)) / 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 <= -2e+49) {
tmp = t_1;
} else if (y <= -7.8e-85) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 5.5e-38) {
tmp = (t + (y * 230661.510616)) / (i + (y * c));
} else if (y <= 3.25e+40) {
tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / 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 <= -2e+49: tmp = t_1 elif y <= -7.8e-85: tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))) elif y <= 5.5e-38: tmp = (t + (y * 230661.510616)) / (i + (y * c)) elif y <= 3.25e+40: tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / 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 <= -2e+49) tmp = t_1; elseif (y <= -7.8e-85) tmp = Float64(t / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); elseif (y <= 5.5e-38) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * c))); elseif (y <= 3.25e+40) tmp = Float64(Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616)) / 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 <= -2e+49) tmp = t_1; elseif (y <= -7.8e-85) tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))); elseif (y <= 5.5e-38) tmp = (t + (y * 230661.510616)) / (i + (y * c)); elseif (y <= 3.25e+40) tmp = (y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)) / 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, -2e+49], t$95$1, If[LessEqual[y, -7.8e-85], N[(t / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.5e-38], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.25e+40], 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] / i), $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 \cdot 10^{+49}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -7.8 \cdot 10^{-85}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\mathbf{elif}\;y \leq 5.5 \cdot 10^{-38}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot c}\\
\mathbf{elif}\;y \leq 3.25 \cdot 10^{+40}:\\
\;\;\;\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{i}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -1.99999999999999989e49 or 3.2500000000000001e40 < y Initial program 4.8%
Taylor expanded in y around inf 68.1%
associate--l+68.1%
associate-/l*72.5%
Simplified72.5%
if -1.99999999999999989e49 < y < -7.79999999999999977e-85Initial program 93.3%
Taylor expanded in t around inf 54.1%
if -7.79999999999999977e-85 < y < 5.50000000000000005e-38Initial program 99.8%
Taylor expanded in y around 0 94.0%
*-commutative94.0%
Simplified94.0%
Taylor expanded in y around 0 91.0%
*-commutative91.0%
Simplified91.0%
if 5.50000000000000005e-38 < y < 3.2500000000000001e40Initial program 89.5%
Taylor expanded in t around 0 75.0%
Taylor expanded in i around inf 38.3%
Final simplification76.0%
(FPCore (x y z t a b c i) :precision binary64 (if (or (<= y -2e+49) (not (<= y 5.8e+40))) (+ (/ z y) (- x (/ a (/ y x)))) (/ (+ t (* y 230661.510616)) (+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if ((y <= -2e+49) || !(y <= 5.8e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
}
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 <= (-2d+49)) .or. (.not. (y <= 5.8d+40))) then
tmp = (z / y) + (x - (a / (y / x)))
else
tmp = (t + (y * 230661.510616d0)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
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 <= -2e+49) || !(y <= 5.8e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if (y <= -2e+49) or not (y <= 5.8e+40): tmp = (z / y) + (x - (a / (y / x))) else: tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if ((y <= -2e+49) || !(y <= 5.8e+40)) tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); else tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if ((y <= -2e+49) || ~((y <= 5.8e+40))) tmp = (z / y) + (x - (a / (y / x))); else tmp = (t + (y * 230661.510616)) / (i + (y * ((y * ((y * (y + a)) + b)) + c))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -2e+49], N[Not[LessEqual[y, 5.8e+40]], $MachinePrecision]], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2 \cdot 10^{+49} \lor \neg \left(y \leq 5.8 \cdot 10^{+40}\right):\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\end{array}
\end{array}
if y < -1.99999999999999989e49 or 5.80000000000000035e40 < y Initial program 4.8%
Taylor expanded in y around inf 68.1%
associate--l+68.1%
associate-/l*72.5%
Simplified72.5%
if -1.99999999999999989e49 < y < 5.80000000000000035e40Initial program 97.4%
Taylor expanded in y around 0 81.5%
*-commutative70.5%
Simplified81.5%
Final simplification78.4%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -2.6e+50)
t_1
(if (<= y -6.2e-84)
(/ t (+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))
(if (<= y 3.8e+40)
(/ (+ t (* y (+ 230661.510616 (* z (* y y))))) (+ i (* 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 <= -2.6e+50) {
tmp = t_1;
} else if (y <= -6.2e-84) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 3.8e+40) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (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 <= (-2.6d+50)) then
tmp = t_1
else if (y <= (-6.2d-84)) then
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
else if (y <= 3.8d+40) then
tmp = (t + (y * (230661.510616d0 + (z * (y * y))))) / (i + (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 <= -2.6e+50) {
tmp = t_1;
} else if (y <= -6.2e-84) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 3.8e+40) {
tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (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 <= -2.6e+50: tmp = t_1 elif y <= -6.2e-84: tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))) elif y <= 3.8e+40: tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (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 <= -2.6e+50) tmp = t_1; elseif (y <= -6.2e-84) tmp = Float64(t / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); elseif (y <= 3.8e+40) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(z * Float64(y * y))))) / Float64(i + 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 <= -2.6e+50) tmp = t_1; elseif (y <= -6.2e-84) tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))); elseif (y <= 3.8e+40) tmp = (t + (y * (230661.510616 + (z * (y * y))))) / (i + (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, -2.6e+50], t$95$1, If[LessEqual[y, -6.2e-84], N[(t / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.8e+40], N[(N[(t + N[(y * N[(230661.510616 + N[(z * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * c), $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.6 \cdot 10^{+50}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -6.2 \cdot 10^{-84}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\mathbf{elif}\;y \leq 3.8 \cdot 10^{+40}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + z \cdot \left(y \cdot y\right)\right)}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -2.6000000000000002e50 or 3.80000000000000004e40 < y Initial program 4.8%
Taylor expanded in y around inf 68.1%
associate--l+68.1%
associate-/l*72.5%
Simplified72.5%
if -2.6000000000000002e50 < y < -6.20000000000000003e-84Initial program 93.3%
Taylor expanded in t around inf 54.1%
if -6.20000000000000003e-84 < y < 3.80000000000000004e40Initial program 98.4%
Taylor expanded in y around 0 86.9%
*-commutative86.9%
Simplified86.9%
Taylor expanded in z around inf 84.6%
*-commutative84.6%
unpow284.6%
Simplified84.6%
Final simplification76.6%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) (- x (/ a (/ y x))))))
(if (<= y -2.3e+49)
t_1
(if (<= y -4e-81)
(/ t (+ i (* y (+ (* y (+ (* y (+ y a)) b)) c))))
(if (<= y 6.6e+40) (/ (+ t (* y 230661.510616)) (+ i (* 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 <= -2.3e+49) {
tmp = t_1;
} else if (y <= -4e-81) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 6.6e+40) {
tmp = (t + (y * 230661.510616)) / (i + (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 <= (-2.3d+49)) then
tmp = t_1
else if (y <= (-4d-81)) then
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)))
else if (y <= 6.6d+40) then
tmp = (t + (y * 230661.510616d0)) / (i + (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 <= -2.3e+49) {
tmp = t_1;
} else if (y <= -4e-81) {
tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c)));
} else if (y <= 6.6e+40) {
tmp = (t + (y * 230661.510616)) / (i + (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 <= -2.3e+49: tmp = t_1 elif y <= -4e-81: tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))) elif y <= 6.6e+40: tmp = (t + (y * 230661.510616)) / (i + (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 <= -2.3e+49) tmp = t_1; elseif (y <= -4e-81) tmp = Float64(t / Float64(i + Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(y + a)) + b)) + c)))); elseif (y <= 6.6e+40) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + 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 <= -2.3e+49) tmp = t_1; elseif (y <= -4e-81) tmp = t / (i + (y * ((y * ((y * (y + a)) + b)) + c))); elseif (y <= 6.6e+40) tmp = (t + (y * 230661.510616)) / (i + (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, -2.3e+49], t$95$1, If[LessEqual[y, -4e-81], N[(t / N[(i + N[(y * N[(N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.6e+40], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * c), $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.3 \cdot 10^{+49}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -4 \cdot 10^{-81}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(y \cdot \left(y \cdot \left(y + a\right) + b\right) + c\right)}\\
\mathbf{elif}\;y \leq 6.6 \cdot 10^{+40}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -2.30000000000000002e49 or 6.5999999999999997e40 < y Initial program 4.8%
Taylor expanded in y around inf 68.1%
associate--l+68.1%
associate-/l*72.5%
Simplified72.5%
if -2.30000000000000002e49 < y < -3.9999999999999998e-81Initial program 93.3%
Taylor expanded in t around inf 54.1%
if -3.9999999999999998e-81 < y < 6.5999999999999997e40Initial program 98.4%
Taylor expanded in y around 0 86.9%
*-commutative86.9%
Simplified86.9%
Taylor expanded in y around 0 79.8%
*-commutative79.8%
Simplified79.8%
Final simplification74.1%
(FPCore (x y z t a b c i) :precision binary64 (if (or (<= y -1.02e+18) (not (<= y 3.25e+40))) (+ (/ z y) (- x (/ a (/ y x)))) (/ t (+ i (* y c)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if ((y <= -1.02e+18) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = t / (i + (y * c));
}
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.02d+18)) .or. (.not. (y <= 3.25d+40))) then
tmp = (z / y) + (x - (a / (y / x)))
else
tmp = t / (i + (y * c))
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.02e+18) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = t / (i + (y * c));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if (y <= -1.02e+18) or not (y <= 3.25e+40): tmp = (z / y) + (x - (a / (y / x))) else: tmp = t / (i + (y * c)) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if ((y <= -1.02e+18) || !(y <= 3.25e+40)) tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); else tmp = Float64(t / Float64(i + Float64(y * c))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if ((y <= -1.02e+18) || ~((y <= 3.25e+40))) tmp = (z / y) + (x - (a / (y / x))); else tmp = t / (i + (y * c)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -1.02e+18], N[Not[LessEqual[y, 3.25e+40]], $MachinePrecision]], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.02 \cdot 10^{+18} \lor \neg \left(y \leq 3.25 \cdot 10^{+40}\right):\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\end{array}
\end{array}
if y < -1.02e18 or 3.2500000000000001e40 < y Initial program 9.6%
Taylor expanded in y around inf 64.4%
associate--l+64.4%
associate-/l*68.5%
Simplified68.5%
if -1.02e18 < y < 3.2500000000000001e40Initial program 98.6%
Taylor expanded in y around 0 83.0%
*-commutative83.0%
Simplified83.0%
Taylor expanded in t around inf 65.7%
Final simplification66.7%
(FPCore (x y z t a b c i) :precision binary64 (if (or (<= y -2.65e+17) (not (<= y 3.25e+40))) (+ (/ z y) (- x (/ a (/ y x)))) (/ t (+ i (* y (+ c (* y b)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if ((y <= -2.65e+17) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = t / (i + (y * (c + (y * b))));
}
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.65d+17)) .or. (.not. (y <= 3.25d+40))) then
tmp = (z / y) + (x - (a / (y / x)))
else
tmp = t / (i + (y * (c + (y * b))))
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.65e+17) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = t / (i + (y * (c + (y * b))));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if (y <= -2.65e+17) or not (y <= 3.25e+40): tmp = (z / y) + (x - (a / (y / x))) else: tmp = t / (i + (y * (c + (y * b)))) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if ((y <= -2.65e+17) || !(y <= 3.25e+40)) tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); else tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(y * b))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if ((y <= -2.65e+17) || ~((y <= 3.25e+40))) tmp = (z / y) + (x - (a / (y / x))); else tmp = t / (i + (y * (c + (y * b)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -2.65e+17], N[Not[LessEqual[y, 3.25e+40]], $MachinePrecision]], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t / N[(i + N[(y * N[(c + N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.65 \cdot 10^{+17} \lor \neg \left(y \leq 3.25 \cdot 10^{+40}\right):\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot b\right)}\\
\end{array}
\end{array}
if y < -2.65e17 or 3.2500000000000001e40 < y Initial program 9.6%
Taylor expanded in y around inf 64.4%
associate--l+64.4%
associate-/l*68.5%
Simplified68.5%
if -2.65e17 < y < 3.2500000000000001e40Initial program 98.6%
Taylor expanded in t around inf 74.1%
Taylor expanded in y around 0 72.6%
Final simplification71.0%
(FPCore (x y z t a b c i) :precision binary64 (if (or (<= y -5e+21) (not (<= y 3.25e+40))) (+ (/ z y) (- x (/ a (/ y x)))) (/ (+ t (* y 230661.510616)) (+ i (* y c)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if ((y <= -5e+21) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * 230661.510616)) / (i + (y * c));
}
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 <= (-5d+21)) .or. (.not. (y <= 3.25d+40))) then
tmp = (z / y) + (x - (a / (y / x)))
else
tmp = (t + (y * 230661.510616d0)) / (i + (y * c))
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 <= -5e+21) || !(y <= 3.25e+40)) {
tmp = (z / y) + (x - (a / (y / x)));
} else {
tmp = (t + (y * 230661.510616)) / (i + (y * c));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if (y <= -5e+21) or not (y <= 3.25e+40): tmp = (z / y) + (x - (a / (y / x))) else: tmp = (t + (y * 230661.510616)) / (i + (y * c)) return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if ((y <= -5e+21) || !(y <= 3.25e+40)) tmp = Float64(Float64(z / y) + Float64(x - Float64(a / Float64(y / x)))); else tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * c))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) tmp = 0.0; if ((y <= -5e+21) || ~((y <= 3.25e+40))) tmp = (z / y) + (x - (a / (y / x))); else tmp = (t + (y * 230661.510616)) / (i + (y * c)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -5e+21], N[Not[LessEqual[y, 3.25e+40]], $MachinePrecision]], N[(N[(z / y), $MachinePrecision] + N[(x - N[(a / N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -5 \cdot 10^{+21} \lor \neg \left(y \leq 3.25 \cdot 10^{+40}\right):\\
\;\;\;\;\frac{z}{y} + \left(x - \frac{a}{\frac{y}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot c}\\
\end{array}
\end{array}
if y < -5e21 or 3.2500000000000001e40 < y Initial program 8.7%
Taylor expanded in y around inf 65.0%
associate--l+65.0%
associate-/l*69.1%
Simplified69.1%
if -5e21 < y < 3.2500000000000001e40Initial program 98.6%
Taylor expanded in y around 0 83.1%
*-commutative83.1%
Simplified83.1%
Taylor expanded in y around 0 73.0%
*-commutative73.0%
Simplified73.0%
Final simplification71.6%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -3.4e+19) x (if (<= y 1.15e+43) (/ 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.4e+19) {
tmp = x;
} else if (y <= 1.15e+43) {
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.4d+19)) then
tmp = x
else if (y <= 1.15d+43) 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.4e+19) {
tmp = x;
} else if (y <= 1.15e+43) {
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.4e+19: tmp = x elif y <= 1.15e+43: 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.4e+19) tmp = x; elseif (y <= 1.15e+43) 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.4e+19) tmp = x; elseif (y <= 1.15e+43) 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.4e+19], x, If[LessEqual[y, 1.15e+43], N[(t / N[(i + N[(y * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.4 \cdot 10^{+19}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq 1.15 \cdot 10^{+43}:\\
\;\;\;\;\frac{t}{i + y \cdot c}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -3.4e19 or 1.1500000000000001e43 < y Initial program 9.7%
Taylor expanded in y around inf 51.4%
if -3.4e19 < y < 1.1500000000000001e43Initial program 98.0%
Taylor expanded in y around 0 82.5%
*-commutative82.5%
Simplified82.5%
Taylor expanded in t around inf 65.3%
Final simplification60.1%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -1.4e+17) x (if (<= y 2.15e+43) (/ 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 <= -1.4e+17) {
tmp = x;
} else if (y <= 2.15e+43) {
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 <= (-1.4d+17)) then
tmp = x
else if (y <= 2.15d+43) 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 <= -1.4e+17) {
tmp = x;
} else if (y <= 2.15e+43) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -1.4e+17: tmp = x elif y <= 2.15e+43: tmp = t / i else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -1.4e+17) tmp = x; elseif (y <= 2.15e+43) 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 <= -1.4e+17) tmp = x; elseif (y <= 2.15e+43) tmp = t / i; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -1.4e+17], x, If[LessEqual[y, 2.15e+43], N[(t / i), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.4 \cdot 10^{+17}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq 2.15 \cdot 10^{+43}:\\
\;\;\;\;\frac{t}{i}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -1.4e17 or 2.15e43 < y Initial program 9.7%
Taylor expanded in y around inf 51.4%
if -1.4e17 < y < 2.15e43Initial program 98.0%
Taylor expanded in y around 0 51.9%
Final simplification51.7%
(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 65.2%
Taylor expanded in y around inf 21.5%
Final simplification21.5%
herbie shell --seed 2023279
(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)))