
(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 25 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.6%
Final simplification97.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ (* x (pow z y)) a) y)))
(if (<= y -3.6e+196)
t_1
(if (<= y 1.8e+67) (/ (* x (exp (- (* (log a) (+ t -1.0)) b))) y) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x * pow(z, y)) / a) / y;
double tmp;
if (y <= -3.6e+196) {
tmp = t_1;
} else if (y <= 1.8e+67) {
tmp = (x * exp(((log(a) * (t + -1.0)) - b))) / 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 * (z ** y)) / a) / y
if (y <= (-3.6d+196)) then
tmp = t_1
else if (y <= 1.8d+67) then
tmp = (x * exp(((log(a) * (t + (-1.0d0))) - b))) / 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.pow(z, y)) / a) / y;
double tmp;
if (y <= -3.6e+196) {
tmp = t_1;
} else if (y <= 1.8e+67) {
tmp = (x * Math.exp(((Math.log(a) * (t + -1.0)) - b))) / y;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((x * math.pow(z, y)) / a) / y tmp = 0 if y <= -3.6e+196: tmp = t_1 elif y <= 1.8e+67: tmp = (x * math.exp(((math.log(a) * (t + -1.0)) - b))) / y else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(x * (z ^ y)) / a) / y) tmp = 0.0 if (y <= -3.6e+196) tmp = t_1; elseif (y <= 1.8e+67) tmp = Float64(Float64(x * exp(Float64(Float64(log(a) * Float64(t + -1.0)) - b))) / y); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((x * (z ^ y)) / a) / y; tmp = 0.0; if (y <= -3.6e+196) tmp = t_1; elseif (y <= 1.8e+67) tmp = (x * exp(((log(a) * (t + -1.0)) - b))) / y; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -3.6e+196], t$95$1, If[LessEqual[y, 1.8e+67], N[(N[(x * N[Exp[N[(N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+196}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 1.8 \cdot 10^{+67}:\\
\;\;\;\;\frac{x \cdot e^{\log a \cdot \left(t + -1\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.60000000000000007e196 or 1.7999999999999999e67 < y Initial program 100.0%
clear-numN/A
associate-/r*N/A
exp-diffN/A
prod-expN/A
*-commutativeN/A
pow-to-expN/A
sub-negN/A
metadata-evalN/A
*-commutativeN/A
pow-to-expN/A
clear-numN/A
/-lowering-/.f64N/A
Applied egg-rr50.0%
Taylor expanded in t around 0
/-lowering-/.f64N/A
pow-lowering-pow.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6461.6%
Simplified61.6%
Taylor expanded in b around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6493.7%
Simplified93.7%
if -3.60000000000000007e196 < y < 1.7999999999999999e67Initial program 96.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6493.1%
Simplified93.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ (* x (pow z y)) a) y)))
(if (<= y -2.2e+106)
t_1
(if (<= y 11.0) (/ (* (/ x (* y (exp b))) (pow a t)) a) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x * pow(z, y)) / a) / y;
double tmp;
if (y <= -2.2e+106) {
tmp = t_1;
} else if (y <= 11.0) {
tmp = ((x / (y * exp(b))) * pow(a, t)) / 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 * (z ** y)) / a) / y
if (y <= (-2.2d+106)) then
tmp = t_1
else if (y <= 11.0d0) then
tmp = ((x / (y * exp(b))) * (a ** t)) / 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.pow(z, y)) / a) / y;
double tmp;
if (y <= -2.2e+106) {
tmp = t_1;
} else if (y <= 11.0) {
tmp = ((x / (y * Math.exp(b))) * Math.pow(a, t)) / a;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((x * math.pow(z, y)) / a) / y tmp = 0 if y <= -2.2e+106: tmp = t_1 elif y <= 11.0: tmp = ((x / (y * math.exp(b))) * math.pow(a, t)) / a else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(x * (z ^ y)) / a) / y) tmp = 0.0 if (y <= -2.2e+106) tmp = t_1; elseif (y <= 11.0) tmp = Float64(Float64(Float64(x / Float64(y * exp(b))) * (a ^ t)) / a); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((x * (z ^ y)) / a) / y; tmp = 0.0; if (y <= -2.2e+106) tmp = t_1; elseif (y <= 11.0) tmp = ((x / (y * exp(b))) * (a ^ t)) / a; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -2.2e+106], t$95$1, If[LessEqual[y, 11.0], N[(N[(N[(x / N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[a, t], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{if}\;y \leq -2.2 \cdot 10^{+106}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 11:\\
\;\;\;\;\frac{\frac{x}{y \cdot e^{b}} \cdot {a}^{t}}{a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.19999999999999992e106 or 11 < y Initial program 100.0%
clear-numN/A
associate-/r*N/A
exp-diffN/A
prod-expN/A
*-commutativeN/A
pow-to-expN/A
sub-negN/A
metadata-evalN/A
*-commutativeN/A
pow-to-expN/A
clear-numN/A
/-lowering-/.f64N/A
Applied egg-rr47.1%
Taylor expanded in t around 0
/-lowering-/.f64N/A
pow-lowering-pow.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6458.9%
Simplified58.9%
Taylor expanded in b around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6486.5%
Simplified86.5%
if -2.19999999999999992e106 < y < 11Initial program 96.0%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6494.6%
Simplified94.6%
associate-*l/N/A
exp-diffN/A
pow-to-expN/A
clear-numN/A
div-invN/A
associate-/r/N/A
unpow-prod-upN/A
associate-*r*N/A
unpow-1N/A
un-div-invN/A
/-lowering-/.f64N/A
Applied egg-rr87.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -3.3e+14)
t_1
(if (<= b 4.6e-260)
(/
(/ 1.0 y)
(/
(-
(/ (- (/ -18.0 x) (/ (+ (/ 18.0 x) (/ -18.0 (* x b))) b)) b)
(/ 6.0 x))
(* b (* b b))))
(if (<= b 29000.0) (/ (/ x 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 <= -3.3e+14) {
tmp = t_1;
} else if (b <= 4.6e-260) {
tmp = (1.0 / y) / (((((-18.0 / x) - (((18.0 / x) + (-18.0 / (x * b))) / b)) / b) - (6.0 / x)) / (b * (b * b)));
} else if (b <= 29000.0) {
tmp = (x / 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 <= (-3.3d+14)) then
tmp = t_1
else if (b <= 4.6d-260) then
tmp = (1.0d0 / y) / ((((((-18.0d0) / x) - (((18.0d0 / x) + ((-18.0d0) / (x * b))) / b)) / b) - (6.0d0 / x)) / (b * (b * b)))
else if (b <= 29000.0d0) then
tmp = (x / 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 <= -3.3e+14) {
tmp = t_1;
} else if (b <= 4.6e-260) {
tmp = (1.0 / y) / (((((-18.0 / x) - (((18.0 / x) + (-18.0 / (x * b))) / b)) / b) - (6.0 / x)) / (b * (b * b)));
} else if (b <= 29000.0) {
tmp = (x / 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 <= -3.3e+14: tmp = t_1 elif b <= 4.6e-260: tmp = (1.0 / y) / (((((-18.0 / x) - (((18.0 / x) + (-18.0 / (x * b))) / b)) / b) - (6.0 / x)) / (b * (b * b))) elif b <= 29000.0: tmp = (x / 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 <= -3.3e+14) tmp = t_1; elseif (b <= 4.6e-260) tmp = Float64(Float64(1.0 / y) / Float64(Float64(Float64(Float64(Float64(-18.0 / x) - Float64(Float64(Float64(18.0 / x) + Float64(-18.0 / Float64(x * b))) / b)) / b) - Float64(6.0 / x)) / Float64(b * Float64(b * b)))); elseif (b <= 29000.0) tmp = Float64(Float64(x / 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 <= -3.3e+14) tmp = t_1; elseif (b <= 4.6e-260) tmp = (1.0 / y) / (((((-18.0 / x) - (((18.0 / x) + (-18.0 / (x * b))) / b)) / b) - (6.0 / x)) / (b * (b * b))); elseif (b <= 29000.0) tmp = (x / 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, -3.3e+14], t$95$1, If[LessEqual[b, 4.6e-260], N[(N[(1.0 / y), $MachinePrecision] / N[(N[(N[(N[(N[(-18.0 / x), $MachinePrecision] - N[(N[(N[(18.0 / x), $MachinePrecision] + N[(-18.0 / N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] - N[(6.0 / x), $MachinePrecision]), $MachinePrecision] / N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 29000.0], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -3.3 \cdot 10^{+14}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 4.6 \cdot 10^{-260}:\\
\;\;\;\;\frac{\frac{1}{y}}{\frac{\frac{\frac{-18}{x} - \frac{\frac{18}{x} + \frac{-18}{x \cdot b}}{b}}{b} - \frac{6}{x}}{b \cdot \left(b \cdot b\right)}}\\
\mathbf{elif}\;b \leq 29000:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -3.3e14 or 29000 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6486.3%
Simplified86.3%
/-lowering-/.f64N/A
sub0-negN/A
exp-negN/A
div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6486.3%
Applied egg-rr86.3%
if -3.3e14 < b < 4.6e-260Initial program 97.5%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6420.6%
Simplified20.6%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6420.6%
Simplified20.6%
clear-numN/A
associate-/r/N/A
flip3-+N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
Applied egg-rr20.6%
Taylor expanded in b around -inf
Simplified43.4%
if 4.6e-260 < b < 29000Initial program 92.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-+.f6473.4%
Simplified73.4%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.0%
Simplified74.0%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
Final simplification66.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ (* x (pow z y)) a) y)))
(if (<= y -2.7e+196)
t_1
(if (<= y 4.2e+65) (/ x (* y (* a (exp b)))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x * pow(z, y)) / a) / y;
double tmp;
if (y <= -2.7e+196) {
tmp = t_1;
} else if (y <= 4.2e+65) {
tmp = x / (y * (a * exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = ((x * (z ** y)) / a) / y
if (y <= (-2.7d+196)) then
tmp = t_1
else if (y <= 4.2d+65) then
tmp = x / (y * (a * exp(b)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x * Math.pow(z, y)) / a) / y;
double tmp;
if (y <= -2.7e+196) {
tmp = t_1;
} else if (y <= 4.2e+65) {
tmp = x / (y * (a * Math.exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((x * math.pow(z, y)) / a) / y tmp = 0 if y <= -2.7e+196: tmp = t_1 elif y <= 4.2e+65: tmp = x / (y * (a * math.exp(b))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(x * (z ^ y)) / a) / y) tmp = 0.0 if (y <= -2.7e+196) tmp = t_1; elseif (y <= 4.2e+65) tmp = Float64(x / Float64(y * Float64(a * exp(b)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((x * (z ^ y)) / a) / y; tmp = 0.0; if (y <= -2.7e+196) tmp = t_1; elseif (y <= 4.2e+65) tmp = x / (y * (a * exp(b))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -2.7e+196], t$95$1, If[LessEqual[y, 4.2e+65], N[(x / N[(y * N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x \cdot {z}^{y}}{a}}{y}\\
\mathbf{if}\;y \leq -2.7 \cdot 10^{+196}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 4.2 \cdot 10^{+65}:\\
\;\;\;\;\frac{x}{y \cdot \left(a \cdot e^{b}\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.69999999999999995e196 or 4.19999999999999983e65 < y Initial program 100.0%
clear-numN/A
associate-/r*N/A
exp-diffN/A
prod-expN/A
*-commutativeN/A
pow-to-expN/A
sub-negN/A
metadata-evalN/A
*-commutativeN/A
pow-to-expN/A
clear-numN/A
/-lowering-/.f64N/A
Applied egg-rr50.0%
Taylor expanded in t around 0
/-lowering-/.f64N/A
pow-lowering-pow.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6461.6%
Simplified61.6%
Taylor expanded in b around 0
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f6493.7%
Simplified93.7%
if -2.69999999999999995e196 < y < 4.19999999999999983e65Initial program 96.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6493.1%
Simplified93.1%
exp-diffN/A
pow-to-expN/A
unpow-prod-upN/A
associate-/l*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
/-lowering-/.f64N/A
unpow-1N/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
exp-lowering-exp.f6484.3%
Applied egg-rr84.3%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6476.4%
Simplified76.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -4.2e+14)
t_1
(if (<= b 72000000.0) (/ (* x (pow a (+ t -1.0))) 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 <= -4.2e+14) {
tmp = t_1;
} else if (b <= 72000000.0) {
tmp = (x * pow(a, (t + -1.0))) / 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 <= (-4.2d+14)) then
tmp = t_1
else if (b <= 72000000.0d0) then
tmp = (x * (a ** (t + (-1.0d0)))) / 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 <= -4.2e+14) {
tmp = t_1;
} else if (b <= 72000000.0) {
tmp = (x * Math.pow(a, (t + -1.0))) / 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 <= -4.2e+14: tmp = t_1 elif b <= 72000000.0: tmp = (x * math.pow(a, (t + -1.0))) / 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 <= -4.2e+14) tmp = t_1; elseif (b <= 72000000.0) tmp = Float64(Float64(x * (a ^ Float64(t + -1.0))) / 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 <= -4.2e+14) tmp = t_1; elseif (b <= 72000000.0) tmp = (x * (a ^ (t + -1.0))) / 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, -4.2e+14], t$95$1, If[LessEqual[b, 72000000.0], N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -4.2 \cdot 10^{+14}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 72000000:\\
\;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -4.2e14 or 7.2e7 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6486.3%
Simplified86.3%
/-lowering-/.f64N/A
sub0-negN/A
exp-negN/A
div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6486.3%
Applied egg-rr86.3%
if -4.2e14 < b < 7.2e7Initial program 95.2%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6470.3%
Simplified70.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6471.7%
Simplified71.7%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (/ x (exp b)) y)))
(if (<= b -6e+14)
t_1
(if (<= b 31000.0) (* (pow a (+ t -1.0)) (/ x 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 <= -6e+14) {
tmp = t_1;
} else if (b <= 31000.0) {
tmp = pow(a, (t + -1.0)) * (x / 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 <= (-6d+14)) then
tmp = t_1
else if (b <= 31000.0d0) then
tmp = (a ** (t + (-1.0d0))) * (x / 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 <= -6e+14) {
tmp = t_1;
} else if (b <= 31000.0) {
tmp = Math.pow(a, (t + -1.0)) * (x / 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 <= -6e+14: tmp = t_1 elif b <= 31000.0: tmp = math.pow(a, (t + -1.0)) * (x / 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 <= -6e+14) tmp = t_1; elseif (b <= 31000.0) tmp = Float64((a ^ Float64(t + -1.0)) * Float64(x / 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 <= -6e+14) tmp = t_1; elseif (b <= 31000.0) tmp = (a ^ (t + -1.0)) * (x / 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, -6e+14], t$95$1, If[LessEqual[b, 31000.0], N[(N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision] * N[(x / y), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -6 \cdot 10^{+14}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 31000:\\
\;\;\;\;{a}^{\left(t + -1\right)} \cdot \frac{x}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -6e14 or 31000 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6486.3%
Simplified86.3%
/-lowering-/.f64N/A
sub0-negN/A
exp-negN/A
div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6486.3%
Applied egg-rr86.3%
if -6e14 < b < 31000Initial program 95.2%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6470.3%
Simplified70.3%
Taylor expanded in b around 0
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
/-lowering-/.f6469.5%
Simplified69.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* (/ x y) (/ (pow z y) a))))
(if (<= y -4.2e+215)
t_1
(if (<= y 2.4e+65) (/ x (* y (* a (exp b)))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / y) * (pow(z, y) / a);
double tmp;
if (y <= -4.2e+215) {
tmp = t_1;
} else if (y <= 2.4e+65) {
tmp = x / (y * (a * exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = (x / y) * ((z ** y) / a)
if (y <= (-4.2d+215)) then
tmp = t_1
else if (y <= 2.4d+65) then
tmp = x / (y * (a * exp(b)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x / y) * (Math.pow(z, y) / a);
double tmp;
if (y <= -4.2e+215) {
tmp = t_1;
} else if (y <= 2.4e+65) {
tmp = x / (y * (a * Math.exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x / y) * (math.pow(z, y) / a) tmp = 0 if y <= -4.2e+215: tmp = t_1 elif y <= 2.4e+65: tmp = x / (y * (a * math.exp(b))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x / y) * Float64((z ^ y) / a)) tmp = 0.0 if (y <= -4.2e+215) tmp = t_1; elseif (y <= 2.4e+65) tmp = Float64(x / Float64(y * Float64(a * exp(b)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x / y) * ((z ^ y) / a); tmp = 0.0; if (y <= -4.2e+215) tmp = t_1; elseif (y <= 2.4e+65) tmp = x / (y * (a * exp(b))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x / y), $MachinePrecision] * N[(N[Power[z, y], $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -4.2e+215], t$95$1, If[LessEqual[y, 2.4e+65], N[(x / N[(y * N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{y} \cdot \frac{{z}^{y}}{a}\\
\mathbf{if}\;y \leq -4.2 \cdot 10^{+215}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 2.4 \cdot 10^{+65}:\\
\;\;\;\;\frac{x}{y \cdot \left(a \cdot e^{b}\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -4.2000000000000003e215 or 2.4000000000000002e65 < y Initial program 100.0%
Taylor expanded in b around 0
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
+-commutativeN/A
exp-sumN/A
*-commutativeN/A
exp-to-powN/A
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
pow-lowering-pow.f64N/A
/-lowering-/.f6460.5%
Simplified60.5%
Taylor expanded in t around 0
/-lowering-/.f64N/A
pow-lowering-pow.f6479.0%
Simplified79.0%
if -4.2000000000000003e215 < y < 2.4000000000000002e65Initial program 96.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6492.6%
Simplified92.6%
exp-diffN/A
pow-to-expN/A
unpow-prod-upN/A
associate-/l*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
/-lowering-/.f64N/A
unpow-1N/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
exp-lowering-exp.f6483.9%
Applied egg-rr83.9%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6476.1%
Simplified76.1%
Final simplification77.0%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (/ (* x (pow a t)) y))) (if (<= t -35000000.0) t_1 (if (<= t 6.2) (/ x (* y (* a (exp b)))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * pow(a, t)) / y;
double tmp;
if (t <= -35000000.0) {
tmp = t_1;
} else if (t <= 6.2) {
tmp = x / (y * (a * exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = (x * (a ** t)) / y
if (t <= (-35000000.0d0)) then
tmp = t_1
else if (t <= 6.2d0) then
tmp = x / (y * (a * exp(b)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * Math.pow(a, t)) / y;
double tmp;
if (t <= -35000000.0) {
tmp = t_1;
} else if (t <= 6.2) {
tmp = x / (y * (a * Math.exp(b)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * math.pow(a, t)) / y tmp = 0 if t <= -35000000.0: tmp = t_1 elif t <= 6.2: tmp = x / (y * (a * math.exp(b))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * (a ^ t)) / y) tmp = 0.0 if (t <= -35000000.0) tmp = t_1; elseif (t <= 6.2) tmp = Float64(x / Float64(y * Float64(a * exp(b)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * (a ^ t)) / y; tmp = 0.0; if (t <= -35000000.0) tmp = t_1; elseif (t <= 6.2) tmp = x / (y * (a * exp(b))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Power[a, t], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[t, -35000000.0], t$95$1, If[LessEqual[t, 6.2], N[(x / N[(y * N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x \cdot {a}^{t}}{y}\\
\mathbf{if}\;t \leq -35000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 6.2:\\
\;\;\;\;\frac{x}{y \cdot \left(a \cdot e^{b}\right)}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -3.5e7 or 6.20000000000000018 < t Initial program 100.0%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6486.2%
Simplified86.2%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6476.7%
Simplified76.7%
Taylor expanded in t around inf
Simplified76.7%
if -3.5e7 < t < 6.20000000000000018Initial program 95.7%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.8%
Simplified72.8%
exp-diffN/A
pow-to-expN/A
unpow-prod-upN/A
associate-/l*N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
/-lowering-/.f64N/A
unpow-1N/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
exp-lowering-exp.f6473.0%
Applied egg-rr73.0%
Taylor expanded in t around 0
/-lowering-/.f64N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
exp-lowering-exp.f6473.1%
Simplified73.1%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (/ (/ x (exp b)) y))) (if (<= b -1e+15) t_1 (if (<= b 1.65e-36) (/ (* x (pow a t)) 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 <= -1e+15) {
tmp = t_1;
} else if (b <= 1.65e-36) {
tmp = (x * pow(a, t)) / 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 <= (-1d+15)) then
tmp = t_1
else if (b <= 1.65d-36) then
tmp = (x * (a ** t)) / 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 <= -1e+15) {
tmp = t_1;
} else if (b <= 1.65e-36) {
tmp = (x * Math.pow(a, t)) / 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 <= -1e+15: tmp = t_1 elif b <= 1.65e-36: tmp = (x * math.pow(a, t)) / 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 <= -1e+15) tmp = t_1; elseif (b <= 1.65e-36) tmp = Float64(Float64(x * (a ^ t)) / 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 <= -1e+15) tmp = t_1; elseif (b <= 1.65e-36) tmp = (x * (a ^ t)) / 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, -1e+15], t$95$1, If[LessEqual[b, 1.65e-36], N[(N[(x * N[Power[a, t], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -1 \cdot 10^{+15}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.65 \cdot 10^{-36}:\\
\;\;\;\;\frac{x \cdot {a}^{t}}{y}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1e15 or 1.64999999999999995e-36 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6485.2%
Simplified85.2%
/-lowering-/.f64N/A
sub0-negN/A
exp-negN/A
div-invN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6485.2%
Applied egg-rr85.2%
if -1e15 < b < 1.64999999999999995e-36Initial program 95.0%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6470.2%
Simplified70.2%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6471.6%
Simplified71.6%
Taylor expanded in t around inf
Simplified53.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* x (* b b))))
(if (<= b -8.2e-133)
(/
(/ 1.0 y)
(/
(- (/ 18.0 (* b t_1)) (+ (/ 6.0 x) (+ (/ 18.0 (* x b)) (/ 18.0 t_1))))
(* b (* b b))))
(if (<= b -2.6e-238)
(/ (/ x a) y)
(if (<= b 6.6e-255)
(/ (* x (* b (* b 0.5))) y)
(if (<= b 105000000000.0)
(/ (/ x y) a)
(/
(/
1.0
(/
(+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666))))))
x))
y)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * b);
double tmp;
if (b <= -8.2e-133) {
tmp = (1.0 / y) / (((18.0 / (b * t_1)) - ((6.0 / x) + ((18.0 / (x * b)) + (18.0 / t_1)))) / (b * (b * b)));
} else if (b <= -2.6e-238) {
tmp = (x / a) / y;
} else if (b <= 6.6e-255) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 105000000000.0) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = x * (b * b)
if (b <= (-8.2d-133)) then
tmp = (1.0d0 / y) / (((18.0d0 / (b * t_1)) - ((6.0d0 / x) + ((18.0d0 / (x * b)) + (18.0d0 / t_1)))) / (b * (b * b)))
else if (b <= (-2.6d-238)) then
tmp = (x / a) / y
else if (b <= 6.6d-255) then
tmp = (x * (b * (b * 0.5d0))) / y
else if (b <= 105000000000.0d0) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0)))))) / x)) / y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x * (b * b);
double tmp;
if (b <= -8.2e-133) {
tmp = (1.0 / y) / (((18.0 / (b * t_1)) - ((6.0 / x) + ((18.0 / (x * b)) + (18.0 / t_1)))) / (b * (b * b)));
} else if (b <= -2.6e-238) {
tmp = (x / a) / y;
} else if (b <= 6.6e-255) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 105000000000.0) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x * (b * b) tmp = 0 if b <= -8.2e-133: tmp = (1.0 / y) / (((18.0 / (b * t_1)) - ((6.0 / x) + ((18.0 / (x * b)) + (18.0 / t_1)))) / (b * (b * b))) elif b <= -2.6e-238: tmp = (x / a) / y elif b <= 6.6e-255: tmp = (x * (b * (b * 0.5))) / y elif b <= 105000000000.0: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x * Float64(b * b)) tmp = 0.0 if (b <= -8.2e-133) tmp = Float64(Float64(1.0 / y) / Float64(Float64(Float64(18.0 / Float64(b * t_1)) - Float64(Float64(6.0 / x) + Float64(Float64(18.0 / Float64(x * b)) + Float64(18.0 / t_1)))) / Float64(b * Float64(b * b)))); elseif (b <= -2.6e-238) tmp = Float64(Float64(x / a) / y); elseif (b <= 6.6e-255) tmp = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y); elseif (b <= 105000000000.0) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666)))))) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x * (b * b); tmp = 0.0; if (b <= -8.2e-133) tmp = (1.0 / y) / (((18.0 / (b * t_1)) - ((6.0 / x) + ((18.0 / (x * b)) + (18.0 / t_1)))) / (b * (b * b))); elseif (b <= -2.6e-238) tmp = (x / a) / y; elseif (b <= 6.6e-255) tmp = (x * (b * (b * 0.5))) / y; elseif (b <= 105000000000.0) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -8.2e-133], N[(N[(1.0 / y), $MachinePrecision] / N[(N[(N[(18.0 / N[(b * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(N[(6.0 / x), $MachinePrecision] + N[(N[(18.0 / N[(x * b), $MachinePrecision]), $MachinePrecision] + N[(18.0 / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -2.6e-238], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 6.6e-255], N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 105000000000.0], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot b\right)\\
\mathbf{if}\;b \leq -8.2 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{1}{y}}{\frac{\frac{18}{b \cdot t\_1} - \left(\frac{6}{x} + \left(\frac{18}{x \cdot b} + \frac{18}{t\_1}\right)\right)}{b \cdot \left(b \cdot b\right)}}\\
\mathbf{elif}\;b \leq -2.6 \cdot 10^{-238}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 6.6 \cdot 10^{-255}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{elif}\;b \leq 105000000000:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)}{x}}}{y}\\
\end{array}
\end{array}
if b < -8.20000000000000045e-133Initial program 99.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6467.9%
Simplified67.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6459.6%
Simplified59.6%
clear-numN/A
associate-/r/N/A
flip3-+N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
Applied egg-rr59.6%
Taylor expanded in b around inf
/-lowering-/.f64N/A
Simplified68.2%
if -8.20000000000000045e-133 < b < -2.6000000000000001e-238Initial program 97.7%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6479.0%
Simplified79.0%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6481.3%
Simplified81.3%
Taylor expanded in t around 0
/-lowering-/.f6463.0%
Simplified63.0%
if -2.6000000000000001e-238 < b < 6.59999999999999976e-255Initial program 94.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6413.5%
Simplified13.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6413.5%
Simplified13.5%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6464.0%
Simplified64.0%
if 6.59999999999999976e-255 < b < 1.05e11Initial program 92.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-+.f6473.4%
Simplified73.4%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.0%
Simplified74.0%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 1.05e11 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6482.0%
Simplified82.0%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6482.0%
Applied egg-rr82.0%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6473.9%
Simplified73.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -4e-133)
(/
(/ -1.0 y)
(/
(+ (/ 6.0 x) (+ (/ 18.0 (* x b)) (/ 18.0 (* x (* b b)))))
(* b (* b b))))
(if (<= b -9.5e-236)
(/ (/ x a) y)
(if (<= b 1.6e-260)
(/ (* x (* b (* b 0.5))) y)
(if (<= b 75000000000000.0)
(/ (/ x y) a)
(/
(/
1.0
(/ (+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666)))))) x))
y))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -4e-133) {
tmp = (-1.0 / y) / (((6.0 / x) + ((18.0 / (x * b)) + (18.0 / (x * (b * b))))) / (b * (b * b)));
} else if (b <= -9.5e-236) {
tmp = (x / a) / y;
} else if (b <= 1.6e-260) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 75000000000000.0) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / 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 (b <= (-4d-133)) then
tmp = ((-1.0d0) / y) / (((6.0d0 / x) + ((18.0d0 / (x * b)) + (18.0d0 / (x * (b * b))))) / (b * (b * b)))
else if (b <= (-9.5d-236)) then
tmp = (x / a) / y
else if (b <= 1.6d-260) then
tmp = (x * (b * (b * 0.5d0))) / y
else if (b <= 75000000000000.0d0) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0)))))) / 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 (b <= -4e-133) {
tmp = (-1.0 / y) / (((6.0 / x) + ((18.0 / (x * b)) + (18.0 / (x * (b * b))))) / (b * (b * b)));
} else if (b <= -9.5e-236) {
tmp = (x / a) / y;
} else if (b <= 1.6e-260) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 75000000000000.0) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -4e-133: tmp = (-1.0 / y) / (((6.0 / x) + ((18.0 / (x * b)) + (18.0 / (x * (b * b))))) / (b * (b * b))) elif b <= -9.5e-236: tmp = (x / a) / y elif b <= 1.6e-260: tmp = (x * (b * (b * 0.5))) / y elif b <= 75000000000000.0: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -4e-133) tmp = Float64(Float64(-1.0 / y) / Float64(Float64(Float64(6.0 / x) + Float64(Float64(18.0 / Float64(x * b)) + Float64(18.0 / Float64(x * Float64(b * b))))) / Float64(b * Float64(b * b)))); elseif (b <= -9.5e-236) tmp = Float64(Float64(x / a) / y); elseif (b <= 1.6e-260) tmp = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y); elseif (b <= 75000000000000.0) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666)))))) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -4e-133) tmp = (-1.0 / y) / (((6.0 / x) + ((18.0 / (x * b)) + (18.0 / (x * (b * b))))) / (b * (b * b))); elseif (b <= -9.5e-236) tmp = (x / a) / y; elseif (b <= 1.6e-260) tmp = (x * (b * (b * 0.5))) / y; elseif (b <= 75000000000000.0) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -4e-133], N[(N[(-1.0 / y), $MachinePrecision] / N[(N[(N[(6.0 / x), $MachinePrecision] + N[(N[(18.0 / N[(x * b), $MachinePrecision]), $MachinePrecision] + N[(18.0 / N[(x * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -9.5e-236], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 1.6e-260], N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 75000000000000.0], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -4 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{-1}{y}}{\frac{\frac{6}{x} + \left(\frac{18}{x \cdot b} + \frac{18}{x \cdot \left(b \cdot b\right)}\right)}{b \cdot \left(b \cdot b\right)}}\\
\mathbf{elif}\;b \leq -9.5 \cdot 10^{-236}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 1.6 \cdot 10^{-260}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{elif}\;b \leq 75000000000000:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)}{x}}}{y}\\
\end{array}
\end{array}
if b < -4.0000000000000003e-133Initial program 99.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6467.9%
Simplified67.9%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6459.6%
Simplified59.6%
clear-numN/A
associate-/r/N/A
flip3-+N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
Applied egg-rr59.6%
Taylor expanded in b around -inf
mul-1-negN/A
metadata-evalN/A
associate-*r/N/A
metadata-evalN/A
associate-*r/N/A
+-commutativeN/A
associate-*r/N/A
metadata-evalN/A
distribute-neg-frac2N/A
mul-1-negN/A
Simplified67.7%
if -4.0000000000000003e-133 < b < -9.50000000000000065e-236Initial program 97.7%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6479.0%
Simplified79.0%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6481.3%
Simplified81.3%
Taylor expanded in t around 0
/-lowering-/.f6463.0%
Simplified63.0%
if -9.50000000000000065e-236 < b < 1.59999999999999997e-260Initial program 94.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6413.5%
Simplified13.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6413.5%
Simplified13.5%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6464.0%
Simplified64.0%
if 1.59999999999999997e-260 < b < 7.5e13Initial program 92.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-+.f6473.4%
Simplified73.4%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.0%
Simplified74.0%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 7.5e13 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6482.0%
Simplified82.0%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6482.0%
Applied egg-rr82.0%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6473.9%
Simplified73.9%
Final simplification64.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -80000000000000.0)
(* x (/ (+ 1.0 (* b (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))) y))
(if (<= b -4.4e-237)
(/ (/ x a) y)
(if (<= b 1.16e-260)
(/ (* x (* b (* b 0.5))) y)
(if (<= b 3.7e+14)
(/ (/ x y) a)
(/
(/
1.0
(/ (+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666)))))) x))
y))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -80000000000000.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= -4.4e-237) {
tmp = (x / a) / y;
} else if (b <= 1.16e-260) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 3.7e+14) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / 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 (b <= (-80000000000000.0d0)) then
tmp = x * ((1.0d0 + (b * ((-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))))) / y)
else if (b <= (-4.4d-237)) then
tmp = (x / a) / y
else if (b <= 1.16d-260) then
tmp = (x * (b * (b * 0.5d0))) / y
else if (b <= 3.7d+14) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0)))))) / 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 (b <= -80000000000000.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= -4.4e-237) {
tmp = (x / a) / y;
} else if (b <= 1.16e-260) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 3.7e+14) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -80000000000000.0: tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y) elif b <= -4.4e-237: tmp = (x / a) / y elif b <= 1.16e-260: tmp = (x * (b * (b * 0.5))) / y elif b <= 3.7e+14: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -80000000000000.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 <= -4.4e-237) tmp = Float64(Float64(x / a) / y); elseif (b <= 1.16e-260) tmp = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y); elseif (b <= 3.7e+14) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666)))))) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -80000000000000.0) tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y); elseif (b <= -4.4e-237) tmp = (x / a) / y; elseif (b <= 1.16e-260) tmp = (x * (b * (b * 0.5))) / y; elseif (b <= 3.7e+14) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -80000000000000.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, -4.4e-237], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 1.16e-260], N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 3.7e+14], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -80000000000000:\\
\;\;\;\;x \cdot \frac{1 + b \cdot \left(-1 + b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)}{y}\\
\mathbf{elif}\;b \leq -4.4 \cdot 10^{-237}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 1.16 \cdot 10^{-260}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{elif}\;b \leq 3.7 \cdot 10^{+14}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)}{x}}}{y}\\
\end{array}
\end{array}
if b < -8e13Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.8%
Simplified88.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6476.6%
Simplified76.6%
Taylor expanded in x around 0
associate-/l*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6483.3%
Simplified83.3%
if -8e13 < b < -4.39999999999999996e-237Initial program 98.5%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.8%
Simplified72.8%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6475.5%
Simplified75.5%
Taylor expanded in t around 0
/-lowering-/.f6443.8%
Simplified43.8%
if -4.39999999999999996e-237 < b < 1.15999999999999994e-260Initial program 94.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6413.5%
Simplified13.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6413.5%
Simplified13.5%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6464.0%
Simplified64.0%
if 1.15999999999999994e-260 < b < 3.7e14Initial program 92.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-+.f6473.4%
Simplified73.4%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.0%
Simplified74.0%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 3.7e14 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6482.0%
Simplified82.0%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6482.0%
Applied egg-rr82.0%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6473.9%
Simplified73.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -13500000000000.0)
(* x (/ (+ 1.0 (* b (+ -1.0 (* b (+ 0.5 (* b -0.16666666666666666)))))) y))
(if (<= b -2.7e-236)
(/ (/ x a) y)
(if (<= b 3.8e-255)
(/ (* x (* b (* b 0.5))) y)
(if (<= b 1.25e+26)
(/ (/ x y) a)
(/ (/ 1.0 (/ (+ 1.0 (* b (+ 1.0 (* b 0.5)))) x)) y))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -13500000000000.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= -2.7e-236) {
tmp = (x / a) / y;
} else if (b <= 3.8e-255) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 1.25e+26) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / 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 (b <= (-13500000000000.0d0)) then
tmp = x * ((1.0d0 + (b * ((-1.0d0) + (b * (0.5d0 + (b * (-0.16666666666666666d0))))))) / y)
else if (b <= (-2.7d-236)) then
tmp = (x / a) / y
else if (b <= 3.8d-255) then
tmp = (x * (b * (b * 0.5d0))) / y
else if (b <= 1.25d+26) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + (b * (1.0d0 + (b * 0.5d0)))) / 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 (b <= -13500000000000.0) {
tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y);
} else if (b <= -2.7e-236) {
tmp = (x / a) / y;
} else if (b <= 3.8e-255) {
tmp = (x * (b * (b * 0.5))) / y;
} else if (b <= 1.25e+26) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -13500000000000.0: tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y) elif b <= -2.7e-236: tmp = (x / a) / y elif b <= 3.8e-255: tmp = (x * (b * (b * 0.5))) / y elif b <= 1.25e+26: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -13500000000000.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.7e-236) tmp = Float64(Float64(x / a) / y); elseif (b <= 3.8e-255) tmp = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y); elseif (b <= 1.25e+26) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * 0.5)))) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -13500000000000.0) tmp = x * ((1.0 + (b * (-1.0 + (b * (0.5 + (b * -0.16666666666666666)))))) / y); elseif (b <= -2.7e-236) tmp = (x / a) / y; elseif (b <= 3.8e-255) tmp = (x * (b * (b * 0.5))) / y; elseif (b <= 1.25e+26) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -13500000000000.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.7e-236], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 3.8e-255], N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 1.25e+26], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + N[(b * N[(1.0 + N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -13500000000000:\\
\;\;\;\;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.7 \cdot 10^{-236}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 3.8 \cdot 10^{-255}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{elif}\;b \leq 1.25 \cdot 10^{+26}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b \cdot \left(1 + b \cdot 0.5\right)}{x}}}{y}\\
\end{array}
\end{array}
if b < -1.35e13Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6488.8%
Simplified88.8%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6476.6%
Simplified76.6%
Taylor expanded in x around 0
associate-/l*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6483.3%
Simplified83.3%
if -1.35e13 < b < -2.7e-236Initial program 98.5%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.8%
Simplified72.8%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6475.5%
Simplified75.5%
Taylor expanded in t around 0
/-lowering-/.f6443.8%
Simplified43.8%
if -2.7e-236 < b < 3.8e-255Initial program 94.4%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6413.5%
Simplified13.5%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6413.5%
Simplified13.5%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6464.0%
Simplified64.0%
if 3.8e-255 < b < 1.25e26Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 1.25e26 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (* x (* b (* b 0.5))) y)))
(if (<= b -6.5e+20)
t_1
(if (<= b -8.6e-239)
(/ (/ x a) y)
(if (<= b 3.6e-255)
t_1
(if (<= b 8.1e+31) (/ (/ x y) a) (/ (/ 1.0 (/ (+ 1.0 b) x)) y)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * (b * (b * 0.5))) / y;
double tmp;
if (b <= -6.5e+20) {
tmp = t_1;
} else if (b <= -8.6e-239) {
tmp = (x / a) / y;
} else if (b <= 3.6e-255) {
tmp = t_1;
} else if (b <= 8.1e+31) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / x)) / y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = (x * (b * (b * 0.5d0))) / y
if (b <= (-6.5d+20)) then
tmp = t_1
else if (b <= (-8.6d-239)) then
tmp = (x / a) / y
else if (b <= 3.6d-255) then
tmp = t_1
else if (b <= 8.1d+31) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + b) / x)) / y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * (b * (b * 0.5))) / y;
double tmp;
if (b <= -6.5e+20) {
tmp = t_1;
} else if (b <= -8.6e-239) {
tmp = (x / a) / y;
} else if (b <= 3.6e-255) {
tmp = t_1;
} else if (b <= 8.1e+31) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * (b * (b * 0.5))) / y tmp = 0 if b <= -6.5e+20: tmp = t_1 elif b <= -8.6e-239: tmp = (x / a) / y elif b <= 3.6e-255: tmp = t_1 elif b <= 8.1e+31: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + b) / x)) / y return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y) tmp = 0.0 if (b <= -6.5e+20) tmp = t_1; elseif (b <= -8.6e-239) tmp = Float64(Float64(x / a) / y); elseif (b <= 3.6e-255) tmp = t_1; elseif (b <= 8.1e+31) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + b) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * (b * (b * 0.5))) / y; tmp = 0.0; if (b <= -6.5e+20) tmp = t_1; elseif (b <= -8.6e-239) tmp = (x / a) / y; elseif (b <= 3.6e-255) tmp = t_1; elseif (b <= 8.1e+31) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + b) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -6.5e+20], t$95$1, If[LessEqual[b, -8.6e-239], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 3.6e-255], t$95$1, If[LessEqual[b, 8.1e+31], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + b), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{if}\;b \leq -6.5 \cdot 10^{+20}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -8.6 \cdot 10^{-239}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 3.6 \cdot 10^{-255}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 8.1 \cdot 10^{+31}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b}{x}}}{y}\\
\end{array}
\end{array}
if b < -6.5e20 or -8.6000000000000001e-239 < b < 3.6000000000000002e-255Initial program 98.8%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6473.2%
Simplified73.2%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6463.3%
Simplified63.3%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6474.4%
Simplified74.4%
if -6.5e20 < b < -8.6000000000000001e-239Initial program 98.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.0%
Simplified72.0%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.9%
Simplified72.9%
Taylor expanded in t around 0
/-lowering-/.f6442.3%
Simplified42.3%
if 3.6000000000000002e-255 < b < 8.1e31Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 8.1e31 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6430.0%
Simplified30.0%
Final simplification52.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= b 1.02e-260)
(/ (* x (* b (* (* b b) -0.16666666666666666))) y)
(if (<= b 7.8e+29)
(/ (/ x y) a)
(/ (/ 1.0 (/ (+ 1.0 (* b (+ 1.0 (* b 0.5)))) x)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= 1.02e-260) {
tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y;
} else if (b <= 7.8e+29) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / 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 (b <= 1.02d-260) then
tmp = (x * (b * ((b * b) * (-0.16666666666666666d0)))) / y
else if (b <= 7.8d+29) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + (b * (1.0d0 + (b * 0.5d0)))) / 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 (b <= 1.02e-260) {
tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y;
} else if (b <= 7.8e+29) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= 1.02e-260: tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y elif b <= 7.8e+29: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= 1.02e-260) tmp = Float64(Float64(x * Float64(b * Float64(Float64(b * b) * -0.16666666666666666))) / y); elseif (b <= 7.8e+29) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * 0.5)))) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= 1.02e-260) tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y; elseif (b <= 7.8e+29) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + (b * (1.0 + (b * 0.5)))) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 1.02e-260], N[(N[(x * N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 7.8e+29], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + N[(b * N[(1.0 + N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq 1.02 \cdot 10^{-260}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)\right)}{y}\\
\mathbf{elif}\;b \leq 7.8 \cdot 10^{+29}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b \cdot \left(1 + b \cdot 0.5\right)}{x}}}{y}\\
\end{array}
\end{array}
if b < 1.01999999999999991e-260Initial program 98.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6454.3%
Simplified54.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6448.4%
Simplified48.4%
+-commutativeN/A
flip-+N/A
div-invN/A
*-lowering-*.f64N/A
Applied egg-rr12.2%
Taylor expanded in b around inf
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6459.7%
Simplified59.7%
if 1.01999999999999991e-260 < b < 7.79999999999999937e29Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 7.79999999999999937e29 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6461.7%
Simplified61.7%
Final simplification58.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (* x (* b (* b 0.5))) y)))
(if (<= b -1.5e+24)
t_1
(if (<= b -3.6e-231)
(/ (/ x a) y)
(if (<= b 6.6e-256) t_1 (/ (/ x y) a))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * (b * (b * 0.5))) / y;
double tmp;
if (b <= -1.5e+24) {
tmp = t_1;
} else if (b <= -3.6e-231) {
tmp = (x / a) / y;
} else if (b <= 6.6e-256) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = (x * (b * (b * 0.5d0))) / y
if (b <= (-1.5d+24)) then
tmp = t_1
else if (b <= (-3.6d-231)) then
tmp = (x / a) / y
else if (b <= 6.6d-256) then
tmp = t_1
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 t_1 = (x * (b * (b * 0.5))) / y;
double tmp;
if (b <= -1.5e+24) {
tmp = t_1;
} else if (b <= -3.6e-231) {
tmp = (x / a) / y;
} else if (b <= 6.6e-256) {
tmp = t_1;
} else {
tmp = (x / y) / a;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * (b * (b * 0.5))) / y tmp = 0 if b <= -1.5e+24: tmp = t_1 elif b <= -3.6e-231: tmp = (x / a) / y elif b <= 6.6e-256: tmp = t_1 else: tmp = (x / y) / a return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * Float64(b * Float64(b * 0.5))) / y) tmp = 0.0 if (b <= -1.5e+24) tmp = t_1; elseif (b <= -3.6e-231) tmp = Float64(Float64(x / a) / y); elseif (b <= 6.6e-256) tmp = t_1; else tmp = Float64(Float64(x / y) / a); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * (b * (b * 0.5))) / y; tmp = 0.0; if (b <= -1.5e+24) tmp = t_1; elseif (b <= -3.6e-231) tmp = (x / a) / y; elseif (b <= 6.6e-256) tmp = t_1; else tmp = (x / y) / a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[(b * N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -1.5e+24], t$95$1, If[LessEqual[b, -3.6e-231], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 6.6e-256], t$95$1, N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x \cdot \left(b \cdot \left(b \cdot 0.5\right)\right)}{y}\\
\mathbf{if}\;b \leq -1.5 \cdot 10^{+24}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -3.6 \cdot 10^{-231}:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\
\mathbf{elif}\;b \leq 6.6 \cdot 10^{-256}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\end{array}
\end{array}
if b < -1.49999999999999997e24 or -3.59999999999999973e-231 < b < 6.6e-256Initial program 98.8%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6473.2%
Simplified73.2%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6463.3%
Simplified63.3%
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
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6474.4%
Simplified74.4%
if -1.49999999999999997e24 < b < -3.59999999999999973e-231Initial program 98.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.0%
Simplified72.0%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6472.9%
Simplified72.9%
Taylor expanded in t around 0
/-lowering-/.f6442.3%
Simplified42.3%
if 6.6e-256 < b Initial program 96.3%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6479.6%
Simplified79.6%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6456.0%
Simplified56.0%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6430.5%
Simplified30.5%
(FPCore (x y z t a b) :precision binary64 (if (<= b 2.2e-259) (/ (* x (* b (* (* b b) -0.16666666666666666))) y) (if (<= b 5.5e+38) (/ (/ x y) a) (/ (/ 1.0 (/ (+ 1.0 b) x)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= 2.2e-259) {
tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y;
} else if (b <= 5.5e+38) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / 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 (b <= 2.2d-259) then
tmp = (x * (b * ((b * b) * (-0.16666666666666666d0)))) / y
else if (b <= 5.5d+38) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + b) / 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 (b <= 2.2e-259) {
tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y;
} else if (b <= 5.5e+38) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= 2.2e-259: tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y elif b <= 5.5e+38: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + b) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= 2.2e-259) tmp = Float64(Float64(x * Float64(b * Float64(Float64(b * b) * -0.16666666666666666))) / y); elseif (b <= 5.5e+38) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + b) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= 2.2e-259) tmp = (x * (b * ((b * b) * -0.16666666666666666))) / y; elseif (b <= 5.5e+38) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + b) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 2.2e-259], N[(N[(x * N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 5.5e+38], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + b), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq 2.2 \cdot 10^{-259}:\\
\;\;\;\;\frac{x \cdot \left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)\right)}{y}\\
\mathbf{elif}\;b \leq 5.5 \cdot 10^{+38}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b}{x}}}{y}\\
\end{array}
\end{array}
if b < 2.2000000000000001e-259Initial program 98.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6454.3%
Simplified54.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6448.4%
Simplified48.4%
+-commutativeN/A
flip-+N/A
div-invN/A
*-lowering-*.f64N/A
Applied egg-rr12.2%
Taylor expanded in b around inf
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-*r*N/A
unpow2N/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
associate-*r*N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6459.7%
Simplified59.7%
if 2.2000000000000001e-259 < b < 5.5000000000000003e38Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 5.5000000000000003e38 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6430.0%
Simplified30.0%
Final simplification51.0%
(FPCore (x y z t a b) :precision binary64 (if (<= b 1.7e-260) (/ (* b (* b (* x (* b -0.16666666666666666)))) y) (if (<= b 2.1e+33) (/ (/ x y) a) (/ (/ 1.0 (/ (+ 1.0 b) x)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= 1.7e-260) {
tmp = (b * (b * (x * (b * -0.16666666666666666)))) / y;
} else if (b <= 2.1e+33) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / 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 (b <= 1.7d-260) then
tmp = (b * (b * (x * (b * (-0.16666666666666666d0))))) / y
else if (b <= 2.1d+33) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + b) / 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 (b <= 1.7e-260) {
tmp = (b * (b * (x * (b * -0.16666666666666666)))) / y;
} else if (b <= 2.1e+33) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= 1.7e-260: tmp = (b * (b * (x * (b * -0.16666666666666666)))) / y elif b <= 2.1e+33: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + b) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= 1.7e-260) tmp = Float64(Float64(b * Float64(b * Float64(x * Float64(b * -0.16666666666666666)))) / y); elseif (b <= 2.1e+33) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + b) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= 1.7e-260) tmp = (b * (b * (x * (b * -0.16666666666666666)))) / y; elseif (b <= 2.1e+33) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + b) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 1.7e-260], N[(N[(b * N[(b * N[(x * N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 2.1e+33], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + b), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq 1.7 \cdot 10^{-260}:\\
\;\;\;\;\frac{b \cdot \left(b \cdot \left(x \cdot \left(b \cdot -0.16666666666666666\right)\right)\right)}{y}\\
\mathbf{elif}\;b \leq 2.1 \cdot 10^{+33}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b}{x}}}{y}\\
\end{array}
\end{array}
if b < 1.6999999999999999e-260Initial program 98.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6454.3%
Simplified54.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6448.4%
Simplified48.4%
Taylor expanded in b around inf
associate-*r/N/A
*-commutativeN/A
associate-*r*N/A
/-lowering-/.f64N/A
*-commutativeN/A
cube-multN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6458.5%
Simplified58.5%
if 1.6999999999999999e-260 < b < 2.1000000000000001e33Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 2.1000000000000001e33 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6430.0%
Simplified30.0%
Final simplification50.3%
(FPCore (x y z t a b) :precision binary64 (if (<= b 3.7e-257) (* (* b b) (/ (* b (* x -0.16666666666666666)) y)) (if (<= b 5.5e+41) (/ (/ x y) a) (/ (/ 1.0 (/ (+ 1.0 b) x)) y))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= 3.7e-257) {
tmp = (b * b) * ((b * (x * -0.16666666666666666)) / y);
} else if (b <= 5.5e+41) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / 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 (b <= 3.7d-257) then
tmp = (b * b) * ((b * (x * (-0.16666666666666666d0))) / y)
else if (b <= 5.5d+41) then
tmp = (x / y) / a
else
tmp = (1.0d0 / ((1.0d0 + b) / 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 (b <= 3.7e-257) {
tmp = (b * b) * ((b * (x * -0.16666666666666666)) / y);
} else if (b <= 5.5e+41) {
tmp = (x / y) / a;
} else {
tmp = (1.0 / ((1.0 + b) / x)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= 3.7e-257: tmp = (b * b) * ((b * (x * -0.16666666666666666)) / y) elif b <= 5.5e+41: tmp = (x / y) / a else: tmp = (1.0 / ((1.0 + b) / x)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= 3.7e-257) tmp = Float64(Float64(b * b) * Float64(Float64(b * Float64(x * -0.16666666666666666)) / y)); elseif (b <= 5.5e+41) tmp = Float64(Float64(x / y) / a); else tmp = Float64(Float64(1.0 / Float64(Float64(1.0 + b) / x)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= 3.7e-257) tmp = (b * b) * ((b * (x * -0.16666666666666666)) / y); elseif (b <= 5.5e+41) tmp = (x / y) / a; else tmp = (1.0 / ((1.0 + b) / x)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 3.7e-257], N[(N[(b * b), $MachinePrecision] * N[(N[(b * N[(x * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 5.5e+41], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(N[(1.0 / N[(N[(1.0 + b), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq 3.7 \cdot 10^{-257}:\\
\;\;\;\;\left(b \cdot b\right) \cdot \frac{b \cdot \left(x \cdot -0.16666666666666666\right)}{y}\\
\mathbf{elif}\;b \leq 5.5 \cdot 10^{+41}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{1 + b}{x}}}{y}\\
\end{array}
\end{array}
if b < 3.69999999999999984e-257Initial program 98.7%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6454.3%
Simplified54.3%
Taylor expanded in b around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
distribute-rgt-outN/A
+-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6448.4%
Simplified48.4%
clear-numN/A
associate-/r/N/A
flip3-+N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
Applied egg-rr48.4%
Taylor expanded in b around inf
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
unpow3N/A
unpow2N/A
associate-*l*N/A
*-commutativeN/A
associate-*l*N/A
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6458.4%
Simplified58.4%
if 3.69999999999999984e-257 < b < 5.5000000000000003e41Initial program 92.4%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6474.3%
Simplified74.3%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6473.2%
Simplified73.2%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6450.6%
Simplified50.6%
if 5.5000000000000003e41 < b Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6481.3%
Simplified81.3%
sub0-negN/A
exp-negN/A
div-invN/A
clear-numN/A
metadata-evalN/A
/-lowering-/.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
exp-lowering-exp.f6481.3%
Applied egg-rr81.3%
Taylor expanded in b around 0
+-commutativeN/A
+-lowering-+.f6430.0%
Simplified30.0%
Final simplification50.3%
(FPCore (x y z t a b) :precision binary64 (if (<= b -1.1e+161) (/ (* 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.1e+161) {
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.1d+161)) 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.1e+161) {
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.1e+161: 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.1e+161) 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.1e+161) 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.1e+161], 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.1 \cdot 10^{+161}:\\
\;\;\;\;\frac{x \cdot \left(1 - b\right)}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\end{array}
\end{array}
if b < -1.1e161Initial program 100.0%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6493.3%
Simplified93.3%
Taylor expanded in b around 0
associate-*r*N/A
neg-mul-1N/A
distribute-rgt1-inN/A
+-commutativeN/A
*-lowering-*.f64N/A
unsub-negN/A
--lowering--.f6451.9%
Simplified51.9%
if -1.1e161 < b Initial program 97.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-+.f6475.7%
Simplified75.7%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6457.8%
Simplified57.8%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6433.1%
Simplified33.1%
Final simplification36.3%
(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.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6478.7%
Simplified78.7%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6452.5%
Simplified52.5%
Taylor expanded in t around 0
*-commutativeN/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f6430.2%
Simplified30.2%
(FPCore (x y z t a b) :precision binary64 (/ (/ x a) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x / a) / 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 / a) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x / a) / y;
}
def code(x, y, z, t, a, b): return (x / a) / y
function code(x, y, z, t, a, b) return Float64(Float64(x / a) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x / a) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{\frac{x}{a}}{y}
\end{array}
Initial program 97.6%
Taylor expanded in y around 0
--lowering--.f64N/A
*-lowering-*.f64N/A
log-lowering-log.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6478.7%
Simplified78.7%
Taylor expanded in b around 0
*-lowering-*.f64N/A
exp-to-powN/A
pow-lowering-pow.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6452.5%
Simplified52.5%
Taylor expanded in t around 0
/-lowering-/.f6427.5%
Simplified27.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.6%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6453.6%
Simplified53.6%
Taylor expanded in b around 0
/-lowering-/.f6417.5%
Simplified17.5%
clear-numN/A
/-lowering-/.f64N/A
/-lowering-/.f6417.9%
Applied egg-rr17.9%
(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.6%
Taylor expanded in b around inf
mul-1-negN/A
neg-sub0N/A
--lowering--.f6453.6%
Simplified53.6%
Taylor expanded in b around 0
/-lowering-/.f6417.5%
Simplified17.5%
(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 2024158
(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))