
(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 16 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 (+ i (* y (+ c (* y (+ b (* y (+ y a))))))))
(t_2 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_2
(if (<= y -4e+42)
(*
x
(+
(/ y a)
(/
(+
(/ 27464.7644705 (* y a))
(+
(/ (/ 230661.510616 a) (pow y 2.0))
(+ (/ t (* a (pow y 3.0))) (/ z a))))
x)))
(if (<= y 1.7e+56)
(+
(/ t t_1)
(/
(* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))))
t_1))
t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = i + (y * (c + (y * (b + (y * (y + a))))));
double t_2 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_2;
} else if (y <= -4e+42) {
tmp = x * ((y / a) + (((27464.7644705 / (y * a)) + (((230661.510616 / a) / pow(y, 2.0)) + ((t / (a * pow(y, 3.0))) + (z / a)))) / x));
} else if (y <= 1.7e+56) {
tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1);
} else {
tmp = t_2;
}
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) :: tmp
t_1 = i + (y * (c + (y * (b + (y * (y + a))))))
t_2 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_2
else if (y <= (-4d+42)) then
tmp = x * ((y / a) + (((27464.7644705d0 / (y * a)) + (((230661.510616d0 / a) / (y ** 2.0d0)) + ((t / (a * (y ** 3.0d0))) + (z / a)))) / x))
else if (y <= 1.7d+56) then
tmp = (t / t_1) + ((y * (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x))))))) / t_1)
else
tmp = t_2
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 = i + (y * (c + (y * (b + (y * (y + a))))));
double t_2 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_2;
} else if (y <= -4e+42) {
tmp = x * ((y / a) + (((27464.7644705 / (y * a)) + (((230661.510616 / a) / Math.pow(y, 2.0)) + ((t / (a * Math.pow(y, 3.0))) + (z / a)))) / x));
} else if (y <= 1.7e+56) {
tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = i + (y * (c + (y * (b + (y * (y + a)))))) t_2 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_2 elif y <= -4e+42: tmp = x * ((y / a) + (((27464.7644705 / (y * a)) + (((230661.510616 / a) / math.pow(y, 2.0)) + ((t / (a * math.pow(y, 3.0))) + (z / a)))) / x)) elif y <= 1.7e+56: tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a))))))) t_2 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_2; elseif (y <= -4e+42) tmp = Float64(x * Float64(Float64(y / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(Float64(230661.510616 / a) / (y ^ 2.0)) + Float64(Float64(t / Float64(a * (y ^ 3.0))) + Float64(z / a)))) / x))); elseif (y <= 1.7e+56) tmp = Float64(Float64(t / t_1) + Float64(Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x))))))) / t_1)); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = i + (y * (c + (y * (b + (y * (y + a)))))); t_2 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_2; elseif (y <= -4e+42) tmp = x * ((y / a) + (((27464.7644705 / (y * a)) + (((230661.510616 / a) / (y ^ 2.0)) + ((t / (a * (y ^ 3.0))) + (z / a)))) / x)); elseif (y <= 1.7e+56) tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$2, If[LessEqual[y, -4e+42], N[(x * N[(N[(y / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(230661.510616 / a), $MachinePrecision] / N[Power[y, 2.0], $MachinePrecision]), $MachinePrecision] + N[(N[(t / N[(a * N[Power[y, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.7e+56], N[(N[(t / t$95$1), $MachinePrecision] + N[(N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\\
t_2 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -4 \cdot 10^{+42}:\\
\;\;\;\;x \cdot \left(\frac{y}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \left(\frac{\frac{230661.510616}{a}}{{y}^{2}} + \left(\frac{t}{a \cdot {y}^{3}} + \frac{z}{a}\right)\right)}{x}\right)\\
\mathbf{elif}\;y \leq 1.7 \cdot 10^{+56}:\\
\;\;\;\;\frac{t}{t\_1} + \frac{y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{t\_1}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 1.7e56 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -4.00000000000000018e42Initial program 4.8%
Taylor expanded in a around inf 4.7%
Taylor expanded in x around -inf 53.0%
associate-*r*53.0%
mul-1-neg53.0%
distribute-lft-out53.0%
Simplified53.0%
if -4.00000000000000018e42 < y < 1.7e56Initial program 94.9%
Taylor expanded in t around 0 94.9%
Final simplification85.6%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ i (* y (+ c (* y (+ b (* y (+ y a))))))))
(t_2 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_2
(if (<= y -1.5e+43)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 1.86e+56)
(+
(/ t t_1)
(/
(* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))))
t_1))
t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = i + (y * (c + (y * (b + (y * (y + a))))));
double t_2 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_2;
} else if (y <= -1.5e+43) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 1.86e+56) {
tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1);
} else {
tmp = t_2;
}
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) :: tmp
t_1 = i + (y * (c + (y * (b + (y * (y + a))))))
t_2 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_2
else if (y <= (-1.5d+43)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 1.86d+56) then
tmp = (t / t_1) + ((y * (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x))))))) / t_1)
else
tmp = t_2
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 = i + (y * (c + (y * (b + (y * (y + a))))));
double t_2 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_2;
} else if (y <= -1.5e+43) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 1.86e+56) {
tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = i + (y * (c + (y * (b + (y * (y + a)))))) t_2 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_2 elif y <= -1.5e+43: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 1.86e+56: tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a))))))) t_2 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_2; elseif (y <= -1.5e+43) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 1.86e+56) tmp = Float64(Float64(t / t_1) + Float64(Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x))))))) / t_1)); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = i + (y * (c + (y * (b + (y * (y + a)))))); t_2 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_2; elseif (y <= -1.5e+43) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 1.86e+56) tmp = (t / t_1) + ((y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x))))))) / t_1); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$2, If[LessEqual[y, -1.5e+43], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.86e+56], N[(N[(t / t$95$1), $MachinePrecision] + N[(N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\\
t_2 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -1.5 \cdot 10^{+43}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 1.86 \cdot 10^{+56}:\\
\;\;\;\;\frac{t}{t\_1} + \frac{y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{t\_1}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 1.86000000000000007e56 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -1.50000000000000008e43Initial program 4.8%
Taylor expanded in a around inf 4.7%
Taylor expanded in y around -inf 49.5%
associate-*r*49.5%
mul-1-neg49.5%
distribute-lft-out49.5%
associate-*r/49.5%
metadata-eval49.5%
Simplified49.5%
if -1.50000000000000008e43 < y < 1.86000000000000007e56Initial program 94.9%
Taylor expanded in t around 0 94.9%
Final simplification85.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -6.8e+43)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 4.7e+55)
(/
(+
t
(* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x))))))))
(+ i (* y (+ c (* y (+ b (* y (+ y a))))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -6.8e+43) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 4.7e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-6.8d+43)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 4.7d+55) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -6.8e+43) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 4.7e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -6.8e+43: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 4.7e+55: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a))))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -6.8e+43) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 4.7e+55) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -6.8e+43) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 4.7e+55) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a))))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -6.8e+43], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.7e+55], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -6.8 \cdot 10^{+43}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 4.7 \cdot 10^{+55}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 4.7000000000000001e55 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -6.80000000000000024e43Initial program 4.8%
Taylor expanded in a around inf 4.7%
Taylor expanded in y around -inf 49.5%
associate-*r*49.5%
mul-1-neg49.5%
distribute-lft-out49.5%
associate-*r/49.5%
metadata-eval49.5%
Simplified49.5%
if -6.80000000000000024e43 < y < 4.7000000000000001e55Initial program 94.9%
Final simplification85.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -1.6e+42)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 2.7e+55)
(/
(+
t
(* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x))))))))
(+ i (* y (+ c (* y (+ (* y a) b))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.6e+42) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 2.7e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * ((y * a) + b)))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-1.6d+42)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 2.7d+55) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * ((y * a) + b)))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.6e+42) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 2.7e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * ((y * a) + b)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -1.6e+42: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 2.7e+55: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * ((y * a) + b))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.6e+42) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 2.7e+55) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * a) + b)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.6e+42) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 2.7e+55) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * ((y * a) + b))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -1.6e+42], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.7e+55], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(N[(y * a), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -1.6 \cdot 10^{+42}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 2.7 \cdot 10^{+55}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(y \cdot a + b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 2.69999999999999977e55 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -1.60000000000000001e42Initial program 4.8%
Taylor expanded in a around inf 4.7%
Taylor expanded in y around -inf 49.5%
associate-*r*49.5%
mul-1-neg49.5%
distribute-lft-out49.5%
associate-*r/49.5%
metadata-eval49.5%
Simplified49.5%
if -1.60000000000000001e42 < y < 2.69999999999999977e55Initial program 94.9%
Taylor expanded in y around 0 94.8%
Final simplification85.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -9.8e+154)
t_1
(if (<= y -6.2e+29)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 3.5e+55)
(/
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y z))))))
(+ i (* y (+ c (* y (+ b (* y (+ y a))))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -9.8e+154) {
tmp = t_1;
} else if (y <= -6.2e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 3.5e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-9.8d+154)) then
tmp = t_1
else if (y <= (-6.2d+29)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 3.5d+55) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))))) / (i + (y * (c + (y * (b + (y * (y + a)))))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -9.8e+154) {
tmp = t_1;
} else if (y <= -6.2e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 3.5e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -9.8e+154: tmp = t_1 elif y <= -6.2e+29: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 3.5e+55: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * (b + (y * (y + a))))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -9.8e+154) tmp = t_1; elseif (y <= -6.2e+29) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 3.5e+55) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -9.8e+154) tmp = t_1; elseif (y <= -6.2e+29) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 3.5e+55) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * (b + (y * (y + a))))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -9.8e+154], t$95$1, If[LessEqual[y, -6.2e+29], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.5e+55], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -9.8 \cdot 10^{+154}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -6.2 \cdot 10^{+29}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 3.5 \cdot 10^{+55}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -9.8000000000000003e154 or 3.5000000000000001e55 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -9.8000000000000003e154 < y < -6.1999999999999998e29Initial program 11.8%
Taylor expanded in a around inf 8.1%
Taylor expanded in y around -inf 49.6%
associate-*r*49.6%
mul-1-neg49.6%
distribute-lft-out49.6%
associate-*r/49.6%
metadata-eval49.6%
Simplified49.6%
if -6.1999999999999998e29 < y < 3.5000000000000001e55Initial program 94.8%
Taylor expanded in x around 0 89.7%
Final simplification82.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -8.8e+29)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 1.15e+55)
(/
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y z))))))
(+ i (* y (+ c (* y (+ (* y a) b))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -8.8e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 1.15e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * ((y * a) + b)))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-8.8d+29)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 1.15d+55) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))))) / (i + (y * (c + (y * ((y * a) + b)))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -8.8e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 1.15e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * ((y * a) + b)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -8.8e+29: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 1.15e+55: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * ((y * a) + b))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -8.8e+29) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 1.15e+55) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * a) + b)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -8.8e+29) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 1.15e+55) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * ((y * a) + b))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -8.8e+29], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.15e+55], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(N[(y * a), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -8.8 \cdot 10^{+29}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 1.15 \cdot 10^{+55}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot \left(y \cdot a + b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 1.14999999999999994e55 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -8.8000000000000005e29Initial program 11.8%
Taylor expanded in a around inf 8.1%
Taylor expanded in y around -inf 49.6%
associate-*r*49.6%
mul-1-neg49.6%
distribute-lft-out49.6%
associate-*r/49.6%
metadata-eval49.6%
Simplified49.6%
if -8.8000000000000005e29 < y < 1.14999999999999994e55Initial program 94.8%
Taylor expanded in y around 0 94.7%
Taylor expanded in x around 0 89.6%
Final simplification82.1%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -1e+42)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 4.85e+55)
(/
(+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y z))))))
(+ i (* y (+ c (* y b)))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1e+42) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 4.85e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * b))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-1d+42)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 4.85d+55) then
tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))))) / (i + (y * (c + (y * b))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1e+42) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 4.85e+55) {
tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * b))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -1e+42: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 4.85e+55: tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * b)))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1e+42) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 4.85e+55) tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))))) / Float64(i + Float64(y * Float64(c + Float64(y * b))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1e+42) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 4.85e+55) tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * (c + (y * b)))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -1e+42], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.85e+55], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -1 \cdot 10^{+42}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 4.85 \cdot 10^{+55}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 4.8500000000000003e55 < y Initial program 1.5%
Taylor expanded in y around inf 74.4%
associate-/l*80.6%
Simplified80.6%
if -3.6000000000000001e153 < y < -1.00000000000000004e42Initial program 4.8%
Taylor expanded in a around inf 4.7%
Taylor expanded in y around -inf 49.5%
associate-*r*49.5%
mul-1-neg49.5%
distribute-lft-out49.5%
associate-*r/49.5%
metadata-eval49.5%
Simplified49.5%
if -1.00000000000000004e42 < y < 4.8500000000000003e55Initial program 94.9%
Taylor expanded in y around 0 94.8%
Taylor expanded in x around 0 89.1%
Taylor expanded in a around 0 83.8%
*-commutative83.8%
Simplified83.8%
Final simplification79.3%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -1.15e+29)
(* y (+ (/ x a) (/ (+ (/ 27464.7644705 (* y a)) (/ z a)) y)))
(if (<= y 2.2e+15)
(/ (+ t (* y 230661.510616)) (+ i (* y (+ c (* y (+ (* y a) b))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.15e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 2.2e+15) {
tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b)))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-1.15d+29)) then
tmp = y * ((x / a) + (((27464.7644705d0 / (y * a)) + (z / a)) / y))
else if (y <= 2.2d+15) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * (c + (y * ((y * a) + b)))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.15e+29) {
tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y));
} else if (y <= 2.2e+15) {
tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -1.15e+29: tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)) elif y <= 2.2e+15: tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.15e+29) tmp = Float64(y * Float64(Float64(x / a) + Float64(Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(z / a)) / y))); elseif (y <= 2.2e+15) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * a) + b)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.15e+29) tmp = y * ((x / a) + (((27464.7644705 / (y * a)) + (z / a)) / y)); elseif (y <= 2.2e+15) tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -1.15e+29], N[(y * N[(N[(x / a), $MachinePrecision] + N[(N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(z / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.2e+15], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(N[(y * a), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -1.15 \cdot 10^{+29}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{\frac{27464.7644705}{y \cdot a} + \frac{z}{a}}{y}\right)\\
\mathbf{elif}\;y \leq 2.2 \cdot 10^{+15}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot \left(y \cdot a + b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 2.2e15 < y Initial program 4.5%
Taylor expanded in y around inf 69.7%
associate-/l*75.4%
Simplified75.4%
if -3.6000000000000001e153 < y < -1.1500000000000001e29Initial program 11.8%
Taylor expanded in a around inf 8.1%
Taylor expanded in y around -inf 49.6%
associate-*r*49.6%
mul-1-neg49.6%
distribute-lft-out49.6%
associate-*r/49.6%
metadata-eval49.6%
Simplified49.6%
if -1.1500000000000001e29 < y < 2.2e15Initial program 98.2%
Taylor expanded in y around 0 98.2%
Taylor expanded in y around 0 85.5%
*-commutative85.5%
Simplified85.5%
Final simplification77.7%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -1.7e+29)
(* x (/ y a))
(if (<= y 2.6e+15)
(/ (+ t (* y 230661.510616)) (+ i (* y (+ c (* y (+ (* y a) b))))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.7e+29) {
tmp = x * (y / a);
} else if (y <= 2.6e+15) {
tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b)))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-1.7d+29)) then
tmp = x * (y / a)
else if (y <= 2.6d+15) then
tmp = (t + (y * 230661.510616d0)) / (i + (y * (c + (y * ((y * a) + b)))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.7e+29) {
tmp = x * (y / a);
} else if (y <= 2.6e+15) {
tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -1.7e+29: tmp = x * (y / a) elif y <= 2.6e+15: tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.7e+29) tmp = Float64(x * Float64(y / a)); elseif (y <= 2.6e+15) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * a) + b)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.7e+29) tmp = x * (y / a); elseif (y <= 2.6e+15) tmp = (t + (y * 230661.510616)) / (i + (y * (c + (y * ((y * a) + b))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -1.7e+29], N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.6e+15], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(N[(y * a), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -1.7 \cdot 10^{+29}:\\
\;\;\;\;x \cdot \frac{y}{a}\\
\mathbf{elif}\;y \leq 2.6 \cdot 10^{+15}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot \left(y \cdot a + b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 2.6e15 < y Initial program 4.5%
Taylor expanded in y around inf 69.7%
associate-/l*75.4%
Simplified75.4%
if -3.6000000000000001e153 < y < -1.69999999999999991e29Initial program 11.8%
Taylor expanded in a around inf 8.1%
Taylor expanded in y around inf 39.1%
associate-/l*42.8%
Simplified42.8%
if -1.69999999999999991e29 < y < 2.6e15Initial program 98.2%
Taylor expanded in y around 0 98.2%
Taylor expanded in y around 0 85.5%
*-commutative85.5%
Simplified85.5%
Final simplification77.0%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -1.6e+29)
(* x (/ y a))
(if (<= y 2e+15) (/ t (+ i (* y (+ c (* y (+ (* y a) b)))))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.6e+29) {
tmp = x * (y / a);
} else if (y <= 2e+15) {
tmp = t / (i + (y * (c + (y * ((y * a) + b)))));
} 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-1.6d+29)) then
tmp = x * (y / a)
else if (y <= 2d+15) then
tmp = t / (i + (y * (c + (y * ((y * a) + b)))))
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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -1.6e+29) {
tmp = x * (y / a);
} else if (y <= 2e+15) {
tmp = t / (i + (y * (c + (y * ((y * a) + b)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -1.6e+29: tmp = x * (y / a) elif y <= 2e+15: tmp = t / (i + (y * (c + (y * ((y * a) + b))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.6e+29) tmp = Float64(x * Float64(y / a)); elseif (y <= 2e+15) tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * a) + b)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -1.6e+29) tmp = x * (y / a); elseif (y <= 2e+15) tmp = t / (i + (y * (c + (y * ((y * a) + b))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -1.6e+29], N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2e+15], N[(t / N[(i + N[(y * N[(c + N[(y * N[(N[(y * a), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -1.6 \cdot 10^{+29}:\\
\;\;\;\;x \cdot \frac{y}{a}\\
\mathbf{elif}\;y \leq 2 \cdot 10^{+15}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(y \cdot a + b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 2e15 < y Initial program 4.5%
Taylor expanded in y around inf 69.7%
associate-/l*75.4%
Simplified75.4%
if -3.6000000000000001e153 < y < -1.59999999999999993e29Initial program 11.8%
Taylor expanded in a around inf 8.1%
Taylor expanded in y around inf 39.1%
associate-/l*42.8%
Simplified42.8%
if -1.59999999999999993e29 < y < 2e15Initial program 98.2%
Taylor expanded in y around 0 98.2%
Taylor expanded in t around inf 69.9%
Final simplification69.2%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (- (+ x (/ z y)) (* a (/ x y)))))
(if (<= y -3.6e+153)
t_1
(if (<= y -2.45e-23)
(* y (+ (/ x a) (/ z (* y a))))
(if (<= y 1.5) (/ (+ t (* y 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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -2.45e-23) {
tmp = y * ((x / a) + (z / (y * a)));
} else if (y <= 1.5) {
tmp = (t + (y * 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 = (x + (z / y)) - (a * (x / y))
if (y <= (-3.6d+153)) then
tmp = t_1
else if (y <= (-2.45d-23)) then
tmp = y * ((x / a) + (z / (y * a)))
else if (y <= 1.5d0) then
tmp = (t + (y * 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 = (x + (z / y)) - (a * (x / y));
double tmp;
if (y <= -3.6e+153) {
tmp = t_1;
} else if (y <= -2.45e-23) {
tmp = y * ((x / a) + (z / (y * a)));
} else if (y <= 1.5) {
tmp = (t + (y * 230661.510616)) / i;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = (x + (z / y)) - (a * (x / y)) tmp = 0 if y <= -3.6e+153: tmp = t_1 elif y <= -2.45e-23: tmp = y * ((x / a) + (z / (y * a))) elif y <= 1.5: tmp = (t + (y * 230661.510616)) / i else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(x + Float64(z / y)) - Float64(a * Float64(x / y))) tmp = 0.0 if (y <= -3.6e+153) tmp = t_1; elseif (y <= -2.45e-23) tmp = Float64(y * Float64(Float64(x / a) + Float64(z / Float64(y * a)))); elseif (y <= 1.5) tmp = Float64(Float64(t + Float64(y * 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 = (x + (z / y)) - (a * (x / y)); tmp = 0.0; if (y <= -3.6e+153) tmp = t_1; elseif (y <= -2.45e-23) tmp = y * ((x / a) + (z / (y * a))); elseif (y <= 1.5) tmp = (t + (y * 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[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.6e+153], t$95$1, If[LessEqual[y, -2.45e-23], N[(y * N[(N[(x / a), $MachinePrecision] + N[(z / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.5], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / i), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - a \cdot \frac{x}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -2.45 \cdot 10^{-23}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{z}{y \cdot a}\right)\\
\mathbf{elif}\;y \leq 1.5:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.6000000000000001e153 or 1.5 < y Initial program 6.4%
Taylor expanded in y around inf 68.4%
associate-/l*74.0%
Simplified74.0%
if -3.6000000000000001e153 < y < -2.4499999999999999e-23Initial program 30.5%
Taylor expanded in a around inf 12.1%
Taylor expanded in y around inf 34.5%
if -2.4499999999999999e-23 < y < 1.5Initial program 99.7%
Taylor expanded in i around inf 65.6%
Taylor expanded in x around 0 64.8%
Taylor expanded in y around 0 63.2%
*-commutative63.2%
Simplified63.2%
Final simplification63.4%
(FPCore (x y z t a b c i)
:precision binary64
(if (<= y -4.4e+164)
x
(if (<= y -2.3e-22)
(* y (+ (/ x a) (/ z (* y a))))
(if (<= y 4.3e-8)
(/ (+ t (* y 230661.510616)) i)
(if (<= y 1.25e+130) (* x (/ y a)) x)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double tmp;
if (y <= -4.4e+164) {
tmp = x;
} else if (y <= -2.3e-22) {
tmp = y * ((x / a) + (z / (y * a)));
} else if (y <= 4.3e-8) {
tmp = (t + (y * 230661.510616)) / i;
} else if (y <= 1.25e+130) {
tmp = x * (y / a);
} 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.4d+164)) then
tmp = x
else if (y <= (-2.3d-22)) then
tmp = y * ((x / a) + (z / (y * a)))
else if (y <= 4.3d-8) then
tmp = (t + (y * 230661.510616d0)) / i
else if (y <= 1.25d+130) then
tmp = x * (y / a)
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.4e+164) {
tmp = x;
} else if (y <= -2.3e-22) {
tmp = y * ((x / a) + (z / (y * a)));
} else if (y <= 4.3e-8) {
tmp = (t + (y * 230661.510616)) / i;
} else if (y <= 1.25e+130) {
tmp = x * (y / a);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -4.4e+164: tmp = x elif y <= -2.3e-22: tmp = y * ((x / a) + (z / (y * a))) elif y <= 4.3e-8: tmp = (t + (y * 230661.510616)) / i elif y <= 1.25e+130: tmp = x * (y / a) else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -4.4e+164) tmp = x; elseif (y <= -2.3e-22) tmp = Float64(y * Float64(Float64(x / a) + Float64(z / Float64(y * a)))); elseif (y <= 4.3e-8) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / i); elseif (y <= 1.25e+130) tmp = Float64(x * Float64(y / a)); 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.4e+164) tmp = x; elseif (y <= -2.3e-22) tmp = y * ((x / a) + (z / (y * a))); elseif (y <= 4.3e-8) tmp = (t + (y * 230661.510616)) / i; elseif (y <= 1.25e+130) tmp = x * (y / a); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -4.4e+164], x, If[LessEqual[y, -2.3e-22], N[(y * N[(N[(x / a), $MachinePrecision] + N[(z / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.3e-8], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / i), $MachinePrecision], If[LessEqual[y, 1.25e+130], N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision], x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.4 \cdot 10^{+164}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-22}:\\
\;\;\;\;y \cdot \left(\frac{x}{a} + \frac{z}{y \cdot a}\right)\\
\mathbf{elif}\;y \leq 4.3 \cdot 10^{-8}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i}\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{+130}:\\
\;\;\;\;x \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -4.40000000000000011e164 or 1.2499999999999999e130 < y Initial program 0.1%
Taylor expanded in y around inf 65.6%
if -4.40000000000000011e164 < y < -2.2999999999999998e-22Initial program 29.7%
Taylor expanded in a around inf 11.7%
Taylor expanded in y around inf 33.7%
if -2.2999999999999998e-22 < y < 4.3000000000000001e-8Initial program 99.7%
Taylor expanded in i around inf 66.1%
Taylor expanded in x around 0 65.3%
Taylor expanded in y around 0 63.8%
*-commutative63.8%
Simplified63.8%
if 4.3000000000000001e-8 < y < 1.2499999999999999e130Initial program 28.7%
Taylor expanded in a around inf 13.5%
Taylor expanded in y around inf 26.2%
associate-/l*36.9%
Simplified36.9%
Final simplification57.1%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (* x (/ y a))))
(if (<= y -2.6e+168)
x
(if (<= y -4.7e-35)
t_1
(if (<= y 5e-8)
(/ (+ t (* y 230661.510616)) i)
(if (<= y 2.05e+130) t_1 x))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = x * (y / a);
double tmp;
if (y <= -2.6e+168) {
tmp = x;
} else if (y <= -4.7e-35) {
tmp = t_1;
} else if (y <= 5e-8) {
tmp = (t + (y * 230661.510616)) / i;
} else if (y <= 2.05e+130) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = x * (y / a)
if (y <= (-2.6d+168)) then
tmp = x
else if (y <= (-4.7d-35)) then
tmp = t_1
else if (y <= 5d-8) then
tmp = (t + (y * 230661.510616d0)) / i
else if (y <= 2.05d+130) then
tmp = t_1
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 t_1 = x * (y / a);
double tmp;
if (y <= -2.6e+168) {
tmp = x;
} else if (y <= -4.7e-35) {
tmp = t_1;
} else if (y <= 5e-8) {
tmp = (t + (y * 230661.510616)) / i;
} else if (y <= 2.05e+130) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = x * (y / a) tmp = 0 if y <= -2.6e+168: tmp = x elif y <= -4.7e-35: tmp = t_1 elif y <= 5e-8: tmp = (t + (y * 230661.510616)) / i elif y <= 2.05e+130: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(x * Float64(y / a)) tmp = 0.0 if (y <= -2.6e+168) tmp = x; elseif (y <= -4.7e-35) tmp = t_1; elseif (y <= 5e-8) tmp = Float64(Float64(t + Float64(y * 230661.510616)) / i); elseif (y <= 2.05e+130) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = x * (y / a); tmp = 0.0; if (y <= -2.6e+168) tmp = x; elseif (y <= -4.7e-35) tmp = t_1; elseif (y <= 5e-8) tmp = (t + (y * 230661.510616)) / i; elseif (y <= 2.05e+130) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.6e+168], x, If[LessEqual[y, -4.7e-35], t$95$1, If[LessEqual[y, 5e-8], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / i), $MachinePrecision], If[LessEqual[y, 2.05e+130], t$95$1, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{a}\\
\mathbf{if}\;y \leq -2.6 \cdot 10^{+168}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -4.7 \cdot 10^{-35}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 5 \cdot 10^{-8}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i}\\
\mathbf{elif}\;y \leq 2.05 \cdot 10^{+130}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -2.6e168 or 2.04999999999999989e130 < y Initial program 0.1%
Taylor expanded in y around inf 66.5%
if -2.6e168 < y < -4.7e-35 or 4.9999999999999998e-8 < y < 2.04999999999999989e130Initial program 31.9%
Taylor expanded in a around inf 11.8%
Taylor expanded in y around inf 26.3%
associate-/l*31.9%
Simplified31.9%
if -4.7e-35 < y < 4.9999999999999998e-8Initial program 99.7%
Taylor expanded in i around inf 66.1%
Taylor expanded in x around 0 66.1%
Taylor expanded in y around 0 65.4%
*-commutative65.4%
Simplified65.4%
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (* x (/ y a))))
(if (<= y -2.6e+168)
x
(if (<= y -1.14e+24)
t_1
(if (<= y 8e-11) (/ t i) (if (<= y 1.75e+130) t_1 x))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = x * (y / a);
double tmp;
if (y <= -2.6e+168) {
tmp = x;
} else if (y <= -1.14e+24) {
tmp = t_1;
} else if (y <= 8e-11) {
tmp = t / i;
} else if (y <= 1.75e+130) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = x * (y / a)
if (y <= (-2.6d+168)) then
tmp = x
else if (y <= (-1.14d+24)) then
tmp = t_1
else if (y <= 8d-11) then
tmp = t / i
else if (y <= 1.75d+130) then
tmp = t_1
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 t_1 = x * (y / a);
double tmp;
if (y <= -2.6e+168) {
tmp = x;
} else if (y <= -1.14e+24) {
tmp = t_1;
} else if (y <= 8e-11) {
tmp = t / i;
} else if (y <= 1.75e+130) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): t_1 = x * (y / a) tmp = 0 if y <= -2.6e+168: tmp = x elif y <= -1.14e+24: tmp = t_1 elif y <= 8e-11: tmp = t / i elif y <= 1.75e+130: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) t_1 = Float64(x * Float64(y / a)) tmp = 0.0 if (y <= -2.6e+168) tmp = x; elseif (y <= -1.14e+24) tmp = t_1; elseif (y <= 8e-11) tmp = Float64(t / i); elseif (y <= 1.75e+130) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i) t_1 = x * (y / a); tmp = 0.0; if (y <= -2.6e+168) tmp = x; elseif (y <= -1.14e+24) tmp = t_1; elseif (y <= 8e-11) tmp = t / i; elseif (y <= 1.75e+130) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.6e+168], x, If[LessEqual[y, -1.14e+24], t$95$1, If[LessEqual[y, 8e-11], N[(t / i), $MachinePrecision], If[LessEqual[y, 1.75e+130], t$95$1, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{a}\\
\mathbf{if}\;y \leq -2.6 \cdot 10^{+168}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -1.14 \cdot 10^{+24}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 8 \cdot 10^{-11}:\\
\;\;\;\;\frac{t}{i}\\
\mathbf{elif}\;y \leq 1.75 \cdot 10^{+130}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -2.6e168 or 1.75e130 < y Initial program 0.1%
Taylor expanded in y around inf 66.5%
if -2.6e168 < y < -1.14e24 or 7.99999999999999952e-11 < y < 1.75e130Initial program 19.1%
Taylor expanded in a around inf 10.2%
Taylor expanded in y around inf 31.1%
associate-/l*37.9%
Simplified37.9%
if -1.14e24 < y < 7.99999999999999952e-11Initial program 99.0%
Taylor expanded in y around 0 50.8%
(FPCore (x y z t a b c i) :precision binary64 (if (<= y -1.05e+33) x (if (<= y 115000.0) (/ 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.05e+33) {
tmp = x;
} else if (y <= 115000.0) {
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.05d+33)) then
tmp = x
else if (y <= 115000.0d0) 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.05e+33) {
tmp = x;
} else if (y <= 115000.0) {
tmp = t / i;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i): tmp = 0 if y <= -1.05e+33: tmp = x elif y <= 115000.0: tmp = t / i else: tmp = x return tmp
function code(x, y, z, t, a, b, c, i) tmp = 0.0 if (y <= -1.05e+33) tmp = x; elseif (y <= 115000.0) 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.05e+33) tmp = x; elseif (y <= 115000.0) tmp = t / i; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -1.05e+33], x, If[LessEqual[y, 115000.0], N[(t / i), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.05 \cdot 10^{+33}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq 115000:\\
\;\;\;\;\frac{t}{i}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if y < -1.05e33 or 115000 < y Initial program 6.8%
Taylor expanded in y around inf 45.1%
if -1.05e33 < y < 115000Initial program 98.2%
Taylor expanded in y around 0 49.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 52.1%
Taylor expanded in y around inf 24.6%
herbie shell --seed 2024180
(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)))