
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 34 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* k z) (* j x)))
(t_2
(*
(fma (- (* y x) (* t z)) a (fma (- (* j t) (* k y)) y4 (* t_1 y0)))
b)))
(if (<= b -6.6e+67)
t_2
(if (<= b -4.8e-133)
(*
(fma
(- (* y3 z) (* y2 x))
a
(fma (- (* y2 k) (* y3 j)) y4 (* (- (* j x) (* k z)) i)))
y1)
(if (<= b -4.4e-200)
(* (* (fma -1.0 (* y5 k) (* c x)) y0) y2)
(if (<= b 2.2e-206)
(* (* (- z) y3) (fma c y0 (* (- a) y1)))
(if (<= b 3.1e-59)
(*
(fma
(- (* y5 i) (* y4 b))
k
(fma (- (* b a) (* i c)) x (* (- (* y4 c) (* y5 a)) y3)))
y)
(if (<= b 1.5e+16)
(*
(fma
(- (* y3 j) (* y2 k))
y5
(fma c (- (* y2 x) (* y3 z)) (* t_1 b)))
y0)
t_2))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * z) - (j * x);
double t_2 = fma(((y * x) - (t * z)), a, fma(((j * t) - (k * y)), y4, (t_1 * y0))) * b;
double tmp;
if (b <= -6.6e+67) {
tmp = t_2;
} else if (b <= -4.8e-133) {
tmp = fma(((y3 * z) - (y2 * x)), a, fma(((y2 * k) - (y3 * j)), y4, (((j * x) - (k * z)) * i))) * y1;
} else if (b <= -4.4e-200) {
tmp = (fma(-1.0, (y5 * k), (c * x)) * y0) * y2;
} else if (b <= 2.2e-206) {
tmp = (-z * y3) * fma(c, y0, (-a * y1));
} else if (b <= 3.1e-59) {
tmp = fma(((y5 * i) - (y4 * b)), k, fma(((b * a) - (i * c)), x, (((y4 * c) - (y5 * a)) * y3))) * y;
} else if (b <= 1.5e+16) {
tmp = fma(((y3 * j) - (y2 * k)), y5, fma(c, ((y2 * x) - (y3 * z)), (t_1 * b))) * y0;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * z) - Float64(j * x)) t_2 = Float64(fma(Float64(Float64(y * x) - Float64(t * z)), a, fma(Float64(Float64(j * t) - Float64(k * y)), y4, Float64(t_1 * y0))) * b) tmp = 0.0 if (b <= -6.6e+67) tmp = t_2; elseif (b <= -4.8e-133) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), a, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y4, Float64(Float64(Float64(j * x) - Float64(k * z)) * i))) * y1); elseif (b <= -4.4e-200) tmp = Float64(Float64(fma(-1.0, Float64(y5 * k), Float64(c * x)) * y0) * y2); elseif (b <= 2.2e-206) tmp = Float64(Float64(Float64(-z) * y3) * fma(c, y0, Float64(Float64(-a) * y1))); elseif (b <= 3.1e-59) tmp = Float64(fma(Float64(Float64(y5 * i) - Float64(y4 * b)), k, fma(Float64(Float64(b * a) - Float64(i * c)), x, Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y3))) * y); elseif (b <= 1.5e+16) tmp = Float64(fma(Float64(Float64(y3 * j) - Float64(y2 * k)), y5, fma(c, Float64(Float64(y2 * x) - Float64(y3 * z)), Float64(t_1 * b))) * y0); else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * z), $MachinePrecision] - N[(j * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * y4 + N[(t$95$1 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -6.6e+67], t$95$2, If[LessEqual[b, -4.8e-133], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[b, -4.4e-200], N[(N[(N[(-1.0 * N[(y5 * k), $MachinePrecision] + N[(c * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[b, 2.2e-206], N[(N[((-z) * y3), $MachinePrecision] * N[(c * y0 + N[((-a) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.1e-59], N[(N[(N[(N[(y5 * i), $MachinePrecision] - N[(y4 * b), $MachinePrecision]), $MachinePrecision] * k + N[(N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision] * x + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[b, 1.5e+16], N[(N[(N[(N[(y3 * j), $MachinePrecision] - N[(y2 * k), $MachinePrecision]), $MachinePrecision] * y5 + N[(c * N[(N[(y2 * x), $MachinePrecision] - N[(y3 * z), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision], t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot z - j \cdot x\\
t_2 := \mathsf{fma}\left(y \cdot x - t \cdot z, a, \mathsf{fma}\left(j \cdot t - k \cdot y, y4, t\_1 \cdot y0\right)\right) \cdot b\\
\mathbf{if}\;b \leq -6.6 \cdot 10^{+67}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq -4.8 \cdot 10^{-133}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, a, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y4, \left(j \cdot x - k \cdot z\right) \cdot i\right)\right) \cdot y1\\
\mathbf{elif}\;b \leq -4.4 \cdot 10^{-200}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y5 \cdot k, c \cdot x\right) \cdot y0\right) \cdot y2\\
\mathbf{elif}\;b \leq 2.2 \cdot 10^{-206}:\\
\;\;\;\;\left(\left(-z\right) \cdot y3\right) \cdot \mathsf{fma}\left(c, y0, \left(-a\right) \cdot y1\right)\\
\mathbf{elif}\;b \leq 3.1 \cdot 10^{-59}:\\
\;\;\;\;\mathsf{fma}\left(y5 \cdot i - y4 \cdot b, k, \mathsf{fma}\left(b \cdot a - i \cdot c, x, \left(y4 \cdot c - y5 \cdot a\right) \cdot y3\right)\right) \cdot y\\
\mathbf{elif}\;b \leq 1.5 \cdot 10^{+16}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot j - y2 \cdot k, y5, \mathsf{fma}\left(c, y2 \cdot x - y3 \cdot z, t\_1 \cdot b\right)\right) \cdot y0\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -6.6000000000000006e67 or 1.5e16 < b Initial program 22.2%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites65.2%
if -6.6000000000000006e67 < b < -4.8e-133Initial program 33.5%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites58.0%
if -4.8e-133 < b < -4.40000000000000027e-200Initial program 12.5%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.0%
Taylor expanded in y0 around inf
Applied rewrites87.5%
if -4.40000000000000027e-200 < b < 2.1999999999999999e-206Initial program 35.9%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites51.8%
Taylor expanded in z around inf
Applied rewrites52.0%
if 2.1999999999999999e-206 < b < 3.09999999999999999e-59Initial program 41.7%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites59.4%
if 3.09999999999999999e-59 < b < 1.5e16Initial program 20.0%
Taylor expanded in y0 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites67.3%
Final simplification62.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y x) (* t z)))
(t_2
(-
(-
(-
(-
(-
(* (- (* y1 i) (* y0 b)) (- (* j x) (* k z)))
(* (- (* i c) (* b a)) t_1))
(* (- (* y1 a) (* y0 c)) (- (* y2 x) (* y3 z))))
(* (- (* k y) (* j t)) (- (* y4 b) (* y5 i))))
(* (- (* y5 a) (* y4 c)) (- (* y3 y) (* y2 t))))
(* (- (* y3 j) (* y2 k)) (- (* y4 y1) (* y5 y0))))))
(if (<= t_2 INFINITY)
t_2
(*
(fma t_1 a (fma (- (* j t) (* k y)) y4 (* (- (* k z) (* j x)) y0)))
b))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * x) - (t * z);
double t_2 = (((((((y1 * i) - (y0 * b)) * ((j * x) - (k * z))) - (((i * c) - (b * a)) * t_1)) - (((y1 * a) - (y0 * c)) * ((y2 * x) - (y3 * z)))) - (((k * y) - (j * t)) * ((y4 * b) - (y5 * i)))) - (((y5 * a) - (y4 * c)) * ((y3 * y) - (y2 * t)))) - (((y3 * j) - (y2 * k)) * ((y4 * y1) - (y5 * y0)));
double tmp;
if (t_2 <= ((double) INFINITY)) {
tmp = t_2;
} else {
tmp = fma(t_1, a, fma(((j * t) - (k * y)), y4, (((k * z) - (j * x)) * y0))) * b;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y * x) - Float64(t * z)) t_2 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(y1 * i) - Float64(y0 * b)) * Float64(Float64(j * x) - Float64(k * z))) - Float64(Float64(Float64(i * c) - Float64(b * a)) * t_1)) - Float64(Float64(Float64(y1 * a) - Float64(y0 * c)) * Float64(Float64(y2 * x) - Float64(y3 * z)))) - Float64(Float64(Float64(k * y) - Float64(j * t)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(y5 * a) - Float64(y4 * c)) * Float64(Float64(y3 * y) - Float64(y2 * t)))) - Float64(Float64(Float64(y3 * j) - Float64(y2 * k)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) tmp = 0.0 if (t_2 <= Inf) tmp = t_2; else tmp = Float64(fma(t_1, a, fma(Float64(Float64(j * t) - Float64(k * y)), y4, Float64(Float64(Float64(k * z) - Float64(j * x)) * y0))) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(N[(N[(N[(N[(y1 * i), $MachinePrecision] - N[(y0 * b), $MachinePrecision]), $MachinePrecision] * N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(i * c), $MachinePrecision] - N[(b * a), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y1 * a), $MachinePrecision] - N[(y0 * c), $MachinePrecision]), $MachinePrecision] * N[(N[(y2 * x), $MachinePrecision] - N[(y3 * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(k * y), $MachinePrecision] - N[(j * t), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y5 * a), $MachinePrecision] - N[(y4 * c), $MachinePrecision]), $MachinePrecision] * N[(N[(y3 * y), $MachinePrecision] - N[(y2 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y3 * j), $MachinePrecision] - N[(y2 * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, Infinity], t$95$2, N[(N[(t$95$1 * a + N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(k * z), $MachinePrecision] - N[(j * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot x - t \cdot z\\
t_2 := \left(\left(\left(\left(\left(y1 \cdot i - y0 \cdot b\right) \cdot \left(j \cdot x - k \cdot z\right) - \left(i \cdot c - b \cdot a\right) \cdot t\_1\right) - \left(y1 \cdot a - y0 \cdot c\right) \cdot \left(y2 \cdot x - y3 \cdot z\right)\right) - \left(k \cdot y - j \cdot t\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(y5 \cdot a - y4 \cdot c\right) \cdot \left(y3 \cdot y - y2 \cdot t\right)\right) - \left(y3 \cdot j - y2 \cdot k\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{if}\;t\_2 \leq \infty:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, a, \mathsf{fma}\left(j \cdot t - k \cdot y, y4, \left(k \cdot z - j \cdot x\right) \cdot y0\right)\right) \cdot b\\
\end{array}
\end{array}
if (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) < +inf.0Initial program 89.3%
if +inf.0 < (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) Initial program 0.0%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites46.9%
Final simplification60.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
(fma
(- (* y x) (* t z))
a
(fma (- (* j t) (* k y)) y4 (* (- (* k z) (* j x)) y0)))
b)))
(if (<= b -6.6e+67)
t_1
(if (<= b -4.8e-133)
(*
(fma
(- (* y3 z) (* y2 x))
a
(fma (- (* y2 k) (* y3 j)) y4 (* (- (* j x) (* k z)) i)))
y1)
(if (<= b -4.4e-200)
(* (* (fma -1.0 (* y5 k) (* c x)) y0) y2)
(if (<= b 2.2e-206)
(* (* (- z) y3) (fma c y0 (* (- a) y1)))
(if (<= b 4.6e-37)
(*
(fma
(- (* y5 i) (* y4 b))
k
(fma (- (* b a) (* i c)) x (* (- (* y4 c) (* y5 a)) y3)))
y)
t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(((y * x) - (t * z)), a, fma(((j * t) - (k * y)), y4, (((k * z) - (j * x)) * y0))) * b;
double tmp;
if (b <= -6.6e+67) {
tmp = t_1;
} else if (b <= -4.8e-133) {
tmp = fma(((y3 * z) - (y2 * x)), a, fma(((y2 * k) - (y3 * j)), y4, (((j * x) - (k * z)) * i))) * y1;
} else if (b <= -4.4e-200) {
tmp = (fma(-1.0, (y5 * k), (c * x)) * y0) * y2;
} else if (b <= 2.2e-206) {
tmp = (-z * y3) * fma(c, y0, (-a * y1));
} else if (b <= 4.6e-37) {
tmp = fma(((y5 * i) - (y4 * b)), k, fma(((b * a) - (i * c)), x, (((y4 * c) - (y5 * a)) * y3))) * y;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(fma(Float64(Float64(y * x) - Float64(t * z)), a, fma(Float64(Float64(j * t) - Float64(k * y)), y4, Float64(Float64(Float64(k * z) - Float64(j * x)) * y0))) * b) tmp = 0.0 if (b <= -6.6e+67) tmp = t_1; elseif (b <= -4.8e-133) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), a, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y4, Float64(Float64(Float64(j * x) - Float64(k * z)) * i))) * y1); elseif (b <= -4.4e-200) tmp = Float64(Float64(fma(-1.0, Float64(y5 * k), Float64(c * x)) * y0) * y2); elseif (b <= 2.2e-206) tmp = Float64(Float64(Float64(-z) * y3) * fma(c, y0, Float64(Float64(-a) * y1))); elseif (b <= 4.6e-37) tmp = Float64(fma(Float64(Float64(y5 * i) - Float64(y4 * b)), k, fma(Float64(Float64(b * a) - Float64(i * c)), x, Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y3))) * y); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(k * z), $MachinePrecision] - N[(j * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -6.6e+67], t$95$1, If[LessEqual[b, -4.8e-133], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[b, -4.4e-200], N[(N[(N[(-1.0 * N[(y5 * k), $MachinePrecision] + N[(c * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[b, 2.2e-206], N[(N[((-z) * y3), $MachinePrecision] * N[(c * y0 + N[((-a) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.6e-37], N[(N[(N[(N[(y5 * i), $MachinePrecision] - N[(y4 * b), $MachinePrecision]), $MachinePrecision] * k + N[(N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision] * x + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y \cdot x - t \cdot z, a, \mathsf{fma}\left(j \cdot t - k \cdot y, y4, \left(k \cdot z - j \cdot x\right) \cdot y0\right)\right) \cdot b\\
\mathbf{if}\;b \leq -6.6 \cdot 10^{+67}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -4.8 \cdot 10^{-133}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, a, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y4, \left(j \cdot x - k \cdot z\right) \cdot i\right)\right) \cdot y1\\
\mathbf{elif}\;b \leq -4.4 \cdot 10^{-200}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y5 \cdot k, c \cdot x\right) \cdot y0\right) \cdot y2\\
\mathbf{elif}\;b \leq 2.2 \cdot 10^{-206}:\\
\;\;\;\;\left(\left(-z\right) \cdot y3\right) \cdot \mathsf{fma}\left(c, y0, \left(-a\right) \cdot y1\right)\\
\mathbf{elif}\;b \leq 4.6 \cdot 10^{-37}:\\
\;\;\;\;\mathsf{fma}\left(y5 \cdot i - y4 \cdot b, k, \mathsf{fma}\left(b \cdot a - i \cdot c, x, \left(y4 \cdot c - y5 \cdot a\right) \cdot y3\right)\right) \cdot y\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -6.6000000000000006e67 or 4.5999999999999999e-37 < b Initial program 21.1%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites62.9%
if -6.6000000000000006e67 < b < -4.8e-133Initial program 33.5%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites58.0%
if -4.8e-133 < b < -4.40000000000000027e-200Initial program 12.5%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.0%
Taylor expanded in y0 around inf
Applied rewrites87.5%
if -4.40000000000000027e-200 < b < 2.1999999999999999e-206Initial program 35.9%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites51.8%
Taylor expanded in z around inf
Applied rewrites52.0%
if 2.1999999999999999e-206 < b < 4.5999999999999999e-37Initial program 42.7%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites55.3%
Final simplification60.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y5 i) (* y4 b))) (t_2 (- (* b a) (* i c))))
(if (<= k -4.5e+173)
(*
(fma t_1 y (fma (- (* y4 y1) (* y5 y0)) y2 (* (- (* y0 b) (* y1 i)) z)))
k)
(if (<= k -1.9e+42)
(*
(fma t_2 y (fma (- (* y0 c) (* y1 a)) y2 (* (- (* y1 i) (* y0 b)) j)))
x)
(if (<= k -3.5e+17)
(* (* (fma (- x) y0 (* y4 t)) j) b)
(if (<= k 2.9e-223)
(*
(fma
(- (* y3 z) (* y2 x))
y1
(fma (- (* y x) (* t z)) b (* (- (* y2 t) (* y3 y)) y5)))
a)
(if (<= k 1e+245)
(* (fma t_1 k (fma t_2 x (* (- (* y4 c) (* y5 a)) y3))) y)
(* (* (fma j x (* (- k) z)) (- y0)) b))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y5 * i) - (y4 * b);
double t_2 = (b * a) - (i * c);
double tmp;
if (k <= -4.5e+173) {
tmp = fma(t_1, y, fma(((y4 * y1) - (y5 * y0)), y2, (((y0 * b) - (y1 * i)) * z))) * k;
} else if (k <= -1.9e+42) {
tmp = fma(t_2, y, fma(((y0 * c) - (y1 * a)), y2, (((y1 * i) - (y0 * b)) * j))) * x;
} else if (k <= -3.5e+17) {
tmp = (fma(-x, y0, (y4 * t)) * j) * b;
} else if (k <= 2.9e-223) {
tmp = fma(((y3 * z) - (y2 * x)), y1, fma(((y * x) - (t * z)), b, (((y2 * t) - (y3 * y)) * y5))) * a;
} else if (k <= 1e+245) {
tmp = fma(t_1, k, fma(t_2, x, (((y4 * c) - (y5 * a)) * y3))) * y;
} else {
tmp = (fma(j, x, (-k * z)) * -y0) * b;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y5 * i) - Float64(y4 * b)) t_2 = Float64(Float64(b * a) - Float64(i * c)) tmp = 0.0 if (k <= -4.5e+173) tmp = Float64(fma(t_1, y, fma(Float64(Float64(y4 * y1) - Float64(y5 * y0)), y2, Float64(Float64(Float64(y0 * b) - Float64(y1 * i)) * z))) * k); elseif (k <= -1.9e+42) tmp = Float64(fma(t_2, y, fma(Float64(Float64(y0 * c) - Float64(y1 * a)), y2, Float64(Float64(Float64(y1 * i) - Float64(y0 * b)) * j))) * x); elseif (k <= -3.5e+17) tmp = Float64(Float64(fma(Float64(-x), y0, Float64(y4 * t)) * j) * b); elseif (k <= 2.9e-223) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), y1, fma(Float64(Float64(y * x) - Float64(t * z)), b, Float64(Float64(Float64(y2 * t) - Float64(y3 * y)) * y5))) * a); elseif (k <= 1e+245) tmp = Float64(fma(t_1, k, fma(t_2, x, Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y3))) * y); else tmp = Float64(Float64(fma(j, x, Float64(Float64(-k) * z)) * Float64(-y0)) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y5 * i), $MachinePrecision] - N[(y4 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -4.5e+173], N[(N[(t$95$1 * y + N[(N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision] * y2 + N[(N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * k), $MachinePrecision], If[LessEqual[k, -1.9e+42], N[(N[(t$95$2 * y + N[(N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision] * y2 + N[(N[(N[(y1 * i), $MachinePrecision] - N[(y0 * b), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[k, -3.5e+17], N[(N[(N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[k, 2.9e-223], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * y1 + N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[k, 1e+245], N[(N[(t$95$1 * k + N[(t$95$2 * x + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], N[(N[(N[(j * x + N[((-k) * z), $MachinePrecision]), $MachinePrecision] * (-y0)), $MachinePrecision] * b), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y5 \cdot i - y4 \cdot b\\
t_2 := b \cdot a - i \cdot c\\
\mathbf{if}\;k \leq -4.5 \cdot 10^{+173}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, y, \mathsf{fma}\left(y4 \cdot y1 - y5 \cdot y0, y2, \left(y0 \cdot b - y1 \cdot i\right) \cdot z\right)\right) \cdot k\\
\mathbf{elif}\;k \leq -1.9 \cdot 10^{+42}:\\
\;\;\;\;\mathsf{fma}\left(t\_2, y, \mathsf{fma}\left(y0 \cdot c - y1 \cdot a, y2, \left(y1 \cdot i - y0 \cdot b\right) \cdot j\right)\right) \cdot x\\
\mathbf{elif}\;k \leq -3.5 \cdot 10^{+17}:\\
\;\;\;\;\left(\mathsf{fma}\left(-x, y0, y4 \cdot t\right) \cdot j\right) \cdot b\\
\mathbf{elif}\;k \leq 2.9 \cdot 10^{-223}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, y1, \mathsf{fma}\left(y \cdot x - t \cdot z, b, \left(y2 \cdot t - y3 \cdot y\right) \cdot y5\right)\right) \cdot a\\
\mathbf{elif}\;k \leq 10^{+245}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, k, \mathsf{fma}\left(t\_2, x, \left(y4 \cdot c - y5 \cdot a\right) \cdot y3\right)\right) \cdot y\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(j, x, \left(-k\right) \cdot z\right) \cdot \left(-y0\right)\right) \cdot b\\
\end{array}
\end{array}
if k < -4.5000000000000002e173Initial program 6.7%
Taylor expanded in k around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites60.2%
if -4.5000000000000002e173 < k < -1.8999999999999999e42Initial program 19.2%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites65.6%
if -1.8999999999999999e42 < k < -3.5e17Initial program 40.0%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites40.3%
Taylor expanded in j around inf
Applied rewrites80.3%
if -3.5e17 < k < 2.9e-223Initial program 35.4%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites57.2%
if 2.9e-223 < k < 1.00000000000000004e245Initial program 28.6%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.5%
if 1.00000000000000004e245 < k Initial program 33.1%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.9%
Taylor expanded in y0 around inf
Applied rewrites67.2%
Final simplification57.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y5 i) (* y4 b))) (t_2 (- (* b a) (* i c))))
(if (<= k -2.3e+148)
(*
(fma t_1 y (fma (- (* y4 y1) (* y5 y0)) y2 (* (- (* y0 b) (* y1 i)) z)))
k)
(if (<= k -8e+46)
(* (fma t_2 y (* (* y2 y0) c)) x)
(if (<= k -3.5e+17)
(* (* (fma (- x) y0 (* y4 t)) j) b)
(if (<= k 2.9e-223)
(*
(fma
(- (* y3 z) (* y2 x))
y1
(fma (- (* y x) (* t z)) b (* (- (* y2 t) (* y3 y)) y5)))
a)
(if (<= k 1e+245)
(* (fma t_1 k (fma t_2 x (* (- (* y4 c) (* y5 a)) y3))) y)
(* (* (fma j x (* (- k) z)) (- y0)) b))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y5 * i) - (y4 * b);
double t_2 = (b * a) - (i * c);
double tmp;
if (k <= -2.3e+148) {
tmp = fma(t_1, y, fma(((y4 * y1) - (y5 * y0)), y2, (((y0 * b) - (y1 * i)) * z))) * k;
} else if (k <= -8e+46) {
tmp = fma(t_2, y, ((y2 * y0) * c)) * x;
} else if (k <= -3.5e+17) {
tmp = (fma(-x, y0, (y4 * t)) * j) * b;
} else if (k <= 2.9e-223) {
tmp = fma(((y3 * z) - (y2 * x)), y1, fma(((y * x) - (t * z)), b, (((y2 * t) - (y3 * y)) * y5))) * a;
} else if (k <= 1e+245) {
tmp = fma(t_1, k, fma(t_2, x, (((y4 * c) - (y5 * a)) * y3))) * y;
} else {
tmp = (fma(j, x, (-k * z)) * -y0) * b;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y5 * i) - Float64(y4 * b)) t_2 = Float64(Float64(b * a) - Float64(i * c)) tmp = 0.0 if (k <= -2.3e+148) tmp = Float64(fma(t_1, y, fma(Float64(Float64(y4 * y1) - Float64(y5 * y0)), y2, Float64(Float64(Float64(y0 * b) - Float64(y1 * i)) * z))) * k); elseif (k <= -8e+46) tmp = Float64(fma(t_2, y, Float64(Float64(y2 * y0) * c)) * x); elseif (k <= -3.5e+17) tmp = Float64(Float64(fma(Float64(-x), y0, Float64(y4 * t)) * j) * b); elseif (k <= 2.9e-223) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), y1, fma(Float64(Float64(y * x) - Float64(t * z)), b, Float64(Float64(Float64(y2 * t) - Float64(y3 * y)) * y5))) * a); elseif (k <= 1e+245) tmp = Float64(fma(t_1, k, fma(t_2, x, Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y3))) * y); else tmp = Float64(Float64(fma(j, x, Float64(Float64(-k) * z)) * Float64(-y0)) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y5 * i), $MachinePrecision] - N[(y4 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -2.3e+148], N[(N[(t$95$1 * y + N[(N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision] * y2 + N[(N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * k), $MachinePrecision], If[LessEqual[k, -8e+46], N[(N[(t$95$2 * y + N[(N[(y2 * y0), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[k, -3.5e+17], N[(N[(N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[k, 2.9e-223], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * y1 + N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[k, 1e+245], N[(N[(t$95$1 * k + N[(t$95$2 * x + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], N[(N[(N[(j * x + N[((-k) * z), $MachinePrecision]), $MachinePrecision] * (-y0)), $MachinePrecision] * b), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y5 \cdot i - y4 \cdot b\\
t_2 := b \cdot a - i \cdot c\\
\mathbf{if}\;k \leq -2.3 \cdot 10^{+148}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, y, \mathsf{fma}\left(y4 \cdot y1 - y5 \cdot y0, y2, \left(y0 \cdot b - y1 \cdot i\right) \cdot z\right)\right) \cdot k\\
\mathbf{elif}\;k \leq -8 \cdot 10^{+46}:\\
\;\;\;\;\mathsf{fma}\left(t\_2, y, \left(y2 \cdot y0\right) \cdot c\right) \cdot x\\
\mathbf{elif}\;k \leq -3.5 \cdot 10^{+17}:\\
\;\;\;\;\left(\mathsf{fma}\left(-x, y0, y4 \cdot t\right) \cdot j\right) \cdot b\\
\mathbf{elif}\;k \leq 2.9 \cdot 10^{-223}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, y1, \mathsf{fma}\left(y \cdot x - t \cdot z, b, \left(y2 \cdot t - y3 \cdot y\right) \cdot y5\right)\right) \cdot a\\
\mathbf{elif}\;k \leq 10^{+245}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, k, \mathsf{fma}\left(t\_2, x, \left(y4 \cdot c - y5 \cdot a\right) \cdot y3\right)\right) \cdot y\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(j, x, \left(-k\right) \cdot z\right) \cdot \left(-y0\right)\right) \cdot b\\
\end{array}
\end{array}
if k < -2.3000000000000001e148Initial program 6.3%
Taylor expanded in k around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites62.7%
if -2.3000000000000001e148 < k < -7.9999999999999999e46Initial program 20.8%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites62.7%
Taylor expanded in c around inf
Applied rewrites59.2%
if -7.9999999999999999e46 < k < -3.5e17Initial program 40.0%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites40.3%
Taylor expanded in j around inf
Applied rewrites80.3%
if -3.5e17 < k < 2.9e-223Initial program 35.4%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites57.2%
if 2.9e-223 < k < 1.00000000000000004e245Initial program 28.6%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.5%
if 1.00000000000000004e245 < k Initial program 33.1%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.9%
Taylor expanded in y0 around inf
Applied rewrites67.2%
Final simplification57.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
(fma
(- (* y3 z) (* y2 x))
a
(fma (- (* y2 k) (* y3 j)) y4 (* (- (* j x) (* k z)) i)))
y1))
(t_2 (* (* (fma t y2 (* (- y) y3)) y5) a)))
(if (<= y5 -1.3e+48)
t_2
(if (<= y5 2.7e-292)
t_1
(if (<= y5 5e-173)
(* (* (fma b y (* (- y2) y1)) x) a)
(if (<= y5 8e+99)
t_1
(if (<= y5 6.2e+235)
(* (* (fma c z (* (- j) y5)) y3) (- y0))
t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(((y3 * z) - (y2 * x)), a, fma(((y2 * k) - (y3 * j)), y4, (((j * x) - (k * z)) * i))) * y1;
double t_2 = (fma(t, y2, (-y * y3)) * y5) * a;
double tmp;
if (y5 <= -1.3e+48) {
tmp = t_2;
} else if (y5 <= 2.7e-292) {
tmp = t_1;
} else if (y5 <= 5e-173) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else if (y5 <= 8e+99) {
tmp = t_1;
} else if (y5 <= 6.2e+235) {
tmp = (fma(c, z, (-j * y5)) * y3) * -y0;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), a, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y4, Float64(Float64(Float64(j * x) - Float64(k * z)) * i))) * y1) t_2 = Float64(Float64(fma(t, y2, Float64(Float64(-y) * y3)) * y5) * a) tmp = 0.0 if (y5 <= -1.3e+48) tmp = t_2; elseif (y5 <= 2.7e-292) tmp = t_1; elseif (y5 <= 5e-173) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); elseif (y5 <= 8e+99) tmp = t_1; elseif (y5 <= 6.2e+235) tmp = Float64(Float64(fma(c, z, Float64(Float64(-j) * y5)) * y3) * Float64(-y0)); else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y1), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(t * y2 + N[((-y) * y3), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[y5, -1.3e+48], t$95$2, If[LessEqual[y5, 2.7e-292], t$95$1, If[LessEqual[y5, 5e-173], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 8e+99], t$95$1, If[LessEqual[y5, 6.2e+235], N[(N[(N[(c * z + N[((-j) * y5), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision] * (-y0)), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y3 \cdot z - y2 \cdot x, a, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y4, \left(j \cdot x - k \cdot z\right) \cdot i\right)\right) \cdot y1\\
t_2 := \left(\mathsf{fma}\left(t, y2, \left(-y\right) \cdot y3\right) \cdot y5\right) \cdot a\\
\mathbf{if}\;y5 \leq -1.3 \cdot 10^{+48}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y5 \leq 2.7 \cdot 10^{-292}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 5 \cdot 10^{-173}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{elif}\;y5 \leq 8 \cdot 10^{+99}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 6.2 \cdot 10^{+235}:\\
\;\;\;\;\left(\mathsf{fma}\left(c, z, \left(-j\right) \cdot y5\right) \cdot y3\right) \cdot \left(-y0\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y5 < -1.29999999999999998e48 or 6.20000000000000022e235 < y5 Initial program 19.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.9%
Taylor expanded in y5 around inf
Applied rewrites58.2%
if -1.29999999999999998e48 < y5 < 2.6999999999999999e-292 or 5.0000000000000002e-173 < y5 < 7.9999999999999997e99Initial program 34.8%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.2%
if 2.6999999999999999e-292 < y5 < 5.0000000000000002e-173Initial program 19.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.6%
Taylor expanded in x around inf
Applied rewrites54.8%
if 7.9999999999999997e99 < y5 < 6.20000000000000022e235Initial program 28.2%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites55.6%
Taylor expanded in c around inf
Applied rewrites33.9%
Taylor expanded in y0 around -inf
Applied rewrites65.2%
Final simplification52.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
(fma
(- (* y x) (* t z))
a
(fma (- (* j t) (* k y)) y4 (* (- (* k z) (* j x)) y0)))
b)))
(if (<= b -6.6e+67)
t_1
(if (<= b -8.7e-100)
(*
(fma
(- (* y3 z) (* y2 x))
a
(fma (- (* y2 k) (* y3 j)) y4 (* (- (* j x) (* k z)) i)))
y1)
(if (<= b 7.6e+21)
(*
(fma
(- (* y5 y0) (* y4 y1))
j
(fma (- z) (- (* y0 c) (* y1 a)) (* (- (* y4 c) (* y5 a)) y)))
y3)
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(((y * x) - (t * z)), a, fma(((j * t) - (k * y)), y4, (((k * z) - (j * x)) * y0))) * b;
double tmp;
if (b <= -6.6e+67) {
tmp = t_1;
} else if (b <= -8.7e-100) {
tmp = fma(((y3 * z) - (y2 * x)), a, fma(((y2 * k) - (y3 * j)), y4, (((j * x) - (k * z)) * i))) * y1;
} else if (b <= 7.6e+21) {
tmp = fma(((y5 * y0) - (y4 * y1)), j, fma(-z, ((y0 * c) - (y1 * a)), (((y4 * c) - (y5 * a)) * y))) * y3;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(fma(Float64(Float64(y * x) - Float64(t * z)), a, fma(Float64(Float64(j * t) - Float64(k * y)), y4, Float64(Float64(Float64(k * z) - Float64(j * x)) * y0))) * b) tmp = 0.0 if (b <= -6.6e+67) tmp = t_1; elseif (b <= -8.7e-100) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), a, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y4, Float64(Float64(Float64(j * x) - Float64(k * z)) * i))) * y1); elseif (b <= 7.6e+21) tmp = Float64(fma(Float64(Float64(y5 * y0) - Float64(y4 * y1)), j, fma(Float64(-z), Float64(Float64(y0 * c) - Float64(y1 * a)), Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y))) * y3); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(k * z), $MachinePrecision] - N[(j * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -6.6e+67], t$95$1, If[LessEqual[b, -8.7e-100], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * a + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[b, 7.6e+21], N[(N[(N[(N[(y5 * y0), $MachinePrecision] - N[(y4 * y1), $MachinePrecision]), $MachinePrecision] * j + N[((-z) * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y \cdot x - t \cdot z, a, \mathsf{fma}\left(j \cdot t - k \cdot y, y4, \left(k \cdot z - j \cdot x\right) \cdot y0\right)\right) \cdot b\\
\mathbf{if}\;b \leq -6.6 \cdot 10^{+67}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -8.7 \cdot 10^{-100}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, a, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y4, \left(j \cdot x - k \cdot z\right) \cdot i\right)\right) \cdot y1\\
\mathbf{elif}\;b \leq 7.6 \cdot 10^{+21}:\\
\;\;\;\;\mathsf{fma}\left(y5 \cdot y0 - y4 \cdot y1, j, \mathsf{fma}\left(-z, y0 \cdot c - y1 \cdot a, \left(y4 \cdot c - y5 \cdot a\right) \cdot y\right)\right) \cdot y3\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -6.6000000000000006e67 or 7.6e21 < b Initial program 22.5%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.2%
if -6.6000000000000006e67 < b < -8.69999999999999977e-100Initial program 35.5%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites59.7%
if -8.69999999999999977e-100 < b < 7.6e21Initial program 31.8%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites53.2%
Final simplification60.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
(fma
(- (* j t) (* k y))
b
(fma (- (* y2 k) (* y3 j)) y1 (* (- (* y3 y) (* y2 t)) c)))
y4)))
(if (<= y4 -5.3e+42)
t_1
(if (<= y4 6.8e+64)
(*
(fma
(- (* y3 z) (* y2 x))
y1
(fma (- (* y x) (* t z)) b (* (- (* y2 t) (* y3 y)) y5)))
a)
(if (<= y4 9e+229)
(*
(fma
(- (* b a) (* i c))
y
(fma (- (* y0 c) (* y1 a)) y2 (* (- (* y1 i) (* y0 b)) j)))
x)
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(((j * t) - (k * y)), b, fma(((y2 * k) - (y3 * j)), y1, (((y3 * y) - (y2 * t)) * c))) * y4;
double tmp;
if (y4 <= -5.3e+42) {
tmp = t_1;
} else if (y4 <= 6.8e+64) {
tmp = fma(((y3 * z) - (y2 * x)), y1, fma(((y * x) - (t * z)), b, (((y2 * t) - (y3 * y)) * y5))) * a;
} else if (y4 <= 9e+229) {
tmp = fma(((b * a) - (i * c)), y, fma(((y0 * c) - (y1 * a)), y2, (((y1 * i) - (y0 * b)) * j))) * x;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(fma(Float64(Float64(j * t) - Float64(k * y)), b, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y1, Float64(Float64(Float64(y3 * y) - Float64(y2 * t)) * c))) * y4) tmp = 0.0 if (y4 <= -5.3e+42) tmp = t_1; elseif (y4 <= 6.8e+64) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), y1, fma(Float64(Float64(y * x) - Float64(t * z)), b, Float64(Float64(Float64(y2 * t) - Float64(y3 * y)) * y5))) * a); elseif (y4 <= 9e+229) tmp = Float64(fma(Float64(Float64(b * a) - Float64(i * c)), y, fma(Float64(Float64(y0 * c) - Float64(y1 * a)), y2, Float64(Float64(Float64(y1 * i) - Float64(y0 * b)) * j))) * x); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y1 + N[(N[(N[(y3 * y), $MachinePrecision] - N[(y2 * t), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y4), $MachinePrecision]}, If[LessEqual[y4, -5.3e+42], t$95$1, If[LessEqual[y4, 6.8e+64], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * y1 + N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y4, 9e+229], N[(N[(N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision] * y + N[(N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision] * y2 + N[(N[(N[(y1 * i), $MachinePrecision] - N[(y0 * b), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(j \cdot t - k \cdot y, b, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y1, \left(y3 \cdot y - y2 \cdot t\right) \cdot c\right)\right) \cdot y4\\
\mathbf{if}\;y4 \leq -5.3 \cdot 10^{+42}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y4 \leq 6.8 \cdot 10^{+64}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, y1, \mathsf{fma}\left(y \cdot x - t \cdot z, b, \left(y2 \cdot t - y3 \cdot y\right) \cdot y5\right)\right) \cdot a\\
\mathbf{elif}\;y4 \leq 9 \cdot 10^{+229}:\\
\;\;\;\;\mathsf{fma}\left(b \cdot a - i \cdot c, y, \mathsf{fma}\left(y0 \cdot c - y1 \cdot a, y2, \left(y1 \cdot i - y0 \cdot b\right) \cdot j\right)\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y4 < -5.30000000000000028e42 or 9.00000000000000047e229 < y4 Initial program 21.7%
Taylor expanded in y4 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites70.4%
if -5.30000000000000028e42 < y4 < 6.8000000000000003e64Initial program 34.5%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.7%
if 6.8000000000000003e64 < y4 < 9.00000000000000047e229Initial program 12.1%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites58.0%
Final simplification55.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= k -2.15e+181)
(* (* (fma -1.0 (* y0 k) (* a t)) y5) y2)
(if (<= k 2.9e-223)
(*
(fma
(- (* y3 z) (* y2 x))
y1
(fma (- (* y x) (* t z)) b (* (- (* y2 t) (* y3 y)) y5)))
a)
(if (<= k 1e+245)
(*
(fma
(- (* y5 i) (* y4 b))
k
(fma (- (* b a) (* i c)) x (* (- (* y4 c) (* y5 a)) y3)))
y)
(* (* (fma j x (* (- k) z)) (- y0)) b)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (k <= -2.15e+181) {
tmp = (fma(-1.0, (y0 * k), (a * t)) * y5) * y2;
} else if (k <= 2.9e-223) {
tmp = fma(((y3 * z) - (y2 * x)), y1, fma(((y * x) - (t * z)), b, (((y2 * t) - (y3 * y)) * y5))) * a;
} else if (k <= 1e+245) {
tmp = fma(((y5 * i) - (y4 * b)), k, fma(((b * a) - (i * c)), x, (((y4 * c) - (y5 * a)) * y3))) * y;
} else {
tmp = (fma(j, x, (-k * z)) * -y0) * b;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (k <= -2.15e+181) tmp = Float64(Float64(fma(-1.0, Float64(y0 * k), Float64(a * t)) * y5) * y2); elseif (k <= 2.9e-223) tmp = Float64(fma(Float64(Float64(y3 * z) - Float64(y2 * x)), y1, fma(Float64(Float64(y * x) - Float64(t * z)), b, Float64(Float64(Float64(y2 * t) - Float64(y3 * y)) * y5))) * a); elseif (k <= 1e+245) tmp = Float64(fma(Float64(Float64(y5 * i) - Float64(y4 * b)), k, fma(Float64(Float64(b * a) - Float64(i * c)), x, Float64(Float64(Float64(y4 * c) - Float64(y5 * a)) * y3))) * y); else tmp = Float64(Float64(fma(j, x, Float64(Float64(-k) * z)) * Float64(-y0)) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[k, -2.15e+181], N[(N[(N[(-1.0 * N[(y0 * k), $MachinePrecision] + N[(a * t), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[k, 2.9e-223], N[(N[(N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision] * y1 + N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[k, 1e+245], N[(N[(N[(N[(y5 * i), $MachinePrecision] - N[(y4 * b), $MachinePrecision]), $MachinePrecision] * k + N[(N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision] * x + N[(N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision] * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], N[(N[(N[(j * x + N[((-k) * z), $MachinePrecision]), $MachinePrecision] * (-y0)), $MachinePrecision] * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq -2.15 \cdot 10^{+181}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y0 \cdot k, a \cdot t\right) \cdot y5\right) \cdot y2\\
\mathbf{elif}\;k \leq 2.9 \cdot 10^{-223}:\\
\;\;\;\;\mathsf{fma}\left(y3 \cdot z - y2 \cdot x, y1, \mathsf{fma}\left(y \cdot x - t \cdot z, b, \left(y2 \cdot t - y3 \cdot y\right) \cdot y5\right)\right) \cdot a\\
\mathbf{elif}\;k \leq 10^{+245}:\\
\;\;\;\;\mathsf{fma}\left(y5 \cdot i - y4 \cdot b, k, \mathsf{fma}\left(b \cdot a - i \cdot c, x, \left(y4 \cdot c - y5 \cdot a\right) \cdot y3\right)\right) \cdot y\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(j, x, \left(-k\right) \cdot z\right) \cdot \left(-y0\right)\right) \cdot b\\
\end{array}
\end{array}
if k < -2.14999999999999986e181Initial program 7.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.5%
Taylor expanded in y5 around inf
Applied rewrites61.3%
if -2.14999999999999986e181 < k < 2.9e-223Initial program 31.6%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.4%
if 2.9e-223 < k < 1.00000000000000004e245Initial program 28.6%
Taylor expanded in y around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.5%
if 1.00000000000000004e245 < k Initial program 33.1%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.9%
Taylor expanded in y0 around inf
Applied rewrites67.2%
Final simplification53.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y3 z) (* y2 x))))
(if (<= k -2.15e+181)
(* (* (fma -1.0 (* y0 k) (* a t)) y5) y2)
(if (<= k 1.06e-60)
(*
(fma t_1 y1 (fma (- (* y x) (* t z)) b (* (- (* y2 t) (* y3 y)) y5)))
a)
(if (<= k 1.95e+103)
(*
(fma t_1 a (fma (- (* y2 k) (* y3 j)) y4 (* (- (* j x) (* k z)) i)))
y1)
(* (* (fma j x (* (- k) z)) (- y0)) b))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y3 * z) - (y2 * x);
double tmp;
if (k <= -2.15e+181) {
tmp = (fma(-1.0, (y0 * k), (a * t)) * y5) * y2;
} else if (k <= 1.06e-60) {
tmp = fma(t_1, y1, fma(((y * x) - (t * z)), b, (((y2 * t) - (y3 * y)) * y5))) * a;
} else if (k <= 1.95e+103) {
tmp = fma(t_1, a, fma(((y2 * k) - (y3 * j)), y4, (((j * x) - (k * z)) * i))) * y1;
} else {
tmp = (fma(j, x, (-k * z)) * -y0) * b;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y3 * z) - Float64(y2 * x)) tmp = 0.0 if (k <= -2.15e+181) tmp = Float64(Float64(fma(-1.0, Float64(y0 * k), Float64(a * t)) * y5) * y2); elseif (k <= 1.06e-60) tmp = Float64(fma(t_1, y1, fma(Float64(Float64(y * x) - Float64(t * z)), b, Float64(Float64(Float64(y2 * t) - Float64(y3 * y)) * y5))) * a); elseif (k <= 1.95e+103) tmp = Float64(fma(t_1, a, fma(Float64(Float64(y2 * k) - Float64(y3 * j)), y4, Float64(Float64(Float64(j * x) - Float64(k * z)) * i))) * y1); else tmp = Float64(Float64(fma(j, x, Float64(Float64(-k) * z)) * Float64(-y0)) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y3 * z), $MachinePrecision] - N[(y2 * x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -2.15e+181], N[(N[(N[(-1.0 * N[(y0 * k), $MachinePrecision] + N[(a * t), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[k, 1.06e-60], N[(N[(t$95$1 * y1 + N[(N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision] * b + N[(N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[k, 1.95e+103], N[(N[(t$95$1 * a + N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * y4 + N[(N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * y1), $MachinePrecision], N[(N[(N[(j * x + N[((-k) * z), $MachinePrecision]), $MachinePrecision] * (-y0)), $MachinePrecision] * b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y3 \cdot z - y2 \cdot x\\
\mathbf{if}\;k \leq -2.15 \cdot 10^{+181}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y0 \cdot k, a \cdot t\right) \cdot y5\right) \cdot y2\\
\mathbf{elif}\;k \leq 1.06 \cdot 10^{-60}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, y1, \mathsf{fma}\left(y \cdot x - t \cdot z, b, \left(y2 \cdot t - y3 \cdot y\right) \cdot y5\right)\right) \cdot a\\
\mathbf{elif}\;k \leq 1.95 \cdot 10^{+103}:\\
\;\;\;\;\mathsf{fma}\left(t\_1, a, \mathsf{fma}\left(y2 \cdot k - y3 \cdot j, y4, \left(j \cdot x - k \cdot z\right) \cdot i\right)\right) \cdot y1\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(j, x, \left(-k\right) \cdot z\right) \cdot \left(-y0\right)\right) \cdot b\\
\end{array}
\end{array}
if k < -2.14999999999999986e181Initial program 7.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.5%
Taylor expanded in y5 around inf
Applied rewrites61.3%
if -2.14999999999999986e181 < k < 1.06e-60Initial program 35.3%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites51.8%
if 1.06e-60 < k < 1.9499999999999999e103Initial program 18.7%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.7%
if 1.9499999999999999e103 < k Initial program 20.4%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.0%
Taylor expanded in y0 around inf
Applied rewrites48.6%
Final simplification52.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y4 -1.6e+210)
(* (* (fma -1.0 (* y1 j) (* c y)) y4) y3)
(if (<= y4 -1.25e+42)
(* (* (fma k y1 (* (- c) t)) y4) y2)
(if (<= y4 -4.8e-90)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(if (<= y4 3.5e-290)
(* (fma (- (* b a) (* i c)) y (* (* y2 y0) c)) x)
(if (<= y4 7.8e-169)
(* (* (- z) y3) (fma c y0 (* (- a) y1)))
(if (<= y4 2.5e-56)
(* (* (fma -1.0 (* y5 t) (* y1 x)) y2) (- a))
(* (* (fma c y4 (* (- a) y5)) y) y3))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y4 <= -1.6e+210) {
tmp = (fma(-1.0, (y1 * j), (c * y)) * y4) * y3;
} else if (y4 <= -1.25e+42) {
tmp = (fma(k, y1, (-c * t)) * y4) * y2;
} else if (y4 <= -4.8e-90) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else if (y4 <= 3.5e-290) {
tmp = fma(((b * a) - (i * c)), y, ((y2 * y0) * c)) * x;
} else if (y4 <= 7.8e-169) {
tmp = (-z * y3) * fma(c, y0, (-a * y1));
} else if (y4 <= 2.5e-56) {
tmp = (fma(-1.0, (y5 * t), (y1 * x)) * y2) * -a;
} else {
tmp = (fma(c, y4, (-a * y5)) * y) * y3;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y4 <= -1.6e+210) tmp = Float64(Float64(fma(-1.0, Float64(y1 * j), Float64(c * y)) * y4) * y3); elseif (y4 <= -1.25e+42) tmp = Float64(Float64(fma(k, y1, Float64(Float64(-c) * t)) * y4) * y2); elseif (y4 <= -4.8e-90) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); elseif (y4 <= 3.5e-290) tmp = Float64(fma(Float64(Float64(b * a) - Float64(i * c)), y, Float64(Float64(y2 * y0) * c)) * x); elseif (y4 <= 7.8e-169) tmp = Float64(Float64(Float64(-z) * y3) * fma(c, y0, Float64(Float64(-a) * y1))); elseif (y4 <= 2.5e-56) tmp = Float64(Float64(fma(-1.0, Float64(y5 * t), Float64(y1 * x)) * y2) * Float64(-a)); else tmp = Float64(Float64(fma(c, y4, Float64(Float64(-a) * y5)) * y) * y3); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y4, -1.6e+210], N[(N[(N[(-1.0 * N[(y1 * j), $MachinePrecision] + N[(c * y), $MachinePrecision]), $MachinePrecision] * y4), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[y4, -1.25e+42], N[(N[(N[(k * y1 + N[((-c) * t), $MachinePrecision]), $MachinePrecision] * y4), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[y4, -4.8e-90], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[y4, 3.5e-290], N[(N[(N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision] * y + N[(N[(y2 * y0), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[y4, 7.8e-169], N[(N[((-z) * y3), $MachinePrecision] * N[(c * y0 + N[((-a) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 2.5e-56], N[(N[(N[(-1.0 * N[(y5 * t), $MachinePrecision] + N[(y1 * x), $MachinePrecision]), $MachinePrecision] * y2), $MachinePrecision] * (-a)), $MachinePrecision], N[(N[(N[(c * y4 + N[((-a) * y5), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision] * y3), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y4 \leq -1.6 \cdot 10^{+210}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y1 \cdot j, c \cdot y\right) \cdot y4\right) \cdot y3\\
\mathbf{elif}\;y4 \leq -1.25 \cdot 10^{+42}:\\
\;\;\;\;\left(\mathsf{fma}\left(k, y1, \left(-c\right) \cdot t\right) \cdot y4\right) \cdot y2\\
\mathbf{elif}\;y4 \leq -4.8 \cdot 10^{-90}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{elif}\;y4 \leq 3.5 \cdot 10^{-290}:\\
\;\;\;\;\mathsf{fma}\left(b \cdot a - i \cdot c, y, \left(y2 \cdot y0\right) \cdot c\right) \cdot x\\
\mathbf{elif}\;y4 \leq 7.8 \cdot 10^{-169}:\\
\;\;\;\;\left(\left(-z\right) \cdot y3\right) \cdot \mathsf{fma}\left(c, y0, \left(-a\right) \cdot y1\right)\\
\mathbf{elif}\;y4 \leq 2.5 \cdot 10^{-56}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y5 \cdot t, y1 \cdot x\right) \cdot y2\right) \cdot \left(-a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(c, y4, \left(-a\right) \cdot y5\right) \cdot y\right) \cdot y3\\
\end{array}
\end{array}
if y4 < -1.6000000000000001e210Initial program 22.5%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites55.9%
Taylor expanded in y4 around inf
Applied rewrites78.1%
if -1.6000000000000001e210 < y4 < -1.25000000000000002e42Initial program 25.0%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.1%
Taylor expanded in x around inf
Applied rewrites18.1%
Taylor expanded in y4 around inf
Applied rewrites56.9%
if -1.25000000000000002e42 < y4 < -4.8000000000000003e-90Initial program 29.5%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites49.2%
Taylor expanded in c around inf
Applied rewrites16.5%
Taylor expanded in y5 around inf
Applied rewrites45.6%
if -4.8000000000000003e-90 < y4 < 3.49999999999999981e-290Initial program 39.8%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.4%
Taylor expanded in c around inf
Applied rewrites51.0%
if 3.49999999999999981e-290 < y4 < 7.79999999999999954e-169Initial program 36.9%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites54.0%
Taylor expanded in z around inf
Applied rewrites50.9%
if 7.79999999999999954e-169 < y4 < 2.49999999999999999e-56Initial program 36.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.2%
Taylor expanded in a around -inf
Applied rewrites54.6%
if 2.49999999999999999e-56 < y4 Initial program 14.7%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.2%
Taylor expanded in y around inf
Applied rewrites44.4%
Final simplification51.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* j b) (fma (- x) y0 (* y4 t)))))
(if (<= j -5.6e+71)
t_1
(if (<= j -50000.0)
(* (* (fma (- i) z (* y4 y2)) k) y1)
(if (<= j -4.5e-215)
(* (fma y0 y2 (* (- i) y)) (* c x))
(if (<= j -6.1e-297)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(if (<= j 0.31)
(* (fma (- x) y1 (* y5 t)) (* y2 a))
(if (<= j 1.45e+141)
t_1
(* (fma j y5 (* (- c) z)) (* y3 y0))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (j * b) * fma(-x, y0, (y4 * t));
double tmp;
if (j <= -5.6e+71) {
tmp = t_1;
} else if (j <= -50000.0) {
tmp = (fma(-i, z, (y4 * y2)) * k) * y1;
} else if (j <= -4.5e-215) {
tmp = fma(y0, y2, (-i * y)) * (c * x);
} else if (j <= -6.1e-297) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else if (j <= 0.31) {
tmp = fma(-x, y1, (y5 * t)) * (y2 * a);
} else if (j <= 1.45e+141) {
tmp = t_1;
} else {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))) tmp = 0.0 if (j <= -5.6e+71) tmp = t_1; elseif (j <= -50000.0) tmp = Float64(Float64(fma(Float64(-i), z, Float64(y4 * y2)) * k) * y1); elseif (j <= -4.5e-215) tmp = Float64(fma(y0, y2, Float64(Float64(-i) * y)) * Float64(c * x)); elseif (j <= -6.1e-297) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); elseif (j <= 0.31) tmp = Float64(fma(Float64(-x), y1, Float64(y5 * t)) * Float64(y2 * a)); elseif (j <= 1.45e+141) tmp = t_1; else tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -5.6e+71], t$95$1, If[LessEqual[j, -50000.0], N[(N[(N[((-i) * z + N[(y4 * y2), $MachinePrecision]), $MachinePrecision] * k), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[j, -4.5e-215], N[(N[(y0 * y2 + N[((-i) * y), $MachinePrecision]), $MachinePrecision] * N[(c * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -6.1e-297], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[j, 0.31], N[(N[((-x) * y1 + N[(y5 * t), $MachinePrecision]), $MachinePrecision] * N[(y2 * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.45e+141], t$95$1, N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\mathbf{if}\;j \leq -5.6 \cdot 10^{+71}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -50000:\\
\;\;\;\;\left(\mathsf{fma}\left(-i, z, y4 \cdot y2\right) \cdot k\right) \cdot y1\\
\mathbf{elif}\;j \leq -4.5 \cdot 10^{-215}:\\
\;\;\;\;\mathsf{fma}\left(y0, y2, \left(-i\right) \cdot y\right) \cdot \left(c \cdot x\right)\\
\mathbf{elif}\;j \leq -6.1 \cdot 10^{-297}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{elif}\;j \leq 0.31:\\
\;\;\;\;\mathsf{fma}\left(-x, y1, y5 \cdot t\right) \cdot \left(y2 \cdot a\right)\\
\mathbf{elif}\;j \leq 1.45 \cdot 10^{+141}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\end{array}
\end{array}
if j < -5.60000000000000004e71 or 0.309999999999999998 < j < 1.45000000000000003e141Initial program 26.2%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites55.3%
Taylor expanded in j around inf
Applied rewrites50.5%
if -5.60000000000000004e71 < j < -5e4Initial program 40.5%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.1%
Taylor expanded in k around inf
Applied rewrites41.4%
if -5e4 < j < -4.5e-215Initial program 32.5%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.8%
Taylor expanded in c around inf
Applied rewrites43.4%
if -4.5e-215 < j < -6.1e-297Initial program 25.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.9%
Taylor expanded in c around inf
Applied rewrites35.8%
Taylor expanded in y5 around inf
Applied rewrites51.6%
if -6.1e-297 < j < 0.309999999999999998Initial program 30.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites49.4%
Taylor expanded in a around inf
Applied rewrites38.3%
if 1.45000000000000003e141 < j Initial program 18.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites39.1%
Taylor expanded in c around inf
Applied rewrites25.5%
Taylor expanded in y0 around inf
Applied rewrites47.8%
Final simplification45.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y4 -1.15e+207)
(* (* y4 y3) (fma c y (* (- j) y1)))
(if (<= y4 -1.4e-295)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(if (<= y4 2.3e-258)
(* (* (fma (- i) k (* y3 a)) z) y1)
(if (<= y4 1.05e-172)
(* (fma j y5 (* (- c) z)) (* y3 y0))
(if (<= y4 1.85e+65)
(* (fma (- x) y1 (* y5 t)) (* y2 a))
(* (* j b) (fma (- x) y0 (* y4 t)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y4 <= -1.15e+207) {
tmp = (y4 * y3) * fma(c, y, (-j * y1));
} else if (y4 <= -1.4e-295) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else if (y4 <= 2.3e-258) {
tmp = (fma(-i, k, (y3 * a)) * z) * y1;
} else if (y4 <= 1.05e-172) {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
} else if (y4 <= 1.85e+65) {
tmp = fma(-x, y1, (y5 * t)) * (y2 * a);
} else {
tmp = (j * b) * fma(-x, y0, (y4 * t));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y4 <= -1.15e+207) tmp = Float64(Float64(y4 * y3) * fma(c, y, Float64(Float64(-j) * y1))); elseif (y4 <= -1.4e-295) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); elseif (y4 <= 2.3e-258) tmp = Float64(Float64(fma(Float64(-i), k, Float64(y3 * a)) * z) * y1); elseif (y4 <= 1.05e-172) tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); elseif (y4 <= 1.85e+65) tmp = Float64(fma(Float64(-x), y1, Float64(y5 * t)) * Float64(y2 * a)); else tmp = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y4, -1.15e+207], N[(N[(y4 * y3), $MachinePrecision] * N[(c * y + N[((-j) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -1.4e-295], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[y4, 2.3e-258], N[(N[(N[((-i) * k + N[(y3 * a), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[y4, 1.05e-172], N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 1.85e+65], N[(N[((-x) * y1 + N[(y5 * t), $MachinePrecision]), $MachinePrecision] * N[(y2 * a), $MachinePrecision]), $MachinePrecision], N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y4 \leq -1.15 \cdot 10^{+207}:\\
\;\;\;\;\left(y4 \cdot y3\right) \cdot \mathsf{fma}\left(c, y, \left(-j\right) \cdot y1\right)\\
\mathbf{elif}\;y4 \leq -1.4 \cdot 10^{-295}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{elif}\;y4 \leq 2.3 \cdot 10^{-258}:\\
\;\;\;\;\left(\mathsf{fma}\left(-i, k, y3 \cdot a\right) \cdot z\right) \cdot y1\\
\mathbf{elif}\;y4 \leq 1.05 \cdot 10^{-172}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\mathbf{elif}\;y4 \leq 1.85 \cdot 10^{+65}:\\
\;\;\;\;\mathsf{fma}\left(-x, y1, y5 \cdot t\right) \cdot \left(y2 \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\end{array}
\end{array}
if y4 < -1.14999999999999997e207Initial program 21.3%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites58.2%
Taylor expanded in c around inf
Applied rewrites42.4%
Taylor expanded in y4 around inf
Applied rewrites69.5%
if -1.14999999999999997e207 < y4 < -1.4e-295Initial program 33.7%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites37.6%
Taylor expanded in c around inf
Applied rewrites19.6%
Taylor expanded in y5 around inf
Applied rewrites37.0%
if -1.4e-295 < y4 < 2.29999999999999993e-258Initial program 27.3%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.9%
Taylor expanded in z around inf
Applied rewrites59.5%
if 2.29999999999999993e-258 < y4 < 1.05e-172Initial program 38.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites50.8%
Taylor expanded in c around inf
Applied rewrites33.3%
Taylor expanded in y0 around inf
Applied rewrites50.6%
if 1.05e-172 < y4 < 1.84999999999999997e65Initial program 31.5%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites35.6%
Taylor expanded in a around inf
Applied rewrites39.1%
if 1.84999999999999997e65 < y4 Initial program 13.2%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.5%
Taylor expanded in j around inf
Applied rewrites43.9%
Final simplification44.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* j b) (fma (- x) y0 (* y4 t)))))
(if (<= j -5500000000.0)
t_1
(if (<= j -4.5e-215)
(* (fma y0 y2 (* (- i) y)) (* c x))
(if (<= j -6.1e-297)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(if (<= j 0.31)
(* (fma (- x) y1 (* y5 t)) (* y2 a))
(if (<= j 1.45e+141) t_1 (* (fma j y5 (* (- c) z)) (* y3 y0)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (j * b) * fma(-x, y0, (y4 * t));
double tmp;
if (j <= -5500000000.0) {
tmp = t_1;
} else if (j <= -4.5e-215) {
tmp = fma(y0, y2, (-i * y)) * (c * x);
} else if (j <= -6.1e-297) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else if (j <= 0.31) {
tmp = fma(-x, y1, (y5 * t)) * (y2 * a);
} else if (j <= 1.45e+141) {
tmp = t_1;
} else {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))) tmp = 0.0 if (j <= -5500000000.0) tmp = t_1; elseif (j <= -4.5e-215) tmp = Float64(fma(y0, y2, Float64(Float64(-i) * y)) * Float64(c * x)); elseif (j <= -6.1e-297) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); elseif (j <= 0.31) tmp = Float64(fma(Float64(-x), y1, Float64(y5 * t)) * Float64(y2 * a)); elseif (j <= 1.45e+141) tmp = t_1; else tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -5500000000.0], t$95$1, If[LessEqual[j, -4.5e-215], N[(N[(y0 * y2 + N[((-i) * y), $MachinePrecision]), $MachinePrecision] * N[(c * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -6.1e-297], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[j, 0.31], N[(N[((-x) * y1 + N[(y5 * t), $MachinePrecision]), $MachinePrecision] * N[(y2 * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.45e+141], t$95$1, N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\mathbf{if}\;j \leq -5500000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -4.5 \cdot 10^{-215}:\\
\;\;\;\;\mathsf{fma}\left(y0, y2, \left(-i\right) \cdot y\right) \cdot \left(c \cdot x\right)\\
\mathbf{elif}\;j \leq -6.1 \cdot 10^{-297}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{elif}\;j \leq 0.31:\\
\;\;\;\;\mathsf{fma}\left(-x, y1, y5 \cdot t\right) \cdot \left(y2 \cdot a\right)\\
\mathbf{elif}\;j \leq 1.45 \cdot 10^{+141}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\end{array}
\end{array}
if j < -5.5e9 or 0.309999999999999998 < j < 1.45000000000000003e141Initial program 28.5%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites54.0%
Taylor expanded in j around inf
Applied rewrites44.8%
if -5.5e9 < j < -4.5e-215Initial program 32.5%
Taylor expanded in x around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.8%
Taylor expanded in c around inf
Applied rewrites43.4%
if -4.5e-215 < j < -6.1e-297Initial program 25.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.9%
Taylor expanded in c around inf
Applied rewrites35.8%
Taylor expanded in y5 around inf
Applied rewrites51.6%
if -6.1e-297 < j < 0.309999999999999998Initial program 30.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites49.4%
Taylor expanded in a around inf
Applied rewrites38.3%
if 1.45000000000000003e141 < j Initial program 18.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites39.1%
Taylor expanded in c around inf
Applied rewrites25.5%
Taylor expanded in y0 around inf
Applied rewrites47.8%
Final simplification43.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma t y2 (* (- y) y3)) y5) a)))
(if (<= y5 -2.5e+56)
t_1
(if (<= y5 -4.7e-251)
(* (* (fma y1 y3 (* (- b) t)) z) a)
(if (<= y5 4.5e-85)
(* (* (fma b y (* (- y2) y1)) x) a)
(if (<= y5 2.15e+67)
(* (* (fma -1.0 (* y5 k) (* c x)) y0) y2)
t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(t, y2, (-y * y3)) * y5) * a;
double tmp;
if (y5 <= -2.5e+56) {
tmp = t_1;
} else if (y5 <= -4.7e-251) {
tmp = (fma(y1, y3, (-b * t)) * z) * a;
} else if (y5 <= 4.5e-85) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else if (y5 <= 2.15e+67) {
tmp = (fma(-1.0, (y5 * k), (c * x)) * y0) * y2;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(t, y2, Float64(Float64(-y) * y3)) * y5) * a) tmp = 0.0 if (y5 <= -2.5e+56) tmp = t_1; elseif (y5 <= -4.7e-251) tmp = Float64(Float64(fma(y1, y3, Float64(Float64(-b) * t)) * z) * a); elseif (y5 <= 4.5e-85) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); elseif (y5 <= 2.15e+67) tmp = Float64(Float64(fma(-1.0, Float64(y5 * k), Float64(c * x)) * y0) * y2); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(t * y2 + N[((-y) * y3), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[y5, -2.5e+56], t$95$1, If[LessEqual[y5, -4.7e-251], N[(N[(N[(y1 * y3 + N[((-b) * t), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 4.5e-85], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 2.15e+67], N[(N[(N[(-1.0 * N[(y5 * k), $MachinePrecision] + N[(c * x), $MachinePrecision]), $MachinePrecision] * y0), $MachinePrecision] * y2), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(t, y2, \left(-y\right) \cdot y3\right) \cdot y5\right) \cdot a\\
\mathbf{if}\;y5 \leq -2.5 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq -4.7 \cdot 10^{-251}:\\
\;\;\;\;\left(\mathsf{fma}\left(y1, y3, \left(-b\right) \cdot t\right) \cdot z\right) \cdot a\\
\mathbf{elif}\;y5 \leq 4.5 \cdot 10^{-85}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{elif}\;y5 \leq 2.15 \cdot 10^{+67}:\\
\;\;\;\;\left(\mathsf{fma}\left(-1, y5 \cdot k, c \cdot x\right) \cdot y0\right) \cdot y2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -2.50000000000000012e56 or 2.1500000000000001e67 < y5 Initial program 21.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites51.9%
Taylor expanded in y5 around inf
Applied rewrites53.9%
if -2.50000000000000012e56 < y5 < -4.7000000000000001e-251Initial program 35.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites35.9%
Taylor expanded in z around inf
Applied rewrites46.4%
if -4.7000000000000001e-251 < y5 < 4.50000000000000004e-85Initial program 32.8%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.6%
Taylor expanded in x around inf
Applied rewrites48.5%
if 4.50000000000000004e-85 < y5 < 2.1500000000000001e67Initial program 28.4%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites31.0%
Taylor expanded in y0 around inf
Applied rewrites36.2%
Final simplification48.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma t y2 (* (- y) y3)) y5) a)))
(if (<= y5 -2.5e+56)
t_1
(if (<= y5 -4.7e-251)
(* (* (fma y1 y3 (* (- b) t)) z) a)
(if (<= y5 4.5e-85)
(* (* (fma b y (* (- y2) y1)) x) a)
(if (<= y5 1.55e+64) (* (* (fma i y5 (* (- b) y4)) y) k) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(t, y2, (-y * y3)) * y5) * a;
double tmp;
if (y5 <= -2.5e+56) {
tmp = t_1;
} else if (y5 <= -4.7e-251) {
tmp = (fma(y1, y3, (-b * t)) * z) * a;
} else if (y5 <= 4.5e-85) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else if (y5 <= 1.55e+64) {
tmp = (fma(i, y5, (-b * y4)) * y) * k;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(t, y2, Float64(Float64(-y) * y3)) * y5) * a) tmp = 0.0 if (y5 <= -2.5e+56) tmp = t_1; elseif (y5 <= -4.7e-251) tmp = Float64(Float64(fma(y1, y3, Float64(Float64(-b) * t)) * z) * a); elseif (y5 <= 4.5e-85) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); elseif (y5 <= 1.55e+64) tmp = Float64(Float64(fma(i, y5, Float64(Float64(-b) * y4)) * y) * k); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(t * y2 + N[((-y) * y3), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[y5, -2.5e+56], t$95$1, If[LessEqual[y5, -4.7e-251], N[(N[(N[(y1 * y3 + N[((-b) * t), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 4.5e-85], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 1.55e+64], N[(N[(N[(i * y5 + N[((-b) * y4), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision] * k), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(t, y2, \left(-y\right) \cdot y3\right) \cdot y5\right) \cdot a\\
\mathbf{if}\;y5 \leq -2.5 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq -4.7 \cdot 10^{-251}:\\
\;\;\;\;\left(\mathsf{fma}\left(y1, y3, \left(-b\right) \cdot t\right) \cdot z\right) \cdot a\\
\mathbf{elif}\;y5 \leq 4.5 \cdot 10^{-85}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{elif}\;y5 \leq 1.55 \cdot 10^{+64}:\\
\;\;\;\;\left(\mathsf{fma}\left(i, y5, \left(-b\right) \cdot y4\right) \cdot y\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -2.50000000000000012e56 or 1.55e64 < y5 Initial program 21.0%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites51.4%
Taylor expanded in y5 around inf
Applied rewrites53.4%
if -2.50000000000000012e56 < y5 < -4.7000000000000001e-251Initial program 35.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites35.9%
Taylor expanded in z around inf
Applied rewrites46.4%
if -4.7000000000000001e-251 < y5 < 4.50000000000000004e-85Initial program 32.8%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.6%
Taylor expanded in x around inf
Applied rewrites48.5%
if 4.50000000000000004e-85 < y5 < 1.55e64Initial program 29.2%
Taylor expanded in k around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites55.7%
Taylor expanded in y around inf
Applied rewrites35.2%
Final simplification48.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma t y2 (* (- y) y3)) y5) a)))
(if (<= y5 -580000000.0)
t_1
(if (<= y5 -3e-156)
(* (* j b) (fma (- x) y0 (* y4 t)))
(if (<= y5 -1.25e-248)
(* (* (fma j x (* (- k) z)) i) y1)
(if (<= y5 5.2e-33) (* (* (fma b y (* (- y2) y1)) x) a) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(t, y2, (-y * y3)) * y5) * a;
double tmp;
if (y5 <= -580000000.0) {
tmp = t_1;
} else if (y5 <= -3e-156) {
tmp = (j * b) * fma(-x, y0, (y4 * t));
} else if (y5 <= -1.25e-248) {
tmp = (fma(j, x, (-k * z)) * i) * y1;
} else if (y5 <= 5.2e-33) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(t, y2, Float64(Float64(-y) * y3)) * y5) * a) tmp = 0.0 if (y5 <= -580000000.0) tmp = t_1; elseif (y5 <= -3e-156) tmp = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))); elseif (y5 <= -1.25e-248) tmp = Float64(Float64(fma(j, x, Float64(Float64(-k) * z)) * i) * y1); elseif (y5 <= 5.2e-33) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(t * y2 + N[((-y) * y3), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[y5, -580000000.0], t$95$1, If[LessEqual[y5, -3e-156], N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, -1.25e-248], N[(N[(N[(j * x + N[((-k) * z), $MachinePrecision]), $MachinePrecision] * i), $MachinePrecision] * y1), $MachinePrecision], If[LessEqual[y5, 5.2e-33], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(t, y2, \left(-y\right) \cdot y3\right) \cdot y5\right) \cdot a\\
\mathbf{if}\;y5 \leq -580000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq -3 \cdot 10^{-156}:\\
\;\;\;\;\left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\mathbf{elif}\;y5 \leq -1.25 \cdot 10^{-248}:\\
\;\;\;\;\left(\mathsf{fma}\left(j, x, \left(-k\right) \cdot z\right) \cdot i\right) \cdot y1\\
\mathbf{elif}\;y5 \leq 5.2 \cdot 10^{-33}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -5.8e8 or 5.19999999999999988e-33 < y5 Initial program 23.6%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites49.7%
Taylor expanded in y5 around inf
Applied rewrites47.7%
if -5.8e8 < y5 < -3e-156Initial program 32.1%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Taylor expanded in j around inf
Applied rewrites50.5%
if -3e-156 < y5 < -1.25e-248Initial program 38.4%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites44.4%
Taylor expanded in i around inf
Applied rewrites44.0%
if -1.25e-248 < y5 < 5.19999999999999988e-33Initial program 30.9%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites38.3%
Taylor expanded in x around inf
Applied rewrites41.4%
Final simplification45.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= k -1.65e+171)
(* (* (* (- k) y0) y5) y2)
(if (<= k -3.2e+17)
(* (* j b) (fma (- x) y0 (* y4 t)))
(if (<= k -3.5e-262)
(* (* (fma b y (* (- y2) y1)) x) a)
(if (<= k 2e+152)
(* (* y3 c) (fma (- y0) z (* y4 y)))
(* (* (fma (- i) k (* y3 a)) z) y1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (k <= -1.65e+171) {
tmp = ((-k * y0) * y5) * y2;
} else if (k <= -3.2e+17) {
tmp = (j * b) * fma(-x, y0, (y4 * t));
} else if (k <= -3.5e-262) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else if (k <= 2e+152) {
tmp = (y3 * c) * fma(-y0, z, (y4 * y));
} else {
tmp = (fma(-i, k, (y3 * a)) * z) * y1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (k <= -1.65e+171) tmp = Float64(Float64(Float64(Float64(-k) * y0) * y5) * y2); elseif (k <= -3.2e+17) tmp = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))); elseif (k <= -3.5e-262) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); elseif (k <= 2e+152) tmp = Float64(Float64(y3 * c) * fma(Float64(-y0), z, Float64(y4 * y))); else tmp = Float64(Float64(fma(Float64(-i), k, Float64(y3 * a)) * z) * y1); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[k, -1.65e+171], N[(N[(N[((-k) * y0), $MachinePrecision] * y5), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[k, -3.2e+17], N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -3.5e-262], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[k, 2e+152], N[(N[(y3 * c), $MachinePrecision] * N[((-y0) * z + N[(y4 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[((-i) * k + N[(y3 * a), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision] * y1), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq -1.65 \cdot 10^{+171}:\\
\;\;\;\;\left(\left(\left(-k\right) \cdot y0\right) \cdot y5\right) \cdot y2\\
\mathbf{elif}\;k \leq -3.2 \cdot 10^{+17}:\\
\;\;\;\;\left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\mathbf{elif}\;k \leq -3.5 \cdot 10^{-262}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{elif}\;k \leq 2 \cdot 10^{+152}:\\
\;\;\;\;\left(y3 \cdot c\right) \cdot \mathsf{fma}\left(-y0, z, y4 \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(-i, k, y3 \cdot a\right) \cdot z\right) \cdot y1\\
\end{array}
\end{array}
if k < -1.64999999999999996e171Initial program 6.5%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.8%
Taylor expanded in y5 around inf
Applied rewrites58.6%
Taylor expanded in a around 0
Applied rewrites49.1%
if -1.64999999999999996e171 < k < -3.2e17Initial program 25.7%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites46.2%
Taylor expanded in j around inf
Applied rewrites49.5%
if -3.2e17 < k < -3.50000000000000011e-262Initial program 29.9%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites59.3%
Taylor expanded in x around inf
Applied rewrites47.6%
if -3.50000000000000011e-262 < k < 2.0000000000000001e152Initial program 35.5%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites43.5%
Taylor expanded in c around inf
Applied rewrites34.0%
if 2.0000000000000001e152 < k Initial program 19.9%
Taylor expanded in y1 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites33.6%
Taylor expanded in z around inf
Applied rewrites54.4%
Final simplification42.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma (- a) y (* y0 j)) y5) y3)))
(if (<= y4 -1.15e+207)
(* (* y4 y3) (fma c y (* (- j) y1)))
(if (<= y4 1.18e-288)
t_1
(if (<= y4 8.3e-35)
(* (fma j y5 (* (- c) z)) (* y3 y0))
(if (<= y4 4.2e+138) t_1 (* (* j b) (fma (- x) y0 (* y4 t)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(-a, y, (y0 * j)) * y5) * y3;
double tmp;
if (y4 <= -1.15e+207) {
tmp = (y4 * y3) * fma(c, y, (-j * y1));
} else if (y4 <= 1.18e-288) {
tmp = t_1;
} else if (y4 <= 8.3e-35) {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
} else if (y4 <= 4.2e+138) {
tmp = t_1;
} else {
tmp = (j * b) * fma(-x, y0, (y4 * t));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3) tmp = 0.0 if (y4 <= -1.15e+207) tmp = Float64(Float64(y4 * y3) * fma(c, y, Float64(Float64(-j) * y1))); elseif (y4 <= 1.18e-288) tmp = t_1; elseif (y4 <= 8.3e-35) tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); elseif (y4 <= 4.2e+138) tmp = t_1; else tmp = Float64(Float64(j * b) * fma(Float64(-x), y0, Float64(y4 * t))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision]}, If[LessEqual[y4, -1.15e+207], N[(N[(y4 * y3), $MachinePrecision] * N[(c * y + N[((-j) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 1.18e-288], t$95$1, If[LessEqual[y4, 8.3e-35], N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 4.2e+138], t$95$1, N[(N[(j * b), $MachinePrecision] * N[((-x) * y0 + N[(y4 * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{if}\;y4 \leq -1.15 \cdot 10^{+207}:\\
\;\;\;\;\left(y4 \cdot y3\right) \cdot \mathsf{fma}\left(c, y, \left(-j\right) \cdot y1\right)\\
\mathbf{elif}\;y4 \leq 1.18 \cdot 10^{-288}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y4 \leq 8.3 \cdot 10^{-35}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\mathbf{elif}\;y4 \leq 4.2 \cdot 10^{+138}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(j \cdot b\right) \cdot \mathsf{fma}\left(-x, y0, y4 \cdot t\right)\\
\end{array}
\end{array}
if y4 < -1.14999999999999997e207Initial program 21.3%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites58.2%
Taylor expanded in c around inf
Applied rewrites42.4%
Taylor expanded in y4 around inf
Applied rewrites69.5%
if -1.14999999999999997e207 < y4 < 1.18000000000000006e-288 or 8.2999999999999997e-35 < y4 < 4.20000000000000014e138Initial program 28.4%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites41.4%
Taylor expanded in c around inf
Applied rewrites18.2%
Taylor expanded in y5 around inf
Applied rewrites38.2%
if 1.18000000000000006e-288 < y4 < 8.2999999999999997e-35Initial program 36.3%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites38.9%
Taylor expanded in c around inf
Applied rewrites29.5%
Taylor expanded in y0 around inf
Applied rewrites38.8%
if 4.20000000000000014e138 < y4 Initial program 15.8%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.8%
Taylor expanded in j around inf
Applied rewrites47.8%
Final simplification42.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma (- a) y (* y0 j)) y5) y3)))
(if (<= y4 -1.55e+158)
(* (* (* j t) y4) b)
(if (<= y4 1.18e-288)
t_1
(if (<= y4 8.3e-35)
(* (fma j y5 (* (- c) z)) (* y3 y0))
(if (<= y4 1.15e+214) t_1 (* (* (* y4 y3) c) y)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(-a, y, (y0 * j)) * y5) * y3;
double tmp;
if (y4 <= -1.55e+158) {
tmp = ((j * t) * y4) * b;
} else if (y4 <= 1.18e-288) {
tmp = t_1;
} else if (y4 <= 8.3e-35) {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
} else if (y4 <= 1.15e+214) {
tmp = t_1;
} else {
tmp = ((y4 * y3) * c) * y;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3) tmp = 0.0 if (y4 <= -1.55e+158) tmp = Float64(Float64(Float64(j * t) * y4) * b); elseif (y4 <= 1.18e-288) tmp = t_1; elseif (y4 <= 8.3e-35) tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); elseif (y4 <= 1.15e+214) tmp = t_1; else tmp = Float64(Float64(Float64(y4 * y3) * c) * y); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision]}, If[LessEqual[y4, -1.55e+158], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[y4, 1.18e-288], t$95$1, If[LessEqual[y4, 8.3e-35], N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 1.15e+214], t$95$1, N[(N[(N[(y4 * y3), $MachinePrecision] * c), $MachinePrecision] * y), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{if}\;y4 \leq -1.55 \cdot 10^{+158}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{elif}\;y4 \leq 1.18 \cdot 10^{-288}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y4 \leq 8.3 \cdot 10^{-35}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\mathbf{elif}\;y4 \leq 1.15 \cdot 10^{+214}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y4 \cdot y3\right) \cdot c\right) \cdot y\\
\end{array}
\end{array}
if y4 < -1.5500000000000001e158Initial program 24.3%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.0%
Taylor expanded in j around inf
Applied rewrites49.0%
Taylor expanded in t around inf
Applied rewrites49.4%
if -1.5500000000000001e158 < y4 < 1.18000000000000006e-288 or 8.2999999999999997e-35 < y4 < 1.15e214Initial program 26.6%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites43.0%
Taylor expanded in c around inf
Applied rewrites19.4%
Taylor expanded in y5 around inf
Applied rewrites37.7%
if 1.18000000000000006e-288 < y4 < 8.2999999999999997e-35Initial program 36.3%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites38.9%
Taylor expanded in c around inf
Applied rewrites29.5%
Taylor expanded in y0 around inf
Applied rewrites38.8%
if 1.15e214 < y4 Initial program 19.2%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites46.3%
Taylor expanded in c around inf
Applied rewrites43.4%
Taylor expanded in y4 around inf
Applied rewrites39.9%
Applied rewrites47.3%
Final simplification40.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= t -5.7e+221)
(* (* (* j t) y4) b)
(if (<= t -2.1e+50)
(* (* (* a t) y5) y2)
(if (<= t -1.32e-123)
(* (* (* y0 x) c) y2)
(if (<= t 3.45e-273)
(* (* (* y3 c) y) y4)
(if (<= t 1e+45) (* (* y0 c) (* y2 x)) (* (* (* y5 t) a) y2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (t <= -5.7e+221) {
tmp = ((j * t) * y4) * b;
} else if (t <= -2.1e+50) {
tmp = ((a * t) * y5) * y2;
} else if (t <= -1.32e-123) {
tmp = ((y0 * x) * c) * y2;
} else if (t <= 3.45e-273) {
tmp = ((y3 * c) * y) * y4;
} else if (t <= 1e+45) {
tmp = (y0 * c) * (y2 * x);
} else {
tmp = ((y5 * t) * a) * y2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (t <= (-5.7d+221)) then
tmp = ((j * t) * y4) * b
else if (t <= (-2.1d+50)) then
tmp = ((a * t) * y5) * y2
else if (t <= (-1.32d-123)) then
tmp = ((y0 * x) * c) * y2
else if (t <= 3.45d-273) then
tmp = ((y3 * c) * y) * y4
else if (t <= 1d+45) then
tmp = (y0 * c) * (y2 * x)
else
tmp = ((y5 * t) * a) * y2
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (t <= -5.7e+221) {
tmp = ((j * t) * y4) * b;
} else if (t <= -2.1e+50) {
tmp = ((a * t) * y5) * y2;
} else if (t <= -1.32e-123) {
tmp = ((y0 * x) * c) * y2;
} else if (t <= 3.45e-273) {
tmp = ((y3 * c) * y) * y4;
} else if (t <= 1e+45) {
tmp = (y0 * c) * (y2 * x);
} else {
tmp = ((y5 * t) * a) * y2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if t <= -5.7e+221: tmp = ((j * t) * y4) * b elif t <= -2.1e+50: tmp = ((a * t) * y5) * y2 elif t <= -1.32e-123: tmp = ((y0 * x) * c) * y2 elif t <= 3.45e-273: tmp = ((y3 * c) * y) * y4 elif t <= 1e+45: tmp = (y0 * c) * (y2 * x) else: tmp = ((y5 * t) * a) * y2 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (t <= -5.7e+221) tmp = Float64(Float64(Float64(j * t) * y4) * b); elseif (t <= -2.1e+50) tmp = Float64(Float64(Float64(a * t) * y5) * y2); elseif (t <= -1.32e-123) tmp = Float64(Float64(Float64(y0 * x) * c) * y2); elseif (t <= 3.45e-273) tmp = Float64(Float64(Float64(y3 * c) * y) * y4); elseif (t <= 1e+45) tmp = Float64(Float64(y0 * c) * Float64(y2 * x)); else tmp = Float64(Float64(Float64(y5 * t) * a) * y2); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (t <= -5.7e+221) tmp = ((j * t) * y4) * b; elseif (t <= -2.1e+50) tmp = ((a * t) * y5) * y2; elseif (t <= -1.32e-123) tmp = ((y0 * x) * c) * y2; elseif (t <= 3.45e-273) tmp = ((y3 * c) * y) * y4; elseif (t <= 1e+45) tmp = (y0 * c) * (y2 * x); else tmp = ((y5 * t) * a) * y2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[t, -5.7e+221], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[t, -2.1e+50], N[(N[(N[(a * t), $MachinePrecision] * y5), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[t, -1.32e-123], N[(N[(N[(y0 * x), $MachinePrecision] * c), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[t, 3.45e-273], N[(N[(N[(y3 * c), $MachinePrecision] * y), $MachinePrecision] * y4), $MachinePrecision], If[LessEqual[t, 1e+45], N[(N[(y0 * c), $MachinePrecision] * N[(y2 * x), $MachinePrecision]), $MachinePrecision], N[(N[(N[(y5 * t), $MachinePrecision] * a), $MachinePrecision] * y2), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.7 \cdot 10^{+221}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{elif}\;t \leq -2.1 \cdot 10^{+50}:\\
\;\;\;\;\left(\left(a \cdot t\right) \cdot y5\right) \cdot y2\\
\mathbf{elif}\;t \leq -1.32 \cdot 10^{-123}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot c\right) \cdot y2\\
\mathbf{elif}\;t \leq 3.45 \cdot 10^{-273}:\\
\;\;\;\;\left(\left(y3 \cdot c\right) \cdot y\right) \cdot y4\\
\mathbf{elif}\;t \leq 10^{+45}:\\
\;\;\;\;\left(y0 \cdot c\right) \cdot \left(y2 \cdot x\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y5 \cdot t\right) \cdot a\right) \cdot y2\\
\end{array}
\end{array}
if t < -5.70000000000000011e221Initial program 36.0%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.4%
Taylor expanded in j around inf
Applied rewrites56.4%
Taylor expanded in t around inf
Applied rewrites53.2%
if -5.70000000000000011e221 < t < -2.1e50Initial program 10.4%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites39.0%
Taylor expanded in y5 around inf
Applied rewrites39.6%
Taylor expanded in a around inf
Applied rewrites42.1%
if -2.1e50 < t < -1.31999999999999994e-123Initial program 34.6%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites34.2%
Taylor expanded in x around inf
Applied rewrites36.3%
Taylor expanded in c around inf
Applied rewrites27.0%
if -1.31999999999999994e-123 < t < 3.44999999999999992e-273Initial program 39.6%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites54.1%
Taylor expanded in c around inf
Applied rewrites40.5%
Taylor expanded in y4 around inf
Applied rewrites29.7%
Applied rewrites38.3%
if 3.44999999999999992e-273 < t < 9.9999999999999993e44Initial program 29.7%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites32.7%
Taylor expanded in x around inf
Applied rewrites29.5%
Taylor expanded in x around inf
Applied rewrites29.7%
Taylor expanded in c around inf
Applied rewrites28.0%
if 9.9999999999999993e44 < t Initial program 18.0%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites33.4%
Taylor expanded in y5 around inf
Applied rewrites36.5%
Taylor expanded in a around inf
Applied rewrites34.3%
Final simplification35.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (* y5 t) a) y2)))
(if (<= t -6e+152)
(* (* (* j t) y4) b)
(if (<= t -2.4e+50)
t_1
(if (<= t -1.32e-123)
(* (* (* y0 x) c) y2)
(if (<= t 3.45e-273)
(* (* (* y3 c) y) y4)
(if (<= t 1e+45) (* (* y0 c) (* y2 x)) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = ((y5 * t) * a) * y2;
double tmp;
if (t <= -6e+152) {
tmp = ((j * t) * y4) * b;
} else if (t <= -2.4e+50) {
tmp = t_1;
} else if (t <= -1.32e-123) {
tmp = ((y0 * x) * c) * y2;
} else if (t <= 3.45e-273) {
tmp = ((y3 * c) * y) * y4;
} else if (t <= 1e+45) {
tmp = (y0 * c) * (y2 * x);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = ((y5 * t) * a) * y2
if (t <= (-6d+152)) then
tmp = ((j * t) * y4) * b
else if (t <= (-2.4d+50)) then
tmp = t_1
else if (t <= (-1.32d-123)) then
tmp = ((y0 * x) * c) * y2
else if (t <= 3.45d-273) then
tmp = ((y3 * c) * y) * y4
else if (t <= 1d+45) then
tmp = (y0 * c) * (y2 * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = ((y5 * t) * a) * y2;
double tmp;
if (t <= -6e+152) {
tmp = ((j * t) * y4) * b;
} else if (t <= -2.4e+50) {
tmp = t_1;
} else if (t <= -1.32e-123) {
tmp = ((y0 * x) * c) * y2;
} else if (t <= 3.45e-273) {
tmp = ((y3 * c) * y) * y4;
} else if (t <= 1e+45) {
tmp = (y0 * c) * (y2 * x);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = ((y5 * t) * a) * y2 tmp = 0 if t <= -6e+152: tmp = ((j * t) * y4) * b elif t <= -2.4e+50: tmp = t_1 elif t <= -1.32e-123: tmp = ((y0 * x) * c) * y2 elif t <= 3.45e-273: tmp = ((y3 * c) * y) * y4 elif t <= 1e+45: tmp = (y0 * c) * (y2 * x) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(Float64(y5 * t) * a) * y2) tmp = 0.0 if (t <= -6e+152) tmp = Float64(Float64(Float64(j * t) * y4) * b); elseif (t <= -2.4e+50) tmp = t_1; elseif (t <= -1.32e-123) tmp = Float64(Float64(Float64(y0 * x) * c) * y2); elseif (t <= 3.45e-273) tmp = Float64(Float64(Float64(y3 * c) * y) * y4); elseif (t <= 1e+45) tmp = Float64(Float64(y0 * c) * Float64(y2 * x)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = ((y5 * t) * a) * y2; tmp = 0.0; if (t <= -6e+152) tmp = ((j * t) * y4) * b; elseif (t <= -2.4e+50) tmp = t_1; elseif (t <= -1.32e-123) tmp = ((y0 * x) * c) * y2; elseif (t <= 3.45e-273) tmp = ((y3 * c) * y) * y4; elseif (t <= 1e+45) tmp = (y0 * c) * (y2 * x); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(y5 * t), $MachinePrecision] * a), $MachinePrecision] * y2), $MachinePrecision]}, If[LessEqual[t, -6e+152], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[t, -2.4e+50], t$95$1, If[LessEqual[t, -1.32e-123], N[(N[(N[(y0 * x), $MachinePrecision] * c), $MachinePrecision] * y2), $MachinePrecision], If[LessEqual[t, 3.45e-273], N[(N[(N[(y3 * c), $MachinePrecision] * y), $MachinePrecision] * y4), $MachinePrecision], If[LessEqual[t, 1e+45], N[(N[(y0 * c), $MachinePrecision] * N[(y2 * x), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(y5 \cdot t\right) \cdot a\right) \cdot y2\\
\mathbf{if}\;t \leq -6 \cdot 10^{+152}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{+50}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.32 \cdot 10^{-123}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot c\right) \cdot y2\\
\mathbf{elif}\;t \leq 3.45 \cdot 10^{-273}:\\
\;\;\;\;\left(\left(y3 \cdot c\right) \cdot y\right) \cdot y4\\
\mathbf{elif}\;t \leq 10^{+45}:\\
\;\;\;\;\left(y0 \cdot c\right) \cdot \left(y2 \cdot x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -5.99999999999999981e152Initial program 27.8%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.5%
Taylor expanded in j around inf
Applied rewrites47.9%
Taylor expanded in t around inf
Applied rewrites45.7%
if -5.99999999999999981e152 < t < -2.4000000000000002e50 or 9.9999999999999993e44 < t Initial program 15.3%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites34.5%
Taylor expanded in y5 around inf
Applied rewrites36.8%
Taylor expanded in a around inf
Applied rewrites36.7%
if -2.4000000000000002e50 < t < -1.31999999999999994e-123Initial program 34.6%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites34.2%
Taylor expanded in x around inf
Applied rewrites36.3%
Taylor expanded in c around inf
Applied rewrites27.0%
if -1.31999999999999994e-123 < t < 3.44999999999999992e-273Initial program 39.6%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites54.1%
Taylor expanded in c around inf
Applied rewrites40.5%
Taylor expanded in y4 around inf
Applied rewrites29.7%
Applied rewrites38.3%
if 3.44999999999999992e-273 < t < 9.9999999999999993e44Initial program 29.7%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites32.7%
Taylor expanded in x around inf
Applied rewrites29.5%
Taylor expanded in x around inf
Applied rewrites29.7%
Taylor expanded in c around inf
Applied rewrites28.0%
Final simplification34.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* (fma t y2 (* (- y) y3)) y5) a)))
(if (<= y5 -2.5e+56)
t_1
(if (<= y5 -4.7e-251)
(* (* (fma y1 y3 (* (- b) t)) z) a)
(if (<= y5 5.2e-33) (* (* (fma b y (* (- y2) y1)) x) a) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (fma(t, y2, (-y * y3)) * y5) * a;
double tmp;
if (y5 <= -2.5e+56) {
tmp = t_1;
} else if (y5 <= -4.7e-251) {
tmp = (fma(y1, y3, (-b * t)) * z) * a;
} else if (y5 <= 5.2e-33) {
tmp = (fma(b, y, (-y2 * y1)) * x) * a;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(fma(t, y2, Float64(Float64(-y) * y3)) * y5) * a) tmp = 0.0 if (y5 <= -2.5e+56) tmp = t_1; elseif (y5 <= -4.7e-251) tmp = Float64(Float64(fma(y1, y3, Float64(Float64(-b) * t)) * z) * a); elseif (y5 <= 5.2e-33) tmp = Float64(Float64(fma(b, y, Float64(Float64(-y2) * y1)) * x) * a); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(t * y2 + N[((-y) * y3), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[y5, -2.5e+56], t$95$1, If[LessEqual[y5, -4.7e-251], N[(N[(N[(y1 * y3 + N[((-b) * t), $MachinePrecision]), $MachinePrecision] * z), $MachinePrecision] * a), $MachinePrecision], If[LessEqual[y5, 5.2e-33], N[(N[(N[(b * y + N[((-y2) * y1), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] * a), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\mathsf{fma}\left(t, y2, \left(-y\right) \cdot y3\right) \cdot y5\right) \cdot a\\
\mathbf{if}\;y5 \leq -2.5 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq -4.7 \cdot 10^{-251}:\\
\;\;\;\;\left(\mathsf{fma}\left(y1, y3, \left(-b\right) \cdot t\right) \cdot z\right) \cdot a\\
\mathbf{elif}\;y5 \leq 5.2 \cdot 10^{-33}:\\
\;\;\;\;\left(\mathsf{fma}\left(b, y, \left(-y2\right) \cdot y1\right) \cdot x\right) \cdot a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -2.50000000000000012e56 or 5.19999999999999988e-33 < y5 Initial program 22.7%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.9%
Taylor expanded in y5 around inf
Applied rewrites48.3%
if -2.50000000000000012e56 < y5 < -4.7000000000000001e-251Initial program 35.2%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites35.9%
Taylor expanded in z around inf
Applied rewrites46.4%
if -4.7000000000000001e-251 < y5 < 5.19999999999999988e-33Initial program 30.9%
Taylor expanded in a around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites38.3%
Taylor expanded in x around inf
Applied rewrites41.4%
Final simplification45.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* y4 y3) (fma c y (* (- j) y1)))))
(if (<= y4 -1.15e+207)
t_1
(if (<= y4 1.18e-288)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(if (<= y4 5e+158) (* (fma j y5 (* (- c) z)) (* y3 y0)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * y3) * fma(c, y, (-j * y1));
double tmp;
if (y4 <= -1.15e+207) {
tmp = t_1;
} else if (y4 <= 1.18e-288) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else if (y4 <= 5e+158) {
tmp = fma(j, y5, (-c * z)) * (y3 * y0);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y4 * y3) * fma(c, y, Float64(Float64(-j) * y1))) tmp = 0.0 if (y4 <= -1.15e+207) tmp = t_1; elseif (y4 <= 1.18e-288) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); elseif (y4 <= 5e+158) tmp = Float64(fma(j, y5, Float64(Float64(-c) * z)) * Float64(y3 * y0)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y4 * y3), $MachinePrecision] * N[(c * y + N[((-j) * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y4, -1.15e+207], t$95$1, If[LessEqual[y4, 1.18e-288], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], If[LessEqual[y4, 5e+158], N[(N[(j * y5 + N[((-c) * z), $MachinePrecision]), $MachinePrecision] * N[(y3 * y0), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y4 \cdot y3\right) \cdot \mathsf{fma}\left(c, y, \left(-j\right) \cdot y1\right)\\
\mathbf{if}\;y4 \leq -1.15 \cdot 10^{+207}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y4 \leq 1.18 \cdot 10^{-288}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{elif}\;y4 \leq 5 \cdot 10^{+158}:\\
\;\;\;\;\mathsf{fma}\left(j, y5, \left(-c\right) \cdot z\right) \cdot \left(y3 \cdot y0\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y4 < -1.14999999999999997e207 or 4.9999999999999996e158 < y4 Initial program 17.1%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites53.1%
Taylor expanded in c around inf
Applied rewrites42.3%
Taylor expanded in y4 around inf
Applied rewrites54.0%
if -1.14999999999999997e207 < y4 < 1.18000000000000006e-288Initial program 32.5%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites39.6%
Taylor expanded in c around inf
Applied rewrites18.8%
Taylor expanded in y5 around inf
Applied rewrites37.4%
if 1.18000000000000006e-288 < y4 < 4.9999999999999996e158Initial program 28.6%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites41.2%
Taylor expanded in c around inf
Applied rewrites25.4%
Taylor expanded in y0 around inf
Applied rewrites34.7%
Final simplification39.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= c -9.5e+185)
(* (* y0 c) (* y2 x))
(if (<= c 98000000000000.0)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(* (* y3 c) (fma (- y0) z (* y4 y))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (c <= -9.5e+185) {
tmp = (y0 * c) * (y2 * x);
} else if (c <= 98000000000000.0) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else {
tmp = (y3 * c) * fma(-y0, z, (y4 * y));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (c <= -9.5e+185) tmp = Float64(Float64(y0 * c) * Float64(y2 * x)); elseif (c <= 98000000000000.0) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); else tmp = Float64(Float64(y3 * c) * fma(Float64(-y0), z, Float64(y4 * y))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[c, -9.5e+185], N[(N[(y0 * c), $MachinePrecision] * N[(y2 * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 98000000000000.0], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], N[(N[(y3 * c), $MachinePrecision] * N[((-y0) * z + N[(y4 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -9.5 \cdot 10^{+185}:\\
\;\;\;\;\left(y0 \cdot c\right) \cdot \left(y2 \cdot x\right)\\
\mathbf{elif}\;c \leq 98000000000000:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{else}:\\
\;\;\;\;\left(y3 \cdot c\right) \cdot \mathsf{fma}\left(-y0, z, y4 \cdot y\right)\\
\end{array}
\end{array}
if c < -9.4999999999999995e185Initial program 28.6%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites38.2%
Taylor expanded in x around inf
Applied rewrites43.7%
Taylor expanded in x around inf
Applied rewrites48.4%
Taylor expanded in c around inf
Applied rewrites48.5%
if -9.4999999999999995e185 < c < 9.8e13Initial program 28.0%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.3%
Taylor expanded in c around inf
Applied rewrites16.3%
Taylor expanded in y5 around inf
Applied rewrites29.2%
if 9.8e13 < c Initial program 27.3%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites52.1%
Taylor expanded in c around inf
Applied rewrites48.1%
Final simplification35.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y4 -1.55e+158)
(* (* (* j t) y4) b)
(if (<= y4 1.15e+214)
(* (* (fma (- a) y (* y0 j)) y5) y3)
(* (* (* y4 y3) c) y))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y4 <= -1.55e+158) {
tmp = ((j * t) * y4) * b;
} else if (y4 <= 1.15e+214) {
tmp = (fma(-a, y, (y0 * j)) * y5) * y3;
} else {
tmp = ((y4 * y3) * c) * y;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y4 <= -1.55e+158) tmp = Float64(Float64(Float64(j * t) * y4) * b); elseif (y4 <= 1.15e+214) tmp = Float64(Float64(fma(Float64(-a), y, Float64(y0 * j)) * y5) * y3); else tmp = Float64(Float64(Float64(y4 * y3) * c) * y); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y4, -1.55e+158], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[y4, 1.15e+214], N[(N[(N[((-a) * y + N[(y0 * j), $MachinePrecision]), $MachinePrecision] * y5), $MachinePrecision] * y3), $MachinePrecision], N[(N[(N[(y4 * y3), $MachinePrecision] * c), $MachinePrecision] * y), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y4 \leq -1.55 \cdot 10^{+158}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{elif}\;y4 \leq 1.15 \cdot 10^{+214}:\\
\;\;\;\;\left(\mathsf{fma}\left(-a, y, y0 \cdot j\right) \cdot y5\right) \cdot y3\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y4 \cdot y3\right) \cdot c\right) \cdot y\\
\end{array}
\end{array}
if y4 < -1.5500000000000001e158Initial program 24.3%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites66.0%
Taylor expanded in j around inf
Applied rewrites49.0%
Taylor expanded in t around inf
Applied rewrites49.4%
if -1.5500000000000001e158 < y4 < 1.15e214Initial program 29.5%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites41.7%
Taylor expanded in c around inf
Applied rewrites22.5%
Taylor expanded in y5 around inf
Applied rewrites31.8%
if 1.15e214 < y4 Initial program 19.2%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites46.3%
Taylor expanded in c around inf
Applied rewrites43.4%
Taylor expanded in y4 around inf
Applied rewrites39.9%
Applied rewrites47.3%
Final simplification35.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y0 -3.3e+84) (* (* (* y0 x) y2) c) (if (<= y0 4.2e-30) (* (* (* j t) y4) b) (* (* (* y0 x) c) y2))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -3.3e+84) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 4.2e-30) {
tmp = ((j * t) * y4) * b;
} else {
tmp = ((y0 * x) * c) * y2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y0 <= (-3.3d+84)) then
tmp = ((y0 * x) * y2) * c
else if (y0 <= 4.2d-30) then
tmp = ((j * t) * y4) * b
else
tmp = ((y0 * x) * c) * y2
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -3.3e+84) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 4.2e-30) {
tmp = ((j * t) * y4) * b;
} else {
tmp = ((y0 * x) * c) * y2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y0 <= -3.3e+84: tmp = ((y0 * x) * y2) * c elif y0 <= 4.2e-30: tmp = ((j * t) * y4) * b else: tmp = ((y0 * x) * c) * y2 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y0 <= -3.3e+84) tmp = Float64(Float64(Float64(y0 * x) * y2) * c); elseif (y0 <= 4.2e-30) tmp = Float64(Float64(Float64(j * t) * y4) * b); else tmp = Float64(Float64(Float64(y0 * x) * c) * y2); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y0 <= -3.3e+84) tmp = ((y0 * x) * y2) * c; elseif (y0 <= 4.2e-30) tmp = ((j * t) * y4) * b; else tmp = ((y0 * x) * c) * y2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y0, -3.3e+84], N[(N[(N[(y0 * x), $MachinePrecision] * y2), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[y0, 4.2e-30], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], N[(N[(N[(y0 * x), $MachinePrecision] * c), $MachinePrecision] * y2), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -3.3 \cdot 10^{+84}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot y2\right) \cdot c\\
\mathbf{elif}\;y0 \leq 4.2 \cdot 10^{-30}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot c\right) \cdot y2\\
\end{array}
\end{array}
if y0 < -3.30000000000000017e84Initial program 17.6%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites37.8%
Taylor expanded in x around inf
Applied rewrites35.0%
Taylor expanded in x around inf
Applied rewrites25.8%
Taylor expanded in c around inf
Applied rewrites35.9%
if -3.30000000000000017e84 < y0 < 4.2000000000000004e-30Initial program 31.7%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.6%
Taylor expanded in j around inf
Applied rewrites22.3%
Taylor expanded in t around inf
Applied rewrites24.5%
if 4.2000000000000004e-30 < y0 Initial program 29.4%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.0%
Taylor expanded in x around inf
Applied rewrites39.3%
Taylor expanded in c around inf
Applied rewrites35.0%
Final simplification29.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y0 -3.3e+84) (* (* (* y0 x) y2) c) (if (<= y0 3.4e-38) (* (* (* j t) y4) b) (* (* y0 c) (* y2 x)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -3.3e+84) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 3.4e-38) {
tmp = ((j * t) * y4) * b;
} else {
tmp = (y0 * c) * (y2 * x);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y0 <= (-3.3d+84)) then
tmp = ((y0 * x) * y2) * c
else if (y0 <= 3.4d-38) then
tmp = ((j * t) * y4) * b
else
tmp = (y0 * c) * (y2 * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -3.3e+84) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 3.4e-38) {
tmp = ((j * t) * y4) * b;
} else {
tmp = (y0 * c) * (y2 * x);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y0 <= -3.3e+84: tmp = ((y0 * x) * y2) * c elif y0 <= 3.4e-38: tmp = ((j * t) * y4) * b else: tmp = (y0 * c) * (y2 * x) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y0 <= -3.3e+84) tmp = Float64(Float64(Float64(y0 * x) * y2) * c); elseif (y0 <= 3.4e-38) tmp = Float64(Float64(Float64(j * t) * y4) * b); else tmp = Float64(Float64(y0 * c) * Float64(y2 * x)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y0 <= -3.3e+84) tmp = ((y0 * x) * y2) * c; elseif (y0 <= 3.4e-38) tmp = ((j * t) * y4) * b; else tmp = (y0 * c) * (y2 * x); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y0, -3.3e+84], N[(N[(N[(y0 * x), $MachinePrecision] * y2), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[y0, 3.4e-38], N[(N[(N[(j * t), $MachinePrecision] * y4), $MachinePrecision] * b), $MachinePrecision], N[(N[(y0 * c), $MachinePrecision] * N[(y2 * x), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -3.3 \cdot 10^{+84}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot y2\right) \cdot c\\
\mathbf{elif}\;y0 \leq 3.4 \cdot 10^{-38}:\\
\;\;\;\;\left(\left(j \cdot t\right) \cdot y4\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;\left(y0 \cdot c\right) \cdot \left(y2 \cdot x\right)\\
\end{array}
\end{array}
if y0 < -3.30000000000000017e84Initial program 17.6%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites37.8%
Taylor expanded in x around inf
Applied rewrites35.0%
Taylor expanded in x around inf
Applied rewrites25.8%
Taylor expanded in c around inf
Applied rewrites35.9%
if -3.30000000000000017e84 < y0 < 3.4000000000000002e-38Initial program 31.7%
Taylor expanded in b around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.6%
Taylor expanded in j around inf
Applied rewrites22.3%
Taylor expanded in t around inf
Applied rewrites24.5%
if 3.4000000000000002e-38 < y0 Initial program 29.4%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites42.0%
Taylor expanded in x around inf
Applied rewrites39.3%
Taylor expanded in x around inf
Applied rewrites36.6%
Taylor expanded in c around inf
Applied rewrites33.5%
Final simplification29.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y0 -2.4e+110) (* (* (* y0 x) y2) c) (if (<= y0 6.4e+33) (* (* (* y3 c) y) y4) (* (* y0 c) (* y2 x)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -2.4e+110) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 6.4e+33) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = (y0 * c) * (y2 * x);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y0 <= (-2.4d+110)) then
tmp = ((y0 * x) * y2) * c
else if (y0 <= 6.4d+33) then
tmp = ((y3 * c) * y) * y4
else
tmp = (y0 * c) * (y2 * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -2.4e+110) {
tmp = ((y0 * x) * y2) * c;
} else if (y0 <= 6.4e+33) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = (y0 * c) * (y2 * x);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y0 <= -2.4e+110: tmp = ((y0 * x) * y2) * c elif y0 <= 6.4e+33: tmp = ((y3 * c) * y) * y4 else: tmp = (y0 * c) * (y2 * x) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y0 <= -2.4e+110) tmp = Float64(Float64(Float64(y0 * x) * y2) * c); elseif (y0 <= 6.4e+33) tmp = Float64(Float64(Float64(y3 * c) * y) * y4); else tmp = Float64(Float64(y0 * c) * Float64(y2 * x)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y0 <= -2.4e+110) tmp = ((y0 * x) * y2) * c; elseif (y0 <= 6.4e+33) tmp = ((y3 * c) * y) * y4; else tmp = (y0 * c) * (y2 * x); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y0, -2.4e+110], N[(N[(N[(y0 * x), $MachinePrecision] * y2), $MachinePrecision] * c), $MachinePrecision], If[LessEqual[y0, 6.4e+33], N[(N[(N[(y3 * c), $MachinePrecision] * y), $MachinePrecision] * y4), $MachinePrecision], N[(N[(y0 * c), $MachinePrecision] * N[(y2 * x), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -2.4 \cdot 10^{+110}:\\
\;\;\;\;\left(\left(y0 \cdot x\right) \cdot y2\right) \cdot c\\
\mathbf{elif}\;y0 \leq 6.4 \cdot 10^{+33}:\\
\;\;\;\;\left(\left(y3 \cdot c\right) \cdot y\right) \cdot y4\\
\mathbf{else}:\\
\;\;\;\;\left(y0 \cdot c\right) \cdot \left(y2 \cdot x\right)\\
\end{array}
\end{array}
if y0 < -2.40000000000000012e110Initial program 18.1%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites40.5%
Taylor expanded in x around inf
Applied rewrites37.1%
Taylor expanded in x around inf
Applied rewrites27.5%
Taylor expanded in c around inf
Applied rewrites39.2%
if -2.40000000000000012e110 < y0 < 6.40000000000000034e33Initial program 32.2%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.7%
Taylor expanded in c around inf
Applied rewrites23.5%
Taylor expanded in y4 around inf
Applied rewrites19.0%
Applied rewrites20.8%
if 6.40000000000000034e33 < y0 Initial program 25.2%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites39.8%
Taylor expanded in x around inf
Applied rewrites40.2%
Taylor expanded in x around inf
Applied rewrites38.6%
Taylor expanded in c around inf
Applied rewrites35.1%
Final simplification27.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (let* ((t_1 (* (* (* y0 x) y2) c))) (if (<= y0 -2.4e+110) t_1 (if (<= y0 6.4e+33) (* (* (* y3 c) y) y4) t_1))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = ((y0 * x) * y2) * c;
double tmp;
if (y0 <= -2.4e+110) {
tmp = t_1;
} else if (y0 <= 6.4e+33) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = ((y0 * x) * y2) * c
if (y0 <= (-2.4d+110)) then
tmp = t_1
else if (y0 <= 6.4d+33) then
tmp = ((y3 * c) * y) * y4
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = ((y0 * x) * y2) * c;
double tmp;
if (y0 <= -2.4e+110) {
tmp = t_1;
} else if (y0 <= 6.4e+33) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = ((y0 * x) * y2) * c tmp = 0 if y0 <= -2.4e+110: tmp = t_1 elif y0 <= 6.4e+33: tmp = ((y3 * c) * y) * y4 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(Float64(y0 * x) * y2) * c) tmp = 0.0 if (y0 <= -2.4e+110) tmp = t_1; elseif (y0 <= 6.4e+33) tmp = Float64(Float64(Float64(y3 * c) * y) * y4); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = ((y0 * x) * y2) * c; tmp = 0.0; if (y0 <= -2.4e+110) tmp = t_1; elseif (y0 <= 6.4e+33) tmp = ((y3 * c) * y) * y4; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(N[(y0 * x), $MachinePrecision] * y2), $MachinePrecision] * c), $MachinePrecision]}, If[LessEqual[y0, -2.4e+110], t$95$1, If[LessEqual[y0, 6.4e+33], N[(N[(N[(y3 * c), $MachinePrecision] * y), $MachinePrecision] * y4), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(y0 \cdot x\right) \cdot y2\right) \cdot c\\
\mathbf{if}\;y0 \leq -2.4 \cdot 10^{+110}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq 6.4 \cdot 10^{+33}:\\
\;\;\;\;\left(\left(y3 \cdot c\right) \cdot y\right) \cdot y4\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y0 < -2.40000000000000012e110 or 6.40000000000000034e33 < y0 Initial program 21.8%
Taylor expanded in y2 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites40.1%
Taylor expanded in x around inf
Applied rewrites38.7%
Taylor expanded in x around inf
Applied rewrites33.4%
Taylor expanded in c around inf
Applied rewrites34.4%
if -2.40000000000000012e110 < y0 < 6.40000000000000034e33Initial program 32.2%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.7%
Taylor expanded in c around inf
Applied rewrites23.5%
Taylor expanded in y4 around inf
Applied rewrites19.0%
Applied rewrites20.8%
Final simplification26.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y4 4.4e+106) (* (* (* y3 c) y) y4) (* (* (* y4 y3) c) y)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y4 <= 4.4e+106) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = ((y4 * y3) * c) * y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y4 <= 4.4d+106) then
tmp = ((y3 * c) * y) * y4
else
tmp = ((y4 * y3) * c) * y
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y4 <= 4.4e+106) {
tmp = ((y3 * c) * y) * y4;
} else {
tmp = ((y4 * y3) * c) * y;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y4 <= 4.4e+106: tmp = ((y3 * c) * y) * y4 else: tmp = ((y4 * y3) * c) * y return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y4 <= 4.4e+106) tmp = Float64(Float64(Float64(y3 * c) * y) * y4); else tmp = Float64(Float64(Float64(y4 * y3) * c) * y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y4 <= 4.4e+106) tmp = ((y3 * c) * y) * y4; else tmp = ((y4 * y3) * c) * y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y4, 4.4e+106], N[(N[(N[(y3 * c), $MachinePrecision] * y), $MachinePrecision] * y4), $MachinePrecision], N[(N[(N[(y4 * y3), $MachinePrecision] * c), $MachinePrecision] * y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y4 \leq 4.4 \cdot 10^{+106}:\\
\;\;\;\;\left(\left(y3 \cdot c\right) \cdot y\right) \cdot y4\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y4 \cdot y3\right) \cdot c\right) \cdot y\\
\end{array}
\end{array}
if y4 < 4.39999999999999983e106Initial program 30.4%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites41.9%
Taylor expanded in c around inf
Applied rewrites23.2%
Taylor expanded in y4 around inf
Applied rewrites13.0%
Applied rewrites16.0%
if 4.39999999999999983e106 < y4 Initial program 15.9%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites48.0%
Taylor expanded in c around inf
Applied rewrites39.7%
Taylor expanded in y4 around inf
Applied rewrites29.0%
Applied rewrites37.8%
Final simplification19.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= z 2.2e-226) (* (* y4 y3) (* c y)) (* (* y4 c) (* y3 y))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (z <= 2.2e-226) {
tmp = (y4 * y3) * (c * y);
} else {
tmp = (y4 * c) * (y3 * y);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (z <= 2.2d-226) then
tmp = (y4 * y3) * (c * y)
else
tmp = (y4 * c) * (y3 * y)
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (z <= 2.2e-226) {
tmp = (y4 * y3) * (c * y);
} else {
tmp = (y4 * c) * (y3 * y);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if z <= 2.2e-226: tmp = (y4 * y3) * (c * y) else: tmp = (y4 * c) * (y3 * y) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (z <= 2.2e-226) tmp = Float64(Float64(y4 * y3) * Float64(c * y)); else tmp = Float64(Float64(y4 * c) * Float64(y3 * y)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (z <= 2.2e-226) tmp = (y4 * y3) * (c * y); else tmp = (y4 * c) * (y3 * y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[z, 2.2e-226], N[(N[(y4 * y3), $MachinePrecision] * N[(c * y), $MachinePrecision]), $MachinePrecision], N[(N[(y4 * c), $MachinePrecision] * N[(y3 * y), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq 2.2 \cdot 10^{-226}:\\
\;\;\;\;\left(y4 \cdot y3\right) \cdot \left(c \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y4 \cdot c\right) \cdot \left(y3 \cdot y\right)\\
\end{array}
\end{array}
if z < 2.2e-226Initial program 26.0%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites40.2%
Taylor expanded in c around inf
Applied rewrites22.6%
Taylor expanded in y4 around inf
Applied rewrites15.8%
Applied rewrites17.3%
if 2.2e-226 < z Initial program 30.0%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites45.9%
Taylor expanded in c around inf
Applied rewrites29.6%
Taylor expanded in y4 around inf
Applied rewrites15.6%
Applied rewrites20.0%
Final simplification18.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y2 5.2e+58) (* (* (* y4 y3) c) y) (* (* (* y3 y) y4) c)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= 5.2e+58) {
tmp = ((y4 * y3) * c) * y;
} else {
tmp = ((y3 * y) * y4) * c;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y2 <= 5.2d+58) then
tmp = ((y4 * y3) * c) * y
else
tmp = ((y3 * y) * y4) * c
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= 5.2e+58) {
tmp = ((y4 * y3) * c) * y;
} else {
tmp = ((y3 * y) * y4) * c;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y2 <= 5.2e+58: tmp = ((y4 * y3) * c) * y else: tmp = ((y3 * y) * y4) * c return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y2 <= 5.2e+58) tmp = Float64(Float64(Float64(y4 * y3) * c) * y); else tmp = Float64(Float64(Float64(y3 * y) * y4) * c); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y2 <= 5.2e+58) tmp = ((y4 * y3) * c) * y; else tmp = ((y3 * y) * y4) * c; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y2, 5.2e+58], N[(N[(N[(y4 * y3), $MachinePrecision] * c), $MachinePrecision] * y), $MachinePrecision], N[(N[(N[(y3 * y), $MachinePrecision] * y4), $MachinePrecision] * c), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq 5.2 \cdot 10^{+58}:\\
\;\;\;\;\left(\left(y4 \cdot y3\right) \cdot c\right) \cdot y\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y3 \cdot y\right) \cdot y4\right) \cdot c\\
\end{array}
\end{array}
if y2 < 5.19999999999999976e58Initial program 30.0%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites47.8%
Taylor expanded in c around inf
Applied rewrites26.4%
Taylor expanded in y4 around inf
Applied rewrites14.9%
Applied rewrites17.8%
if 5.19999999999999976e58 < y2 Initial program 19.7%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites24.0%
Taylor expanded in c around inf
Applied rewrites24.6%
Taylor expanded in y4 around inf
Applied rewrites19.0%
Final simplification18.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* (* (* y3 y) y4) c))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return ((y3 * y) * y4) * c;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = ((y3 * y) * y4) * c
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
return ((y3 * y) * y4) * c;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return ((y3 * y) * y4) * c
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(y3 * y) * y4) * c) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = ((y3 * y) * y4) * c; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(y3 * y), $MachinePrecision] * y4), $MachinePrecision] * c), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(y3 \cdot y\right) \cdot y4\right) \cdot c
\end{array}
Initial program 27.9%
Taylor expanded in y3 around inf
*-commutativeN/A
lower-*.f64N/A
Applied rewrites43.0%
Taylor expanded in c around inf
Applied rewrites26.0%
Taylor expanded in y4 around inf
Applied rewrites15.7%
Final simplification15.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y4 c) (* y5 a)))
(t_2 (- (* x y2) (* z y3)))
(t_3 (- (* y2 t) (* y3 y)))
(t_4 (- (* k y2) (* j y3)))
(t_5 (- (* y4 b) (* y5 i)))
(t_6 (* (- (* j t) (* k y)) t_5))
(t_7 (- (* b a) (* i c)))
(t_8 (* t_7 (- (* y x) (* t z))))
(t_9 (- (* j x) (* k z)))
(t_10 (* (- (* b y0) (* i y1)) t_9))
(t_11 (* t_9 (- (* y0 b) (* i y1))))
(t_12 (- (* y4 y1) (* y5 y0)))
(t_13 (* t_4 t_12))
(t_14 (* (- (* y2 k) (* y3 j)) t_12))
(t_15
(+
(-
(-
(- (* (* k y) (* y5 i)) (* (* y b) (* y4 k)))
(* (* y5 t) (* i j)))
(- (* t_3 t_1) t_14))
(- t_8 (- t_11 (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))))
(t_16
(+
(+
(- t_6 (* (* y3 y) (- (* y5 a) (* y4 c))))
(+ (* (* y5 a) (* t y2)) t_13))
(-
(* t_2 (- (* c y0) (* a y1)))
(- t_10 (* (- (* y x) (* z t)) t_7)))))
(t_17 (- (* t y2) (* y y3))))
(if (< y4 -7.206256231996481e+60)
(- (- t_8 (- t_11 t_6)) (- (/ t_3 (/ 1.0 t_1)) t_14))
(if (< y4 -3.364603505246317e-66)
(+
(-
(- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x)))
t_10)
(-
(* (- (* y0 c) (* a y1)) t_2)
(- (* t_17 (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) t_4))))
(if (< y4 -1.2000065055686116e-105)
t_16
(if (< y4 6.718963124057495e-279)
t_15
(if (< y4 4.77962681403792e-222)
t_16
(if (< y4 2.2852241541266835e-175)
t_15
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(-
(* k (* i (* z y1)))
(+ (* j (* i (* x y1))) (* y0 (* k (* z b))))))
(-
(* z (* y3 (* a y1)))
(+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3))))))
(* (- (* t j) (* y k)) t_5))
(* t_17 t_1))
t_13)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_10
real(8) :: t_11
real(8) :: t_12
real(8) :: t_13
real(8) :: t_14
real(8) :: t_15
real(8) :: t_16
real(8) :: t_17
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: t_9
real(8) :: tmp
t_1 = (y4 * c) - (y5 * a)
t_2 = (x * y2) - (z * y3)
t_3 = (y2 * t) - (y3 * y)
t_4 = (k * y2) - (j * y3)
t_5 = (y4 * b) - (y5 * i)
t_6 = ((j * t) - (k * y)) * t_5
t_7 = (b * a) - (i * c)
t_8 = t_7 * ((y * x) - (t * z))
t_9 = (j * x) - (k * z)
t_10 = ((b * y0) - (i * y1)) * t_9
t_11 = t_9 * ((y0 * b) - (i * y1))
t_12 = (y4 * y1) - (y5 * y0)
t_13 = t_4 * t_12
t_14 = ((y2 * k) - (y3 * j)) * t_12
t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))))
t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)))
t_17 = (t * y2) - (y * y3)
if (y4 < (-7.206256231996481d+60)) then
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0d0 / t_1)) - t_14)
else if (y4 < (-3.364603505246317d-66)) then
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)))
else if (y4 < (-1.2000065055686116d-105)) then
tmp = t_16
else if (y4 < 6.718963124057495d-279) then
tmp = t_15
else if (y4 < 4.77962681403792d-222) then
tmp = t_16
else if (y4 < 2.2852241541266835d-175) then
tmp = t_15
else
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13
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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y4 * c) - (y5 * a) t_2 = (x * y2) - (z * y3) t_3 = (y2 * t) - (y3 * y) t_4 = (k * y2) - (j * y3) t_5 = (y4 * b) - (y5 * i) t_6 = ((j * t) - (k * y)) * t_5 t_7 = (b * a) - (i * c) t_8 = t_7 * ((y * x) - (t * z)) t_9 = (j * x) - (k * z) t_10 = ((b * y0) - (i * y1)) * t_9 t_11 = t_9 * ((y0 * b) - (i * y1)) t_12 = (y4 * y1) - (y5 * y0) t_13 = t_4 * t_12 t_14 = ((y2 * k) - (y3 * j)) * t_12 t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))) t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))) t_17 = (t * y2) - (y * y3) tmp = 0 if y4 < -7.206256231996481e+60: tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14) elif y4 < -3.364603505246317e-66: tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))) elif y4 < -1.2000065055686116e-105: tmp = t_16 elif y4 < 6.718963124057495e-279: tmp = t_15 elif y4 < 4.77962681403792e-222: tmp = t_16 elif y4 < 2.2852241541266835e-175: tmp = t_15 else: tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y4 * c) - Float64(y5 * a)) t_2 = Float64(Float64(x * y2) - Float64(z * y3)) t_3 = Float64(Float64(y2 * t) - Float64(y3 * y)) t_4 = Float64(Float64(k * y2) - Float64(j * y3)) t_5 = Float64(Float64(y4 * b) - Float64(y5 * i)) t_6 = Float64(Float64(Float64(j * t) - Float64(k * y)) * t_5) t_7 = Float64(Float64(b * a) - Float64(i * c)) t_8 = Float64(t_7 * Float64(Float64(y * x) - Float64(t * z))) t_9 = Float64(Float64(j * x) - Float64(k * z)) t_10 = Float64(Float64(Float64(b * y0) - Float64(i * y1)) * t_9) t_11 = Float64(t_9 * Float64(Float64(y0 * b) - Float64(i * y1))) t_12 = Float64(Float64(y4 * y1) - Float64(y5 * y0)) t_13 = Float64(t_4 * t_12) t_14 = Float64(Float64(Float64(y2 * k) - Float64(y3 * j)) * t_12) t_15 = Float64(Float64(Float64(Float64(Float64(Float64(k * y) * Float64(y5 * i)) - Float64(Float64(y * b) * Float64(y4 * k))) - Float64(Float64(y5 * t) * Float64(i * j))) - Float64(Float64(t_3 * t_1) - t_14)) + Float64(t_8 - Float64(t_11 - Float64(Float64(Float64(y2 * x) - Float64(y3 * z)) * Float64(Float64(c * y0) - Float64(y1 * a)))))) t_16 = Float64(Float64(Float64(t_6 - Float64(Float64(y3 * y) * Float64(Float64(y5 * a) - Float64(y4 * c)))) + Float64(Float64(Float64(y5 * a) * Float64(t * y2)) + t_13)) + Float64(Float64(t_2 * Float64(Float64(c * y0) - Float64(a * y1))) - Float64(t_10 - Float64(Float64(Float64(y * x) - Float64(z * t)) * t_7)))) t_17 = Float64(Float64(t * y2) - Float64(y * y3)) tmp = 0.0 if (y4 < -7.206256231996481e+60) tmp = Float64(Float64(t_8 - Float64(t_11 - t_6)) - Float64(Float64(t_3 / Float64(1.0 / t_1)) - t_14)); elseif (y4 < -3.364603505246317e-66) tmp = Float64(Float64(Float64(Float64(Float64(Float64(t * c) * Float64(i * z)) - Float64(Float64(a * t) * Float64(b * z))) - Float64(Float64(y * c) * Float64(i * x))) - t_10) + Float64(Float64(Float64(Float64(y0 * c) - Float64(a * y1)) * t_2) - Float64(Float64(t_17 * Float64(Float64(y4 * c) - Float64(a * y5))) - Float64(Float64(Float64(y1 * y4) - Float64(y5 * y0)) * t_4)))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(k * Float64(i * Float64(z * y1))) - Float64(Float64(j * Float64(i * Float64(x * y1))) + Float64(y0 * Float64(k * Float64(z * b)))))) + Float64(Float64(z * Float64(y3 * Float64(a * y1))) - Float64(Float64(y2 * Float64(x * Float64(a * y1))) + Float64(y0 * Float64(z * Float64(c * y3)))))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * t_5)) - Float64(t_17 * t_1)) + t_13); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y4 * c) - (y5 * a); t_2 = (x * y2) - (z * y3); t_3 = (y2 * t) - (y3 * y); t_4 = (k * y2) - (j * y3); t_5 = (y4 * b) - (y5 * i); t_6 = ((j * t) - (k * y)) * t_5; t_7 = (b * a) - (i * c); t_8 = t_7 * ((y * x) - (t * z)); t_9 = (j * x) - (k * z); t_10 = ((b * y0) - (i * y1)) * t_9; t_11 = t_9 * ((y0 * b) - (i * y1)); t_12 = (y4 * y1) - (y5 * y0); t_13 = t_4 * t_12; t_14 = ((y2 * k) - (y3 * j)) * t_12; t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))); t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))); t_17 = (t * y2) - (y * y3); tmp = 0.0; if (y4 < -7.206256231996481e+60) tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14); elseif (y4 < -3.364603505246317e-66) tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]}, Block[{t$95$7 = N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(t$95$7 * N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * t$95$9), $MachinePrecision]}, Block[{t$95$11 = N[(t$95$9 * N[(N[(y0 * b), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$12 = N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$13 = N[(t$95$4 * t$95$12), $MachinePrecision]}, Block[{t$95$14 = N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * t$95$12), $MachinePrecision]}, Block[{t$95$15 = N[(N[(N[(N[(N[(N[(k * y), $MachinePrecision] * N[(y5 * i), $MachinePrecision]), $MachinePrecision] - N[(N[(y * b), $MachinePrecision] * N[(y4 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y5 * t), $MachinePrecision] * N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 * t$95$1), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision] + N[(t$95$8 - N[(t$95$11 - N[(N[(N[(y2 * x), $MachinePrecision] - N[(y3 * z), $MachinePrecision]), $MachinePrecision] * N[(N[(c * y0), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$16 = N[(N[(N[(t$95$6 - N[(N[(y3 * y), $MachinePrecision] * N[(N[(y5 * a), $MachinePrecision] - N[(y4 * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y5 * a), $MachinePrecision] * N[(t * y2), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$10 - N[(N[(N[(y * x), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$17 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, If[Less[y4, -7.206256231996481e+60], N[(N[(t$95$8 - N[(t$95$11 - t$95$6), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 / N[(1.0 / t$95$1), $MachinePrecision]), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision], If[Less[y4, -3.364603505246317e-66], N[(N[(N[(N[(N[(N[(t * c), $MachinePrecision] * N[(i * z), $MachinePrecision]), $MachinePrecision] - N[(N[(a * t), $MachinePrecision] * N[(b * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y * c), $MachinePrecision] * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$10), $MachinePrecision] + N[(N[(N[(N[(y0 * c), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision] - N[(N[(t$95$17 * N[(N[(y4 * c), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision] * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Less[y4, -1.2000065055686116e-105], t$95$16, If[Less[y4, 6.718963124057495e-279], t$95$15, If[Less[y4, 4.77962681403792e-222], t$95$16, If[Less[y4, 2.2852241541266835e-175], t$95$15, N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(k * N[(i * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * N[(i * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(k * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y2 * N[(x * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(z * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(t$95$17 * t$95$1), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot c - y5 \cdot a\\
t_2 := x \cdot y2 - z \cdot y3\\
t_3 := y2 \cdot t - y3 \cdot y\\
t_4 := k \cdot y2 - j \cdot y3\\
t_5 := y4 \cdot b - y5 \cdot i\\
t_6 := \left(j \cdot t - k \cdot y\right) \cdot t\_5\\
t_7 := b \cdot a - i \cdot c\\
t_8 := t\_7 \cdot \left(y \cdot x - t \cdot z\right)\\
t_9 := j \cdot x - k \cdot z\\
t_10 := \left(b \cdot y0 - i \cdot y1\right) \cdot t\_9\\
t_11 := t\_9 \cdot \left(y0 \cdot b - i \cdot y1\right)\\
t_12 := y4 \cdot y1 - y5 \cdot y0\\
t_13 := t\_4 \cdot t\_12\\
t_14 := \left(y2 \cdot k - y3 \cdot j\right) \cdot t\_12\\
t_15 := \left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(t\_3 \cdot t\_1 - t\_14\right)\right) + \left(t\_8 - \left(t\_11 - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right)\\
t_16 := \left(\left(t\_6 - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + t\_13\right)\right) + \left(t\_2 \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(t\_10 - \left(y \cdot x - z \cdot t\right) \cdot t\_7\right)\right)\\
t_17 := t \cdot y2 - y \cdot y3\\
\mathbf{if}\;y4 < -7.206256231996481 \cdot 10^{+60}:\\
\;\;\;\;\left(t\_8 - \left(t\_11 - t\_6\right)\right) - \left(\frac{t\_3}{\frac{1}{t\_1}} - t\_14\right)\\
\mathbf{elif}\;y4 < -3.364603505246317 \cdot 10^{-66}:\\
\;\;\;\;\left(\left(\left(\left(t \cdot c\right) \cdot \left(i \cdot z\right) - \left(a \cdot t\right) \cdot \left(b \cdot z\right)\right) - \left(y \cdot c\right) \cdot \left(i \cdot x\right)\right) - t\_10\right) + \left(\left(y0 \cdot c - a \cdot y1\right) \cdot t\_2 - \left(t\_17 \cdot \left(y4 \cdot c - a \cdot y5\right) - \left(y1 \cdot y4 - y5 \cdot y0\right) \cdot t\_4\right)\right)\\
\mathbf{elif}\;y4 < -1.2000065055686116 \cdot 10^{-105}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 6.718963124057495 \cdot 10^{-279}:\\
\;\;\;\;t\_15\\
\mathbf{elif}\;y4 < 4.77962681403792 \cdot 10^{-222}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 2.2852241541266835 \cdot 10^{-175}:\\
\;\;\;\;t\_15\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(j \cdot \left(i \cdot \left(x \cdot y1\right)\right) + y0 \cdot \left(k \cdot \left(z \cdot b\right)\right)\right)\right)\right) + \left(z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right) - \left(y2 \cdot \left(x \cdot \left(a \cdot y1\right)\right) + y0 \cdot \left(z \cdot \left(c \cdot y3\right)\right)\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot t\_5\right) - t\_17 \cdot t\_1\right) + t\_13\\
\end{array}
\end{array}
herbie shell --seed 2024277
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
:alt
(! :herbie-platform default (if (< y4 -7206256231996481000000000000000000000000000000000000000000000) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3364603505246317/1000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -3000016263921529/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 1343792624811499/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 29872667587737/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 4570448308253367/20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))))))))
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))