
(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 26 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 (+ (* a (+ b z)) (* y (- t (log z)))))))
double code(double x, double y, double z, double t, double a, double b) {
return x / exp(((a * (b + z)) + (y * (t - log(z)))));
}
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(((a * (b + z)) + (y * (t - log(z)))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x / Math.exp(((a * (b + z)) + (y * (t - Math.log(z)))));
}
def code(x, y, z, t, a, b): return x / math.exp(((a * (b + z)) + (y * (t - math.log(z)))))
function code(x, y, z, t, a, b) return Float64(x / exp(Float64(Float64(a * Float64(b + z)) + Float64(y * Float64(t - log(z)))))) end
function tmp = code(x, y, z, t, a, b) tmp = x / exp(((a * (b + z)) + (y * (t - log(z))))); end
code[x_, y_, z_, t_, a_, b_] := N[(x / N[Exp[N[(N[(a * N[(b + z), $MachinePrecision]), $MachinePrecision] + N[(y * N[(t - N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{e^{a \cdot \left(b + z\right) + y \cdot \left(t - \log z\right)}}
\end{array}
Initial program 96.5%
Simplified96.5%
Taylor expanded in z around 0
associate-+r+N/A
+-lowering-+.f64N/A
distribute-lft-outN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f64100.0%
Simplified100.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* y (- t (log z)))))))
(if (<= y -2200000000.0)
t_1
(if (<= y 1.9e-47) (/ 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 <= -2200000000.0) {
tmp = t_1;
} else if (y <= 1.9e-47) {
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 <= (-2200000000.0d0)) then
tmp = t_1
else if (y <= 1.9d-47) 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 <= -2200000000.0) {
tmp = t_1;
} else if (y <= 1.9e-47) {
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 <= -2200000000.0: tmp = t_1 elif y <= 1.9e-47: 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 <= -2200000000.0) tmp = t_1; elseif (y <= 1.9e-47) 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 <= -2200000000.0) tmp = t_1; elseif (y <= 1.9e-47) 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, -2200000000.0], t$95$1, If[LessEqual[y, 1.9e-47], 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 -2200000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-47}:\\
\;\;\;\;\frac{x}{e^{a \cdot \left(b - \log \left(1 - z\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.2e9 or 1.90000000000000007e-47 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6492.3%
Simplified92.3%
if -2.2e9 < y < 1.90000000000000007e-47Initial program 92.3%
Simplified92.3%
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--.f6484.1%
Simplified84.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* y (- t (log z)))))))
(if (<= y -2200000000.0)
t_1
(if (<= y 1.2e-49) (* x (pow (exp -2.0) (/ (* a b) 2.0))) 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 <= -2200000000.0) {
tmp = t_1;
} else if (y <= 1.2e-49) {
tmp = x * pow(exp(-2.0), ((a * b) / 2.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) :: tmp
t_1 = x / exp((y * (t - log(z))))
if (y <= (-2200000000.0d0)) then
tmp = t_1
else if (y <= 1.2d-49) then
tmp = x * (exp((-2.0d0)) ** ((a * b) / 2.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 / Math.exp((y * (t - Math.log(z))));
double tmp;
if (y <= -2200000000.0) {
tmp = t_1;
} else if (y <= 1.2e-49) {
tmp = x * Math.pow(Math.exp(-2.0), ((a * b) / 2.0));
} 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 <= -2200000000.0: tmp = t_1 elif y <= 1.2e-49: tmp = x * math.pow(math.exp(-2.0), ((a * b) / 2.0)) 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 <= -2200000000.0) tmp = t_1; elseif (y <= 1.2e-49) tmp = Float64(x * (exp(-2.0) ^ Float64(Float64(a * b) / 2.0))); 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 <= -2200000000.0) tmp = t_1; elseif (y <= 1.2e-49) tmp = x * (exp(-2.0) ^ ((a * b) / 2.0)); 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, -2200000000.0], t$95$1, If[LessEqual[y, 1.2e-49], N[(x * N[Power[N[Exp[-2.0], $MachinePrecision], N[(N[(a * b), $MachinePrecision] / 2.0), $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 -2200000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 1.2 \cdot 10^{-49}:\\
\;\;\;\;x \cdot {\left(e^{-2}\right)}^{\left(\frac{a \cdot b}{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.2e9 or 1.19999999999999996e-49 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6492.3%
Simplified92.3%
if -2.2e9 < y < 1.19999999999999996e-49Initial program 92.3%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.5%
Simplified82.5%
sub0-negN/A
neg-mul-1N/A
exp-prodN/A
pow-lowering-pow.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f6482.5%
Applied egg-rr82.5%
sqr-powN/A
pow-prod-downN/A
pow-lowering-pow.f64N/A
rem-log-expN/A
rem-log-expN/A
prod-expN/A
rem-log-expN/A
rem-log-expN/A
metadata-evalN/A
metadata-evalN/A
exp-lowering-exp.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
*-lowering-*.f6482.5%
Applied egg-rr82.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (exp (* y (- t (log z)))))))
(if (<= y -2200000000.0)
t_1
(if (<= y 2.8e-49) (* x (pow (exp -1.0) (* 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 <= -2200000000.0) {
tmp = t_1;
} else if (y <= 2.8e-49) {
tmp = x * pow(exp(-1.0), (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 <= (-2200000000.0d0)) then
tmp = t_1
else if (y <= 2.8d-49) then
tmp = x * (exp((-1.0d0)) ** (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 <= -2200000000.0) {
tmp = t_1;
} else if (y <= 2.8e-49) {
tmp = x * Math.pow(Math.exp(-1.0), (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 <= -2200000000.0: tmp = t_1 elif y <= 2.8e-49: tmp = x * math.pow(math.exp(-1.0), (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 <= -2200000000.0) tmp = t_1; elseif (y <= 2.8e-49) tmp = Float64(x * (exp(-1.0) ^ 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 <= -2200000000.0) tmp = t_1; elseif (y <= 2.8e-49) tmp = x * (exp(-1.0) ^ (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, -2200000000.0], t$95$1, If[LessEqual[y, 2.8e-49], N[(x * N[Power[N[Exp[-1.0], $MachinePrecision], 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 -2200000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{-49}:\\
\;\;\;\;x \cdot {\left(e^{-1}\right)}^{\left(a \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.2e9 or 2.79999999999999997e-49 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in a around 0
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
log-lowering-log.f6492.3%
Simplified92.3%
if -2.2e9 < y < 2.79999999999999997e-49Initial program 92.3%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.5%
Simplified82.5%
sub0-negN/A
neg-mul-1N/A
exp-prodN/A
pow-lowering-pow.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f6482.5%
Applied egg-rr82.5%
(FPCore (x y z t a b) :precision binary64 (if (<= b -1.16e-92) (/ x (exp (* a b))) (if (<= b 2.3e+44) (/ x (exp (* y t))) (* x (pow (exp -1.0) (* a b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.16e-92) {
tmp = x / exp((a * b));
} else if (b <= 2.3e+44) {
tmp = x / exp((y * t));
} else {
tmp = x * pow(exp(-1.0), (a * b));
}
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 (b <= (-1.16d-92)) then
tmp = x / exp((a * b))
else if (b <= 2.3d+44) then
tmp = x / exp((y * t))
else
tmp = x * (exp((-1.0d0)) ** (a * b))
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 (b <= -1.16e-92) {
tmp = x / Math.exp((a * b));
} else if (b <= 2.3e+44) {
tmp = x / Math.exp((y * t));
} else {
tmp = x * Math.pow(Math.exp(-1.0), (a * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.16e-92: tmp = x / math.exp((a * b)) elif b <= 2.3e+44: tmp = x / math.exp((y * t)) else: tmp = x * math.pow(math.exp(-1.0), (a * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.16e-92) tmp = Float64(x / exp(Float64(a * b))); elseif (b <= 2.3e+44) tmp = Float64(x / exp(Float64(y * t))); else tmp = Float64(x * (exp(-1.0) ^ Float64(a * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.16e-92) tmp = x / exp((a * b)); elseif (b <= 2.3e+44) tmp = x / exp((y * t)); else tmp = x * (exp(-1.0) ^ (a * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.16e-92], N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.3e+44], N[(x / N[Exp[N[(y * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(x * N[Power[N[Exp[-1.0], $MachinePrecision], N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.16 \cdot 10^{-92}:\\
\;\;\;\;\frac{x}{e^{a \cdot b}}\\
\mathbf{elif}\;b \leq 2.3 \cdot 10^{+44}:\\
\;\;\;\;\frac{x}{e^{y \cdot t}}\\
\mathbf{else}:\\
\;\;\;\;x \cdot {\left(e^{-1}\right)}^{\left(a \cdot b\right)}\\
\end{array}
\end{array}
if b < -1.1599999999999999e-92Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6474.6%
Simplified74.6%
if -1.1599999999999999e-92 < b < 2.30000000000000004e44Initial program 92.7%
Simplified92.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.2%
Simplified72.2%
if 2.30000000000000004e44 < b Initial program 99.8%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6487.1%
Simplified87.1%
sub0-negN/A
neg-mul-1N/A
exp-prodN/A
pow-lowering-pow.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f6487.1%
Applied egg-rr87.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -2.45e+179)
(* x (+ 1.0 (* t (- (* 0.5 (* t (* y y))) y))))
(if (<= y -3400000000.0)
(/ (* 2.0 (/ x (* b b))) (* a a))
(if (<= y 1700.0)
(/ x (exp (* a b)))
(if (<= y 7.2e+134)
(*
x
(*
a
(*
(* a a)
(+ (* b (* (* b b) -0.16666666666666666)) (/ (* 0.5 (* b b)) a)))))
(/ x (+ 1.0 (* t (+ y (* t (* 0.5 (* y y))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.45e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -3400000000.0) {
tmp = (2.0 * (x / (b * b))) / (a * a);
} else if (y <= 1700.0) {
tmp = x / exp((a * b));
} else if (y <= 7.2e+134) {
tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + ((0.5 * (b * b)) / a))));
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * 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) :: tmp
if (y <= (-2.45d+179)) then
tmp = x * (1.0d0 + (t * ((0.5d0 * (t * (y * y))) - y)))
else if (y <= (-3400000000.0d0)) then
tmp = (2.0d0 * (x / (b * b))) / (a * a)
else if (y <= 1700.0d0) then
tmp = x / exp((a * b))
else if (y <= 7.2d+134) then
tmp = x * (a * ((a * a) * ((b * ((b * b) * (-0.16666666666666666d0))) + ((0.5d0 * (b * b)) / a))))
else
tmp = x / (1.0d0 + (t * (y + (t * (0.5d0 * (y * y))))))
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.45e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -3400000000.0) {
tmp = (2.0 * (x / (b * b))) / (a * a);
} else if (y <= 1700.0) {
tmp = x / Math.exp((a * b));
} else if (y <= 7.2e+134) {
tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + ((0.5 * (b * b)) / a))));
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y))))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -2.45e+179: tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))) elif y <= -3400000000.0: tmp = (2.0 * (x / (b * b))) / (a * a) elif y <= 1700.0: tmp = x / math.exp((a * b)) elif y <= 7.2e+134: tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + ((0.5 * (b * b)) / a)))) else: tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -2.45e+179) tmp = Float64(x * Float64(1.0 + Float64(t * Float64(Float64(0.5 * Float64(t * Float64(y * y))) - y)))); elseif (y <= -3400000000.0) tmp = Float64(Float64(2.0 * Float64(x / Float64(b * b))) / Float64(a * a)); elseif (y <= 1700.0) tmp = Float64(x / exp(Float64(a * b))); elseif (y <= 7.2e+134) tmp = Float64(x * Float64(a * Float64(Float64(a * a) * Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) + Float64(Float64(0.5 * Float64(b * b)) / a))))); else tmp = Float64(x / Float64(1.0 + Float64(t * Float64(y + Float64(t * Float64(0.5 * Float64(y * y))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -2.45e+179) tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))); elseif (y <= -3400000000.0) tmp = (2.0 * (x / (b * b))) / (a * a); elseif (y <= 1700.0) tmp = x / exp((a * b)); elseif (y <= 7.2e+134) tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + ((0.5 * (b * b)) / a)))); else tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -2.45e+179], N[(x * N[(1.0 + N[(t * N[(N[(0.5 * N[(t * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3400000000.0], N[(N[(2.0 * N[(x / N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1700.0], N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+134], N[(x * N[(a * N[(N[(a * a), $MachinePrecision] * N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] + N[(N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(1.0 + N[(t * N[(y + N[(t * N[(0.5 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.45 \cdot 10^{+179}:\\
\;\;\;\;x \cdot \left(1 + t \cdot \left(0.5 \cdot \left(t \cdot \left(y \cdot y\right)\right) - y\right)\right)\\
\mathbf{elif}\;y \leq -3400000000:\\
\;\;\;\;\frac{2 \cdot \frac{x}{b \cdot b}}{a \cdot a}\\
\mathbf{elif}\;y \leq 1700:\\
\;\;\;\;\frac{x}{e^{a \cdot b}}\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+134}:\\
\;\;\;\;x \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right) + \frac{0.5 \cdot \left(b \cdot b\right)}{a}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + t \cdot \left(y + t \cdot \left(0.5 \cdot \left(y \cdot y\right)\right)\right)}\\
\end{array}
\end{array}
if y < -2.4499999999999999e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6467.2%
Simplified67.2%
if -2.4499999999999999e179 < y < -3.4e9Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6430.8%
Simplified30.8%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6423.9%
Simplified23.9%
Taylor expanded in a around inf
associate-*r/N/A
*-commutativeN/A
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-*.f6468.5%
Simplified68.5%
if -3.4e9 < y < 1700Initial program 93.2%
Simplified93.2%
Taylor expanded in b around inf
*-lowering-*.f6482.0%
Simplified82.0%
if 1700 < y < 7.19999999999999976e134Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6440.8%
Simplified40.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
Simplified27.9%
Taylor expanded in a around inf
cube-multN/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
cube-multN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6455.5%
Simplified55.5%
if 7.19999999999999976e134 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6465.3%
Simplified65.3%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6468.2%
Simplified68.2%
(FPCore (x y z t a b) :precision binary64 (if (<= b -1.4e-92) (/ x (exp (* a b))) (if (<= b 1.45e+47) (/ x (exp (* y t))) (* x (exp (- 0.0 (* a b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.4e-92) {
tmp = x / exp((a * b));
} else if (b <= 1.45e+47) {
tmp = x / exp((y * t));
} else {
tmp = x * exp((0.0 - (a * b)));
}
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 (b <= (-1.4d-92)) then
tmp = x / exp((a * b))
else if (b <= 1.45d+47) then
tmp = x / exp((y * t))
else
tmp = x * exp((0.0d0 - (a * b)))
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 (b <= -1.4e-92) {
tmp = x / Math.exp((a * b));
} else if (b <= 1.45e+47) {
tmp = x / Math.exp((y * t));
} else {
tmp = x * Math.exp((0.0 - (a * b)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.4e-92: tmp = x / math.exp((a * b)) elif b <= 1.45e+47: tmp = x / math.exp((y * t)) else: tmp = x * math.exp((0.0 - (a * b))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.4e-92) tmp = Float64(x / exp(Float64(a * b))); elseif (b <= 1.45e+47) tmp = Float64(x / exp(Float64(y * t))); else tmp = Float64(x * exp(Float64(0.0 - Float64(a * b)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.4e-92) tmp = x / exp((a * b)); elseif (b <= 1.45e+47) tmp = x / exp((y * t)); else tmp = x * exp((0.0 - (a * b))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.4e-92], N[(x / N[Exp[N[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.45e+47], N[(x / N[Exp[N[(y * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[(0.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.4 \cdot 10^{-92}:\\
\;\;\;\;\frac{x}{e^{a \cdot b}}\\
\mathbf{elif}\;b \leq 1.45 \cdot 10^{+47}:\\
\;\;\;\;\frac{x}{e^{y \cdot t}}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{0 - a \cdot b}\\
\end{array}
\end{array}
if b < -1.4e-92Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6474.6%
Simplified74.6%
if -1.4e-92 < b < 1.4499999999999999e47Initial program 92.7%
Simplified92.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.2%
Simplified72.2%
if 1.4499999999999999e47 < b Initial program 99.8%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6487.1%
Simplified87.1%
sub0-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6487.1%
Applied egg-rr87.1%
Final simplification76.4%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (/ x (exp (* a b))))) (if (<= b -1.4e-91) t_1 (if (<= b 1e+51) (/ x (exp (* y t))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / exp((a * b));
double tmp;
if (b <= -1.4e-91) {
tmp = t_1;
} else if (b <= 1e+51) {
tmp = x / exp((y * t));
} 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((a * b))
if (b <= (-1.4d-91)) then
tmp = t_1
else if (b <= 1d+51) then
tmp = x / exp((y * t))
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((a * b));
double tmp;
if (b <= -1.4e-91) {
tmp = t_1;
} else if (b <= 1e+51) {
tmp = x / Math.exp((y * t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / math.exp((a * b)) tmp = 0 if b <= -1.4e-91: tmp = t_1 elif b <= 1e+51: tmp = x / math.exp((y * t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / exp(Float64(a * b))) tmp = 0.0 if (b <= -1.4e-91) tmp = t_1; elseif (b <= 1e+51) tmp = Float64(x / exp(Float64(y * t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / exp((a * b)); tmp = 0.0; if (b <= -1.4e-91) tmp = t_1; elseif (b <= 1e+51) tmp = x / exp((y * t)); 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[(a * b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.4e-91], t$95$1, If[LessEqual[b, 1e+51], N[(x / N[Exp[N[(y * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{e^{a \cdot b}}\\
\mathbf{if}\;b \leq -1.4 \cdot 10^{-91}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 10^{+51}:\\
\;\;\;\;\frac{x}{e^{y \cdot t}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.4e-91 or 1e51 < b Initial program 99.9%
Simplified99.9%
Taylor expanded in b around inf
*-lowering-*.f6480.1%
Simplified80.1%
if -1.4e-91 < b < 1e51Initial program 92.7%
Simplified92.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6472.2%
Simplified72.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* 0.5 (* b b))))
(if (<= y -2.45e+179)
(* x (+ 1.0 (* t (- (* 0.5 (* t (* y y))) y))))
(if (<= y -3.3e-57)
(/ x (* a (* a t_1)))
(if (<= y 620.0)
(* x (+ 1.0 (* b (- (* b (* a (* a 0.5))) a))))
(if (<= y 7.2e+131)
(*
x
(*
a
(* (* a a) (+ (* b (* (* b b) -0.16666666666666666)) (/ t_1 a)))))
(/ x (+ 1.0 (* t (+ y (* t (* 0.5 (* y y)))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (b * b);
double tmp;
if (y <= -2.45e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -3.3e-57) {
tmp = x / (a * (a * t_1));
} else if (y <= 620.0) {
tmp = x * (1.0 + (b * ((b * (a * (a * 0.5))) - a)));
} else if (y <= 7.2e+131) {
tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + (t_1 / a))));
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * 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 = 0.5d0 * (b * b)
if (y <= (-2.45d+179)) then
tmp = x * (1.0d0 + (t * ((0.5d0 * (t * (y * y))) - y)))
else if (y <= (-3.3d-57)) then
tmp = x / (a * (a * t_1))
else if (y <= 620.0d0) then
tmp = x * (1.0d0 + (b * ((b * (a * (a * 0.5d0))) - a)))
else if (y <= 7.2d+131) then
tmp = x * (a * ((a * a) * ((b * ((b * b) * (-0.16666666666666666d0))) + (t_1 / a))))
else
tmp = x / (1.0d0 + (t * (y + (t * (0.5d0 * (y * 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 * (b * b);
double tmp;
if (y <= -2.45e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -3.3e-57) {
tmp = x / (a * (a * t_1));
} else if (y <= 620.0) {
tmp = x * (1.0 + (b * ((b * (a * (a * 0.5))) - a)));
} else if (y <= 7.2e+131) {
tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + (t_1 / a))));
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y))))));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (b * b) tmp = 0 if y <= -2.45e+179: tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))) elif y <= -3.3e-57: tmp = x / (a * (a * t_1)) elif y <= 620.0: tmp = x * (1.0 + (b * ((b * (a * (a * 0.5))) - a))) elif y <= 7.2e+131: tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + (t_1 / a)))) else: tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(b * b)) tmp = 0.0 if (y <= -2.45e+179) tmp = Float64(x * Float64(1.0 + Float64(t * Float64(Float64(0.5 * Float64(t * Float64(y * y))) - y)))); elseif (y <= -3.3e-57) tmp = Float64(x / Float64(a * Float64(a * t_1))); elseif (y <= 620.0) tmp = Float64(x * Float64(1.0 + Float64(b * Float64(Float64(b * Float64(a * Float64(a * 0.5))) - a)))); elseif (y <= 7.2e+131) tmp = Float64(x * Float64(a * Float64(Float64(a * a) * Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) + Float64(t_1 / a))))); else tmp = Float64(x / Float64(1.0 + Float64(t * Float64(y + Float64(t * Float64(0.5 * Float64(y * y))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (b * b); tmp = 0.0; if (y <= -2.45e+179) tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))); elseif (y <= -3.3e-57) tmp = x / (a * (a * t_1)); elseif (y <= 620.0) tmp = x * (1.0 + (b * ((b * (a * (a * 0.5))) - a))); elseif (y <= 7.2e+131) tmp = x * (a * ((a * a) * ((b * ((b * b) * -0.16666666666666666)) + (t_1 / a)))); else tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.45e+179], N[(x * N[(1.0 + N[(t * N[(N[(0.5 * N[(t * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3.3e-57], N[(x / N[(a * N[(a * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 620.0], N[(x * N[(1.0 + N[(b * N[(N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+131], N[(x * N[(a * N[(N[(a * a), $MachinePrecision] * N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(1.0 + N[(t * N[(y + N[(t * N[(0.5 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(b \cdot b\right)\\
\mathbf{if}\;y \leq -2.45 \cdot 10^{+179}:\\
\;\;\;\;x \cdot \left(1 + t \cdot \left(0.5 \cdot \left(t \cdot \left(y \cdot y\right)\right) - y\right)\right)\\
\mathbf{elif}\;y \leq -3.3 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot t\_1\right)}\\
\mathbf{elif}\;y \leq 620:\\
\;\;\;\;x \cdot \left(1 + b \cdot \left(b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right) - a\right)\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+131}:\\
\;\;\;\;x \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right) + \frac{t\_1}{a}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + t \cdot \left(y + t \cdot \left(0.5 \cdot \left(y \cdot y\right)\right)\right)}\\
\end{array}
\end{array}
if y < -2.4499999999999999e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6467.2%
Simplified67.2%
if -2.4499999999999999e179 < y < -3.2999999999999998e-57Initial program 95.0%
Simplified95.0%
Taylor expanded in b around inf
*-lowering-*.f6441.5%
Simplified41.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6426.1%
Simplified26.1%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.7%
Simplified61.7%
if -3.2999999999999998e-57 < y < 620Initial program 94.2%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.9%
Simplified82.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6460.3%
Simplified60.3%
if 620 < y < 7.20000000000000063e131Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6440.8%
Simplified40.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
Simplified27.9%
Taylor expanded in a around inf
cube-multN/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
cube-multN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6455.5%
Simplified55.5%
if 7.20000000000000063e131 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6465.3%
Simplified65.3%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6468.2%
Simplified68.2%
Final simplification61.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (* a 0.5))))
(if (<= y -3.9e+179)
(* x (+ 1.0 (* t (- (* 0.5 (* t (* y y))) y))))
(if (<= y -4.8e-57)
(/ x (* a (* a (* 0.5 (* b b)))))
(if (<= y 1.42e-12)
(* x (+ 1.0 (* b (- (* b t_1) a))))
(if (<= y 4.6e+134)
(* (* x (* b b)) t_1)
(/ x (+ 1.0 (* t (+ y (* t (* 0.5 (* y y)))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (a * 0.5);
double tmp;
if (y <= -3.9e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -4.8e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 1.42e-12) {
tmp = x * (1.0 + (b * ((b * t_1) - a)));
} else if (y <= 4.6e+134) {
tmp = (x * (b * b)) * t_1;
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * 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 = a * (a * 0.5d0)
if (y <= (-3.9d+179)) then
tmp = x * (1.0d0 + (t * ((0.5d0 * (t * (y * y))) - y)))
else if (y <= (-4.8d-57)) then
tmp = x / (a * (a * (0.5d0 * (b * b))))
else if (y <= 1.42d-12) then
tmp = x * (1.0d0 + (b * ((b * t_1) - a)))
else if (y <= 4.6d+134) then
tmp = (x * (b * b)) * t_1
else
tmp = x / (1.0d0 + (t * (y + (t * (0.5d0 * (y * 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 = a * (a * 0.5);
double tmp;
if (y <= -3.9e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -4.8e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 1.42e-12) {
tmp = x * (1.0 + (b * ((b * t_1) - a)));
} else if (y <= 4.6e+134) {
tmp = (x * (b * b)) * t_1;
} else {
tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y))))));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (a * 0.5) tmp = 0 if y <= -3.9e+179: tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))) elif y <= -4.8e-57: tmp = x / (a * (a * (0.5 * (b * b)))) elif y <= 1.42e-12: tmp = x * (1.0 + (b * ((b * t_1) - a))) elif y <= 4.6e+134: tmp = (x * (b * b)) * t_1 else: tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(a * 0.5)) tmp = 0.0 if (y <= -3.9e+179) tmp = Float64(x * Float64(1.0 + Float64(t * Float64(Float64(0.5 * Float64(t * Float64(y * y))) - y)))); elseif (y <= -4.8e-57) tmp = Float64(x / Float64(a * Float64(a * Float64(0.5 * Float64(b * b))))); elseif (y <= 1.42e-12) tmp = Float64(x * Float64(1.0 + Float64(b * Float64(Float64(b * t_1) - a)))); elseif (y <= 4.6e+134) tmp = Float64(Float64(x * Float64(b * b)) * t_1); else tmp = Float64(x / Float64(1.0 + Float64(t * Float64(y + Float64(t * Float64(0.5 * Float64(y * y))))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a * (a * 0.5); tmp = 0.0; if (y <= -3.9e+179) tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))); elseif (y <= -4.8e-57) tmp = x / (a * (a * (0.5 * (b * b)))); elseif (y <= 1.42e-12) tmp = x * (1.0 + (b * ((b * t_1) - a))); elseif (y <= 4.6e+134) tmp = (x * (b * b)) * t_1; else tmp = x / (1.0 + (t * (y + (t * (0.5 * (y * y)))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.9e+179], N[(x * N[(1.0 + N[(t * N[(N[(0.5 * N[(t * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4.8e-57], N[(x / N[(a * N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.42e-12], N[(x * N[(1.0 + N[(b * N[(N[(b * t$95$1), $MachinePrecision] - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.6e+134], N[(N[(x * N[(b * b), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision], N[(x / N[(1.0 + N[(t * N[(y + N[(t * N[(0.5 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(a \cdot 0.5\right)\\
\mathbf{if}\;y \leq -3.9 \cdot 10^{+179}:\\
\;\;\;\;x \cdot \left(1 + t \cdot \left(0.5 \cdot \left(t \cdot \left(y \cdot y\right)\right) - y\right)\right)\\
\mathbf{elif}\;y \leq -4.8 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 1.42 \cdot 10^{-12}:\\
\;\;\;\;x \cdot \left(1 + b \cdot \left(b \cdot t\_1 - a\right)\right)\\
\mathbf{elif}\;y \leq 4.6 \cdot 10^{+134}:\\
\;\;\;\;\left(x \cdot \left(b \cdot b\right)\right) \cdot t\_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + t \cdot \left(y + t \cdot \left(0.5 \cdot \left(y \cdot y\right)\right)\right)}\\
\end{array}
\end{array}
if y < -3.89999999999999974e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6467.2%
Simplified67.2%
if -3.89999999999999974e179 < y < -4.80000000000000012e-57Initial program 95.0%
Simplified95.0%
Taylor expanded in b around inf
*-lowering-*.f6441.5%
Simplified41.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6426.1%
Simplified26.1%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.7%
Simplified61.7%
if -4.80000000000000012e-57 < y < 1.42e-12Initial program 94.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6483.3%
Simplified83.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6460.9%
Simplified60.9%
if 1.42e-12 < y < 4.5999999999999996e134Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6443.3%
Simplified43.3%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6423.1%
Simplified23.1%
Taylor expanded in a around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6453.7%
Simplified53.7%
if 4.5999999999999996e134 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6465.3%
Simplified65.3%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6468.2%
Simplified68.2%
Final simplification61.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (* a (* a 0.5)))))
(if (<= y -2.55e+179)
(* x (+ 1.0 (* t (- (* 0.5 (* t (* y y))) y))))
(if (<= y -7.5e-57)
(/ x (* a (* a (* 0.5 (* b b)))))
(if (<= y 560.0) (* x (+ 1.0 (* b (- t_1 a)))) (* x (* b t_1)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = b * (a * (a * 0.5));
double tmp;
if (y <= -2.55e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -7.5e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 560.0) {
tmp = x * (1.0 + (b * (t_1 - a)));
} else {
tmp = x * (b * 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 = b * (a * (a * 0.5d0))
if (y <= (-2.55d+179)) then
tmp = x * (1.0d0 + (t * ((0.5d0 * (t * (y * y))) - y)))
else if (y <= (-7.5d-57)) then
tmp = x / (a * (a * (0.5d0 * (b * b))))
else if (y <= 560.0d0) then
tmp = x * (1.0d0 + (b * (t_1 - a)))
else
tmp = x * (b * 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 = b * (a * (a * 0.5));
double tmp;
if (y <= -2.55e+179) {
tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y)));
} else if (y <= -7.5e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 560.0) {
tmp = x * (1.0 + (b * (t_1 - a)));
} else {
tmp = x * (b * t_1);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = b * (a * (a * 0.5)) tmp = 0 if y <= -2.55e+179: tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))) elif y <= -7.5e-57: tmp = x / (a * (a * (0.5 * (b * b)))) elif y <= 560.0: tmp = x * (1.0 + (b * (t_1 - a))) else: tmp = x * (b * t_1) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(b * Float64(a * Float64(a * 0.5))) tmp = 0.0 if (y <= -2.55e+179) tmp = Float64(x * Float64(1.0 + Float64(t * Float64(Float64(0.5 * Float64(t * Float64(y * y))) - y)))); elseif (y <= -7.5e-57) tmp = Float64(x / Float64(a * Float64(a * Float64(0.5 * Float64(b * b))))); elseif (y <= 560.0) tmp = Float64(x * Float64(1.0 + Float64(b * Float64(t_1 - a)))); else tmp = Float64(x * Float64(b * t_1)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = b * (a * (a * 0.5)); tmp = 0.0; if (y <= -2.55e+179) tmp = x * (1.0 + (t * ((0.5 * (t * (y * y))) - y))); elseif (y <= -7.5e-57) tmp = x / (a * (a * (0.5 * (b * b)))); elseif (y <= 560.0) tmp = x * (1.0 + (b * (t_1 - a))); else tmp = x * (b * t_1); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.55e+179], N[(x * N[(1.0 + N[(t * N[(N[(0.5 * N[(t * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -7.5e-57], N[(x / N[(a * N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 560.0], N[(x * N[(1.0 + N[(b * N[(t$95$1 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\\
\mathbf{if}\;y \leq -2.55 \cdot 10^{+179}:\\
\;\;\;\;x \cdot \left(1 + t \cdot \left(0.5 \cdot \left(t \cdot \left(y \cdot y\right)\right) - y\right)\right)\\
\mathbf{elif}\;y \leq -7.5 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 560:\\
\;\;\;\;x \cdot \left(1 + b \cdot \left(t\_1 - a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot t\_1\right)\\
\end{array}
\end{array}
if y < -2.5500000000000001e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in x around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6467.2%
Simplified67.2%
if -2.5500000000000001e179 < y < -7.49999999999999973e-57Initial program 95.0%
Simplified95.0%
Taylor expanded in b around inf
*-lowering-*.f6441.5%
Simplified41.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6426.1%
Simplified26.1%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.7%
Simplified61.7%
if -7.49999999999999973e-57 < y < 560Initial program 94.2%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.9%
Simplified82.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6460.3%
Simplified60.3%
if 560 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6439.1%
Simplified39.1%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.0%
Simplified18.0%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Simplified50.4%
Final simplification58.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (* a (* a 0.5)))))
(if (<= y -8.2e+180)
(* 0.5 (* t (* t (* y (* x y)))))
(if (<= y -7.5e-57)
(/ x (* a (* a (* 0.5 (* b b)))))
(if (<= y 560.0) (* x (+ 1.0 (* b (- t_1 a)))) (* x (* b t_1)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = b * (a * (a * 0.5));
double tmp;
if (y <= -8.2e+180) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -7.5e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 560.0) {
tmp = x * (1.0 + (b * (t_1 - a)));
} else {
tmp = x * (b * 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 = b * (a * (a * 0.5d0))
if (y <= (-8.2d+180)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= (-7.5d-57)) then
tmp = x / (a * (a * (0.5d0 * (b * b))))
else if (y <= 560.0d0) then
tmp = x * (1.0d0 + (b * (t_1 - a)))
else
tmp = x * (b * 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 = b * (a * (a * 0.5));
double tmp;
if (y <= -8.2e+180) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -7.5e-57) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 560.0) {
tmp = x * (1.0 + (b * (t_1 - a)));
} else {
tmp = x * (b * t_1);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = b * (a * (a * 0.5)) tmp = 0 if y <= -8.2e+180: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= -7.5e-57: tmp = x / (a * (a * (0.5 * (b * b)))) elif y <= 560.0: tmp = x * (1.0 + (b * (t_1 - a))) else: tmp = x * (b * t_1) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(b * Float64(a * Float64(a * 0.5))) tmp = 0.0 if (y <= -8.2e+180) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= -7.5e-57) tmp = Float64(x / Float64(a * Float64(a * Float64(0.5 * Float64(b * b))))); elseif (y <= 560.0) tmp = Float64(x * Float64(1.0 + Float64(b * Float64(t_1 - a)))); else tmp = Float64(x * Float64(b * t_1)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = b * (a * (a * 0.5)); tmp = 0.0; if (y <= -8.2e+180) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= -7.5e-57) tmp = x / (a * (a * (0.5 * (b * b)))); elseif (y <= 560.0) tmp = x * (1.0 + (b * (t_1 - a))); else tmp = x * (b * t_1); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+180], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -7.5e-57], N[(x / N[(a * N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 560.0], N[(x * N[(1.0 + N[(b * N[(t$95$1 - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+180}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq -7.5 \cdot 10^{-57}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 560:\\
\;\;\;\;x \cdot \left(1 + b \cdot \left(t\_1 - a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot t\_1\right)\\
\end{array}
\end{array}
if y < -8.2e180Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6446.7%
Simplified46.7%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6464.2%
Simplified64.2%
if -8.2e180 < y < -7.49999999999999973e-57Initial program 95.0%
Simplified95.0%
Taylor expanded in b around inf
*-lowering-*.f6441.5%
Simplified41.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6426.1%
Simplified26.1%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6461.7%
Simplified61.7%
if -7.49999999999999973e-57 < y < 560Initial program 94.2%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.9%
Simplified82.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6460.3%
Simplified60.3%
if 560 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6439.1%
Simplified39.1%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.0%
Simplified18.0%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Simplified50.4%
Final simplification58.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (* 0.5 (* b b)))))
(if (<= y -2.55e+179)
(* 0.5 (* t (* t (* y (* x y)))))
(if (<= y -2.15e-58)
(/ x (* a t_1))
(if (<= y 0.21)
(* x (+ 1.0 (* a (- t_1 b))))
(* x (* b (* b (* a (* a 0.5))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (0.5 * (b * b));
double tmp;
if (y <= -2.55e+179) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -2.15e-58) {
tmp = x / (a * t_1);
} else if (y <= 0.21) {
tmp = x * (1.0 + (a * (t_1 - b)));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
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 = a * (0.5d0 * (b * b))
if (y <= (-2.55d+179)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= (-2.15d-58)) then
tmp = x / (a * t_1)
else if (y <= 0.21d0) then
tmp = x * (1.0d0 + (a * (t_1 - b)))
else
tmp = x * (b * (b * (a * (a * 0.5d0))))
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 = a * (0.5 * (b * b));
double tmp;
if (y <= -2.55e+179) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -2.15e-58) {
tmp = x / (a * t_1);
} else if (y <= 0.21) {
tmp = x * (1.0 + (a * (t_1 - b)));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (0.5 * (b * b)) tmp = 0 if y <= -2.55e+179: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= -2.15e-58: tmp = x / (a * t_1) elif y <= 0.21: tmp = x * (1.0 + (a * (t_1 - b))) else: tmp = x * (b * (b * (a * (a * 0.5)))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(0.5 * Float64(b * b))) tmp = 0.0 if (y <= -2.55e+179) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= -2.15e-58) tmp = Float64(x / Float64(a * t_1)); elseif (y <= 0.21) tmp = Float64(x * Float64(1.0 + Float64(a * Float64(t_1 - b)))); else tmp = Float64(x * Float64(b * Float64(b * Float64(a * Float64(a * 0.5))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a * (0.5 * (b * b)); tmp = 0.0; if (y <= -2.55e+179) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= -2.15e-58) tmp = x / (a * t_1); elseif (y <= 0.21) tmp = x * (1.0 + (a * (t_1 - b))); else tmp = x * (b * (b * (a * (a * 0.5)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.55e+179], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.15e-58], N[(x / N[(a * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.21], N[(x * N[(1.0 + N[(a * N[(t$95$1 - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\\
\mathbf{if}\;y \leq -2.55 \cdot 10^{+179}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq -2.15 \cdot 10^{-58}:\\
\;\;\;\;\frac{x}{a \cdot t\_1}\\
\mathbf{elif}\;y \leq 0.21:\\
\;\;\;\;x \cdot \left(1 + a \cdot \left(t\_1 - b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -2.5500000000000001e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6446.7%
Simplified46.7%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6464.2%
Simplified64.2%
if -2.5500000000000001e179 < y < -2.15e-58Initial program 92.7%
Simplified92.7%
Taylor expanded in b around inf
*-lowering-*.f6440.5%
Simplified40.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6425.5%
Simplified25.5%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.7%
Simplified62.7%
if -2.15e-58 < y < 0.209999999999999992Initial program 94.9%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6483.5%
Simplified83.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6457.2%
Simplified57.2%
if 0.209999999999999992 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6440.0%
Simplified40.0%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6417.8%
Simplified17.8%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.7%
Simplified49.7%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.55e+181)
(* 0.5 (* t (* t (* y (* x y)))))
(if (<= y -7e-58)
(/ x (* a (* a (* 0.5 (* b b)))))
(if (<= y 980.0)
(* x (+ 1.0 (* a (* (* b b) (* a 0.5)))))
(* x (* b (* b (* a (* a 0.5)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.55e+181) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -7e-58) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 980.0) {
tmp = x * (1.0 + (a * ((b * b) * (a * 0.5))));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
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.55d+181)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= (-7d-58)) then
tmp = x / (a * (a * (0.5d0 * (b * b))))
else if (y <= 980.0d0) then
tmp = x * (1.0d0 + (a * ((b * b) * (a * 0.5d0))))
else
tmp = x * (b * (b * (a * (a * 0.5d0))))
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.55e+181) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -7e-58) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 980.0) {
tmp = x * (1.0 + (a * ((b * b) * (a * 0.5))));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.55e+181: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= -7e-58: tmp = x / (a * (a * (0.5 * (b * b)))) elif y <= 980.0: tmp = x * (1.0 + (a * ((b * b) * (a * 0.5)))) else: tmp = x * (b * (b * (a * (a * 0.5)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.55e+181) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= -7e-58) tmp = Float64(x / Float64(a * Float64(a * Float64(0.5 * Float64(b * b))))); elseif (y <= 980.0) tmp = Float64(x * Float64(1.0 + Float64(a * Float64(Float64(b * b) * Float64(a * 0.5))))); else tmp = Float64(x * Float64(b * Float64(b * Float64(a * Float64(a * 0.5))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.55e+181) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= -7e-58) tmp = x / (a * (a * (0.5 * (b * b)))); elseif (y <= 980.0) tmp = x * (1.0 + (a * ((b * b) * (a * 0.5)))); else tmp = x * (b * (b * (a * (a * 0.5)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.55e+181], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -7e-58], N[(x / N[(a * N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 980.0], N[(x * N[(1.0 + N[(a * N[(N[(b * b), $MachinePrecision] * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.55 \cdot 10^{+181}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq -7 \cdot 10^{-58}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 980:\\
\;\;\;\;x \cdot \left(1 + a \cdot \left(\left(b \cdot b\right) \cdot \left(a \cdot 0.5\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -1.54999999999999995e181Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6446.7%
Simplified46.7%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6464.2%
Simplified64.2%
if -1.54999999999999995e181 < y < -6.9999999999999998e-58Initial program 92.7%
Simplified92.7%
Taylor expanded in b around inf
*-lowering-*.f6440.5%
Simplified40.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6425.5%
Simplified25.5%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.7%
Simplified62.7%
if -6.9999999999999998e-58 < y < 980Initial program 94.9%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6483.6%
Simplified83.6%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6456.7%
Simplified56.7%
Taylor expanded in a around inf
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6456.7%
Simplified56.7%
if 980 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6439.1%
Simplified39.1%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.0%
Simplified18.0%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Simplified50.4%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -2.6e+179)
(* 0.5 (* t (* t (* y (* x y)))))
(if (<= y -2e-58)
(/ x (* a (* a (* 0.5 (* b b)))))
(if (<= y 9e-15)
(* x (- 1.0 (* a b)))
(* x (* b (* b (* a (* a 0.5)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.6e+179) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -2e-58) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 9e-15) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
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.6d+179)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= (-2d-58)) then
tmp = x / (a * (a * (0.5d0 * (b * b))))
else if (y <= 9d-15) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (b * (b * (a * (a * 0.5d0))))
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.6e+179) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= -2e-58) {
tmp = x / (a * (a * (0.5 * (b * b))));
} else if (y <= 9e-15) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -2.6e+179: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= -2e-58: tmp = x / (a * (a * (0.5 * (b * b)))) elif y <= 9e-15: tmp = x * (1.0 - (a * b)) else: tmp = x * (b * (b * (a * (a * 0.5)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -2.6e+179) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= -2e-58) tmp = Float64(x / Float64(a * Float64(a * Float64(0.5 * Float64(b * b))))); elseif (y <= 9e-15) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(b * Float64(b * Float64(a * Float64(a * 0.5))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -2.6e+179) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= -2e-58) tmp = x / (a * (a * (0.5 * (b * b)))); elseif (y <= 9e-15) tmp = x * (1.0 - (a * b)); else tmp = x * (b * (b * (a * (a * 0.5)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -2.6e+179], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2e-58], N[(x / N[(a * N[(a * N[(0.5 * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9e-15], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.6 \cdot 10^{+179}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq -2 \cdot 10^{-58}:\\
\;\;\;\;\frac{x}{a \cdot \left(a \cdot \left(0.5 \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{elif}\;y \leq 9 \cdot 10^{-15}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -2.6000000000000002e179Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6476.2%
Simplified76.2%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified63.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6446.7%
Simplified46.7%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6464.2%
Simplified64.2%
if -2.6000000000000002e179 < y < -2.0000000000000001e-58Initial program 92.7%
Simplified92.7%
Taylor expanded in b around inf
*-lowering-*.f6440.5%
Simplified40.5%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6425.5%
Simplified25.5%
Taylor expanded in a around inf
*-commutativeN/A
unpow2N/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6462.7%
Simplified62.7%
if -2.0000000000000001e-58 < y < 8.9999999999999995e-15Initial program 94.8%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6484.0%
Simplified84.0%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6453.2%
Simplified53.2%
if 8.9999999999999995e-15 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6440.4%
Simplified40.4%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.8%
Simplified18.8%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.8%
Simplified49.8%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -1.25e-30)
(* x (- 1.0 (* a b)))
(if (<= b 1.24e+30)
(- x (* x (* y t)))
(if (<= b 2.4e+163) (/ x (+ 1.0 (* a b))) (- x (* b (* x a)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.25e-30) {
tmp = x * (1.0 - (a * b));
} else if (b <= 1.24e+30) {
tmp = x - (x * (y * t));
} else if (b <= 2.4e+163) {
tmp = x / (1.0 + (a * b));
} else {
tmp = x - (b * (x * 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 (b <= (-1.25d-30)) then
tmp = x * (1.0d0 - (a * b))
else if (b <= 1.24d+30) then
tmp = x - (x * (y * t))
else if (b <= 2.4d+163) then
tmp = x / (1.0d0 + (a * b))
else
tmp = x - (b * (x * 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 (b <= -1.25e-30) {
tmp = x * (1.0 - (a * b));
} else if (b <= 1.24e+30) {
tmp = x - (x * (y * t));
} else if (b <= 2.4e+163) {
tmp = x / (1.0 + (a * b));
} else {
tmp = x - (b * (x * a));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.25e-30: tmp = x * (1.0 - (a * b)) elif b <= 1.24e+30: tmp = x - (x * (y * t)) elif b <= 2.4e+163: tmp = x / (1.0 + (a * b)) else: tmp = x - (b * (x * a)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.25e-30) tmp = Float64(x * Float64(1.0 - Float64(a * b))); elseif (b <= 1.24e+30) tmp = Float64(x - Float64(x * Float64(y * t))); elseif (b <= 2.4e+163) tmp = Float64(x / Float64(1.0 + Float64(a * b))); else tmp = Float64(x - Float64(b * Float64(x * a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.25e-30) tmp = x * (1.0 - (a * b)); elseif (b <= 1.24e+30) tmp = x - (x * (y * t)); elseif (b <= 2.4e+163) tmp = x / (1.0 + (a * b)); else tmp = x - (b * (x * a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.25e-30], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.24e+30], N[(x - N[(x * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.4e+163], N[(x / N[(1.0 + N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(b * N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.25 \cdot 10^{-30}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{elif}\;b \leq 1.24 \cdot 10^{+30}:\\
\;\;\;\;x - x \cdot \left(y \cdot t\right)\\
\mathbf{elif}\;b \leq 2.4 \cdot 10^{+163}:\\
\;\;\;\;\frac{x}{1 + a \cdot b}\\
\mathbf{else}:\\
\;\;\;\;x - b \cdot \left(x \cdot a\right)\\
\end{array}
\end{array}
if b < -1.24999999999999993e-30Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6474.7%
Simplified74.7%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6428.4%
Simplified28.4%
if -1.24999999999999993e-30 < b < 1.24e30Initial program 93.2%
Simplified93.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6470.4%
Simplified70.4%
Taylor expanded in y around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.2%
Simplified43.2%
if 1.24e30 < b < 2.3999999999999999e163Initial program 99.6%
Simplified99.6%
Taylor expanded in b around inf
*-lowering-*.f6479.9%
Simplified79.9%
Taylor expanded in a around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f6439.8%
Simplified39.8%
if 2.3999999999999999e163 < b Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6491.2%
Simplified91.2%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6452.9%
Simplified52.9%
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6455.8%
Applied egg-rr55.8%
Final simplification40.7%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.45e-33)
(* 0.5 (* t (* t (* y (* x y)))))
(if (<= y 1.12e-11)
(* x (- 1.0 (* a b)))
(* x (* b (* b (* a (* a 0.5))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.45e-33) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1.12e-11) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
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.45d-33)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= 1.12d-11) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (b * (b * (a * (a * 0.5d0))))
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.45e-33) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1.12e-11) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (b * (b * (a * (a * 0.5))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.45e-33: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= 1.12e-11: tmp = x * (1.0 - (a * b)) else: tmp = x * (b * (b * (a * (a * 0.5)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.45e-33) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= 1.12e-11) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(b * Float64(b * Float64(a * Float64(a * 0.5))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.45e-33) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= 1.12e-11) tmp = x * (1.0 - (a * b)); else tmp = x * (b * (b * (a * (a * 0.5)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.45e-33], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.12e-11], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(b * N[(b * N[(a * N[(a * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.45 \cdot 10^{-33}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq 1.12 \cdot 10^{-11}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(b \cdot \left(b \cdot \left(a \cdot \left(a \cdot 0.5\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -1.45000000000000001e-33Initial program 98.7%
Simplified98.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6455.0%
Simplified55.0%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified41.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.8%
Simplified37.8%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6447.6%
Simplified47.6%
if -1.45000000000000001e-33 < y < 1.1200000000000001e-11Initial program 93.3%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.8%
Simplified82.8%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6451.9%
Simplified51.9%
if 1.1200000000000001e-11 < y Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6440.4%
Simplified40.4%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.8%
Simplified18.8%
Taylor expanded in a around inf
unpow2N/A
associate-*r*N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6449.8%
Simplified49.8%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.55e-31) (* 0.5 (* t (* t (* y (* x y))))) (if (<= y 1e+14) (* x (- 1.0 (* a b))) (* 0.5 (* y (* x (* y (* t t))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.55e-31) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1e+14) {
tmp = x * (1.0 - (a * b));
} else {
tmp = 0.5 * (y * (x * (y * (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.55d-31)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= 1d+14) then
tmp = x * (1.0d0 - (a * b))
else
tmp = 0.5d0 * (y * (x * (y * (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.55e-31) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1e+14) {
tmp = x * (1.0 - (a * b));
} else {
tmp = 0.5 * (y * (x * (y * (t * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.55e-31: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= 1e+14: tmp = x * (1.0 - (a * b)) else: tmp = 0.5 * (y * (x * (y * (t * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.55e-31) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= 1e+14) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(0.5 * Float64(y * Float64(x * Float64(y * Float64(t * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.55e-31) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= 1e+14) tmp = x * (1.0 - (a * b)); else tmp = 0.5 * (y * (x * (y * (t * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.55e-31], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1e+14], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(0.5 * N[(y * N[(x * N[(y * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.55 \cdot 10^{-31}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq 10^{+14}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(y \cdot \left(x \cdot \left(y \cdot \left(t \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -1.55e-31Initial program 98.7%
Simplified98.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6455.0%
Simplified55.0%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified41.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.8%
Simplified37.8%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6447.6%
Simplified47.6%
if -1.55e-31 < y < 1e14Initial program 93.6%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.1%
Simplified82.1%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6451.1%
Simplified51.1%
if 1e14 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6462.1%
Simplified62.1%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified24.3%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6432.6%
Simplified32.6%
Taylor expanded in t around 0
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6444.9%
Simplified44.9%
Final simplification48.7%
(FPCore (x y z t a b) :precision binary64 (if (<= y -5.6e-35) (* 0.5 (* t (* t (* y (* x y))))) (if (<= y 1e+14) (* x (- 1.0 (* a b))) (* 0.5 (* y (* t (* y (* x t))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -5.6e-35) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1e+14) {
tmp = x * (1.0 - (a * b));
} else {
tmp = 0.5 * (y * (t * (y * (x * 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 <= (-5.6d-35)) then
tmp = 0.5d0 * (t * (t * (y * (x * y))))
else if (y <= 1d+14) then
tmp = x * (1.0d0 - (a * b))
else
tmp = 0.5d0 * (y * (t * (y * (x * 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 <= -5.6e-35) {
tmp = 0.5 * (t * (t * (y * (x * y))));
} else if (y <= 1e+14) {
tmp = x * (1.0 - (a * b));
} else {
tmp = 0.5 * (y * (t * (y * (x * t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -5.6e-35: tmp = 0.5 * (t * (t * (y * (x * y)))) elif y <= 1e+14: tmp = x * (1.0 - (a * b)) else: tmp = 0.5 * (y * (t * (y * (x * t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -5.6e-35) tmp = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))); elseif (y <= 1e+14) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(0.5 * Float64(y * Float64(t * Float64(y * Float64(x * t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -5.6e-35) tmp = 0.5 * (t * (t * (y * (x * y)))); elseif (y <= 1e+14) tmp = x * (1.0 - (a * b)); else tmp = 0.5 * (y * (t * (y * (x * t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -5.6e-35], N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1e+14], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(0.5 * N[(y * N[(t * N[(y * N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -5.6 \cdot 10^{-35}:\\
\;\;\;\;0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq 10^{+14}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(y \cdot \left(t \cdot \left(y \cdot \left(x \cdot t\right)\right)\right)\right)\\
\end{array}
\end{array}
if y < -5.5999999999999999e-35Initial program 98.7%
Simplified98.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6455.0%
Simplified55.0%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified41.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.8%
Simplified37.8%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6447.6%
Simplified47.6%
if -5.5999999999999999e-35 < y < 1e14Initial program 93.6%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.1%
Simplified82.1%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6451.1%
Simplified51.1%
if 1e14 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6462.1%
Simplified62.1%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified24.3%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6432.6%
Simplified32.6%
Final simplification45.7%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* 0.5 (* t (* t (* y (* x y))))))) (if (<= y -1.32e-33) t_1 (if (<= y 1e+14) (* x (- 1.0 (* a b))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 0.5 * (t * (t * (y * (x * y))));
double tmp;
if (y <= -1.32e-33) {
tmp = t_1;
} else if (y <= 1e+14) {
tmp = x * (1.0 - (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 = 0.5d0 * (t * (t * (y * (x * y))))
if (y <= (-1.32d-33)) then
tmp = t_1
else if (y <= 1d+14) then
tmp = x * (1.0d0 - (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 = 0.5 * (t * (t * (y * (x * y))));
double tmp;
if (y <= -1.32e-33) {
tmp = t_1;
} else if (y <= 1e+14) {
tmp = x * (1.0 - (a * b));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 0.5 * (t * (t * (y * (x * y)))) tmp = 0 if y <= -1.32e-33: tmp = t_1 elif y <= 1e+14: tmp = x * (1.0 - (a * b)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(0.5 * Float64(t * Float64(t * Float64(y * Float64(x * y))))) tmp = 0.0 if (y <= -1.32e-33) tmp = t_1; elseif (y <= 1e+14) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 0.5 * (t * (t * (y * (x * y)))); tmp = 0.0; if (y <= -1.32e-33) tmp = t_1; elseif (y <= 1e+14) tmp = x * (1.0 - (a * b)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.5 * N[(t * N[(t * N[(y * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.32e-33], t$95$1, If[LessEqual[y, 1e+14], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 0.5 \cdot \left(t \cdot \left(t \cdot \left(y \cdot \left(x \cdot y\right)\right)\right)\right)\\
\mathbf{if}\;y \leq -1.32 \cdot 10^{-33}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 10^{+14}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.31999999999999993e-33 or 1e14 < y Initial program 99.3%
Simplified99.3%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6458.3%
Simplified58.3%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified33.6%
Taylor expanded in t around inf
*-lowering-*.f64N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
associate-*r*N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6435.3%
Simplified35.3%
Taylor expanded in t around 0
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f6438.2%
Simplified38.2%
if -1.31999999999999993e-33 < y < 1e14Initial program 93.6%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6482.1%
Simplified82.1%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6451.1%
Simplified51.1%
(FPCore (x y z t a b) :precision binary64 (if (<= a -8e-223) (* a (- (/ x a) (* x b))) (if (<= a 5.8e+175) (/ x (+ 1.0 (* y t))) (/ x (+ 1.0 (* a b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -8e-223) {
tmp = a * ((x / a) - (x * b));
} else if (a <= 5.8e+175) {
tmp = x / (1.0 + (y * t));
} else {
tmp = x / (1.0 + (a * b));
}
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 (a <= (-8d-223)) then
tmp = a * ((x / a) - (x * b))
else if (a <= 5.8d+175) then
tmp = x / (1.0d0 + (y * t))
else
tmp = x / (1.0d0 + (a * b))
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 (a <= -8e-223) {
tmp = a * ((x / a) - (x * b));
} else if (a <= 5.8e+175) {
tmp = x / (1.0 + (y * t));
} else {
tmp = x / (1.0 + (a * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -8e-223: tmp = a * ((x / a) - (x * b)) elif a <= 5.8e+175: tmp = x / (1.0 + (y * t)) else: tmp = x / (1.0 + (a * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -8e-223) tmp = Float64(a * Float64(Float64(x / a) - Float64(x * b))); elseif (a <= 5.8e+175) tmp = Float64(x / Float64(1.0 + Float64(y * t))); else tmp = Float64(x / Float64(1.0 + Float64(a * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= -8e-223) tmp = a * ((x / a) - (x * b)); elseif (a <= 5.8e+175) tmp = x / (1.0 + (y * t)); else tmp = x / (1.0 + (a * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -8e-223], N[(a * N[(N[(x / a), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.8e+175], N[(x / N[(1.0 + N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(1.0 + N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -8 \cdot 10^{-223}:\\
\;\;\;\;a \cdot \left(\frac{x}{a} - x \cdot b\right)\\
\mathbf{elif}\;a \leq 5.8 \cdot 10^{+175}:\\
\;\;\;\;\frac{x}{1 + y \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + a \cdot b}\\
\end{array}
\end{array}
if a < -7.9999999999999998e-223Initial program 96.1%
Simplified96.1%
Taylor expanded in b around inf
*-lowering-*.f6461.5%
Simplified61.5%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6430.4%
Simplified30.4%
Taylor expanded in a around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6435.7%
Simplified35.7%
if -7.9999999999999998e-223 < a < 5.8e175Initial program 97.7%
Simplified97.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6468.1%
Simplified68.1%
Taylor expanded in y around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6442.9%
Simplified42.9%
if 5.8e175 < a Initial program 93.0%
Simplified93.0%
Taylor expanded in b around inf
*-lowering-*.f6482.1%
Simplified82.1%
Taylor expanded in a around 0
+-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f6445.8%
Simplified45.8%
Final simplification40.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (- 1.0 (* a b))))) (if (<= b -1.42e-30) t_1 (if (<= b 8e+71) (- x (* x (* y t))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (1.0 - (a * b));
double tmp;
if (b <= -1.42e-30) {
tmp = t_1;
} else if (b <= 8e+71) {
tmp = x - (x * (y * t));
} 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 * (1.0d0 - (a * b))
if (b <= (-1.42d-30)) then
tmp = t_1
else if (b <= 8d+71) then
tmp = x - (x * (y * t))
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 * (1.0 - (a * b));
double tmp;
if (b <= -1.42e-30) {
tmp = t_1;
} else if (b <= 8e+71) {
tmp = x - (x * (y * t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (1.0 - (a * b)) tmp = 0 if b <= -1.42e-30: tmp = t_1 elif b <= 8e+71: tmp = x - (x * (y * t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(1.0 - Float64(a * b))) tmp = 0.0 if (b <= -1.42e-30) tmp = t_1; elseif (b <= 8e+71) tmp = Float64(x - Float64(x * Float64(y * t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (1.0 - (a * b)); tmp = 0.0; if (b <= -1.42e-30) tmp = t_1; elseif (b <= 8e+71) tmp = x - (x * (y * t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.42e-30], t$95$1, If[LessEqual[b, 8e+71], N[(x - N[(x * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(1 - a \cdot b\right)\\
\mathbf{if}\;b \leq -1.42 \cdot 10^{-30}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 8 \cdot 10^{+71}:\\
\;\;\;\;x - x \cdot \left(y \cdot t\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.42e-30 or 8.0000000000000003e71 < b Initial program 99.9%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6481.4%
Simplified81.4%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6434.5%
Simplified34.5%
if -1.42e-30 < b < 8.0000000000000003e71Initial program 93.5%
Simplified93.5%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6469.7%
Simplified69.7%
Taylor expanded in y around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6442.6%
Simplified42.6%
Final simplification38.8%
(FPCore (x y z t a b) :precision binary64 (if (<= y -7.8e+64) (- x (* y (* x t))) (if (<= y 0.28) (* x (- 1.0 (* a b))) (* x (- 0.0 (* a b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -7.8e+64) {
tmp = x - (y * (x * t));
} else if (y <= 0.28) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (0.0 - (a * b));
}
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 <= (-7.8d+64)) then
tmp = x - (y * (x * t))
else if (y <= 0.28d0) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (0.0d0 - (a * b))
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 <= -7.8e+64) {
tmp = x - (y * (x * t));
} else if (y <= 0.28) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (0.0 - (a * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -7.8e+64: tmp = x - (y * (x * t)) elif y <= 0.28: tmp = x * (1.0 - (a * b)) else: tmp = x * (0.0 - (a * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -7.8e+64) tmp = Float64(x - Float64(y * Float64(x * t))); elseif (y <= 0.28) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(0.0 - Float64(a * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -7.8e+64) tmp = x - (y * (x * t)); elseif (y <= 0.28) tmp = x * (1.0 - (a * b)); else tmp = x * (0.0 - (a * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -7.8e+64], N[(x - N[(y * N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.28], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(0.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7.8 \cdot 10^{+64}:\\
\;\;\;\;x - y \cdot \left(x \cdot t\right)\\
\mathbf{elif}\;y \leq 0.28:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(0 - a \cdot b\right)\\
\end{array}
\end{array}
if y < -7.7999999999999996e64Initial program 100.0%
Simplified100.0%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6462.4%
Simplified62.4%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified53.9%
Taylor expanded in t around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6426.5%
Simplified26.5%
if -7.7999999999999996e64 < y < 0.28000000000000003Initial program 93.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6476.5%
Simplified76.5%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6445.7%
Simplified45.7%
if 0.28000000000000003 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6440.0%
Simplified40.0%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6412.2%
Simplified12.2%
Taylor expanded in a around inf
associate-*r*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6429.1%
Simplified29.1%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* x (- 0.0 (* a b))))) (if (<= y -7.6e-78) t_1 (if (<= y 560.0) x t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (0.0 - (a * b));
double tmp;
if (y <= -7.6e-78) {
tmp = t_1;
} else if (y <= 560.0) {
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 * (0.0d0 - (a * b))
if (y <= (-7.6d-78)) then
tmp = t_1
else if (y <= 560.0d0) 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 * (0.0 - (a * b));
double tmp;
if (y <= -7.6e-78) {
tmp = t_1;
} else if (y <= 560.0) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (0.0 - (a * b)) tmp = 0 if y <= -7.6e-78: tmp = t_1 elif y <= 560.0: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(0.0 - Float64(a * b))) tmp = 0.0 if (y <= -7.6e-78) tmp = t_1; elseif (y <= 560.0) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (0.0 - (a * b)); tmp = 0.0; if (y <= -7.6e-78) tmp = t_1; elseif (y <= 560.0) 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[(0.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -7.6e-78], t$95$1, If[LessEqual[y, 560.0], x, t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(0 - a \cdot b\right)\\
\mathbf{if}\;y \leq -7.6 \cdot 10^{-78}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 560:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -7.5999999999999998e-78 or 560 < y Initial program 98.0%
Simplified98.0%
Taylor expanded in b around inf
*-lowering-*.f6439.4%
Simplified39.4%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6413.5%
Simplified13.5%
Taylor expanded in a around inf
associate-*r*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6423.6%
Simplified23.6%
if -7.5999999999999998e-78 < y < 560Initial program 94.7%
Simplified94.7%
Taylor expanded in b around inf
*-lowering-*.f6483.7%
Simplified83.7%
Taylor expanded in a around 0
Simplified38.3%
(FPCore (x y z t a b) :precision binary64 (if (<= y 0.185) (* x (- 1.0 (* a b))) (* x (- 0.0 (* a b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 0.185) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (0.0 - (a * b));
}
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 <= 0.185d0) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (0.0d0 - (a * b))
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 <= 0.185) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (0.0 - (a * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 0.185: tmp = x * (1.0 - (a * b)) else: tmp = x * (0.0 - (a * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 0.185) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(0.0 - Float64(a * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 0.185) tmp = x * (1.0 - (a * b)); else tmp = x * (0.0 - (a * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 0.185], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(0.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.185:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(0 - a \cdot b\right)\\
\end{array}
\end{array}
if y < 0.185Initial program 95.3%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6465.8%
Simplified65.8%
Taylor expanded in a around 0
neg-mul-1N/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f6437.3%
Simplified37.3%
if 0.185 < y Initial program 100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f6440.0%
Simplified40.0%
Taylor expanded in a around 0
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6412.2%
Simplified12.2%
Taylor expanded in a around inf
associate-*r*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6429.1%
Simplified29.1%
(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.5%
Simplified96.5%
Taylor expanded in b around inf
*-lowering-*.f6459.1%
Simplified59.1%
Taylor expanded in a around 0
Simplified19.3%
herbie shell --seed 2024158
(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))))))