
(FPCore (x y z t a b) :precision binary64 (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
real(8) function code(x, y, z, t, a, b)
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
code = x * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - z)) - b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
def code(x, y, z, t, a, b): return x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b))))
function code(x, y, z, t, a, b) return Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b))))) end
function tmp = code(x, y, z, t, a, b) tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b)))); end
code[x_, y_, z_, t_, a_, b_] := N[(x * N[Exp[N[(N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 30 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
real(8) function code(x, y, z, t, a, b)
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
code = x * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - z)) - b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
def code(x, y, z, t, a, b): return x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b))))
function code(x, y, z, t, a, b) return Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b))))) end
function tmp = code(x, y, z, t, a, b) tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b)))); end
code[x_, y_, z_, t_, a_, b_] := N[(x * N[Exp[N[(N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\end{array}
(FPCore (x y z t a b) :precision binary64 (/ x (exp (+ (* y (- t (log z))) (* a (+ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x / exp(((y * (t - log(z))) + (a * (z + b))));
}
real(8) function code(x, y, z, t, a, b)
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
code = x / exp(((y * (t - log(z))) + (a * (z + b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x / Math.exp(((y * (t - Math.log(z))) + (a * (z + b))));
}
def code(x, y, z, t, a, b): return x / math.exp(((y * (t - math.log(z))) + (a * (z + b))))
function code(x, y, z, t, a, b) return Float64(x / exp(Float64(Float64(y * Float64(t - log(z))) + Float64(a * Float64(z + b))))) end
function tmp = code(x, y, z, t, a, b) tmp = x / exp(((y * (t - log(z))) + (a * (z + b)))); end
code[x_, y_, z_, t_, a_, b_] := N[(x / N[Exp[N[(N[(y * N[(t - N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(z + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{e^{y \cdot \left(t - \log z\right) + a \cdot \left(z + b\right)}}
\end{array}
Initial program 96.2%
Simplified96.2%
Taylor expanded in z around 0
associate-+r+N/A
+-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f64N/A
distribute-lft-outN/A
*-lowering-*.f64N/A
+-lowering-+.f64100.0%
Simplified100.0%
Final simplification100.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* y (- t (log z)))))))
(if (<= y -2.5e-56)
t_1
(if (<= y 4.4e-120) (/ x (exp (* a (- b (log (- 1.0 z)))))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / exp((y * (t - log(z))));
double tmp;
if (y <= -2.5e-56) {
tmp = t_1;
} else if (y <= 4.4e-120) {
tmp = x / exp((a * (b - log((1.0 - z)))));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x / exp((y * (t - log(z))))
if (y <= (-2.5d-56)) then
tmp = t_1
else if (y <= 4.4d-120) then
tmp = x / exp((a * (b - log((1.0d0 - z)))))
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 t_1 = x / Math.exp((y * (t - Math.log(z))));
double tmp;
if (y <= -2.5e-56) {
tmp = t_1;
} else if (y <= 4.4e-120) {
tmp = x / Math.exp((a * (b - Math.log((1.0 - z)))));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / math.exp((y * (t - math.log(z)))) tmp = 0 if y <= -2.5e-56: tmp = t_1 elif y <= 4.4e-120: tmp = x / math.exp((a * (b - math.log((1.0 - z))))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / exp(Float64(y * Float64(t - log(z))))) tmp = 0.0 if (y <= -2.5e-56) tmp = t_1; elseif (y <= 4.4e-120) tmp = Float64(x / exp(Float64(a * Float64(b - log(Float64(1.0 - z)))))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / exp((y * (t - log(z)))); tmp = 0.0; if (y <= -2.5e-56) tmp = t_1; elseif (y <= 4.4e-120) tmp = x / exp((a * (b - log((1.0 - z))))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[Exp[N[(y * N[(t - N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.5e-56], t$95$1, If[LessEqual[y, 4.4e-120], N[(x / N[Exp[N[(a * N[(b - N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{e^{y \cdot \left(t - \log z\right)}}\\
\mathbf{if}\;y \leq -2.5 \cdot 10^{-56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 4.4 \cdot 10^{-120}:\\
\;\;\;\;\frac{x}{e^{a \cdot \left(b - \log \left(1 - z\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.49999999999999999e-56 or 4.40000000000000025e-120 < y Initial program 98.0%
Simplified98.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
if -2.49999999999999999e-56 < y < 4.40000000000000025e-120Initial program 93.4%
Simplified93.4%
Taylor expanded in y around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f64N/A
--lowering--.f6483.3%
Simplified83.3%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (/ x (exp (* y (- t (log z))))))) (if (<= y -6.5e-56) t_1 (if (<= y 6.5e-120) (/ x (exp (* a b))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / exp((y * (t - log(z))));
double tmp;
if (y <= -6.5e-56) {
tmp = t_1;
} else if (y <= 6.5e-120) {
tmp = x / exp((a * b));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x / exp((y * (t - log(z))))
if (y <= (-6.5d-56)) then
tmp = t_1
else if (y <= 6.5d-120) then
tmp = x / exp((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 t_1 = x / Math.exp((y * (t - Math.log(z))));
double tmp;
if (y <= -6.5e-56) {
tmp = t_1;
} else if (y <= 6.5e-120) {
tmp = x / Math.exp((a * b));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / math.exp((y * (t - math.log(z)))) tmp = 0 if y <= -6.5e-56: tmp = t_1 elif y <= 6.5e-120: tmp = x / math.exp((a * b)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / exp(Float64(y * Float64(t - log(z))))) tmp = 0.0 if (y <= -6.5e-56) tmp = t_1; elseif (y <= 6.5e-120) tmp = Float64(x / exp(Float64(a * b))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / exp((y * (t - log(z)))); tmp = 0.0; if (y <= -6.5e-56) tmp = t_1; elseif (y <= 6.5e-120) tmp = x / exp((a * b)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[Exp[N[(y * N[(t - N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.5e-56], t$95$1, If[LessEqual[y, 6.5e-120], N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{e^{y \cdot \left(t - \log z\right)}}\\
\mathbf{if}\;y \leq -6.5 \cdot 10^{-56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{-120}:\\
\;\;\;\;\frac{x}{e^{a \cdot b}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -6.4999999999999997e-56 or 6.50000000000000029e-120 < y Initial program 98.0%
Simplified98.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
if -6.4999999999999997e-56 < y < 6.50000000000000029e-120Initial program 93.4%
Simplified93.4%
Taylor expanded in b around inf
*-lowering-*.f6482.4%
Simplified82.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* 0.5 (* a a))) (t_2 (* x (pow z y))) (t_3 (* (* t t) 0.5)))
(if (<= y -8.2e+174)
t_2
(if (<= y -4.5e+76)
(/
x
(+
(* y (+ t (* y (+ (* 0.16666666666666666 (* y (* t (* t t)))) t_3))))
1.0))
(if (<= y -2400.0)
t_2
(if (<= y -2.5e-200)
(/
x
(+
(*
b
(+ a (* b (+ (* 0.16666666666666666 (* b (* a (* a a)))) t_1))))
1.0))
(if (<= y 1.65e-133)
(+ x (* b (- (* b (* x t_1)) (* x a))))
(if (<= y 2.5e-12)
(* (* y y) (+ (* x t_3) (/ (- (/ x y) (* x t)) y)))
(if (<= y 6.8e+282)
t_2
(+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y)))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double t_2 = x * pow(z, y);
double t_3 = (t * t) * 0.5;
double tmp;
if (y <= -8.2e+174) {
tmp = t_2;
} else if (y <= -4.5e+76) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_3)))) + 1.0);
} else if (y <= -2400.0) {
tmp = t_2;
} else if (y <= -2.5e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0);
} else if (y <= 1.65e-133) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 2.5e-12) {
tmp = (y * y) * ((x * t_3) + (((x / y) - (x * t)) / y));
} else if (y <= 6.8e+282) {
tmp = t_2;
} else {
tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = 0.5d0 * (a * a)
t_2 = x * (z ** y)
t_3 = (t * t) * 0.5d0
if (y <= (-8.2d+174)) then
tmp = t_2
else if (y <= (-4.5d+76)) then
tmp = x / ((y * (t + (y * ((0.16666666666666666d0 * (y * (t * (t * t)))) + t_3)))) + 1.0d0)
else if (y <= (-2400.0d0)) then
tmp = t_2
else if (y <= (-2.5d-200)) then
tmp = x / ((b * (a + (b * ((0.16666666666666666d0 * (b * (a * (a * a)))) + t_1)))) + 1.0d0)
else if (y <= 1.65d-133) then
tmp = x + (b * ((b * (x * t_1)) - (x * a)))
else if (y <= 2.5d-12) then
tmp = (y * y) * ((x * t_3) + (((x / y) - (x * t)) / y))
else if (y <= 6.8d+282) then
tmp = t_2
else
tmp = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double t_2 = x * Math.pow(z, y);
double t_3 = (t * t) * 0.5;
double tmp;
if (y <= -8.2e+174) {
tmp = t_2;
} else if (y <= -4.5e+76) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_3)))) + 1.0);
} else if (y <= -2400.0) {
tmp = t_2;
} else if (y <= -2.5e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0);
} else if (y <= 1.65e-133) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 2.5e-12) {
tmp = (y * y) * ((x * t_3) + (((x / y) - (x * t)) / y));
} else if (y <= 6.8e+282) {
tmp = t_2;
} else {
tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (a * a) t_2 = x * math.pow(z, y) t_3 = (t * t) * 0.5 tmp = 0 if y <= -8.2e+174: tmp = t_2 elif y <= -4.5e+76: tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_3)))) + 1.0) elif y <= -2400.0: tmp = t_2 elif y <= -2.5e-200: tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0) elif y <= 1.65e-133: tmp = x + (b * ((b * (x * t_1)) - (x * a))) elif y <= 2.5e-12: tmp = (y * y) * ((x * t_3) + (((x / y) - (x * t)) / y)) elif y <= 6.8e+282: tmp = t_2 else: tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(a * a)) t_2 = Float64(x * (z ^ y)) t_3 = Float64(Float64(t * t) * 0.5) tmp = 0.0 if (y <= -8.2e+174) tmp = t_2; elseif (y <= -4.5e+76) tmp = Float64(x / Float64(Float64(y * Float64(t + Float64(y * Float64(Float64(0.16666666666666666 * Float64(y * Float64(t * Float64(t * t)))) + t_3)))) + 1.0)); elseif (y <= -2400.0) tmp = t_2; elseif (y <= -2.5e-200) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * Float64(Float64(0.16666666666666666 * Float64(b * Float64(a * Float64(a * a)))) + t_1)))) + 1.0)); elseif (y <= 1.65e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_1)) - Float64(x * a)))); elseif (y <= 2.5e-12) tmp = Float64(Float64(y * y) * Float64(Float64(x * t_3) + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 6.8e+282) tmp = t_2; else tmp = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (a * a); t_2 = x * (z ^ y); t_3 = (t * t) * 0.5; tmp = 0.0; if (y <= -8.2e+174) tmp = t_2; elseif (y <= -4.5e+76) tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_3)))) + 1.0); elseif (y <= -2400.0) tmp = t_2; elseif (y <= -2.5e-200) tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0); elseif (y <= 1.65e-133) tmp = x + (b * ((b * (x * t_1)) - (x * a))); elseif (y <= 2.5e-12) tmp = (y * y) * ((x * t_3) + (((x / y) - (x * t)) / y)); elseif (y <= 6.8e+282) tmp = t_2; else tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]}, If[LessEqual[y, -8.2e+174], t$95$2, If[LessEqual[y, -4.5e+76], N[(x / N[(N[(y * N[(t + N[(y * N[(N[(0.16666666666666666 * N[(y * N[(t * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2400.0], t$95$2, If[LessEqual[y, -2.5e-200], N[(x / N[(N[(b * N[(a + N[(b * N[(N[(0.16666666666666666 * N[(b * N[(a * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.65e-133], N[(x + N[(b * N[(N[(b * N[(x * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.5e-12], N[(N[(y * y), $MachinePrecision] * N[(N[(x * t$95$3), $MachinePrecision] + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.8e+282], t$95$2, N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(a \cdot a\right)\\
t_2 := x \cdot {z}^{y}\\
t_3 := \left(t \cdot t\right) \cdot 0.5\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+174}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -4.5 \cdot 10^{+76}:\\
\;\;\;\;\frac{x}{y \cdot \left(t + y \cdot \left(0.16666666666666666 \cdot \left(y \cdot \left(t \cdot \left(t \cdot t\right)\right)\right) + t\_3\right)\right) + 1}\\
\mathbf{elif}\;y \leq -2400:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -2.5 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot \left(0.16666666666666666 \cdot \left(b \cdot \left(a \cdot \left(a \cdot a\right)\right)\right) + t\_1\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.65 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_1\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 2.5 \cdot 10^{-12}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(x \cdot t\_3 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 6.8 \cdot 10^{+282}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\end{array}
\end{array}
if y < -8.20000000000000061e174 or -4.4999999999999997e76 < y < -2400 or 2.49999999999999985e-12 < y < 6.80000000000000048e282Initial program 98.9%
Simplified99.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6489.6%
Simplified89.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
mul-1-negN/A
exp-negN/A
/-lowering-/.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f6474.1%
Simplified74.1%
associate-/r/N/A
/-rgt-identityN/A
*-commutativeN/A
*-lowering-*.f64N/A
pow-lowering-pow.f6474.1%
Applied egg-rr74.1%
if -8.20000000000000061e174 < y < -4.4999999999999997e76Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.8%
Simplified82.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6477.3%
Simplified77.3%
if -2400 < y < -2.49999999999999996e-200Initial program 91.8%
Simplified91.8%
Taylor expanded in b around inf
*-lowering-*.f6461.1%
Simplified61.1%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.6%
Simplified54.6%
if -2.49999999999999996e-200 < y < 1.65000000000000005e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.65000000000000005e-133 < y < 2.49999999999999985e-12Initial program 96.1%
Simplified96.1%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6467.3%
Simplified67.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified59.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified66.7%
if 6.80000000000000048e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f64100.0%
Simplified100.0%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified100.0%
Final simplification68.7%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* x (pow z y))))
(if (<= y -8.2e+174)
t_1
(if (<= y -5.2e+76)
(/
x
(+
(*
y
(+
t
(*
y
(+ (* 0.16666666666666666 (* y (* t (* t t)))) (* (* t t) 0.5)))))
1.0))
(if (<= y -2500.0)
t_1
(if (<= y 9e-23)
(/ x (exp (* a b)))
(if (<= y 7.2e+282)
t_1
(+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * pow(z, y);
double tmp;
if (y <= -8.2e+174) {
tmp = t_1;
} else if (y <= -5.2e+76) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + ((t * t) * 0.5))))) + 1.0);
} else if (y <= -2500.0) {
tmp = t_1;
} else if (y <= 9e-23) {
tmp = x / exp((a * b));
} else if (y <= 7.2e+282) {
tmp = t_1;
} else {
tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x * (z ** y)
if (y <= (-8.2d+174)) then
tmp = t_1
else if (y <= (-5.2d+76)) then
tmp = x / ((y * (t + (y * ((0.16666666666666666d0 * (y * (t * (t * t)))) + ((t * t) * 0.5d0))))) + 1.0d0)
else if (y <= (-2500.0d0)) then
tmp = t_1
else if (y <= 9d-23) then
tmp = x / exp((a * b))
else if (y <= 7.2d+282) then
tmp = t_1
else
tmp = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * Math.pow(z, y);
double tmp;
if (y <= -8.2e+174) {
tmp = t_1;
} else if (y <= -5.2e+76) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + ((t * t) * 0.5))))) + 1.0);
} else if (y <= -2500.0) {
tmp = t_1;
} else if (y <= 9e-23) {
tmp = x / Math.exp((a * b));
} else if (y <= 7.2e+282) {
tmp = t_1;
} else {
tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * math.pow(z, y) tmp = 0 if y <= -8.2e+174: tmp = t_1 elif y <= -5.2e+76: tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + ((t * t) * 0.5))))) + 1.0) elif y <= -2500.0: tmp = t_1 elif y <= 9e-23: tmp = x / math.exp((a * b)) elif y <= 7.2e+282: tmp = t_1 else: tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * (z ^ y)) tmp = 0.0 if (y <= -8.2e+174) tmp = t_1; elseif (y <= -5.2e+76) tmp = Float64(x / Float64(Float64(y * Float64(t + Float64(y * Float64(Float64(0.16666666666666666 * Float64(y * Float64(t * Float64(t * t)))) + Float64(Float64(t * t) * 0.5))))) + 1.0)); elseif (y <= -2500.0) tmp = t_1; elseif (y <= 9e-23) tmp = Float64(x / exp(Float64(a * b))); elseif (y <= 7.2e+282) tmp = t_1; else tmp = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (z ^ y); tmp = 0.0; if (y <= -8.2e+174) tmp = t_1; elseif (y <= -5.2e+76) tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + ((t * t) * 0.5))))) + 1.0); elseif (y <= -2500.0) tmp = t_1; elseif (y <= 9e-23) tmp = x / exp((a * b)); elseif (y <= 7.2e+282) tmp = t_1; else tmp = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+174], t$95$1, If[LessEqual[y, -5.2e+76], N[(x / N[(N[(y * N[(t + N[(y * N[(N[(0.16666666666666666 * N[(y * N[(t * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2500.0], t$95$1, If[LessEqual[y, 9e-23], N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+282], t$95$1, N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot {z}^{y}\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+174}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -5.2 \cdot 10^{+76}:\\
\;\;\;\;\frac{x}{y \cdot \left(t + y \cdot \left(0.16666666666666666 \cdot \left(y \cdot \left(t \cdot \left(t \cdot t\right)\right)\right) + \left(t \cdot t\right) \cdot 0.5\right)\right) + 1}\\
\mathbf{elif}\;y \leq -2500:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 9 \cdot 10^{-23}:\\
\;\;\;\;\frac{x}{e^{a \cdot b}}\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+282}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\end{array}
\end{array}
if y < -8.20000000000000061e174 or -5.1999999999999999e76 < y < -2500 or 8.9999999999999995e-23 < y < 7.19999999999999972e282Initial program 98.0%
Simplified98.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6488.8%
Simplified88.8%
Taylor expanded in t around 0
/-lowering-/.f64N/A
mul-1-negN/A
exp-negN/A
/-lowering-/.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f6472.6%
Simplified72.6%
associate-/r/N/A
/-rgt-identityN/A
*-commutativeN/A
*-lowering-*.f64N/A
pow-lowering-pow.f6472.6%
Applied egg-rr72.6%
if -8.20000000000000061e174 < y < -5.1999999999999999e76Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.8%
Simplified82.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6477.3%
Simplified77.3%
if -2500 < y < 8.9999999999999995e-23Initial program 94.2%
Simplified94.2%
Taylor expanded in b around inf
*-lowering-*.f6475.6%
Simplified75.6%
if 7.19999999999999972e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f64100.0%
Simplified100.0%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified100.0%
Final simplification75.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* a b)))) (t_2 (/ x (exp (* y t)))))
(if (<= t -4800.0)
t_2
(if (<= t -4.8e-206)
t_1
(if (<= t 1.55e-57)
(/ x (/ 1.0 (pow z y)))
(if (<= t 1.55e+77) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / exp((a * b));
double t_2 = x / exp((y * t));
double tmp;
if (t <= -4800.0) {
tmp = t_2;
} else if (t <= -4.8e-206) {
tmp = t_1;
} else if (t <= 1.55e-57) {
tmp = x / (1.0 / pow(z, y));
} else if (t <= 1.55e+77) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x / exp((a * b))
t_2 = x / exp((y * t))
if (t <= (-4800.0d0)) then
tmp = t_2
else if (t <= (-4.8d-206)) then
tmp = t_1
else if (t <= 1.55d-57) then
tmp = x / (1.0d0 / (z ** y))
else if (t <= 1.55d+77) then
tmp = 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 t_1 = x / Math.exp((a * b));
double t_2 = x / Math.exp((y * t));
double tmp;
if (t <= -4800.0) {
tmp = t_2;
} else if (t <= -4.8e-206) {
tmp = t_1;
} else if (t <= 1.55e-57) {
tmp = x / (1.0 / Math.pow(z, y));
} else if (t <= 1.55e+77) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / math.exp((a * b)) t_2 = x / math.exp((y * t)) tmp = 0 if t <= -4800.0: tmp = t_2 elif t <= -4.8e-206: tmp = t_1 elif t <= 1.55e-57: tmp = x / (1.0 / math.pow(z, y)) elif t <= 1.55e+77: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / exp(Float64(a * b))) t_2 = Float64(x / exp(Float64(y * t))) tmp = 0.0 if (t <= -4800.0) tmp = t_2; elseif (t <= -4.8e-206) tmp = t_1; elseif (t <= 1.55e-57) tmp = Float64(x / Float64(1.0 / (z ^ y))); elseif (t <= 1.55e+77) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / exp((a * b)); t_2 = x / exp((y * t)); tmp = 0.0; if (t <= -4800.0) tmp = t_2; elseif (t <= -4.8e-206) tmp = t_1; elseif (t <= 1.55e-57) tmp = x / (1.0 / (z ^ y)); elseif (t <= 1.55e+77) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[Exp[N[(y * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4800.0], t$95$2, If[LessEqual[t, -4.8e-206], t$95$1, If[LessEqual[t, 1.55e-57], N[(x / N[(1.0 / N[Power[z, y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.55e+77], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{e^{a \cdot b}}\\
t_2 := \frac{x}{e^{y \cdot t}}\\
\mathbf{if}\;t \leq -4800:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -4.8 \cdot 10^{-206}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.55 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{\frac{1}{{z}^{y}}}\\
\mathbf{elif}\;t \leq 1.55 \cdot 10^{+77}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -4800 or 1.54999999999999999e77 < t Initial program 95.8%
Simplified95.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6484.9%
Simplified84.9%
if -4800 < t < -4.7999999999999999e-206 or 1.54999999999999988e-57 < t < 1.54999999999999999e77Initial program 96.4%
Simplified96.4%
Taylor expanded in b around inf
*-lowering-*.f6475.0%
Simplified75.0%
if -4.7999999999999999e-206 < t < 1.54999999999999988e-57Initial program 96.6%
Simplified96.7%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6477.2%
Simplified77.2%
Taylor expanded in t around 0
/-lowering-/.f64N/A
mul-1-negN/A
exp-negN/A
/-lowering-/.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f6477.2%
Simplified77.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* a b)))) (t_2 (/ x (exp (* y t)))))
(if (<= t -4600.0)
t_2
(if (<= t -5.6e-206)
t_1
(if (<= t 1.08e-52) (* x (pow z y)) (if (<= t 1.45e+77) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / exp((a * b));
double t_2 = x / exp((y * t));
double tmp;
if (t <= -4600.0) {
tmp = t_2;
} else if (t <= -5.6e-206) {
tmp = t_1;
} else if (t <= 1.08e-52) {
tmp = x * pow(z, y);
} else if (t <= 1.45e+77) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x / exp((a * b))
t_2 = x / exp((y * t))
if (t <= (-4600.0d0)) then
tmp = t_2
else if (t <= (-5.6d-206)) then
tmp = t_1
else if (t <= 1.08d-52) then
tmp = x * (z ** y)
else if (t <= 1.45d+77) then
tmp = 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 t_1 = x / Math.exp((a * b));
double t_2 = x / Math.exp((y * t));
double tmp;
if (t <= -4600.0) {
tmp = t_2;
} else if (t <= -5.6e-206) {
tmp = t_1;
} else if (t <= 1.08e-52) {
tmp = x * Math.pow(z, y);
} else if (t <= 1.45e+77) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / math.exp((a * b)) t_2 = x / math.exp((y * t)) tmp = 0 if t <= -4600.0: tmp = t_2 elif t <= -5.6e-206: tmp = t_1 elif t <= 1.08e-52: tmp = x * math.pow(z, y) elif t <= 1.45e+77: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / exp(Float64(a * b))) t_2 = Float64(x / exp(Float64(y * t))) tmp = 0.0 if (t <= -4600.0) tmp = t_2; elseif (t <= -5.6e-206) tmp = t_1; elseif (t <= 1.08e-52) tmp = Float64(x * (z ^ y)); elseif (t <= 1.45e+77) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / exp((a * b)); t_2 = x / exp((y * t)); tmp = 0.0; if (t <= -4600.0) tmp = t_2; elseif (t <= -5.6e-206) tmp = t_1; elseif (t <= 1.08e-52) tmp = x * (z ^ y); elseif (t <= 1.45e+77) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[Exp[N[(y * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4600.0], t$95$2, If[LessEqual[t, -5.6e-206], t$95$1, If[LessEqual[t, 1.08e-52], N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.45e+77], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{e^{a \cdot b}}\\
t_2 := \frac{x}{e^{y \cdot t}}\\
\mathbf{if}\;t \leq -4600:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -5.6 \cdot 10^{-206}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.08 \cdot 10^{-52}:\\
\;\;\;\;x \cdot {z}^{y}\\
\mathbf{elif}\;t \leq 1.45 \cdot 10^{+77}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -4600 or 1.4500000000000001e77 < t Initial program 95.8%
Simplified95.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6484.9%
Simplified84.9%
if -4600 < t < -5.6000000000000003e-206 or 1.08e-52 < t < 1.4500000000000001e77Initial program 96.4%
Simplified96.4%
Taylor expanded in b around inf
*-lowering-*.f6475.0%
Simplified75.0%
if -5.6000000000000003e-206 < t < 1.08e-52Initial program 96.6%
Simplified96.7%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6477.2%
Simplified77.2%
Taylor expanded in t around 0
/-lowering-/.f64N/A
mul-1-negN/A
exp-negN/A
/-lowering-/.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f6477.2%
Simplified77.2%
associate-/r/N/A
/-rgt-identityN/A
*-commutativeN/A
*-lowering-*.f64N/A
pow-lowering-pow.f6477.1%
Applied egg-rr77.1%
Final simplification80.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y)))))
(t_2 (* (* t t) 0.5))
(t_3 (* x t_2)))
(if (<= y -8e+241)
t_1
(if (<= y -7e+70)
(/
x
(+
(*
t
(+
y
(*
t
(+ (* (* t 0.16666666666666666) (* y (* y y))) (* 0.5 (* y y))))))
1.0))
(if (<= y -1.35e-59)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -2.35e-200)
(/
x
(+
(*
y
(+ t (* y (+ (* 0.16666666666666666 (* y (* t (* t t)))) t_2))))
1.0))
(if (<= y 1.5e-133)
(+ x (* b (- (* b (* x (* 0.5 (* a a)))) (* x a))))
(if (<= y 0.0142)
(* (* y y) (+ t_3 (/ (- (/ x y) (* x t)) y)))
(if (<= y 1.8e+144)
(* (* y y) t_3)
(if (<= y 7.2e+282)
(/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0))
t_1))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double t_2 = (t * t) * 0.5;
double t_3 = x * t_2;
double tmp;
if (y <= -8e+241) {
tmp = t_1;
} else if (y <= -7e+70) {
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0);
} else if (y <= -1.35e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -2.35e-200) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_2)))) + 1.0);
} else if (y <= 1.5e-133) {
tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a)));
} else if (y <= 0.0142) {
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y));
} else if (y <= 1.8e+144) {
tmp = (y * y) * t_3;
} else if (y <= 7.2e+282) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
t_2 = (t * t) * 0.5d0
t_3 = x * t_2
if (y <= (-8d+241)) then
tmp = t_1
else if (y <= (-7d+70)) then
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666d0) * (y * (y * y))) + (0.5d0 * (y * y)))))) + 1.0d0)
else if (y <= (-1.35d-59)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-2.35d-200)) then
tmp = x / ((y * (t + (y * ((0.16666666666666666d0 * (y * (t * (t * t)))) + t_2)))) + 1.0d0)
else if (y <= 1.5d-133) then
tmp = x + (b * ((b * (x * (0.5d0 * (a * a)))) - (x * a)))
else if (y <= 0.0142d0) then
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y))
else if (y <= 1.8d+144) then
tmp = (y * y) * t_3
else if (y <= 7.2d+282) then
tmp = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double t_2 = (t * t) * 0.5;
double t_3 = x * t_2;
double tmp;
if (y <= -8e+241) {
tmp = t_1;
} else if (y <= -7e+70) {
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0);
} else if (y <= -1.35e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -2.35e-200) {
tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_2)))) + 1.0);
} else if (y <= 1.5e-133) {
tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a)));
} else if (y <= 0.0142) {
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y));
} else if (y <= 1.8e+144) {
tmp = (y * y) * t_3;
} else if (y <= 7.2e+282) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) t_2 = (t * t) * 0.5 t_3 = x * t_2 tmp = 0 if y <= -8e+241: tmp = t_1 elif y <= -7e+70: tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0) elif y <= -1.35e-59: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -2.35e-200: tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_2)))) + 1.0) elif y <= 1.5e-133: tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a))) elif y <= 0.0142: tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y)) elif y <= 1.8e+144: tmp = (y * y) * t_3 elif y <= 7.2e+282: tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) t_2 = Float64(Float64(t * t) * 0.5) t_3 = Float64(x * t_2) tmp = 0.0 if (y <= -8e+241) tmp = t_1; elseif (y <= -7e+70) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(t * Float64(Float64(Float64(t * 0.16666666666666666) * Float64(y * Float64(y * y))) + Float64(0.5 * Float64(y * y)))))) + 1.0)); elseif (y <= -1.35e-59) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -2.35e-200) tmp = Float64(x / Float64(Float64(y * Float64(t + Float64(y * Float64(Float64(0.16666666666666666 * Float64(y * Float64(t * Float64(t * t)))) + t_2)))) + 1.0)); elseif (y <= 1.5e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * Float64(0.5 * Float64(a * a)))) - Float64(x * a)))); elseif (y <= 0.0142) tmp = Float64(Float64(y * y) * Float64(t_3 + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 1.8e+144) tmp = Float64(Float64(y * y) * t_3); elseif (y <= 7.2e+282) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); t_2 = (t * t) * 0.5; t_3 = x * t_2; tmp = 0.0; if (y <= -8e+241) tmp = t_1; elseif (y <= -7e+70) tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0); elseif (y <= -1.35e-59) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -2.35e-200) tmp = x / ((y * (t + (y * ((0.16666666666666666 * (y * (t * (t * t)))) + t_2)))) + 1.0); elseif (y <= 1.5e-133) tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a))); elseif (y <= 0.0142) tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y)); elseif (y <= 1.8e+144) tmp = (y * y) * t_3; elseif (y <= 7.2e+282) tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]}, Block[{t$95$3 = N[(x * t$95$2), $MachinePrecision]}, If[LessEqual[y, -8e+241], t$95$1, If[LessEqual[y, -7e+70], N[(x / N[(N[(t * N[(y + N[(t * N[(N[(N[(t * 0.16666666666666666), $MachinePrecision] * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.35e-59], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.35e-200], N[(x / N[(N[(y * N[(t + N[(y * N[(N[(0.16666666666666666 * N[(y * N[(t * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.5e-133], N[(x + N[(b * N[(N[(b * N[(x * N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.0142], N[(N[(y * y), $MachinePrecision] * N[(t$95$3 + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.8e+144], N[(N[(y * y), $MachinePrecision] * t$95$3), $MachinePrecision], If[LessEqual[y, 7.2e+282], N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
t_2 := \left(t \cdot t\right) \cdot 0.5\\
t_3 := x \cdot t\_2\\
\mathbf{if}\;y \leq -8 \cdot 10^{+241}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -7 \cdot 10^{+70}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + t \cdot \left(\left(t \cdot 0.16666666666666666\right) \cdot \left(y \cdot \left(y \cdot y\right)\right) + 0.5 \cdot \left(y \cdot y\right)\right)\right) + 1}\\
\mathbf{elif}\;y \leq -1.35 \cdot 10^{-59}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -2.35 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{y \cdot \left(t + y \cdot \left(0.16666666666666666 \cdot \left(y \cdot \left(t \cdot \left(t \cdot t\right)\right)\right) + t\_2\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.5 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 \cdot \left(a \cdot a\right)\right)\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 0.0142:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(t\_3 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 1.8 \cdot 10^{+144}:\\
\;\;\;\;\left(y \cdot y\right) \cdot t\_3\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+282}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -8.0000000000000004e241 or 7.19999999999999972e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.0000000000000004e241 < y < -7.00000000000000005e70Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.7%
Simplified82.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6464.7%
Simplified64.7%
if -7.00000000000000005e70 < y < -1.3499999999999999e-59Initial program 96.7%
Simplified96.7%
Taylor expanded in b around inf
*-lowering-*.f6444.3%
Simplified44.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6424.8%
Simplified24.8%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6424.8%
Applied egg-rr24.8%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.3%
Simplified54.3%
if -1.3499999999999999e-59 < y < -2.35e-200Initial program 91.1%
Simplified91.1%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6463.2%
Simplified63.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.9%
Simplified62.9%
if -2.35e-200 < y < 1.5000000000000001e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.5000000000000001e-133 < y < 0.014200000000000001Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
if 0.014200000000000001 < y < 1.7999999999999999e144Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
if 1.7999999999999999e144 < y < 7.19999999999999972e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6456.4%
Simplified56.4%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6485.3%
Simplified85.3%
Final simplification64.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* 0.5 (* a a)))
(t_2 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y)))))
(t_3 (* x (* (* t t) 0.5))))
(if (<= y -8.5e+241)
t_2
(if (<= y -2.2e+68)
(/
x
(+
(*
t
(+
y
(*
t
(+ (* (* t 0.16666666666666666) (* y (* y y))) (* 0.5 (* y y))))))
1.0))
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -1.25e-200)
(/
x
(+
(*
b
(+ a (* b (+ (* 0.16666666666666666 (* b (* a (* a a)))) t_1))))
1.0))
(if (<= y 1.6e-133)
(+ x (* b (- (* b (* x t_1)) (* x a))))
(if (<= y 8.8e-7)
(* (* y y) (+ t_3 (/ (- (/ x y) (* x t)) y)))
(if (<= y 3e+146)
(* (* y y) t_3)
(if (<= y 7.2e+282)
(/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0))
t_2))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double t_2 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double t_3 = x * ((t * t) * 0.5);
double tmp;
if (y <= -8.5e+241) {
tmp = t_2;
} else if (y <= -2.2e+68) {
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.25e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0);
} else if (y <= 1.6e-133) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 8.8e-7) {
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y));
} else if (y <= 3e+146) {
tmp = (y * y) * t_3;
} else if (y <= 7.2e+282) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = 0.5d0 * (a * a)
t_2 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
t_3 = x * ((t * t) * 0.5d0)
if (y <= (-8.5d+241)) then
tmp = t_2
else if (y <= (-2.2d+68)) then
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666d0) * (y * (y * y))) + (0.5d0 * (y * y)))))) + 1.0d0)
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-1.25d-200)) then
tmp = x / ((b * (a + (b * ((0.16666666666666666d0 * (b * (a * (a * a)))) + t_1)))) + 1.0d0)
else if (y <= 1.6d-133) then
tmp = x + (b * ((b * (x * t_1)) - (x * a)))
else if (y <= 8.8d-7) then
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y))
else if (y <= 3d+146) then
tmp = (y * y) * t_3
else if (y <= 7.2d+282) then
tmp = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
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 t_1 = 0.5 * (a * a);
double t_2 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double t_3 = x * ((t * t) * 0.5);
double tmp;
if (y <= -8.5e+241) {
tmp = t_2;
} else if (y <= -2.2e+68) {
tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.25e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0);
} else if (y <= 1.6e-133) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 8.8e-7) {
tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y));
} else if (y <= 3e+146) {
tmp = (y * y) * t_3;
} else if (y <= 7.2e+282) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (a * a) t_2 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) t_3 = x * ((t * t) * 0.5) tmp = 0 if y <= -8.5e+241: tmp = t_2 elif y <= -2.2e+68: tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0) elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -1.25e-200: tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0) elif y <= 1.6e-133: tmp = x + (b * ((b * (x * t_1)) - (x * a))) elif y <= 8.8e-7: tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y)) elif y <= 3e+146: tmp = (y * y) * t_3 elif y <= 7.2e+282: tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(a * a)) t_2 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) t_3 = Float64(x * Float64(Float64(t * t) * 0.5)) tmp = 0.0 if (y <= -8.5e+241) tmp = t_2; elseif (y <= -2.2e+68) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(t * Float64(Float64(Float64(t * 0.16666666666666666) * Float64(y * Float64(y * y))) + Float64(0.5 * Float64(y * y)))))) + 1.0)); elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -1.25e-200) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * Float64(Float64(0.16666666666666666 * Float64(b * Float64(a * Float64(a * a)))) + t_1)))) + 1.0)); elseif (y <= 1.6e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_1)) - Float64(x * a)))); elseif (y <= 8.8e-7) tmp = Float64(Float64(y * y) * Float64(t_3 + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 3e+146) tmp = Float64(Float64(y * y) * t_3); elseif (y <= 7.2e+282) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (a * a); t_2 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); t_3 = x * ((t * t) * 0.5); tmp = 0.0; if (y <= -8.5e+241) tmp = t_2; elseif (y <= -2.2e+68) tmp = x / ((t * (y + (t * (((t * 0.16666666666666666) * (y * (y * y))) + (0.5 * (y * y)))))) + 1.0); elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -1.25e-200) tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_1)))) + 1.0); elseif (y <= 1.6e-133) tmp = x + (b * ((b * (x * t_1)) - (x * a))); elseif (y <= 8.8e-7) tmp = (y * y) * (t_3 + (((x / y) - (x * t)) / y)); elseif (y <= 3e+146) tmp = (y * y) * t_3; elseif (y <= 7.2e+282) tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.5e+241], t$95$2, If[LessEqual[y, -2.2e+68], N[(x / N[(N[(t * N[(y + N[(t * N[(N[(N[(t * 0.16666666666666666), $MachinePrecision] * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.25e-200], N[(x / N[(N[(b * N[(a + N[(b * N[(N[(0.16666666666666666 * N[(b * N[(a * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.6e-133], N[(x + N[(b * N[(N[(b * N[(x * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 8.8e-7], N[(N[(y * y), $MachinePrecision] * N[(t$95$3 + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3e+146], N[(N[(y * y), $MachinePrecision] * t$95$3), $MachinePrecision], If[LessEqual[y, 7.2e+282], N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(a \cdot a\right)\\
t_2 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
t_3 := x \cdot \left(\left(t \cdot t\right) \cdot 0.5\right)\\
\mathbf{if}\;y \leq -8.5 \cdot 10^{+241}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -2.2 \cdot 10^{+68}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + t \cdot \left(\left(t \cdot 0.16666666666666666\right) \cdot \left(y \cdot \left(y \cdot y\right)\right) + 0.5 \cdot \left(y \cdot y\right)\right)\right) + 1}\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -1.25 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot \left(0.16666666666666666 \cdot \left(b \cdot \left(a \cdot \left(a \cdot a\right)\right)\right) + t\_1\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.6 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_1\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 8.8 \cdot 10^{-7}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(t\_3 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\left(y \cdot y\right) \cdot t\_3\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+282}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y < -8.49999999999999954e241 or 7.19999999999999972e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.49999999999999954e241 < y < -2.19999999999999987e68Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.7%
Simplified82.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6464.7%
Simplified64.7%
if -2.19999999999999987e68 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -1.24999999999999998e-200Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.7%
Simplified62.7%
if -1.24999999999999998e-200 < y < 1.60000000000000006e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.60000000000000006e-133 < y < 8.8000000000000004e-7Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
if 8.8000000000000004e-7 < y < 3.00000000000000002e146Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
if 3.00000000000000002e146 < y < 7.19999999999999972e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6456.4%
Simplified56.4%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6485.3%
Simplified85.3%
Final simplification64.3%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* x (* (* t t) 0.5)))
(t_2 (* 0.5 (* a a)))
(t_3 (/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0)))
(t_4 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y))))))
(if (<= y -9e+241)
t_4
(if (<= y -1.6e+72)
t_3
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -1.2e-200)
(/
x
(+
(*
b
(+ a (* b (+ (* 0.16666666666666666 (* b (* a (* a a)))) t_2))))
1.0))
(if (<= y 1.8e-133)
(+ x (* b (- (* b (* x t_2)) (* x a))))
(if (<= y 0.00032)
(* (* y y) (+ t_1 (/ (- (/ x y) (* x t)) y)))
(if (<= y 5.4e+145)
(* (* y y) t_1)
(if (<= y 4.6e+282) t_3 t_4))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * ((t * t) * 0.5);
double t_2 = 0.5 * (a * a);
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -9e+241) {
tmp = t_4;
} else if (y <= -1.6e+72) {
tmp = t_3;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.2e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_2)))) + 1.0);
} else if (y <= 1.8e-133) {
tmp = x + (b * ((b * (x * t_2)) - (x * a)));
} else if (y <= 0.00032) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 5.4e+145) {
tmp = (y * y) * t_1;
} else if (y <= 4.6e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = x * ((t * t) * 0.5d0)
t_2 = 0.5d0 * (a * a)
t_3 = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
t_4 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
if (y <= (-9d+241)) then
tmp = t_4
else if (y <= (-1.6d+72)) then
tmp = t_3
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-1.2d-200)) then
tmp = x / ((b * (a + (b * ((0.16666666666666666d0 * (b * (a * (a * a)))) + t_2)))) + 1.0d0)
else if (y <= 1.8d-133) then
tmp = x + (b * ((b * (x * t_2)) - (x * a)))
else if (y <= 0.00032d0) then
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y))
else if (y <= 5.4d+145) then
tmp = (y * y) * t_1
else if (y <= 4.6d+282) 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 t_1 = x * ((t * t) * 0.5);
double t_2 = 0.5 * (a * a);
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -9e+241) {
tmp = t_4;
} else if (y <= -1.6e+72) {
tmp = t_3;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.2e-200) {
tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_2)))) + 1.0);
} else if (y <= 1.8e-133) {
tmp = x + (b * ((b * (x * t_2)) - (x * a)));
} else if (y <= 0.00032) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 5.4e+145) {
tmp = (y * y) * t_1;
} else if (y <= 4.6e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * ((t * t) * 0.5) t_2 = 0.5 * (a * a) t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) tmp = 0 if y <= -9e+241: tmp = t_4 elif y <= -1.6e+72: tmp = t_3 elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -1.2e-200: tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_2)))) + 1.0) elif y <= 1.8e-133: tmp = x + (b * ((b * (x * t_2)) - (x * a))) elif y <= 0.00032: tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)) elif y <= 5.4e+145: tmp = (y * y) * t_1 elif y <= 4.6e+282: tmp = t_3 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(Float64(t * t) * 0.5)) t_2 = Float64(0.5 * Float64(a * a)) t_3 = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)) t_4 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) tmp = 0.0 if (y <= -9e+241) tmp = t_4; elseif (y <= -1.6e+72) tmp = t_3; elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -1.2e-200) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * Float64(Float64(0.16666666666666666 * Float64(b * Float64(a * Float64(a * a)))) + t_2)))) + 1.0)); elseif (y <= 1.8e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_2)) - Float64(x * a)))); elseif (y <= 0.00032) tmp = Float64(Float64(y * y) * Float64(t_1 + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 5.4e+145) tmp = Float64(Float64(y * y) * t_1); elseif (y <= 4.6e+282) tmp = t_3; else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * ((t * t) * 0.5); t_2 = 0.5 * (a * a); t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); tmp = 0.0; if (y <= -9e+241) tmp = t_4; elseif (y <= -1.6e+72) tmp = t_3; elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -1.2e-200) tmp = x / ((b * (a + (b * ((0.16666666666666666 * (b * (a * (a * a)))) + t_2)))) + 1.0); elseif (y <= 1.8e-133) tmp = x + (b * ((b * (x * t_2)) - (x * a))); elseif (y <= 0.00032) tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)); elseif (y <= 5.4e+145) tmp = (y * y) * t_1; elseif (y <= 4.6e+282) tmp = t_3; else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -9e+241], t$95$4, If[LessEqual[y, -1.6e+72], t$95$3, If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.2e-200], N[(x / N[(N[(b * N[(a + N[(b * N[(N[(0.16666666666666666 * N[(b * N[(a * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.8e-133], N[(x + N[(b * N[(N[(b * N[(x * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.00032], N[(N[(y * y), $MachinePrecision] * N[(t$95$1 + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.4e+145], N[(N[(y * y), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y, 4.6e+282], t$95$3, t$95$4]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(\left(t \cdot t\right) \cdot 0.5\right)\\
t_2 := 0.5 \cdot \left(a \cdot a\right)\\
t_3 := \frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
t_4 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\mathbf{if}\;y \leq -9 \cdot 10^{+241}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;y \leq -1.6 \cdot 10^{+72}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -1.2 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot \left(0.16666666666666666 \cdot \left(b \cdot \left(a \cdot \left(a \cdot a\right)\right)\right) + t\_2\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.8 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_2\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 0.00032:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(t\_1 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 5.4 \cdot 10^{+145}:\\
\;\;\;\;\left(y \cdot y\right) \cdot t\_1\\
\mathbf{elif}\;y \leq 4.6 \cdot 10^{+282}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if y < -8.99999999999999987e241 or 4.60000000000000002e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.99999999999999987e241 < y < -1.6000000000000001e72 or 5.40000000000000044e145 < y < 4.60000000000000002e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.7%
Simplified71.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6471.6%
Simplified71.6%
if -1.6000000000000001e72 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -1.20000000000000001e-200Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.7%
Simplified62.7%
if -1.20000000000000001e-200 < y < 1.8000000000000002e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.8000000000000002e-133 < y < 3.20000000000000026e-4Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
if 3.20000000000000026e-4 < y < 5.40000000000000044e145Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
Final simplification63.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* x (* (* t t) 0.5)))
(t_2 (/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0)))
(t_3 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y))))))
(if (<= y -8e+241)
t_3
(if (<= y -1.25e+75)
t_2
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -2.5e-201)
(/
x
(+
(*
a
(+
b
(*
a
(+
(* (* a 0.16666666666666666) (* b (* b b)))
(* 0.5 (* b b))))))
1.0))
(if (<= y 1.55e-133)
(+ x (* b (- (* b (* x (* 0.5 (* a a)))) (* x a))))
(if (<= y 0.00019)
(* (* y y) (+ t_1 (/ (- (/ x y) (* x t)) y)))
(if (<= y 2.8e+144)
(* (* y y) t_1)
(if (<= y 7.2e+282) t_2 t_3))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * ((t * t) * 0.5);
double t_2 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_3 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8e+241) {
tmp = t_3;
} else if (y <= -1.25e+75) {
tmp = t_2;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -2.5e-201) {
tmp = x / ((a * (b + (a * (((a * 0.16666666666666666) * (b * (b * b))) + (0.5 * (b * b)))))) + 1.0);
} else if (y <= 1.55e-133) {
tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a)));
} else if (y <= 0.00019) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 2.8e+144) {
tmp = (y * y) * t_1;
} else if (y <= 7.2e+282) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x * ((t * t) * 0.5d0)
t_2 = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
t_3 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
if (y <= (-8d+241)) then
tmp = t_3
else if (y <= (-1.25d+75)) then
tmp = t_2
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-2.5d-201)) then
tmp = x / ((a * (b + (a * (((a * 0.16666666666666666d0) * (b * (b * b))) + (0.5d0 * (b * b)))))) + 1.0d0)
else if (y <= 1.55d-133) then
tmp = x + (b * ((b * (x * (0.5d0 * (a * a)))) - (x * a)))
else if (y <= 0.00019d0) then
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y))
else if (y <= 2.8d+144) then
tmp = (y * y) * t_1
else if (y <= 7.2d+282) then
tmp = t_2
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 t_1 = x * ((t * t) * 0.5);
double t_2 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_3 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8e+241) {
tmp = t_3;
} else if (y <= -1.25e+75) {
tmp = t_2;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -2.5e-201) {
tmp = x / ((a * (b + (a * (((a * 0.16666666666666666) * (b * (b * b))) + (0.5 * (b * b)))))) + 1.0);
} else if (y <= 1.55e-133) {
tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a)));
} else if (y <= 0.00019) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 2.8e+144) {
tmp = (y * y) * t_1;
} else if (y <= 7.2e+282) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * ((t * t) * 0.5) t_2 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) t_3 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) tmp = 0 if y <= -8e+241: tmp = t_3 elif y <= -1.25e+75: tmp = t_2 elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -2.5e-201: tmp = x / ((a * (b + (a * (((a * 0.16666666666666666) * (b * (b * b))) + (0.5 * (b * b)))))) + 1.0) elif y <= 1.55e-133: tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a))) elif y <= 0.00019: tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)) elif y <= 2.8e+144: tmp = (y * y) * t_1 elif y <= 7.2e+282: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(Float64(t * t) * 0.5)) t_2 = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)) t_3 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) tmp = 0.0 if (y <= -8e+241) tmp = t_3; elseif (y <= -1.25e+75) tmp = t_2; elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -2.5e-201) tmp = Float64(x / Float64(Float64(a * Float64(b + Float64(a * Float64(Float64(Float64(a * 0.16666666666666666) * Float64(b * Float64(b * b))) + Float64(0.5 * Float64(b * b)))))) + 1.0)); elseif (y <= 1.55e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * Float64(0.5 * Float64(a * a)))) - Float64(x * a)))); elseif (y <= 0.00019) tmp = Float64(Float64(y * y) * Float64(t_1 + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 2.8e+144) tmp = Float64(Float64(y * y) * t_1); elseif (y <= 7.2e+282) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * ((t * t) * 0.5); t_2 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); t_3 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); tmp = 0.0; if (y <= -8e+241) tmp = t_3; elseif (y <= -1.25e+75) tmp = t_2; elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -2.5e-201) tmp = x / ((a * (b + (a * (((a * 0.16666666666666666) * (b * (b * b))) + (0.5 * (b * b)))))) + 1.0); elseif (y <= 1.55e-133) tmp = x + (b * ((b * (x * (0.5 * (a * a)))) - (x * a))); elseif (y <= 0.00019) tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)); elseif (y <= 2.8e+144) tmp = (y * y) * t_1; elseif (y <= 7.2e+282) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8e+241], t$95$3, If[LessEqual[y, -1.25e+75], t$95$2, If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.5e-201], N[(x / N[(N[(a * N[(b + N[(a * N[(N[(N[(a * 0.16666666666666666), $MachinePrecision] * N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.55e-133], N[(x + N[(b * N[(N[(b * N[(x * N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.00019], N[(N[(y * y), $MachinePrecision] * N[(t$95$1 + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.8e+144], N[(N[(y * y), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y, 7.2e+282], t$95$2, t$95$3]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(\left(t \cdot t\right) \cdot 0.5\right)\\
t_2 := \frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
t_3 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\mathbf{if}\;y \leq -8 \cdot 10^{+241}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;y \leq -1.25 \cdot 10^{+75}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -2.5 \cdot 10^{-201}:\\
\;\;\;\;\frac{x}{a \cdot \left(b + a \cdot \left(\left(a \cdot 0.16666666666666666\right) \cdot \left(b \cdot \left(b \cdot b\right)\right) + 0.5 \cdot \left(b \cdot b\right)\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.55 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 \cdot \left(a \cdot a\right)\right)\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 0.00019:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(t\_1 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{+144}:\\
\;\;\;\;\left(y \cdot y\right) \cdot t\_1\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+282}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if y < -8.0000000000000004e241 or 7.19999999999999972e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.0000000000000004e241 < y < -1.2500000000000001e75 or 2.80000000000000007e144 < y < 7.19999999999999972e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.7%
Simplified71.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6471.6%
Simplified71.6%
if -1.2500000000000001e75 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -2.5e-201Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.0%
Simplified62.0%
if -2.5e-201 < y < 1.55000000000000008e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.55000000000000008e-133 < y < 1.9000000000000001e-4Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
if 1.9000000000000001e-4 < y < 2.80000000000000007e144Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
Final simplification63.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* x (* (* t t) 0.5)))
(t_2 (* 0.5 (* a a)))
(t_3 (/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0)))
(t_4 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y))))))
(if (<= y -8.5e+241)
t_4
(if (<= y -2.2e+75)
t_3
(if (<= y -1.9e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -6.5e-201)
(/ x (+ (* b (+ a (* b t_2))) 1.0))
(if (<= y 1.9e-133)
(+ x (* b (- (* b (* x t_2)) (* x a))))
(if (<= y 2.8e-7)
(* (* y y) (+ t_1 (/ (- (/ x y) (* x t)) y)))
(if (<= y 9.5e+145)
(* (* y y) t_1)
(if (<= y 5e+282) t_3 t_4))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * ((t * t) * 0.5);
double t_2 = 0.5 * (a * a);
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8.5e+241) {
tmp = t_4;
} else if (y <= -2.2e+75) {
tmp = t_3;
} else if (y <= -1.9e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -6.5e-201) {
tmp = x / ((b * (a + (b * t_2))) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x + (b * ((b * (x * t_2)) - (x * a)));
} else if (y <= 2.8e-7) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 9.5e+145) {
tmp = (y * y) * t_1;
} else if (y <= 5e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = x * ((t * t) * 0.5d0)
t_2 = 0.5d0 * (a * a)
t_3 = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
t_4 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
if (y <= (-8.5d+241)) then
tmp = t_4
else if (y <= (-2.2d+75)) then
tmp = t_3
else if (y <= (-1.9d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-6.5d-201)) then
tmp = x / ((b * (a + (b * t_2))) + 1.0d0)
else if (y <= 1.9d-133) then
tmp = x + (b * ((b * (x * t_2)) - (x * a)))
else if (y <= 2.8d-7) then
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y))
else if (y <= 9.5d+145) then
tmp = (y * y) * t_1
else if (y <= 5d+282) 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 t_1 = x * ((t * t) * 0.5);
double t_2 = 0.5 * (a * a);
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8.5e+241) {
tmp = t_4;
} else if (y <= -2.2e+75) {
tmp = t_3;
} else if (y <= -1.9e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -6.5e-201) {
tmp = x / ((b * (a + (b * t_2))) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x + (b * ((b * (x * t_2)) - (x * a)));
} else if (y <= 2.8e-7) {
tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y));
} else if (y <= 9.5e+145) {
tmp = (y * y) * t_1;
} else if (y <= 5e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * ((t * t) * 0.5) t_2 = 0.5 * (a * a) t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) tmp = 0 if y <= -8.5e+241: tmp = t_4 elif y <= -2.2e+75: tmp = t_3 elif y <= -1.9e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -6.5e-201: tmp = x / ((b * (a + (b * t_2))) + 1.0) elif y <= 1.9e-133: tmp = x + (b * ((b * (x * t_2)) - (x * a))) elif y <= 2.8e-7: tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)) elif y <= 9.5e+145: tmp = (y * y) * t_1 elif y <= 5e+282: tmp = t_3 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(Float64(t * t) * 0.5)) t_2 = Float64(0.5 * Float64(a * a)) t_3 = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)) t_4 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) tmp = 0.0 if (y <= -8.5e+241) tmp = t_4; elseif (y <= -2.2e+75) tmp = t_3; elseif (y <= -1.9e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -6.5e-201) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * t_2))) + 1.0)); elseif (y <= 1.9e-133) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_2)) - Float64(x * a)))); elseif (y <= 2.8e-7) tmp = Float64(Float64(y * y) * Float64(t_1 + Float64(Float64(Float64(x / y) - Float64(x * t)) / y))); elseif (y <= 9.5e+145) tmp = Float64(Float64(y * y) * t_1); elseif (y <= 5e+282) tmp = t_3; else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * ((t * t) * 0.5); t_2 = 0.5 * (a * a); t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); tmp = 0.0; if (y <= -8.5e+241) tmp = t_4; elseif (y <= -2.2e+75) tmp = t_3; elseif (y <= -1.9e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -6.5e-201) tmp = x / ((b * (a + (b * t_2))) + 1.0); elseif (y <= 1.9e-133) tmp = x + (b * ((b * (x * t_2)) - (x * a))); elseif (y <= 2.8e-7) tmp = (y * y) * (t_1 + (((x / y) - (x * t)) / y)); elseif (y <= 9.5e+145) tmp = (y * y) * t_1; elseif (y <= 5e+282) tmp = t_3; else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.5e+241], t$95$4, If[LessEqual[y, -2.2e+75], t$95$3, If[LessEqual[y, -1.9e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -6.5e-201], N[(x / N[(N[(b * N[(a + N[(b * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e-133], N[(x + N[(b * N[(N[(b * N[(x * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.8e-7], N[(N[(y * y), $MachinePrecision] * N[(t$95$1 + N[(N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.5e+145], N[(N[(y * y), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y, 5e+282], t$95$3, t$95$4]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(\left(t \cdot t\right) \cdot 0.5\right)\\
t_2 := 0.5 \cdot \left(a \cdot a\right)\\
t_3 := \frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
t_4 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\mathbf{if}\;y \leq -8.5 \cdot 10^{+241}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;y \leq -2.2 \cdot 10^{+75}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;y \leq -1.9 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -6.5 \cdot 10^{-201}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot t\_2\right) + 1}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-133}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_2\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{-7}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(t\_1 + \frac{\frac{x}{y} - x \cdot t}{y}\right)\\
\mathbf{elif}\;y \leq 9.5 \cdot 10^{+145}:\\
\;\;\;\;\left(y \cdot y\right) \cdot t\_1\\
\mathbf{elif}\;y \leq 5 \cdot 10^{+282}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if y < -8.49999999999999954e241 or 4.99999999999999978e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.49999999999999954e241 < y < -2.20000000000000012e75 or 9.49999999999999948e145 < y < 4.99999999999999978e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.7%
Simplified71.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6471.6%
Simplified71.6%
if -2.20000000000000012e75 < y < -1.8999999999999998e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -1.8999999999999998e-55 < y < -6.49999999999999974e-201Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6460.1%
Simplified60.1%
if -6.49999999999999974e-201 < y < 1.9000000000000002e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6489.6%
Simplified89.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified67.1%
if 1.9000000000000002e-133 < y < 2.80000000000000019e-7Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
if 2.80000000000000019e-7 < y < 9.49999999999999948e145Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
Final simplification63.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* 0.5 (* a a)))
(t_2 (* (* t t) 0.5))
(t_3 (/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0)))
(t_4 (+ x (* t (- (* t (* (* x 0.5) (* y y))) (* x y))))))
(if (<= y -8e+241)
t_4
(if (<= y -1e+75)
t_3
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -4e-201)
(/ x (+ (* b (+ a (* b t_1))) 1.0))
(if (<= y 1.66e-141)
(+ x (* b (- (* b (* x t_1)) (* x a))))
(if (<= y 0.245)
(* x (+ (* y (- (* y t_2) t)) 1.0))
(if (<= y 3e+146)
(* (* y y) (* x t_2))
(if (<= y 7.2e+282) t_3 t_4))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double t_2 = (t * t) * 0.5;
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8e+241) {
tmp = t_4;
} else if (y <= -1e+75) {
tmp = t_3;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -4e-201) {
tmp = x / ((b * (a + (b * t_1))) + 1.0);
} else if (y <= 1.66e-141) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 0.245) {
tmp = x * ((y * ((y * t_2) - t)) + 1.0);
} else if (y <= 3e+146) {
tmp = (y * y) * (x * t_2);
} else if (y <= 7.2e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = 0.5d0 * (a * a)
t_2 = (t * t) * 0.5d0
t_3 = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
t_4 = x + (t * ((t * ((x * 0.5d0) * (y * y))) - (x * y)))
if (y <= (-8d+241)) then
tmp = t_4
else if (y <= (-1d+75)) then
tmp = t_3
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-4d-201)) then
tmp = x / ((b * (a + (b * t_1))) + 1.0d0)
else if (y <= 1.66d-141) then
tmp = x + (b * ((b * (x * t_1)) - (x * a)))
else if (y <= 0.245d0) then
tmp = x * ((y * ((y * t_2) - t)) + 1.0d0)
else if (y <= 3d+146) then
tmp = (y * y) * (x * t_2)
else if (y <= 7.2d+282) 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 t_1 = 0.5 * (a * a);
double t_2 = (t * t) * 0.5;
double t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
double t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y)));
double tmp;
if (y <= -8e+241) {
tmp = t_4;
} else if (y <= -1e+75) {
tmp = t_3;
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -4e-201) {
tmp = x / ((b * (a + (b * t_1))) + 1.0);
} else if (y <= 1.66e-141) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 0.245) {
tmp = x * ((y * ((y * t_2) - t)) + 1.0);
} else if (y <= 3e+146) {
tmp = (y * y) * (x * t_2);
} else if (y <= 7.2e+282) {
tmp = t_3;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (a * a) t_2 = (t * t) * 0.5 t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))) tmp = 0 if y <= -8e+241: tmp = t_4 elif y <= -1e+75: tmp = t_3 elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -4e-201: tmp = x / ((b * (a + (b * t_1))) + 1.0) elif y <= 1.66e-141: tmp = x + (b * ((b * (x * t_1)) - (x * a))) elif y <= 0.245: tmp = x * ((y * ((y * t_2) - t)) + 1.0) elif y <= 3e+146: tmp = (y * y) * (x * t_2) elif y <= 7.2e+282: tmp = t_3 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(a * a)) t_2 = Float64(Float64(t * t) * 0.5) t_3 = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)) t_4 = Float64(x + Float64(t * Float64(Float64(t * Float64(Float64(x * 0.5) * Float64(y * y))) - Float64(x * y)))) tmp = 0.0 if (y <= -8e+241) tmp = t_4; elseif (y <= -1e+75) tmp = t_3; elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -4e-201) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * t_1))) + 1.0)); elseif (y <= 1.66e-141) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_1)) - Float64(x * a)))); elseif (y <= 0.245) tmp = Float64(x * Float64(Float64(y * Float64(Float64(y * t_2) - t)) + 1.0)); elseif (y <= 3e+146) tmp = Float64(Float64(y * y) * Float64(x * t_2)); elseif (y <= 7.2e+282) tmp = t_3; else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (a * a); t_2 = (t * t) * 0.5; t_3 = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); t_4 = x + (t * ((t * ((x * 0.5) * (y * y))) - (x * y))); tmp = 0.0; if (y <= -8e+241) tmp = t_4; elseif (y <= -1e+75) tmp = t_3; elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -4e-201) tmp = x / ((b * (a + (b * t_1))) + 1.0); elseif (y <= 1.66e-141) tmp = x + (b * ((b * (x * t_1)) - (x * a))); elseif (y <= 0.245) tmp = x * ((y * ((y * t_2) - t)) + 1.0); elseif (y <= 3e+146) tmp = (y * y) * (x * t_2); elseif (y <= 7.2e+282) tmp = t_3; else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]}, Block[{t$95$3 = N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(x + N[(t * N[(N[(t * N[(N[(x * 0.5), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8e+241], t$95$4, If[LessEqual[y, -1e+75], t$95$3, If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4e-201], N[(x / N[(N[(b * N[(a + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.66e-141], N[(x + N[(b * N[(N[(b * N[(x * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.245], N[(x * N[(N[(y * N[(N[(y * t$95$2), $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3e+146], N[(N[(y * y), $MachinePrecision] * N[(x * t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+282], t$95$3, t$95$4]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(a \cdot a\right)\\
t_2 := \left(t \cdot t\right) \cdot 0.5\\
t_3 := \frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
t_4 := x + t \cdot \left(t \cdot \left(\left(x \cdot 0.5\right) \cdot \left(y \cdot y\right)\right) - x \cdot y\right)\\
\mathbf{if}\;y \leq -8 \cdot 10^{+241}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;y \leq -1 \cdot 10^{+75}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -4 \cdot 10^{-201}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot t\_1\right) + 1}\\
\mathbf{elif}\;y \leq 1.66 \cdot 10^{-141}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_1\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 0.245:\\
\;\;\;\;x \cdot \left(y \cdot \left(y \cdot t\_2 - t\right) + 1\right)\\
\mathbf{elif}\;y \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \left(x \cdot t\_2\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+282}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if y < -8.0000000000000004e241 or 7.19999999999999972e282 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified69.8%
if -8.0000000000000004e241 < y < -9.99999999999999927e74 or 3.00000000000000002e146 < y < 7.19999999999999972e282Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.7%
Simplified71.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6471.6%
Simplified71.6%
if -9.99999999999999927e74 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -3.99999999999999978e-201Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6460.1%
Simplified60.1%
if -3.99999999999999978e-201 < y < 1.66e-141Initial program 93.8%
Simplified93.8%
Taylor expanded in b around inf
*-lowering-*.f6489.3%
Simplified89.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified66.0%
if 1.66e-141 < y < 0.245Initial program 96.6%
Simplified96.6%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6468.6%
Simplified68.6%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.5%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.9%
Simplified61.9%
if 0.245 < y < 3.00000000000000002e146Initial program 96.7%
Simplified96.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.2%
Simplified51.2%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified22.0%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified28.3%
Taylor expanded in t around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
Final simplification62.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* 0.5 (* a a))))
(if (<= y -8.5e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -5.5e+69)
(/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0))
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -5e-201)
(/ x (+ (* b (+ a (* b t_1))) 1.0))
(if (<= y 4.9e-141)
(+ x (* b (- (* b (* x t_1)) (* x a))))
(if (<= y 0.8)
(* x (+ (* y (- (* y (* (* t t) 0.5)) t)) 1.0))
(* y (* 0.5 (* y (* x (* t t)))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double tmp;
if (y <= -8.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -5.5e+69) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -5e-201) {
tmp = x / ((b * (a + (b * t_1))) + 1.0);
} else if (y <= 4.9e-141) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 0.8) {
tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0);
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = 0.5d0 * (a * a)
if (y <= (-8.5d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-5.5d+69)) then
tmp = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-5d-201)) then
tmp = x / ((b * (a + (b * t_1))) + 1.0d0)
else if (y <= 4.9d-141) then
tmp = x + (b * ((b * (x * t_1)) - (x * a)))
else if (y <= 0.8d0) then
tmp = x * ((y * ((y * ((t * t) * 0.5d0)) - t)) + 1.0d0)
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (a * a);
double tmp;
if (y <= -8.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -5.5e+69) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -5e-201) {
tmp = x / ((b * (a + (b * t_1))) + 1.0);
} else if (y <= 4.9e-141) {
tmp = x + (b * ((b * (x * t_1)) - (x * a)));
} else if (y <= 0.8) {
tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0);
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (a * a) tmp = 0 if y <= -8.5e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -5.5e+69: tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -5e-201: tmp = x / ((b * (a + (b * t_1))) + 1.0) elif y <= 4.9e-141: tmp = x + (b * ((b * (x * t_1)) - (x * a))) elif y <= 0.8: tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(a * a)) tmp = 0.0 if (y <= -8.5e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -5.5e+69) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)); elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -5e-201) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * t_1))) + 1.0)); elseif (y <= 4.9e-141) tmp = Float64(x + Float64(b * Float64(Float64(b * Float64(x * t_1)) - Float64(x * a)))); elseif (y <= 0.8) tmp = Float64(x * Float64(Float64(y * Float64(Float64(y * Float64(Float64(t * t) * 0.5)) - t)) + 1.0)); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (a * a); tmp = 0.0; if (y <= -8.5e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -5.5e+69) tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -5e-201) tmp = x / ((b * (a + (b * t_1))) + 1.0); elseif (y <= 4.9e-141) tmp = x + (b * ((b * (x * t_1)) - (x * a))); elseif (y <= 0.8) tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.5e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -5.5e+69], N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -5e-201], N[(x / N[(N[(b * N[(a + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.9e-141], N[(x + N[(b * N[(N[(b * N[(x * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.8], N[(x * N[(N[(y * N[(N[(y * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(a \cdot a\right)\\
\mathbf{if}\;y \leq -8.5 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -5.5 \cdot 10^{+69}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -5 \cdot 10^{-201}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot t\_1\right) + 1}\\
\mathbf{elif}\;y \leq 4.9 \cdot 10^{-141}:\\
\;\;\;\;x + b \cdot \left(b \cdot \left(x \cdot t\_1\right) - x \cdot a\right)\\
\mathbf{elif}\;y \leq 0.8:\\
\;\;\;\;x \cdot \left(y \cdot \left(y \cdot \left(\left(t \cdot t\right) \cdot 0.5\right) - t\right) + 1\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.49999999999999954e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -8.49999999999999954e241 < y < -5.50000000000000002e69Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.7%
Simplified82.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.8%
Simplified61.8%
if -5.50000000000000002e69 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -4.9999999999999999e-201Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6460.1%
Simplified60.1%
if -4.9999999999999999e-201 < y < 4.90000000000000006e-141Initial program 93.8%
Simplified93.8%
Taylor expanded in b around inf
*-lowering-*.f6489.3%
Simplified89.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-rgt-outN/A
metadata-evalN/A
distribute-rgt-neg-inN/A
metadata-evalN/A
*-commutativeN/A
--lowering--.f64N/A
Simplified66.0%
if 4.90000000000000006e-141 < y < 0.80000000000000004Initial program 96.6%
Simplified96.6%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6468.6%
Simplified68.6%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.5%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.9%
Simplified61.9%
if 0.80000000000000004 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified25.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified52.7%
Final simplification59.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -8e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -1.7e+71)
(/ x (+ (* t (+ y (* (* y y) (* t 0.5)))) 1.0))
(if (<= y -2.3e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -1.45e-201)
(/ x (+ (* b (+ a (* b (* 0.5 (* a a))))) 1.0))
(if (<= y 1.45e-7)
(+ x (* b (* a (- (* 0.5 (* a (* x b))) x))))
(* y (* 0.5 (* y (* x (* t t)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -1.7e+71) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.45e-201) {
tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0);
} else if (y <= 1.45e-7) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-8d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-1.7d+71)) then
tmp = x / ((t * (y + ((y * y) * (t * 0.5d0)))) + 1.0d0)
else if (y <= (-2.3d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-1.45d-201)) then
tmp = x / ((b * (a + (b * (0.5d0 * (a * a))))) + 1.0d0)
else if (y <= 1.45d-7) then
tmp = x + (b * (a * ((0.5d0 * (a * (x * b))) - x)))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -1.7e+71) {
tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0);
} else if (y <= -2.3e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.45e-201) {
tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0);
} else if (y <= 1.45e-7) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -8e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -1.7e+71: tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0) elif y <= -2.3e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -1.45e-201: tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0) elif y <= 1.45e-7: tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -8e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -1.7e+71) tmp = Float64(x / Float64(Float64(t * Float64(y + Float64(Float64(y * y) * Float64(t * 0.5)))) + 1.0)); elseif (y <= -2.3e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -1.45e-201) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * Float64(0.5 * Float64(a * a))))) + 1.0)); elseif (y <= 1.45e-7) tmp = Float64(x + Float64(b * Float64(a * Float64(Float64(0.5 * Float64(a * Float64(x * b))) - x)))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -8e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -1.7e+71) tmp = x / ((t * (y + ((y * y) * (t * 0.5)))) + 1.0); elseif (y <= -2.3e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -1.45e-201) tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0); elseif (y <= 1.45e-7) tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -8e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.7e+71], N[(x / N[(N[(t * N[(y + N[(N[(y * y), $MachinePrecision] * N[(t * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.3e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.45e-201], N[(x / N[(N[(b * N[(a + N[(b * N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.45e-7], N[(x + N[(b * N[(a * N[(N[(0.5 * N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -8 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -1.7 \cdot 10^{+71}:\\
\;\;\;\;\frac{x}{t \cdot \left(y + \left(y \cdot y\right) \cdot \left(t \cdot 0.5\right)\right) + 1}\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -1.45 \cdot 10^{-201}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot \left(0.5 \cdot \left(a \cdot a\right)\right)\right) + 1}\\
\mathbf{elif}\;y \leq 1.45 \cdot 10^{-7}:\\
\;\;\;\;x + b \cdot \left(a \cdot \left(0.5 \cdot \left(a \cdot \left(x \cdot b\right)\right) - x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.0000000000000004e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -8.0000000000000004e241 < y < -1.6999999999999999e71Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6482.7%
Simplified82.7%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.8%
Simplified61.8%
if -1.6999999999999999e71 < y < -2.30000000000000011e-55Initial program 96.6%
Simplified96.6%
Taylor expanded in b around inf
*-lowering-*.f6442.4%
Simplified42.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.2%
Applied egg-rr22.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.7%
Simplified52.7%
if -2.30000000000000011e-55 < y < -1.4500000000000001e-201Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6460.1%
Simplified60.1%
if -1.4500000000000001e-201 < y < 1.4499999999999999e-7Initial program 94.7%
Simplified94.7%
Taylor expanded in b around inf
*-lowering-*.f6481.1%
Simplified81.1%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6447.1%
Simplified47.1%
Taylor expanded in b around 0
Simplified58.1%
if 1.4499999999999999e-7 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified25.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified52.7%
Final simplification56.7%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -8e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -3e+102)
(/ x (+ (* y t) 1.0))
(if (<= y -2.1e-55)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y -1.3e-200)
(/ x (+ (* b (+ a (* b (* 0.5 (* a a))))) 1.0))
(if (<= y 2.4e-5)
(+ x (* b (* a (- (* 0.5 (* a (* x b))) x))))
(* y (* 0.5 (* y (* x (* t t)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -2.1e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.3e-200) {
tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0);
} else if (y <= 2.4e-5) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-8d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-3d+102)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= (-2.1d-55)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= (-1.3d-200)) then
tmp = x / ((b * (a + (b * (0.5d0 * (a * a))))) + 1.0d0)
else if (y <= 2.4d-5) then
tmp = x + (b * (a * ((0.5d0 * (a * (x * b))) - x)))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -2.1e-55) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= -1.3e-200) {
tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0);
} else if (y <= 2.4e-5) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -8e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -3e+102: tmp = x / ((y * t) + 1.0) elif y <= -2.1e-55: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= -1.3e-200: tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0) elif y <= 2.4e-5: tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -8e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -3e+102) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= -2.1e-55) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= -1.3e-200) tmp = Float64(x / Float64(Float64(b * Float64(a + Float64(b * Float64(0.5 * Float64(a * a))))) + 1.0)); elseif (y <= 2.4e-5) tmp = Float64(x + Float64(b * Float64(a * Float64(Float64(0.5 * Float64(a * Float64(x * b))) - x)))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -8e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -3e+102) tmp = x / ((y * t) + 1.0); elseif (y <= -2.1e-55) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= -1.3e-200) tmp = x / ((b * (a + (b * (0.5 * (a * a))))) + 1.0); elseif (y <= 2.4e-5) tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -8e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3e+102], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.1e-55], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.3e-200], N[(x / N[(N[(b * N[(a + N[(b * N[(0.5 * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.4e-5], N[(x + N[(b * N[(a * N[(N[(0.5 * N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -8 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -3 \cdot 10^{+102}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq -2.1 \cdot 10^{-55}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq -1.3 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{b \cdot \left(a + b \cdot \left(0.5 \cdot \left(a \cdot a\right)\right)\right) + 1}\\
\mathbf{elif}\;y \leq 2.4 \cdot 10^{-5}:\\
\;\;\;\;x + b \cdot \left(a \cdot \left(0.5 \cdot \left(a \cdot \left(x \cdot b\right)\right) - x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.0000000000000004e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -8.0000000000000004e241 < y < -2.9999999999999998e102Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6490.8%
Simplified90.8%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6453.7%
Simplified53.7%
if -2.9999999999999998e102 < y < -2.1000000000000002e-55Initial program 97.2%
Simplified97.2%
Taylor expanded in b around inf
*-lowering-*.f6448.2%
Simplified48.2%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6426.5%
Simplified26.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6421.0%
Applied egg-rr21.0%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6451.0%
Simplified51.0%
if -2.1000000000000002e-55 < y < -1.29999999999999995e-200Initial program 91.4%
Simplified91.4%
Taylor expanded in b around inf
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6460.1%
Simplified60.1%
if -1.29999999999999995e-200 < y < 2.4000000000000001e-5Initial program 94.7%
Simplified94.7%
Taylor expanded in b around inf
*-lowering-*.f6481.1%
Simplified81.1%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6447.1%
Simplified47.1%
Taylor expanded in b around 0
Simplified58.1%
if 2.4000000000000001e-5 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified25.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified52.7%
Final simplification55.6%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -9.5e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -3e+102)
(/ x (+ (* y t) 1.0))
(if (<= y -1.25e-59)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y 2.5e-143)
(- x (* b (* x a)))
(if (<= y 4e-7)
(* x (+ (* y (- (* y (* (* t t) 0.5)) t)) 1.0))
(* y (* 0.5 (* y (* x (* t t)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -1.25e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 2.5e-143) {
tmp = x - (b * (x * a));
} else if (y <= 4e-7) {
tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0);
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-9.5d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-3d+102)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= (-1.25d-59)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= 2.5d-143) then
tmp = x - (b * (x * a))
else if (y <= 4d-7) then
tmp = x * ((y * ((y * ((t * t) * 0.5d0)) - t)) + 1.0d0)
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -1.25e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 2.5e-143) {
tmp = x - (b * (x * a));
} else if (y <= 4e-7) {
tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0);
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -9.5e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -3e+102: tmp = x / ((y * t) + 1.0) elif y <= -1.25e-59: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= 2.5e-143: tmp = x - (b * (x * a)) elif y <= 4e-7: tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -9.5e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -3e+102) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= -1.25e-59) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= 2.5e-143) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 4e-7) tmp = Float64(x * Float64(Float64(y * Float64(Float64(y * Float64(Float64(t * t) * 0.5)) - t)) + 1.0)); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -9.5e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -3e+102) tmp = x / ((y * t) + 1.0); elseif (y <= -1.25e-59) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= 2.5e-143) tmp = x - (b * (x * a)); elseif (y <= 4e-7) tmp = x * ((y * ((y * ((t * t) * 0.5)) - t)) + 1.0); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -9.5e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3e+102], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.25e-59], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.5e-143], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4e-7], N[(x * N[(N[(y * N[(N[(y * N[(N[(t * t), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -9.5 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -3 \cdot 10^{+102}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq -1.25 \cdot 10^{-59}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq 2.5 \cdot 10^{-143}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 4 \cdot 10^{-7}:\\
\;\;\;\;x \cdot \left(y \cdot \left(y \cdot \left(\left(t \cdot t\right) \cdot 0.5\right) - t\right) + 1\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -9.50000000000000019e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -9.50000000000000019e241 < y < -2.9999999999999998e102Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6490.8%
Simplified90.8%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6453.7%
Simplified53.7%
if -2.9999999999999998e102 < y < -1.25e-59Initial program 97.3%
Simplified97.3%
Taylor expanded in b around inf
*-lowering-*.f6449.6%
Simplified49.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6428.4%
Simplified28.4%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6423.2%
Applied egg-rr23.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.3%
Simplified52.3%
if -1.25e-59 < y < 2.5000000000000001e-143Initial program 92.9%
Simplified92.9%
Taylor expanded in b around inf
*-lowering-*.f6482.9%
Simplified82.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6455.3%
Simplified55.3%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.7%
Simplified43.7%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6448.7%
Applied egg-rr48.7%
if 2.5000000000000001e-143 < y < 3.9999999999999998e-7Initial program 96.6%
Simplified96.6%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6468.6%
Simplified68.6%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.5%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.9%
Simplified61.9%
if 3.9999999999999998e-7 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified25.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified52.7%
Final simplification52.4%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -8.5e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -3e+102)
(/ x (+ (* y t) 1.0))
(if (<= y -4.5e-60)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y 1.75e-133)
(- x (* b (* x a)))
(if (<= y 2.15e-32)
(* (* y y) (/ x (* y y)))
(* y (* 0.5 (* y (* x (* t t)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -4.5e-60) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 1.75e-133) {
tmp = x - (b * (x * a));
} else if (y <= 2.15e-32) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-8.5d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-3d+102)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= (-4.5d-60)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= 1.75d-133) then
tmp = x - (b * (x * a))
else if (y <= 2.15d-32) then
tmp = (y * y) * (x / (y * y))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8.5e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -4.5e-60) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 1.75e-133) {
tmp = x - (b * (x * a));
} else if (y <= 2.15e-32) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -8.5e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -3e+102: tmp = x / ((y * t) + 1.0) elif y <= -4.5e-60: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= 1.75e-133: tmp = x - (b * (x * a)) elif y <= 2.15e-32: tmp = (y * y) * (x / (y * y)) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -8.5e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -3e+102) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= -4.5e-60) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= 1.75e-133) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 2.15e-32) tmp = Float64(Float64(y * y) * Float64(x / Float64(y * y))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -8.5e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -3e+102) tmp = x / ((y * t) + 1.0); elseif (y <= -4.5e-60) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= 1.75e-133) tmp = x - (b * (x * a)); elseif (y <= 2.15e-32) tmp = (y * y) * (x / (y * y)); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -8.5e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3e+102], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4.5e-60], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.75e-133], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.15e-32], N[(N[(y * y), $MachinePrecision] * N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -8.5 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -3 \cdot 10^{+102}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq -4.5 \cdot 10^{-60}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq 1.75 \cdot 10^{-133}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 2.15 \cdot 10^{-32}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \frac{x}{y \cdot y}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.49999999999999954e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -8.49999999999999954e241 < y < -2.9999999999999998e102Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6490.8%
Simplified90.8%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6453.7%
Simplified53.7%
if -2.9999999999999998e102 < y < -4.50000000000000001e-60Initial program 97.3%
Simplified97.3%
Taylor expanded in b around inf
*-lowering-*.f6449.6%
Simplified49.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6428.4%
Simplified28.4%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6423.2%
Applied egg-rr23.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.3%
Simplified52.3%
if -4.50000000000000001e-60 < y < 1.75000000000000001e-133Initial program 93.0%
Simplified93.0%
Taylor expanded in b around inf
*-lowering-*.f6483.3%
Simplified83.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6456.2%
Simplified56.2%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6444.9%
Simplified44.9%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.7%
Applied egg-rr49.7%
if 1.75000000000000001e-133 < y < 2.14999999999999995e-32Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified66.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6462.6%
Simplified62.6%
if 2.14999999999999995e-32 < y Initial program 96.7%
Simplified96.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6457.0%
Simplified57.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified28.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified51.8%
Final simplification52.3%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -9e+241)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y -2.3e+102)
(/ x (+ (* y t) 1.0))
(if (<= y -1.35e-59)
(/ (* 2.0 (/ x (* a a))) (* b b))
(if (<= y 1.2e-8)
(+ x (* b (* a (- (* 0.5 (* a (* x b))) x))))
(* y (* 0.5 (* y (* x (* t t))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -2.3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -1.35e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 1.2e-8) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-9d+241)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= (-2.3d+102)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= (-1.35d-59)) then
tmp = (2.0d0 * (x / (a * a))) / (b * b)
else if (y <= 1.2d-8) then
tmp = x + (b * (a * ((0.5d0 * (a * (x * b))) - x)))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9e+241) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= -2.3e+102) {
tmp = x / ((y * t) + 1.0);
} else if (y <= -1.35e-59) {
tmp = (2.0 * (x / (a * a))) / (b * b);
} else if (y <= 1.2e-8) {
tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x)));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -9e+241: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= -2.3e+102: tmp = x / ((y * t) + 1.0) elif y <= -1.35e-59: tmp = (2.0 * (x / (a * a))) / (b * b) elif y <= 1.2e-8: tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -9e+241) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= -2.3e+102) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= -1.35e-59) tmp = Float64(Float64(2.0 * Float64(x / Float64(a * a))) / Float64(b * b)); elseif (y <= 1.2e-8) tmp = Float64(x + Float64(b * Float64(a * Float64(Float64(0.5 * Float64(a * Float64(x * b))) - x)))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -9e+241) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= -2.3e+102) tmp = x / ((y * t) + 1.0); elseif (y <= -1.35e-59) tmp = (2.0 * (x / (a * a))) / (b * b); elseif (y <= 1.2e-8) tmp = x + (b * (a * ((0.5 * (a * (x * b))) - x))); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -9e+241], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.3e+102], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.35e-59], N[(N[(2.0 * N[(x / N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.2e-8], N[(x + N[(b * N[(a * N[(N[(0.5 * N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -9 \cdot 10^{+241}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{+102}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq -1.35 \cdot 10^{-59}:\\
\;\;\;\;\frac{2 \cdot \frac{x}{a \cdot a}}{b \cdot b}\\
\mathbf{elif}\;y \leq 1.2 \cdot 10^{-8}:\\
\;\;\;\;x + b \cdot \left(a \cdot \left(0.5 \cdot \left(a \cdot \left(x \cdot b\right)\right) - x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.99999999999999987e241Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6414.7%
Simplified14.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f643.5%
Simplified3.5%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f643.8%
Applied egg-rr3.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6454.4%
Simplified54.4%
if -8.99999999999999987e241 < y < -2.2999999999999999e102Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6490.8%
Simplified90.8%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6453.7%
Simplified53.7%
if -2.2999999999999999e102 < y < -1.3499999999999999e-59Initial program 97.3%
Simplified97.3%
Taylor expanded in b around inf
*-lowering-*.f6449.6%
Simplified49.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6428.4%
Simplified28.4%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6423.2%
Applied egg-rr23.2%
Taylor expanded in b around inf
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6452.3%
Simplified52.3%
if -1.3499999999999999e-59 < y < 1.19999999999999999e-8Initial program 93.7%
Simplified93.7%
Taylor expanded in b around inf
*-lowering-*.f6478.4%
Simplified78.4%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6450.2%
Simplified50.2%
Taylor expanded in b around 0
Simplified54.4%
if 1.19999999999999999e-8 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified25.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified52.7%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.35e-59)
(/ (* x 2.0) (* b (* b (* a a))))
(if (<= y 1.65e-133)
(- x (* b (* x a)))
(if (<= y 1.5e-31)
(* (* y y) (/ x (* y y)))
(* y (* 0.5 (* y (* x (* t t)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.35e-59) {
tmp = (x * 2.0) / (b * (b * (a * a)));
} else if (y <= 1.65e-133) {
tmp = x - (b * (x * a));
} else if (y <= 1.5e-31) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-1.35d-59)) then
tmp = (x * 2.0d0) / (b * (b * (a * a)))
else if (y <= 1.65d-133) then
tmp = x - (b * (x * a))
else if (y <= 1.5d-31) then
tmp = (y * y) * (x / (y * y))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.35e-59) {
tmp = (x * 2.0) / (b * (b * (a * a)));
} else if (y <= 1.65e-133) {
tmp = x - (b * (x * a));
} else if (y <= 1.5e-31) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.35e-59: tmp = (x * 2.0) / (b * (b * (a * a))) elif y <= 1.65e-133: tmp = x - (b * (x * a)) elif y <= 1.5e-31: tmp = (y * y) * (x / (y * y)) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.35e-59) tmp = Float64(Float64(x * 2.0) / Float64(b * Float64(b * Float64(a * a)))); elseif (y <= 1.65e-133) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 1.5e-31) tmp = Float64(Float64(y * y) * Float64(x / Float64(y * y))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.35e-59) tmp = (x * 2.0) / (b * (b * (a * a))); elseif (y <= 1.65e-133) tmp = x - (b * (x * a)); elseif (y <= 1.5e-31) tmp = (y * y) * (x / (y * y)); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.35e-59], N[(N[(x * 2.0), $MachinePrecision] / N[(b * N[(b * N[(a * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.65e-133], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.5e-31], N[(N[(y * y), $MachinePrecision] * N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.35 \cdot 10^{-59}:\\
\;\;\;\;\frac{x \cdot 2}{b \cdot \left(b \cdot \left(a \cdot a\right)\right)}\\
\mathbf{elif}\;y \leq 1.65 \cdot 10^{-133}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 1.5 \cdot 10^{-31}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \frac{x}{y \cdot y}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -1.3499999999999999e-59Initial program 98.7%
Simplified98.7%
Taylor expanded in b around inf
*-lowering-*.f6436.3%
Simplified36.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
Taylor expanded in b around inf
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6439.1%
Simplified39.1%
if -1.3499999999999999e-59 < y < 1.65000000000000005e-133Initial program 93.0%
Simplified93.0%
Taylor expanded in b around inf
*-lowering-*.f6483.3%
Simplified83.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6456.2%
Simplified56.2%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6444.9%
Simplified44.9%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.7%
Applied egg-rr49.7%
if 1.65000000000000005e-133 < y < 1.49999999999999991e-31Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified66.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6462.6%
Simplified62.6%
if 1.49999999999999991e-31 < y Initial program 96.7%
Simplified96.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6457.0%
Simplified57.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified28.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified51.8%
Final simplification48.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -8.5e-60)
(/ x (* 0.5 (* a (* a (* b b)))))
(if (<= y 1.9e-133)
(- x (* b (* x a)))
(if (<= y 3.4e-34)
(* (* y y) (/ x (* y y)))
(* y (* 0.5 (* y (* x (* t t)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8.5e-60) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 3.4e-34) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-8.5d-60)) then
tmp = x / (0.5d0 * (a * (a * (b * b))))
else if (y <= 1.9d-133) then
tmp = x - (b * (x * a))
else if (y <= 3.4d-34) then
tmp = (y * y) * (x / (y * y))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -8.5e-60) {
tmp = x / (0.5 * (a * (a * (b * b))));
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 3.4e-34) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -8.5e-60: tmp = x / (0.5 * (a * (a * (b * b)))) elif y <= 1.9e-133: tmp = x - (b * (x * a)) elif y <= 3.4e-34: tmp = (y * y) * (x / (y * y)) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -8.5e-60) tmp = Float64(x / Float64(0.5 * Float64(a * Float64(a * Float64(b * b))))); elseif (y <= 1.9e-133) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 3.4e-34) tmp = Float64(Float64(y * y) * Float64(x / Float64(y * y))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -8.5e-60) tmp = x / (0.5 * (a * (a * (b * b)))); elseif (y <= 1.9e-133) tmp = x - (b * (x * a)); elseif (y <= 3.4e-34) tmp = (y * y) * (x / (y * y)); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -8.5e-60], N[(x / N[(0.5 * N[(a * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e-133], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.4e-34], N[(N[(y * y), $MachinePrecision] * N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -8.5 \cdot 10^{-60}:\\
\;\;\;\;\frac{x}{0.5 \cdot \left(a \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-133}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 3.4 \cdot 10^{-34}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \frac{x}{y \cdot y}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -8.50000000000000044e-60Initial program 98.7%
Simplified98.7%
Taylor expanded in b around inf
*-lowering-*.f6436.3%
Simplified36.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.2%
Simplified22.2%
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6420.9%
Applied egg-rr20.9%
Taylor expanded in b around inf
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6437.9%
Simplified37.9%
if -8.50000000000000044e-60 < y < 1.9000000000000002e-133Initial program 93.0%
Simplified93.0%
Taylor expanded in b around inf
*-lowering-*.f6483.3%
Simplified83.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6456.2%
Simplified56.2%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6444.9%
Simplified44.9%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.7%
Applied egg-rr49.7%
if 1.9000000000000002e-133 < y < 3.4000000000000001e-34Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified66.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6462.6%
Simplified62.6%
if 3.4000000000000001e-34 < y Initial program 96.7%
Simplified96.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6457.0%
Simplified57.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified28.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified51.8%
Final simplification47.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.75e+90)
(/ x (+ (* y t) 1.0))
(if (<= y 1.9e-133)
(- x (* b (* x a)))
(if (<= y 1.3e-32)
(* (* y y) (/ x (* y y)))
(* y (* 0.5 (* y (* x (* t t)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.75e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 1.3e-32) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-1.75d+90)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= 1.9d-133) then
tmp = x - (b * (x * a))
else if (y <= 1.3d-32) then
tmp = (y * y) * (x / (y * y))
else
tmp = y * (0.5d0 * (y * (x * (t * t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.75e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 1.3e-32) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = y * (0.5 * (y * (x * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.75e+90: tmp = x / ((y * t) + 1.0) elif y <= 1.9e-133: tmp = x - (b * (x * a)) elif y <= 1.3e-32: tmp = (y * y) * (x / (y * y)) else: tmp = y * (0.5 * (y * (x * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.75e+90) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= 1.9e-133) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 1.3e-32) tmp = Float64(Float64(y * y) * Float64(x / Float64(y * y))); else tmp = Float64(y * Float64(0.5 * Float64(y * Float64(x * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.75e+90) tmp = x / ((y * t) + 1.0); elseif (y <= 1.9e-133) tmp = x - (b * (x * a)); elseif (y <= 1.3e-32) tmp = (y * y) * (x / (y * y)); else tmp = y * (0.5 * (y * (x * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.75e+90], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e-133], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.3e-32], N[(N[(y * y), $MachinePrecision] * N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(0.5 * N[(y * N[(x * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.75 \cdot 10^{+90}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-133}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 1.3 \cdot 10^{-32}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \frac{x}{y \cdot y}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(0.5 \cdot \left(y \cdot \left(x \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -1.7499999999999999e90Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.1%
Simplified72.1%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6439.7%
Simplified39.7%
if -1.7499999999999999e90 < y < 1.9000000000000002e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6474.7%
Simplified74.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6448.5%
Simplified48.5%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.8%
Simplified37.8%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.8%
Applied egg-rr40.8%
if 1.9000000000000002e-133 < y < 1.2999999999999999e-32Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6471.8%
Simplified71.8%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified66.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6462.6%
Simplified62.6%
if 1.2999999999999999e-32 < y Initial program 96.7%
Simplified96.8%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6457.0%
Simplified57.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified28.3%
Taylor expanded in y around inf
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-commutativeN/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
Simplified51.8%
Final simplification45.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -2.75e+90)
(/ x (+ (* y t) 1.0))
(if (<= y 1.9e-133)
(- x (* b (* x a)))
(if (<= y 4.2e-7) (* (* y y) (/ x (* y y))) (* x (* b (- 0.0 a)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.75e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 4.2e-7) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = x * (b * (0.0 - a));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-2.75d+90)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= 1.9d-133) then
tmp = x - (b * (x * a))
else if (y <= 4.2d-7) then
tmp = (y * y) * (x / (y * y))
else
tmp = x * (b * (0.0d0 - a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.75e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 1.9e-133) {
tmp = x - (b * (x * a));
} else if (y <= 4.2e-7) {
tmp = (y * y) * (x / (y * y));
} else {
tmp = x * (b * (0.0 - a));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -2.75e+90: tmp = x / ((y * t) + 1.0) elif y <= 1.9e-133: tmp = x - (b * (x * a)) elif y <= 4.2e-7: tmp = (y * y) * (x / (y * y)) else: tmp = x * (b * (0.0 - a)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -2.75e+90) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= 1.9e-133) tmp = Float64(x - Float64(b * Float64(x * a))); elseif (y <= 4.2e-7) tmp = Float64(Float64(y * y) * Float64(x / Float64(y * y))); else tmp = Float64(x * Float64(b * Float64(0.0 - a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -2.75e+90) tmp = x / ((y * t) + 1.0); elseif (y <= 1.9e-133) tmp = x - (b * (x * a)); elseif (y <= 4.2e-7) tmp = (y * y) * (x / (y * y)); else tmp = x * (b * (0.0 - a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -2.75e+90], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e-133], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.2e-7], N[(N[(y * y), $MachinePrecision] * N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.75 \cdot 10^{+90}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-133}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{elif}\;y \leq 4.2 \cdot 10^{-7}:\\
\;\;\;\;\left(y \cdot y\right) \cdot \frac{x}{y \cdot y}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\end{array}
\end{array}
if y < -2.74999999999999999e90Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.1%
Simplified72.1%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6439.7%
Simplified39.7%
if -2.74999999999999999e90 < y < 1.9000000000000002e-133Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6474.7%
Simplified74.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6448.5%
Simplified48.5%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.8%
Simplified37.8%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.8%
Applied egg-rr40.8%
if 1.9000000000000002e-133 < y < 4.2e-7Initial program 96.3%
Simplified96.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6466.3%
Simplified66.3%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified58.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
Simplified65.7%
Taylor expanded in t around 0
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6455.2%
Simplified55.2%
if 4.2e-7 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in b around inf
*-lowering-*.f6430.2%
Simplified30.2%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.3%
Simplified21.3%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6410.8%
Simplified10.8%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6430.7%
Simplified30.7%
Final simplification39.9%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.65e+90) (/ x (+ (* y t) 1.0)) (if (<= y 2.65) (- x (* b (* x a))) (* x (* b (- 0.0 a))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.65e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 2.65) {
tmp = x - (b * (x * a));
} else {
tmp = x * (b * (0.0 - a));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-1.65d+90)) then
tmp = x / ((y * t) + 1.0d0)
else if (y <= 2.65d0) then
tmp = x - (b * (x * a))
else
tmp = x * (b * (0.0d0 - a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.65e+90) {
tmp = x / ((y * t) + 1.0);
} else if (y <= 2.65) {
tmp = x - (b * (x * a));
} else {
tmp = x * (b * (0.0 - a));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.65e+90: tmp = x / ((y * t) + 1.0) elif y <= 2.65: tmp = x - (b * (x * a)) else: tmp = x * (b * (0.0 - a)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.65e+90) tmp = Float64(x / Float64(Float64(y * t) + 1.0)); elseif (y <= 2.65) tmp = Float64(x - Float64(b * Float64(x * a))); else tmp = Float64(x * Float64(b * Float64(0.0 - a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.65e+90) tmp = x / ((y * t) + 1.0); elseif (y <= 2.65) tmp = x - (b * (x * a)); else tmp = x * (b * (0.0 - a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.65e+90], N[(x / N[(N[(y * t), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.65], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.65 \cdot 10^{+90}:\\
\;\;\;\;\frac{x}{y \cdot t + 1}\\
\mathbf{elif}\;y \leq 2.65:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\end{array}
\end{array}
if y < -1.65000000000000004e90Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.1%
Simplified72.1%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6439.7%
Simplified39.7%
if -1.65000000000000004e90 < y < 2.64999999999999991Initial program 94.4%
Simplified94.4%
Taylor expanded in b around inf
*-lowering-*.f6472.3%
Simplified72.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6445.1%
Simplified45.1%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6439.3%
Simplified39.3%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.6%
Applied egg-rr40.6%
if 2.64999999999999991 < y Initial program 98.2%
Simplified98.2%
Taylor expanded in b around inf
*-lowering-*.f6430.2%
Simplified30.2%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.3%
Simplified21.3%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6410.8%
Simplified10.8%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6430.7%
Simplified30.7%
Final simplification38.3%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (* b (- 0.0 a))))) (if (<= y -4e-17) t_1 (if (<= y 4e-5) (- x (* b (* x a))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -4e-17) {
tmp = t_1;
} else if (y <= 4e-5) {
tmp = x - (b * (x * a));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x * (b * (0.0d0 - a))
if (y <= (-4d-17)) then
tmp = t_1
else if (y <= 4d-5) then
tmp = x - (b * (x * 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 t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -4e-17) {
tmp = t_1;
} else if (y <= 4e-5) {
tmp = x - (b * (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (b * (0.0 - a)) tmp = 0 if y <= -4e-17: tmp = t_1 elif y <= 4e-5: tmp = x - (b * (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(b * Float64(0.0 - a))) tmp = 0.0 if (y <= -4e-17) tmp = t_1; elseif (y <= 4e-5) tmp = Float64(x - Float64(b * Float64(x * a))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (b * (0.0 - a)); tmp = 0.0; if (y <= -4e-17) tmp = t_1; elseif (y <= 4e-5) tmp = x - (b * (x * a)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -4e-17], t$95$1, If[LessEqual[y, 4e-5], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\mathbf{if}\;y \leq -4 \cdot 10^{-17}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 4 \cdot 10^{-5}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -4.00000000000000029e-17 or 4.00000000000000033e-5 < y Initial program 98.4%
Simplified98.4%
Taylor expanded in b around inf
*-lowering-*.f6432.6%
Simplified32.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.0%
Simplified21.0%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6411.6%
Simplified11.6%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6425.0%
Simplified25.0%
if -4.00000000000000029e-17 < y < 4.00000000000000033e-5Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6477.7%
Simplified77.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6449.9%
Simplified49.9%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.5%
Simplified43.5%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6445.8%
Applied egg-rr45.8%
Final simplification35.5%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (* b (- 0.0 a))))) (if (<= y -1.75e-17) t_1 (if (<= y 0.044) (- x (* x (* a b))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -1.75e-17) {
tmp = t_1;
} else if (y <= 0.044) {
tmp = x - (x * (a * b));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x * (b * (0.0d0 - a))
if (y <= (-1.75d-17)) then
tmp = t_1
else if (y <= 0.044d0) then
tmp = x - (x * (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 t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -1.75e-17) {
tmp = t_1;
} else if (y <= 0.044) {
tmp = x - (x * (a * b));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (b * (0.0 - a)) tmp = 0 if y <= -1.75e-17: tmp = t_1 elif y <= 0.044: tmp = x - (x * (a * b)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(b * Float64(0.0 - a))) tmp = 0.0 if (y <= -1.75e-17) tmp = t_1; elseif (y <= 0.044) tmp = Float64(x - Float64(x * Float64(a * b))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (b * (0.0 - a)); tmp = 0.0; if (y <= -1.75e-17) tmp = t_1; elseif (y <= 0.044) tmp = x - (x * (a * b)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.75e-17], t$95$1, If[LessEqual[y, 0.044], N[(x - N[(x * N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\mathbf{if}\;y \leq -1.75 \cdot 10^{-17}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 0.044:\\
\;\;\;\;x - x \cdot \left(a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.7500000000000001e-17 or 0.043999999999999997 < y Initial program 98.4%
Simplified98.4%
Taylor expanded in b around inf
*-lowering-*.f6432.6%
Simplified32.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.0%
Simplified21.0%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6411.6%
Simplified11.6%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6425.0%
Simplified25.0%
if -1.7500000000000001e-17 < y < 0.043999999999999997Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6477.7%
Simplified77.7%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6445.0%
Simplified45.0%
Final simplification35.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (* b (- 0.0 a))))) (if (<= y -5e-17) t_1 (if (<= y 1.1e-7) (- x (* a (* x b))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -5e-17) {
tmp = t_1;
} else if (y <= 1.1e-7) {
tmp = x - (a * (x * b));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x * (b * (0.0d0 - a))
if (y <= (-5d-17)) then
tmp = t_1
else if (y <= 1.1d-7) then
tmp = x - (a * (x * 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 t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -5e-17) {
tmp = t_1;
} else if (y <= 1.1e-7) {
tmp = x - (a * (x * b));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (b * (0.0 - a)) tmp = 0 if y <= -5e-17: tmp = t_1 elif y <= 1.1e-7: tmp = x - (a * (x * b)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(b * Float64(0.0 - a))) tmp = 0.0 if (y <= -5e-17) tmp = t_1; elseif (y <= 1.1e-7) tmp = Float64(x - Float64(a * Float64(x * b))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (b * (0.0 - a)); tmp = 0.0; if (y <= -5e-17) tmp = t_1; elseif (y <= 1.1e-7) tmp = x - (a * (x * b)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -5e-17], t$95$1, If[LessEqual[y, 1.1e-7], N[(x - N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\mathbf{if}\;y \leq -5 \cdot 10^{-17}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 1.1 \cdot 10^{-7}:\\
\;\;\;\;x - a \cdot \left(x \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -4.9999999999999999e-17 or 1.1000000000000001e-7 < y Initial program 98.4%
Simplified98.4%
Taylor expanded in b around inf
*-lowering-*.f6432.6%
Simplified32.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.0%
Simplified21.0%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6411.6%
Simplified11.6%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6425.0%
Simplified25.0%
if -4.9999999999999999e-17 < y < 1.1000000000000001e-7Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6477.7%
Simplified77.7%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6449.9%
Simplified49.9%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.5%
Simplified43.5%
Final simplification34.4%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (* b (- 0.0 a))))) (if (<= y -1.95e-16) t_1 (if (<= y 0.003) x t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -1.95e-16) {
tmp = t_1;
} else if (y <= 0.003) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x * (b * (0.0d0 - a))
if (y <= (-1.95d-16)) then
tmp = t_1
else if (y <= 0.003d0) then
tmp = x
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 t_1 = x * (b * (0.0 - a));
double tmp;
if (y <= -1.95e-16) {
tmp = t_1;
} else if (y <= 0.003) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (b * (0.0 - a)) tmp = 0 if y <= -1.95e-16: tmp = t_1 elif y <= 0.003: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(b * Float64(0.0 - a))) tmp = 0.0 if (y <= -1.95e-16) tmp = t_1; elseif (y <= 0.003) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (b * (0.0 - a)); tmp = 0.0; if (y <= -1.95e-16) tmp = t_1; elseif (y <= 0.003) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.95e-16], t$95$1, If[LessEqual[y, 0.003], x, t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot \left(0 - a\right)\right)\\
\mathbf{if}\;y \leq -1.95 \cdot 10^{-16}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 0.003:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.94999999999999989e-16 or 0.0030000000000000001 < y Initial program 98.4%
Simplified98.4%
Taylor expanded in b around inf
*-lowering-*.f6432.6%
Simplified32.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6421.0%
Simplified21.0%
Taylor expanded in b around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6411.6%
Simplified11.6%
Taylor expanded in a around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6425.0%
Simplified25.0%
if -1.94999999999999989e-16 < y < 0.0030000000000000001Initial program 94.0%
Simplified94.0%
Taylor expanded in b around inf
*-lowering-*.f6477.7%
Simplified77.7%
Taylor expanded in a around 0
Simplified35.7%
Final simplification30.4%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* t (* x (- 0.0 y))))) (if (<= y -1.35e-59) t_1 (if (<= y 2.35e-7) x t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (x * (0.0 - y));
double tmp;
if (y <= -1.35e-59) {
tmp = t_1;
} else if (y <= 2.35e-7) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = t * (x * (0.0d0 - y))
if (y <= (-1.35d-59)) then
tmp = t_1
else if (y <= 2.35d-7) then
tmp = x
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 t_1 = t * (x * (0.0 - y));
double tmp;
if (y <= -1.35e-59) {
tmp = t_1;
} else if (y <= 2.35e-7) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (x * (0.0 - y)) tmp = 0 if y <= -1.35e-59: tmp = t_1 elif y <= 2.35e-7: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(x * Float64(0.0 - y))) tmp = 0.0 if (y <= -1.35e-59) tmp = t_1; elseif (y <= 2.35e-7) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (x * (0.0 - y)); tmp = 0.0; if (y <= -1.35e-59) tmp = t_1; elseif (y <= 2.35e-7) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(x * N[(0.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.35e-59], t$95$1, If[LessEqual[y, 2.35e-7], x, t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(x \cdot \left(0 - y\right)\right)\\
\mathbf{if}\;y \leq -1.35 \cdot 10^{-59}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 2.35 \cdot 10^{-7}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.3499999999999999e-59 or 2.35e-7 < y Initial program 98.5%
Simplified98.5%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6459.0%
Simplified59.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified21.0%
Taylor expanded in y around 0
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6413.1%
Simplified13.1%
Taylor expanded in y around inf
mul-1-negN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6415.0%
Simplified15.0%
if -1.3499999999999999e-59 < y < 2.35e-7Initial program 93.7%
Simplified93.7%
Taylor expanded in b around inf
*-lowering-*.f6478.4%
Simplified78.4%
Taylor expanded in a around 0
Simplified36.9%
Final simplification25.7%
(FPCore (x y z t a b) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b) {
return x;
}
real(8) function code(x, y, z, t, a, b)
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
code = x
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x;
}
def code(x, y, z, t, a, b): return x
function code(x, y, z, t, a, b) return x end
function tmp = code(x, y, z, t, a, b) tmp = x; end
code[x_, y_, z_, t_, a_, b_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 96.2%
Simplified96.2%
Taylor expanded in b around inf
*-lowering-*.f6455.5%
Simplified55.5%
Taylor expanded in a around 0
Simplified20.3%
herbie shell --seed 2024155
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))