
(FPCore (x y z t a b) :precision binary64 (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = x * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - z)) - b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
def code(x, y, z, t, a, b): return x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b))))
function code(x, y, z, t, a, b) return Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b))))) end
function tmp = code(x, y, z, t, a, b) tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b)))); end
code[x_, y_, z_, t_, a_, b_] := N[(x * N[Exp[N[(N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 18 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = x * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - z)) - b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
def code(x, y, z, t, a, b): return x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b))))
function code(x, y, z, t, a, b) return Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b))))) end
function tmp = code(x, y, z, t, a, b) tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b)))); end
code[x_, y_, z_, t_, a_, b_] := N[(x * N[Exp[N[(N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\end{array}
(FPCore (x y z t a b) :precision binary64 (* x (exp (fma y (- (log z) t) (* a (- (log1p (- z)) b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(fma(y, (log(z) - t), (a * (log1p(-z) - b))));
}
function code(x, y, z, t, a, b) return Float64(x * exp(fma(y, Float64(log(z) - t), Float64(a * Float64(log1p(Float64(-z)) - b))))) end
code[x_, y_, z_, t_, a_, b_] := N[(x * N[Exp[N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision] + N[(a * N[(N[Log[1 + (-z)], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot e^{\mathsf{fma}\left(y, \log z - t, a \cdot \left(\mathsf{log1p}\left(-z\right) - b\right)\right)}
\end{array}
Initial program 96.1%
fma-define96.9%
sub-neg96.9%
log1p-define99.2%
Simplified99.2%
(FPCore (x y z t a b) :precision binary64 (if (<= a -7.8e+158) (* x (exp (* (- a) (+ z b)))) (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -7.8e+158) {
tmp = x * exp((-a * (z + b)));
} else {
tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (a <= (-7.8d+158)) then
tmp = x * exp((-a * (z + b)))
else
tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - z)) - b))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -7.8e+158) {
tmp = x * Math.exp((-a * (z + b)));
} else {
tmp = x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -7.8e+158: tmp = x * math.exp((-a * (z + b))) else: tmp = x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -7.8e+158) tmp = Float64(x * exp(Float64(Float64(-a) * Float64(z + b)))); else tmp = Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= -7.8e+158) tmp = x * exp((-a * (z + b))); else tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -7.8e+158], N[(x * N[Exp[N[((-a) * N[(z + b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[(N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[Log[N[(1.0 - z), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -7.8 \cdot 10^{+158}:\\
\;\;\;\;x \cdot e^{\left(-a\right) \cdot \left(z + b\right)}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\\
\end{array}
\end{array}
if a < -7.8e158Initial program 76.9%
Taylor expanded in y around 0 80.4%
sub-neg80.4%
log1p-define93.4%
Simplified93.4%
Taylor expanded in z around 0 93.4%
associate-*r*93.4%
associate-*r*93.4%
distribute-lft-out93.4%
mul-1-neg93.4%
Simplified93.4%
if -7.8e158 < a Initial program 98.7%
Final simplification98.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= a -7.8e+70)
(* x (exp (* (- a) (+ z b))))
(if (<= a 3.1e+90)
(* x (exp (* y (- (log z) t))))
(* x (exp (* a (- (log1p (- z)) b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -7.8e+70) {
tmp = x * exp((-a * (z + b)));
} else if (a <= 3.1e+90) {
tmp = x * exp((y * (log(z) - t)));
} else {
tmp = x * exp((a * (log1p(-z) - b)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -7.8e+70) {
tmp = x * Math.exp((-a * (z + b)));
} else if (a <= 3.1e+90) {
tmp = x * Math.exp((y * (Math.log(z) - t)));
} else {
tmp = x * Math.exp((a * (Math.log1p(-z) - b)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -7.8e+70: tmp = x * math.exp((-a * (z + b))) elif a <= 3.1e+90: tmp = x * math.exp((y * (math.log(z) - t))) else: tmp = x * math.exp((a * (math.log1p(-z) - b))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -7.8e+70) tmp = Float64(x * exp(Float64(Float64(-a) * Float64(z + b)))); elseif (a <= 3.1e+90) tmp = Float64(x * exp(Float64(y * Float64(log(z) - t)))); else tmp = Float64(x * exp(Float64(a * Float64(log1p(Float64(-z)) - b)))); end return tmp end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -7.8e+70], N[(x * N[Exp[N[((-a) * N[(z + b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.1e+90], N[(x * N[Exp[N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[(a * N[(N[Log[1 + (-z)], $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -7.8 \cdot 10^{+70}:\\
\;\;\;\;x \cdot e^{\left(-a\right) \cdot \left(z + b\right)}\\
\mathbf{elif}\;a \leq 3.1 \cdot 10^{+90}:\\
\;\;\;\;x \cdot e^{y \cdot \left(\log z - t\right)}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{a \cdot \left(\mathsf{log1p}\left(-z\right) - b\right)}\\
\end{array}
\end{array}
if a < -7.79999999999999949e70Initial program 85.3%
Taylor expanded in y around 0 79.1%
sub-neg79.1%
log1p-define87.4%
Simplified87.4%
Taylor expanded in z around 0 87.4%
associate-*r*87.4%
associate-*r*87.4%
distribute-lft-out87.4%
mul-1-neg87.4%
Simplified87.4%
if -7.79999999999999949e70 < a < 3.09999999999999988e90Initial program 100.0%
Taylor expanded in y around inf 89.2%
if 3.09999999999999988e90 < a Initial program 93.8%
Taylor expanded in y around 0 73.5%
sub-neg73.5%
log1p-define79.6%
Simplified79.6%
Final simplification87.0%
(FPCore (x y z t a b) :precision binary64 (if (or (<= a -5.5e+70) (not (<= a 6.1e+94))) (* x (exp (* (- a) (+ z b)))) (* x (exp (* y (- (log z) t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -5.5e+70) || !(a <= 6.1e+94)) {
tmp = x * exp((-a * (z + b)));
} else {
tmp = x * exp((y * (log(z) - t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((a <= (-5.5d+70)) .or. (.not. (a <= 6.1d+94))) then
tmp = x * exp((-a * (z + b)))
else
tmp = x * exp((y * (log(z) - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -5.5e+70) || !(a <= 6.1e+94)) {
tmp = x * Math.exp((-a * (z + b)));
} else {
tmp = x * Math.exp((y * (Math.log(z) - t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (a <= -5.5e+70) or not (a <= 6.1e+94): tmp = x * math.exp((-a * (z + b))) else: tmp = x * math.exp((y * (math.log(z) - t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((a <= -5.5e+70) || !(a <= 6.1e+94)) tmp = Float64(x * exp(Float64(Float64(-a) * Float64(z + b)))); else tmp = Float64(x * exp(Float64(y * Float64(log(z) - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((a <= -5.5e+70) || ~((a <= 6.1e+94))) tmp = x * exp((-a * (z + b))); else tmp = x * exp((y * (log(z) - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[a, -5.5e+70], N[Not[LessEqual[a, 6.1e+94]], $MachinePrecision]], N[(x * N[Exp[N[((-a) * N[(z + b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[(y * N[(N[Log[z], $MachinePrecision] - t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.5 \cdot 10^{+70} \lor \neg \left(a \leq 6.1 \cdot 10^{+94}\right):\\
\;\;\;\;x \cdot e^{\left(-a\right) \cdot \left(z + b\right)}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{y \cdot \left(\log z - t\right)}\\
\end{array}
\end{array}
if a < -5.49999999999999986e70 or 6.10000000000000035e94 < a Initial program 89.6%
Taylor expanded in y around 0 76.3%
sub-neg76.3%
log1p-define83.5%
Simplified83.5%
Taylor expanded in z around 0 83.5%
associate-*r*83.5%
associate-*r*83.5%
distribute-lft-out83.5%
mul-1-neg83.5%
Simplified83.5%
if -5.49999999999999986e70 < a < 6.10000000000000035e94Initial program 100.0%
Taylor expanded in y around inf 89.2%
Final simplification87.0%
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -1.92) (not (<= y 2.7e-12))) (* x (pow z y)) (* x (exp (* (- a) (+ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.92) || !(y <= 2.7e-12)) {
tmp = x * pow(z, y);
} else {
tmp = x * exp((-a * (z + b)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((y <= (-1.92d0)) .or. (.not. (y <= 2.7d-12))) then
tmp = x * (z ** y)
else
tmp = x * exp((-a * (z + b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.92) || !(y <= 2.7e-12)) {
tmp = x * Math.pow(z, y);
} else {
tmp = x * Math.exp((-a * (z + b)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -1.92) or not (y <= 2.7e-12): tmp = x * math.pow(z, y) else: tmp = x * math.exp((-a * (z + b))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -1.92) || !(y <= 2.7e-12)) tmp = Float64(x * (z ^ y)); else tmp = Float64(x * exp(Float64(Float64(-a) * Float64(z + b)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -1.92) || ~((y <= 2.7e-12))) tmp = x * (z ^ y); else tmp = x * exp((-a * (z + b))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -1.92], N[Not[LessEqual[y, 2.7e-12]], $MachinePrecision]], N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[((-a) * N[(z + b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.92 \lor \neg \left(y \leq 2.7 \cdot 10^{-12}\right):\\
\;\;\;\;x \cdot {z}^{y}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{\left(-a\right) \cdot \left(z + b\right)}\\
\end{array}
\end{array}
if y < -1.9199999999999999 or 2.6999999999999998e-12 < y Initial program 94.5%
Taylor expanded in y around inf 86.0%
Taylor expanded in t around 0 73.3%
if -1.9199999999999999 < y < 2.6999999999999998e-12Initial program 97.7%
Taylor expanded in y around 0 84.4%
sub-neg84.4%
log1p-define86.6%
Simplified86.6%
Taylor expanded in z around 0 86.6%
associate-*r*86.6%
associate-*r*86.6%
distribute-lft-out86.6%
mul-1-neg86.6%
Simplified86.6%
Final simplification80.0%
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -1.1) (not (<= y 2.7e-12))) (* x (pow z y)) (* x (exp (* a (- b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.1) || !(y <= 2.7e-12)) {
tmp = x * pow(z, y);
} else {
tmp = x * exp((a * -b));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((y <= (-1.1d0)) .or. (.not. (y <= 2.7d-12))) then
tmp = x * (z ** y)
else
tmp = x * exp((a * -b))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.1) || !(y <= 2.7e-12)) {
tmp = x * Math.pow(z, y);
} else {
tmp = x * Math.exp((a * -b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -1.1) or not (y <= 2.7e-12): tmp = x * math.pow(z, y) else: tmp = x * math.exp((a * -b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -1.1) || !(y <= 2.7e-12)) tmp = Float64(x * (z ^ y)); else tmp = Float64(x * exp(Float64(a * Float64(-b)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -1.1) || ~((y <= 2.7e-12))) tmp = x * (z ^ y); else tmp = x * exp((a * -b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -1.1], N[Not[LessEqual[y, 2.7e-12]], $MachinePrecision]], N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision], N[(x * N[Exp[N[(a * (-b)), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.1 \lor \neg \left(y \leq 2.7 \cdot 10^{-12}\right):\\
\;\;\;\;x \cdot {z}^{y}\\
\mathbf{else}:\\
\;\;\;\;x \cdot e^{a \cdot \left(-b\right)}\\
\end{array}
\end{array}
if y < -1.1000000000000001 or 2.6999999999999998e-12 < y Initial program 94.5%
Taylor expanded in y around inf 86.0%
Taylor expanded in t around 0 73.3%
if -1.1000000000000001 < y < 2.6999999999999998e-12Initial program 97.7%
Taylor expanded in b around inf 82.1%
mul-1-neg82.1%
distribute-rgt-neg-out82.1%
Simplified82.1%
Final simplification77.7%
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -4e-18) (not (<= y 3.8e-13))) (* x (pow z y)) (* x (- 1.0 (* a b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -4e-18) || !(y <= 3.8e-13)) {
tmp = x * pow(z, y);
} else {
tmp = x * (1.0 - (a * b));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((y <= (-4d-18)) .or. (.not. (y <= 3.8d-13))) then
tmp = x * (z ** y)
else
tmp = x * (1.0d0 - (a * b))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -4e-18) || !(y <= 3.8e-13)) {
tmp = x * Math.pow(z, y);
} else {
tmp = x * (1.0 - (a * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -4e-18) or not (y <= 3.8e-13): tmp = x * math.pow(z, y) else: tmp = x * (1.0 - (a * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -4e-18) || !(y <= 3.8e-13)) tmp = Float64(x * (z ^ y)); else tmp = Float64(x * Float64(1.0 - Float64(a * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -4e-18) || ~((y <= 3.8e-13))) tmp = x * (z ^ y); else tmp = x * (1.0 - (a * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -4e-18], N[Not[LessEqual[y, 3.8e-13]], $MachinePrecision]], N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4 \cdot 10^{-18} \lor \neg \left(y \leq 3.8 \cdot 10^{-13}\right):\\
\;\;\;\;x \cdot {z}^{y}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\end{array}
\end{array}
if y < -4.0000000000000003e-18 or 3.8e-13 < y Initial program 94.8%
Taylor expanded in y around inf 86.1%
Taylor expanded in t around 0 72.7%
if -4.0000000000000003e-18 < y < 3.8e-13Initial program 97.6%
Taylor expanded in b around inf 83.2%
mul-1-neg83.2%
distribute-rgt-neg-out83.2%
Simplified83.2%
Taylor expanded in a around 0 50.6%
mul-1-neg50.6%
unsub-neg50.6%
Simplified50.6%
Final simplification62.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -9e+203)
(- x (* x (* y t)))
(if (<= y -2.2e-8)
(* a (* b (- (/ x (* a b)) x)))
(if (<= y -5.5e-76)
(* z (- (/ x z) (* x a)))
(if (<= y -1.2e-217)
(* a (/ x a))
(if (<= y 0.0006)
(* x (- 1.0 (* a b)))
(if (<= y 1.02e+188)
(* x (* a (- b)))
(if (<= y 2.1e+238)
(* y (- (/ x y) (* x t)))
(* x (* z (- a)))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9e+203) {
tmp = x - (x * (y * t));
} else if (y <= -2.2e-8) {
tmp = a * (b * ((x / (a * b)) - x));
} else if (y <= -5.5e-76) {
tmp = z * ((x / z) - (x * a));
} else if (y <= -1.2e-217) {
tmp = a * (x / a);
} else if (y <= 0.0006) {
tmp = x * (1.0 - (a * b));
} else if (y <= 1.02e+188) {
tmp = x * (a * -b);
} else if (y <= 2.1e+238) {
tmp = y * ((x / y) - (x * t));
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= (-9d+203)) then
tmp = x - (x * (y * t))
else if (y <= (-2.2d-8)) then
tmp = a * (b * ((x / (a * b)) - x))
else if (y <= (-5.5d-76)) then
tmp = z * ((x / z) - (x * a))
else if (y <= (-1.2d-217)) then
tmp = a * (x / a)
else if (y <= 0.0006d0) then
tmp = x * (1.0d0 - (a * b))
else if (y <= 1.02d+188) then
tmp = x * (a * -b)
else if (y <= 2.1d+238) then
tmp = y * ((x / y) - (x * t))
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -9e+203) {
tmp = x - (x * (y * t));
} else if (y <= -2.2e-8) {
tmp = a * (b * ((x / (a * b)) - x));
} else if (y <= -5.5e-76) {
tmp = z * ((x / z) - (x * a));
} else if (y <= -1.2e-217) {
tmp = a * (x / a);
} else if (y <= 0.0006) {
tmp = x * (1.0 - (a * b));
} else if (y <= 1.02e+188) {
tmp = x * (a * -b);
} else if (y <= 2.1e+238) {
tmp = y * ((x / y) - (x * t));
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -9e+203: tmp = x - (x * (y * t)) elif y <= -2.2e-8: tmp = a * (b * ((x / (a * b)) - x)) elif y <= -5.5e-76: tmp = z * ((x / z) - (x * a)) elif y <= -1.2e-217: tmp = a * (x / a) elif y <= 0.0006: tmp = x * (1.0 - (a * b)) elif y <= 1.02e+188: tmp = x * (a * -b) elif y <= 2.1e+238: tmp = y * ((x / y) - (x * t)) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -9e+203) tmp = Float64(x - Float64(x * Float64(y * t))); elseif (y <= -2.2e-8) tmp = Float64(a * Float64(b * Float64(Float64(x / Float64(a * b)) - x))); elseif (y <= -5.5e-76) tmp = Float64(z * Float64(Float64(x / z) - Float64(x * a))); elseif (y <= -1.2e-217) tmp = Float64(a * Float64(x / a)); elseif (y <= 0.0006) tmp = Float64(x * Float64(1.0 - Float64(a * b))); elseif (y <= 1.02e+188) tmp = Float64(x * Float64(a * Float64(-b))); elseif (y <= 2.1e+238) tmp = Float64(y * Float64(Float64(x / y) - Float64(x * t))); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -9e+203) tmp = x - (x * (y * t)); elseif (y <= -2.2e-8) tmp = a * (b * ((x / (a * b)) - x)); elseif (y <= -5.5e-76) tmp = z * ((x / z) - (x * a)); elseif (y <= -1.2e-217) tmp = a * (x / a); elseif (y <= 0.0006) tmp = x * (1.0 - (a * b)); elseif (y <= 1.02e+188) tmp = x * (a * -b); elseif (y <= 2.1e+238) tmp = y * ((x / y) - (x * t)); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -9e+203], N[(x - N[(x * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.2e-8], N[(a * N[(b * N[(N[(x / N[(a * b), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -5.5e-76], N[(z * N[(N[(x / z), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.2e-217], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.0006], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.02e+188], N[(x * N[(a * (-b)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.1e+238], N[(y * N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -9 \cdot 10^{+203}:\\
\;\;\;\;x - x \cdot \left(y \cdot t\right)\\
\mathbf{elif}\;y \leq -2.2 \cdot 10^{-8}:\\
\;\;\;\;a \cdot \left(b \cdot \left(\frac{x}{a \cdot b} - x\right)\right)\\
\mathbf{elif}\;y \leq -5.5 \cdot 10^{-76}:\\
\;\;\;\;z \cdot \left(\frac{x}{z} - x \cdot a\right)\\
\mathbf{elif}\;y \leq -1.2 \cdot 10^{-217}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{elif}\;y \leq 0.0006:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{elif}\;y \leq 1.02 \cdot 10^{+188}:\\
\;\;\;\;x \cdot \left(a \cdot \left(-b\right)\right)\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{+238}:\\
\;\;\;\;y \cdot \left(\frac{x}{y} - x \cdot t\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < -9.0000000000000006e203Initial program 95.8%
Taylor expanded in t around inf 79.6%
mul-1-neg79.6%
distribute-lft-neg-out79.6%
*-commutative79.6%
Simplified79.6%
Taylor expanded in y around 0 39.0%
associate-*r*39.0%
mul-1-neg39.0%
*-commutative39.0%
Simplified39.0%
add-sqr-sqrt0.7%
sqrt-unprod0.8%
sqr-neg0.8%
sqrt-unprod0.0%
add-sqr-sqrt9.2%
cancel-sign-sub9.2%
associate-*r*9.1%
*-commutative9.1%
add-sqr-sqrt9.1%
sqrt-unprod55.4%
sqr-neg55.4%
sqrt-unprod46.4%
add-sqr-sqrt47.1%
Applied egg-rr47.1%
if -9.0000000000000006e203 < y < -2.1999999999999998e-8Initial program 92.5%
Taylor expanded in b around inf 45.0%
mul-1-neg45.0%
distribute-rgt-neg-out45.0%
Simplified45.0%
Taylor expanded in a around 0 15.6%
mul-1-neg15.6%
unsub-neg15.6%
Simplified15.6%
Taylor expanded in a around inf 25.1%
Taylor expanded in b around inf 37.3%
if -2.1999999999999998e-8 < y < -5.50000000000000014e-76Initial program 99.8%
Taylor expanded in y around 0 74.1%
sub-neg74.1%
log1p-define74.1%
Simplified74.1%
Taylor expanded in b around 0 22.8%
Taylor expanded in z around 0 22.8%
mul-1-neg22.8%
unsub-neg22.8%
*-commutative22.8%
Simplified22.8%
Taylor expanded in z around inf 43.7%
*-commutative43.7%
Simplified43.7%
if -5.50000000000000014e-76 < y < -1.1999999999999999e-217Initial program 100.0%
Taylor expanded in b around inf 75.8%
mul-1-neg75.8%
distribute-rgt-neg-out75.8%
Simplified75.8%
Taylor expanded in a around 0 37.1%
mul-1-neg37.1%
unsub-neg37.1%
Simplified37.1%
Taylor expanded in a around inf 41.7%
Taylor expanded in a around 0 49.9%
if -1.1999999999999999e-217 < y < 5.99999999999999947e-4Initial program 96.8%
Taylor expanded in b around inf 84.9%
mul-1-neg84.9%
distribute-rgt-neg-out84.9%
Simplified84.9%
Taylor expanded in a around 0 57.7%
mul-1-neg57.7%
unsub-neg57.7%
Simplified57.7%
if 5.99999999999999947e-4 < y < 1.02e188Initial program 93.1%
Taylor expanded in b around inf 28.2%
mul-1-neg28.2%
distribute-rgt-neg-out28.2%
Simplified28.2%
Taylor expanded in a around 0 10.3%
mul-1-neg10.3%
unsub-neg10.3%
Simplified10.3%
Taylor expanded in a around inf 27.8%
neg-mul-127.8%
distribute-rgt-neg-in27.8%
distribute-rgt-neg-in27.8%
Simplified27.8%
Taylor expanded in a around 0 27.8%
mul-1-neg27.8%
associate-*r*34.3%
*-commutative34.3%
distribute-rgt-neg-in34.3%
distribute-rgt-neg-in34.3%
Simplified34.3%
if 1.02e188 < y < 2.10000000000000007e238Initial program 100.0%
Taylor expanded in t around inf 60.9%
mul-1-neg60.9%
distribute-lft-neg-out60.9%
*-commutative60.9%
Simplified60.9%
Taylor expanded in y around 0 31.9%
associate-*r*31.9%
mul-1-neg31.9%
*-commutative31.9%
Simplified31.9%
Taylor expanded in y around inf 50.9%
+-commutative50.9%
mul-1-neg50.9%
unsub-neg50.9%
*-commutative50.9%
Simplified50.9%
if 2.10000000000000007e238 < y Initial program 100.0%
Taylor expanded in y around 0 43.1%
sub-neg43.1%
log1p-define43.1%
Simplified43.1%
Taylor expanded in b around 0 3.0%
Taylor expanded in z around 0 2.5%
mul-1-neg2.5%
unsub-neg2.5%
*-commutative2.5%
Simplified2.5%
Taylor expanded in a around inf 20.3%
mul-1-neg20.3%
*-commutative20.3%
associate-*r*35.2%
distribute-rgt-neg-in35.2%
distribute-rgt-neg-in35.2%
Simplified35.2%
Final simplification46.8%
(FPCore (x y z t a b)
:precision binary64
(if (<= y -2.25e-84)
(* t (- (/ x t) (* x y)))
(if (<= y 0.00033)
(* x (- 1.0 (* a b)))
(if (<= y 2.7e+181)
(* x (* a (- b)))
(if (<= y 7.2e+238) (* y (- (/ x y) (* x t))) (* x (* z (- a))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.25e-84) {
tmp = t * ((x / t) - (x * y));
} else if (y <= 0.00033) {
tmp = x * (1.0 - (a * b));
} else if (y <= 2.7e+181) {
tmp = x * (a * -b);
} else if (y <= 7.2e+238) {
tmp = y * ((x / y) - (x * t));
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= (-2.25d-84)) then
tmp = t * ((x / t) - (x * y))
else if (y <= 0.00033d0) then
tmp = x * (1.0d0 - (a * b))
else if (y <= 2.7d+181) then
tmp = x * (a * -b)
else if (y <= 7.2d+238) then
tmp = y * ((x / y) - (x * t))
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.25e-84) {
tmp = t * ((x / t) - (x * y));
} else if (y <= 0.00033) {
tmp = x * (1.0 - (a * b));
} else if (y <= 2.7e+181) {
tmp = x * (a * -b);
} else if (y <= 7.2e+238) {
tmp = y * ((x / y) - (x * t));
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -2.25e-84: tmp = t * ((x / t) - (x * y)) elif y <= 0.00033: tmp = x * (1.0 - (a * b)) elif y <= 2.7e+181: tmp = x * (a * -b) elif y <= 7.2e+238: tmp = y * ((x / y) - (x * t)) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -2.25e-84) tmp = Float64(t * Float64(Float64(x / t) - Float64(x * y))); elseif (y <= 0.00033) tmp = Float64(x * Float64(1.0 - Float64(a * b))); elseif (y <= 2.7e+181) tmp = Float64(x * Float64(a * Float64(-b))); elseif (y <= 7.2e+238) tmp = Float64(y * Float64(Float64(x / y) - Float64(x * t))); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -2.25e-84) tmp = t * ((x / t) - (x * y)); elseif (y <= 0.00033) tmp = x * (1.0 - (a * b)); elseif (y <= 2.7e+181) tmp = x * (a * -b); elseif (y <= 7.2e+238) tmp = y * ((x / y) - (x * t)); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -2.25e-84], N[(t * N[(N[(x / t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 0.00033], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.7e+181], N[(x * N[(a * (-b)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+238], N[(y * N[(N[(x / y), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.25 \cdot 10^{-84}:\\
\;\;\;\;t \cdot \left(\frac{x}{t} - x \cdot y\right)\\
\mathbf{elif}\;y \leq 0.00033:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{elif}\;y \leq 2.7 \cdot 10^{+181}:\\
\;\;\;\;x \cdot \left(a \cdot \left(-b\right)\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+238}:\\
\;\;\;\;y \cdot \left(\frac{x}{y} - x \cdot t\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < -2.25000000000000008e-84Initial program 95.0%
Taylor expanded in t around inf 55.7%
mul-1-neg55.7%
distribute-lft-neg-out55.7%
*-commutative55.7%
Simplified55.7%
Taylor expanded in y around 0 30.4%
associate-*r*30.4%
mul-1-neg30.4%
*-commutative30.4%
Simplified30.4%
Taylor expanded in t around inf 33.0%
+-commutative33.0%
mul-1-neg33.0%
unsub-neg33.0%
Simplified33.0%
if -2.25000000000000008e-84 < y < 3.3e-4Initial program 97.3%
Taylor expanded in b around inf 83.0%
mul-1-neg83.0%
distribute-rgt-neg-out83.0%
Simplified83.0%
Taylor expanded in a around 0 54.1%
mul-1-neg54.1%
unsub-neg54.1%
Simplified54.1%
if 3.3e-4 < y < 2.70000000000000007e181Initial program 93.1%
Taylor expanded in b around inf 28.2%
mul-1-neg28.2%
distribute-rgt-neg-out28.2%
Simplified28.2%
Taylor expanded in a around 0 10.3%
mul-1-neg10.3%
unsub-neg10.3%
Simplified10.3%
Taylor expanded in a around inf 27.8%
neg-mul-127.8%
distribute-rgt-neg-in27.8%
distribute-rgt-neg-in27.8%
Simplified27.8%
Taylor expanded in a around 0 27.8%
mul-1-neg27.8%
associate-*r*34.3%
*-commutative34.3%
distribute-rgt-neg-in34.3%
distribute-rgt-neg-in34.3%
Simplified34.3%
if 2.70000000000000007e181 < y < 7.19999999999999942e238Initial program 100.0%
Taylor expanded in t around inf 60.9%
mul-1-neg60.9%
distribute-lft-neg-out60.9%
*-commutative60.9%
Simplified60.9%
Taylor expanded in y around 0 31.9%
associate-*r*31.9%
mul-1-neg31.9%
*-commutative31.9%
Simplified31.9%
Taylor expanded in y around inf 50.9%
+-commutative50.9%
mul-1-neg50.9%
unsub-neg50.9%
*-commutative50.9%
Simplified50.9%
if 7.19999999999999942e238 < y Initial program 100.0%
Taylor expanded in y around 0 43.1%
sub-neg43.1%
log1p-define43.1%
Simplified43.1%
Taylor expanded in b around 0 3.0%
Taylor expanded in z around 0 2.5%
mul-1-neg2.5%
unsub-neg2.5%
*-commutative2.5%
Simplified2.5%
Taylor expanded in a around inf 20.3%
mul-1-neg20.3%
*-commutative20.3%
associate-*r*35.2%
distribute-rgt-neg-in35.2%
distribute-rgt-neg-in35.2%
Simplified35.2%
(FPCore (x y z t a b) :precision binary64 (if (<= y -6.2e-83) (* t (- (/ x t) (* x y))) (if (<= y 9e-10) (* x (- 1.0 (* a b))) (* x (* z (- a))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -6.2e-83) {
tmp = t * ((x / t) - (x * y));
} else if (y <= 9e-10) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= (-6.2d-83)) then
tmp = t * ((x / t) - (x * y))
else if (y <= 9d-10) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -6.2e-83) {
tmp = t * ((x / t) - (x * y));
} else if (y <= 9e-10) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -6.2e-83: tmp = t * ((x / t) - (x * y)) elif y <= 9e-10: tmp = x * (1.0 - (a * b)) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -6.2e-83) tmp = Float64(t * Float64(Float64(x / t) - Float64(x * y))); elseif (y <= 9e-10) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -6.2e-83) tmp = t * ((x / t) - (x * y)); elseif (y <= 9e-10) tmp = x * (1.0 - (a * b)); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -6.2e-83], N[(t * N[(N[(x / t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9e-10], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -6.2 \cdot 10^{-83}:\\
\;\;\;\;t \cdot \left(\frac{x}{t} - x \cdot y\right)\\
\mathbf{elif}\;y \leq 9 \cdot 10^{-10}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < -6.19999999999999985e-83Initial program 95.0%
Taylor expanded in t around inf 55.7%
mul-1-neg55.7%
distribute-lft-neg-out55.7%
*-commutative55.7%
Simplified55.7%
Taylor expanded in y around 0 30.4%
associate-*r*30.4%
mul-1-neg30.4%
*-commutative30.4%
Simplified30.4%
Taylor expanded in t around inf 33.0%
+-commutative33.0%
mul-1-neg33.0%
unsub-neg33.0%
Simplified33.0%
if -6.19999999999999985e-83 < y < 8.9999999999999999e-10Initial program 97.3%
Taylor expanded in b around inf 83.0%
mul-1-neg83.0%
distribute-rgt-neg-out83.0%
Simplified83.0%
Taylor expanded in a around 0 54.1%
mul-1-neg54.1%
unsub-neg54.1%
Simplified54.1%
if 8.9999999999999999e-10 < y Initial program 95.5%
Taylor expanded in y around 0 33.1%
sub-neg33.1%
log1p-define36.1%
Simplified36.1%
Taylor expanded in b around 0 5.2%
Taylor expanded in z around 0 6.4%
mul-1-neg6.4%
unsub-neg6.4%
*-commutative6.4%
Simplified6.4%
Taylor expanded in a around inf 27.2%
mul-1-neg27.2%
*-commutative27.2%
associate-*r*28.4%
distribute-rgt-neg-in28.4%
distribute-rgt-neg-in28.4%
Simplified28.4%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1e-208) (- x (* x (* y t))) (if (<= y 7.2e-9) (* x (- 1.0 (* a b))) (* x (* z (- a))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1e-208) {
tmp = x - (x * (y * t));
} else if (y <= 7.2e-9) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= (-1d-208)) then
tmp = x - (x * (y * t))
else if (y <= 7.2d-9) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1e-208) {
tmp = x - (x * (y * t));
} else if (y <= 7.2e-9) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1e-208: tmp = x - (x * (y * t)) elif y <= 7.2e-9: tmp = x * (1.0 - (a * b)) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1e-208) tmp = Float64(x - Float64(x * Float64(y * t))); elseif (y <= 7.2e-9) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1e-208) tmp = x - (x * (y * t)); elseif (y <= 7.2e-9) tmp = x * (1.0 - (a * b)); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1e-208], N[(x - N[(x * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e-9], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1 \cdot 10^{-208}:\\
\;\;\;\;x - x \cdot \left(y \cdot t\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{-9}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < -1.0000000000000001e-208Initial program 95.8%
Taylor expanded in t around inf 57.0%
mul-1-neg57.0%
distribute-lft-neg-out57.0%
*-commutative57.0%
Simplified57.0%
Taylor expanded in y around 0 31.0%
associate-*r*31.0%
mul-1-neg31.0%
*-commutative31.0%
Simplified31.0%
add-sqr-sqrt7.2%
sqrt-unprod9.8%
sqr-neg9.8%
sqrt-unprod2.7%
add-sqr-sqrt15.2%
cancel-sign-sub15.2%
associate-*r*14.1%
*-commutative14.1%
add-sqr-sqrt11.5%
sqrt-unprod41.2%
sqr-neg41.2%
sqrt-unprod25.8%
add-sqr-sqrt33.0%
Applied egg-rr33.0%
if -1.0000000000000001e-208 < y < 7.2e-9Initial program 96.9%
Taylor expanded in b around inf 85.2%
mul-1-neg85.2%
distribute-rgt-neg-out85.2%
Simplified85.2%
Taylor expanded in a around 0 57.6%
mul-1-neg57.6%
unsub-neg57.6%
Simplified57.6%
if 7.2e-9 < y Initial program 95.5%
Taylor expanded in y around 0 33.1%
sub-neg33.1%
log1p-define36.1%
Simplified36.1%
Taylor expanded in b around 0 5.2%
Taylor expanded in z around 0 6.4%
mul-1-neg6.4%
unsub-neg6.4%
*-commutative6.4%
Simplified6.4%
Taylor expanded in a around inf 27.2%
mul-1-neg27.2%
*-commutative27.2%
associate-*r*28.4%
distribute-rgt-neg-in28.4%
distribute-rgt-neg-in28.4%
Simplified28.4%
Final simplification40.8%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.6e+78) (* a (/ x a)) (if (<= y 2.7e-11) (* x (- 1.0 (* a b))) (* x (* z (- a))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.6e+78) {
tmp = a * (x / a);
} else if (y <= 2.7e-11) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= (-1.6d+78)) then
tmp = a * (x / a)
else if (y <= 2.7d-11) then
tmp = x * (1.0d0 - (a * b))
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.6e+78) {
tmp = a * (x / a);
} else if (y <= 2.7e-11) {
tmp = x * (1.0 - (a * b));
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.6e+78: tmp = a * (x / a) elif y <= 2.7e-11: tmp = x * (1.0 - (a * b)) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.6e+78) tmp = Float64(a * Float64(x / a)); elseif (y <= 2.7e-11) tmp = Float64(x * Float64(1.0 - Float64(a * b))); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.6e+78) tmp = a * (x / a); elseif (y <= 2.7e-11) tmp = x * (1.0 - (a * b)); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.6e+78], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.7e-11], N[(x * N[(1.0 - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.6 \cdot 10^{+78}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{elif}\;y \leq 2.7 \cdot 10^{-11}:\\
\;\;\;\;x \cdot \left(1 - a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < -1.59999999999999997e78Initial program 93.8%
Taylor expanded in b around inf 35.1%
mul-1-neg35.1%
distribute-rgt-neg-out35.1%
Simplified35.1%
Taylor expanded in a around 0 12.7%
mul-1-neg12.7%
unsub-neg12.7%
Simplified12.7%
Taylor expanded in a around inf 20.6%
Taylor expanded in a around 0 21.2%
if -1.59999999999999997e78 < y < 2.70000000000000005e-11Initial program 97.2%
Taylor expanded in b around inf 79.6%
mul-1-neg79.6%
distribute-rgt-neg-out79.6%
Simplified79.6%
Taylor expanded in a around 0 48.6%
mul-1-neg48.6%
unsub-neg48.6%
Simplified48.6%
if 2.70000000000000005e-11 < y Initial program 95.5%
Taylor expanded in y around 0 33.1%
sub-neg33.1%
log1p-define36.1%
Simplified36.1%
Taylor expanded in b around 0 5.2%
Taylor expanded in z around 0 6.4%
mul-1-neg6.4%
unsub-neg6.4%
*-commutative6.4%
Simplified6.4%
Taylor expanded in a around inf 27.2%
mul-1-neg27.2%
*-commutative27.2%
associate-*r*28.4%
distribute-rgt-neg-in28.4%
distribute-rgt-neg-in28.4%
Simplified28.4%
(FPCore (x y z t a b) :precision binary64 (if (<= y 9.6e-25) (* a (/ x a)) (* x (* z (- a)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 9.6e-25) {
tmp = a * (x / a);
} else {
tmp = x * (z * -a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= 9.6d-25) then
tmp = a * (x / a)
else
tmp = x * (z * -a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 9.6e-25) {
tmp = a * (x / a);
} else {
tmp = x * (z * -a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 9.6e-25: tmp = a * (x / a) else: tmp = x * (z * -a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 9.6e-25) tmp = Float64(a * Float64(x / a)); else tmp = Float64(x * Float64(z * Float64(-a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 9.6e-25) tmp = a * (x / a); else tmp = x * (z * -a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 9.6e-25], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], N[(x * N[(z * (-a)), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 9.6 \cdot 10^{-25}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(z \cdot \left(-a\right)\right)\\
\end{array}
\end{array}
if y < 9.60000000000000037e-25Initial program 96.3%
Taylor expanded in b around inf 68.3%
mul-1-neg68.3%
distribute-rgt-neg-out68.3%
Simplified68.3%
Taylor expanded in a around 0 38.1%
mul-1-neg38.1%
unsub-neg38.1%
Simplified38.1%
Taylor expanded in a around inf 37.5%
Taylor expanded in a around 0 34.6%
if 9.60000000000000037e-25 < y Initial program 95.6%
Taylor expanded in y around 0 34.5%
sub-neg34.5%
log1p-define37.5%
Simplified37.5%
Taylor expanded in b around 0 6.1%
Taylor expanded in z around 0 8.6%
mul-1-neg8.6%
unsub-neg8.6%
*-commutative8.6%
Simplified8.6%
Taylor expanded in a around inf 27.9%
mul-1-neg27.9%
*-commutative27.9%
associate-*r*29.2%
distribute-rgt-neg-in29.2%
distribute-rgt-neg-in29.2%
Simplified29.2%
(FPCore (x y z t a b) :precision binary64 (if (<= y 7.8e-25) (* a (/ x a)) (* x (* a (- b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 7.8e-25) {
tmp = a * (x / a);
} else {
tmp = x * (a * -b);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= 7.8d-25) then
tmp = a * (x / a)
else
tmp = x * (a * -b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 7.8e-25) {
tmp = a * (x / a);
} else {
tmp = x * (a * -b);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 7.8e-25: tmp = a * (x / a) else: tmp = x * (a * -b) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 7.8e-25) tmp = Float64(a * Float64(x / a)); else tmp = Float64(x * Float64(a * Float64(-b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 7.8e-25) tmp = a * (x / a); else tmp = x * (a * -b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 7.8e-25], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], N[(x * N[(a * (-b)), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 7.8 \cdot 10^{-25}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(a \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if y < 7.8e-25Initial program 96.3%
Taylor expanded in b around inf 68.3%
mul-1-neg68.3%
distribute-rgt-neg-out68.3%
Simplified68.3%
Taylor expanded in a around 0 38.1%
mul-1-neg38.1%
unsub-neg38.1%
Simplified38.1%
Taylor expanded in a around inf 37.5%
Taylor expanded in a around 0 34.6%
if 7.8e-25 < y Initial program 95.6%
Taylor expanded in b around inf 33.1%
mul-1-neg33.1%
distribute-rgt-neg-out33.1%
Simplified33.1%
Taylor expanded in a around 0 9.9%
mul-1-neg9.9%
unsub-neg9.9%
Simplified9.9%
Taylor expanded in a around inf 23.1%
neg-mul-123.1%
distribute-rgt-neg-in23.1%
distribute-rgt-neg-in23.1%
Simplified23.1%
Taylor expanded in a around 0 23.1%
mul-1-neg23.1%
associate-*r*27.3%
*-commutative27.3%
distribute-rgt-neg-in27.3%
distribute-rgt-neg-in27.3%
Simplified27.3%
(FPCore (x y z t a b) :precision binary64 (if (<= y 5.4e-25) (* a (/ x a)) (* a (* x (- b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 5.4e-25) {
tmp = a * (x / a);
} else {
tmp = a * (x * -b);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= 5.4d-25) then
tmp = a * (x / a)
else
tmp = a * (x * -b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 5.4e-25) {
tmp = a * (x / a);
} else {
tmp = a * (x * -b);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 5.4e-25: tmp = a * (x / a) else: tmp = a * (x * -b) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 5.4e-25) tmp = Float64(a * Float64(x / a)); else tmp = Float64(a * Float64(x * Float64(-b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 5.4e-25) tmp = a * (x / a); else tmp = a * (x * -b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 5.4e-25], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], N[(a * N[(x * (-b)), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 5.4 \cdot 10^{-25}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if y < 5.40000000000000032e-25Initial program 96.3%
Taylor expanded in b around inf 68.3%
mul-1-neg68.3%
distribute-rgt-neg-out68.3%
Simplified68.3%
Taylor expanded in a around 0 38.1%
mul-1-neg38.1%
unsub-neg38.1%
Simplified38.1%
Taylor expanded in a around inf 37.5%
Taylor expanded in a around 0 34.6%
if 5.40000000000000032e-25 < y Initial program 95.6%
Taylor expanded in b around inf 33.1%
mul-1-neg33.1%
distribute-rgt-neg-out33.1%
Simplified33.1%
Taylor expanded in a around 0 9.9%
mul-1-neg9.9%
unsub-neg9.9%
Simplified9.9%
Taylor expanded in a around inf 23.1%
neg-mul-123.1%
distribute-rgt-neg-in23.1%
distribute-rgt-neg-in23.1%
Simplified23.1%
Final simplification31.6%
(FPCore (x y z t a b) :precision binary64 (if (<= y 1.15e+66) (* a (/ x a)) (* a (* x b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 1.15e+66) {
tmp = a * (x / a);
} else {
tmp = a * (x * b);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= 1.15d+66) then
tmp = a * (x / a)
else
tmp = a * (x * b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 1.15e+66) {
tmp = a * (x / a);
} else {
tmp = a * (x * b);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 1.15e+66: tmp = a * (x / a) else: tmp = a * (x * b) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 1.15e+66) tmp = Float64(a * Float64(x / a)); else tmp = Float64(a * Float64(x * b)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 1.15e+66) tmp = a * (x / a); else tmp = a * (x * b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 1.15e+66], N[(a * N[(x / a), $MachinePrecision]), $MachinePrecision], N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 1.15 \cdot 10^{+66}:\\
\;\;\;\;a \cdot \frac{x}{a}\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(x \cdot b\right)\\
\end{array}
\end{array}
if y < 1.15e66Initial program 95.7%
Taylor expanded in b around inf 65.8%
mul-1-neg65.8%
distribute-rgt-neg-out65.8%
Simplified65.8%
Taylor expanded in a around 0 36.8%
mul-1-neg36.8%
unsub-neg36.8%
Simplified36.8%
Taylor expanded in a around inf 37.2%
Taylor expanded in a around 0 33.6%
if 1.15e66 < y Initial program 98.0%
Taylor expanded in b around inf 30.9%
mul-1-neg30.9%
distribute-rgt-neg-out30.9%
Simplified30.9%
Taylor expanded in a around 0 5.1%
mul-1-neg5.1%
unsub-neg5.1%
Simplified5.1%
Taylor expanded in a around inf 20.6%
neg-mul-120.6%
distribute-rgt-neg-in20.6%
distribute-rgt-neg-in20.6%
Simplified20.6%
pow120.6%
associate-*r*24.3%
*-commutative24.3%
add-sqr-sqrt15.0%
sqrt-unprod25.9%
sqr-neg25.9%
sqrt-unprod9.3%
add-sqr-sqrt20.6%
Applied egg-rr20.6%
unpow120.6%
*-commutative20.6%
associate-*r*20.6%
*-commutative20.6%
Simplified20.6%
(FPCore (x y z t a b) :precision binary64 (if (<= y 1.7e-5) x (* a (* x b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 1.7e-5) {
tmp = x;
} else {
tmp = a * (x * b);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (y <= 1.7d-5) then
tmp = x
else
tmp = a * (x * b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= 1.7e-5) {
tmp = x;
} else {
tmp = a * (x * b);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= 1.7e-5: tmp = x else: tmp = a * (x * b) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= 1.7e-5) tmp = x; else tmp = Float64(a * Float64(x * b)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= 1.7e-5) tmp = x; else tmp = a * (x * b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, 1.7e-5], x, N[(a * N[(x * b), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 1.7 \cdot 10^{-5}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(x \cdot b\right)\\
\end{array}
\end{array}
if y < 1.7e-5Initial program 96.4%
Taylor expanded in b around inf 68.4%
mul-1-neg68.4%
distribute-rgt-neg-out68.4%
Simplified68.4%
Taylor expanded in a around 0 27.8%
if 1.7e-5 < y Initial program 95.5%
Taylor expanded in b around inf 31.5%
mul-1-neg31.5%
distribute-rgt-neg-out31.5%
Simplified31.5%
Taylor expanded in a around 0 7.7%
mul-1-neg7.7%
unsub-neg7.7%
Simplified7.7%
Taylor expanded in a around inf 22.2%
neg-mul-122.2%
distribute-rgt-neg-in22.2%
distribute-rgt-neg-in22.2%
Simplified22.2%
pow122.2%
associate-*r*26.5%
*-commutative26.5%
add-sqr-sqrt16.1%
sqrt-unprod24.5%
sqr-neg24.5%
sqrt-unprod8.8%
add-sqr-sqrt20.5%
Applied egg-rr20.5%
unpow120.5%
*-commutative20.5%
associate-*r*19.1%
*-commutative19.1%
Simplified19.1%
(FPCore (x y z t a b) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b) {
return x;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = x
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x;
}
def code(x, y, z, t, a, b): return x
function code(x, y, z, t, a, b) return x end
function tmp = code(x, y, z, t, a, b) tmp = x; end
code[x_, y_, z_, t_, a_, b_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 96.1%
Taylor expanded in b around inf 59.1%
mul-1-neg59.1%
distribute-rgt-neg-out59.1%
Simplified59.1%
Taylor expanded in a around 0 21.7%
herbie shell --seed 2024103
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))