
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
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 - 1.0d0) * log(a))) - b))) / y
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 - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 24 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
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 - 1.0d0) * log(a))) - b))) / y
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 - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\end{array}
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (log a) (+ t -1.0))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - b))) / y;
}
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)) + (log(a) * (t + (-1.0d0)))) - b))) / y
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)) + (Math.log(a) * (t + -1.0))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + (math.log(a) * (t + -1.0))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(log(a) * Float64(t + -1.0))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}
\end{array}
Initial program 97.4%
Final simplification97.4%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -3.5e-19)
(/ (/ (* x (pow z y)) a) y)
(if (<= y 2.8e-162)
(/ (/ (* x (pow a (+ t -1.0))) (exp b)) y)
(if (<= y 1.75e+84)
(* x (/ (pow a t) (* (exp b) (* y a))))
(/ (* x (exp (* y (log z)))) y)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -3.5e-19) {
tmp = ((x * pow(z, y)) / a) / y;
} else if (y <= 2.8e-162) {
tmp = ((x * pow(a, (t + -1.0))) / exp(b)) / y;
} else if (y <= 1.75e+84) {
tmp = x * (pow(a, t) / (exp(b) * (y * a)));
} else {
tmp = (x * exp((y * log(z)))) / 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 <= (-3.5d-19)) then
tmp = ((x * (z ** y)) / a) / y
else if (y <= 2.8d-162) then
tmp = ((x * (a ** (t + (-1.0d0)))) / exp(b)) / y
else if (y <= 1.75d+84) then
tmp = x * ((a ** t) / (exp(b) * (y * a)))
else
tmp = (x * exp((y * log(z)))) / 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 <= -3.5e-19) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else if (y <= 2.8e-162) {
tmp = ((x * Math.pow(a, (t + -1.0))) / Math.exp(b)) / y;
} else if (y <= 1.75e+84) {
tmp = x * (Math.pow(a, t) / (Math.exp(b) * (y * a)));
} else {
tmp = (x * Math.exp((y * Math.log(z)))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -3.5e-19: tmp = ((x * math.pow(z, y)) / a) / y elif y <= 2.8e-162: tmp = ((x * math.pow(a, (t + -1.0))) / math.exp(b)) / y elif y <= 1.75e+84: tmp = x * (math.pow(a, t) / (math.exp(b) * (y * a))) else: tmp = (x * math.exp((y * math.log(z)))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -3.5e-19) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); elseif (y <= 2.8e-162) tmp = Float64(Float64(Float64(x * (a ^ Float64(t + -1.0))) / exp(b)) / y); elseif (y <= 1.75e+84) tmp = Float64(x * Float64((a ^ t) / Float64(exp(b) * Float64(y * a)))); else tmp = Float64(Float64(x * exp(Float64(y * log(z)))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -3.5e-19) tmp = ((x * (z ^ y)) / a) / y; elseif (y <= 2.8e-162) tmp = ((x * (a ^ (t + -1.0))) / exp(b)) / y; elseif (y <= 1.75e+84) tmp = x * ((a ^ t) / (exp(b) * (y * a))); else tmp = (x * exp((y * log(z)))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -3.5e-19], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 2.8e-162], N[(N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 1.75e+84], N[(x * N[(N[Power[a, t], $MachinePrecision] / N[(N[Exp[b], $MachinePrecision] * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[Exp[N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.5 \cdot 10^{-19}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{-162}:\\
\;\;\;\;\frac{\frac{x \cdot {a}^{\left(t + -1\right)}}{e^{b}}}{y}\\
\mathbf{elif}\;y \leq 1.75 \cdot 10^{+84}:\\
\;\;\;\;x \cdot \frac{{a}^{t}}{e^{b} \cdot \left(y \cdot a\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{y \cdot \log z}}{y}\\
\end{array}
\end{array}
if y < -3.50000000000000015e-19Initial program 100.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified53.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6462.0%
Simplified62.0%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6473.2%
Simplified73.2%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6481.3%
Simplified81.3%
if -3.50000000000000015e-19 < y < 2.80000000000000022e-162Initial program 95.9%
Taylor expanded in y around 0
exp-diffN/A
associate-/l*N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
exp-lowering-exp.f6489.0%
Simplified89.0%
if 2.80000000000000022e-162 < y < 1.7499999999999999e84Initial program 95.0%
Taylor expanded in z around inf
associate-*l/N/A
exp-diffN/A
prod-expN/A
times-fracN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/l/N/A
Simplified98.2%
exp-diffN/A
clear-numN/A
sub-negN/A
exp-sumN/A
pow-to-expN/A
remove-double-negN/A
*-commutativeN/A
pow-to-expN/A
associate-/l/N/A
+-commutativeN/A
unpow-prod-upN/A
inv-powN/A
associate-/l/N/A
Applied egg-rr76.8%
Taylor expanded in y around 0
/-lowering-/.f64N/A
pow-lowering-pow.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f6480.9%
Simplified80.9%
if 1.7499999999999999e84 < y Initial program 100.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
Final simplification85.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.05e+59)
(/ (/ (* x (pow z y)) a) y)
(if (<= y 1.6e+85)
(/ (* x (exp (- (* (log a) (+ t -1.0)) b))) y)
(/ (* x (exp (* y (log z)))) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.05e+59) {
tmp = ((x * pow(z, y)) / a) / y;
} else if (y <= 1.6e+85) {
tmp = (x * exp(((log(a) * (t + -1.0)) - b))) / y;
} else {
tmp = (x * exp((y * log(z)))) / 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 <= (-1.05d+59)) then
tmp = ((x * (z ** y)) / a) / y
else if (y <= 1.6d+85) then
tmp = (x * exp(((log(a) * (t + (-1.0d0))) - b))) / y
else
tmp = (x * exp((y * log(z)))) / 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 <= -1.05e+59) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else if (y <= 1.6e+85) {
tmp = (x * Math.exp(((Math.log(a) * (t + -1.0)) - b))) / y;
} else {
tmp = (x * Math.exp((y * Math.log(z)))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.05e+59: tmp = ((x * math.pow(z, y)) / a) / y elif y <= 1.6e+85: tmp = (x * math.exp(((math.log(a) * (t + -1.0)) - b))) / y else: tmp = (x * math.exp((y * math.log(z)))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.05e+59) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); elseif (y <= 1.6e+85) tmp = Float64(Float64(x * exp(Float64(Float64(log(a) * Float64(t + -1.0)) - b))) / y); else tmp = Float64(Float64(x * exp(Float64(y * log(z)))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.05e+59) tmp = ((x * (z ^ y)) / a) / y; elseif (y <= 1.6e+85) tmp = (x * exp(((log(a) * (t + -1.0)) - b))) / y; else tmp = (x * exp((y * log(z)))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.05e+59], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 1.6e+85], N[(N[(x * N[Exp[N[(N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x * N[Exp[N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.05 \cdot 10^{+59}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{elif}\;y \leq 1.6 \cdot 10^{+85}:\\
\;\;\;\;\frac{x \cdot e^{\log a \cdot \left(t + -1\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{y \cdot \log z}}{y}\\
\end{array}
\end{array}
if y < -1.04999999999999992e59Initial program 100.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified54.5%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6463.7%
Simplified63.7%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6479.7%
Simplified79.7%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6488.8%
Simplified88.8%
if -1.04999999999999992e59 < y < 1.60000000000000009e85Initial program 96.1%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6491.1%
Simplified91.1%
if 1.60000000000000009e85 < y Initial program 100.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -3.5e-19)
(/ (/ (* x (pow z y)) a) y)
(if (<= y 5.1e+85)
(/ (* x (pow a t)) (* (exp b) (* y a)))
(/ (* x (exp (* y (log z)))) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -3.5e-19) {
tmp = ((x * pow(z, y)) / a) / y;
} else if (y <= 5.1e+85) {
tmp = (x * pow(a, t)) / (exp(b) * (y * a));
} else {
tmp = (x * exp((y * log(z)))) / 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 <= (-3.5d-19)) then
tmp = ((x * (z ** y)) / a) / y
else if (y <= 5.1d+85) then
tmp = (x * (a ** t)) / (exp(b) * (y * a))
else
tmp = (x * exp((y * log(z)))) / 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 <= -3.5e-19) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else if (y <= 5.1e+85) {
tmp = (x * Math.pow(a, t)) / (Math.exp(b) * (y * a));
} else {
tmp = (x * Math.exp((y * Math.log(z)))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -3.5e-19: tmp = ((x * math.pow(z, y)) / a) / y elif y <= 5.1e+85: tmp = (x * math.pow(a, t)) / (math.exp(b) * (y * a)) else: tmp = (x * math.exp((y * math.log(z)))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -3.5e-19) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); elseif (y <= 5.1e+85) tmp = Float64(Float64(x * (a ^ t)) / Float64(exp(b) * Float64(y * a))); else tmp = Float64(Float64(x * exp(Float64(y * log(z)))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -3.5e-19) tmp = ((x * (z ^ y)) / a) / y; elseif (y <= 5.1e+85) tmp = (x * (a ^ t)) / (exp(b) * (y * a)); else tmp = (x * exp((y * log(z)))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -3.5e-19], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 5.1e+85], N[(N[(x * N[Power[a, t], $MachinePrecision]), $MachinePrecision] / N[(N[Exp[b], $MachinePrecision] * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[Exp[N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.5 \cdot 10^{-19}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{elif}\;y \leq 5.1 \cdot 10^{+85}:\\
\;\;\;\;\frac{x \cdot {a}^{t}}{e^{b} \cdot \left(y \cdot a\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{y \cdot \log z}}{y}\\
\end{array}
\end{array}
if y < -3.50000000000000015e-19Initial program 100.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified53.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6462.0%
Simplified62.0%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6473.2%
Simplified73.2%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6481.3%
Simplified81.3%
if -3.50000000000000015e-19 < y < 5.0999999999999998e85Initial program 95.6%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified78.2%
associate-/r*N/A
unpow-prod-upN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f64N/A
pow-lowering-pow.f64N/A
unpow-1N/A
/-lowering-/.f6478.4%
Applied egg-rr78.4%
Taylor expanded in y around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
exp-lowering-exp.f6482.9%
Simplified82.9%
if 5.0999999999999998e85 < y Initial program 100.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
Final simplification83.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -3.5e-19)
(/ (/ (* x (pow z y)) a) y)
(if (<= y 3.6e+85)
(* x (/ (pow a t) (* (exp b) (* y a))))
(/ (* x (exp (* y (log z)))) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -3.5e-19) {
tmp = ((x * pow(z, y)) / a) / y;
} else if (y <= 3.6e+85) {
tmp = x * (pow(a, t) / (exp(b) * (y * a)));
} else {
tmp = (x * exp((y * log(z)))) / 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 <= (-3.5d-19)) then
tmp = ((x * (z ** y)) / a) / y
else if (y <= 3.6d+85) then
tmp = x * ((a ** t) / (exp(b) * (y * a)))
else
tmp = (x * exp((y * log(z)))) / 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 <= -3.5e-19) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else if (y <= 3.6e+85) {
tmp = x * (Math.pow(a, t) / (Math.exp(b) * (y * a)));
} else {
tmp = (x * Math.exp((y * Math.log(z)))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -3.5e-19: tmp = ((x * math.pow(z, y)) / a) / y elif y <= 3.6e+85: tmp = x * (math.pow(a, t) / (math.exp(b) * (y * a))) else: tmp = (x * math.exp((y * math.log(z)))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -3.5e-19) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); elseif (y <= 3.6e+85) tmp = Float64(x * Float64((a ^ t) / Float64(exp(b) * Float64(y * a)))); else tmp = Float64(Float64(x * exp(Float64(y * log(z)))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -3.5e-19) tmp = ((x * (z ^ y)) / a) / y; elseif (y <= 3.6e+85) tmp = x * ((a ^ t) / (exp(b) * (y * a))); else tmp = (x * exp((y * log(z)))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -3.5e-19], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 3.6e+85], N[(x * N[(N[Power[a, t], $MachinePrecision] / N[(N[Exp[b], $MachinePrecision] * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[Exp[N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.5 \cdot 10^{-19}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{elif}\;y \leq 3.6 \cdot 10^{+85}:\\
\;\;\;\;x \cdot \frac{{a}^{t}}{e^{b} \cdot \left(y \cdot a\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{y \cdot \log z}}{y}\\
\end{array}
\end{array}
if y < -3.50000000000000015e-19Initial program 100.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified53.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6462.0%
Simplified62.0%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6473.2%
Simplified73.2%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6481.3%
Simplified81.3%
if -3.50000000000000015e-19 < y < 3.5999999999999998e85Initial program 95.6%
Taylor expanded in z around inf
associate-*l/N/A
exp-diffN/A
prod-expN/A
times-fracN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/l/N/A
Simplified95.2%
exp-diffN/A
clear-numN/A
sub-negN/A
exp-sumN/A
pow-to-expN/A
remove-double-negN/A
*-commutativeN/A
pow-to-expN/A
associate-/l/N/A
+-commutativeN/A
unpow-prod-upN/A
inv-powN/A
associate-/l/N/A
Applied egg-rr84.5%
Taylor expanded in y around 0
/-lowering-/.f64N/A
pow-lowering-pow.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
*-lowering-*.f6482.6%
Simplified82.6%
if 3.5999999999999998e85 < y Initial program 100.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
log-lowering-log.f6486.9%
Simplified86.9%
Final simplification83.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -2.2e+18)
t_1
(if (<= b -1.2e-182)
(/ (* x (* (pow a (+ t -1.0)) (- 1.0 b))) y)
(if (<= b 1.2e+18) (/ (/ (* x (pow z y)) a) y) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / exp(b)) / y;
double tmp;
if (b <= -2.2e+18) {
tmp = t_1;
} else if (b <= -1.2e-182) {
tmp = (x * (pow(a, (t + -1.0)) * (1.0 - b))) / y;
} else if (b <= 1.2e+18) {
tmp = ((x * pow(z, y)) / a) / y;
} 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(b)) / y
if (b <= (-2.2d+18)) then
tmp = t_1
else if (b <= (-1.2d-182)) then
tmp = (x * ((a ** (t + (-1.0d0))) * (1.0d0 - b))) / y
else if (b <= 1.2d+18) then
tmp = ((x * (z ** y)) / a) / y
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / Math.exp(b)) / y;
double tmp;
if (b <= -2.2e+18) {
tmp = t_1;
} else if (b <= -1.2e-182) {
tmp = (x * (Math.pow(a, (t + -1.0)) * (1.0 - b))) / y;
} else if (b <= 1.2e+18) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x / math.exp(b)) / y tmp = 0 if b <= -2.2e+18: tmp = t_1 elif b <= -1.2e-182: tmp = (x * (math.pow(a, (t + -1.0)) * (1.0 - b))) / y elif b <= 1.2e+18: tmp = ((x * math.pow(z, y)) / a) / y else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x / exp(b)) / y) tmp = 0.0 if (b <= -2.2e+18) tmp = t_1; elseif (b <= -1.2e-182) tmp = Float64(Float64(x * Float64((a ^ Float64(t + -1.0)) * Float64(1.0 - b))) / y); elseif (b <= 1.2e+18) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x / exp(b)) / y; tmp = 0.0; if (b <= -2.2e+18) tmp = t_1; elseif (b <= -1.2e-182) tmp = (x * ((a ^ (t + -1.0)) * (1.0 - b))) / y; elseif (b <= 1.2e+18) tmp = ((x * (z ^ y)) / a) / y; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -2.2e+18], t$95$1, If[LessEqual[b, -1.2e-182], N[(N[(x * N[(N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision] * N[(1.0 - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 1.2e+18], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -2.2 \cdot 10^{+18}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -1.2 \cdot 10^{-182}:\\
\;\;\;\;\frac{x \cdot \left({a}^{\left(t + -1\right)} \cdot \left(1 - b\right)\right)}{y}\\
\mathbf{elif}\;b \leq 1.2 \cdot 10^{+18}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -2.2e18 or 1.2e18 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.0%
Simplified88.0%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6488.0%
Applied egg-rr88.0%
if -2.2e18 < b < -1.1999999999999999e-182Initial program 95.2%
Taylor expanded in b around 0
associate-*r*N/A
mul-1-negN/A
distribute-rgt1-inN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
neg-sub0N/A
--lowering--.f64N/A
+-commutativeN/A
exp-sumN/A
*-commutativeN/A
exp-to-powN/A
*-lowering-*.f64N/A
Simplified84.3%
Taylor expanded in y around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
--lowering--.f6471.3%
Simplified71.3%
if -1.1999999999999999e-182 < b < 1.2e18Initial program 95.4%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified77.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6468.8%
Simplified68.8%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6470.4%
Simplified70.4%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6474.1%
Simplified74.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))
(t_2 (/ (/ x (exp b)) y)))
(if (<= b -140.0)
t_2
(if (<= b 4e-15)
(/ (/ x y) a)
(if (<= b 17000000000.0)
(/
(/
1.0
(/
(+ x (* b (* x (+ 1.0 (* b -0.5)))))
(* (* x (+ 1.0 (* b t_1))) (- x (* t_1 (* x b))))))
y)
t_2)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666)));
double t_2 = (x / exp(b)) / y;
double tmp;
if (b <= -140.0) {
tmp = t_2;
} else if (b <= 4e-15) {
tmp = (x / y) / a;
} else if (b <= 17000000000.0) {
tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * (1.0 + (b * t_1))) * (x - (t_1 * (x * b)))))) / y;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))
t_2 = (x / exp(b)) / y
if (b <= (-140.0d0)) then
tmp = t_2
else if (b <= 4d-15) then
tmp = (x / y) / a
else if (b <= 17000000000.0d0) then
tmp = (1.0d0 / ((x + (b * (x * (1.0d0 + (b * (-0.5d0)))))) / ((x * (1.0d0 + (b * t_1))) * (x - (t_1 * (x * b)))))) / y
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666)));
double t_2 = (x / Math.exp(b)) / y;
double tmp;
if (b <= -140.0) {
tmp = t_2;
} else if (b <= 4e-15) {
tmp = (x / y) / a;
} else if (b <= 17000000000.0) {
tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * (1.0 + (b * t_1))) * (x - (t_1 * (x * b)))))) / y;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666))) t_2 = (x / math.exp(b)) / y tmp = 0 if b <= -140.0: tmp = t_2 elif b <= 4e-15: tmp = (x / y) / a elif b <= 17000000000.0: tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * (1.0 + (b * t_1))) * (x - (t_1 * (x * b)))))) / y else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(-1.0 + Float64(b * Float64(0.5 + Float64(b * -0.16666666666666666)))) t_2 = Float64(Float64(x / exp(b)) / y) tmp = 0.0 if (b <= -140.0) tmp = t_2; elseif (b <= 4e-15) tmp = Float64(Float64(x / y) / a); elseif (b <= 17000000000.0) tmp = Float64(Float64(1.0 / Float64(Float64(x + Float64(b * Float64(x * Float64(1.0 + Float64(b * -0.5))))) / Float64(Float64(x * Float64(1.0 + Float64(b * t_1))) * Float64(x - Float64(t_1 * Float64(x * b)))))) / y); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666))); t_2 = (x / exp(b)) / y; tmp = 0.0; if (b <= -140.0) tmp = t_2; elseif (b <= 4e-15) tmp = (x / y) / a; elseif (b <= 17000000000.0) tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * (1.0 + (b * t_1))) * (x - (t_1 * (x * b)))))) / y; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(-1.0 + N[(b * N[(0.5 + N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -140.0], t$95$2, If[LessEqual[b, 4e-15], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[b, 17000000000.0], N[(N[(1.0 / N[(N[(x + N[(b * N[(x * N[(1.0 + N[(b * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(x * N[(1.0 + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(x - N[(t$95$1 * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -1 + b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\\
t_2 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -140:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 4 \cdot 10^{-15}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{elif}\;b \leq 17000000000:\\
\;\;\;\;\frac{\frac{1}{\frac{x + b \cdot \left(x \cdot \left(1 + b \cdot -0.5\right)\right)}{\left(x \cdot \left(1 + b \cdot t\_1\right)\right) \cdot \left(x - t\_1 \cdot \left(x \cdot b\right)\right)}}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -140 or 1.7e10 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6486.0%
Simplified86.0%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6486.0%
Applied egg-rr86.0%
if -140 < b < 4.0000000000000003e-15Initial program 94.9%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified80.5%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in y around 0
Simplified40.8%
if 4.0000000000000003e-15 < b < 1.7e10Initial program 99.5%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6416.5%
Simplified16.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6416.1%
Simplified16.1%
distribute-lft-inN/A
*-rgt-identityN/A
flip-+N/A
clear-numN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
Applied egg-rr51.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
associate-*r*N/A
metadata-evalN/A
distribute-rgt-outN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f6476.5%
Simplified76.5%
Final simplification62.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -7.4e+21)
t_1
(if (<= b 64000000000.0) (/ (/ (* x (pow z y)) a) y) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / exp(b)) / y;
double tmp;
if (b <= -7.4e+21) {
tmp = t_1;
} else if (b <= 64000000000.0) {
tmp = ((x * pow(z, y)) / a) / y;
} 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(b)) / y
if (b <= (-7.4d+21)) then
tmp = t_1
else if (b <= 64000000000.0d0) then
tmp = ((x * (z ** y)) / a) / y
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / Math.exp(b)) / y;
double tmp;
if (b <= -7.4e+21) {
tmp = t_1;
} else if (b <= 64000000000.0) {
tmp = ((x * Math.pow(z, y)) / a) / y;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x / math.exp(b)) / y tmp = 0 if b <= -7.4e+21: tmp = t_1 elif b <= 64000000000.0: tmp = ((x * math.pow(z, y)) / a) / y else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x / exp(b)) / y) tmp = 0.0 if (b <= -7.4e+21) tmp = t_1; elseif (b <= 64000000000.0) tmp = Float64(Float64(Float64(x * (z ^ y)) / a) / y); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x / exp(b)) / y; tmp = 0.0; if (b <= -7.4e+21) tmp = t_1; elseif (b <= 64000000000.0) tmp = ((x * (z ^ y)) / a) / y; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -7.4e+21], t$95$1, If[LessEqual[b, 64000000000.0], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -7.4 \cdot 10^{+21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 64000000000:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -7.4e21 or 6.4e10 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.9%
Simplified87.9%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.9%
Applied egg-rr87.9%
if -7.4e21 < b < 6.4e10Initial program 95.4%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified77.3%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6466.1%
Simplified66.1%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6468.0%
Simplified68.0%
Taylor expanded in x around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6470.5%
Simplified70.5%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (/ (/ x (exp b)) y))) (if (<= b -7.6e+21) t_1 (if (<= b 3e+25) (/ (/ x y) (/ a (pow z y))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / exp(b)) / y;
double tmp;
if (b <= -7.6e+21) {
tmp = t_1;
} else if (b <= 3e+25) {
tmp = (x / y) / (a / pow(z, y));
} 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(b)) / y
if (b <= (-7.6d+21)) then
tmp = t_1
else if (b <= 3d+25) then
tmp = (x / y) / (a / (z ** y))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / Math.exp(b)) / y;
double tmp;
if (b <= -7.6e+21) {
tmp = t_1;
} else if (b <= 3e+25) {
tmp = (x / y) / (a / Math.pow(z, y));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x / math.exp(b)) / y tmp = 0 if b <= -7.6e+21: tmp = t_1 elif b <= 3e+25: tmp = (x / y) / (a / math.pow(z, y)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x / exp(b)) / y) tmp = 0.0 if (b <= -7.6e+21) tmp = t_1; elseif (b <= 3e+25) tmp = Float64(Float64(x / y) / Float64(a / (z ^ y))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x / exp(b)) / y; tmp = 0.0; if (b <= -7.6e+21) tmp = t_1; elseif (b <= 3e+25) tmp = (x / y) / (a / (z ^ y)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -7.6e+21], t$95$1, If[LessEqual[b, 3e+25], N[(N[(x / y), $MachinePrecision] / N[(a / N[Power[z, y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -7.6 \cdot 10^{+21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 3 \cdot 10^{+25}:\\
\;\;\;\;\frac{\frac{x}{y}}{\frac{a}{{z}^{y}}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -7.6e21 or 3.00000000000000006e25 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.9%
Simplified87.9%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.9%
Applied egg-rr87.9%
if -7.6e21 < b < 3.00000000000000006e25Initial program 95.4%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified77.3%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6466.1%
Simplified66.1%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6468.0%
Simplified68.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -1.35e+18)
t_1
(if (<= b 41000000000.0) (/ (* x (pow z y)) (* y a)) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / exp(b)) / y;
double tmp;
if (b <= -1.35e+18) {
tmp = t_1;
} else if (b <= 41000000000.0) {
tmp = (x * pow(z, y)) / (y * a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = (x / exp(b)) / y
if (b <= (-1.35d+18)) then
tmp = t_1
else if (b <= 41000000000.0d0) then
tmp = (x * (z ** y)) / (y * a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / Math.exp(b)) / y;
double tmp;
if (b <= -1.35e+18) {
tmp = t_1;
} else if (b <= 41000000000.0) {
tmp = (x * Math.pow(z, y)) / (y * a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x / math.exp(b)) / y tmp = 0 if b <= -1.35e+18: tmp = t_1 elif b <= 41000000000.0: tmp = (x * math.pow(z, y)) / (y * a) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x / exp(b)) / y) tmp = 0.0 if (b <= -1.35e+18) tmp = t_1; elseif (b <= 41000000000.0) tmp = Float64(Float64(x * (z ^ y)) / Float64(y * a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x / exp(b)) / y; tmp = 0.0; if (b <= -1.35e+18) tmp = t_1; elseif (b <= 41000000000.0) tmp = (x * (z ^ y)) / (y * a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -1.35e+18], t$95$1, If[LessEqual[b, 41000000000.0], N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / N[(y * a), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -1.35 \cdot 10^{+18}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 41000000000:\\
\;\;\;\;\frac{x \cdot {z}^{y}}{y \cdot a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.35e18 or 4.1e10 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.3%
Simplified87.3%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.3%
Applied egg-rr87.3%
if -1.35e18 < b < 4.1e10Initial program 95.3%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified78.4%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6466.4%
Simplified66.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
*-commutativeN/A
*-lowering-*.f6463.5%
Simplified63.5%
(FPCore (x y z t a b) :precision binary64 (if (<= b 720.0) (/ (/ x y) (* a (exp b))) (/ (/ x (exp b)) y)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= 720.0) {
tmp = (x / y) / (a * exp(b));
} else {
tmp = (x / exp(b)) / 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 (b <= 720.0d0) then
tmp = (x / y) / (a * exp(b))
else
tmp = (x / exp(b)) / 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 (b <= 720.0) {
tmp = (x / y) / (a * Math.exp(b));
} else {
tmp = (x / Math.exp(b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= 720.0: tmp = (x / y) / (a * math.exp(b)) else: tmp = (x / math.exp(b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= 720.0) tmp = Float64(Float64(x / y) / Float64(a * exp(b))); else tmp = Float64(Float64(x / exp(b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= 720.0) tmp = (x / y) / (a * exp(b)); else tmp = (x / exp(b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 720.0], N[(N[(x / y), $MachinePrecision] / N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq 720:\\
\;\;\;\;\frac{\frac{x}{y}}{a \cdot e^{b}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\
\end{array}
\end{array}
if b < 720Initial program 96.5%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified75.4%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6469.1%
Simplified69.1%
Taylor expanded in y around 0
*-lowering-*.f64N/A
exp-lowering-exp.f6453.1%
Simplified53.1%
if 720 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6484.1%
Simplified84.1%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6484.1%
Applied egg-rr84.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))
(t_2 (+ 1.0 (* b t_1))))
(if (<= b -140.0)
(* x (/ t_2 y))
(if (<= b 2.6e-22)
(/ (/ x y) a)
(if (<= b 5.8e+34)
(/
(/
1.0
(/
(+ x (* b (* x (+ 1.0 (* b -0.5)))))
(* (* x t_2) (- x (* t_1 (* x b))))))
y)
(/
(/ x (+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666)))))))
y))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666)));
double t_2 = 1.0 + (b * t_1);
double tmp;
if (b <= -140.0) {
tmp = x * (t_2 / y);
} else if (b <= 2.6e-22) {
tmp = (x / y) / a;
} else if (b <= 5.8e+34) {
tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * t_2) * (x - (t_1 * (x * b)))))) / y;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))
t_2 = 1.0d0 + (b * t_1)
if (b <= (-140.0d0)) then
tmp = x * (t_2 / y)
else if (b <= 2.6d-22) then
tmp = (x / y) / a
else if (b <= 5.8d+34) then
tmp = (1.0d0 / ((x + (b * (x * (1.0d0 + (b * (-0.5d0)))))) / ((x * t_2) * (x - (t_1 * (x * b)))))) / y
else
tmp = (x / (1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0))))))) / 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 = -1.0 + (b * (0.5 + (b * -0.16666666666666666)));
double t_2 = 1.0 + (b * t_1);
double tmp;
if (b <= -140.0) {
tmp = x * (t_2 / y);
} else if (b <= 2.6e-22) {
tmp = (x / y) / a;
} else if (b <= 5.8e+34) {
tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * t_2) * (x - (t_1 * (x * b)))))) / y;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666))) t_2 = 1.0 + (b * t_1) tmp = 0 if b <= -140.0: tmp = x * (t_2 / y) elif b <= 2.6e-22: tmp = (x / y) / a elif b <= 5.8e+34: tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * t_2) * (x - (t_1 * (x * b)))))) / y else: tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y return tmp
function code(x, y, z, t, a, b) t_1 = Float64(-1.0 + Float64(b * Float64(0.5 + Float64(b * -0.16666666666666666)))) t_2 = Float64(1.0 + Float64(b * t_1)) tmp = 0.0 if (b <= -140.0) tmp = Float64(x * Float64(t_2 / y)); elseif (b <= 2.6e-22) tmp = Float64(Float64(x / y) / a); elseif (b <= 5.8e+34) tmp = Float64(Float64(1.0 / Float64(Float64(x + Float64(b * Float64(x * Float64(1.0 + Float64(b * -0.5))))) / Float64(Float64(x * t_2) * Float64(x - Float64(t_1 * Float64(x * b)))))) / y); else tmp = Float64(Float64(x / Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666))))))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = -1.0 + (b * (0.5 + (b * -0.16666666666666666))); t_2 = 1.0 + (b * t_1); tmp = 0.0; if (b <= -140.0) tmp = x * (t_2 / y); elseif (b <= 2.6e-22) tmp = (x / y) / a; elseif (b <= 5.8e+34) tmp = (1.0 / ((x + (b * (x * (1.0 + (b * -0.5))))) / ((x * t_2) * (x - (t_1 * (x * b)))))) / y; else tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(-1.0 + N[(b * N[(0.5 + N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -140.0], N[(x * N[(t$95$2 / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.6e-22], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[b, 5.8e+34], N[(N[(1.0 / N[(N[(x + N[(b * N[(x * N[(1.0 + N[(b * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(x * t$95$2), $MachinePrecision] * N[(x - N[(t$95$1 * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x / N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -1 + b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\\
t_2 := 1 + b \cdot t\_1\\
\mathbf{if}\;b \leq -140:\\
\;\;\;\;x \cdot \frac{t\_2}{y}\\
\mathbf{elif}\;b \leq 2.6 \cdot 10^{-22}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{elif}\;b \leq 5.8 \cdot 10^{+34}:\\
\;\;\;\;\frac{\frac{1}{\frac{x + b \cdot \left(x \cdot \left(1 + b \cdot -0.5\right)\right)}{\left(x \cdot t\_2\right) \cdot \left(x - t\_1 \cdot \left(x \cdot b\right)\right)}}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)}}{y}\\
\end{array}
\end{array}
if b < -140Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6483.6%
Simplified83.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6466.2%
Simplified66.2%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f6467.9%
Applied egg-rr67.9%
if -140 < b < 2.6e-22Initial program 94.9%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified80.5%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in y around 0
Simplified40.8%
if 2.6e-22 < b < 5.8000000000000003e34Initial program 99.5%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6416.5%
Simplified16.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6416.1%
Simplified16.1%
distribute-lft-inN/A
*-rgt-identityN/A
flip-+N/A
clear-numN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
Applied egg-rr51.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
associate-*r*N/A
metadata-evalN/A
distribute-rgt-outN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f6476.5%
Simplified76.5%
if 5.8000000000000003e34 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.9%
Simplified87.9%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.9%
Applied egg-rr87.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6474.6%
Simplified74.6%
Final simplification56.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -140.0)
(* x (/ (+ 1.0 (* b (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))) y))
(if (<= b 2.15e+55)
(/ (/ x y) a)
(/
(/ x (+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666)))))))
y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -140.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= 2.15e+55) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / 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 (b <= (-140.0d0)) then
tmp = x * ((1.0d0 + (b * ((-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))))) / y)
else if (b <= 2.15d+55) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0))))))) / 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 (b <= -140.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= 2.15e+55) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -140.0: tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y) elif b <= 2.15e+55: tmp = (x / y) / a else: tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -140.0) tmp = Float64(x * Float64(Float64(1.0 + Float64(b * Float64(-1.0 + Float64(b * Float64(0.5 + Float64(b * -0.16666666666666666)))))) / y)); elseif (b <= 2.15e+55) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666))))))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -140.0) tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y); elseif (b <= 2.15e+55) tmp = (x / y) / a; else tmp = (x / (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666))))))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -140.0], N[(x * N[(N[(1.0 + N[(b * N[(-1.0 + N[(b * N[(0.5 + N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.15e+55], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -140:\\
\;\;\;\;x \cdot \frac{1 + b \cdot \left(-1 + b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)}{y}\\
\mathbf{elif}\;b \leq 2.15 \cdot 10^{+55}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)}}{y}\\
\end{array}
\end{array}
if b < -140Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6483.6%
Simplified83.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6466.2%
Simplified66.2%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f6467.9%
Applied egg-rr67.9%
if -140 < b < 2.1499999999999999e55Initial program 95.3%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified79.0%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.6%
Simplified67.6%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6468.0%
Simplified68.0%
Taylor expanded in y around 0
Simplified40.0%
if 2.1499999999999999e55 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.5%
Simplified87.5%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.5%
Applied egg-rr87.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6475.4%
Simplified75.4%
Final simplification54.6%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -140.0)
(* x (/ (+ 1.0 (* b (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))) y))
(if (<= b 3e+55)
(/ (/ x y) a)
(/ (/ x (+ 1.0 (* b (+ 1.0 (* b 0.5))))) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -140.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= 3e+55) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / 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 (b <= (-140.0d0)) then
tmp = x * ((1.0d0 + (b * ((-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))))) / y)
else if (b <= 3d+55) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + (b * (1.0d0 + (b * 0.5d0))))) / 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 (b <= -140.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= 3e+55) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -140.0: tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y) elif b <= 3e+55: tmp = (x / y) / a else: tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -140.0) tmp = Float64(x * Float64(Float64(1.0 + Float64(b * Float64(-1.0 + Float64(b * Float64(0.5 + Float64(b * -0.16666666666666666)))))) / y)); elseif (b <= 3e+55) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * 0.5))))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -140.0) tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y); elseif (b <= 3e+55) tmp = (x / y) / a; else tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -140.0], N[(x * N[(N[(1.0 + N[(b * N[(-1.0 + N[(b * N[(0.5 + N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3e+55], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + N[(b * N[(1.0 + N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -140:\\
\;\;\;\;x \cdot \frac{1 + b \cdot \left(-1 + b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)}{y}\\
\mathbf{elif}\;b \leq 3 \cdot 10^{+55}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b \cdot \left(1 + b \cdot 0.5\right)}}{y}\\
\end{array}
\end{array}
if b < -140Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6483.6%
Simplified83.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6466.2%
Simplified66.2%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f6467.9%
Applied egg-rr67.9%
if -140 < b < 3.00000000000000017e55Initial program 95.3%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified79.0%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.6%
Simplified67.6%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6468.0%
Simplified68.0%
Taylor expanded in y around 0
Simplified40.0%
if 3.00000000000000017e55 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.5%
Simplified87.5%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.5%
Applied egg-rr87.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6467.7%
Simplified67.7%
Final simplification52.7%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -1.85e+80)
(/ (* -0.16666666666666666 (* x (* b (* b b)))) y)
(if (<= b 6.2e+58)
(/ (/ x y) a)
(/ (/ x (+ 1.0 (* b (+ 1.0 (* b 0.5))))) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.85e+80) {
tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y;
} else if (b <= 6.2e+58) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / 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 (b <= (-1.85d+80)) then
tmp = ((-0.16666666666666666d0) * (x * (b * (b * b)))) / y
else if (b <= 6.2d+58) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + (b * (1.0d0 + (b * 0.5d0))))) / 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 (b <= -1.85e+80) {
tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y;
} else if (b <= 6.2e+58) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.85e+80: tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y elif b <= 6.2e+58: tmp = (x / y) / a else: tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.85e+80) tmp = Float64(Float64(-0.16666666666666666 * Float64(x * Float64(b * Float64(b * b)))) / y); elseif (b <= 6.2e+58) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * 0.5))))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.85e+80) tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y; elseif (b <= 6.2e+58) tmp = (x / y) / a; else tmp = (x / (1.0 + (b * (1.0 + (b * 0.5))))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.85e+80], N[(N[(-0.16666666666666666 * N[(x * N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 6.2e+58], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + N[(b * N[(1.0 + N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.85 \cdot 10^{+80}:\\
\;\;\;\;\frac{-0.16666666666666666 \cdot \left(x \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}{y}\\
\mathbf{elif}\;b \leq 6.2 \cdot 10^{+58}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b \cdot \left(1 + b \cdot 0.5\right)}}{y}\\
\end{array}
\end{array}
if b < -1.84999999999999998e80Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6491.6%
Simplified91.6%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6491.6%
Applied egg-rr91.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified86.2%
Taylor expanded in b around inf
associate-*r/N/A
*-commutativeN/A
associate-*r*N/A
/-lowering-/.f64N/A
distribute-rgt-outN/A
metadata-evalN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6489.0%
Simplified89.0%
if -1.84999999999999998e80 < b < 6.1999999999999998e58Initial program 95.8%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified76.4%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.0%
Simplified67.0%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.6%
Simplified67.6%
Taylor expanded in y around 0
Simplified38.6%
if 6.1999999999999998e58 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6487.5%
Simplified87.5%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6487.5%
Applied egg-rr87.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6467.7%
Simplified67.7%
(FPCore (x y z t a b) :precision binary64 (if (<= b -1.85e+80) (/ (* -0.16666666666666666 (* x (* b (* b b)))) y) (if (<= b 3.4e+73) (/ (/ x y) a) (/ (/ x (+ 1.0 b)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.85e+80) {
tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y;
} else if (b <= 3.4e+73) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / 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 (b <= (-1.85d+80)) then
tmp = ((-0.16666666666666666d0) * (x * (b * (b * b)))) / y
else if (b <= 3.4d+73) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + b)) / 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 (b <= -1.85e+80) {
tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y;
} else if (b <= 3.4e+73) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.85e+80: tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y elif b <= 3.4e+73: tmp = (x / y) / a else: tmp = (x / (1.0 + b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.85e+80) tmp = Float64(Float64(-0.16666666666666666 * Float64(x * Float64(b * Float64(b * b)))) / y); elseif (b <= 3.4e+73) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.85e+80) tmp = (-0.16666666666666666 * (x * (b * (b * b)))) / y; elseif (b <= 3.4e+73) tmp = (x / y) / a; else tmp = (x / (1.0 + b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.85e+80], N[(N[(-0.16666666666666666 * N[(x * N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 3.4e+73], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.85 \cdot 10^{+80}:\\
\;\;\;\;\frac{-0.16666666666666666 \cdot \left(x \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}{y}\\
\mathbf{elif}\;b \leq 3.4 \cdot 10^{+73}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b}}{y}\\
\end{array}
\end{array}
if b < -1.84999999999999998e80Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6491.6%
Simplified91.6%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6491.6%
Applied egg-rr91.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified86.2%
Taylor expanded in b around inf
associate-*r/N/A
*-commutativeN/A
associate-*r*N/A
/-lowering-/.f64N/A
distribute-rgt-outN/A
metadata-evalN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6489.0%
Simplified89.0%
if -1.84999999999999998e80 < b < 3.4000000000000002e73Initial program 96.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified75.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in y around 0
Simplified37.5%
if 3.4000000000000002e73 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.1%
Simplified88.1%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6488.1%
Applied egg-rr88.1%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6445.1%
Simplified45.1%
Final simplification46.3%
(FPCore (x y z t a b) :precision binary64 (if (<= b -105.0) (* (* b (* b b)) (* (/ x y) -0.16666666666666666)) (if (<= b 1.45e+74) (/ (/ x y) a) (/ (/ x (+ 1.0 b)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -105.0) {
tmp = (b * (b * b)) * ((x / y) * -0.16666666666666666);
} else if (b <= 1.45e+74) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / 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 (b <= (-105.0d0)) then
tmp = (b * (b * b)) * ((x / y) * (-0.16666666666666666d0))
else if (b <= 1.45d+74) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + b)) / 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 (b <= -105.0) {
tmp = (b * (b * b)) * ((x / y) * -0.16666666666666666);
} else if (b <= 1.45e+74) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -105.0: tmp = (b * (b * b)) * ((x / y) * -0.16666666666666666) elif b <= 1.45e+74: tmp = (x / y) / a else: tmp = (x / (1.0 + b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -105.0) tmp = Float64(Float64(b * Float64(b * b)) * Float64(Float64(x / y) * -0.16666666666666666)); elseif (b <= 1.45e+74) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -105.0) tmp = (b * (b * b)) * ((x / y) * -0.16666666666666666); elseif (b <= 1.45e+74) tmp = (x / y) / a; else tmp = (x / (1.0 + b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -105.0], N[(N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision] * N[(N[(x / y), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.45e+74], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -105:\\
\;\;\;\;\left(b \cdot \left(b \cdot b\right)\right) \cdot \left(\frac{x}{y} \cdot -0.16666666666666666\right)\\
\mathbf{elif}\;b \leq 1.45 \cdot 10^{+74}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b}}{y}\\
\end{array}
\end{array}
if b < -105Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6483.6%
Simplified83.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6466.2%
Simplified66.2%
Taylor expanded in b around inf
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
cube-multN/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f6466.3%
Simplified66.3%
if -105 < b < 1.4500000000000001e74Initial program 95.4%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified78.3%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6468.0%
Simplified68.0%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.8%
Simplified67.8%
Taylor expanded in y around 0
Simplified38.7%
if 1.4500000000000001e74 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.1%
Simplified88.1%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6488.1%
Applied egg-rr88.1%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6445.1%
Simplified45.1%
Final simplification46.0%
(FPCore (x y z t a b) :precision binary64 (if (<= b -5.5e+80) (/ (* 0.5 (* x (* b b))) y) (if (<= b 1.85e+74) (/ (/ x y) a) (/ (/ x (+ 1.0 b)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -5.5e+80) {
tmp = (0.5 * (x * (b * b))) / y;
} else if (b <= 1.85e+74) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / 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 (b <= (-5.5d+80)) then
tmp = (0.5d0 * (x * (b * b))) / y
else if (b <= 1.85d+74) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + b)) / 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 (b <= -5.5e+80) {
tmp = (0.5 * (x * (b * b))) / y;
} else if (b <= 1.85e+74) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -5.5e+80: tmp = (0.5 * (x * (b * b))) / y elif b <= 1.85e+74: tmp = (x / y) / a else: tmp = (x / (1.0 + b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -5.5e+80) tmp = Float64(Float64(0.5 * Float64(x * Float64(b * b))) / y); elseif (b <= 1.85e+74) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -5.5e+80) tmp = (0.5 * (x * (b * b))) / y; elseif (b <= 1.85e+74) tmp = (x / y) / a; else tmp = (x / (1.0 + b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -5.5e+80], N[(N[(0.5 * N[(x * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 1.85e+74], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -5.5 \cdot 10^{+80}:\\
\;\;\;\;\frac{0.5 \cdot \left(x \cdot \left(b \cdot b\right)\right)}{y}\\
\mathbf{elif}\;b \leq 1.85 \cdot 10^{+74}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b}}{y}\\
\end{array}
\end{array}
if b < -5.49999999999999967e80Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6491.6%
Simplified91.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
associate-*r*N/A
distribute-rgt-outN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6475.4%
Simplified75.4%
Taylor expanded in b around inf
associate-*r/N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6480.6%
Simplified80.6%
if -5.49999999999999967e80 < b < 1.8500000000000001e74Initial program 96.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified75.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in y around 0
Simplified37.5%
if 1.8500000000000001e74 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.1%
Simplified88.1%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6488.1%
Applied egg-rr88.1%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6445.1%
Simplified45.1%
Final simplification45.1%
(FPCore (x y z t a b) :precision binary64 (if (<= b -2.3e+81) (/ (* x (- 1.0 b)) y) (if (<= b 3.5e+73) (/ (/ x y) a) (/ (/ x (+ 1.0 b)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -2.3e+81) {
tmp = (x * (1.0 - b)) / y;
} else if (b <= 3.5e+73) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / 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 (b <= (-2.3d+81)) then
tmp = (x * (1.0d0 - b)) / y
else if (b <= 3.5d+73) then
tmp = (x / y) / a
else
tmp = (x / (1.0d0 + b)) / 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 (b <= -2.3e+81) {
tmp = (x * (1.0 - b)) / y;
} else if (b <= 3.5e+73) {
tmp = (x / y) / a;
} else {
tmp = (x / (1.0 + b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -2.3e+81: tmp = (x * (1.0 - b)) / y elif b <= 3.5e+73: tmp = (x / y) / a else: tmp = (x / (1.0 + b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -2.3e+81) tmp = Float64(Float64(x * Float64(1.0 - b)) / y); elseif (b <= 3.5e+73) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(x / Float64(1.0 + b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -2.3e+81) tmp = (x * (1.0 - b)) / y; elseif (b <= 3.5e+73) tmp = (x / y) / a; else tmp = (x / (1.0 + b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2.3e+81], N[(N[(x * N[(1.0 - b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 3.5e+73], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(x / N[(1.0 + b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -2.3 \cdot 10^{+81}:\\
\;\;\;\;\frac{x \cdot \left(1 - b\right)}{y}\\
\mathbf{elif}\;b \leq 3.5 \cdot 10^{+73}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{1 + b}}{y}\\
\end{array}
\end{array}
if b < -2.2999999999999999e81Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6491.6%
Simplified91.6%
Taylor expanded in b around 0
associate-*r*N/A
neg-mul-1N/A
distribute-rgt1-inN/A
+-commutativeN/A
sub-negN/A
*-lowering-*.f64N/A
--lowering--.f6464.1%
Simplified64.1%
if -2.2999999999999999e81 < b < 3.50000000000000002e73Initial program 96.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified75.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6467.4%
Simplified67.4%
Taylor expanded in y around 0
Simplified37.5%
if 3.50000000000000002e73 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.1%
Simplified88.1%
/-lowering-/.f64N/A
exp-diffN/A
1-expN/A
un-div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6488.1%
Applied egg-rr88.1%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6445.1%
Simplified45.1%
Final simplification42.9%
(FPCore (x y z t a b) :precision binary64 (if (<= b -1.42e+82) (/ (* x (- 1.0 b)) y) (/ (/ x y) a)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.42e+82) {
tmp = (x * (1.0 - b)) / y;
} else {
tmp = (x / y) / 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.42d+82)) then
tmp = (x * (1.0d0 - b)) / y
else
tmp = (x / y) / 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.42e+82) {
tmp = (x * (1.0 - b)) / y;
} else {
tmp = (x / y) / a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.42e+82: tmp = (x * (1.0 - b)) / y else: tmp = (x / y) / a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.42e+82) tmp = Float64(Float64(x * Float64(1.0 - b)) / y); else tmp = Float64(Float64(x / y) / a); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.42e+82) tmp = (x * (1.0 - b)) / y; else tmp = (x / y) / a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.42e+82], N[(N[(x * N[(1.0 - b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.42 \cdot 10^{+82}:\\
\;\;\;\;\frac{x \cdot \left(1 - b\right)}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\end{array}
\end{array}
if b < -1.41999999999999993e82Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6491.6%
Simplified91.6%
Taylor expanded in b around 0
associate-*r*N/A
neg-mul-1N/A
distribute-rgt1-inN/A
+-commutativeN/A
sub-negN/A
*-lowering-*.f64N/A
--lowering--.f6464.1%
Simplified64.1%
if -1.41999999999999993e82 < b Initial program 97.0%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified69.6%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6465.6%
Simplified65.6%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6456.5%
Simplified56.5%
Taylor expanded in y around 0
Simplified32.8%
Final simplification37.1%
(FPCore (x y z t a b) :precision binary64 (if (<= t 66000.0) (/ x (* y a)) (/ x y)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= 66000.0) {
tmp = x / (y * a);
} else {
tmp = x / y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (t <= 66000.0d0) then
tmp = x / (y * a)
else
tmp = x / y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= 66000.0) {
tmp = x / (y * a);
} else {
tmp = x / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= 66000.0: tmp = x / (y * a) else: tmp = x / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= 66000.0) tmp = Float64(x / Float64(y * a)); else tmp = Float64(x / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= 66000.0) tmp = x / (y * a); else tmp = x / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, 66000.0], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], N[(x / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 66000:\\
\;\;\;\;\frac{x}{y \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y}\\
\end{array}
\end{array}
if t < 66000Initial program 96.7%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified72.1%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6470.5%
Simplified70.5%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6460.4%
Simplified60.4%
Taylor expanded in y around 0
/-lowering-/.f64N/A
*-lowering-*.f6435.2%
Simplified35.2%
if 66000 < t Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6443.1%
Simplified43.1%
Taylor expanded in b around 0
/-lowering-/.f6420.0%
Simplified20.0%
Final simplification31.8%
(FPCore (x y z t a b) :precision binary64 (/ (/ x y) a))
double code(double x, double y, double z, double t, double a, double b) {
return (x / y) / a;
}
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 / y) / a
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x / y) / a;
}
def code(x, y, z, t, a, b): return (x / y) / a
function code(x, y, z, t, a, b) return Float64(Float64(x / y) / a) end
function tmp = code(x, y, z, t, a, b) tmp = (x / y) / a; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision]
\begin{array}{l}
\\
\frac{\frac{x}{y}}{a}
\end{array}
Initial program 97.4%
associate-*l/N/A
exp-diffN/A
associate-*r/N/A
associate-*l/N/A
associate-/r/N/A
exp-diffN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
exp-diffN/A
/-lowering-/.f64N/A
exp-lowering-exp.f64N/A
exp-sumN/A
*-lowering-*.f64N/A
*-commutativeN/A
exp-to-powN/A
pow-lowering-pow.f64N/A
Simplified69.1%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f64N/A
pow-lowering-pow.f6466.8%
Simplified66.8%
Taylor expanded in b around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6457.1%
Simplified57.1%
Taylor expanded in y around 0
Simplified33.5%
(FPCore (x y z t a b) :precision binary64 (/ 1.0 (/ y x)))
double code(double x, double y, double z, double t, double a, double b) {
return 1.0 / (y / 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 = 1.0d0 / (y / x)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return 1.0 / (y / x);
}
def code(x, y, z, t, a, b): return 1.0 / (y / x)
function code(x, y, z, t, a, b) return Float64(1.0 / Float64(y / x)) end
function tmp = code(x, y, z, t, a, b) tmp = 1.0 / (y / x); end
code[x_, y_, z_, t_, a_, b_] := N[(1.0 / N[(y / x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{1}{\frac{y}{x}}
\end{array}
Initial program 97.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6448.2%
Simplified48.2%
Taylor expanded in b around 0
/-lowering-/.f6416.7%
Simplified16.7%
clear-numN/A
/-lowering-/.f64N/A
/-lowering-/.f6416.8%
Applied egg-rr16.8%
(FPCore (x y z t a b) :precision binary64 (/ x y))
double code(double x, double y, double z, double t, double a, double b) {
return x / y;
}
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 / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x / y;
}
def code(x, y, z, t, a, b): return x / y
function code(x, y, z, t, a, b) return Float64(x / y) end
function tmp = code(x, y, z, t, a, b) tmp = x / y; end
code[x_, y_, z_, t_, a_, b_] := N[(x / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{y}
\end{array}
Initial program 97.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6448.2%
Simplified48.2%
Taylor expanded in b around 0
/-lowering-/.f6416.7%
Simplified16.7%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (pow a (- t 1.0)))
(t_2 (/ (* x (/ t_1 y)) (- (+ b 1.0) (* y (log z))))))
(if (< t -0.8845848504127471)
t_2
(if (< t 852031.2288374073)
(/ (* (/ x y) t_1) (exp (- b (* (log z) y))))
t_2))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = pow(a, (t - 1.0));
double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
double tmp;
if (t < -0.8845848504127471) {
tmp = t_2;
} else if (t < 852031.2288374073) {
tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = a ** (t - 1.0d0)
t_2 = (x * (t_1 / y)) / ((b + 1.0d0) - (y * log(z)))
if (t < (-0.8845848504127471d0)) then
tmp = t_2
else if (t < 852031.2288374073d0) then
tmp = ((x / y) * t_1) / exp((b - (log(z) * y)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = Math.pow(a, (t - 1.0));
double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * Math.log(z)));
double tmp;
if (t < -0.8845848504127471) {
tmp = t_2;
} else if (t < 852031.2288374073) {
tmp = ((x / y) * t_1) / Math.exp((b - (Math.log(z) * y)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = math.pow(a, (t - 1.0)) t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * math.log(z))) tmp = 0 if t < -0.8845848504127471: tmp = t_2 elif t < 852031.2288374073: tmp = ((x / y) * t_1) / math.exp((b - (math.log(z) * y))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = a ^ Float64(t - 1.0) t_2 = Float64(Float64(x * Float64(t_1 / y)) / Float64(Float64(b + 1.0) - Float64(y * log(z)))) tmp = 0.0 if (t < -0.8845848504127471) tmp = t_2; elseif (t < 852031.2288374073) tmp = Float64(Float64(Float64(x / y) * t_1) / exp(Float64(b - Float64(log(z) * y)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a ^ (t - 1.0); t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z))); tmp = 0.0; if (t < -0.8845848504127471) tmp = t_2; elseif (t < 852031.2288374073) tmp = ((x / y) * t_1) / exp((b - (log(z) * y))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Power[a, N[(t - 1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision] / N[(N[(b + 1.0), $MachinePrecision] - N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -0.8845848504127471], t$95$2, If[Less[t, 852031.2288374073], N[(N[(N[(x / y), $MachinePrecision] * t$95$1), $MachinePrecision] / N[Exp[N[(b - N[(N[Log[z], $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {a}^{\left(t - 1\right)}\\
t_2 := \frac{x \cdot \frac{t\_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\
\mathbf{if}\;t < -0.8845848504127471:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t < 852031.2288374073:\\
\;\;\;\;\frac{\frac{x}{y} \cdot t\_1}{e^{b - \log z \cdot y}}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
herbie shell --seed 2024138
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"
:precision binary64
:alt
(! :herbie-platform default (if (< t -8845848504127471/10000000000000000) (/ (* x (/ (pow a (- t 1)) y)) (- (+ b 1) (* y (log z)))) (if (< t 8520312288374073/10000000000) (/ (* (/ x y) (pow a (- t 1))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1)) y)) (- (+ b 1) (* y (log z)))))))
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))