
(FPCore (x y z t a) :precision binary64 (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))))
double code(double x, double y, double z, double t, double a) {
return ((x * y) * z) / sqrt(((z * z) - (t * a)));
}
real(8) function code(x, y, z, t, a)
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
code = ((x * y) * z) / sqrt(((z * z) - (t * a)))
end function
public static double code(double x, double y, double z, double t, double a) {
return ((x * y) * z) / Math.sqrt(((z * z) - (t * a)));
}
def code(x, y, z, t, a): return ((x * y) * z) / math.sqrt(((z * z) - (t * a)))
function code(x, y, z, t, a) return Float64(Float64(Float64(x * y) * z) / sqrt(Float64(Float64(z * z) - Float64(t * a)))) end
function tmp = code(x, y, z, t, a) tmp = ((x * y) * z) / sqrt(((z * z) - (t * a))); end
code[x_, y_, z_, t_, a_] := N[(N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision] / N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))))
double code(double x, double y, double z, double t, double a) {
return ((x * y) * z) / sqrt(((z * z) - (t * a)));
}
real(8) function code(x, y, z, t, a)
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
code = ((x * y) * z) / sqrt(((z * z) - (t * a)))
end function
public static double code(double x, double y, double z, double t, double a) {
return ((x * y) * z) / Math.sqrt(((z * z) - (t * a)));
}
def code(x, y, z, t, a): return ((x * y) * z) / math.sqrt(((z * z) - (t * a)))
function code(x, y, z, t, a) return Float64(Float64(Float64(x * y) * z) / sqrt(Float64(Float64(z * z) - Float64(t * a)))) end
function tmp = code(x, y, z, t, a) tmp = ((x * y) * z) / sqrt(((z * z) - (t * a))); end
code[x_, y_, z_, t_, a_] := N[(N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision] / N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}
\end{array}
(FPCore (x y z t a) :precision binary64 (if (<= z -7.4e+53) (* y (- x)) (if (<= z 8.5e+21) (/ (* z (* y x)) (sqrt (- (* z z) (* t a)))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -7.4e+53) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = (z * (y * x)) / sqrt(((z * z) - (t * a)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-7.4d+53)) then
tmp = y * -x
else if (z <= 8.5d+21) then
tmp = (z * (y * x)) / sqrt(((z * z) - (t * a)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -7.4e+53) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = (z * (y * x)) / Math.sqrt(((z * z) - (t * a)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -7.4e+53: tmp = y * -x elif z <= 8.5e+21: tmp = (z * (y * x)) / math.sqrt(((z * z) - (t * a))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -7.4e+53) tmp = Float64(y * Float64(-x)); elseif (z <= 8.5e+21) tmp = Float64(Float64(z * Float64(y * x)) / sqrt(Float64(Float64(z * z) - Float64(t * a)))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -7.4e+53) tmp = y * -x; elseif (z <= 8.5e+21) tmp = (z * (y * x)) / sqrt(((z * z) - (t * a))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -7.4e+53], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 8.5e+21], N[(N[(z * N[(y * x), $MachinePrecision]), $MachinePrecision] / N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -7.4 \cdot 10^{+53}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 8.5 \cdot 10^{+21}:\\
\;\;\;\;\frac{z \cdot \left(y \cdot x\right)}{\sqrt{z \cdot z - t \cdot a}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -7.4e53Initial program 39.1%
associate-*l*37.0%
associate-*r/46.2%
*-commutative46.2%
associate-/l*48.2%
Simplified48.2%
Taylor expanded in z around -inf 94.0%
associate-*r*94.0%
neg-mul-194.0%
*-commutative94.0%
Simplified94.0%
if -7.4e53 < z < 8.5e21Initial program 87.4%
if 8.5e21 < z Initial program 36.0%
associate-*l*34.3%
associate-*r/39.3%
*-commutative39.3%
associate-/l*41.1%
Simplified41.1%
Taylor expanded in z around inf 94.0%
*-commutative94.0%
Simplified94.0%
Final simplification91.0%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.75e+146) (* y (- x)) (if (<= z 8.5e+21) (* x (/ z (/ (sqrt (- (* z z) (* t a))) y))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.75e+146) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = x * (z / (sqrt(((z * z) - (t * a))) / y));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-1.75d+146)) then
tmp = y * -x
else if (z <= 8.5d+21) then
tmp = x * (z / (sqrt(((z * z) - (t * a))) / y))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.75e+146) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = x * (z / (Math.sqrt(((z * z) - (t * a))) / y));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.75e+146: tmp = y * -x elif z <= 8.5e+21: tmp = x * (z / (math.sqrt(((z * z) - (t * a))) / y)) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.75e+146) tmp = Float64(y * Float64(-x)); elseif (z <= 8.5e+21) tmp = Float64(x * Float64(z / Float64(sqrt(Float64(Float64(z * z) - Float64(t * a))) / y))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.75e+146) tmp = y * -x; elseif (z <= 8.5e+21) tmp = x * (z / (sqrt(((z * z) - (t * a))) / y)); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.75e+146], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 8.5e+21], N[(x * N[(z / N[(N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.75 \cdot 10^{+146}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 8.5 \cdot 10^{+21}:\\
\;\;\;\;x \cdot \frac{z}{\frac{\sqrt{z \cdot z - t \cdot a}}{y}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -1.7500000000000001e146Initial program 24.2%
associate-*l*23.4%
associate-*r/23.5%
*-commutative23.5%
associate-/l*22.0%
Simplified22.0%
Taylor expanded in z around -inf 97.6%
associate-*r*97.6%
neg-mul-197.6%
*-commutative97.6%
Simplified97.6%
if -1.7500000000000001e146 < z < 8.5e21Initial program 83.5%
associate-*l*82.4%
associate-*r/83.3%
*-commutative83.3%
associate-/l*83.5%
Simplified83.5%
if 8.5e21 < z Initial program 36.0%
associate-*l*34.3%
associate-*r/39.3%
*-commutative39.3%
associate-/l*41.1%
Simplified41.1%
Taylor expanded in z around inf 94.0%
*-commutative94.0%
Simplified94.0%
Final simplification88.9%
(FPCore (x y z t a) :precision binary64 (if (<= z -6e+54) (* y (- x)) (if (<= z 1.02e+21) (* x (/ (* z y) (sqrt (- (* z z) (* t a))))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6e+54) {
tmp = y * -x;
} else if (z <= 1.02e+21) {
tmp = x * ((z * y) / sqrt(((z * z) - (t * a))));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-6d+54)) then
tmp = y * -x
else if (z <= 1.02d+21) then
tmp = x * ((z * y) / sqrt(((z * z) - (t * a))))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6e+54) {
tmp = y * -x;
} else if (z <= 1.02e+21) {
tmp = x * ((z * y) / Math.sqrt(((z * z) - (t * a))));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -6e+54: tmp = y * -x elif z <= 1.02e+21: tmp = x * ((z * y) / math.sqrt(((z * z) - (t * a)))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -6e+54) tmp = Float64(y * Float64(-x)); elseif (z <= 1.02e+21) tmp = Float64(x * Float64(Float64(z * y) / sqrt(Float64(Float64(z * z) - Float64(t * a))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -6e+54) tmp = y * -x; elseif (z <= 1.02e+21) tmp = x * ((z * y) / sqrt(((z * z) - (t * a)))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -6e+54], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 1.02e+21], N[(x * N[(N[(z * y), $MachinePrecision] / N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -6 \cdot 10^{+54}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 1.02 \cdot 10^{+21}:\\
\;\;\;\;x \cdot \frac{z \cdot y}{\sqrt{z \cdot z - t \cdot a}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -5.9999999999999998e54Initial program 39.1%
associate-*l*37.0%
associate-*r/46.2%
*-commutative46.2%
associate-/l*48.2%
Simplified48.2%
Taylor expanded in z around -inf 94.0%
associate-*r*94.0%
neg-mul-194.0%
*-commutative94.0%
Simplified94.0%
if -5.9999999999999998e54 < z < 1.02e21Initial program 87.4%
associate-*l*86.9%
associate-*r/83.2%
Simplified83.2%
if 1.02e21 < z Initial program 36.0%
associate-*l*34.3%
associate-*r/39.3%
*-commutative39.3%
associate-/l*41.1%
Simplified41.1%
Taylor expanded in z around inf 94.0%
*-commutative94.0%
Simplified94.0%
Final simplification89.1%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.02e+153) (* y (- x)) (if (<= z 8.5e+21) (* z (/ (* y x) (sqrt (- (* z z) (* t a))))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.02e+153) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = z * ((y * x) / sqrt(((z * z) - (t * a))));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-1.02d+153)) then
tmp = y * -x
else if (z <= 8.5d+21) then
tmp = z * ((y * x) / sqrt(((z * z) - (t * a))))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.02e+153) {
tmp = y * -x;
} else if (z <= 8.5e+21) {
tmp = z * ((y * x) / Math.sqrt(((z * z) - (t * a))));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.02e+153: tmp = y * -x elif z <= 8.5e+21: tmp = z * ((y * x) / math.sqrt(((z * z) - (t * a)))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.02e+153) tmp = Float64(y * Float64(-x)); elseif (z <= 8.5e+21) tmp = Float64(z * Float64(Float64(y * x) / sqrt(Float64(Float64(z * z) - Float64(t * a))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.02e+153) tmp = y * -x; elseif (z <= 8.5e+21) tmp = z * ((y * x) / sqrt(((z * z) - (t * a)))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.02e+153], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 8.5e+21], N[(z * N[(N[(y * x), $MachinePrecision] / N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.02 \cdot 10^{+153}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 8.5 \cdot 10^{+21}:\\
\;\;\;\;z \cdot \frac{y \cdot x}{\sqrt{z \cdot z - t \cdot a}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -1.0199999999999999e153Initial program 15.2%
associate-*l*14.4%
associate-*r/14.5%
*-commutative14.5%
associate-/l*15.6%
Simplified15.6%
Taylor expanded in z around -inf 97.4%
associate-*r*97.4%
neg-mul-197.4%
*-commutative97.4%
Simplified97.4%
if -1.0199999999999999e153 < z < 8.5e21Initial program 83.9%
associate-*l/86.6%
Simplified86.6%
if 8.5e21 < z Initial program 36.0%
associate-*l*34.3%
associate-*r/39.3%
*-commutative39.3%
associate-/l*41.1%
Simplified41.1%
Taylor expanded in z around inf 94.0%
*-commutative94.0%
Simplified94.0%
Final simplification90.3%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.1e-51) (* y (- x)) (if (<= z 3.05e-120) (* x (/ z (/ (sqrt (* t (- a))) y))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.1e-51) {
tmp = y * -x;
} else if (z <= 3.05e-120) {
tmp = x * (z / (sqrt((t * -a)) / y));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-1.1d-51)) then
tmp = y * -x
else if (z <= 3.05d-120) then
tmp = x * (z / (sqrt((t * -a)) / y))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.1e-51) {
tmp = y * -x;
} else if (z <= 3.05e-120) {
tmp = x * (z / (Math.sqrt((t * -a)) / y));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.1e-51: tmp = y * -x elif z <= 3.05e-120: tmp = x * (z / (math.sqrt((t * -a)) / y)) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.1e-51) tmp = Float64(y * Float64(-x)); elseif (z <= 3.05e-120) tmp = Float64(x * Float64(z / Float64(sqrt(Float64(t * Float64(-a))) / y))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.1e-51) tmp = y * -x; elseif (z <= 3.05e-120) tmp = x * (z / (sqrt((t * -a)) / y)); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.1e-51], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 3.05e-120], N[(x * N[(z / N[(N[Sqrt[N[(t * (-a)), $MachinePrecision]], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.1 \cdot 10^{-51}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 3.05 \cdot 10^{-120}:\\
\;\;\;\;x \cdot \frac{z}{\frac{\sqrt{t \cdot \left(-a\right)}}{y}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -1.1e-51Initial program 56.0%
associate-*l*54.3%
associate-*r/59.5%
*-commutative59.5%
associate-/l*61.1%
Simplified61.1%
Taylor expanded in z around -inf 85.7%
associate-*r*85.7%
neg-mul-185.7%
*-commutative85.7%
Simplified85.7%
if -1.1e-51 < z < 3.05e-120Initial program 82.7%
associate-*l*83.9%
associate-*r/79.6%
*-commutative79.6%
associate-/l*78.6%
Simplified78.6%
Taylor expanded in z around 0 77.1%
mul-1-neg77.1%
distribute-rgt-neg-out77.1%
Simplified77.1%
if 3.05e-120 < z Initial program 50.0%
associate-*l*47.7%
associate-*r/50.6%
*-commutative50.6%
associate-/l*51.1%
Simplified51.1%
Taylor expanded in z around inf 87.2%
*-commutative87.2%
Simplified87.2%
Final simplification84.2%
(FPCore (x y z t a) :precision binary64 (if (<= z -1e-55) (* y (- x)) (if (<= z 9e-122) (* x (/ (* z y) (sqrt (* t (- a))))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1e-55) {
tmp = y * -x;
} else if (z <= 9e-122) {
tmp = x * ((z * y) / sqrt((t * -a)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-1d-55)) then
tmp = y * -x
else if (z <= 9d-122) then
tmp = x * ((z * y) / sqrt((t * -a)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1e-55) {
tmp = y * -x;
} else if (z <= 9e-122) {
tmp = x * ((z * y) / Math.sqrt((t * -a)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1e-55: tmp = y * -x elif z <= 9e-122: tmp = x * ((z * y) / math.sqrt((t * -a))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1e-55) tmp = Float64(y * Float64(-x)); elseif (z <= 9e-122) tmp = Float64(x * Float64(Float64(z * y) / sqrt(Float64(t * Float64(-a))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1e-55) tmp = y * -x; elseif (z <= 9e-122) tmp = x * ((z * y) / sqrt((t * -a))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1e-55], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 9e-122], N[(x * N[(N[(z * y), $MachinePrecision] / N[Sqrt[N[(t * (-a)), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1 \cdot 10^{-55}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 9 \cdot 10^{-122}:\\
\;\;\;\;x \cdot \frac{z \cdot y}{\sqrt{t \cdot \left(-a\right)}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -9.99999999999999995e-56Initial program 56.0%
associate-*l*54.3%
associate-*r/59.5%
*-commutative59.5%
associate-/l*61.1%
Simplified61.1%
Taylor expanded in z around -inf 85.7%
associate-*r*85.7%
neg-mul-185.7%
*-commutative85.7%
Simplified85.7%
if -9.99999999999999995e-56 < z < 8.99999999999999959e-122Initial program 82.7%
associate-*l*83.9%
associate-*r/79.6%
Simplified79.6%
Taylor expanded in z around 0 78.1%
mul-1-neg77.1%
distribute-rgt-neg-out77.1%
Simplified78.1%
if 8.99999999999999959e-122 < z Initial program 50.0%
associate-*l*47.7%
associate-*r/50.6%
*-commutative50.6%
associate-/l*51.1%
Simplified51.1%
Taylor expanded in z around inf 87.2%
*-commutative87.2%
Simplified87.2%
Final simplification84.5%
(FPCore (x y z t a) :precision binary64 (if (<= z -2.9e-58) (* y (- x)) (if (<= z 1.05e-84) (* (* y x) (/ z (sqrt (* t (- a))))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.9e-58) {
tmp = y * -x;
} else if (z <= 1.05e-84) {
tmp = (y * x) * (z / sqrt((t * -a)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-2.9d-58)) then
tmp = y * -x
else if (z <= 1.05d-84) then
tmp = (y * x) * (z / sqrt((t * -a)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.9e-58) {
tmp = y * -x;
} else if (z <= 1.05e-84) {
tmp = (y * x) * (z / Math.sqrt((t * -a)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.9e-58: tmp = y * -x elif z <= 1.05e-84: tmp = (y * x) * (z / math.sqrt((t * -a))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.9e-58) tmp = Float64(y * Float64(-x)); elseif (z <= 1.05e-84) tmp = Float64(Float64(y * x) * Float64(z / sqrt(Float64(t * Float64(-a))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.9e-58) tmp = y * -x; elseif (z <= 1.05e-84) tmp = (y * x) * (z / sqrt((t * -a))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.9e-58], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 1.05e-84], N[(N[(y * x), $MachinePrecision] * N[(z / N[Sqrt[N[(t * (-a)), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.9 \cdot 10^{-58}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 1.05 \cdot 10^{-84}:\\
\;\;\;\;\left(y \cdot x\right) \cdot \frac{z}{\sqrt{t \cdot \left(-a\right)}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -2.8999999999999999e-58Initial program 56.0%
associate-*l*54.3%
associate-*r/59.5%
*-commutative59.5%
associate-/l*61.1%
Simplified61.1%
Taylor expanded in z around -inf 85.7%
associate-*r*85.7%
neg-mul-185.7%
*-commutative85.7%
Simplified85.7%
if -2.8999999999999999e-58 < z < 1.04999999999999999e-84Initial program 84.4%
*-commutative84.4%
associate-/l*81.8%
Simplified81.8%
Taylor expanded in z around 0 76.1%
mul-1-neg72.4%
distribute-rgt-neg-out72.4%
Simplified76.1%
associate-/r/77.5%
*-commutative77.5%
Applied egg-rr77.5%
if 1.04999999999999999e-84 < z Initial program 46.3%
associate-*l*44.9%
associate-*r/49.0%
*-commutative49.0%
associate-/l*50.5%
Simplified50.5%
Taylor expanded in z around inf 90.2%
*-commutative90.2%
Simplified90.2%
Final simplification85.2%
(FPCore (x y z t a) :precision binary64 (if (<= z -4.4e-59) (* y (- x)) (if (<= z 3.2e-81) (/ z (/ (/ (sqrt (* t (- a))) x) y)) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.4e-59) {
tmp = y * -x;
} else if (z <= 3.2e-81) {
tmp = z / ((sqrt((t * -a)) / x) / y);
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-4.4d-59)) then
tmp = y * -x
else if (z <= 3.2d-81) then
tmp = z / ((sqrt((t * -a)) / x) / y)
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.4e-59) {
tmp = y * -x;
} else if (z <= 3.2e-81) {
tmp = z / ((Math.sqrt((t * -a)) / x) / y);
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.4e-59: tmp = y * -x elif z <= 3.2e-81: tmp = z / ((math.sqrt((t * -a)) / x) / y) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.4e-59) tmp = Float64(y * Float64(-x)); elseif (z <= 3.2e-81) tmp = Float64(z / Float64(Float64(sqrt(Float64(t * Float64(-a))) / x) / y)); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.4e-59) tmp = y * -x; elseif (z <= 3.2e-81) tmp = z / ((sqrt((t * -a)) / x) / y); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.4e-59], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 3.2e-81], N[(z / N[(N[(N[Sqrt[N[(t * (-a)), $MachinePrecision]], $MachinePrecision] / x), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.4 \cdot 10^{-59}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 3.2 \cdot 10^{-81}:\\
\;\;\;\;\frac{z}{\frac{\frac{\sqrt{t \cdot \left(-a\right)}}{x}}{y}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -4.3999999999999998e-59Initial program 56.0%
associate-*l*54.3%
associate-*r/59.5%
*-commutative59.5%
associate-/l*61.1%
Simplified61.1%
Taylor expanded in z around -inf 85.7%
associate-*r*85.7%
neg-mul-185.7%
*-commutative85.7%
Simplified85.7%
if -4.3999999999999998e-59 < z < 3.2e-81Initial program 84.4%
*-commutative84.4%
associate-/l*81.8%
Simplified81.8%
*-un-lft-identity81.8%
*-commutative81.8%
times-frac84.5%
Applied egg-rr84.5%
associate-*l/84.6%
*-lft-identity84.6%
*-commutative84.6%
Simplified84.6%
Taylor expanded in z around 0 79.0%
neg-mul-179.0%
distribute-rgt-neg-in79.0%
Simplified79.0%
if 3.2e-81 < z Initial program 46.3%
associate-*l*44.9%
associate-*r/49.0%
*-commutative49.0%
associate-/l*50.5%
Simplified50.5%
Taylor expanded in z around inf 90.2%
*-commutative90.2%
Simplified90.2%
Final simplification85.6%
(FPCore (x y z t a) :precision binary64 (if (<= z -2.5e-60) (* y (- x)) (if (<= z 4.6e-85) (/ (* z (* y x)) (sqrt (* t (- a)))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.5e-60) {
tmp = y * -x;
} else if (z <= 4.6e-85) {
tmp = (z * (y * x)) / sqrt((t * -a));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-2.5d-60)) then
tmp = y * -x
else if (z <= 4.6d-85) then
tmp = (z * (y * x)) / sqrt((t * -a))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.5e-60) {
tmp = y * -x;
} else if (z <= 4.6e-85) {
tmp = (z * (y * x)) / Math.sqrt((t * -a));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.5e-60: tmp = y * -x elif z <= 4.6e-85: tmp = (z * (y * x)) / math.sqrt((t * -a)) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.5e-60) tmp = Float64(y * Float64(-x)); elseif (z <= 4.6e-85) tmp = Float64(Float64(z * Float64(y * x)) / sqrt(Float64(t * Float64(-a)))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.5e-60) tmp = y * -x; elseif (z <= 4.6e-85) tmp = (z * (y * x)) / sqrt((t * -a)); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.5e-60], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 4.6e-85], N[(N[(z * N[(y * x), $MachinePrecision]), $MachinePrecision] / N[Sqrt[N[(t * (-a)), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.5 \cdot 10^{-60}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 4.6 \cdot 10^{-85}:\\
\;\;\;\;\frac{z \cdot \left(y \cdot x\right)}{\sqrt{t \cdot \left(-a\right)}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -2.5000000000000001e-60Initial program 56.0%
associate-*l*54.3%
associate-*r/59.5%
*-commutative59.5%
associate-/l*61.1%
Simplified61.1%
Taylor expanded in z around -inf 85.7%
associate-*r*85.7%
neg-mul-185.7%
*-commutative85.7%
Simplified85.7%
if -2.5000000000000001e-60 < z < 4.6000000000000001e-85Initial program 84.4%
*-commutative84.4%
associate-/l*81.8%
Simplified81.8%
Taylor expanded in z around 0 76.1%
mul-1-neg72.4%
distribute-rgt-neg-out72.4%
Simplified76.1%
expm1-log1p-u68.4%
expm1-udef43.9%
associate-/r/46.3%
*-commutative46.3%
Applied egg-rr46.3%
expm1-def69.5%
expm1-log1p77.5%
associate-*l/78.7%
Simplified78.7%
if 4.6000000000000001e-85 < z Initial program 46.3%
associate-*l*44.9%
associate-*r/49.0%
*-commutative49.0%
associate-/l*50.5%
Simplified50.5%
Taylor expanded in z around inf 90.2%
*-commutative90.2%
Simplified90.2%
Final simplification85.5%
(FPCore (x y z t a)
:precision binary64
(if (<= z -8.2e-109)
(* y (- x))
(if (<= z 4.4e-87)
(/ (- y) (/ (- (* (/ t (/ x a)) (/ 0.5 z)) (/ z x)) z))
(* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 4.4e-87) {
tmp = -y / ((((t / (x / a)) * (0.5 / z)) - (z / x)) / z);
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-8.2d-109)) then
tmp = y * -x
else if (z <= 4.4d-87) then
tmp = -y / ((((t / (x / a)) * (0.5d0 / z)) - (z / x)) / z)
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 4.4e-87) {
tmp = -y / ((((t / (x / a)) * (0.5 / z)) - (z / x)) / z);
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -8.2e-109: tmp = y * -x elif z <= 4.4e-87: tmp = -y / ((((t / (x / a)) * (0.5 / z)) - (z / x)) / z) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -8.2e-109) tmp = Float64(y * Float64(-x)); elseif (z <= 4.4e-87) tmp = Float64(Float64(-y) / Float64(Float64(Float64(Float64(t / Float64(x / a)) * Float64(0.5 / z)) - Float64(z / x)) / z)); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -8.2e-109) tmp = y * -x; elseif (z <= 4.4e-87) tmp = -y / ((((t / (x / a)) * (0.5 / z)) - (z / x)) / z); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8.2e-109], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 4.4e-87], N[((-y) / N[(N[(N[(N[(t / N[(x / a), $MachinePrecision]), $MachinePrecision] * N[(0.5 / z), $MachinePrecision]), $MachinePrecision] - N[(z / x), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -8.2 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 4.4 \cdot 10^{-87}:\\
\;\;\;\;\frac{-y}{\frac{\frac{t}{\frac{x}{a}} \cdot \frac{0.5}{z} - \frac{z}{x}}{z}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -8.2000000000000004e-109Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -8.2000000000000004e-109 < z < 4.39999999999999976e-87Initial program 84.2%
*-commutative84.2%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in z around inf 46.3%
Taylor expanded in y around -inf 46.4%
mul-1-neg46.4%
associate-/l*46.4%
distribute-neg-frac46.4%
mul-1-neg46.4%
distribute-frac-neg46.4%
+-commutative46.4%
distribute-frac-neg46.4%
unsub-neg46.4%
associate-*r/46.4%
*-commutative46.4%
times-frac48.0%
*-commutative48.0%
associate-/l*47.9%
Simplified47.9%
if 4.39999999999999976e-87 < z Initial program 46.3%
associate-*l*44.9%
associate-*r/49.0%
*-commutative49.0%
associate-/l*50.5%
Simplified50.5%
Taylor expanded in z around inf 90.2%
*-commutative90.2%
Simplified90.2%
Final simplification77.5%
(FPCore (x y z t a) :precision binary64 (if (<= z -3.9e-108) (* y (- x)) (if (<= z 2.5e+20) (* x (/ z (/ (+ z (* -0.5 (/ a (/ z t)))) y))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -3.9e-108) {
tmp = y * -x;
} else if (z <= 2.5e+20) {
tmp = x * (z / ((z + (-0.5 * (a / (z / t)))) / y));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-3.9d-108)) then
tmp = y * -x
else if (z <= 2.5d+20) then
tmp = x * (z / ((z + ((-0.5d0) * (a / (z / t)))) / y))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -3.9e-108) {
tmp = y * -x;
} else if (z <= 2.5e+20) {
tmp = x * (z / ((z + (-0.5 * (a / (z / t)))) / y));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -3.9e-108: tmp = y * -x elif z <= 2.5e+20: tmp = x * (z / ((z + (-0.5 * (a / (z / t)))) / y)) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -3.9e-108) tmp = Float64(y * Float64(-x)); elseif (z <= 2.5e+20) tmp = Float64(x * Float64(z / Float64(Float64(z + Float64(-0.5 * Float64(a / Float64(z / t)))) / y))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -3.9e-108) tmp = y * -x; elseif (z <= 2.5e+20) tmp = x * (z / ((z + (-0.5 * (a / (z / t)))) / y)); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -3.9e-108], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 2.5e+20], N[(x * N[(z / N[(N[(z + N[(-0.5 * N[(a / N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.9 \cdot 10^{-108}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{+20}:\\
\;\;\;\;x \cdot \frac{z}{\frac{z + -0.5 \cdot \frac{a}{\frac{z}{t}}}{y}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -3.89999999999999995e-108Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -3.89999999999999995e-108 < z < 2.5e20Initial program 86.4%
associate-*l*86.0%
associate-*r/81.7%
*-commutative81.7%
associate-/l*79.6%
Simplified79.6%
Taylor expanded in z around inf 52.0%
associate-/l*52.7%
Simplified52.7%
if 2.5e20 < z Initial program 36.0%
associate-*l*34.3%
associate-*r/39.3%
*-commutative39.3%
associate-/l*41.1%
Simplified41.1%
Taylor expanded in z around inf 94.0%
*-commutative94.0%
Simplified94.0%
Final simplification77.4%
(FPCore (x y z t a)
:precision binary64
(if (<= z -8.2e-109)
(* y (- x))
(if (<= z 1.06e+38)
(* x (/ (* z y) (+ z (* -0.5 (/ a (/ z t))))))
(* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 1.06e+38) {
tmp = x * ((z * y) / (z + (-0.5 * (a / (z / t)))));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-8.2d-109)) then
tmp = y * -x
else if (z <= 1.06d+38) then
tmp = x * ((z * y) / (z + ((-0.5d0) * (a / (z / t)))))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 1.06e+38) {
tmp = x * ((z * y) / (z + (-0.5 * (a / (z / t)))));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -8.2e-109: tmp = y * -x elif z <= 1.06e+38: tmp = x * ((z * y) / (z + (-0.5 * (a / (z / t))))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -8.2e-109) tmp = Float64(y * Float64(-x)); elseif (z <= 1.06e+38) tmp = Float64(x * Float64(Float64(z * y) / Float64(z + Float64(-0.5 * Float64(a / Float64(z / t)))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -8.2e-109) tmp = y * -x; elseif (z <= 1.06e+38) tmp = x * ((z * y) / (z + (-0.5 * (a / (z / t))))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8.2e-109], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 1.06e+38], N[(x * N[(N[(z * y), $MachinePrecision] / N[(z + N[(-0.5 * N[(a / N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -8.2 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 1.06 \cdot 10^{+38}:\\
\;\;\;\;x \cdot \frac{z \cdot y}{z + -0.5 \cdot \frac{a}{\frac{z}{t}}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -8.2000000000000004e-109Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -8.2000000000000004e-109 < z < 1.06e38Initial program 86.0%
associate-*l*85.7%
associate-*r/81.6%
Simplified81.6%
Taylor expanded in z around inf 55.5%
associate-/l*53.2%
Simplified55.6%
if 1.06e38 < z Initial program 33.0%
associate-*l*31.2%
associate-*r/36.5%
*-commutative36.5%
associate-/l*39.7%
Simplified39.7%
Taylor expanded in z around inf 94.9%
*-commutative94.9%
Simplified94.9%
Final simplification77.8%
(FPCore (x y z t a) :precision binary64 (if (<= z -8.2e-109) (* y (- x)) (if (<= z 5.8e-60) (/ (* x (* z y)) (+ z (* -0.5 (/ (* t a) z)))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 5.8e-60) {
tmp = (x * (z * y)) / (z + (-0.5 * ((t * a) / z)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-8.2d-109)) then
tmp = y * -x
else if (z <= 5.8d-60) then
tmp = (x * (z * y)) / (z + ((-0.5d0) * ((t * a) / z)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 5.8e-60) {
tmp = (x * (z * y)) / (z + (-0.5 * ((t * a) / z)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -8.2e-109: tmp = y * -x elif z <= 5.8e-60: tmp = (x * (z * y)) / (z + (-0.5 * ((t * a) / z))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -8.2e-109) tmp = Float64(y * Float64(-x)); elseif (z <= 5.8e-60) tmp = Float64(Float64(x * Float64(z * y)) / Float64(z + Float64(-0.5 * Float64(Float64(t * a) / z)))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -8.2e-109) tmp = y * -x; elseif (z <= 5.8e-60) tmp = (x * (z * y)) / (z + (-0.5 * ((t * a) / z))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8.2e-109], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 5.8e-60], N[(N[(x * N[(z * y), $MachinePrecision]), $MachinePrecision] / N[(z + N[(-0.5 * N[(N[(t * a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -8.2 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{-60}:\\
\;\;\;\;\frac{x \cdot \left(z \cdot y\right)}{z + -0.5 \cdot \frac{t \cdot a}{z}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -8.2000000000000004e-109Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -8.2000000000000004e-109 < z < 5.7999999999999999e-60Initial program 85.0%
associate-*l*84.6%
associate-*r/79.2%
Simplified79.2%
Taylor expanded in z around inf 49.8%
associate-/l*48.3%
Simplified49.8%
Taylor expanded in x around 0 49.2%
if 5.7999999999999999e-60 < z Initial program 44.6%
associate-*l*43.1%
associate-*r/47.3%
*-commutative47.3%
associate-/l*48.9%
Simplified48.9%
Taylor expanded in z around inf 90.9%
*-commutative90.9%
Simplified90.9%
Final simplification77.6%
(FPCore (x y z t a) :precision binary64 (if (<= z -8.4e-109) (* y (- x)) (if (<= z 1.6e-153) (* -2.0 (/ (* z (* z y)) (/ t (/ x a)))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.4e-109) {
tmp = y * -x;
} else if (z <= 1.6e-153) {
tmp = -2.0 * ((z * (z * y)) / (t / (x / a)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-8.4d-109)) then
tmp = y * -x
else if (z <= 1.6d-153) then
tmp = (-2.0d0) * ((z * (z * y)) / (t / (x / a)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.4e-109) {
tmp = y * -x;
} else if (z <= 1.6e-153) {
tmp = -2.0 * ((z * (z * y)) / (t / (x / a)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -8.4e-109: tmp = y * -x elif z <= 1.6e-153: tmp = -2.0 * ((z * (z * y)) / (t / (x / a))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -8.4e-109) tmp = Float64(y * Float64(-x)); elseif (z <= 1.6e-153) tmp = Float64(-2.0 * Float64(Float64(z * Float64(z * y)) / Float64(t / Float64(x / a)))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -8.4e-109) tmp = y * -x; elseif (z <= 1.6e-153) tmp = -2.0 * ((z * (z * y)) / (t / (x / a))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8.4e-109], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 1.6e-153], N[(-2.0 * N[(N[(z * N[(z * y), $MachinePrecision]), $MachinePrecision] / N[(t / N[(x / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -8.4 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 1.6 \cdot 10^{-153}:\\
\;\;\;\;-2 \cdot \frac{z \cdot \left(z \cdot y\right)}{\frac{t}{\frac{x}{a}}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -8.39999999999999984e-109Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -8.39999999999999984e-109 < z < 1.6e-153Initial program 80.2%
*-commutative80.2%
associate-/l*78.3%
Simplified78.3%
Taylor expanded in z around inf 45.6%
Taylor expanded in z around 0 45.2%
*-commutative45.2%
associate-/l*45.0%
*-commutative45.0%
unpow245.0%
associate-*l*45.2%
*-commutative45.2%
*-commutative45.2%
associate-/l*46.4%
Simplified46.4%
if 1.6e-153 < z Initial program 52.7%
associate-*l*49.4%
associate-*r/52.2%
*-commutative52.2%
associate-/l*52.6%
Simplified52.6%
Taylor expanded in z around inf 83.6%
*-commutative83.6%
Simplified83.6%
Final simplification76.6%
(FPCore (x y z t a) :precision binary64 (if (<= z -8.2e-109) (* y (- x)) (if (<= z 4.2e-161) (* 2.0 (* (/ x a) (/ (* y (* z z)) t))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 4.2e-161) {
tmp = 2.0 * ((x / a) * ((y * (z * z)) / t));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-8.2d-109)) then
tmp = y * -x
else if (z <= 4.2d-161) then
tmp = 2.0d0 * ((x / a) * ((y * (z * z)) / t))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -8.2e-109) {
tmp = y * -x;
} else if (z <= 4.2e-161) {
tmp = 2.0 * ((x / a) * ((y * (z * z)) / t));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -8.2e-109: tmp = y * -x elif z <= 4.2e-161: tmp = 2.0 * ((x / a) * ((y * (z * z)) / t)) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -8.2e-109) tmp = Float64(y * Float64(-x)); elseif (z <= 4.2e-161) tmp = Float64(2.0 * Float64(Float64(x / a) * Float64(Float64(y * Float64(z * z)) / t))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -8.2e-109) tmp = y * -x; elseif (z <= 4.2e-161) tmp = 2.0 * ((x / a) * ((y * (z * z)) / t)); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8.2e-109], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 4.2e-161], N[(2.0 * N[(N[(x / a), $MachinePrecision] * N[(N[(y * N[(z * z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -8.2 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 4.2 \cdot 10^{-161}:\\
\;\;\;\;2 \cdot \left(\frac{x}{a} \cdot \frac{y \cdot \left(z \cdot z\right)}{t}\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -8.2000000000000004e-109Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -8.2000000000000004e-109 < z < 4.2000000000000001e-161Initial program 79.3%
associate-*l/77.4%
Simplified77.4%
Taylor expanded in z around -inf 50.4%
Taylor expanded in z around 0 49.2%
times-frac50.3%
*-commutative50.3%
Simplified50.3%
Taylor expanded in x around 0 47.1%
times-frac51.4%
unpow251.4%
Simplified51.4%
if 4.2000000000000001e-161 < z Initial program 53.5%
associate-*l*50.3%
associate-*r/53.1%
*-commutative53.1%
associate-/l*53.5%
Simplified53.5%
Taylor expanded in z around inf 82.1%
*-commutative82.1%
Simplified82.1%
Final simplification77.1%
(FPCore (x y z t a) :precision binary64 (if (<= z -4e-108) (* y (- x)) (if (<= z 5e-221) (* z (* 2.0 (* (/ x a) (* z (/ y t))))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4e-108) {
tmp = y * -x;
} else if (z <= 5e-221) {
tmp = z * (2.0 * ((x / a) * (z * (y / t))));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-4d-108)) then
tmp = y * -x
else if (z <= 5d-221) then
tmp = z * (2.0d0 * ((x / a) * (z * (y / t))))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4e-108) {
tmp = y * -x;
} else if (z <= 5e-221) {
tmp = z * (2.0 * ((x / a) * (z * (y / t))));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4e-108: tmp = y * -x elif z <= 5e-221: tmp = z * (2.0 * ((x / a) * (z * (y / t)))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4e-108) tmp = Float64(y * Float64(-x)); elseif (z <= 5e-221) tmp = Float64(z * Float64(2.0 * Float64(Float64(x / a) * Float64(z * Float64(y / t))))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4e-108) tmp = y * -x; elseif (z <= 5e-221) tmp = z * (2.0 * ((x / a) * (z * (y / t)))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4e-108], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 5e-221], N[(z * N[(2.0 * N[(N[(x / a), $MachinePrecision] * N[(z * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4 \cdot 10^{-108}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 5 \cdot 10^{-221}:\\
\;\;\;\;z \cdot \left(2 \cdot \left(\frac{x}{a} \cdot \left(z \cdot \frac{y}{t}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -4.00000000000000016e-108Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -4.00000000000000016e-108 < z < 4.99999999999999996e-221Initial program 83.9%
associate-*l/81.2%
Simplified81.2%
Taylor expanded in z around -inf 54.9%
Taylor expanded in z around 0 54.9%
times-frac56.3%
*-commutative56.3%
Simplified56.3%
Taylor expanded in x around 0 54.9%
times-frac56.3%
*-rgt-identity56.3%
associate-*r/56.3%
*-commutative56.3%
associate-*l*56.2%
associate-*r/56.2%
*-rgt-identity56.2%
Simplified56.2%
if 4.99999999999999996e-221 < z Initial program 54.5%
associate-*l*53.1%
associate-*r/55.0%
*-commutative55.0%
associate-/l*54.6%
Simplified54.6%
Taylor expanded in z around inf 77.5%
*-commutative77.5%
Simplified77.5%
Final simplification76.9%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.85e-108) (* y (- x)) (if (<= z 6e-161) (* z (* 2.0 (* (/ x a) (/ (* z y) t)))) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.85e-108) {
tmp = y * -x;
} else if (z <= 6e-161) {
tmp = z * (2.0 * ((x / a) * ((z * y) / t)));
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-1.85d-108)) then
tmp = y * -x
else if (z <= 6d-161) then
tmp = z * (2.0d0 * ((x / a) * ((z * y) / t)))
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.85e-108) {
tmp = y * -x;
} else if (z <= 6e-161) {
tmp = z * (2.0 * ((x / a) * ((z * y) / t)));
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.85e-108: tmp = y * -x elif z <= 6e-161: tmp = z * (2.0 * ((x / a) * ((z * y) / t))) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.85e-108) tmp = Float64(y * Float64(-x)); elseif (z <= 6e-161) tmp = Float64(z * Float64(2.0 * Float64(Float64(x / a) * Float64(Float64(z * y) / t)))); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.85e-108) tmp = y * -x; elseif (z <= 6e-161) tmp = z * (2.0 * ((x / a) * ((z * y) / t))); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.85e-108], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 6e-161], N[(z * N[(2.0 * N[(N[(x / a), $MachinePrecision] * N[(N[(z * y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.85 \cdot 10^{-108}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 6 \cdot 10^{-161}:\\
\;\;\;\;z \cdot \left(2 \cdot \left(\frac{x}{a} \cdot \frac{z \cdot y}{t}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -1.85e-108Initial program 58.2%
associate-*l*56.6%
associate-*r/61.4%
*-commutative61.4%
associate-/l*62.8%
Simplified62.8%
Taylor expanded in z around -inf 83.8%
associate-*r*83.8%
neg-mul-183.8%
*-commutative83.8%
Simplified83.8%
if -1.85e-108 < z < 5.99999999999999977e-161Initial program 79.3%
associate-*l/77.4%
Simplified77.4%
Taylor expanded in z around -inf 50.4%
Taylor expanded in z around 0 49.2%
times-frac50.3%
*-commutative50.3%
Simplified50.3%
if 5.99999999999999977e-161 < z Initial program 53.5%
associate-*l*50.3%
associate-*r/53.1%
*-commutative53.1%
associate-/l*53.5%
Simplified53.5%
Taylor expanded in z around inf 82.1%
*-commutative82.1%
Simplified82.1%
Final simplification76.9%
(FPCore (x y z t a) :precision binary64 (if (<= z -4e-188) (* y (- x)) (if (<= z 6e-92) (* x (/ (* z y) z)) (* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4e-188) {
tmp = y * -x;
} else if (z <= 6e-92) {
tmp = x * ((z * y) / z);
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-4d-188)) then
tmp = y * -x
else if (z <= 6d-92) then
tmp = x * ((z * y) / z)
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4e-188) {
tmp = y * -x;
} else if (z <= 6e-92) {
tmp = x * ((z * y) / z);
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4e-188: tmp = y * -x elif z <= 6e-92: tmp = x * ((z * y) / z) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4e-188) tmp = Float64(y * Float64(-x)); elseif (z <= 6e-92) tmp = Float64(x * Float64(Float64(z * y) / z)); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4e-188) tmp = y * -x; elseif (z <= 6e-92) tmp = x * ((z * y) / z); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4e-188], N[(y * (-x)), $MachinePrecision], If[LessEqual[z, 6e-92], N[(x * N[(N[(z * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4 \cdot 10^{-188}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{elif}\;z \leq 6 \cdot 10^{-92}:\\
\;\;\;\;x \cdot \frac{z \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < -3.9999999999999998e-188Initial program 61.3%
associate-*l*60.0%
associate-*r/63.4%
*-commutative63.4%
associate-/l*64.7%
Simplified64.7%
Taylor expanded in z around -inf 76.2%
associate-*r*76.2%
neg-mul-176.2%
*-commutative76.2%
Simplified76.2%
if -3.9999999999999998e-188 < z < 6.00000000000000027e-92Initial program 83.7%
associate-*l*83.1%
associate-*r/79.6%
Simplified79.6%
Taylor expanded in z around inf 40.1%
if 6.00000000000000027e-92 < z Initial program 46.9%
associate-*l*45.4%
associate-*r/48.6%
*-commutative48.6%
associate-/l*50.0%
Simplified50.0%
Taylor expanded in z around inf 89.3%
*-commutative89.3%
Simplified89.3%
Final simplification74.4%
(FPCore (x y z t a) :precision binary64 (if (<= z 2.6e-300) (* y (- x)) (* y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= 2.6e-300) {
tmp = y * -x;
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= 2.6d-300) then
tmp = y * -x
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= 2.6e-300) {
tmp = y * -x;
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= 2.6e-300: tmp = y * -x else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= 2.6e-300) tmp = Float64(y * Float64(-x)); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= 2.6e-300) tmp = y * -x; else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, 2.6e-300], N[(y * (-x)), $MachinePrecision], N[(y * x), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq 2.6 \cdot 10^{-300}:\\
\;\;\;\;y \cdot \left(-x\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
if z < 2.59999999999999997e-300Initial program 64.8%
associate-*l*62.8%
associate-*r/65.2%
*-commutative65.2%
associate-/l*67.0%
Simplified67.0%
Taylor expanded in z around -inf 71.4%
associate-*r*71.4%
neg-mul-171.4%
*-commutative71.4%
Simplified71.4%
if 2.59999999999999997e-300 < z Initial program 55.7%
associate-*l*55.2%
associate-*r/56.9%
*-commutative56.9%
associate-/l*56.1%
Simplified56.1%
Taylor expanded in z around inf 71.9%
*-commutative71.9%
Simplified71.9%
Final simplification71.7%
(FPCore (x y z t a) :precision binary64 (* y x))
double code(double x, double y, double z, double t, double a) {
return y * x;
}
real(8) function code(x, y, z, t, a)
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
code = y * x
end function
public static double code(double x, double y, double z, double t, double a) {
return y * x;
}
def code(x, y, z, t, a): return y * x
function code(x, y, z, t, a) return Float64(y * x) end
function tmp = code(x, y, z, t, a) tmp = y * x; end
code[x_, y_, z_, t_, a_] := N[(y * x), $MachinePrecision]
\begin{array}{l}
\\
y \cdot x
\end{array}
Initial program 60.0%
associate-*l*58.8%
associate-*r/60.8%
*-commutative60.8%
associate-/l*61.3%
Simplified61.3%
Taylor expanded in z around inf 43.2%
*-commutative43.2%
Simplified43.2%
Final simplification43.2%
(FPCore (x y z t a)
:precision binary64
(if (< z -3.1921305903852764e+46)
(- (* y x))
(if (< z 5.976268120920894e+90)
(/ (* x z) (/ (sqrt (- (* z z) (* a t))) y))
(* y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z < -3.1921305903852764e+46) {
tmp = -(y * x);
} else if (z < 5.976268120920894e+90) {
tmp = (x * z) / (sqrt(((z * z) - (a * t))) / y);
} else {
tmp = y * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z < (-3.1921305903852764d+46)) then
tmp = -(y * x)
else if (z < 5.976268120920894d+90) then
tmp = (x * z) / (sqrt(((z * z) - (a * t))) / y)
else
tmp = y * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z < -3.1921305903852764e+46) {
tmp = -(y * x);
} else if (z < 5.976268120920894e+90) {
tmp = (x * z) / (Math.sqrt(((z * z) - (a * t))) / y);
} else {
tmp = y * x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z < -3.1921305903852764e+46: tmp = -(y * x) elif z < 5.976268120920894e+90: tmp = (x * z) / (math.sqrt(((z * z) - (a * t))) / y) else: tmp = y * x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z < -3.1921305903852764e+46) tmp = Float64(-Float64(y * x)); elseif (z < 5.976268120920894e+90) tmp = Float64(Float64(x * z) / Float64(sqrt(Float64(Float64(z * z) - Float64(a * t))) / y)); else tmp = Float64(y * x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z < -3.1921305903852764e+46) tmp = -(y * x); elseif (z < 5.976268120920894e+90) tmp = (x * z) / (sqrt(((z * z) - (a * t))) / y); else tmp = y * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Less[z, -3.1921305903852764e+46], (-N[(y * x), $MachinePrecision]), If[Less[z, 5.976268120920894e+90], N[(N[(x * z), $MachinePrecision] / N[(N[Sqrt[N[(N[(z * z), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(y * x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z < -3.1921305903852764 \cdot 10^{+46}:\\
\;\;\;\;-y \cdot x\\
\mathbf{elif}\;z < 5.976268120920894 \cdot 10^{+90}:\\
\;\;\;\;\frac{x \cdot z}{\frac{\sqrt{z \cdot z - a \cdot t}}{y}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot x\\
\end{array}
\end{array}
herbie shell --seed 2023275
(FPCore (x y z t a)
:name "Statistics.Math.RootFinding:ridders from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< z -3.1921305903852764e+46) (- (* y x)) (if (< z 5.976268120920894e+90) (/ (* x z) (/ (sqrt (- (* z z) (* a t))) y)) (* y x)))
(/ (* (* x y) z) (sqrt (- (* z z) (* t a)))))