
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(t * i)))) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 24 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(t * i)))) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i))))
(* j (- (* c a) (* y i))))))
(if (<= t_1 INFINITY) t_1 (* (fma (- y) j (* b t)) i))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = fma(-y, j, (b * t)) * i;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(t * i)))) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(fma(Float64(-y), j, Float64(b * t)) * i); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))) < +inf.0Initial program 91.8%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))) Initial program 0.0%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6459.8
Applied rewrites59.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma (- y) j (* b t)) i)))
(if (<= i -4.2e+107)
t_1
(if (<= i 7e-269)
(+
(- (* x (- (* y z) (* t a))) (* (* c b) z))
(* j (- (* c a) (* y i))))
(if (<= i 5.7e+53)
(fma (fma (- x) t (* j c)) a (* (fma (- z) c (* i t)) b))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -4.2e+107) {
tmp = t_1;
} else if (i <= 7e-269) {
tmp = ((x * ((y * z) - (t * a))) - ((c * b) * z)) + (j * ((c * a) - (y * i)));
} else if (i <= 5.7e+53) {
tmp = fma(fma(-x, t, (j * c)), a, (fma(-z, c, (i * t)) * b));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -4.2e+107) tmp = t_1; elseif (i <= 7e-269) tmp = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(Float64(c * b) * z)) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))); elseif (i <= 5.7e+53) tmp = fma(fma(Float64(-x), t, Float64(j * c)), a, Float64(fma(Float64(-z), c, Float64(i * t)) * b)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -4.2e+107], t$95$1, If[LessEqual[i, 7e-269], N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(c * b), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 5.7e+53], N[(N[((-x) * t + N[(j * c), $MachinePrecision]), $MachinePrecision] * a + N[(N[((-z) * c + N[(i * t), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -4.2 \cdot 10^{+107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq 7 \cdot 10^{-269}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(c \cdot b\right) \cdot z\right) + j \cdot \left(c \cdot a - y \cdot i\right)\\
\mathbf{elif}\;i \leq 5.7 \cdot 10^{+53}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-x, t, j \cdot c\right), a, \mathsf{fma}\left(-z, c, i \cdot t\right) \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -4.1999999999999999e107 or 5.70000000000000017e53 < i Initial program 53.4%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.5
Applied rewrites71.5%
if -4.1999999999999999e107 < i < 7.00000000000000038e-269Initial program 86.2%
Taylor expanded in z around inf
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f6485.1
Applied rewrites85.1%
if 7.00000000000000038e-269 < i < 5.70000000000000017e53Initial program 82.8%
Taylor expanded in y around 0
Applied rewrites80.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma (- y) j (* b t)) i)))
(if (<= i -8.8e+105)
t_1
(if (<= i 5.4e-241)
(fma (fma (- b) c (* y x)) z (* (fma (- x) t (* c j)) a))
(if (<= i 5.7e+53)
(fma (fma (- x) t (* j c)) a (* (fma (- z) c (* i t)) b))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -8.8e+105) {
tmp = t_1;
} else if (i <= 5.4e-241) {
tmp = fma(fma(-b, c, (y * x)), z, (fma(-x, t, (c * j)) * a));
} else if (i <= 5.7e+53) {
tmp = fma(fma(-x, t, (j * c)), a, (fma(-z, c, (i * t)) * b));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -8.8e+105) tmp = t_1; elseif (i <= 5.4e-241) tmp = fma(fma(Float64(-b), c, Float64(y * x)), z, Float64(fma(Float64(-x), t, Float64(c * j)) * a)); elseif (i <= 5.7e+53) tmp = fma(fma(Float64(-x), t, Float64(j * c)), a, Float64(fma(Float64(-z), c, Float64(i * t)) * b)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -8.8e+105], t$95$1, If[LessEqual[i, 5.4e-241], N[(N[((-b) * c + N[(y * x), $MachinePrecision]), $MachinePrecision] * z + N[(N[((-x) * t + N[(c * j), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 5.7e+53], N[(N[((-x) * t + N[(j * c), $MachinePrecision]), $MachinePrecision] * a + N[(N[((-z) * c + N[(i * t), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -8.8 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq 5.4 \cdot 10^{-241}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-b, c, y \cdot x\right), z, \mathsf{fma}\left(-x, t, c \cdot j\right) \cdot a\right)\\
\mathbf{elif}\;i \leq 5.7 \cdot 10^{+53}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-x, t, j \cdot c\right), a, \mathsf{fma}\left(-z, c, i \cdot t\right) \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -8.80000000000000027e105 or 5.70000000000000017e53 < i Initial program 53.4%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.5
Applied rewrites71.5%
if -8.80000000000000027e105 < i < 5.3999999999999998e-241Initial program 86.4%
Taylor expanded in a around -inf
Applied rewrites79.1%
Taylor expanded in i around 0
Applied rewrites78.5%
if 5.3999999999999998e-241 < i < 5.70000000000000017e53Initial program 82.1%
Taylor expanded in y around 0
Applied rewrites79.5%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= i -8.8e+105) (not (<= i 1.45e+28))) (* (fma (- y) j (* b t)) i) (fma (fma (- b) c (* y x)) z (* (fma (- x) t (* c j)) a))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((i <= -8.8e+105) || !(i <= 1.45e+28)) {
tmp = fma(-y, j, (b * t)) * i;
} else {
tmp = fma(fma(-b, c, (y * x)), z, (fma(-x, t, (c * j)) * a));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((i <= -8.8e+105) || !(i <= 1.45e+28)) tmp = Float64(fma(Float64(-y), j, Float64(b * t)) * i); else tmp = fma(fma(Float64(-b), c, Float64(y * x)), z, Float64(fma(Float64(-x), t, Float64(c * j)) * a)); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[i, -8.8e+105], N[Not[LessEqual[i, 1.45e+28]], $MachinePrecision]], N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision], N[(N[((-b) * c + N[(y * x), $MachinePrecision]), $MachinePrecision] * z + N[(N[((-x) * t + N[(c * j), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;i \leq -8.8 \cdot 10^{+105} \lor \neg \left(i \leq 1.45 \cdot 10^{+28}\right):\\
\;\;\;\;\mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-b, c, y \cdot x\right), z, \mathsf{fma}\left(-x, t, c \cdot j\right) \cdot a\right)\\
\end{array}
\end{array}
if i < -8.80000000000000027e105 or 1.4500000000000001e28 < i Initial program 54.1%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.3
Applied rewrites71.3%
if -8.80000000000000027e105 < i < 1.4500000000000001e28Initial program 85.4%
Taylor expanded in a around -inf
Applied rewrites77.2%
Taylor expanded in i around 0
Applied rewrites72.9%
Final simplification72.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (- (* z y) (* a t)) x)) (t_2 (* (fma (- y) j (* b t)) i)))
(if (<= i -7.2e+105)
t_2
(if (<= i -2.8e+31)
(* (fma (- c) b (* y x)) z)
(if (<= i -1.26e-250)
t_1
(if (<= i 4.2e-84)
(* (fma j a (* (- b) z)) c)
(if (<= i 7e+27) t_1 t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((z * y) - (a * t)) * x;
double t_2 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -7.2e+105) {
tmp = t_2;
} else if (i <= -2.8e+31) {
tmp = fma(-c, b, (y * x)) * z;
} else if (i <= -1.26e-250) {
tmp = t_1;
} else if (i <= 4.2e-84) {
tmp = fma(j, a, (-b * z)) * c;
} else if (i <= 7e+27) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(z * y) - Float64(a * t)) * x) t_2 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -7.2e+105) tmp = t_2; elseif (i <= -2.8e+31) tmp = Float64(fma(Float64(-c), b, Float64(y * x)) * z); elseif (i <= -1.26e-250) tmp = t_1; elseif (i <= 4.2e-84) tmp = Float64(fma(j, a, Float64(Float64(-b) * z)) * c); elseif (i <= 7e+27) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]}, Block[{t$95$2 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -7.2e+105], t$95$2, If[LessEqual[i, -2.8e+31], N[(N[((-c) * b + N[(y * x), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[i, -1.26e-250], t$95$1, If[LessEqual[i, 4.2e-84], N[(N[(j * a + N[((-b) * z), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[i, 7e+27], t$95$1, t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(z \cdot y - a \cdot t\right) \cdot x\\
t_2 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -7.2 \cdot 10^{+105}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;i \leq -2.8 \cdot 10^{+31}:\\
\;\;\;\;\mathsf{fma}\left(-c, b, y \cdot x\right) \cdot z\\
\mathbf{elif}\;i \leq -1.26 \cdot 10^{-250}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq 4.2 \cdot 10^{-84}:\\
\;\;\;\;\mathsf{fma}\left(j, a, \left(-b\right) \cdot z\right) \cdot c\\
\mathbf{elif}\;i \leq 7 \cdot 10^{+27}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if i < -7.1999999999999998e105 or 7.0000000000000004e27 < i Initial program 54.1%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.3
Applied rewrites71.3%
if -7.1999999999999998e105 < i < -2.80000000000000017e31Initial program 82.3%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.0
Applied rewrites65.0%
if -2.80000000000000017e31 < i < -1.26e-250 or 4.19999999999999996e-84 < i < 7.0000000000000004e27Initial program 88.2%
Taylor expanded in a around -inf
Applied rewrites77.4%
Taylor expanded in x around inf
Applied rewrites72.0%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6459.3
Applied rewrites59.3%
if -1.26e-250 < i < 4.19999999999999996e-84Initial program 82.7%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6459.6
Applied rewrites59.6%
Applied rewrites59.6%
Final simplification64.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma (- y) j (* b t)) i)))
(if (<= i -8.2e+105)
t_1
(if (<= i 6e-233)
(fma (fma (- b) c (* y x)) z (* (* (- x) t) a))
(if (<= i 9.5e+27) (fma (fma (- x) t (* c j)) a (* (* y z) x)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -8.2e+105) {
tmp = t_1;
} else if (i <= 6e-233) {
tmp = fma(fma(-b, c, (y * x)), z, ((-x * t) * a));
} else if (i <= 9.5e+27) {
tmp = fma(fma(-x, t, (c * j)), a, ((y * z) * x));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -8.2e+105) tmp = t_1; elseif (i <= 6e-233) tmp = fma(fma(Float64(-b), c, Float64(y * x)), z, Float64(Float64(Float64(-x) * t) * a)); elseif (i <= 9.5e+27) tmp = fma(fma(Float64(-x), t, Float64(c * j)), a, Float64(Float64(y * z) * x)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -8.2e+105], t$95$1, If[LessEqual[i, 6e-233], N[(N[((-b) * c + N[(y * x), $MachinePrecision]), $MachinePrecision] * z + N[(N[((-x) * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 9.5e+27], N[(N[((-x) * t + N[(c * j), $MachinePrecision]), $MachinePrecision] * a + N[(N[(y * z), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -8.2 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq 6 \cdot 10^{-233}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-b, c, y \cdot x\right), z, \left(\left(-x\right) \cdot t\right) \cdot a\right)\\
\mathbf{elif}\;i \leq 9.5 \cdot 10^{+27}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-x, t, c \cdot j\right), a, \left(y \cdot z\right) \cdot x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -8.2000000000000005e105 or 9.4999999999999997e27 < i Initial program 54.1%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.3
Applied rewrites71.3%
if -8.2000000000000005e105 < i < 5.99999999999999997e-233Initial program 85.8%
Taylor expanded in a around -inf
Applied rewrites78.8%
Taylor expanded in i around 0
Applied rewrites77.1%
Taylor expanded in x around inf
Applied rewrites68.4%
if 5.99999999999999997e-233 < i < 9.4999999999999997e27Initial program 84.8%
Taylor expanded in i around 0
fp-cancel-sub-sign-invN/A
+-commutativeN/A
associate-+l+N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
distribute-lft-neg-inN/A
mul-1-negN/A
distribute-rgt-inN/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
*-commutativeN/A
Applied rewrites62.5%
Taylor expanded in b around 0
Applied rewrites62.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma (- y) j (* b t)) i)))
(if (<= i -8.2e+105)
t_1
(if (<= i 1.9e-234)
(fma (* (- b) z) c (* (fma (- a) t (* z y)) x))
(if (<= i 9.5e+27) (fma (fma (- x) t (* c j)) a (* (* y z) x)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -8.2e+105) {
tmp = t_1;
} else if (i <= 1.9e-234) {
tmp = fma((-b * z), c, (fma(-a, t, (z * y)) * x));
} else if (i <= 9.5e+27) {
tmp = fma(fma(-x, t, (c * j)), a, ((y * z) * x));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -8.2e+105) tmp = t_1; elseif (i <= 1.9e-234) tmp = fma(Float64(Float64(-b) * z), c, Float64(fma(Float64(-a), t, Float64(z * y)) * x)); elseif (i <= 9.5e+27) tmp = fma(fma(Float64(-x), t, Float64(c * j)), a, Float64(Float64(y * z) * x)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -8.2e+105], t$95$1, If[LessEqual[i, 1.9e-234], N[(N[((-b) * z), $MachinePrecision] * c + N[(N[((-a) * t + N[(z * y), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 9.5e+27], N[(N[((-x) * t + N[(c * j), $MachinePrecision]), $MachinePrecision] * a + N[(N[(y * z), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -8.2 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq 1.9 \cdot 10^{-234}:\\
\;\;\;\;\mathsf{fma}\left(\left(-b\right) \cdot z, c, \mathsf{fma}\left(-a, t, z \cdot y\right) \cdot x\right)\\
\mathbf{elif}\;i \leq 9.5 \cdot 10^{+27}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-x, t, c \cdot j\right), a, \left(y \cdot z\right) \cdot x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -8.2000000000000005e105 or 9.4999999999999997e27 < i Initial program 54.1%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.3
Applied rewrites71.3%
if -8.2000000000000005e105 < i < 1.89999999999999992e-234Initial program 86.6%
Taylor expanded in i around 0
fp-cancel-sub-sign-invN/A
+-commutativeN/A
associate-+l+N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
distribute-lft-neg-inN/A
mul-1-negN/A
distribute-rgt-inN/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
*-commutativeN/A
Applied rewrites77.7%
Taylor expanded in z around inf
Applied rewrites67.4%
if 1.89999999999999992e-234 < i < 9.4999999999999997e27Initial program 83.2%
Taylor expanded in i around 0
fp-cancel-sub-sign-invN/A
+-commutativeN/A
associate-+l+N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
distribute-lft-neg-inN/A
mul-1-negN/A
distribute-rgt-inN/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
*-commutativeN/A
Applied rewrites61.4%
Taylor expanded in b around 0
Applied rewrites61.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma (- y) j (* b t)) i)))
(if (<= i -7.2e+105)
t_1
(if (<= i -3.5e+31)
(* (fma (- c) b (* y x)) z)
(if (<= i 9.5e+27) (fma (fma (- x) t (* c j)) a (* (* y z) x)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(-y, j, (b * t)) * i;
double tmp;
if (i <= -7.2e+105) {
tmp = t_1;
} else if (i <= -3.5e+31) {
tmp = fma(-c, b, (y * x)) * z;
} else if (i <= 9.5e+27) {
tmp = fma(fma(-x, t, (c * j)), a, ((y * z) * x));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(Float64(-y), j, Float64(b * t)) * i) tmp = 0.0 if (i <= -7.2e+105) tmp = t_1; elseif (i <= -3.5e+31) tmp = Float64(fma(Float64(-c), b, Float64(y * x)) * z); elseif (i <= 9.5e+27) tmp = fma(fma(Float64(-x), t, Float64(c * j)), a, Float64(Float64(y * z) * x)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * j + N[(b * t), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]}, If[LessEqual[i, -7.2e+105], t$95$1, If[LessEqual[i, -3.5e+31], N[(N[((-c) * b + N[(y * x), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[i, 9.5e+27], N[(N[((-x) * t + N[(c * j), $MachinePrecision]), $MachinePrecision] * a + N[(N[(y * z), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(-y, j, b \cdot t\right) \cdot i\\
\mathbf{if}\;i \leq -7.2 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq -3.5 \cdot 10^{+31}:\\
\;\;\;\;\mathsf{fma}\left(-c, b, y \cdot x\right) \cdot z\\
\mathbf{elif}\;i \leq 9.5 \cdot 10^{+27}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-x, t, c \cdot j\right), a, \left(y \cdot z\right) \cdot x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -7.1999999999999998e105 or 9.4999999999999997e27 < i Initial program 54.1%
Taylor expanded in i around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
*-commutativeN/A
associate-*r*N/A
metadata-evalN/A
*-lft-identityN/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
lower-*.f6471.3
Applied rewrites71.3%
if -7.1999999999999998e105 < i < -3.5e31Initial program 82.3%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.0
Applied rewrites65.0%
if -3.5e31 < i < 9.4999999999999997e27Initial program 85.8%
Taylor expanded in i around 0
fp-cancel-sub-sign-invN/A
+-commutativeN/A
associate-+l+N/A
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
distribute-lft-neg-inN/A
mul-1-negN/A
distribute-rgt-inN/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
*-commutativeN/A
Applied rewrites72.1%
Taylor expanded in b around 0
Applied rewrites61.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (* b i) t)) (t_2 (* (* (- y) i) j)))
(if (<= b -1.65e+100)
(* (* (- b) c) z)
(if (<= b -1.75e-25)
t_1
(if (<= b 6e-300)
t_2
(if (<= b 6.8e-142)
(* a (* (- x) t))
(if (<= b 2.95e+128) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (b * i) * t;
double t_2 = (-y * i) * j;
double tmp;
if (b <= -1.65e+100) {
tmp = (-b * c) * z;
} else if (b <= -1.75e-25) {
tmp = t_1;
} else if (b <= 6e-300) {
tmp = t_2;
} else if (b <= 6.8e-142) {
tmp = a * (-x * t);
} else if (b <= 2.95e+128) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (b * i) * t
t_2 = (-y * i) * j
if (b <= (-1.65d+100)) then
tmp = (-b * c) * z
else if (b <= (-1.75d-25)) then
tmp = t_1
else if (b <= 6d-300) then
tmp = t_2
else if (b <= 6.8d-142) then
tmp = a * (-x * t)
else if (b <= 2.95d+128) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (b * i) * t;
double t_2 = (-y * i) * j;
double tmp;
if (b <= -1.65e+100) {
tmp = (-b * c) * z;
} else if (b <= -1.75e-25) {
tmp = t_1;
} else if (b <= 6e-300) {
tmp = t_2;
} else if (b <= 6.8e-142) {
tmp = a * (-x * t);
} else if (b <= 2.95e+128) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (b * i) * t t_2 = (-y * i) * j tmp = 0 if b <= -1.65e+100: tmp = (-b * c) * z elif b <= -1.75e-25: tmp = t_1 elif b <= 6e-300: tmp = t_2 elif b <= 6.8e-142: tmp = a * (-x * t) elif b <= 2.95e+128: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(b * i) * t) t_2 = Float64(Float64(Float64(-y) * i) * j) tmp = 0.0 if (b <= -1.65e+100) tmp = Float64(Float64(Float64(-b) * c) * z); elseif (b <= -1.75e-25) tmp = t_1; elseif (b <= 6e-300) tmp = t_2; elseif (b <= 6.8e-142) tmp = Float64(a * Float64(Float64(-x) * t)); elseif (b <= 2.95e+128) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (b * i) * t; t_2 = (-y * i) * j; tmp = 0.0; if (b <= -1.65e+100) tmp = (-b * c) * z; elseif (b <= -1.75e-25) tmp = t_1; elseif (b <= 6e-300) tmp = t_2; elseif (b <= 6.8e-142) tmp = a * (-x * t); elseif (b <= 2.95e+128) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision]}, Block[{t$95$2 = N[(N[((-y) * i), $MachinePrecision] * j), $MachinePrecision]}, If[LessEqual[b, -1.65e+100], N[(N[((-b) * c), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[b, -1.75e-25], t$95$1, If[LessEqual[b, 6e-300], t$95$2, If[LessEqual[b, 6.8e-142], N[(a * N[((-x) * t), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.95e+128], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(b \cdot i\right) \cdot t\\
t_2 := \left(\left(-y\right) \cdot i\right) \cdot j\\
\mathbf{if}\;b \leq -1.65 \cdot 10^{+100}:\\
\;\;\;\;\left(\left(-b\right) \cdot c\right) \cdot z\\
\mathbf{elif}\;b \leq -1.75 \cdot 10^{-25}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 6 \cdot 10^{-300}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 6.8 \cdot 10^{-142}:\\
\;\;\;\;a \cdot \left(\left(-x\right) \cdot t\right)\\
\mathbf{elif}\;b \leq 2.95 \cdot 10^{+128}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.6500000000000001e100Initial program 79.8%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.6
Applied rewrites65.6%
Taylor expanded in x around 0
Applied rewrites62.9%
if -1.6500000000000001e100 < b < -1.7500000000000001e-25 or 2.94999999999999993e128 < b Initial program 68.0%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6456.9
Applied rewrites56.9%
Taylor expanded in x around 0
Applied rewrites43.7%
if -1.7500000000000001e-25 < b < 6.00000000000000048e-300 or 6.80000000000000057e-142 < b < 2.94999999999999993e128Initial program 76.7%
Taylor expanded in j around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6450.8
Applied rewrites50.8%
Taylor expanded in y around inf
Applied rewrites38.1%
if 6.00000000000000048e-300 < b < 6.80000000000000057e-142Initial program 59.7%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6444.3
Applied rewrites44.3%
Taylor expanded in x around inf
Applied rewrites42.1%
Final simplification43.8%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= a -1.46e+102)
(* (* j a) c)
(if (<= a -1.15e+41)
(* (* x y) z)
(if (<= a -4.7e-142)
(* (* b i) t)
(if (<= a 4.15e-206)
(* (- b) (* z c))
(if (<= a 1.2e+47) (* (* b t) i) (* a (* (- x) t))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= -4.7e-142) {
tmp = (b * i) * t;
} else if (a <= 4.15e-206) {
tmp = -b * (z * c);
} else if (a <= 1.2e+47) {
tmp = (b * t) * i;
} else {
tmp = a * (-x * t);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (a <= (-1.46d+102)) then
tmp = (j * a) * c
else if (a <= (-1.15d+41)) then
tmp = (x * y) * z
else if (a <= (-4.7d-142)) then
tmp = (b * i) * t
else if (a <= 4.15d-206) then
tmp = -b * (z * c)
else if (a <= 1.2d+47) then
tmp = (b * t) * i
else
tmp = a * (-x * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= -4.7e-142) {
tmp = (b * i) * t;
} else if (a <= 4.15e-206) {
tmp = -b * (z * c);
} else if (a <= 1.2e+47) {
tmp = (b * t) * i;
} else {
tmp = a * (-x * t);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if a <= -1.46e+102: tmp = (j * a) * c elif a <= -1.15e+41: tmp = (x * y) * z elif a <= -4.7e-142: tmp = (b * i) * t elif a <= 4.15e-206: tmp = -b * (z * c) elif a <= 1.2e+47: tmp = (b * t) * i else: tmp = a * (-x * t) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (a <= -1.46e+102) tmp = Float64(Float64(j * a) * c); elseif (a <= -1.15e+41) tmp = Float64(Float64(x * y) * z); elseif (a <= -4.7e-142) tmp = Float64(Float64(b * i) * t); elseif (a <= 4.15e-206) tmp = Float64(Float64(-b) * Float64(z * c)); elseif (a <= 1.2e+47) tmp = Float64(Float64(b * t) * i); else tmp = Float64(a * Float64(Float64(-x) * t)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (a <= -1.46e+102) tmp = (j * a) * c; elseif (a <= -1.15e+41) tmp = (x * y) * z; elseif (a <= -4.7e-142) tmp = (b * i) * t; elseif (a <= 4.15e-206) tmp = -b * (z * c); elseif (a <= 1.2e+47) tmp = (b * t) * i; else tmp = a * (-x * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[a, -1.46e+102], N[(N[(j * a), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[a, -1.15e+41], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[a, -4.7e-142], N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision], If[LessEqual[a, 4.15e-206], N[((-b) * N[(z * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.2e+47], N[(N[(b * t), $MachinePrecision] * i), $MachinePrecision], N[(a * N[((-x) * t), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.46 \cdot 10^{+102}:\\
\;\;\;\;\left(j \cdot a\right) \cdot c\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{+41}:\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{elif}\;a \leq -4.7 \cdot 10^{-142}:\\
\;\;\;\;\left(b \cdot i\right) \cdot t\\
\mathbf{elif}\;a \leq 4.15 \cdot 10^{-206}:\\
\;\;\;\;\left(-b\right) \cdot \left(z \cdot c\right)\\
\mathbf{elif}\;a \leq 1.2 \cdot 10^{+47}:\\
\;\;\;\;\left(b \cdot t\right) \cdot i\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(\left(-x\right) \cdot t\right)\\
\end{array}
\end{array}
if a < -1.4599999999999999e102Initial program 52.4%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6446.3
Applied rewrites46.3%
Taylor expanded in z around 0
Applied rewrites40.2%
if -1.4599999999999999e102 < a < -1.1499999999999999e41Initial program 88.1%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.8
Applied rewrites65.8%
Taylor expanded in x around inf
Applied rewrites59.8%
if -1.1499999999999999e41 < a < -4.6999999999999999e-142Initial program 67.6%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6444.1
Applied rewrites44.1%
Taylor expanded in x around 0
Applied rewrites38.3%
if -4.6999999999999999e-142 < a < 4.1500000000000002e-206Initial program 83.6%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6442.1
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites40.6%
if 4.1500000000000002e-206 < a < 1.20000000000000009e47Initial program 76.1%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6437.9
Applied rewrites37.9%
Taylor expanded in x around 0
Applied rewrites29.7%
Applied rewrites31.5%
if 1.20000000000000009e47 < a Initial program 68.7%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6458.1
Applied rewrites58.1%
Taylor expanded in x around inf
Applied rewrites51.9%
Final simplification41.8%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= y -5.1e+131)
(* (fma (- i) y (* c a)) j)
(if (<= y -1.62e-19)
(* (- (* z y) (* a t)) x)
(if (<= y 9e-237)
(* (fma j a (* (- b) z)) c)
(if (<= y 5e+88)
(* (fma i b (* (- x) a)) t)
(* (fma (- i) j (* z x)) y))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (y <= -5.1e+131) {
tmp = fma(-i, y, (c * a)) * j;
} else if (y <= -1.62e-19) {
tmp = ((z * y) - (a * t)) * x;
} else if (y <= 9e-237) {
tmp = fma(j, a, (-b * z)) * c;
} else if (y <= 5e+88) {
tmp = fma(i, b, (-x * a)) * t;
} else {
tmp = fma(-i, j, (z * x)) * y;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (y <= -5.1e+131) tmp = Float64(fma(Float64(-i), y, Float64(c * a)) * j); elseif (y <= -1.62e-19) tmp = Float64(Float64(Float64(z * y) - Float64(a * t)) * x); elseif (y <= 9e-237) tmp = Float64(fma(j, a, Float64(Float64(-b) * z)) * c); elseif (y <= 5e+88) tmp = Float64(fma(i, b, Float64(Float64(-x) * a)) * t); else tmp = Float64(fma(Float64(-i), j, Float64(z * x)) * y); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[y, -5.1e+131], N[(N[((-i) * y + N[(c * a), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision], If[LessEqual[y, -1.62e-19], N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[y, 9e-237], N[(N[(j * a + N[((-b) * z), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[y, 5e+88], N[(N[(i * b + N[((-x) * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision], N[(N[((-i) * j + N[(z * x), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -5.1 \cdot 10^{+131}:\\
\;\;\;\;\mathsf{fma}\left(-i, y, c \cdot a\right) \cdot j\\
\mathbf{elif}\;y \leq -1.62 \cdot 10^{-19}:\\
\;\;\;\;\left(z \cdot y - a \cdot t\right) \cdot x\\
\mathbf{elif}\;y \leq 9 \cdot 10^{-237}:\\
\;\;\;\;\mathsf{fma}\left(j, a, \left(-b\right) \cdot z\right) \cdot c\\
\mathbf{elif}\;y \leq 5 \cdot 10^{+88}:\\
\;\;\;\;\mathsf{fma}\left(i, b, \left(-x\right) \cdot a\right) \cdot t\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-i, j, z \cdot x\right) \cdot y\\
\end{array}
\end{array}
if y < -5.1000000000000004e131Initial program 67.5%
Taylor expanded in j around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6468.4
Applied rewrites68.4%
if -5.1000000000000004e131 < y < -1.62000000000000009e-19Initial program 78.9%
Taylor expanded in a around -inf
Applied rewrites82.3%
Taylor expanded in x around inf
Applied rewrites69.4%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6455.4
Applied rewrites55.4%
if -1.62000000000000009e-19 < y < 9.00000000000000019e-237Initial program 73.9%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6455.4
Applied rewrites55.4%
Applied rewrites53.6%
if 9.00000000000000019e-237 < y < 4.99999999999999997e88Initial program 82.2%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6455.4
Applied rewrites55.4%
Applied rewrites56.8%
if 4.99999999999999997e88 < y Initial program 54.7%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6479.8
Applied rewrites79.8%
Final simplification61.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma i b (* (- x) a)) t)) (t_2 (* (fma (- i) j (* z x)) y)))
(if (<= y -7.7e+71)
t_2
(if (<= y -9e-304)
t_1
(if (<= y 9e-237)
(* (fma j a (* (- b) z)) c)
(if (<= y 5e+88) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(i, b, (-x * a)) * t;
double t_2 = fma(-i, j, (z * x)) * y;
double tmp;
if (y <= -7.7e+71) {
tmp = t_2;
} else if (y <= -9e-304) {
tmp = t_1;
} else if (y <= 9e-237) {
tmp = fma(j, a, (-b * z)) * c;
} else if (y <= 5e+88) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(i, b, Float64(Float64(-x) * a)) * t) t_2 = Float64(fma(Float64(-i), j, Float64(z * x)) * y) tmp = 0.0 if (y <= -7.7e+71) tmp = t_2; elseif (y <= -9e-304) tmp = t_1; elseif (y <= 9e-237) tmp = Float64(fma(j, a, Float64(Float64(-b) * z)) * c); elseif (y <= 5e+88) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(i * b + N[((-x) * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]}, Block[{t$95$2 = N[(N[((-i) * j + N[(z * x), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]}, If[LessEqual[y, -7.7e+71], t$95$2, If[LessEqual[y, -9e-304], t$95$1, If[LessEqual[y, 9e-237], N[(N[(j * a + N[((-b) * z), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[y, 5e+88], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(i, b, \left(-x\right) \cdot a\right) \cdot t\\
t_2 := \mathsf{fma}\left(-i, j, z \cdot x\right) \cdot y\\
\mathbf{if}\;y \leq -7.7 \cdot 10^{+71}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq -9 \cdot 10^{-304}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 9 \cdot 10^{-237}:\\
\;\;\;\;\mathsf{fma}\left(j, a, \left(-b\right) \cdot z\right) \cdot c\\
\mathbf{elif}\;y \leq 5 \cdot 10^{+88}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y < -7.70000000000000018e71 or 4.99999999999999997e88 < y Initial program 59.8%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6467.5
Applied rewrites67.5%
if -7.70000000000000018e71 < y < -8.9999999999999995e-304 or 9.00000000000000019e-237 < y < 4.99999999999999997e88Initial program 82.3%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6452.2
Applied rewrites52.2%
Applied rewrites53.6%
if -8.9999999999999995e-304 < y < 9.00000000000000019e-237Initial program 65.1%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6476.6
Applied rewrites76.6%
Applied rewrites76.6%
Final simplification60.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (fma j a (* (- b) z)) c)))
(if (<= c -4.2e+119)
t_1
(if (<= c -6800000.0)
(* (fma (- c) b (* y x)) z)
(if (<= c 1.3e+31)
(* (fma i b (* (- x) a)) t)
(if (<= c 4.7e+94) (* (- (* z y) (* a t)) x) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = fma(j, a, (-b * z)) * c;
double tmp;
if (c <= -4.2e+119) {
tmp = t_1;
} else if (c <= -6800000.0) {
tmp = fma(-c, b, (y * x)) * z;
} else if (c <= 1.3e+31) {
tmp = fma(i, b, (-x * a)) * t;
} else if (c <= 4.7e+94) {
tmp = ((z * y) - (a * t)) * x;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(fma(j, a, Float64(Float64(-b) * z)) * c) tmp = 0.0 if (c <= -4.2e+119) tmp = t_1; elseif (c <= -6800000.0) tmp = Float64(fma(Float64(-c), b, Float64(y * x)) * z); elseif (c <= 1.3e+31) tmp = Float64(fma(i, b, Float64(Float64(-x) * a)) * t); elseif (c <= 4.7e+94) tmp = Float64(Float64(Float64(z * y) - Float64(a * t)) * x); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(j * a + N[((-b) * z), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision]}, If[LessEqual[c, -4.2e+119], t$95$1, If[LessEqual[c, -6800000.0], N[(N[((-c) * b + N[(y * x), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[c, 1.3e+31], N[(N[(i * b + N[((-x) * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision], If[LessEqual[c, 4.7e+94], N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(j, a, \left(-b\right) \cdot z\right) \cdot c\\
\mathbf{if}\;c \leq -4.2 \cdot 10^{+119}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;c \leq -6800000:\\
\;\;\;\;\mathsf{fma}\left(-c, b, y \cdot x\right) \cdot z\\
\mathbf{elif}\;c \leq 1.3 \cdot 10^{+31}:\\
\;\;\;\;\mathsf{fma}\left(i, b, \left(-x\right) \cdot a\right) \cdot t\\
\mathbf{elif}\;c \leq 4.7 \cdot 10^{+94}:\\
\;\;\;\;\left(z \cdot y - a \cdot t\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if c < -4.19999999999999966e119 or 4.70000000000000017e94 < c Initial program 65.6%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6463.4
Applied rewrites63.4%
Applied rewrites63.4%
if -4.19999999999999966e119 < c < -6.8e6Initial program 62.8%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6456.8
Applied rewrites56.8%
if -6.8e6 < c < 1.3e31Initial program 80.9%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6449.9
Applied rewrites49.9%
Applied rewrites51.6%
if 1.3e31 < c < 4.70000000000000017e94Initial program 66.7%
Taylor expanded in a around -inf
Applied rewrites66.5%
Taylor expanded in x around inf
Applied rewrites74.9%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6475.1
Applied rewrites75.1%
Final simplification57.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (- (* z y) (* a t)) x)) (t_2 (* (fma j a (* (- b) z)) c)))
(if (<= c -6.5e+120)
t_2
(if (<= c -6800000.0)
t_1
(if (<= c 1.3e+31)
(* (fma i b (* (- x) a)) t)
(if (<= c 4.7e+94) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((z * y) - (a * t)) * x;
double t_2 = fma(j, a, (-b * z)) * c;
double tmp;
if (c <= -6.5e+120) {
tmp = t_2;
} else if (c <= -6800000.0) {
tmp = t_1;
} else if (c <= 1.3e+31) {
tmp = fma(i, b, (-x * a)) * t;
} else if (c <= 4.7e+94) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(z * y) - Float64(a * t)) * x) t_2 = Float64(fma(j, a, Float64(Float64(-b) * z)) * c) tmp = 0.0 if (c <= -6.5e+120) tmp = t_2; elseif (c <= -6800000.0) tmp = t_1; elseif (c <= 1.3e+31) tmp = Float64(fma(i, b, Float64(Float64(-x) * a)) * t); elseif (c <= 4.7e+94) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]}, Block[{t$95$2 = N[(N[(j * a + N[((-b) * z), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision]}, If[LessEqual[c, -6.5e+120], t$95$2, If[LessEqual[c, -6800000.0], t$95$1, If[LessEqual[c, 1.3e+31], N[(N[(i * b + N[((-x) * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision], If[LessEqual[c, 4.7e+94], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(z \cdot y - a \cdot t\right) \cdot x\\
t_2 := \mathsf{fma}\left(j, a, \left(-b\right) \cdot z\right) \cdot c\\
\mathbf{if}\;c \leq -6.5 \cdot 10^{+120}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;c \leq -6800000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;c \leq 1.3 \cdot 10^{+31}:\\
\;\;\;\;\mathsf{fma}\left(i, b, \left(-x\right) \cdot a\right) \cdot t\\
\mathbf{elif}\;c \leq 4.7 \cdot 10^{+94}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if c < -6.4999999999999997e120 or 4.70000000000000017e94 < c Initial program 65.6%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6463.4
Applied rewrites63.4%
Applied rewrites63.4%
if -6.4999999999999997e120 < c < -6.8e6 or 1.3e31 < c < 4.70000000000000017e94Initial program 64.0%
Taylor expanded in a around -inf
Applied rewrites71.8%
Taylor expanded in x around inf
Applied rewrites64.1%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6459.7
Applied rewrites59.7%
if -6.8e6 < c < 1.3e31Initial program 80.9%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6449.9
Applied rewrites49.9%
Applied rewrites51.6%
Final simplification57.4%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= a -1.46e+102)
(* (* j a) c)
(if (<= a -1.15e+41)
(* (* x y) z)
(if (<= a -5.2e-142)
(* (* b i) t)
(if (<= a 9e+105) (* (* (- b) c) z) (* a (* (- x) t)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= -5.2e-142) {
tmp = (b * i) * t;
} else if (a <= 9e+105) {
tmp = (-b * c) * z;
} else {
tmp = a * (-x * t);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (a <= (-1.46d+102)) then
tmp = (j * a) * c
else if (a <= (-1.15d+41)) then
tmp = (x * y) * z
else if (a <= (-5.2d-142)) then
tmp = (b * i) * t
else if (a <= 9d+105) then
tmp = (-b * c) * z
else
tmp = a * (-x * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= -5.2e-142) {
tmp = (b * i) * t;
} else if (a <= 9e+105) {
tmp = (-b * c) * z;
} else {
tmp = a * (-x * t);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if a <= -1.46e+102: tmp = (j * a) * c elif a <= -1.15e+41: tmp = (x * y) * z elif a <= -5.2e-142: tmp = (b * i) * t elif a <= 9e+105: tmp = (-b * c) * z else: tmp = a * (-x * t) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (a <= -1.46e+102) tmp = Float64(Float64(j * a) * c); elseif (a <= -1.15e+41) tmp = Float64(Float64(x * y) * z); elseif (a <= -5.2e-142) tmp = Float64(Float64(b * i) * t); elseif (a <= 9e+105) tmp = Float64(Float64(Float64(-b) * c) * z); else tmp = Float64(a * Float64(Float64(-x) * t)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (a <= -1.46e+102) tmp = (j * a) * c; elseif (a <= -1.15e+41) tmp = (x * y) * z; elseif (a <= -5.2e-142) tmp = (b * i) * t; elseif (a <= 9e+105) tmp = (-b * c) * z; else tmp = a * (-x * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[a, -1.46e+102], N[(N[(j * a), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[a, -1.15e+41], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[a, -5.2e-142], N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision], If[LessEqual[a, 9e+105], N[(N[((-b) * c), $MachinePrecision] * z), $MachinePrecision], N[(a * N[((-x) * t), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.46 \cdot 10^{+102}:\\
\;\;\;\;\left(j \cdot a\right) \cdot c\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{+41}:\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{elif}\;a \leq -5.2 \cdot 10^{-142}:\\
\;\;\;\;\left(b \cdot i\right) \cdot t\\
\mathbf{elif}\;a \leq 9 \cdot 10^{+105}:\\
\;\;\;\;\left(\left(-b\right) \cdot c\right) \cdot z\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(\left(-x\right) \cdot t\right)\\
\end{array}
\end{array}
if a < -1.4599999999999999e102Initial program 52.4%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6446.3
Applied rewrites46.3%
Taylor expanded in z around 0
Applied rewrites40.2%
if -1.4599999999999999e102 < a < -1.1499999999999999e41Initial program 88.1%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.8
Applied rewrites65.8%
Taylor expanded in x around inf
Applied rewrites59.8%
if -1.1499999999999999e41 < a < -5.1999999999999999e-142Initial program 67.6%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6444.1
Applied rewrites44.1%
Taylor expanded in x around 0
Applied rewrites38.3%
if -5.1999999999999999e-142 < a < 9.0000000000000002e105Initial program 79.8%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6449.7
Applied rewrites49.7%
Taylor expanded in x around 0
Applied rewrites32.7%
if 9.0000000000000002e105 < a Initial program 66.6%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.5
Applied rewrites65.5%
Taylor expanded in x around inf
Applied rewrites57.9%
Final simplification40.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (* (- y) i) j)))
(if (<= y -1.25e+116)
t_1
(if (<= y -3.5e+60)
(* (- (* z y) (* a t)) x)
(if (<= y 1.76e+89) (* (fma i b (* (- x) a)) t) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (-y * i) * j;
double tmp;
if (y <= -1.25e+116) {
tmp = t_1;
} else if (y <= -3.5e+60) {
tmp = ((z * y) - (a * t)) * x;
} else if (y <= 1.76e+89) {
tmp = fma(i, b, (-x * a)) * t;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(-y) * i) * j) tmp = 0.0 if (y <= -1.25e+116) tmp = t_1; elseif (y <= -3.5e+60) tmp = Float64(Float64(Float64(z * y) - Float64(a * t)) * x); elseif (y <= 1.76e+89) tmp = Float64(fma(i, b, Float64(Float64(-x) * a)) * t); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[((-y) * i), $MachinePrecision] * j), $MachinePrecision]}, If[LessEqual[y, -1.25e+116], t$95$1, If[LessEqual[y, -3.5e+60], N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[y, 1.76e+89], N[(N[(i * b + N[((-x) * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(-y\right) \cdot i\right) \cdot j\\
\mathbf{if}\;y \leq -1.25 \cdot 10^{+116}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -3.5 \cdot 10^{+60}:\\
\;\;\;\;\left(z \cdot y - a \cdot t\right) \cdot x\\
\mathbf{elif}\;y \leq 1.76 \cdot 10^{+89}:\\
\;\;\;\;\mathsf{fma}\left(i, b, \left(-x\right) \cdot a\right) \cdot t\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.25000000000000006e116 or 1.76000000000000007e89 < y Initial program 58.7%
Taylor expanded in j around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6462.6
Applied rewrites62.6%
Taylor expanded in y around inf
Applied rewrites53.8%
if -1.25000000000000006e116 < y < -3.5000000000000002e60Initial program 78.5%
Taylor expanded in a around -inf
Applied rewrites85.9%
Taylor expanded in x around inf
Applied rewrites58.5%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6457.7
Applied rewrites57.7%
if -3.5000000000000002e60 < y < 1.76000000000000007e89Initial program 79.9%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6448.8
Applied rewrites48.8%
Applied rewrites50.2%
Final simplification51.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (* j a) c)))
(if (<= c -1.4e+122)
t_1
(if (<= c -250.0)
(* (* x y) z)
(if (<= c 3.4e-25)
(* (* i t) b)
(if (<= c 4.5e+94) (* (* z y) x) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * a) * c;
double tmp;
if (c <= -1.4e+122) {
tmp = t_1;
} else if (c <= -250.0) {
tmp = (x * y) * z;
} else if (c <= 3.4e-25) {
tmp = (i * t) * b;
} else if (c <= 4.5e+94) {
tmp = (z * y) * x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = (j * a) * c
if (c <= (-1.4d+122)) then
tmp = t_1
else if (c <= (-250.0d0)) then
tmp = (x * y) * z
else if (c <= 3.4d-25) then
tmp = (i * t) * b
else if (c <= 4.5d+94) then
tmp = (z * y) * x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * a) * c;
double tmp;
if (c <= -1.4e+122) {
tmp = t_1;
} else if (c <= -250.0) {
tmp = (x * y) * z;
} else if (c <= 3.4e-25) {
tmp = (i * t) * b;
} else if (c <= 4.5e+94) {
tmp = (z * y) * x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * a) * c tmp = 0 if c <= -1.4e+122: tmp = t_1 elif c <= -250.0: tmp = (x * y) * z elif c <= 3.4e-25: tmp = (i * t) * b elif c <= 4.5e+94: tmp = (z * y) * x else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(j * a) * c) tmp = 0.0 if (c <= -1.4e+122) tmp = t_1; elseif (c <= -250.0) tmp = Float64(Float64(x * y) * z); elseif (c <= 3.4e-25) tmp = Float64(Float64(i * t) * b); elseif (c <= 4.5e+94) tmp = Float64(Float64(z * y) * x); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (j * a) * c; tmp = 0.0; if (c <= -1.4e+122) tmp = t_1; elseif (c <= -250.0) tmp = (x * y) * z; elseif (c <= 3.4e-25) tmp = (i * t) * b; elseif (c <= 4.5e+94) tmp = (z * y) * x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(j * a), $MachinePrecision] * c), $MachinePrecision]}, If[LessEqual[c, -1.4e+122], t$95$1, If[LessEqual[c, -250.0], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[c, 3.4e-25], N[(N[(i * t), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[c, 4.5e+94], N[(N[(z * y), $MachinePrecision] * x), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(j \cdot a\right) \cdot c\\
\mathbf{if}\;c \leq -1.4 \cdot 10^{+122}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;c \leq -250:\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{elif}\;c \leq 3.4 \cdot 10^{-25}:\\
\;\;\;\;\left(i \cdot t\right) \cdot b\\
\mathbf{elif}\;c \leq 4.5 \cdot 10^{+94}:\\
\;\;\;\;\left(z \cdot y\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if c < -1.4e122 or 4.49999999999999972e94 < c Initial program 65.6%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6463.4
Applied rewrites63.4%
Taylor expanded in z around 0
Applied rewrites36.1%
if -1.4e122 < c < -250Initial program 60.6%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6454.7
Applied rewrites54.7%
Taylor expanded in x around inf
Applied rewrites34.0%
if -250 < c < 3.40000000000000002e-25Initial program 80.5%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6450.3
Applied rewrites50.3%
Taylor expanded in x around 0
Applied rewrites30.7%
if 3.40000000000000002e-25 < c < 4.49999999999999972e94Initial program 79.1%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6454.4
Applied rewrites54.4%
Taylor expanded in x around inf
Applied rewrites46.5%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= a -1.46e+102)
(* (* j a) c)
(if (<= a -1.15e+41)
(* (* x y) z)
(if (<= a 2.8e+46) (* (* b i) t) (* a (* (- x) t))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= 2.8e+46) {
tmp = (b * i) * t;
} else {
tmp = a * (-x * t);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (a <= (-1.46d+102)) then
tmp = (j * a) * c
else if (a <= (-1.15d+41)) then
tmp = (x * y) * z
else if (a <= 2.8d+46) then
tmp = (b * i) * t
else
tmp = a * (-x * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (a <= -1.46e+102) {
tmp = (j * a) * c;
} else if (a <= -1.15e+41) {
tmp = (x * y) * z;
} else if (a <= 2.8e+46) {
tmp = (b * i) * t;
} else {
tmp = a * (-x * t);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if a <= -1.46e+102: tmp = (j * a) * c elif a <= -1.15e+41: tmp = (x * y) * z elif a <= 2.8e+46: tmp = (b * i) * t else: tmp = a * (-x * t) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (a <= -1.46e+102) tmp = Float64(Float64(j * a) * c); elseif (a <= -1.15e+41) tmp = Float64(Float64(x * y) * z); elseif (a <= 2.8e+46) tmp = Float64(Float64(b * i) * t); else tmp = Float64(a * Float64(Float64(-x) * t)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (a <= -1.46e+102) tmp = (j * a) * c; elseif (a <= -1.15e+41) tmp = (x * y) * z; elseif (a <= 2.8e+46) tmp = (b * i) * t; else tmp = a * (-x * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[a, -1.46e+102], N[(N[(j * a), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[a, -1.15e+41], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[a, 2.8e+46], N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision], N[(a * N[((-x) * t), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.46 \cdot 10^{+102}:\\
\;\;\;\;\left(j \cdot a\right) \cdot c\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{+41}:\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{elif}\;a \leq 2.8 \cdot 10^{+46}:\\
\;\;\;\;\left(b \cdot i\right) \cdot t\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(\left(-x\right) \cdot t\right)\\
\end{array}
\end{array}
if a < -1.4599999999999999e102Initial program 52.4%
Taylor expanded in c around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-fma.f64N/A
mul-1-negN/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6446.3
Applied rewrites46.3%
Taylor expanded in z around 0
Applied rewrites40.2%
if -1.4599999999999999e102 < a < -1.1499999999999999e41Initial program 88.1%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6465.8
Applied rewrites65.8%
Taylor expanded in x around inf
Applied rewrites59.8%
if -1.1499999999999999e41 < a < 2.80000000000000018e46Initial program 76.3%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6432.9
Applied rewrites32.9%
Taylor expanded in x around 0
Applied rewrites27.7%
if 2.80000000000000018e46 < a Initial program 68.7%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6458.1
Applied rewrites58.1%
Taylor expanded in x around inf
Applied rewrites51.9%
Final simplification36.3%
(FPCore (x y z t a b c i j) :precision binary64 (if (<= i -6e+105) (* (* b i) t) (if (<= i 1.55e+29) (* (- (* z y) (* a t)) x) (* (* (- y) i) j))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (i <= -6e+105) {
tmp = (b * i) * t;
} else if (i <= 1.55e+29) {
tmp = ((z * y) - (a * t)) * x;
} else {
tmp = (-y * i) * j;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (i <= (-6d+105)) then
tmp = (b * i) * t
else if (i <= 1.55d+29) then
tmp = ((z * y) - (a * t)) * x
else
tmp = (-y * i) * j
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (i <= -6e+105) {
tmp = (b * i) * t;
} else if (i <= 1.55e+29) {
tmp = ((z * y) - (a * t)) * x;
} else {
tmp = (-y * i) * j;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if i <= -6e+105: tmp = (b * i) * t elif i <= 1.55e+29: tmp = ((z * y) - (a * t)) * x else: tmp = (-y * i) * j return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (i <= -6e+105) tmp = Float64(Float64(b * i) * t); elseif (i <= 1.55e+29) tmp = Float64(Float64(Float64(z * y) - Float64(a * t)) * x); else tmp = Float64(Float64(Float64(-y) * i) * j); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (i <= -6e+105) tmp = (b * i) * t; elseif (i <= 1.55e+29) tmp = ((z * y) - (a * t)) * x; else tmp = (-y * i) * j; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[i, -6e+105], N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision], If[LessEqual[i, 1.55e+29], N[(N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], N[(N[((-y) * i), $MachinePrecision] * j), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;i \leq -6 \cdot 10^{+105}:\\
\;\;\;\;\left(b \cdot i\right) \cdot t\\
\mathbf{elif}\;i \leq 1.55 \cdot 10^{+29}:\\
\;\;\;\;\left(z \cdot y - a \cdot t\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-y\right) \cdot i\right) \cdot j\\
\end{array}
\end{array}
if i < -6.0000000000000001e105Initial program 47.1%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6452.4
Applied rewrites52.4%
Taylor expanded in x around 0
Applied rewrites47.9%
if -6.0000000000000001e105 < i < 1.5499999999999999e29Initial program 85.3%
Taylor expanded in a around -inf
Applied rewrites77.6%
Taylor expanded in x around inf
Applied rewrites68.2%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f6443.9
Applied rewrites43.9%
if 1.5499999999999999e29 < i Initial program 60.0%
Taylor expanded in j around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6457.0
Applied rewrites57.0%
Taylor expanded in y around inf
Applied rewrites48.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* (* b i) t)))
(if (<= i -2.6e+105)
t_1
(if (<= i -6.1e-74)
(* (* x y) z)
(if (<= i 3.6e-78) (* (* c a) j) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (b * i) * t;
double tmp;
if (i <= -2.6e+105) {
tmp = t_1;
} else if (i <= -6.1e-74) {
tmp = (x * y) * z;
} else if (i <= 3.6e-78) {
tmp = (c * a) * j;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = (b * i) * t
if (i <= (-2.6d+105)) then
tmp = t_1
else if (i <= (-6.1d-74)) then
tmp = (x * y) * z
else if (i <= 3.6d-78) then
tmp = (c * a) * j
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (b * i) * t;
double tmp;
if (i <= -2.6e+105) {
tmp = t_1;
} else if (i <= -6.1e-74) {
tmp = (x * y) * z;
} else if (i <= 3.6e-78) {
tmp = (c * a) * j;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (b * i) * t tmp = 0 if i <= -2.6e+105: tmp = t_1 elif i <= -6.1e-74: tmp = (x * y) * z elif i <= 3.6e-78: tmp = (c * a) * j else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(b * i) * t) tmp = 0.0 if (i <= -2.6e+105) tmp = t_1; elseif (i <= -6.1e-74) tmp = Float64(Float64(x * y) * z); elseif (i <= 3.6e-78) tmp = Float64(Float64(c * a) * j); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (b * i) * t; tmp = 0.0; if (i <= -2.6e+105) tmp = t_1; elseif (i <= -6.1e-74) tmp = (x * y) * z; elseif (i <= 3.6e-78) tmp = (c * a) * j; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(b * i), $MachinePrecision] * t), $MachinePrecision]}, If[LessEqual[i, -2.6e+105], t$95$1, If[LessEqual[i, -6.1e-74], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], If[LessEqual[i, 3.6e-78], N[(N[(c * a), $MachinePrecision] * j), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(b \cdot i\right) \cdot t\\
\mathbf{if}\;i \leq -2.6 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq -6.1 \cdot 10^{-74}:\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{elif}\;i \leq 3.6 \cdot 10^{-78}:\\
\;\;\;\;\left(c \cdot a\right) \cdot j\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -2.6000000000000002e105 or 3.6000000000000002e-78 < i Initial program 61.2%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6446.5
Applied rewrites46.5%
Taylor expanded in x around 0
Applied rewrites35.3%
if -2.6000000000000002e105 < i < -6.0999999999999998e-74Initial program 82.8%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6452.4
Applied rewrites52.4%
Taylor expanded in x around inf
Applied rewrites30.2%
if -6.0999999999999998e-74 < i < 3.6000000000000002e-78Initial program 84.2%
Taylor expanded in j around inf
*-commutativeN/A
lower-*.f64N/A
fp-cancel-sub-sign-invN/A
+-commutativeN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6436.3
Applied rewrites36.3%
Taylor expanded in y around 0
Applied rewrites29.7%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= y -2.6e+30) (not (<= y 2.35e+88))) (* (* x y) z) (* (* b t) i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((y <= -2.6e+30) || !(y <= 2.35e+88)) {
tmp = (x * y) * z;
} else {
tmp = (b * t) * i;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if ((y <= (-2.6d+30)) .or. (.not. (y <= 2.35d+88))) then
tmp = (x * y) * z
else
tmp = (b * t) * i
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((y <= -2.6e+30) || !(y <= 2.35e+88)) {
tmp = (x * y) * z;
} else {
tmp = (b * t) * i;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (y <= -2.6e+30) or not (y <= 2.35e+88): tmp = (x * y) * z else: tmp = (b * t) * i return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((y <= -2.6e+30) || !(y <= 2.35e+88)) tmp = Float64(Float64(x * y) * z); else tmp = Float64(Float64(b * t) * i); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((y <= -2.6e+30) || ~((y <= 2.35e+88))) tmp = (x * y) * z; else tmp = (b * t) * i; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[y, -2.6e+30], N[Not[LessEqual[y, 2.35e+88]], $MachinePrecision]], N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision], N[(N[(b * t), $MachinePrecision] * i), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.6 \cdot 10^{+30} \lor \neg \left(y \leq 2.35 \cdot 10^{+88}\right):\\
\;\;\;\;\left(x \cdot y\right) \cdot z\\
\mathbf{else}:\\
\;\;\;\;\left(b \cdot t\right) \cdot i\\
\end{array}
\end{array}
if y < -2.59999999999999988e30 or 2.35000000000000004e88 < y Initial program 64.1%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6441.1
Applied rewrites41.1%
Taylor expanded in x around inf
Applied rewrites31.8%
if -2.59999999999999988e30 < y < 2.35000000000000004e88Initial program 78.9%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6448.1
Applied rewrites48.1%
Taylor expanded in x around 0
Applied rewrites28.4%
Applied rewrites29.7%
Final simplification30.6%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= t -1.2e+15) (not (<= t 1.26e+49))) (* (* b t) i) (* (* z y) x)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((t <= -1.2e+15) || !(t <= 1.26e+49)) {
tmp = (b * t) * i;
} else {
tmp = (z * y) * x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if ((t <= (-1.2d+15)) .or. (.not. (t <= 1.26d+49))) then
tmp = (b * t) * i
else
tmp = (z * y) * x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((t <= -1.2e+15) || !(t <= 1.26e+49)) {
tmp = (b * t) * i;
} else {
tmp = (z * y) * x;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (t <= -1.2e+15) or not (t <= 1.26e+49): tmp = (b * t) * i else: tmp = (z * y) * x return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((t <= -1.2e+15) || !(t <= 1.26e+49)) tmp = Float64(Float64(b * t) * i); else tmp = Float64(Float64(z * y) * x); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((t <= -1.2e+15) || ~((t <= 1.26e+49))) tmp = (b * t) * i; else tmp = (z * y) * x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[t, -1.2e+15], N[Not[LessEqual[t, 1.26e+49]], $MachinePrecision]], N[(N[(b * t), $MachinePrecision] * i), $MachinePrecision], N[(N[(z * y), $MachinePrecision] * x), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.2 \cdot 10^{+15} \lor \neg \left(t \leq 1.26 \cdot 10^{+49}\right):\\
\;\;\;\;\left(b \cdot t\right) \cdot i\\
\mathbf{else}:\\
\;\;\;\;\left(z \cdot y\right) \cdot x\\
\end{array}
\end{array}
if t < -1.2e15 or 1.2599999999999999e49 < t Initial program 61.5%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6458.9
Applied rewrites58.9%
Taylor expanded in x around 0
Applied rewrites33.7%
Applied rewrites33.7%
if -1.2e15 < t < 1.2599999999999999e49Initial program 82.3%
Taylor expanded in z around inf
*-commutativeN/A
lower-*.f64N/A
cancel-sign-sub-invN/A
distribute-lft-neg-inN/A
mul-1-negN/A
+-commutativeN/A
mul-1-negN/A
*-commutativeN/A
distribute-lft-neg-inN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6449.0
Applied rewrites49.0%
Taylor expanded in x around inf
Applied rewrites25.5%
Final simplification29.4%
(FPCore (x y z t a b c i j) :precision binary64 (* (* i t) b))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return (i * t) * b;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = (i * t) * b
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return (i * t) * b;
}
def code(x, y, z, t, a, b, c, i, j): return (i * t) * b
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(i * t) * b) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = (i * t) * b; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(i * t), $MachinePrecision] * b), $MachinePrecision]
\begin{array}{l}
\\
\left(i \cdot t\right) \cdot b
\end{array}
Initial program 72.5%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6438.8
Applied rewrites38.8%
Taylor expanded in x around 0
Applied rewrites21.2%
(FPCore (x y z t a b c i j) :precision binary64 (* (* b t) i))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return (b * t) * i;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = (b * t) * i
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return (b * t) * i;
}
def code(x, y, z, t, a, b, c, i, j): return (b * t) * i
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(b * t) * i) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = (b * t) * i; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(b * t), $MachinePrecision] * i), $MachinePrecision]
\begin{array}{l}
\\
\left(b \cdot t\right) \cdot i
\end{array}
Initial program 72.5%
Taylor expanded in t around inf
*-commutativeN/A
lower-*.f64N/A
mul-1-negN/A
distribute-lft-neg-inN/A
fp-cancel-sign-subN/A
associate-*r*N/A
mul-1-negN/A
lower-fma.f64N/A
lower-neg.f64N/A
*-commutativeN/A
lower-*.f6438.8
Applied rewrites38.8%
Taylor expanded in x around 0
Applied rewrites21.2%
Applied rewrites20.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* c a) (* y i))))
(t_2
(+
(-
(* x (- (* y z) (* t a)))
(/
(* b (- (pow (* c z) 2.0) (pow (* t i) 2.0)))
(+ (* c z) (* t i))))
t_1)))
(if (< x -1.469694296777705e-64)
t_2
(if (< x 3.2113527362226803e-147)
(- (* (- (* b i) (* x a)) t) (- (* z (* c b)) t_1))
t_2))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((c * a) - (y * i));
double t_2 = ((x * ((y * z) - (t * a))) - ((b * (pow((c * z), 2.0) - pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1;
double tmp;
if (x < -1.469694296777705e-64) {
tmp = t_2;
} else if (x < 3.2113527362226803e-147) {
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1);
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = j * ((c * a) - (y * i))
t_2 = ((x * ((y * z) - (t * a))) - ((b * (((c * z) ** 2.0d0) - ((t * i) ** 2.0d0))) / ((c * z) + (t * i)))) + t_1
if (x < (-1.469694296777705d-64)) then
tmp = t_2
else if (x < 3.2113527362226803d-147) then
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1)
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((c * a) - (y * i));
double t_2 = ((x * ((y * z) - (t * a))) - ((b * (Math.pow((c * z), 2.0) - Math.pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1;
double tmp;
if (x < -1.469694296777705e-64) {
tmp = t_2;
} else if (x < 3.2113527362226803e-147) {
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((c * a) - (y * i)) t_2 = ((x * ((y * z) - (t * a))) - ((b * (math.pow((c * z), 2.0) - math.pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1 tmp = 0 if x < -1.469694296777705e-64: tmp = t_2 elif x < 3.2113527362226803e-147: tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(c * a) - Float64(y * i))) t_2 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(Float64(b * Float64((Float64(c * z) ^ 2.0) - (Float64(t * i) ^ 2.0))) / Float64(Float64(c * z) + Float64(t * i)))) + t_1) tmp = 0.0 if (x < -1.469694296777705e-64) tmp = t_2; elseif (x < 3.2113527362226803e-147) tmp = Float64(Float64(Float64(Float64(b * i) - Float64(x * a)) * t) - Float64(Float64(z * Float64(c * b)) - t_1)); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((c * a) - (y * i)); t_2 = ((x * ((y * z) - (t * a))) - ((b * (((c * z) ^ 2.0) - ((t * i) ^ 2.0))) / ((c * z) + (t * i)))) + t_1; tmp = 0.0; if (x < -1.469694296777705e-64) tmp = t_2; elseif (x < 3.2113527362226803e-147) tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(b * N[(N[Power[N[(c * z), $MachinePrecision], 2.0], $MachinePrecision] - N[Power[N[(t * i), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(c * z), $MachinePrecision] + N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]}, If[Less[x, -1.469694296777705e-64], t$95$2, If[Less[x, 3.2113527362226803e-147], N[(N[(N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] - N[(N[(z * N[(c * b), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(c \cdot a - y \cdot i\right)\\
t_2 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - \frac{b \cdot \left({\left(c \cdot z\right)}^{2} - {\left(t \cdot i\right)}^{2}\right)}{c \cdot z + t \cdot i}\right) + t\_1\\
\mathbf{if}\;x < -1.469694296777705 \cdot 10^{-64}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x < 3.2113527362226803 \cdot 10^{-147}:\\
\;\;\;\;\left(b \cdot i - x \cdot a\right) \cdot t - \left(z \cdot \left(c \cdot b\right) - t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
herbie shell --seed 2024329
(FPCore (x y z t a b c i j)
:name "Data.Colour.Matrix:determinant from colour-2.3.3, A"
:precision binary64
:alt
(! :herbie-platform default (if (< x -293938859355541/2000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2) (pow (* t i) 2))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i)))) (if (< x 32113527362226803/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (- (* (- (* b i) (* x a)) t) (- (* z (* c b)) (* j (- (* c a) (* y i))))) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2) (pow (* t i) 2))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i)))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))