
(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 33 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 (* y1 (* i (- (* x j) (* z k)))))
(t_2 (- (* k y2) (* j y3)))
(t_3 (- (* y1 y4) (* y0 y5)))
(t_4
(+
(* t_2 t_3)
(*
t
(+
(+ (* z (- (* c i) (* a b))) (* j (- (* b y4) (* i y5))))
(* y2 (- (* a y5) (* c y4)))))))
(t_5
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 t_2))
(* c (- (* y y3) (* t y2))))))
(t_6
(*
a
(+
(+ (* y1 (- (* z y3) (* x y2))) (* b (- (* x y) (* z t))))
(* y5 (- (* t y2) (* y y3)))))))
(if (<= i -6.6e+210)
t_1
(if (<= i -1.1e+106)
(* y5 (* t (- (* a y2) (* i j))))
(if (<= i -2.8e+18)
(*
k
(+
(+ (* y (- (* i y5) (* b y4))) (* y2 t_3))
(* z (- (* b y0) (* i y1)))))
(if (<= i -5e-15)
t_4
(if (<= i -5.2e-63)
t_5
(if (<= i -3.2e-127)
(* (* y1 y2) (- (* k y4) (* x a)))
(if (<= i -2.5e-229)
t_4
(if (<= i 4e-284)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= i 4.8e-38)
t_4
(if (<= i 8.5e+26)
t_6
(if (<= i 6.5e+153)
t_5
(if (<= i 2.2e+197)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= i 4.3e+260) t_6 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 = y1 * (i * ((x * j) - (z * k)));
double t_2 = (k * y2) - (j * y3);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = (t_2 * t_3) + (t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * ((a * y5) - (c * y4)))));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_2)) + (c * ((y * y3) - (t * y2))));
double t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))));
double tmp;
if (i <= -6.6e+210) {
tmp = t_1;
} else if (i <= -1.1e+106) {
tmp = y5 * (t * ((a * y2) - (i * j)));
} else if (i <= -2.8e+18) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_3)) + (z * ((b * y0) - (i * y1))));
} else if (i <= -5e-15) {
tmp = t_4;
} else if (i <= -5.2e-63) {
tmp = t_5;
} else if (i <= -3.2e-127) {
tmp = (y1 * y2) * ((k * y4) - (x * a));
} else if (i <= -2.5e-229) {
tmp = t_4;
} else if (i <= 4e-284) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (i <= 4.8e-38) {
tmp = t_4;
} else if (i <= 8.5e+26) {
tmp = t_6;
} else if (i <= 6.5e+153) {
tmp = t_5;
} else if (i <= 2.2e+197) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (i <= 4.3e+260) {
tmp = t_6;
} 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) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: tmp
t_1 = y1 * (i * ((x * j) - (z * k)))
t_2 = (k * y2) - (j * y3)
t_3 = (y1 * y4) - (y0 * y5)
t_4 = (t_2 * t_3) + (t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * ((a * y5) - (c * y4)))))
t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_2)) + (c * ((y * y3) - (t * y2))))
t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))))
if (i <= (-6.6d+210)) then
tmp = t_1
else if (i <= (-1.1d+106)) then
tmp = y5 * (t * ((a * y2) - (i * j)))
else if (i <= (-2.8d+18)) then
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_3)) + (z * ((b * y0) - (i * y1))))
else if (i <= (-5d-15)) then
tmp = t_4
else if (i <= (-5.2d-63)) then
tmp = t_5
else if (i <= (-3.2d-127)) then
tmp = (y1 * y2) * ((k * y4) - (x * a))
else if (i <= (-2.5d-229)) then
tmp = t_4
else if (i <= 4d-284) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (i <= 4.8d-38) then
tmp = t_4
else if (i <= 8.5d+26) then
tmp = t_6
else if (i <= 6.5d+153) then
tmp = t_5
else if (i <= 2.2d+197) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (i <= 4.3d+260) then
tmp = t_6
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 = y1 * (i * ((x * j) - (z * k)));
double t_2 = (k * y2) - (j * y3);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = (t_2 * t_3) + (t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * ((a * y5) - (c * y4)))));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_2)) + (c * ((y * y3) - (t * y2))));
double t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))));
double tmp;
if (i <= -6.6e+210) {
tmp = t_1;
} else if (i <= -1.1e+106) {
tmp = y5 * (t * ((a * y2) - (i * j)));
} else if (i <= -2.8e+18) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_3)) + (z * ((b * y0) - (i * y1))));
} else if (i <= -5e-15) {
tmp = t_4;
} else if (i <= -5.2e-63) {
tmp = t_5;
} else if (i <= -3.2e-127) {
tmp = (y1 * y2) * ((k * y4) - (x * a));
} else if (i <= -2.5e-229) {
tmp = t_4;
} else if (i <= 4e-284) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (i <= 4.8e-38) {
tmp = t_4;
} else if (i <= 8.5e+26) {
tmp = t_6;
} else if (i <= 6.5e+153) {
tmp = t_5;
} else if (i <= 2.2e+197) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (i <= 4.3e+260) {
tmp = t_6;
} 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 = y1 * (i * ((x * j) - (z * k))) t_2 = (k * y2) - (j * y3) t_3 = (y1 * y4) - (y0 * y5) t_4 = (t_2 * t_3) + (t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * ((a * y5) - (c * y4))))) t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_2)) + (c * ((y * y3) - (t * y2)))) t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3)))) tmp = 0 if i <= -6.6e+210: tmp = t_1 elif i <= -1.1e+106: tmp = y5 * (t * ((a * y2) - (i * j))) elif i <= -2.8e+18: tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_3)) + (z * ((b * y0) - (i * y1)))) elif i <= -5e-15: tmp = t_4 elif i <= -5.2e-63: tmp = t_5 elif i <= -3.2e-127: tmp = (y1 * y2) * ((k * y4) - (x * a)) elif i <= -2.5e-229: tmp = t_4 elif i <= 4e-284: tmp = a * (y * ((x * b) - (y3 * y5))) elif i <= 4.8e-38: tmp = t_4 elif i <= 8.5e+26: tmp = t_6 elif i <= 6.5e+153: tmp = t_5 elif i <= 2.2e+197: tmp = y * (y5 * ((i * k) - (a * y3))) elif i <= 4.3e+260: tmp = t_6 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(y1 * Float64(i * Float64(Float64(x * j) - Float64(z * k)))) t_2 = Float64(Float64(k * y2) - Float64(j * y3)) t_3 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_4 = Float64(Float64(t_2 * t_3) + Float64(t * Float64(Float64(Float64(z * Float64(Float64(c * i) - Float64(a * b))) + Float64(j * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))))) t_5 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * t_2)) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_6 = Float64(a * Float64(Float64(Float64(y1 * Float64(Float64(z * y3) - Float64(x * y2))) + Float64(b * Float64(Float64(x * y) - Float64(z * t)))) + Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3))))) tmp = 0.0 if (i <= -6.6e+210) tmp = t_1; elseif (i <= -1.1e+106) tmp = Float64(y5 * Float64(t * Float64(Float64(a * y2) - Float64(i * j)))); elseif (i <= -2.8e+18) tmp = Float64(k * Float64(Float64(Float64(y * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(y2 * t_3)) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))); elseif (i <= -5e-15) tmp = t_4; elseif (i <= -5.2e-63) tmp = t_5; elseif (i <= -3.2e-127) tmp = Float64(Float64(y1 * y2) * Float64(Float64(k * y4) - Float64(x * a))); elseif (i <= -2.5e-229) tmp = t_4; elseif (i <= 4e-284) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (i <= 4.8e-38) tmp = t_4; elseif (i <= 8.5e+26) tmp = t_6; elseif (i <= 6.5e+153) tmp = t_5; elseif (i <= 2.2e+197) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (i <= 4.3e+260) tmp = t_6; 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 = y1 * (i * ((x * j) - (z * k))); t_2 = (k * y2) - (j * y3); t_3 = (y1 * y4) - (y0 * y5); t_4 = (t_2 * t_3) + (t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * ((a * y5) - (c * y4))))); t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_2)) + (c * ((y * y3) - (t * y2)))); t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3)))); tmp = 0.0; if (i <= -6.6e+210) tmp = t_1; elseif (i <= -1.1e+106) tmp = y5 * (t * ((a * y2) - (i * j))); elseif (i <= -2.8e+18) tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_3)) + (z * ((b * y0) - (i * y1)))); elseif (i <= -5e-15) tmp = t_4; elseif (i <= -5.2e-63) tmp = t_5; elseif (i <= -3.2e-127) tmp = (y1 * y2) * ((k * y4) - (x * a)); elseif (i <= -2.5e-229) tmp = t_4; elseif (i <= 4e-284) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (i <= 4.8e-38) tmp = t_4; elseif (i <= 8.5e+26) tmp = t_6; elseif (i <= 6.5e+153) tmp = t_5; elseif (i <= 2.2e+197) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (i <= 4.3e+260) tmp = t_6; 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[(y1 * N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(t$95$2 * t$95$3), $MachinePrecision] + N[(t * N[(N[(N[(z * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(a * N[(N[(N[(y1 * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -6.6e+210], t$95$1, If[LessEqual[i, -1.1e+106], N[(y5 * N[(t * N[(N[(a * y2), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -2.8e+18], N[(k * N[(N[(N[(y * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -5e-15], t$95$4, If[LessEqual[i, -5.2e-63], t$95$5, If[LessEqual[i, -3.2e-127], N[(N[(y1 * y2), $MachinePrecision] * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -2.5e-229], t$95$4, If[LessEqual[i, 4e-284], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4.8e-38], t$95$4, If[LessEqual[i, 8.5e+26], t$95$6, If[LessEqual[i, 6.5e+153], t$95$5, If[LessEqual[i, 2.2e+197], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4.3e+260], t$95$6, t$95$1]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right)\right)\\
t_2 := k \cdot y2 - j \cdot y3\\
t_3 := y1 \cdot y4 - y0 \cdot y5\\
t_4 := t_2 \cdot t_3 + t \cdot \left(\left(z \cdot \left(c \cdot i - a \cdot b\right) + j \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
t_5 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot t_2\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_6 := a \cdot \left(\left(y1 \cdot \left(z \cdot y3 - x \cdot y2\right) + b \cdot \left(x \cdot y - z \cdot t\right)\right) + y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{if}\;i \leq -6.6 \cdot 10^{+210}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq -1.1 \cdot 10^{+106}:\\
\;\;\;\;y5 \cdot \left(t \cdot \left(a \cdot y2 - i \cdot j\right)\right)\\
\mathbf{elif}\;i \leq -2.8 \cdot 10^{+18}:\\
\;\;\;\;k \cdot \left(\left(y \cdot \left(i \cdot y5 - b \cdot y4\right) + y2 \cdot t_3\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;i \leq -5 \cdot 10^{-15}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;i \leq -5.2 \cdot 10^{-63}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;i \leq -3.2 \cdot 10^{-127}:\\
\;\;\;\;\left(y1 \cdot y2\right) \cdot \left(k \cdot y4 - x \cdot a\right)\\
\mathbf{elif}\;i \leq -2.5 \cdot 10^{-229}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;i \leq 4 \cdot 10^{-284}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;i \leq 4.8 \cdot 10^{-38}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;i \leq 8.5 \cdot 10^{+26}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;i \leq 6.5 \cdot 10^{+153}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;i \leq 2.2 \cdot 10^{+197}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;i \leq 4.3 \cdot 10^{+260}:\\
\;\;\;\;t_6\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if i < -6.5999999999999999e210 or 4.30000000000000024e260 < i Initial program 13.5%
Taylor expanded in y1 around inf 52.2%
Taylor expanded in i around inf 63.2%
if -6.5999999999999999e210 < i < -1.09999999999999996e106Initial program 12.5%
Taylor expanded in y5 around -inf 45.0%
associate-*r*45.0%
neg-mul-145.0%
fma-def45.0%
*-commutative45.0%
*-commutative45.0%
*-commutative45.0%
Simplified45.0%
Taylor expanded in t around inf 57.2%
*-commutative57.2%
Simplified57.2%
if -1.09999999999999996e106 < i < -2.8e18Initial program 57.1%
Taylor expanded in k around inf 71.6%
if -2.8e18 < i < -4.99999999999999999e-15 or -3.20000000000000017e-127 < i < -2.50000000000000008e-229 or 4.00000000000000015e-284 < i < 4.80000000000000044e-38Initial program 37.6%
Taylor expanded in t around inf 61.9%
if -4.99999999999999999e-15 < i < -5.2000000000000003e-63 or 8.5e26 < i < 6.49999999999999972e153Initial program 43.9%
Taylor expanded in y4 around inf 59.1%
if -5.2000000000000003e-63 < i < -3.20000000000000017e-127Initial program 40.0%
Taylor expanded in y2 around inf 33.3%
Taylor expanded in y1 around inf 61.9%
associate-*r*67.8%
*-commutative67.8%
+-commutative67.8%
mul-1-neg67.8%
unsub-neg67.8%
Simplified67.8%
if -2.50000000000000008e-229 < i < 4.00000000000000015e-284Initial program 27.8%
Simplified27.8%
Taylor expanded in a around inf 35.2%
Taylor expanded in y around inf 55.9%
*-commutative55.9%
*-commutative55.9%
Simplified55.9%
if 4.80000000000000044e-38 < i < 8.5e26 or 2.19999999999999989e197 < i < 4.30000000000000024e260Initial program 14.8%
Simplified14.8%
Taylor expanded in a around inf 74.1%
if 6.49999999999999972e153 < i < 2.19999999999999989e197Initial program 20.0%
Taylor expanded in y5 around -inf 54.3%
associate-*r*54.3%
neg-mul-154.3%
fma-def54.3%
*-commutative54.3%
*-commutative54.3%
*-commutative54.3%
Simplified54.3%
Taylor expanded in y around -inf 73.7%
*-commutative73.7%
Simplified73.7%
Final simplification63.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2 (- (* c y0) (* a y1)))
(t_3
(+
(+
(+
(+
(+
(* (- (* a b) (* c i)) (- (* x y) (* z t)))
(* (- (* b y0) (* i y1)) (- (* z k) (* x j))))
(* t_2 (- (* x y2) (* z y3))))
(* (- (* b y4) (* i y5)) (- (* t j) (* y k))))
(* (- (* t y2) (* y y3)) (- (* a y5) (* c y4))))
(* (- (* k y2) (* j y3)) t_1))))
(if (<= t_3 INFINITY)
t_3
(* y3 (- (* y (- (* c y4) (* a y5))) (+ (* j t_1) (* z 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 = (y1 * y4) - (y0 * y5);
double t_2 = (c * y0) - (a * y1);
double t_3 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (t_2 * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * t_1);
double tmp;
if (t_3 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * t_2)));
}
return tmp;
}
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 = (y1 * y4) - (y0 * y5);
double t_2 = (c * y0) - (a * y1);
double t_3 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (t_2 * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * t_1);
double tmp;
if (t_3 <= Double.POSITIVE_INFINITY) {
tmp = t_3;
} else {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * t_2)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = (c * y0) - (a * y1) t_3 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (t_2 * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * t_1) tmp = 0 if t_3 <= math.inf: tmp = t_3 else: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * 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(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(Float64(c * y0) - Float64(a * y1)) t_3 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(a * b) - Float64(c * i)) * Float64(Float64(x * y) - Float64(z * t))) + Float64(Float64(Float64(b * y0) - Float64(i * y1)) * Float64(Float64(z * k) - Float64(x * j)))) + Float64(t_2 * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(Float64(Float64(b * y4) - Float64(i * y5)) * Float64(Float64(t * j) - Float64(y * k)))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(a * y5) - Float64(c * y4)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * t_1)) tmp = 0.0 if (t_3 <= Inf) tmp = t_3; else tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_1) + Float64(z * t_2)))); 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 = (y1 * y4) - (y0 * y5); t_2 = (c * y0) - (a * y1); t_3 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (t_2 * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * t_1); tmp = 0.0; if (t_3 <= Inf) tmp = t_3; else tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * t_2))); 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(N[(N[(N[(N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$2 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$3, Infinity], t$95$3, N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$1), $MachinePrecision] + N[(z * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := c \cdot y0 - a \cdot y1\\
t_3 := \left(\left(\left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) + \left(b \cdot y0 - i \cdot y1\right) \cdot \left(z \cdot k - x \cdot j\right)\right) + t_2 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot t_1\\
\mathbf{if}\;t_3 \leq \infty:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_1 + z \cdot t_2\right)\right)\\
\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 96.4%
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 y3 around -inf 36.3%
Final simplification55.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* x y2) (* z y3)))
(t_2 (- (* j y3) (* k y2)))
(t_3 (- (* y y3) (* t y2)))
(t_4
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c t_3))))
(t_5 (* y (* y5 (- (* i k) (* a y3)))))
(t_6
(*
a
(+
(+ (* y1 (- (* z y3) (* x y2))) (* b (- (* x y) (* z t))))
(* y5 (- (* t y2) (* y y3))))))
(t_7 (* y0 (+ (+ (* y5 t_2) (* c t_1)) (* b (- (* z k) (* x j))))))
(t_8 (- (* y1 y4) (* y0 y5))))
(if (<= y0 -3.6e+221)
(* c (+ (+ (* i (- (* z t) (* x y))) (* y0 t_1)) (* y4 t_3)))
(if (<= y0 -1.4e+104)
t_7
(if (<= y0 -5.8e+54)
(* y1 (- (* i (- (* x j) (* z k))) (+ (* a t_1) (* y4 t_2))))
(if (<= y0 -2.35e-90)
t_4
(if (<= y0 -2.05e-206)
t_5
(if (<= y0 -4.6e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -6.2e-294)
t_6
(if (<= y0 1.55e-214)
(*
k
(+
(+ (* y (- (* i y5) (* b y4))) (* y2 t_8))
(* z (- (* b y0) (* i y1)))))
(if (<= y0 5.4e-144)
(* y2 (+ (* k t_8) (* t (- (* a y5) (* c y4)))))
(if (<= y0 5.4e-76)
t_6
(if (<= y0 1.25e-59)
t_5
(if (<= y0 1.45e+69)
t_4
(if (<= y0 1.42e+105)
(* y1 (* y2 (- (* k y4) (* x a))))
t_7)))))))))))))))
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 = (x * y2) - (z * y3);
double t_2 = (j * y3) - (k * y2);
double t_3 = (y * y3) - (t * y2);
double t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_3));
double t_5 = y * (y5 * ((i * k) - (a * y3)));
double t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))));
double t_7 = y0 * (((y5 * t_2) + (c * t_1)) + (b * ((z * k) - (x * j))));
double t_8 = (y1 * y4) - (y0 * y5);
double tmp;
if (y0 <= -3.6e+221) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_1)) + (y4 * t_3));
} else if (y0 <= -1.4e+104) {
tmp = t_7;
} else if (y0 <= -5.8e+54) {
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_1) + (y4 * t_2)));
} else if (y0 <= -2.35e-90) {
tmp = t_4;
} else if (y0 <= -2.05e-206) {
tmp = t_5;
} else if (y0 <= -4.6e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -6.2e-294) {
tmp = t_6;
} else if (y0 <= 1.55e-214) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_8)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 5.4e-144) {
tmp = y2 * ((k * t_8) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 5.4e-76) {
tmp = t_6;
} else if (y0 <= 1.25e-59) {
tmp = t_5;
} else if (y0 <= 1.45e+69) {
tmp = t_4;
} else if (y0 <= 1.42e+105) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else {
tmp = t_7;
}
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_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) :: tmp
t_1 = (x * y2) - (z * y3)
t_2 = (j * y3) - (k * y2)
t_3 = (y * y3) - (t * y2)
t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_3))
t_5 = y * (y5 * ((i * k) - (a * y3)))
t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))))
t_7 = y0 * (((y5 * t_2) + (c * t_1)) + (b * ((z * k) - (x * j))))
t_8 = (y1 * y4) - (y0 * y5)
if (y0 <= (-3.6d+221)) then
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_1)) + (y4 * t_3))
else if (y0 <= (-1.4d+104)) then
tmp = t_7
else if (y0 <= (-5.8d+54)) then
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_1) + (y4 * t_2)))
else if (y0 <= (-2.35d-90)) then
tmp = t_4
else if (y0 <= (-2.05d-206)) then
tmp = t_5
else if (y0 <= (-4.6d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-6.2d-294)) then
tmp = t_6
else if (y0 <= 1.55d-214) then
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_8)) + (z * ((b * y0) - (i * y1))))
else if (y0 <= 5.4d-144) then
tmp = y2 * ((k * t_8) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 5.4d-76) then
tmp = t_6
else if (y0 <= 1.25d-59) then
tmp = t_5
else if (y0 <= 1.45d+69) then
tmp = t_4
else if (y0 <= 1.42d+105) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else
tmp = t_7
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 = (x * y2) - (z * y3);
double t_2 = (j * y3) - (k * y2);
double t_3 = (y * y3) - (t * y2);
double t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_3));
double t_5 = y * (y5 * ((i * k) - (a * y3)));
double t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3))));
double t_7 = y0 * (((y5 * t_2) + (c * t_1)) + (b * ((z * k) - (x * j))));
double t_8 = (y1 * y4) - (y0 * y5);
double tmp;
if (y0 <= -3.6e+221) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_1)) + (y4 * t_3));
} else if (y0 <= -1.4e+104) {
tmp = t_7;
} else if (y0 <= -5.8e+54) {
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_1) + (y4 * t_2)));
} else if (y0 <= -2.35e-90) {
tmp = t_4;
} else if (y0 <= -2.05e-206) {
tmp = t_5;
} else if (y0 <= -4.6e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -6.2e-294) {
tmp = t_6;
} else if (y0 <= 1.55e-214) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_8)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 5.4e-144) {
tmp = y2 * ((k * t_8) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 5.4e-76) {
tmp = t_6;
} else if (y0 <= 1.25e-59) {
tmp = t_5;
} else if (y0 <= 1.45e+69) {
tmp = t_4;
} else if (y0 <= 1.42e+105) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else {
tmp = t_7;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (x * y2) - (z * y3) t_2 = (j * y3) - (k * y2) t_3 = (y * y3) - (t * y2) t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_3)) t_5 = y * (y5 * ((i * k) - (a * y3))) t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3)))) t_7 = y0 * (((y5 * t_2) + (c * t_1)) + (b * ((z * k) - (x * j)))) t_8 = (y1 * y4) - (y0 * y5) tmp = 0 if y0 <= -3.6e+221: tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_1)) + (y4 * t_3)) elif y0 <= -1.4e+104: tmp = t_7 elif y0 <= -5.8e+54: tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_1) + (y4 * t_2))) elif y0 <= -2.35e-90: tmp = t_4 elif y0 <= -2.05e-206: tmp = t_5 elif y0 <= -4.6e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -6.2e-294: tmp = t_6 elif y0 <= 1.55e-214: tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_8)) + (z * ((b * y0) - (i * y1)))) elif y0 <= 5.4e-144: tmp = y2 * ((k * t_8) + (t * ((a * y5) - (c * y4)))) elif y0 <= 5.4e-76: tmp = t_6 elif y0 <= 1.25e-59: tmp = t_5 elif y0 <= 1.45e+69: tmp = t_4 elif y0 <= 1.42e+105: tmp = y1 * (y2 * ((k * y4) - (x * a))) else: tmp = t_7 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(x * y2) - Float64(z * y3)) t_2 = Float64(Float64(j * y3) - Float64(k * y2)) t_3 = Float64(Float64(y * y3) - Float64(t * y2)) t_4 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * t_3))) t_5 = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))) t_6 = Float64(a * Float64(Float64(Float64(y1 * Float64(Float64(z * y3) - Float64(x * y2))) + Float64(b * Float64(Float64(x * y) - Float64(z * t)))) + Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3))))) t_7 = Float64(y0 * Float64(Float64(Float64(y5 * t_2) + Float64(c * t_1)) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))) t_8 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) tmp = 0.0 if (y0 <= -3.6e+221) tmp = Float64(c * Float64(Float64(Float64(i * Float64(Float64(z * t) - Float64(x * y))) + Float64(y0 * t_1)) + Float64(y4 * t_3))); elseif (y0 <= -1.4e+104) tmp = t_7; elseif (y0 <= -5.8e+54) tmp = Float64(y1 * Float64(Float64(i * Float64(Float64(x * j) - Float64(z * k))) - Float64(Float64(a * t_1) + Float64(y4 * t_2)))); elseif (y0 <= -2.35e-90) tmp = t_4; elseif (y0 <= -2.05e-206) tmp = t_5; elseif (y0 <= -4.6e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -6.2e-294) tmp = t_6; elseif (y0 <= 1.55e-214) tmp = Float64(k * Float64(Float64(Float64(y * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(y2 * t_8)) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))); elseif (y0 <= 5.4e-144) tmp = Float64(y2 * Float64(Float64(k * t_8) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 5.4e-76) tmp = t_6; elseif (y0 <= 1.25e-59) tmp = t_5; elseif (y0 <= 1.45e+69) tmp = t_4; elseif (y0 <= 1.42e+105) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); else tmp = t_7; 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 = (x * y2) - (z * y3); t_2 = (j * y3) - (k * y2); t_3 = (y * y3) - (t * y2); t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_3)); t_5 = y * (y5 * ((i * k) - (a * y3))); t_6 = a * (((y1 * ((z * y3) - (x * y2))) + (b * ((x * y) - (z * t)))) + (y5 * ((t * y2) - (y * y3)))); t_7 = y0 * (((y5 * t_2) + (c * t_1)) + (b * ((z * k) - (x * j)))); t_8 = (y1 * y4) - (y0 * y5); tmp = 0.0; if (y0 <= -3.6e+221) tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_1)) + (y4 * t_3)); elseif (y0 <= -1.4e+104) tmp = t_7; elseif (y0 <= -5.8e+54) tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_1) + (y4 * t_2))); elseif (y0 <= -2.35e-90) tmp = t_4; elseif (y0 <= -2.05e-206) tmp = t_5; elseif (y0 <= -4.6e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -6.2e-294) tmp = t_6; elseif (y0 <= 1.55e-214) tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_8)) + (z * ((b * y0) - (i * y1)))); elseif (y0 <= 5.4e-144) tmp = y2 * ((k * t_8) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 5.4e-76) tmp = t_6; elseif (y0 <= 1.25e-59) tmp = t_5; elseif (y0 <= 1.45e+69) tmp = t_4; elseif (y0 <= 1.42e+105) tmp = y1 * (y2 * ((k * y4) - (x * a))); else tmp = t_7; 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[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(a * N[(N[(N[(y1 * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y0 * N[(N[(N[(y5 * t$95$2), $MachinePrecision] + N[(c * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -3.6e+221], N[(c * N[(N[(N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.4e+104], t$95$7, If[LessEqual[y0, -5.8e+54], N[(y1 * N[(N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(a * t$95$1), $MachinePrecision] + N[(y4 * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -2.35e-90], t$95$4, If[LessEqual[y0, -2.05e-206], t$95$5, If[LessEqual[y0, -4.6e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -6.2e-294], t$95$6, If[LessEqual[y0, 1.55e-214], N[(k * N[(N[(N[(y * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$8), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.4e-144], N[(y2 * N[(N[(k * t$95$8), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.4e-76], t$95$6, If[LessEqual[y0, 1.25e-59], t$95$5, If[LessEqual[y0, 1.45e+69], t$95$4, If[LessEqual[y0, 1.42e+105], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$7]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y2 - z \cdot y3\\
t_2 := j \cdot y3 - k \cdot y2\\
t_3 := y \cdot y3 - t \cdot y2\\
t_4 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot t_3\right)\\
t_5 := y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
t_6 := a \cdot \left(\left(y1 \cdot \left(z \cdot y3 - x \cdot y2\right) + b \cdot \left(x \cdot y - z \cdot t\right)\right) + y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
t_7 := y0 \cdot \left(\left(y5 \cdot t_2 + c \cdot t_1\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
t_8 := y1 \cdot y4 - y0 \cdot y5\\
\mathbf{if}\;y0 \leq -3.6 \cdot 10^{+221}:\\
\;\;\;\;c \cdot \left(\left(i \cdot \left(z \cdot t - x \cdot y\right) + y0 \cdot t_1\right) + y4 \cdot t_3\right)\\
\mathbf{elif}\;y0 \leq -1.4 \cdot 10^{+104}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y0 \leq -5.8 \cdot 10^{+54}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right) - \left(a \cdot t_1 + y4 \cdot t_2\right)\right)\\
\mathbf{elif}\;y0 \leq -2.35 \cdot 10^{-90}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y0 \leq -2.05 \cdot 10^{-206}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y0 \leq -4.6 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -6.2 \cdot 10^{-294}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq 1.55 \cdot 10^{-214}:\\
\;\;\;\;k \cdot \left(\left(y \cdot \left(i \cdot y5 - b \cdot y4\right) + y2 \cdot t_8\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 5.4 \cdot 10^{-144}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_8 + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 5.4 \cdot 10^{-76}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq 1.25 \cdot 10^{-59}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y0 \leq 1.45 \cdot 10^{+69}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y0 \leq 1.42 \cdot 10^{+105}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_7\\
\end{array}
\end{array}
if y0 < -3.60000000000000009e221Initial program 20.0%
Simplified20.0%
Taylor expanded in c around inf 65.0%
if -3.60000000000000009e221 < y0 < -1.4e104 or 1.41999999999999991e105 < y0 Initial program 29.4%
Taylor expanded in y0 around inf 61.4%
if -1.4e104 < y0 < -5.7999999999999997e54Initial program 25.0%
Taylor expanded in y1 around inf 63.4%
if -5.7999999999999997e54 < y0 < -2.35e-90 or 1.25e-59 < y0 < 1.4499999999999999e69Initial program 37.2%
Taylor expanded in y4 around inf 62.9%
if -2.35e-90 < y0 < -2.05000000000000008e-206 or 5.4000000000000001e-76 < y0 < 1.25e-59Initial program 46.4%
Taylor expanded in y5 around -inf 50.3%
associate-*r*50.3%
neg-mul-150.3%
fma-def50.3%
*-commutative50.3%
*-commutative50.3%
*-commutative50.3%
Simplified50.3%
Taylor expanded in y around -inf 68.2%
*-commutative68.2%
Simplified68.2%
if -2.05000000000000008e-206 < y0 < -4.5999999999999997e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -4.5999999999999997e-254 < y0 < -6.20000000000000007e-294 or 5.3999999999999995e-144 < y0 < 5.4000000000000001e-76Initial program 33.6%
Simplified33.6%
Taylor expanded in a around inf 67.0%
if -6.20000000000000007e-294 < y0 < 1.55000000000000002e-214Initial program 27.6%
Taylor expanded in k around inf 46.8%
if 1.55000000000000002e-214 < y0 < 5.3999999999999995e-144Initial program 27.9%
Taylor expanded in y2 around inf 52.6%
Taylor expanded in x around 0 62.3%
sub-neg62.3%
*-commutative62.3%
sub-neg62.3%
*-commutative62.3%
*-commutative62.3%
Simplified62.3%
if 1.4499999999999999e69 < y0 < 1.41999999999999991e105Initial program 20.0%
Taylor expanded in y2 around inf 41.0%
Taylor expanded in y1 around inf 72.2%
associate-*r*72.2%
*-commutative72.2%
+-commutative72.2%
mul-1-neg72.2%
unsub-neg72.2%
Simplified72.2%
Taylor expanded in y2 around 0 72.2%
*-commutative72.2%
*-commutative72.2%
Simplified72.2%
Final simplification63.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (- (* t j) (* y k))))
(t_2 (- (* x y2) (* z y3)))
(t_3 (- (* j y3) (* k y2)))
(t_4 (- (* y y3) (* t y2)))
(t_5 (- (* y1 y4) (* y0 y5)))
(t_6 (* y4 (+ (+ t_1 (* y1 (- (* k y2) (* j y3)))) (* c t_4))))
(t_7 (* y0 (+ (+ (* y5 t_3) (* c t_2)) (* b (- (* z k) (* x j)))))))
(if (<= y0 -5e+222)
(* c (+ (+ (* i (- (* z t) (* x y))) (* y0 t_2)) (* y4 t_4)))
(if (<= y0 -1.9e+104)
t_7
(if (<= y0 -7.5e+54)
(* y1 (- (* i (- (* x j) (* z k))) (+ (* a t_2) (* y4 t_3))))
(if (<= y0 -5e-98)
t_6
(if (<= y0 -6e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -3.5e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -4.8e-290)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 3.1e-226)
(*
y3
(-
(* y (- (* c y4) (* a y5)))
(+ (* j t_5) (* z (- (* c y0) (* a y1))))))
(if (<= y0 2e-111)
(* y2 (+ (* k t_5) (* t (- (* a y5) (* c y4)))))
(if (<= y0 1.12e+67)
t_6
(if (<= y0 3.65e+84)
(*
k
(+
(+ (* y (- (* i y5) (* b y4))) (* y2 t_5))
(* z (- (* b y0) (* i y1)))))
(if (<= y0 5.6e+153) (* y4 t_1) t_7))))))))))))))
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 = b * ((t * j) - (y * k));
double t_2 = (x * y2) - (z * y3);
double t_3 = (j * y3) - (k * y2);
double t_4 = (y * y3) - (t * y2);
double t_5 = (y1 * y4) - (y0 * y5);
double t_6 = y4 * ((t_1 + (y1 * ((k * y2) - (j * y3)))) + (c * t_4));
double t_7 = y0 * (((y5 * t_3) + (c * t_2)) + (b * ((z * k) - (x * j))));
double tmp;
if (y0 <= -5e+222) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_2)) + (y4 * t_4));
} else if (y0 <= -1.9e+104) {
tmp = t_7;
} else if (y0 <= -7.5e+54) {
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_2) + (y4 * t_3)));
} else if (y0 <= -5e-98) {
tmp = t_6;
} else if (y0 <= -6e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -3.5e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -4.8e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 3.1e-226) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_5) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 2e-111) {
tmp = y2 * ((k * t_5) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 1.12e+67) {
tmp = t_6;
} else if (y0 <= 3.65e+84) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_5)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 5.6e+153) {
tmp = y4 * t_1;
} else {
tmp = t_7;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: tmp
t_1 = b * ((t * j) - (y * k))
t_2 = (x * y2) - (z * y3)
t_3 = (j * y3) - (k * y2)
t_4 = (y * y3) - (t * y2)
t_5 = (y1 * y4) - (y0 * y5)
t_6 = y4 * ((t_1 + (y1 * ((k * y2) - (j * y3)))) + (c * t_4))
t_7 = y0 * (((y5 * t_3) + (c * t_2)) + (b * ((z * k) - (x * j))))
if (y0 <= (-5d+222)) then
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_2)) + (y4 * t_4))
else if (y0 <= (-1.9d+104)) then
tmp = t_7
else if (y0 <= (-7.5d+54)) then
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_2) + (y4 * t_3)))
else if (y0 <= (-5d-98)) then
tmp = t_6
else if (y0 <= (-6d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-3.5d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-4.8d-290)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 3.1d-226) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_5) + (z * ((c * y0) - (a * y1)))))
else if (y0 <= 2d-111) then
tmp = y2 * ((k * t_5) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 1.12d+67) then
tmp = t_6
else if (y0 <= 3.65d+84) then
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_5)) + (z * ((b * y0) - (i * y1))))
else if (y0 <= 5.6d+153) then
tmp = y4 * t_1
else
tmp = t_7
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 = b * ((t * j) - (y * k));
double t_2 = (x * y2) - (z * y3);
double t_3 = (j * y3) - (k * y2);
double t_4 = (y * y3) - (t * y2);
double t_5 = (y1 * y4) - (y0 * y5);
double t_6 = y4 * ((t_1 + (y1 * ((k * y2) - (j * y3)))) + (c * t_4));
double t_7 = y0 * (((y5 * t_3) + (c * t_2)) + (b * ((z * k) - (x * j))));
double tmp;
if (y0 <= -5e+222) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_2)) + (y4 * t_4));
} else if (y0 <= -1.9e+104) {
tmp = t_7;
} else if (y0 <= -7.5e+54) {
tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_2) + (y4 * t_3)));
} else if (y0 <= -5e-98) {
tmp = t_6;
} else if (y0 <= -6e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -3.5e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -4.8e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 3.1e-226) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_5) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 2e-111) {
tmp = y2 * ((k * t_5) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 1.12e+67) {
tmp = t_6;
} else if (y0 <= 3.65e+84) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_5)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 5.6e+153) {
tmp = y4 * t_1;
} else {
tmp = t_7;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * ((t * j) - (y * k)) t_2 = (x * y2) - (z * y3) t_3 = (j * y3) - (k * y2) t_4 = (y * y3) - (t * y2) t_5 = (y1 * y4) - (y0 * y5) t_6 = y4 * ((t_1 + (y1 * ((k * y2) - (j * y3)))) + (c * t_4)) t_7 = y0 * (((y5 * t_3) + (c * t_2)) + (b * ((z * k) - (x * j)))) tmp = 0 if y0 <= -5e+222: tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_2)) + (y4 * t_4)) elif y0 <= -1.9e+104: tmp = t_7 elif y0 <= -7.5e+54: tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_2) + (y4 * t_3))) elif y0 <= -5e-98: tmp = t_6 elif y0 <= -6e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -3.5e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -4.8e-290: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 3.1e-226: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_5) + (z * ((c * y0) - (a * y1))))) elif y0 <= 2e-111: tmp = y2 * ((k * t_5) + (t * ((a * y5) - (c * y4)))) elif y0 <= 1.12e+67: tmp = t_6 elif y0 <= 3.65e+84: tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_5)) + (z * ((b * y0) - (i * y1)))) elif y0 <= 5.6e+153: tmp = y4 * t_1 else: tmp = t_7 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(Float64(t * j) - Float64(y * k))) t_2 = Float64(Float64(x * y2) - Float64(z * y3)) t_3 = Float64(Float64(j * y3) - Float64(k * y2)) t_4 = Float64(Float64(y * y3) - Float64(t * y2)) t_5 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_6 = Float64(y4 * Float64(Float64(t_1 + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * t_4))) t_7 = Float64(y0 * Float64(Float64(Float64(y5 * t_3) + Float64(c * t_2)) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))) tmp = 0.0 if (y0 <= -5e+222) tmp = Float64(c * Float64(Float64(Float64(i * Float64(Float64(z * t) - Float64(x * y))) + Float64(y0 * t_2)) + Float64(y4 * t_4))); elseif (y0 <= -1.9e+104) tmp = t_7; elseif (y0 <= -7.5e+54) tmp = Float64(y1 * Float64(Float64(i * Float64(Float64(x * j) - Float64(z * k))) - Float64(Float64(a * t_2) + Float64(y4 * t_3)))); elseif (y0 <= -5e-98) tmp = t_6; elseif (y0 <= -6e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -3.5e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -4.8e-290) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 3.1e-226) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_5) + Float64(z * Float64(Float64(c * y0) - Float64(a * y1)))))); elseif (y0 <= 2e-111) tmp = Float64(y2 * Float64(Float64(k * t_5) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 1.12e+67) tmp = t_6; elseif (y0 <= 3.65e+84) tmp = Float64(k * Float64(Float64(Float64(y * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(y2 * t_5)) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))); elseif (y0 <= 5.6e+153) tmp = Float64(y4 * t_1); else tmp = t_7; 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 = b * ((t * j) - (y * k)); t_2 = (x * y2) - (z * y3); t_3 = (j * y3) - (k * y2); t_4 = (y * y3) - (t * y2); t_5 = (y1 * y4) - (y0 * y5); t_6 = y4 * ((t_1 + (y1 * ((k * y2) - (j * y3)))) + (c * t_4)); t_7 = y0 * (((y5 * t_3) + (c * t_2)) + (b * ((z * k) - (x * j)))); tmp = 0.0; if (y0 <= -5e+222) tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_2)) + (y4 * t_4)); elseif (y0 <= -1.9e+104) tmp = t_7; elseif (y0 <= -7.5e+54) tmp = y1 * ((i * ((x * j) - (z * k))) - ((a * t_2) + (y4 * t_3))); elseif (y0 <= -5e-98) tmp = t_6; elseif (y0 <= -6e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -3.5e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -4.8e-290) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 3.1e-226) tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_5) + (z * ((c * y0) - (a * y1))))); elseif (y0 <= 2e-111) tmp = y2 * ((k * t_5) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 1.12e+67) tmp = t_6; elseif (y0 <= 3.65e+84) tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_5)) + (z * ((b * y0) - (i * y1)))); elseif (y0 <= 5.6e+153) tmp = y4 * t_1; else tmp = t_7; 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[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y4 * N[(N[(t$95$1 + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y0 * N[(N[(N[(y5 * t$95$3), $MachinePrecision] + N[(c * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -5e+222], N[(c * N[(N[(N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.9e+104], t$95$7, If[LessEqual[y0, -7.5e+54], N[(y1 * N[(N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(a * t$95$2), $MachinePrecision] + N[(y4 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -5e-98], t$95$6, If[LessEqual[y0, -6e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.5e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4.8e-290], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 3.1e-226], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$5), $MachinePrecision] + N[(z * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2e-111], N[(y2 * N[(N[(k * t$95$5), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.12e+67], t$95$6, If[LessEqual[y0, 3.65e+84], N[(k * N[(N[(N[(y * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$5), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.6e+153], N[(y4 * t$95$1), $MachinePrecision], t$95$7]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t \cdot j - y \cdot k\right)\\
t_2 := x \cdot y2 - z \cdot y3\\
t_3 := j \cdot y3 - k \cdot y2\\
t_4 := y \cdot y3 - t \cdot y2\\
t_5 := y1 \cdot y4 - y0 \cdot y5\\
t_6 := y4 \cdot \left(\left(t_1 + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot t_4\right)\\
t_7 := y0 \cdot \left(\left(y5 \cdot t_3 + c \cdot t_2\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{if}\;y0 \leq -5 \cdot 10^{+222}:\\
\;\;\;\;c \cdot \left(\left(i \cdot \left(z \cdot t - x \cdot y\right) + y0 \cdot t_2\right) + y4 \cdot t_4\right)\\
\mathbf{elif}\;y0 \leq -1.9 \cdot 10^{+104}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y0 \leq -7.5 \cdot 10^{+54}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right) - \left(a \cdot t_2 + y4 \cdot t_3\right)\right)\\
\mathbf{elif}\;y0 \leq -5 \cdot 10^{-98}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq -6 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -3.5 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -4.8 \cdot 10^{-290}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 3.1 \cdot 10^{-226}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_5 + z \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\right)\\
\mathbf{elif}\;y0 \leq 2 \cdot 10^{-111}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_5 + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 1.12 \cdot 10^{+67}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq 3.65 \cdot 10^{+84}:\\
\;\;\;\;k \cdot \left(\left(y \cdot \left(i \cdot y5 - b \cdot y4\right) + y2 \cdot t_5\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 5.6 \cdot 10^{+153}:\\
\;\;\;\;y4 \cdot t_1\\
\mathbf{else}:\\
\;\;\;\;t_7\\
\end{array}
\end{array}
if y0 < -5.00000000000000023e222Initial program 20.0%
Simplified20.0%
Taylor expanded in c around inf 65.0%
if -5.00000000000000023e222 < y0 < -1.89999999999999984e104 or 5.5999999999999997e153 < y0 Initial program 29.3%
Taylor expanded in y0 around inf 66.6%
if -1.89999999999999984e104 < y0 < -7.50000000000000042e54Initial program 25.0%
Taylor expanded in y1 around inf 63.4%
if -7.50000000000000042e54 < y0 < -5.00000000000000018e-98 or 2.00000000000000018e-111 < y0 < 1.12e67Initial program 39.0%
Taylor expanded in y4 around inf 59.7%
if -5.00000000000000018e-98 < y0 < -6.0000000000000004e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -6.0000000000000004e-206 < y0 < -3.50000000000000007e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -3.50000000000000007e-254 < y0 < -4.8000000000000001e-290Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -4.8000000000000001e-290 < y0 < 3.09999999999999989e-226Initial program 30.3%
Taylor expanded in y3 around -inf 55.3%
if 3.09999999999999989e-226 < y0 < 2.00000000000000018e-111Initial program 27.0%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 50.6%
sub-neg50.6%
*-commutative50.6%
sub-neg50.6%
*-commutative50.6%
*-commutative50.6%
Simplified50.6%
if 1.12e67 < y0 < 3.65e84Initial program 33.3%
Taylor expanded in k around inf 67.7%
if 3.65e84 < y0 < 5.5999999999999997e153Initial program 20.0%
Taylor expanded in y4 around inf 60.4%
Taylor expanded in b around inf 67.4%
Final simplification61.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2 (* b (- (* t j) (* y k))))
(t_3 (- (* y y3) (* t y2)))
(t_4 (- (* x y2) (* z y3)))
(t_5
(*
y0
(+
(+ (* y5 (- (* j y3) (* k y2))) (* c t_4))
(* b (- (* z k) (* x j))))))
(t_6 (* y4 (+ (+ t_2 (* y1 (- (* k y2) (* j y3)))) (* c t_3)))))
(if (<= y0 -2e+220)
(* c (+ (+ (* i (- (* z t) (* x y))) (* y0 t_4)) (* y4 t_3)))
(if (<= y0 -7.8e+54)
t_5
(if (<= y0 -5e-91)
t_6
(if (<= y0 -1.55e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -4.5e-253)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -4.2e-290)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 2.05e-225)
(*
y3
(-
(* y (- (* c y4) (* a y5)))
(+ (* j t_1) (* z (- (* c y0) (* a y1))))))
(if (<= y0 3.5e-110)
(* y2 (+ (* k t_1) (* t (- (* a y5) (* c y4)))))
(if (<= y0 6.5e+66)
t_6
(if (<= y0 3.65e+84)
(*
k
(+
(+ (* y (- (* i y5) (* b y4))) (* y2 t_1))
(* z (- (* b y0) (* i y1)))))
(if (<= y0 2.2e+155) (* y4 t_2) t_5)))))))))))))
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 = (y1 * y4) - (y0 * y5);
double t_2 = b * ((t * j) - (y * k));
double t_3 = (y * y3) - (t * y2);
double t_4 = (x * y2) - (z * y3);
double t_5 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_4)) + (b * ((z * k) - (x * j))));
double t_6 = y4 * ((t_2 + (y1 * ((k * y2) - (j * y3)))) + (c * t_3));
double tmp;
if (y0 <= -2e+220) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_4)) + (y4 * t_3));
} else if (y0 <= -7.8e+54) {
tmp = t_5;
} else if (y0 <= -5e-91) {
tmp = t_6;
} else if (y0 <= -1.55e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -4.5e-253) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -4.2e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.05e-225) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 3.5e-110) {
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 6.5e+66) {
tmp = t_6;
} else if (y0 <= 3.65e+84) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_1)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 2.2e+155) {
tmp = y4 * t_2;
} else {
tmp = t_5;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: tmp
t_1 = (y1 * y4) - (y0 * y5)
t_2 = b * ((t * j) - (y * k))
t_3 = (y * y3) - (t * y2)
t_4 = (x * y2) - (z * y3)
t_5 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_4)) + (b * ((z * k) - (x * j))))
t_6 = y4 * ((t_2 + (y1 * ((k * y2) - (j * y3)))) + (c * t_3))
if (y0 <= (-2d+220)) then
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_4)) + (y4 * t_3))
else if (y0 <= (-7.8d+54)) then
tmp = t_5
else if (y0 <= (-5d-91)) then
tmp = t_6
else if (y0 <= (-1.55d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-4.5d-253)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-4.2d-290)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 2.05d-225) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))))
else if (y0 <= 3.5d-110) then
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 6.5d+66) then
tmp = t_6
else if (y0 <= 3.65d+84) then
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_1)) + (z * ((b * y0) - (i * y1))))
else if (y0 <= 2.2d+155) then
tmp = y4 * t_2
else
tmp = t_5
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 = (y1 * y4) - (y0 * y5);
double t_2 = b * ((t * j) - (y * k));
double t_3 = (y * y3) - (t * y2);
double t_4 = (x * y2) - (z * y3);
double t_5 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_4)) + (b * ((z * k) - (x * j))));
double t_6 = y4 * ((t_2 + (y1 * ((k * y2) - (j * y3)))) + (c * t_3));
double tmp;
if (y0 <= -2e+220) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_4)) + (y4 * t_3));
} else if (y0 <= -7.8e+54) {
tmp = t_5;
} else if (y0 <= -5e-91) {
tmp = t_6;
} else if (y0 <= -1.55e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -4.5e-253) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -4.2e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.05e-225) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 3.5e-110) {
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 6.5e+66) {
tmp = t_6;
} else if (y0 <= 3.65e+84) {
tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_1)) + (z * ((b * y0) - (i * y1))));
} else if (y0 <= 2.2e+155) {
tmp = y4 * t_2;
} else {
tmp = t_5;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = b * ((t * j) - (y * k)) t_3 = (y * y3) - (t * y2) t_4 = (x * y2) - (z * y3) t_5 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_4)) + (b * ((z * k) - (x * j)))) t_6 = y4 * ((t_2 + (y1 * ((k * y2) - (j * y3)))) + (c * t_3)) tmp = 0 if y0 <= -2e+220: tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_4)) + (y4 * t_3)) elif y0 <= -7.8e+54: tmp = t_5 elif y0 <= -5e-91: tmp = t_6 elif y0 <= -1.55e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -4.5e-253: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -4.2e-290: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 2.05e-225: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))) elif y0 <= 3.5e-110: tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4)))) elif y0 <= 6.5e+66: tmp = t_6 elif y0 <= 3.65e+84: tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_1)) + (z * ((b * y0) - (i * y1)))) elif y0 <= 2.2e+155: tmp = y4 * t_2 else: tmp = t_5 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(b * Float64(Float64(t * j) - Float64(y * k))) t_3 = Float64(Float64(y * y3) - Float64(t * y2)) t_4 = Float64(Float64(x * y2) - Float64(z * y3)) t_5 = Float64(y0 * Float64(Float64(Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2))) + Float64(c * t_4)) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))) t_6 = Float64(y4 * Float64(Float64(t_2 + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * t_3))) tmp = 0.0 if (y0 <= -2e+220) tmp = Float64(c * Float64(Float64(Float64(i * Float64(Float64(z * t) - Float64(x * y))) + Float64(y0 * t_4)) + Float64(y4 * t_3))); elseif (y0 <= -7.8e+54) tmp = t_5; elseif (y0 <= -5e-91) tmp = t_6; elseif (y0 <= -1.55e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -4.5e-253) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -4.2e-290) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 2.05e-225) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_1) + Float64(z * Float64(Float64(c * y0) - Float64(a * y1)))))); elseif (y0 <= 3.5e-110) tmp = Float64(y2 * Float64(Float64(k * t_1) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 6.5e+66) tmp = t_6; elseif (y0 <= 3.65e+84) tmp = Float64(k * Float64(Float64(Float64(y * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(y2 * t_1)) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))); elseif (y0 <= 2.2e+155) tmp = Float64(y4 * t_2); else tmp = t_5; 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 = (y1 * y4) - (y0 * y5); t_2 = b * ((t * j) - (y * k)); t_3 = (y * y3) - (t * y2); t_4 = (x * y2) - (z * y3); t_5 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_4)) + (b * ((z * k) - (x * j)))); t_6 = y4 * ((t_2 + (y1 * ((k * y2) - (j * y3)))) + (c * t_3)); tmp = 0.0; if (y0 <= -2e+220) tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_4)) + (y4 * t_3)); elseif (y0 <= -7.8e+54) tmp = t_5; elseif (y0 <= -5e-91) tmp = t_6; elseif (y0 <= -1.55e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -4.5e-253) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -4.2e-290) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 2.05e-225) tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))); elseif (y0 <= 3.5e-110) tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 6.5e+66) tmp = t_6; elseif (y0 <= 3.65e+84) tmp = k * (((y * ((i * y5) - (b * y4))) + (y2 * t_1)) + (z * ((b * y0) - (i * y1)))); elseif (y0 <= 2.2e+155) tmp = y4 * t_2; else tmp = t_5; 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y0 * N[(N[(N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y4 * N[(N[(t$95$2 + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -2e+220], N[(c * N[(N[(N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -7.8e+54], t$95$5, If[LessEqual[y0, -5e-91], t$95$6, If[LessEqual[y0, -1.55e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4.5e-253], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4.2e-290], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.05e-225], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$1), $MachinePrecision] + N[(z * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 3.5e-110], N[(y2 * N[(N[(k * t$95$1), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 6.5e+66], t$95$6, If[LessEqual[y0, 3.65e+84], N[(k * N[(N[(N[(y * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.2e+155], N[(y4 * t$95$2), $MachinePrecision], t$95$5]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := b \cdot \left(t \cdot j - y \cdot k\right)\\
t_3 := y \cdot y3 - t \cdot y2\\
t_4 := x \cdot y2 - z \cdot y3\\
t_5 := y0 \cdot \left(\left(y5 \cdot \left(j \cdot y3 - k \cdot y2\right) + c \cdot t_4\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
t_6 := y4 \cdot \left(\left(t_2 + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot t_3\right)\\
\mathbf{if}\;y0 \leq -2 \cdot 10^{+220}:\\
\;\;\;\;c \cdot \left(\left(i \cdot \left(z \cdot t - x \cdot y\right) + y0 \cdot t_4\right) + y4 \cdot t_3\right)\\
\mathbf{elif}\;y0 \leq -7.8 \cdot 10^{+54}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y0 \leq -5 \cdot 10^{-91}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq -1.55 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -4.5 \cdot 10^{-253}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -4.2 \cdot 10^{-290}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 2.05 \cdot 10^{-225}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_1 + z \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\right)\\
\mathbf{elif}\;y0 \leq 3.5 \cdot 10^{-110}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_1 + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 6.5 \cdot 10^{+66}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y0 \leq 3.65 \cdot 10^{+84}:\\
\;\;\;\;k \cdot \left(\left(y \cdot \left(i \cdot y5 - b \cdot y4\right) + y2 \cdot t_1\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 2.2 \cdot 10^{+155}:\\
\;\;\;\;y4 \cdot t_2\\
\mathbf{else}:\\
\;\;\;\;t_5\\
\end{array}
\end{array}
if y0 < -2e220Initial program 20.0%
Simplified20.0%
Taylor expanded in c around inf 65.0%
if -2e220 < y0 < -7.8000000000000005e54 or 2.2000000000000002e155 < y0 Initial program 28.1%
Taylor expanded in y0 around inf 57.1%
if -7.8000000000000005e54 < y0 < -4.99999999999999997e-91 or 3.49999999999999974e-110 < y0 < 6.5000000000000001e66Initial program 39.0%
Taylor expanded in y4 around inf 59.7%
if -4.99999999999999997e-91 < y0 < -1.5500000000000001e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -1.5500000000000001e-206 < y0 < -4.50000000000000029e-253Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -4.50000000000000029e-253 < y0 < -4.2000000000000002e-290Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -4.2000000000000002e-290 < y0 < 2.05000000000000011e-225Initial program 30.3%
Taylor expanded in y3 around -inf 55.3%
if 2.05000000000000011e-225 < y0 < 3.49999999999999974e-110Initial program 27.0%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 50.6%
sub-neg50.6%
*-commutative50.6%
sub-neg50.6%
*-commutative50.6%
*-commutative50.6%
Simplified50.6%
if 6.5000000000000001e66 < y0 < 3.65e84Initial program 33.3%
Taylor expanded in k around inf 67.7%
if 3.65e84 < y0 < 2.2000000000000002e155Initial program 20.0%
Taylor expanded in y4 around inf 60.4%
Taylor expanded in b around inf 67.4%
Final simplification59.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2))))))
(t_3 (- (* x y2) (* z y3)))
(t_4
(*
y0
(+
(+ (* y5 (- (* j y3) (* k y2))) (* c t_3))
(* b (- (* z k) (* x j))))))
(t_5 (- (* a y5) (* c y4))))
(if (<= y0 -6.2e+223)
(* c (* y0 t_3))
(if (<= y0 -4e+80)
t_4
(if (<= y0 -8e+23)
(* t (* y2 t_5))
(if (<= y0 -9.8e-89)
t_2
(if (<= y0 -4.1e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -1.65e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -9.8e-284)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 8.3e-221)
(*
y3
(-
(* y (- (* c y4) (* a y5)))
(+ (* j t_1) (* z (- (* c y0) (* a y1))))))
(if (<= y0 2.15e-110)
(* y2 (+ (* k t_1) (* t t_5)))
(if (<= y0 8e+156) t_2 t_4))))))))))))
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 = (y1 * y4) - (y0 * y5);
double t_2 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_3 = (x * y2) - (z * y3);
double t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))));
double t_5 = (a * y5) - (c * y4);
double tmp;
if (y0 <= -6.2e+223) {
tmp = c * (y0 * t_3);
} else if (y0 <= -4e+80) {
tmp = t_4;
} else if (y0 <= -8e+23) {
tmp = t * (y2 * t_5);
} else if (y0 <= -9.8e-89) {
tmp = t_2;
} else if (y0 <= -4.1e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.65e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -9.8e-284) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 8.3e-221) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 2.15e-110) {
tmp = y2 * ((k * t_1) + (t * t_5));
} else if (y0 <= 8e+156) {
tmp = t_2;
} else {
tmp = t_4;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: tmp
t_1 = (y1 * y4) - (y0 * y5)
t_2 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
t_3 = (x * y2) - (z * y3)
t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))))
t_5 = (a * y5) - (c * y4)
if (y0 <= (-6.2d+223)) then
tmp = c * (y0 * t_3)
else if (y0 <= (-4d+80)) then
tmp = t_4
else if (y0 <= (-8d+23)) then
tmp = t * (y2 * t_5)
else if (y0 <= (-9.8d-89)) then
tmp = t_2
else if (y0 <= (-4.1d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-1.65d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-9.8d-284)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 8.3d-221) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))))
else if (y0 <= 2.15d-110) then
tmp = y2 * ((k * t_1) + (t * t_5))
else if (y0 <= 8d+156) then
tmp = t_2
else
tmp = t_4
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 = (y1 * y4) - (y0 * y5);
double t_2 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_3 = (x * y2) - (z * y3);
double t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))));
double t_5 = (a * y5) - (c * y4);
double tmp;
if (y0 <= -6.2e+223) {
tmp = c * (y0 * t_3);
} else if (y0 <= -4e+80) {
tmp = t_4;
} else if (y0 <= -8e+23) {
tmp = t * (y2 * t_5);
} else if (y0 <= -9.8e-89) {
tmp = t_2;
} else if (y0 <= -4.1e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.65e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -9.8e-284) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 8.3e-221) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 2.15e-110) {
tmp = y2 * ((k * t_1) + (t * t_5));
} else if (y0 <= 8e+156) {
tmp = t_2;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) t_3 = (x * y2) - (z * y3) t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j)))) t_5 = (a * y5) - (c * y4) tmp = 0 if y0 <= -6.2e+223: tmp = c * (y0 * t_3) elif y0 <= -4e+80: tmp = t_4 elif y0 <= -8e+23: tmp = t * (y2 * t_5) elif y0 <= -9.8e-89: tmp = t_2 elif y0 <= -4.1e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -1.65e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -9.8e-284: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 8.3e-221: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))) elif y0 <= 2.15e-110: tmp = y2 * ((k * t_1) + (t * t_5)) elif y0 <= 8e+156: tmp = t_2 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_3 = Float64(Float64(x * y2) - Float64(z * y3)) t_4 = Float64(y0 * Float64(Float64(Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2))) + Float64(c * t_3)) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))) t_5 = Float64(Float64(a * y5) - Float64(c * y4)) tmp = 0.0 if (y0 <= -6.2e+223) tmp = Float64(c * Float64(y0 * t_3)); elseif (y0 <= -4e+80) tmp = t_4; elseif (y0 <= -8e+23) tmp = Float64(t * Float64(y2 * t_5)); elseif (y0 <= -9.8e-89) tmp = t_2; elseif (y0 <= -4.1e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -1.65e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -9.8e-284) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 8.3e-221) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_1) + Float64(z * Float64(Float64(c * y0) - Float64(a * y1)))))); elseif (y0 <= 2.15e-110) tmp = Float64(y2 * Float64(Float64(k * t_1) + Float64(t * t_5))); elseif (y0 <= 8e+156) tmp = t_2; else tmp = t_4; 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 = (y1 * y4) - (y0 * y5); t_2 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); t_3 = (x * y2) - (z * y3); t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j)))); t_5 = (a * y5) - (c * y4); tmp = 0.0; if (y0 <= -6.2e+223) tmp = c * (y0 * t_3); elseif (y0 <= -4e+80) tmp = t_4; elseif (y0 <= -8e+23) tmp = t * (y2 * t_5); elseif (y0 <= -9.8e-89) tmp = t_2; elseif (y0 <= -4.1e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -1.65e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -9.8e-284) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 8.3e-221) tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))); elseif (y0 <= 2.15e-110) tmp = y2 * ((k * t_1) + (t * t_5)); elseif (y0 <= 8e+156) tmp = t_2; else tmp = t_4; 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y0 * N[(N[(N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -6.2e+223], N[(c * N[(y0 * t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4e+80], t$95$4, If[LessEqual[y0, -8e+23], N[(t * N[(y2 * t$95$5), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -9.8e-89], t$95$2, If[LessEqual[y0, -4.1e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.65e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -9.8e-284], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8.3e-221], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$1), $MachinePrecision] + N[(z * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.15e-110], N[(y2 * N[(N[(k * t$95$1), $MachinePrecision] + N[(t * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8e+156], t$95$2, t$95$4]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_3 := x \cdot y2 - z \cdot y3\\
t_4 := y0 \cdot \left(\left(y5 \cdot \left(j \cdot y3 - k \cdot y2\right) + c \cdot t_3\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
t_5 := a \cdot y5 - c \cdot y4\\
\mathbf{if}\;y0 \leq -6.2 \cdot 10^{+223}:\\
\;\;\;\;c \cdot \left(y0 \cdot t_3\right)\\
\mathbf{elif}\;y0 \leq -4 \cdot 10^{+80}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y0 \leq -8 \cdot 10^{+23}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_5\right)\\
\mathbf{elif}\;y0 \leq -9.8 \cdot 10^{-89}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq -4.1 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -1.65 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -9.8 \cdot 10^{-284}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 8.3 \cdot 10^{-221}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_1 + z \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\right)\\
\mathbf{elif}\;y0 \leq 2.15 \cdot 10^{-110}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_1 + t \cdot t_5\right)\\
\mathbf{elif}\;y0 \leq 8 \cdot 10^{+156}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if y0 < -6.19999999999999965e223Initial program 15.8%
Simplified15.8%
Taylor expanded in c around inf 63.2%
Taylor expanded in y0 around inf 58.1%
if -6.19999999999999965e223 < y0 < -4e80 or 7.9999999999999999e156 < y0 Initial program 30.6%
Taylor expanded in y0 around inf 62.0%
if -4e80 < y0 < -7.9999999999999993e23Initial program 23.5%
Taylor expanded in y2 around inf 47.1%
Taylor expanded in t around inf 59.0%
*-commutative59.0%
*-commutative59.0%
Simplified59.0%
if -7.9999999999999993e23 < y0 < -9.8e-89 or 2.15000000000000012e-110 < y0 < 7.9999999999999999e156Initial program 36.1%
Taylor expanded in y4 around inf 56.0%
if -9.8e-89 < y0 < -4.10000000000000016e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -4.10000000000000016e-206 < y0 < -1.65000000000000008e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -1.65000000000000008e-254 < y0 < -9.79999999999999979e-284Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -9.79999999999999979e-284 < y0 < 8.30000000000000035e-221Initial program 30.3%
Taylor expanded in y3 around -inf 55.3%
if 8.30000000000000035e-221 < y0 < 2.15000000000000012e-110Initial program 27.0%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 50.6%
sub-neg50.6%
*-commutative50.6%
sub-neg50.6%
*-commutative50.6%
*-commutative50.6%
Simplified50.6%
Final simplification58.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2 (- (* y y3) (* t y2)))
(t_3 (- (* x y2) (* z y3)))
(t_4
(*
y0
(+
(+ (* y5 (- (* j y3) (* k y2))) (* c t_3))
(* b (- (* z k) (* x j))))))
(t_5
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c t_2)))))
(if (<= y0 -3.6e+222)
(* c (+ (+ (* i (- (* z t) (* x y))) (* y0 t_3)) (* y4 t_2)))
(if (<= y0 -8e+54)
t_4
(if (<= y0 -7.4e-94)
t_5
(if (<= y0 -9.2e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -9.2e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -1.5e-283)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 2.7e-221)
(*
y3
(-
(* y (- (* c y4) (* a y5)))
(+ (* j t_1) (* z (- (* c y0) (* a y1))))))
(if (<= y0 5.4e-111)
(* y2 (+ (* k t_1) (* t (- (* a y5) (* c y4)))))
(if (<= y0 7.8e+156) t_5 t_4)))))))))))
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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * y3) - (t * y2);
double t_3 = (x * y2) - (z * y3);
double t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_2));
double tmp;
if (y0 <= -3.6e+222) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_3)) + (y4 * t_2));
} else if (y0 <= -8e+54) {
tmp = t_4;
} else if (y0 <= -7.4e-94) {
tmp = t_5;
} else if (y0 <= -9.2e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -9.2e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -1.5e-283) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.7e-221) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 5.4e-111) {
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 7.8e+156) {
tmp = t_5;
} else {
tmp = t_4;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: tmp
t_1 = (y1 * y4) - (y0 * y5)
t_2 = (y * y3) - (t * y2)
t_3 = (x * y2) - (z * y3)
t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))))
t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_2))
if (y0 <= (-3.6d+222)) then
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_3)) + (y4 * t_2))
else if (y0 <= (-8d+54)) then
tmp = t_4
else if (y0 <= (-7.4d-94)) then
tmp = t_5
else if (y0 <= (-9.2d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-9.2d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-1.5d-283)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 2.7d-221) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))))
else if (y0 <= 5.4d-111) then
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 7.8d+156) then
tmp = t_5
else
tmp = t_4
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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * y3) - (t * y2);
double t_3 = (x * y2) - (z * y3);
double t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j))));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_2));
double tmp;
if (y0 <= -3.6e+222) {
tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_3)) + (y4 * t_2));
} else if (y0 <= -8e+54) {
tmp = t_4;
} else if (y0 <= -7.4e-94) {
tmp = t_5;
} else if (y0 <= -9.2e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -9.2e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -1.5e-283) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.7e-221) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 5.4e-111) {
tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 7.8e+156) {
tmp = t_5;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = (y * y3) - (t * y2) t_3 = (x * y2) - (z * y3) t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j)))) t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_2)) tmp = 0 if y0 <= -3.6e+222: tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_3)) + (y4 * t_2)) elif y0 <= -8e+54: tmp = t_4 elif y0 <= -7.4e-94: tmp = t_5 elif y0 <= -9.2e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -9.2e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -1.5e-283: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 2.7e-221: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))) elif y0 <= 5.4e-111: tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4)))) elif y0 <= 7.8e+156: tmp = t_5 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(Float64(y * y3) - Float64(t * y2)) t_3 = Float64(Float64(x * y2) - Float64(z * y3)) t_4 = Float64(y0 * Float64(Float64(Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2))) + Float64(c * t_3)) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))) t_5 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * t_2))) tmp = 0.0 if (y0 <= -3.6e+222) tmp = Float64(c * Float64(Float64(Float64(i * Float64(Float64(z * t) - Float64(x * y))) + Float64(y0 * t_3)) + Float64(y4 * t_2))); elseif (y0 <= -8e+54) tmp = t_4; elseif (y0 <= -7.4e-94) tmp = t_5; elseif (y0 <= -9.2e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -9.2e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -1.5e-283) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 2.7e-221) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_1) + Float64(z * Float64(Float64(c * y0) - Float64(a * y1)))))); elseif (y0 <= 5.4e-111) tmp = Float64(y2 * Float64(Float64(k * t_1) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 7.8e+156) tmp = t_5; else tmp = t_4; 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 = (y1 * y4) - (y0 * y5); t_2 = (y * y3) - (t * y2); t_3 = (x * y2) - (z * y3); t_4 = y0 * (((y5 * ((j * y3) - (k * y2))) + (c * t_3)) + (b * ((z * k) - (x * j)))); t_5 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * t_2)); tmp = 0.0; if (y0 <= -3.6e+222) tmp = c * (((i * ((z * t) - (x * y))) + (y0 * t_3)) + (y4 * t_2)); elseif (y0 <= -8e+54) tmp = t_4; elseif (y0 <= -7.4e-94) tmp = t_5; elseif (y0 <= -9.2e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -9.2e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -1.5e-283) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 2.7e-221) tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_1) + (z * ((c * y0) - (a * y1))))); elseif (y0 <= 5.4e-111) tmp = y2 * ((k * t_1) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 7.8e+156) tmp = t_5; else tmp = t_4; 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y0 * N[(N[(N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -3.6e+222], N[(c * N[(N[(N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -8e+54], t$95$4, If[LessEqual[y0, -7.4e-94], t$95$5, If[LessEqual[y0, -9.2e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -9.2e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.5e-283], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.7e-221], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$1), $MachinePrecision] + N[(z * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.4e-111], N[(y2 * N[(N[(k * t$95$1), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 7.8e+156], t$95$5, t$95$4]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := y \cdot y3 - t \cdot y2\\
t_3 := x \cdot y2 - z \cdot y3\\
t_4 := y0 \cdot \left(\left(y5 \cdot \left(j \cdot y3 - k \cdot y2\right) + c \cdot t_3\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
t_5 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot t_2\right)\\
\mathbf{if}\;y0 \leq -3.6 \cdot 10^{+222}:\\
\;\;\;\;c \cdot \left(\left(i \cdot \left(z \cdot t - x \cdot y\right) + y0 \cdot t_3\right) + y4 \cdot t_2\right)\\
\mathbf{elif}\;y0 \leq -8 \cdot 10^{+54}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y0 \leq -7.4 \cdot 10^{-94}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y0 \leq -9.2 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -9.2 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -1.5 \cdot 10^{-283}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 2.7 \cdot 10^{-221}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_1 + z \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\right)\\
\mathbf{elif}\;y0 \leq 5.4 \cdot 10^{-111}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_1 + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 7.8 \cdot 10^{+156}:\\
\;\;\;\;t_5\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if y0 < -3.6000000000000002e222Initial program 20.0%
Simplified20.0%
Taylor expanded in c around inf 65.0%
if -3.6000000000000002e222 < y0 < -8.0000000000000006e54 or 7.7999999999999994e156 < y0 Initial program 28.1%
Taylor expanded in y0 around inf 57.1%
if -8.0000000000000006e54 < y0 < -7.3999999999999996e-94 or 5.39999999999999977e-111 < y0 < 7.7999999999999994e156Initial program 35.0%
Taylor expanded in y4 around inf 56.7%
if -7.3999999999999996e-94 < y0 < -9.2e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -9.2e-206 < y0 < -9.1999999999999995e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -9.1999999999999995e-254 < y0 < -1.49999999999999998e-283Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -1.49999999999999998e-283 < y0 < 2.7e-221Initial program 30.3%
Taylor expanded in y3 around -inf 55.3%
if 2.7e-221 < y0 < 5.39999999999999977e-111Initial program 27.0%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 50.6%
sub-neg50.6%
*-commutative50.6%
sub-neg50.6%
*-commutative50.6%
*-commutative50.6%
Simplified50.6%
Final simplification58.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* z (- (* y1 y3) (* t b)))))
(t_2 (* c (* y4 (- (* y y3) (* t y2))))))
(if (<= a -3.4e+123)
t_1
(if (<= a -3e+45)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= a -1.4e-46)
t_1
(if (<= a -3.1e-99)
(* (* c i) (- (* z t) (* x y)))
(if (<= a -3.3e-139)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= a -3.7e-163)
(* c (* y4 (* y y3)))
(if (<= a -1e-191)
(* y1 (* i (- (* x j) (* z k))))
(if (<= a -5.2e-278)
t_2
(if (<= a 2.7e-156)
(* j (* y3 (* y0 y5)))
(if (<= a 3.9e-51)
t_2
(if (<= a 2.35e+22)
(* (* j y5) (- (* y0 y3) (* t i)))
(if (<= a 8e+151)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4))))))))))))))))))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -3.4e+123) {
tmp = t_1;
} else if (a <= -3e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -1.4e-46) {
tmp = t_1;
} else if (a <= -3.1e-99) {
tmp = (c * i) * ((z * t) - (x * y));
} else if (a <= -3.3e-139) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= -3.7e-163) {
tmp = c * (y4 * (y * y3));
} else if (a <= -1e-191) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (a <= -5.2e-278) {
tmp = t_2;
} else if (a <= 2.7e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.9e-51) {
tmp = t_2;
} else if (a <= 2.35e+22) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 8e+151) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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_2
real(8) :: tmp
t_1 = a * (z * ((y1 * y3) - (t * b)))
t_2 = c * (y4 * ((y * y3) - (t * y2)))
if (a <= (-3.4d+123)) then
tmp = t_1
else if (a <= (-3d+45)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (a <= (-1.4d-46)) then
tmp = t_1
else if (a <= (-3.1d-99)) then
tmp = (c * i) * ((z * t) - (x * y))
else if (a <= (-3.3d-139)) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (a <= (-3.7d-163)) then
tmp = c * (y4 * (y * y3))
else if (a <= (-1d-191)) then
tmp = y1 * (i * ((x * j) - (z * k)))
else if (a <= (-5.2d-278)) then
tmp = t_2
else if (a <= 2.7d-156) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 3.9d-51) then
tmp = t_2
else if (a <= 2.35d+22) then
tmp = (j * y5) * ((y0 * y3) - (t * i))
else if (a <= 8d+151) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -3.4e+123) {
tmp = t_1;
} else if (a <= -3e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -1.4e-46) {
tmp = t_1;
} else if (a <= -3.1e-99) {
tmp = (c * i) * ((z * t) - (x * y));
} else if (a <= -3.3e-139) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= -3.7e-163) {
tmp = c * (y4 * (y * y3));
} else if (a <= -1e-191) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (a <= -5.2e-278) {
tmp = t_2;
} else if (a <= 2.7e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.9e-51) {
tmp = t_2;
} else if (a <= 2.35e+22) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 8e+151) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (z * ((y1 * y3) - (t * b))) t_2 = c * (y4 * ((y * y3) - (t * y2))) tmp = 0 if a <= -3.4e+123: tmp = t_1 elif a <= -3e+45: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif a <= -1.4e-46: tmp = t_1 elif a <= -3.1e-99: tmp = (c * i) * ((z * t) - (x * y)) elif a <= -3.3e-139: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif a <= -3.7e-163: tmp = c * (y4 * (y * y3)) elif a <= -1e-191: tmp = y1 * (i * ((x * j) - (z * k))) elif a <= -5.2e-278: tmp = t_2 elif a <= 2.7e-156: tmp = j * (y3 * (y0 * y5)) elif a <= 3.9e-51: tmp = t_2 elif a <= 2.35e+22: tmp = (j * y5) * ((y0 * y3) - (t * i)) elif a <= 8e+151: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_2 = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) tmp = 0.0 if (a <= -3.4e+123) tmp = t_1; elseif (a <= -3e+45) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (a <= -1.4e-46) tmp = t_1; elseif (a <= -3.1e-99) tmp = Float64(Float64(c * i) * Float64(Float64(z * t) - Float64(x * y))); elseif (a <= -3.3e-139) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (a <= -3.7e-163) tmp = Float64(c * Float64(y4 * Float64(y * y3))); elseif (a <= -1e-191) tmp = Float64(y1 * Float64(i * Float64(Float64(x * j) - Float64(z * k)))); elseif (a <= -5.2e-278) tmp = t_2; elseif (a <= 2.7e-156) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 3.9e-51) tmp = t_2; elseif (a <= 2.35e+22) tmp = Float64(Float64(j * y5) * Float64(Float64(y0 * y3) - Float64(t * i))); elseif (a <= 8e+151) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 = a * (z * ((y1 * y3) - (t * b))); t_2 = c * (y4 * ((y * y3) - (t * y2))); tmp = 0.0; if (a <= -3.4e+123) tmp = t_1; elseif (a <= -3e+45) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (a <= -1.4e-46) tmp = t_1; elseif (a <= -3.1e-99) tmp = (c * i) * ((z * t) - (x * y)); elseif (a <= -3.3e-139) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (a <= -3.7e-163) tmp = c * (y4 * (y * y3)); elseif (a <= -1e-191) tmp = y1 * (i * ((x * j) - (z * k))); elseif (a <= -5.2e-278) tmp = t_2; elseif (a <= 2.7e-156) tmp = j * (y3 * (y0 * y5)); elseif (a <= 3.9e-51) tmp = t_2; elseif (a <= 2.35e+22) tmp = (j * y5) * ((y0 * y3) - (t * i)); elseif (a <= 8e+151) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.4e+123], t$95$1, If[LessEqual[a, -3e+45], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.4e-46], t$95$1, If[LessEqual[a, -3.1e-99], N[(N[(c * i), $MachinePrecision] * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -3.3e-139], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -3.7e-163], N[(c * N[(y4 * N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1e-191], N[(y1 * N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -5.2e-278], t$95$2, If[LessEqual[a, 2.7e-156], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.9e-51], t$95$2, If[LessEqual[a, 2.35e+22], N[(N[(j * y5), $MachinePrecision] * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8e+151], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_2 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -3.4 \cdot 10^{+123}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -3 \cdot 10^{+45}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq -1.4 \cdot 10^{-46}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -3.1 \cdot 10^{-99}:\\
\;\;\;\;\left(c \cdot i\right) \cdot \left(z \cdot t - x \cdot y\right)\\
\mathbf{elif}\;a \leq -3.3 \cdot 10^{-139}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq -3.7 \cdot 10^{-163}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq -1 \cdot 10^{-191}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;a \leq -5.2 \cdot 10^{-278}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 2.7 \cdot 10^{-156}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 3.9 \cdot 10^{-51}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 2.35 \cdot 10^{+22}:\\
\;\;\;\;\left(j \cdot y5\right) \cdot \left(y0 \cdot y3 - t \cdot i\right)\\
\mathbf{elif}\;a \leq 8 \cdot 10^{+151}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -3.40000000000000001e123 or -3.00000000000000011e45 < a < -1.3999999999999999e-46Initial program 19.5%
Simplified19.5%
Taylor expanded in a around inf 57.6%
Taylor expanded in z around inf 55.3%
+-commutative55.3%
mul-1-neg55.3%
unsub-neg55.3%
*-commutative55.3%
*-commutative55.3%
Simplified55.3%
if -3.40000000000000001e123 < a < -3.00000000000000011e45Initial program 20.0%
Taylor expanded in y4 around inf 55.3%
Taylor expanded in y1 around inf 50.8%
if -1.3999999999999999e-46 < a < -3.0999999999999999e-99Initial program 23.1%
Simplified23.1%
Taylor expanded in c around inf 38.5%
Taylor expanded in i around inf 78.0%
mul-1-neg78.0%
associate-*r*70.9%
neg-mul-170.9%
+-commutative70.9%
*-commutative70.9%
fma-udef70.9%
distribute-lft-neg-in70.9%
fma-udef70.9%
*-commutative70.9%
unsub-neg70.9%
*-commutative70.9%
Simplified70.9%
if -3.0999999999999999e-99 < a < -3.3e-139Initial program 36.2%
Taylor expanded in y2 around inf 46.3%
Taylor expanded in k around inf 50.0%
*-commutative50.0%
Simplified50.0%
if -3.3e-139 < a < -3.6999999999999999e-163Initial program 40.0%
Simplified40.0%
Taylor expanded in c around inf 81.4%
Taylor expanded in y3 around inf 60.7%
distribute-lft-out--60.7%
Simplified60.7%
Taylor expanded in y0 around 0 80.7%
mul-1-neg80.7%
distribute-lft-neg-out80.7%
*-commutative80.7%
Simplified80.7%
Taylor expanded in y3 around 0 62.1%
*-commutative62.1%
*-commutative62.1%
associate-*l*81.4%
Simplified81.4%
if -3.6999999999999999e-163 < a < -1e-191Initial program 20.0%
Taylor expanded in y1 around inf 100.0%
Taylor expanded in i around inf 80.6%
if -1e-191 < a < -5.1999999999999997e-278 or 2.70000000000000012e-156 < a < 3.8999999999999997e-51Initial program 46.9%
Simplified46.9%
Taylor expanded in c around inf 41.4%
Taylor expanded in y4 around inf 47.9%
if -5.1999999999999997e-278 < a < 2.70000000000000012e-156Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 3.8999999999999997e-51 < a < 2.3500000000000001e22Initial program 50.0%
Taylor expanded in y5 around -inf 40.3%
associate-*r*40.3%
neg-mul-140.3%
fma-def40.3%
*-commutative40.3%
*-commutative40.3%
*-commutative40.3%
Simplified40.3%
Taylor expanded in j around -inf 42.4%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
Simplified51.6%
if 2.3500000000000001e22 < a < 8.00000000000000014e151Initial program 27.0%
Taylor expanded in y2 around inf 46.5%
Taylor expanded in t around inf 49.4%
*-commutative49.4%
*-commutative49.4%
Simplified49.4%
if 8.00000000000000014e151 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.2%
Final simplification54.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2))))))
(t_2 (* c (* y0 (- (* x y2) (* z y3))))))
(if (<= y0 -2.5e+131)
t_2
(if (<= y0 -7.6e-98)
t_1
(if (<= y0 -1.15e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -5e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -6.4e-288)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 1.55e-214)
(* y1 (* i (- (* x j) (* z k))))
(if (<= y0 1.5e-109)
(*
y2
(+
(* k (- (* y1 y4) (* y0 y5)))
(* t (- (* a y5) (* c y4)))))
(if (<= y0 4.3e+158) t_1 t_2))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y0 <= -2.5e+131) {
tmp = t_2;
} else if (y0 <= -7.6e-98) {
tmp = t_1;
} else if (y0 <= -1.15e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -5e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -6.4e-288) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 1.55e-214) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (y0 <= 1.5e-109) {
tmp = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 4.3e+158) {
tmp = t_1;
} else {
tmp = t_2;
}
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_2
real(8) :: tmp
t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
t_2 = c * (y0 * ((x * y2) - (z * y3)))
if (y0 <= (-2.5d+131)) then
tmp = t_2
else if (y0 <= (-7.6d-98)) then
tmp = t_1
else if (y0 <= (-1.15d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-5d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-6.4d-288)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 1.55d-214) then
tmp = y1 * (i * ((x * j) - (z * k)))
else if (y0 <= 1.5d-109) then
tmp = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 4.3d+158) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y0 <= -2.5e+131) {
tmp = t_2;
} else if (y0 <= -7.6e-98) {
tmp = t_1;
} else if (y0 <= -1.15e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -5e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -6.4e-288) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 1.55e-214) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (y0 <= 1.5e-109) {
tmp = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 4.3e+158) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) t_2 = c * (y0 * ((x * y2) - (z * y3))) tmp = 0 if y0 <= -2.5e+131: tmp = t_2 elif y0 <= -7.6e-98: tmp = t_1 elif y0 <= -1.15e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -5e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -6.4e-288: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 1.55e-214: tmp = y1 * (i * ((x * j) - (z * k))) elif y0 <= 1.5e-109: tmp = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4)))) elif y0 <= 4.3e+158: tmp = t_1 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(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_2 = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) tmp = 0.0 if (y0 <= -2.5e+131) tmp = t_2; elseif (y0 <= -7.6e-98) tmp = t_1; elseif (y0 <= -1.15e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -5e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -6.4e-288) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 1.55e-214) tmp = Float64(y1 * Float64(i * Float64(Float64(x * j) - Float64(z * k)))); elseif (y0 <= 1.5e-109) tmp = Float64(y2 * Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 4.3e+158) tmp = t_1; else tmp = t_2; 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 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); t_2 = c * (y0 * ((x * y2) - (z * y3))); tmp = 0.0; if (y0 <= -2.5e+131) tmp = t_2; elseif (y0 <= -7.6e-98) tmp = t_1; elseif (y0 <= -1.15e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -5e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -6.4e-288) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 1.55e-214) tmp = y1 * (i * ((x * j) - (z * k))); elseif (y0 <= 1.5e-109) tmp = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 4.3e+158) tmp = t_1; else tmp = t_2; 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[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -2.5e+131], t$95$2, If[LessEqual[y0, -7.6e-98], t$95$1, If[LessEqual[y0, -1.15e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -5e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -6.4e-288], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.55e-214], N[(y1 * N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.5e-109], N[(y2 * N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 4.3e+158], t$95$1, t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_2 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{if}\;y0 \leq -2.5 \cdot 10^{+131}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq -7.6 \cdot 10^{-98}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y0 \leq -1.15 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -5 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -6.4 \cdot 10^{-288}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 1.55 \cdot 10^{-214}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.5 \cdot 10^{-109}:\\
\;\;\;\;y2 \cdot \left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 4.3 \cdot 10^{+158}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y0 < -2.49999999999999998e131 or 4.3e158 < y0 Initial program 23.6%
Simplified23.6%
Taylor expanded in c around inf 42.0%
Taylor expanded in y0 around inf 53.0%
if -2.49999999999999998e131 < y0 < -7.6000000000000006e-98 or 1.50000000000000011e-109 < y0 < 4.3e158Initial program 34.3%
Taylor expanded in y4 around inf 52.3%
if -7.6000000000000006e-98 < y0 < -1.15e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -1.15e-206 < y0 < -5.0000000000000003e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -5.0000000000000003e-254 < y0 < -6.4000000000000001e-288Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -6.4000000000000001e-288 < y0 < 1.55000000000000002e-214Initial program 30.7%
Taylor expanded in y1 around inf 39.6%
Taylor expanded in i around inf 39.9%
if 1.55000000000000002e-214 < y0 < 1.50000000000000011e-109Initial program 26.4%
Taylor expanded in y2 around inf 47.9%
Taylor expanded in x around 0 54.8%
sub-neg54.8%
*-commutative54.8%
sub-neg54.8%
*-commutative54.8%
*-commutative54.8%
Simplified54.8%
Final simplification54.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2))))))
(t_2 (* c (* y0 (- (* x y2) (* z y3)))))
(t_3 (- (* y1 y4) (* y0 y5))))
(if (<= y0 -8e+130)
t_2
(if (<= y0 -5e-98)
t_1
(if (<= y0 -1.45e-206)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -1.65e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -7e-290)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= y0 2.1e-223)
(*
y3
(-
(* y (- (* c y4) (* a y5)))
(+ (* j t_3) (* z (- (* c y0) (* a y1))))))
(if (<= y0 9.6e-111)
(* y2 (+ (* k t_3) (* t (- (* a y5) (* c y4)))))
(if (<= y0 2.15e+156) t_1 t_2))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = c * (y0 * ((x * y2) - (z * y3)));
double t_3 = (y1 * y4) - (y0 * y5);
double tmp;
if (y0 <= -8e+130) {
tmp = t_2;
} else if (y0 <= -5e-98) {
tmp = t_1;
} else if (y0 <= -1.45e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.65e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -7e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.1e-223) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_3) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 9.6e-111) {
tmp = y2 * ((k * t_3) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 2.15e+156) {
tmp = t_1;
} else {
tmp = t_2;
}
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_2
real(8) :: t_3
real(8) :: tmp
t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
t_2 = c * (y0 * ((x * y2) - (z * y3)))
t_3 = (y1 * y4) - (y0 * y5)
if (y0 <= (-8d+130)) then
tmp = t_2
else if (y0 <= (-5d-98)) then
tmp = t_1
else if (y0 <= (-1.45d-206)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-1.65d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-7d-290)) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (y0 <= 2.1d-223) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_3) + (z * ((c * y0) - (a * y1)))))
else if (y0 <= 9.6d-111) then
tmp = y2 * ((k * t_3) + (t * ((a * y5) - (c * y4))))
else if (y0 <= 2.15d+156) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = c * (y0 * ((x * y2) - (z * y3)));
double t_3 = (y1 * y4) - (y0 * y5);
double tmp;
if (y0 <= -8e+130) {
tmp = t_2;
} else if (y0 <= -5e-98) {
tmp = t_1;
} else if (y0 <= -1.45e-206) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.65e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -7e-290) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (y0 <= 2.1e-223) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_3) + (z * ((c * y0) - (a * y1)))));
} else if (y0 <= 9.6e-111) {
tmp = y2 * ((k * t_3) + (t * ((a * y5) - (c * y4))));
} else if (y0 <= 2.15e+156) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) t_2 = c * (y0 * ((x * y2) - (z * y3))) t_3 = (y1 * y4) - (y0 * y5) tmp = 0 if y0 <= -8e+130: tmp = t_2 elif y0 <= -5e-98: tmp = t_1 elif y0 <= -1.45e-206: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -1.65e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -7e-290: tmp = a * (y * ((x * b) - (y3 * y5))) elif y0 <= 2.1e-223: tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_3) + (z * ((c * y0) - (a * y1))))) elif y0 <= 9.6e-111: tmp = y2 * ((k * t_3) + (t * ((a * y5) - (c * y4)))) elif y0 <= 2.15e+156: tmp = t_1 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(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_2 = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) t_3 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) tmp = 0.0 if (y0 <= -8e+130) tmp = t_2; elseif (y0 <= -5e-98) tmp = t_1; elseif (y0 <= -1.45e-206) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -1.65e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -7e-290) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y0 <= 2.1e-223) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) - Float64(Float64(j * t_3) + Float64(z * Float64(Float64(c * y0) - Float64(a * y1)))))); elseif (y0 <= 9.6e-111) tmp = Float64(y2 * Float64(Float64(k * t_3) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y0 <= 2.15e+156) tmp = t_1; else tmp = t_2; 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 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); t_2 = c * (y0 * ((x * y2) - (z * y3))); t_3 = (y1 * y4) - (y0 * y5); tmp = 0.0; if (y0 <= -8e+130) tmp = t_2; elseif (y0 <= -5e-98) tmp = t_1; elseif (y0 <= -1.45e-206) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -1.65e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -7e-290) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (y0 <= 2.1e-223) tmp = y3 * ((y * ((c * y4) - (a * y5))) - ((j * t_3) + (z * ((c * y0) - (a * y1))))); elseif (y0 <= 9.6e-111) tmp = y2 * ((k * t_3) + (t * ((a * y5) - (c * y4)))); elseif (y0 <= 2.15e+156) tmp = t_1; else tmp = t_2; 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[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -8e+130], t$95$2, If[LessEqual[y0, -5e-98], t$95$1, If[LessEqual[y0, -1.45e-206], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.65e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -7e-290], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.1e-223], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * t$95$3), $MachinePrecision] + N[(z * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 9.6e-111], N[(y2 * N[(N[(k * t$95$3), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.15e+156], t$95$1, t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_2 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
t_3 := y1 \cdot y4 - y0 \cdot y5\\
\mathbf{if}\;y0 \leq -8 \cdot 10^{+130}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq -5 \cdot 10^{-98}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y0 \leq -1.45 \cdot 10^{-206}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -1.65 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -7 \cdot 10^{-290}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y0 \leq 2.1 \cdot 10^{-223}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) - \left(j \cdot t_3 + z \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\right)\\
\mathbf{elif}\;y0 \leq 9.6 \cdot 10^{-111}:\\
\;\;\;\;y2 \cdot \left(k \cdot t_3 + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 2.15 \cdot 10^{+156}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y0 < -8.0000000000000005e130 or 2.14999999999999993e156 < y0 Initial program 23.6%
Simplified23.6%
Taylor expanded in c around inf 42.0%
Taylor expanded in y0 around inf 53.0%
if -8.0000000000000005e130 < y0 < -5.00000000000000018e-98 or 9.6000000000000003e-111 < y0 < 2.14999999999999993e156Initial program 34.3%
Taylor expanded in y4 around inf 52.3%
if -5.00000000000000018e-98 < y0 < -1.4500000000000001e-206Initial program 41.6%
Taylor expanded in y5 around -inf 50.2%
associate-*r*50.2%
neg-mul-150.2%
fma-def50.2%
*-commutative50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in y around -inf 67.0%
*-commutative67.0%
Simplified67.0%
if -1.4500000000000001e-206 < y0 < -1.65000000000000008e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -1.65000000000000008e-254 < y0 < -6.99999999999999963e-290Initial program 50.8%
Simplified50.8%
Taylor expanded in a around inf 67.7%
Taylor expanded in y around inf 53.1%
*-commutative53.1%
*-commutative53.1%
Simplified53.1%
if -6.99999999999999963e-290 < y0 < 2.09999999999999982e-223Initial program 30.3%
Taylor expanded in y3 around -inf 55.3%
if 2.09999999999999982e-223 < y0 < 9.6000000000000003e-111Initial program 27.0%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 50.6%
sub-neg50.6%
*-commutative50.6%
sub-neg50.6%
*-commutative50.6%
*-commutative50.6%
Simplified50.6%
Final simplification55.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* z (- (* y1 y3) (* t b)))))
(t_2 (* c (* y4 (- (* y y3) (* t y2))))))
(if (<= a -5.3e+125)
t_1
(if (<= a -1.02e+49)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= a -3.5e-40)
t_1
(if (<= a -6.4e-108)
(* y4 (* b (- (* t j) (* y k))))
(if (<= a -5.7e-277)
t_2
(if (<= a 1.16e-156)
(* j (* y3 (* y0 y5)))
(if (<= a 3.9e-50)
t_2
(if (<= a 1.05e+15)
(* (* j y5) (- (* y0 y3) (* t i)))
(if (<= a 4.5e+56)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= a 1.22e+106)
(* (* k y5) (- (* y i) (* y0 y2)))
(if (<= a 3.7e+148)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4)))))))))))))))))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -5.3e+125) {
tmp = t_1;
} else if (a <= -1.02e+49) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -3.5e-40) {
tmp = t_1;
} else if (a <= -6.4e-108) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -5.7e-277) {
tmp = t_2;
} else if (a <= 1.16e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.9e-50) {
tmp = t_2;
} else if (a <= 1.05e+15) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 4.5e+56) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (a <= 1.22e+106) {
tmp = (k * y5) * ((y * i) - (y0 * y2));
} else if (a <= 3.7e+148) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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_2
real(8) :: tmp
t_1 = a * (z * ((y1 * y3) - (t * b)))
t_2 = c * (y4 * ((y * y3) - (t * y2)))
if (a <= (-5.3d+125)) then
tmp = t_1
else if (a <= (-1.02d+49)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (a <= (-3.5d-40)) then
tmp = t_1
else if (a <= (-6.4d-108)) then
tmp = y4 * (b * ((t * j) - (y * k)))
else if (a <= (-5.7d-277)) then
tmp = t_2
else if (a <= 1.16d-156) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 3.9d-50) then
tmp = t_2
else if (a <= 1.05d+15) then
tmp = (j * y5) * ((y0 * y3) - (t * i))
else if (a <= 4.5d+56) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (a <= 1.22d+106) then
tmp = (k * y5) * ((y * i) - (y0 * y2))
else if (a <= 3.7d+148) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -5.3e+125) {
tmp = t_1;
} else if (a <= -1.02e+49) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -3.5e-40) {
tmp = t_1;
} else if (a <= -6.4e-108) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -5.7e-277) {
tmp = t_2;
} else if (a <= 1.16e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.9e-50) {
tmp = t_2;
} else if (a <= 1.05e+15) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 4.5e+56) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (a <= 1.22e+106) {
tmp = (k * y5) * ((y * i) - (y0 * y2));
} else if (a <= 3.7e+148) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (z * ((y1 * y3) - (t * b))) t_2 = c * (y4 * ((y * y3) - (t * y2))) tmp = 0 if a <= -5.3e+125: tmp = t_1 elif a <= -1.02e+49: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif a <= -3.5e-40: tmp = t_1 elif a <= -6.4e-108: tmp = y4 * (b * ((t * j) - (y * k))) elif a <= -5.7e-277: tmp = t_2 elif a <= 1.16e-156: tmp = j * (y3 * (y0 * y5)) elif a <= 3.9e-50: tmp = t_2 elif a <= 1.05e+15: tmp = (j * y5) * ((y0 * y3) - (t * i)) elif a <= 4.5e+56: tmp = c * (y2 * ((x * y0) - (t * y4))) elif a <= 1.22e+106: tmp = (k * y5) * ((y * i) - (y0 * y2)) elif a <= 3.7e+148: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_2 = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) tmp = 0.0 if (a <= -5.3e+125) tmp = t_1; elseif (a <= -1.02e+49) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (a <= -3.5e-40) tmp = t_1; elseif (a <= -6.4e-108) tmp = Float64(y4 * Float64(b * Float64(Float64(t * j) - Float64(y * k)))); elseif (a <= -5.7e-277) tmp = t_2; elseif (a <= 1.16e-156) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 3.9e-50) tmp = t_2; elseif (a <= 1.05e+15) tmp = Float64(Float64(j * y5) * Float64(Float64(y0 * y3) - Float64(t * i))); elseif (a <= 4.5e+56) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (a <= 1.22e+106) tmp = Float64(Float64(k * y5) * Float64(Float64(y * i) - Float64(y0 * y2))); elseif (a <= 3.7e+148) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 = a * (z * ((y1 * y3) - (t * b))); t_2 = c * (y4 * ((y * y3) - (t * y2))); tmp = 0.0; if (a <= -5.3e+125) tmp = t_1; elseif (a <= -1.02e+49) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (a <= -3.5e-40) tmp = t_1; elseif (a <= -6.4e-108) tmp = y4 * (b * ((t * j) - (y * k))); elseif (a <= -5.7e-277) tmp = t_2; elseif (a <= 1.16e-156) tmp = j * (y3 * (y0 * y5)); elseif (a <= 3.9e-50) tmp = t_2; elseif (a <= 1.05e+15) tmp = (j * y5) * ((y0 * y3) - (t * i)); elseif (a <= 4.5e+56) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (a <= 1.22e+106) tmp = (k * y5) * ((y * i) - (y0 * y2)); elseif (a <= 3.7e+148) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.3e+125], t$95$1, If[LessEqual[a, -1.02e+49], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -3.5e-40], t$95$1, If[LessEqual[a, -6.4e-108], N[(y4 * N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -5.7e-277], t$95$2, If[LessEqual[a, 1.16e-156], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.9e-50], t$95$2, If[LessEqual[a, 1.05e+15], N[(N[(j * y5), $MachinePrecision] * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.5e+56], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.22e+106], N[(N[(k * y5), $MachinePrecision] * N[(N[(y * i), $MachinePrecision] - N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.7e+148], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_2 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -5.3 \cdot 10^{+125}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.02 \cdot 10^{+49}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq -3.5 \cdot 10^{-40}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -6.4 \cdot 10^{-108}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;a \leq -5.7 \cdot 10^{-277}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 1.16 \cdot 10^{-156}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 3.9 \cdot 10^{-50}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 1.05 \cdot 10^{+15}:\\
\;\;\;\;\left(j \cdot y5\right) \cdot \left(y0 \cdot y3 - t \cdot i\right)\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{+56}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;a \leq 1.22 \cdot 10^{+106}:\\
\;\;\;\;\left(k \cdot y5\right) \cdot \left(y \cdot i - y0 \cdot y2\right)\\
\mathbf{elif}\;a \leq 3.7 \cdot 10^{+148}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -5.3000000000000003e125 or -1.02e49 < a < -3.5000000000000002e-40Initial program 18.7%
Simplified18.7%
Taylor expanded in a around inf 57.1%
Taylor expanded in z around inf 54.7%
+-commutative54.7%
mul-1-neg54.7%
unsub-neg54.7%
*-commutative54.7%
*-commutative54.7%
Simplified54.7%
if -5.3000000000000003e125 < a < -1.02e49Initial program 20.0%
Taylor expanded in y4 around inf 55.3%
Taylor expanded in y1 around inf 50.8%
if -3.5000000000000002e-40 < a < -6.3999999999999999e-108Initial program 31.6%
Taylor expanded in y4 around inf 52.8%
Taylor expanded in b around inf 63.7%
if -6.3999999999999999e-108 < a < -5.69999999999999954e-277 or 1.15999999999999995e-156 < a < 3.90000000000000021e-50Initial program 40.0%
Simplified40.0%
Taylor expanded in c around inf 44.6%
Taylor expanded in y4 around inf 47.0%
if -5.69999999999999954e-277 < a < 1.15999999999999995e-156Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 3.90000000000000021e-50 < a < 1.05e15Initial program 37.5%
Taylor expanded in y5 around -inf 37.7%
associate-*r*37.7%
neg-mul-137.7%
fma-def37.7%
*-commutative37.7%
*-commutative37.7%
*-commutative37.7%
Simplified37.7%
Taylor expanded in j around -inf 51.9%
associate-*r*63.5%
+-commutative63.5%
mul-1-neg63.5%
unsub-neg63.5%
Simplified63.5%
if 1.05e15 < a < 4.5000000000000003e56Initial program 50.0%
Taylor expanded in y2 around inf 78.3%
Taylor expanded in c around inf 67.8%
*-commutative67.8%
Simplified67.8%
if 4.5000000000000003e56 < a < 1.2199999999999999e106Initial program 35.0%
Taylor expanded in y5 around -inf 55.3%
associate-*r*55.3%
neg-mul-155.3%
fma-def55.3%
*-commutative55.3%
*-commutative55.3%
*-commutative55.3%
Simplified55.3%
Taylor expanded in k around -inf 51.6%
associate-*r*51.7%
*-commutative51.7%
+-commutative51.7%
mul-1-neg51.7%
unsub-neg51.7%
Simplified51.7%
if 1.2199999999999999e106 < a < 3.7000000000000002e148Initial program 15.4%
Taylor expanded in y2 around inf 46.2%
Taylor expanded in t around inf 69.6%
*-commutative69.6%
*-commutative69.6%
Simplified69.6%
if 3.7000000000000002e148 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.2%
Final simplification54.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y0 (- (* x y2) (* z y3)))))
(t_2
(* y2 (+ (* k (- (* y1 y4) (* y0 y5))) (* t (- (* a y5) (* c y4))))))
(t_3 (* a (* y (- (* x b) (* y3 y5))))))
(if (<= y0 -2.9e+107)
t_1
(if (<= y0 -1.2e+84)
(* a (* z (- (* y1 y3) (* t b))))
(if (<= y0 -4.8e+65)
(* y1 (* y2 (- (* k y4) (* x a))))
(if (<= y0 -9.5e-84)
t_2
(if (<= y0 -2.9e-207)
(* y (* y5 (- (* i k) (* a y3))))
(if (<= y0 -1.1e-254)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 -3.5e-284)
t_3
(if (<= y0 1.1e-210)
(* y1 (* i (- (* x j) (* z k))))
(if (<= y0 7.2e-55)
t_2
(if (<= y0 7e+174) t_3 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 = c * (y0 * ((x * y2) - (z * y3)));
double t_2 = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))));
double t_3 = a * (y * ((x * b) - (y3 * y5)));
double tmp;
if (y0 <= -2.9e+107) {
tmp = t_1;
} else if (y0 <= -1.2e+84) {
tmp = a * (z * ((y1 * y3) - (t * b)));
} else if (y0 <= -4.8e+65) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (y0 <= -9.5e-84) {
tmp = t_2;
} else if (y0 <= -2.9e-207) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.1e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -3.5e-284) {
tmp = t_3;
} else if (y0 <= 1.1e-210) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (y0 <= 7.2e-55) {
tmp = t_2;
} else if (y0 <= 7e+174) {
tmp = t_3;
} 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) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = c * (y0 * ((x * y2) - (z * y3)))
t_2 = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))))
t_3 = a * (y * ((x * b) - (y3 * y5)))
if (y0 <= (-2.9d+107)) then
tmp = t_1
else if (y0 <= (-1.2d+84)) then
tmp = a * (z * ((y1 * y3) - (t * b)))
else if (y0 <= (-4.8d+65)) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else if (y0 <= (-9.5d-84)) then
tmp = t_2
else if (y0 <= (-2.9d-207)) then
tmp = y * (y5 * ((i * k) - (a * y3)))
else if (y0 <= (-1.1d-254)) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= (-3.5d-284)) then
tmp = t_3
else if (y0 <= 1.1d-210) then
tmp = y1 * (i * ((x * j) - (z * k)))
else if (y0 <= 7.2d-55) then
tmp = t_2
else if (y0 <= 7d+174) then
tmp = t_3
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 = c * (y0 * ((x * y2) - (z * y3)));
double t_2 = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4))));
double t_3 = a * (y * ((x * b) - (y3 * y5)));
double tmp;
if (y0 <= -2.9e+107) {
tmp = t_1;
} else if (y0 <= -1.2e+84) {
tmp = a * (z * ((y1 * y3) - (t * b)));
} else if (y0 <= -4.8e+65) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (y0 <= -9.5e-84) {
tmp = t_2;
} else if (y0 <= -2.9e-207) {
tmp = y * (y5 * ((i * k) - (a * y3)));
} else if (y0 <= -1.1e-254) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= -3.5e-284) {
tmp = t_3;
} else if (y0 <= 1.1e-210) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (y0 <= 7.2e-55) {
tmp = t_2;
} else if (y0 <= 7e+174) {
tmp = t_3;
} 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 = c * (y0 * ((x * y2) - (z * y3))) t_2 = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4)))) t_3 = a * (y * ((x * b) - (y3 * y5))) tmp = 0 if y0 <= -2.9e+107: tmp = t_1 elif y0 <= -1.2e+84: tmp = a * (z * ((y1 * y3) - (t * b))) elif y0 <= -4.8e+65: tmp = y1 * (y2 * ((k * y4) - (x * a))) elif y0 <= -9.5e-84: tmp = t_2 elif y0 <= -2.9e-207: tmp = y * (y5 * ((i * k) - (a * y3))) elif y0 <= -1.1e-254: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= -3.5e-284: tmp = t_3 elif y0 <= 1.1e-210: tmp = y1 * (i * ((x * j) - (z * k))) elif y0 <= 7.2e-55: tmp = t_2 elif y0 <= 7e+174: tmp = t_3 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(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) t_2 = Float64(y2 * Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))) t_3 = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))) tmp = 0.0 if (y0 <= -2.9e+107) tmp = t_1; elseif (y0 <= -1.2e+84) tmp = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))); elseif (y0 <= -4.8e+65) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); elseif (y0 <= -9.5e-84) tmp = t_2; elseif (y0 <= -2.9e-207) tmp = Float64(y * Float64(y5 * Float64(Float64(i * k) - Float64(a * y3)))); elseif (y0 <= -1.1e-254) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= -3.5e-284) tmp = t_3; elseif (y0 <= 1.1e-210) tmp = Float64(y1 * Float64(i * Float64(Float64(x * j) - Float64(z * k)))); elseif (y0 <= 7.2e-55) tmp = t_2; elseif (y0 <= 7e+174) tmp = t_3; 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 = c * (y0 * ((x * y2) - (z * y3))); t_2 = y2 * ((k * ((y1 * y4) - (y0 * y5))) + (t * ((a * y5) - (c * y4)))); t_3 = a * (y * ((x * b) - (y3 * y5))); tmp = 0.0; if (y0 <= -2.9e+107) tmp = t_1; elseif (y0 <= -1.2e+84) tmp = a * (z * ((y1 * y3) - (t * b))); elseif (y0 <= -4.8e+65) tmp = y1 * (y2 * ((k * y4) - (x * a))); elseif (y0 <= -9.5e-84) tmp = t_2; elseif (y0 <= -2.9e-207) tmp = y * (y5 * ((i * k) - (a * y3))); elseif (y0 <= -1.1e-254) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= -3.5e-284) tmp = t_3; elseif (y0 <= 1.1e-210) tmp = y1 * (i * ((x * j) - (z * k))); elseif (y0 <= 7.2e-55) tmp = t_2; elseif (y0 <= 7e+174) tmp = t_3; 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[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y2 * N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -2.9e+107], t$95$1, If[LessEqual[y0, -1.2e+84], N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4.8e+65], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -9.5e-84], t$95$2, If[LessEqual[y0, -2.9e-207], N[(y * N[(y5 * N[(N[(i * k), $MachinePrecision] - N[(a * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.1e-254], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.5e-284], t$95$3, If[LessEqual[y0, 1.1e-210], N[(y1 * N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 7.2e-55], t$95$2, If[LessEqual[y0, 7e+174], t$95$3, t$95$1]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
t_2 := y2 \cdot \left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
t_3 := a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{if}\;y0 \leq -2.9 \cdot 10^{+107}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y0 \leq -1.2 \cdot 10^{+84}:\\
\;\;\;\;a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{elif}\;y0 \leq -4.8 \cdot 10^{+65}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{elif}\;y0 \leq -9.5 \cdot 10^{-84}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq -2.9 \cdot 10^{-207}:\\
\;\;\;\;y \cdot \left(y5 \cdot \left(i \cdot k - a \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -1.1 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq -3.5 \cdot 10^{-284}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y0 \leq 1.1 \cdot 10^{-210}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 7.2 \cdot 10^{-55}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq 7 \cdot 10^{+174}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y0 < -2.89999999999999988e107 or 7.0000000000000003e174 < y0 Initial program 25.0%
Simplified25.0%
Taylor expanded in c around inf 44.8%
Taylor expanded in y0 around inf 53.9%
if -2.89999999999999988e107 < y0 < -1.2e84Initial program 25.0%
Simplified25.0%
Taylor expanded in a around inf 50.6%
Taylor expanded in z around inf 63.3%
+-commutative63.3%
mul-1-neg63.3%
unsub-neg63.3%
*-commutative63.3%
*-commutative63.3%
Simplified63.3%
if -1.2e84 < y0 < -4.8000000000000003e65Initial program 33.3%
Taylor expanded in y2 around inf 33.3%
Taylor expanded in y1 around inf 68.1%
associate-*r*36.0%
*-commutative36.0%
+-commutative36.0%
mul-1-neg36.0%
unsub-neg36.0%
Simplified36.0%
Taylor expanded in y2 around 0 68.1%
*-commutative68.1%
*-commutative68.1%
Simplified68.1%
if -4.8000000000000003e65 < y0 < -9.49999999999999941e-84 or 1.09999999999999995e-210 < y0 < 7.2000000000000001e-55Initial program 35.9%
Taylor expanded in y2 around inf 44.2%
Taylor expanded in x around 0 51.0%
sub-neg51.0%
*-commutative51.0%
sub-neg51.0%
*-commutative51.0%
*-commutative51.0%
Simplified51.0%
if -9.49999999999999941e-84 < y0 < -2.90000000000000011e-207Initial program 39.9%
Taylor expanded in y5 around -inf 48.2%
associate-*r*48.2%
neg-mul-148.2%
fma-def48.2%
*-commutative48.2%
*-commutative48.2%
*-commutative48.2%
Simplified48.2%
Taylor expanded in y around -inf 64.3%
*-commutative64.3%
Simplified64.3%
if -2.90000000000000011e-207 < y0 < -1.1000000000000001e-254Initial program 8.3%
Taylor expanded in y1 around inf 33.9%
Taylor expanded in y3 around inf 75.4%
+-commutative75.4%
mul-1-neg75.4%
unsub-neg75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -1.1000000000000001e-254 < y0 < -3.49999999999999975e-284 or 7.2000000000000001e-55 < y0 < 7.0000000000000003e174Initial program 31.3%
Simplified33.4%
Taylor expanded in a around inf 43.8%
Taylor expanded in y around inf 48.9%
*-commutative48.9%
*-commutative48.9%
Simplified48.9%
if -3.49999999999999975e-284 < y0 < 1.09999999999999995e-210Initial program 27.2%
Taylor expanded in y1 around inf 42.7%
Taylor expanded in i around inf 43.0%
Final simplification53.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (- (* y1 y4) (* y0 y5))))
(t_2 (* a (* z (- (* y1 y3) (* t b)))))
(t_3 (* t (- (* a y5) (* c y4))))
(t_4 (* y2 (+ (+ t_1 (* x (- (* c y0) (* a y1)))) t_3))))
(if (<= z -9.8e+179)
t_2
(if (<= z -6e+70)
(* y1 (* i (- (* x j) (* z k))))
(if (<= z -3.6e-25)
t_4
(if (<= z -1.55e-97)
(* (* x c) (- (* y0 y2) (* y i)))
(if (<= z -3.4e-125)
(* y2 (+ t_1 t_3))
(if (<= z 2.5e-251)
(* i (* y5 (- (* y k) (* t j))))
(if (<= z 3.75e-47)
t_4
(if (<= z 1.55e+50)
(* (* c i) (- (* z t) (* x y)))
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 * ((y1 * y4) - (y0 * y5));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double t_3 = t * ((a * y5) - (c * y4));
double t_4 = y2 * ((t_1 + (x * ((c * y0) - (a * y1)))) + t_3);
double tmp;
if (z <= -9.8e+179) {
tmp = t_2;
} else if (z <= -6e+70) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (z <= -3.6e-25) {
tmp = t_4;
} else if (z <= -1.55e-97) {
tmp = (x * c) * ((y0 * y2) - (y * i));
} else if (z <= -3.4e-125) {
tmp = y2 * (t_1 + t_3);
} else if (z <= 2.5e-251) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (z <= 3.75e-47) {
tmp = t_4;
} else if (z <= 1.55e+50) {
tmp = (c * i) * ((z * t) - (x * y));
} else {
tmp = t_2;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = k * ((y1 * y4) - (y0 * y5))
t_2 = a * (z * ((y1 * y3) - (t * b)))
t_3 = t * ((a * y5) - (c * y4))
t_4 = y2 * ((t_1 + (x * ((c * y0) - (a * y1)))) + t_3)
if (z <= (-9.8d+179)) then
tmp = t_2
else if (z <= (-6d+70)) then
tmp = y1 * (i * ((x * j) - (z * k)))
else if (z <= (-3.6d-25)) then
tmp = t_4
else if (z <= (-1.55d-97)) then
tmp = (x * c) * ((y0 * y2) - (y * i))
else if (z <= (-3.4d-125)) then
tmp = y2 * (t_1 + t_3)
else if (z <= 2.5d-251) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (z <= 3.75d-47) then
tmp = t_4
else if (z <= 1.55d+50) then
tmp = (c * i) * ((z * t) - (x * y))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * ((y1 * y4) - (y0 * y5));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double t_3 = t * ((a * y5) - (c * y4));
double t_4 = y2 * ((t_1 + (x * ((c * y0) - (a * y1)))) + t_3);
double tmp;
if (z <= -9.8e+179) {
tmp = t_2;
} else if (z <= -6e+70) {
tmp = y1 * (i * ((x * j) - (z * k)));
} else if (z <= -3.6e-25) {
tmp = t_4;
} else if (z <= -1.55e-97) {
tmp = (x * c) * ((y0 * y2) - (y * i));
} else if (z <= -3.4e-125) {
tmp = y2 * (t_1 + t_3);
} else if (z <= 2.5e-251) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (z <= 3.75e-47) {
tmp = t_4;
} else if (z <= 1.55e+50) {
tmp = (c * i) * ((z * t) - (x * y));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * ((y1 * y4) - (y0 * y5)) t_2 = a * (z * ((y1 * y3) - (t * b))) t_3 = t * ((a * y5) - (c * y4)) t_4 = y2 * ((t_1 + (x * ((c * y0) - (a * y1)))) + t_3) tmp = 0 if z <= -9.8e+179: tmp = t_2 elif z <= -6e+70: tmp = y1 * (i * ((x * j) - (z * k))) elif z <= -3.6e-25: tmp = t_4 elif z <= -1.55e-97: tmp = (x * c) * ((y0 * y2) - (y * i)) elif z <= -3.4e-125: tmp = y2 * (t_1 + t_3) elif z <= 2.5e-251: tmp = i * (y5 * ((y * k) - (t * j))) elif z <= 3.75e-47: tmp = t_4 elif z <= 1.55e+50: tmp = (c * i) * ((z * t) - (x * y)) 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(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) t_2 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_3 = Float64(t * Float64(Float64(a * y5) - Float64(c * y4))) t_4 = Float64(y2 * Float64(Float64(t_1 + Float64(x * Float64(Float64(c * y0) - Float64(a * y1)))) + t_3)) tmp = 0.0 if (z <= -9.8e+179) tmp = t_2; elseif (z <= -6e+70) tmp = Float64(y1 * Float64(i * Float64(Float64(x * j) - Float64(z * k)))); elseif (z <= -3.6e-25) tmp = t_4; elseif (z <= -1.55e-97) tmp = Float64(Float64(x * c) * Float64(Float64(y0 * y2) - Float64(y * i))); elseif (z <= -3.4e-125) tmp = Float64(y2 * Float64(t_1 + t_3)); elseif (z <= 2.5e-251) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (z <= 3.75e-47) tmp = t_4; elseif (z <= 1.55e+50) tmp = Float64(Float64(c * i) * Float64(Float64(z * t) - Float64(x * y))); else tmp = t_2; 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 = k * ((y1 * y4) - (y0 * y5)); t_2 = a * (z * ((y1 * y3) - (t * b))); t_3 = t * ((a * y5) - (c * y4)); t_4 = y2 * ((t_1 + (x * ((c * y0) - (a * y1)))) + t_3); tmp = 0.0; if (z <= -9.8e+179) tmp = t_2; elseif (z <= -6e+70) tmp = y1 * (i * ((x * j) - (z * k))); elseif (z <= -3.6e-25) tmp = t_4; elseif (z <= -1.55e-97) tmp = (x * c) * ((y0 * y2) - (y * i)); elseif (z <= -3.4e-125) tmp = y2 * (t_1 + t_3); elseif (z <= 2.5e-251) tmp = i * (y5 * ((y * k) - (t * j))); elseif (z <= 3.75e-47) tmp = t_4; elseif (z <= 1.55e+50) tmp = (c * i) * ((z * t) - (x * y)); else tmp = t_2; 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[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y2 * N[(N[(t$95$1 + N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -9.8e+179], t$95$2, If[LessEqual[z, -6e+70], N[(y1 * N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -3.6e-25], t$95$4, If[LessEqual[z, -1.55e-97], N[(N[(x * c), $MachinePrecision] * N[(N[(y0 * y2), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -3.4e-125], N[(y2 * N[(t$95$1 + t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.5e-251], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.75e-47], t$95$4, If[LessEqual[z, 1.55e+50], N[(N[(c * i), $MachinePrecision] * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
t_2 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_3 := t \cdot \left(a \cdot y5 - c \cdot y4\right)\\
t_4 := y2 \cdot \left(\left(t_1 + x \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + t_3\right)\\
\mathbf{if}\;z \leq -9.8 \cdot 10^{+179}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -6 \cdot 10^{+70}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;z \leq -3.6 \cdot 10^{-25}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;z \leq -1.55 \cdot 10^{-97}:\\
\;\;\;\;\left(x \cdot c\right) \cdot \left(y0 \cdot y2 - y \cdot i\right)\\
\mathbf{elif}\;z \leq -3.4 \cdot 10^{-125}:\\
\;\;\;\;y2 \cdot \left(t_1 + t_3\right)\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{-251}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;z \leq 3.75 \cdot 10^{-47}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;z \leq 1.55 \cdot 10^{+50}:\\
\;\;\;\;\left(c \cdot i\right) \cdot \left(z \cdot t - x \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -9.7999999999999997e179 or 1.55000000000000001e50 < z Initial program 18.9%
Simplified20.1%
Taylor expanded in a around inf 39.8%
Taylor expanded in z around inf 52.3%
+-commutative52.3%
mul-1-neg52.3%
unsub-neg52.3%
*-commutative52.3%
*-commutative52.3%
Simplified52.3%
if -9.7999999999999997e179 < z < -5.99999999999999952e70Initial program 33.2%
Taylor expanded in y1 around inf 66.8%
Taylor expanded in i around inf 62.2%
if -5.99999999999999952e70 < z < -3.5999999999999999e-25 or 2.5000000000000001e-251 < z < 3.74999999999999984e-47Initial program 42.4%
Taylor expanded in y2 around inf 56.8%
if -3.5999999999999999e-25 < z < -1.55000000000000001e-97Initial program 20.0%
Simplified20.0%
Taylor expanded in c around inf 54.1%
Taylor expanded in x around inf 47.7%
associate-*r*47.7%
*-commutative47.7%
+-commutative47.7%
mul-1-neg47.7%
unsub-neg47.7%
Simplified47.7%
if -1.55000000000000001e-97 < z < -3.39999999999999975e-125Initial program 40.0%
Taylor expanded in y2 around inf 70.1%
Taylor expanded in x around 0 70.6%
sub-neg70.6%
*-commutative70.6%
sub-neg70.6%
*-commutative70.6%
*-commutative70.6%
Simplified70.6%
if -3.39999999999999975e-125 < z < 2.5000000000000001e-251Initial program 37.1%
Taylor expanded in y5 around -inf 39.7%
associate-*r*39.7%
neg-mul-139.7%
fma-def41.9%
*-commutative41.9%
*-commutative41.9%
*-commutative41.9%
Simplified41.9%
Taylor expanded in i around inf 38.2%
mul-1-neg38.2%
*-commutative38.2%
distribute-rgt-neg-in38.2%
Simplified38.2%
if 3.74999999999999984e-47 < z < 1.55000000000000001e50Initial program 25.0%
Simplified25.0%
Taylor expanded in c around inf 43.9%
Taylor expanded in i around inf 56.9%
mul-1-neg56.9%
associate-*r*56.9%
neg-mul-156.9%
+-commutative56.9%
*-commutative56.9%
fma-udef56.9%
distribute-lft-neg-in56.9%
fma-udef56.9%
*-commutative56.9%
unsub-neg56.9%
*-commutative56.9%
Simplified56.9%
Final simplification52.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* z (- (* y1 y3) (* t b)))))
(t_2 (* c (* y4 (- (* y y3) (* t y2))))))
(if (<= a -7.8e+124)
t_1
(if (<= a -2.2e+45)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= a -2.1e-40)
t_1
(if (<= a -6e-108)
(* y4 (* b (- (* t j) (* y k))))
(if (<= a -5.3e-278)
t_2
(if (<= a 1.05e-155)
(* j (* y3 (* y0 y5)))
(if (<= a 3.6e-48)
t_2
(if (<= a 8.8e+22)
(* (* j y5) (- (* y0 y3) (* t i)))
(if (<= a 2.7e+146)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4)))))))))))))))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -7.8e+124) {
tmp = t_1;
} else if (a <= -2.2e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -2.1e-40) {
tmp = t_1;
} else if (a <= -6e-108) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -5.3e-278) {
tmp = t_2;
} else if (a <= 1.05e-155) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.6e-48) {
tmp = t_2;
} else if (a <= 8.8e+22) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 2.7e+146) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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_2
real(8) :: tmp
t_1 = a * (z * ((y1 * y3) - (t * b)))
t_2 = c * (y4 * ((y * y3) - (t * y2)))
if (a <= (-7.8d+124)) then
tmp = t_1
else if (a <= (-2.2d+45)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (a <= (-2.1d-40)) then
tmp = t_1
else if (a <= (-6d-108)) then
tmp = y4 * (b * ((t * j) - (y * k)))
else if (a <= (-5.3d-278)) then
tmp = t_2
else if (a <= 1.05d-155) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 3.6d-48) then
tmp = t_2
else if (a <= 8.8d+22) then
tmp = (j * y5) * ((y0 * y3) - (t * i))
else if (a <= 2.7d+146) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -7.8e+124) {
tmp = t_1;
} else if (a <= -2.2e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -2.1e-40) {
tmp = t_1;
} else if (a <= -6e-108) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -5.3e-278) {
tmp = t_2;
} else if (a <= 1.05e-155) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.6e-48) {
tmp = t_2;
} else if (a <= 8.8e+22) {
tmp = (j * y5) * ((y0 * y3) - (t * i));
} else if (a <= 2.7e+146) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (z * ((y1 * y3) - (t * b))) t_2 = c * (y4 * ((y * y3) - (t * y2))) tmp = 0 if a <= -7.8e+124: tmp = t_1 elif a <= -2.2e+45: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif a <= -2.1e-40: tmp = t_1 elif a <= -6e-108: tmp = y4 * (b * ((t * j) - (y * k))) elif a <= -5.3e-278: tmp = t_2 elif a <= 1.05e-155: tmp = j * (y3 * (y0 * y5)) elif a <= 3.6e-48: tmp = t_2 elif a <= 8.8e+22: tmp = (j * y5) * ((y0 * y3) - (t * i)) elif a <= 2.7e+146: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_2 = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) tmp = 0.0 if (a <= -7.8e+124) tmp = t_1; elseif (a <= -2.2e+45) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (a <= -2.1e-40) tmp = t_1; elseif (a <= -6e-108) tmp = Float64(y4 * Float64(b * Float64(Float64(t * j) - Float64(y * k)))); elseif (a <= -5.3e-278) tmp = t_2; elseif (a <= 1.05e-155) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 3.6e-48) tmp = t_2; elseif (a <= 8.8e+22) tmp = Float64(Float64(j * y5) * Float64(Float64(y0 * y3) - Float64(t * i))); elseif (a <= 2.7e+146) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 = a * (z * ((y1 * y3) - (t * b))); t_2 = c * (y4 * ((y * y3) - (t * y2))); tmp = 0.0; if (a <= -7.8e+124) tmp = t_1; elseif (a <= -2.2e+45) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (a <= -2.1e-40) tmp = t_1; elseif (a <= -6e-108) tmp = y4 * (b * ((t * j) - (y * k))); elseif (a <= -5.3e-278) tmp = t_2; elseif (a <= 1.05e-155) tmp = j * (y3 * (y0 * y5)); elseif (a <= 3.6e-48) tmp = t_2; elseif (a <= 8.8e+22) tmp = (j * y5) * ((y0 * y3) - (t * i)); elseif (a <= 2.7e+146) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -7.8e+124], t$95$1, If[LessEqual[a, -2.2e+45], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -2.1e-40], t$95$1, If[LessEqual[a, -6e-108], N[(y4 * N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -5.3e-278], t$95$2, If[LessEqual[a, 1.05e-155], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e-48], t$95$2, If[LessEqual[a, 8.8e+22], N[(N[(j * y5), $MachinePrecision] * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.7e+146], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_2 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -7.8 \cdot 10^{+124}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.2 \cdot 10^{+45}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq -2.1 \cdot 10^{-40}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -6 \cdot 10^{-108}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;a \leq -5.3 \cdot 10^{-278}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 1.05 \cdot 10^{-155}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{-48}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 8.8 \cdot 10^{+22}:\\
\;\;\;\;\left(j \cdot y5\right) \cdot \left(y0 \cdot y3 - t \cdot i\right)\\
\mathbf{elif}\;a \leq 2.7 \cdot 10^{+146}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -7.8000000000000001e124 or -2.2e45 < a < -2.10000000000000018e-40Initial program 18.7%
Simplified18.7%
Taylor expanded in a around inf 57.1%
Taylor expanded in z around inf 54.7%
+-commutative54.7%
mul-1-neg54.7%
unsub-neg54.7%
*-commutative54.7%
*-commutative54.7%
Simplified54.7%
if -7.8000000000000001e124 < a < -2.2e45Initial program 20.0%
Taylor expanded in y4 around inf 55.3%
Taylor expanded in y1 around inf 50.8%
if -2.10000000000000018e-40 < a < -5.99999999999999986e-108Initial program 31.6%
Taylor expanded in y4 around inf 52.8%
Taylor expanded in b around inf 63.7%
if -5.99999999999999986e-108 < a < -5.3e-278 or 1.0500000000000001e-155 < a < 3.6000000000000002e-48Initial program 40.0%
Simplified40.0%
Taylor expanded in c around inf 44.6%
Taylor expanded in y4 around inf 47.0%
if -5.3e-278 < a < 1.0500000000000001e-155Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 3.6000000000000002e-48 < a < 8.8e22Initial program 50.0%
Taylor expanded in y5 around -inf 40.3%
associate-*r*40.3%
neg-mul-140.3%
fma-def40.3%
*-commutative40.3%
*-commutative40.3%
*-commutative40.3%
Simplified40.3%
Taylor expanded in j around -inf 42.4%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
Simplified51.6%
if 8.8e22 < a < 2.69999999999999989e146Initial program 27.0%
Taylor expanded in y2 around inf 46.5%
Taylor expanded in t around inf 49.4%
*-commutative49.4%
*-commutative49.4%
Simplified49.4%
if 2.69999999999999989e146 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.2%
Final simplification52.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y4 (* b (- (* t j) (* y k)))))
(t_2 (* a (* z (- (* y1 y3) (* t b))))))
(if (<= a -9.8e+120)
t_2
(if (<= a -3.5e+47)
t_1
(if (<= a -3.8e-40)
t_2
(if (<= a -1.35e-107)
t_1
(if (<= a -1.75e-277)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= a 4.5e-159)
(* j (* y3 (* y0 y5)))
(if (<= a 8.8e+151)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4)))))))))))))
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 * (b * ((t * j) - (y * k)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -9.8e+120) {
tmp = t_2;
} else if (a <= -3.5e+47) {
tmp = t_1;
} else if (a <= -3.8e-40) {
tmp = t_2;
} else if (a <= -1.35e-107) {
tmp = t_1;
} else if (a <= -1.75e-277) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (a <= 4.5e-159) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 8.8e+151) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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_2
real(8) :: tmp
t_1 = y4 * (b * ((t * j) - (y * k)))
t_2 = a * (z * ((y1 * y3) - (t * b)))
if (a <= (-9.8d+120)) then
tmp = t_2
else if (a <= (-3.5d+47)) then
tmp = t_1
else if (a <= (-3.8d-40)) then
tmp = t_2
else if (a <= (-1.35d-107)) then
tmp = t_1
else if (a <= (-1.75d-277)) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (a <= 4.5d-159) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 8.8d+151) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 * (b * ((t * j) - (y * k)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -9.8e+120) {
tmp = t_2;
} else if (a <= -3.5e+47) {
tmp = t_1;
} else if (a <= -3.8e-40) {
tmp = t_2;
} else if (a <= -1.35e-107) {
tmp = t_1;
} else if (a <= -1.75e-277) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (a <= 4.5e-159) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 8.8e+151) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (b * ((t * j) - (y * k))) t_2 = a * (z * ((y1 * y3) - (t * b))) tmp = 0 if a <= -9.8e+120: tmp = t_2 elif a <= -3.5e+47: tmp = t_1 elif a <= -3.8e-40: tmp = t_2 elif a <= -1.35e-107: tmp = t_1 elif a <= -1.75e-277: tmp = c * (y4 * ((y * y3) - (t * y2))) elif a <= 4.5e-159: tmp = j * (y3 * (y0 * y5)) elif a <= 8.8e+151: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y4 * Float64(b * Float64(Float64(t * j) - Float64(y * k)))) t_2 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) tmp = 0.0 if (a <= -9.8e+120) tmp = t_2; elseif (a <= -3.5e+47) tmp = t_1; elseif (a <= -3.8e-40) tmp = t_2; elseif (a <= -1.35e-107) tmp = t_1; elseif (a <= -1.75e-277) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (a <= 4.5e-159) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 8.8e+151) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 * (b * ((t * j) - (y * k))); t_2 = a * (z * ((y1 * y3) - (t * b))); tmp = 0.0; if (a <= -9.8e+120) tmp = t_2; elseif (a <= -3.5e+47) tmp = t_1; elseif (a <= -3.8e-40) tmp = t_2; elseif (a <= -1.35e-107) tmp = t_1; elseif (a <= -1.75e-277) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (a <= 4.5e-159) tmp = j * (y3 * (y0 * y5)); elseif (a <= 8.8e+151) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(y4 * N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -9.8e+120], t$95$2, If[LessEqual[a, -3.5e+47], t$95$1, If[LessEqual[a, -3.8e-40], t$95$2, If[LessEqual[a, -1.35e-107], t$95$1, If[LessEqual[a, -1.75e-277], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.5e-159], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.8e+151], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right)\\
t_2 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{if}\;a \leq -9.8 \cdot 10^{+120}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -3.5 \cdot 10^{+47}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -3.8 \cdot 10^{-40}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -1.35 \cdot 10^{-107}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.75 \cdot 10^{-277}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{-159}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 8.8 \cdot 10^{+151}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -9.80000000000000021e120 or -3.50000000000000015e47 < a < -3.7999999999999999e-40Initial program 18.7%
Simplified18.7%
Taylor expanded in a around inf 57.1%
Taylor expanded in z around inf 54.7%
+-commutative54.7%
mul-1-neg54.7%
unsub-neg54.7%
*-commutative54.7%
*-commutative54.7%
Simplified54.7%
if -9.80000000000000021e120 < a < -3.50000000000000015e47 or -3.7999999999999999e-40 < a < -1.35e-107Initial program 25.6%
Taylor expanded in y4 around inf 54.1%
Taylor expanded in b around inf 54.8%
if -1.35e-107 < a < -1.74999999999999991e-277Initial program 38.7%
Simplified38.7%
Taylor expanded in c around inf 45.7%
Taylor expanded in y4 around inf 49.1%
if -1.74999999999999991e-277 < a < 4.49999999999999989e-159Initial program 46.2%
Taylor expanded in y5 around -inf 39.5%
associate-*r*39.5%
neg-mul-139.5%
fma-def43.3%
*-commutative43.3%
*-commutative43.3%
*-commutative43.3%
Simplified43.3%
Taylor expanded in j around -inf 47.3%
associate-*r*43.5%
+-commutative43.5%
mul-1-neg43.5%
unsub-neg43.5%
Simplified43.5%
Taylor expanded in y0 around inf 46.9%
associate-*r*46.9%
*-commutative46.9%
associate-*l*50.6%
Simplified50.6%
if 4.49999999999999989e-159 < a < 8.80000000000000027e151Initial program 35.8%
Taylor expanded in y2 around inf 43.2%
Taylor expanded in t around inf 38.3%
*-commutative38.3%
*-commutative38.3%
Simplified38.3%
if 8.80000000000000027e151 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.2%
Final simplification49.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* z (- (* y1 y3) (* t b))))))
(if (<= a -9e+122)
t_1
(if (<= a -8.5e+45)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= a -1.25e-40)
t_1
(if (<= a -1.15e-107)
(* y4 (* b (- (* t j) (* y k))))
(if (<= a -3.15e-276)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= a 7.8e-158)
(* j (* y3 (* y0 y5)))
(if (<= a 8.6e+147)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4)))))))))))))
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 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -9e+122) {
tmp = t_1;
} else if (a <= -8.5e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -1.25e-40) {
tmp = t_1;
} else if (a <= -1.15e-107) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -3.15e-276) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (a <= 7.8e-158) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 8.6e+147) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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 = a * (z * ((y1 * y3) - (t * b)))
if (a <= (-9d+122)) then
tmp = t_1
else if (a <= (-8.5d+45)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (a <= (-1.25d-40)) then
tmp = t_1
else if (a <= (-1.15d-107)) then
tmp = y4 * (b * ((t * j) - (y * k)))
else if (a <= (-3.15d-276)) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (a <= 7.8d-158) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 8.6d+147) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -9e+122) {
tmp = t_1;
} else if (a <= -8.5e+45) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (a <= -1.25e-40) {
tmp = t_1;
} else if (a <= -1.15e-107) {
tmp = y4 * (b * ((t * j) - (y * k)));
} else if (a <= -3.15e-276) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (a <= 7.8e-158) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 8.6e+147) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (z * ((y1 * y3) - (t * b))) tmp = 0 if a <= -9e+122: tmp = t_1 elif a <= -8.5e+45: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif a <= -1.25e-40: tmp = t_1 elif a <= -1.15e-107: tmp = y4 * (b * ((t * j) - (y * k))) elif a <= -3.15e-276: tmp = c * (y4 * ((y * y3) - (t * y2))) elif a <= 7.8e-158: tmp = j * (y3 * (y0 * y5)) elif a <= 8.6e+147: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) tmp = 0.0 if (a <= -9e+122) tmp = t_1; elseif (a <= -8.5e+45) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (a <= -1.25e-40) tmp = t_1; elseif (a <= -1.15e-107) tmp = Float64(y4 * Float64(b * Float64(Float64(t * j) - Float64(y * k)))); elseif (a <= -3.15e-276) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (a <= 7.8e-158) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 8.6e+147) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 = a * (z * ((y1 * y3) - (t * b))); tmp = 0.0; if (a <= -9e+122) tmp = t_1; elseif (a <= -8.5e+45) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (a <= -1.25e-40) tmp = t_1; elseif (a <= -1.15e-107) tmp = y4 * (b * ((t * j) - (y * k))); elseif (a <= -3.15e-276) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (a <= 7.8e-158) tmp = j * (y3 * (y0 * y5)); elseif (a <= 8.6e+147) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -9e+122], t$95$1, If[LessEqual[a, -8.5e+45], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.25e-40], t$95$1, If[LessEqual[a, -1.15e-107], N[(y4 * N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -3.15e-276], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7.8e-158], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.6e+147], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{if}\;a \leq -9 \cdot 10^{+122}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -8.5 \cdot 10^{+45}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq -1.25 \cdot 10^{-40}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{-107}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;a \leq -3.15 \cdot 10^{-276}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;a \leq 7.8 \cdot 10^{-158}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 8.6 \cdot 10^{+147}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -8.99999999999999995e122 or -8.4999999999999996e45 < a < -1.24999999999999991e-40Initial program 18.7%
Simplified18.7%
Taylor expanded in a around inf 57.1%
Taylor expanded in z around inf 54.7%
+-commutative54.7%
mul-1-neg54.7%
unsub-neg54.7%
*-commutative54.7%
*-commutative54.7%
Simplified54.7%
if -8.99999999999999995e122 < a < -8.4999999999999996e45Initial program 20.0%
Taylor expanded in y4 around inf 55.3%
Taylor expanded in y1 around inf 50.8%
if -1.24999999999999991e-40 < a < -1.15000000000000002e-107Initial program 31.6%
Taylor expanded in y4 around inf 52.8%
Taylor expanded in b around inf 63.7%
if -1.15000000000000002e-107 < a < -3.1499999999999999e-276Initial program 38.7%
Simplified38.7%
Taylor expanded in c around inf 45.7%
Taylor expanded in y4 around inf 49.1%
if -3.1499999999999999e-276 < a < 7.7999999999999993e-158Initial program 46.2%
Taylor expanded in y5 around -inf 39.5%
associate-*r*39.5%
neg-mul-139.5%
fma-def43.3%
*-commutative43.3%
*-commutative43.3%
*-commutative43.3%
Simplified43.3%
Taylor expanded in j around -inf 47.3%
associate-*r*43.5%
+-commutative43.5%
mul-1-neg43.5%
unsub-neg43.5%
Simplified43.5%
Taylor expanded in y0 around inf 46.9%
associate-*r*46.9%
*-commutative46.9%
associate-*l*50.6%
Simplified50.6%
if 7.7999999999999993e-158 < a < 8.5999999999999997e147Initial program 35.8%
Taylor expanded in y2 around inf 43.2%
Taylor expanded in t around inf 38.3%
*-commutative38.3%
*-commutative38.3%
Simplified38.3%
if 8.5999999999999997e147 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.2%
Final simplification50.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y4 (- (* y y3) (* t y2)))))
(t_2 (* a (* z (- (* y1 y3) (* t b))))))
(if (<= a -1.15e-55)
t_2
(if (<= a -3e-276)
t_1
(if (<= a 1.45e-153)
(* j (* y3 (* y0 y5)))
(if (<= a 3.75e+56)
t_1
(if (<= a 2.65e+101)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= a 6.2e+142) (* c (* y2 (- (* x y0) (* t y4)))) 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 = c * (y4 * ((y * y3) - (t * y2)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -1.15e-55) {
tmp = t_2;
} else if (a <= -3e-276) {
tmp = t_1;
} else if (a <= 1.45e-153) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.75e+56) {
tmp = t_1;
} else if (a <= 2.65e+101) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 6.2e+142) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else {
tmp = t_2;
}
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_2
real(8) :: tmp
t_1 = c * (y4 * ((y * y3) - (t * y2)))
t_2 = a * (z * ((y1 * y3) - (t * b)))
if (a <= (-1.15d-55)) then
tmp = t_2
else if (a <= (-3d-276)) then
tmp = t_1
else if (a <= 1.45d-153) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 3.75d+56) then
tmp = t_1
else if (a <= 2.65d+101) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (a <= 6.2d+142) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y4 * ((y * y3) - (t * y2)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -1.15e-55) {
tmp = t_2;
} else if (a <= -3e-276) {
tmp = t_1;
} else if (a <= 1.45e-153) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 3.75e+56) {
tmp = t_1;
} else if (a <= 2.65e+101) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 6.2e+142) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y4 * ((y * y3) - (t * y2))) t_2 = a * (z * ((y1 * y3) - (t * b))) tmp = 0 if a <= -1.15e-55: tmp = t_2 elif a <= -3e-276: tmp = t_1 elif a <= 1.45e-153: tmp = j * (y3 * (y0 * y5)) elif a <= 3.75e+56: tmp = t_1 elif a <= 2.65e+101: tmp = a * (y * ((x * b) - (y3 * y5))) elif a <= 6.2e+142: tmp = c * (y2 * ((x * y0) - (t * y4))) 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(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) t_2 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) tmp = 0.0 if (a <= -1.15e-55) tmp = t_2; elseif (a <= -3e-276) tmp = t_1; elseif (a <= 1.45e-153) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 3.75e+56) tmp = t_1; elseif (a <= 2.65e+101) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (a <= 6.2e+142) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); else tmp = t_2; 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 = c * (y4 * ((y * y3) - (t * y2))); t_2 = a * (z * ((y1 * y3) - (t * b))); tmp = 0.0; if (a <= -1.15e-55) tmp = t_2; elseif (a <= -3e-276) tmp = t_1; elseif (a <= 1.45e-153) tmp = j * (y3 * (y0 * y5)); elseif (a <= 3.75e+56) tmp = t_1; elseif (a <= 2.65e+101) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (a <= 6.2e+142) tmp = c * (y2 * ((x * y0) - (t * y4))); else tmp = t_2; 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[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.15e-55], t$95$2, If[LessEqual[a, -3e-276], t$95$1, If[LessEqual[a, 1.45e-153], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.75e+56], t$95$1, If[LessEqual[a, 2.65e+101], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.2e+142], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_2 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{if}\;a \leq -1.15 \cdot 10^{-55}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -3 \cdot 10^{-276}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.45 \cdot 10^{-153}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 3.75 \cdot 10^{+56}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 2.65 \cdot 10^{+101}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{+142}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -1.15000000000000006e-55 or 6.1999999999999998e142 < a Initial program 21.5%
Simplified21.5%
Taylor expanded in a around inf 51.9%
Taylor expanded in z around inf 47.1%
+-commutative47.1%
mul-1-neg47.1%
unsub-neg47.1%
*-commutative47.1%
*-commutative47.1%
Simplified47.1%
if -1.15000000000000006e-55 < a < -2.99999999999999988e-276 or 1.45000000000000001e-153 < a < 3.75e56Initial program 39.5%
Simplified39.5%
Taylor expanded in c around inf 45.4%
Taylor expanded in y4 around inf 41.9%
if -2.99999999999999988e-276 < a < 1.45000000000000001e-153Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 3.75e56 < a < 2.65000000000000003e101Initial program 41.2%
Simplified47.1%
Taylor expanded in a around inf 59.5%
Taylor expanded in y around inf 47.6%
*-commutative47.6%
*-commutative47.6%
Simplified47.6%
if 2.65000000000000003e101 < a < 6.1999999999999998e142Initial program 13.3%
Taylor expanded in y2 around inf 33.3%
Taylor expanded in c around inf 67.0%
*-commutative67.0%
Simplified67.0%
Final simplification46.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y4 (- (* y y3) (* t y2)))))
(t_2 (* a (* z (- (* y1 y3) (* t b))))))
(if (<= a -3.8e-56)
t_2
(if (<= a -6.2e-278)
t_1
(if (<= a 1.6e-156)
(* j (* y3 (* y0 y5)))
(if (<= a 2.9e+56)
t_1
(if (<= a 5.2e+92)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= a 1.8e+150) (* t (* y2 (- (* a y5) (* c y4)))) 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 = c * (y4 * ((y * y3) - (t * y2)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -3.8e-56) {
tmp = t_2;
} else if (a <= -6.2e-278) {
tmp = t_1;
} else if (a <= 1.6e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 2.9e+56) {
tmp = t_1;
} else if (a <= 5.2e+92) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 1.8e+150) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = t_2;
}
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_2
real(8) :: tmp
t_1 = c * (y4 * ((y * y3) - (t * y2)))
t_2 = a * (z * ((y1 * y3) - (t * b)))
if (a <= (-3.8d-56)) then
tmp = t_2
else if (a <= (-6.2d-278)) then
tmp = t_1
else if (a <= 1.6d-156) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 2.9d+56) then
tmp = t_1
else if (a <= 5.2d+92) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (a <= 1.8d+150) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y4 * ((y * y3) - (t * y2)));
double t_2 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -3.8e-56) {
tmp = t_2;
} else if (a <= -6.2e-278) {
tmp = t_1;
} else if (a <= 1.6e-156) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 2.9e+56) {
tmp = t_1;
} else if (a <= 5.2e+92) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 1.8e+150) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y4 * ((y * y3) - (t * y2))) t_2 = a * (z * ((y1 * y3) - (t * b))) tmp = 0 if a <= -3.8e-56: tmp = t_2 elif a <= -6.2e-278: tmp = t_1 elif a <= 1.6e-156: tmp = j * (y3 * (y0 * y5)) elif a <= 2.9e+56: tmp = t_1 elif a <= 5.2e+92: tmp = a * (y * ((x * b) - (y3 * y5))) elif a <= 1.8e+150: tmp = t * (y2 * ((a * y5) - (c * y4))) 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(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) t_2 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) tmp = 0.0 if (a <= -3.8e-56) tmp = t_2; elseif (a <= -6.2e-278) tmp = t_1; elseif (a <= 1.6e-156) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 2.9e+56) tmp = t_1; elseif (a <= 5.2e+92) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (a <= 1.8e+150) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = t_2; 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 = c * (y4 * ((y * y3) - (t * y2))); t_2 = a * (z * ((y1 * y3) - (t * b))); tmp = 0.0; if (a <= -3.8e-56) tmp = t_2; elseif (a <= -6.2e-278) tmp = t_1; elseif (a <= 1.6e-156) tmp = j * (y3 * (y0 * y5)); elseif (a <= 2.9e+56) tmp = t_1; elseif (a <= 5.2e+92) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (a <= 1.8e+150) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = t_2; 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[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.8e-56], t$95$2, If[LessEqual[a, -6.2e-278], t$95$1, If[LessEqual[a, 1.6e-156], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.9e+56], t$95$1, If[LessEqual[a, 5.2e+92], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.8e+150], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_2 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{if}\;a \leq -3.8 \cdot 10^{-56}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -6.2 \cdot 10^{-278}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.6 \cdot 10^{-156}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 2.9 \cdot 10^{+56}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{+92}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 1.8 \cdot 10^{+150}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -3.8000000000000002e-56 or 1.79999999999999993e150 < a Initial program 21.7%
Simplified21.7%
Taylor expanded in a around inf 51.5%
Taylor expanded in z around inf 47.5%
+-commutative47.5%
mul-1-neg47.5%
unsub-neg47.5%
*-commutative47.5%
*-commutative47.5%
Simplified47.5%
if -3.8000000000000002e-56 < a < -6.19999999999999983e-278 or 1.59999999999999991e-156 < a < 2.90000000000000007e56Initial program 39.5%
Simplified39.5%
Taylor expanded in c around inf 45.4%
Taylor expanded in y4 around inf 41.9%
if -6.19999999999999983e-278 < a < 1.59999999999999991e-156Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 2.90000000000000007e56 < a < 5.1999999999999998e92Initial program 46.7%
Simplified53.3%
Taylor expanded in a around inf 67.2%
Taylor expanded in y around inf 53.7%
*-commutative53.7%
*-commutative53.7%
Simplified53.7%
if 5.1999999999999998e92 < a < 1.79999999999999993e150Initial program 11.1%
Taylor expanded in y2 around inf 38.9%
Taylor expanded in t around inf 61.4%
*-commutative61.4%
*-commutative61.4%
Simplified61.4%
Final simplification47.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y4 (- (* y y3) (* t y2))))))
(if (<= a -3.8e-54)
(* a (* z (- (* y1 y3) (* t b))))
(if (<= a -1.2e-277)
t_1
(if (<= a 7.6e-154)
(* j (* y3 (* y0 y5)))
(if (<= a 4.8e+56)
t_1
(if (<= a 3.3e+92)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= a 1.45e+146)
(* t (* y2 (- (* a y5) (* c y4))))
(* y1 (* y3 (- (* z a) (* j y4))))))))))))
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 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -3.8e-54) {
tmp = a * (z * ((y1 * y3) - (t * b)));
} else if (a <= -1.2e-277) {
tmp = t_1;
} else if (a <= 7.6e-154) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 4.8e+56) {
tmp = t_1;
} else if (a <= 3.3e+92) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 1.45e+146) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
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 = c * (y4 * ((y * y3) - (t * y2)))
if (a <= (-3.8d-54)) then
tmp = a * (z * ((y1 * y3) - (t * b)))
else if (a <= (-1.2d-277)) then
tmp = t_1
else if (a <= 7.6d-154) then
tmp = j * (y3 * (y0 * y5))
else if (a <= 4.8d+56) then
tmp = t_1
else if (a <= 3.3d+92) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (a <= 1.45d+146) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else
tmp = y1 * (y3 * ((z * a) - (j * y4)))
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 = c * (y4 * ((y * y3) - (t * y2)));
double tmp;
if (a <= -3.8e-54) {
tmp = a * (z * ((y1 * y3) - (t * b)));
} else if (a <= -1.2e-277) {
tmp = t_1;
} else if (a <= 7.6e-154) {
tmp = j * (y3 * (y0 * y5));
} else if (a <= 4.8e+56) {
tmp = t_1;
} else if (a <= 3.3e+92) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 1.45e+146) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y4 * ((y * y3) - (t * y2))) tmp = 0 if a <= -3.8e-54: tmp = a * (z * ((y1 * y3) - (t * b))) elif a <= -1.2e-277: tmp = t_1 elif a <= 7.6e-154: tmp = j * (y3 * (y0 * y5)) elif a <= 4.8e+56: tmp = t_1 elif a <= 3.3e+92: tmp = a * (y * ((x * b) - (y3 * y5))) elif a <= 1.45e+146: tmp = t * (y2 * ((a * y5) - (c * y4))) else: tmp = y1 * (y3 * ((z * a) - (j * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) tmp = 0.0 if (a <= -3.8e-54) tmp = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))); elseif (a <= -1.2e-277) tmp = t_1; elseif (a <= 7.6e-154) tmp = Float64(j * Float64(y3 * Float64(y0 * y5))); elseif (a <= 4.8e+56) tmp = t_1; elseif (a <= 3.3e+92) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (a <= 1.45e+146) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); else tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); 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 = c * (y4 * ((y * y3) - (t * y2))); tmp = 0.0; if (a <= -3.8e-54) tmp = a * (z * ((y1 * y3) - (t * b))); elseif (a <= -1.2e-277) tmp = t_1; elseif (a <= 7.6e-154) tmp = j * (y3 * (y0 * y5)); elseif (a <= 4.8e+56) tmp = t_1; elseif (a <= 3.3e+92) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (a <= 1.45e+146) tmp = t * (y2 * ((a * y5) - (c * y4))); else tmp = y1 * (y3 * ((z * a) - (j * y4))); 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[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.8e-54], N[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.2e-277], t$95$1, If[LessEqual[a, 7.6e-154], N[(j * N[(y3 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.8e+56], t$95$1, If[LessEqual[a, 3.3e+92], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.45e+146], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -3.8 \cdot 10^{-54}:\\
\;\;\;\;a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{elif}\;a \leq -1.2 \cdot 10^{-277}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 7.6 \cdot 10^{-154}:\\
\;\;\;\;j \cdot \left(y3 \cdot \left(y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 4.8 \cdot 10^{+56}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 3.3 \cdot 10^{+92}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 1.45 \cdot 10^{+146}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -3.8000000000000002e-54Initial program 19.8%
Simplified19.8%
Taylor expanded in a around inf 49.7%
Taylor expanded in z around inf 46.0%
+-commutative46.0%
mul-1-neg46.0%
unsub-neg46.0%
*-commutative46.0%
*-commutative46.0%
Simplified46.0%
if -3.8000000000000002e-54 < a < -1.2e-277 or 7.60000000000000019e-154 < a < 4.80000000000000027e56Initial program 39.5%
Simplified39.5%
Taylor expanded in c around inf 45.4%
Taylor expanded in y4 around inf 41.9%
if -1.2e-277 < a < 7.60000000000000019e-154Initial program 48.1%
Taylor expanded in y5 around -inf 41.7%
associate-*r*41.7%
neg-mul-141.7%
fma-def45.4%
*-commutative45.4%
*-commutative45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in j around -inf 49.2%
associate-*r*42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in y0 around inf 48.8%
associate-*r*45.3%
*-commutative45.3%
associate-*l*48.9%
Simplified48.9%
if 4.80000000000000027e56 < a < 3.29999999999999974e92Initial program 46.7%
Simplified53.3%
Taylor expanded in a around inf 67.2%
Taylor expanded in y around inf 53.7%
*-commutative53.7%
*-commutative53.7%
Simplified53.7%
if 3.29999999999999974e92 < a < 1.4499999999999999e146Initial program 11.1%
Taylor expanded in y2 around inf 38.9%
Taylor expanded in t around inf 61.4%
*-commutative61.4%
*-commutative61.4%
Simplified61.4%
if 1.4499999999999999e146 < a Initial program 26.5%
Taylor expanded in y1 around inf 53.5%
Taylor expanded in y3 around inf 59.2%
+-commutative59.2%
mul-1-neg59.2%
unsub-neg59.2%
*-commutative59.2%
*-commutative59.2%
Simplified59.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 (* a (* z (- (* y1 y3) (* t b)))))
(t_2 (* c (* t (- (* z i) (* y2 y4))))))
(if (<= a -5.4e-52)
t_1
(if (<= a 2.1e-156)
(* j (* y0 (* y3 y5)))
(if (<= a 5.6e+16)
t_2
(if (<= a 1e+100)
(* a (* y (- (* x b) (* y3 y5))))
(if (<= a 5.4e+138) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (t * ((z * i) - (y2 * y4)));
double tmp;
if (a <= -5.4e-52) {
tmp = t_1;
} else if (a <= 2.1e-156) {
tmp = j * (y0 * (y3 * y5));
} else if (a <= 5.6e+16) {
tmp = t_2;
} else if (a <= 1e+100) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 5.4e+138) {
tmp = t_2;
} 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) :: t_2
real(8) :: tmp
t_1 = a * (z * ((y1 * y3) - (t * b)))
t_2 = c * (t * ((z * i) - (y2 * y4)))
if (a <= (-5.4d-52)) then
tmp = t_1
else if (a <= 2.1d-156) then
tmp = j * (y0 * (y3 * y5))
else if (a <= 5.6d+16) then
tmp = t_2
else if (a <= 1d+100) then
tmp = a * (y * ((x * b) - (y3 * y5)))
else if (a <= 5.4d+138) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = c * (t * ((z * i) - (y2 * y4)));
double tmp;
if (a <= -5.4e-52) {
tmp = t_1;
} else if (a <= 2.1e-156) {
tmp = j * (y0 * (y3 * y5));
} else if (a <= 5.6e+16) {
tmp = t_2;
} else if (a <= 1e+100) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} else if (a <= 5.4e+138) {
tmp = t_2;
} 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 = a * (z * ((y1 * y3) - (t * b))) t_2 = c * (t * ((z * i) - (y2 * y4))) tmp = 0 if a <= -5.4e-52: tmp = t_1 elif a <= 2.1e-156: tmp = j * (y0 * (y3 * y5)) elif a <= 5.6e+16: tmp = t_2 elif a <= 1e+100: tmp = a * (y * ((x * b) - (y3 * y5))) elif a <= 5.4e+138: tmp = t_2 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(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_2 = Float64(c * Float64(t * Float64(Float64(z * i) - Float64(y2 * y4)))) tmp = 0.0 if (a <= -5.4e-52) tmp = t_1; elseif (a <= 2.1e-156) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (a <= 5.6e+16) tmp = t_2; elseif (a <= 1e+100) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (a <= 5.4e+138) tmp = t_2; 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 = a * (z * ((y1 * y3) - (t * b))); t_2 = c * (t * ((z * i) - (y2 * y4))); tmp = 0.0; if (a <= -5.4e-52) tmp = t_1; elseif (a <= 2.1e-156) tmp = j * (y0 * (y3 * y5)); elseif (a <= 5.6e+16) tmp = t_2; elseif (a <= 1e+100) tmp = a * (y * ((x * b) - (y3 * y5))); elseif (a <= 5.4e+138) tmp = t_2; 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(t * N[(N[(z * i), $MachinePrecision] - N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.4e-52], t$95$1, If[LessEqual[a, 2.1e-156], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.6e+16], t$95$2, If[LessEqual[a, 1e+100], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.4e+138], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_2 := c \cdot \left(t \cdot \left(z \cdot i - y2 \cdot y4\right)\right)\\
\mathbf{if}\;a \leq -5.4 \cdot 10^{-52}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 2.1 \cdot 10^{-156}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 5.6 \cdot 10^{+16}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 10^{+100}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 5.4 \cdot 10^{+138}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.40000000000000019e-52 or 5.40000000000000018e138 < a Initial program 20.9%
Simplified20.9%
Taylor expanded in a around inf 51.5%
Taylor expanded in z around inf 47.4%
+-commutative47.4%
mul-1-neg47.4%
unsub-neg47.4%
*-commutative47.4%
*-commutative47.4%
Simplified47.4%
if -5.40000000000000019e-52 < a < 2.10000000000000012e-156Initial program 42.2%
Taylor expanded in y5 around -inf 34.5%
associate-*r*34.5%
neg-mul-134.5%
fma-def38.7%
*-commutative38.7%
*-commutative38.7%
*-commutative38.7%
Simplified38.7%
Taylor expanded in j around -inf 40.4%
associate-*r*35.2%
+-commutative35.2%
mul-1-neg35.2%
unsub-neg35.2%
Simplified35.2%
Taylor expanded in y0 around inf 36.2%
if 2.10000000000000012e-156 < a < 5.6e16 or 1.00000000000000002e100 < a < 5.40000000000000018e138Initial program 31.0%
Simplified31.0%
Taylor expanded in c around inf 38.9%
Taylor expanded in t around inf 46.1%
if 5.6e16 < a < 1.00000000000000002e100Initial program 43.5%
Simplified47.8%
Taylor expanded in a around inf 56.7%
Taylor expanded in y around inf 44.4%
*-commutative44.4%
*-commutative44.4%
Simplified44.4%
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 (* a (* z (- (* y1 y3) (* t b)))))
(t_2 (* a (* y (- (* x b) (* y3 y5))))))
(if (<= y2 -8.5e+220)
t_1
(if (<= y2 -6.8e-48)
(* c (* t (- (* z i) (* y2 y4))))
(if (<= y2 9.8e-231)
t_2
(if (<= y2 1.1e-76)
t_1
(if (<= y2 1.05e+93) t_2 (* c (* y2 (- (* x y0) (* t y4)))))))))))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = a * (y * ((x * b) - (y3 * y5)));
double tmp;
if (y2 <= -8.5e+220) {
tmp = t_1;
} else if (y2 <= -6.8e-48) {
tmp = c * (t * ((z * i) - (y2 * y4)));
} else if (y2 <= 9.8e-231) {
tmp = t_2;
} else if (y2 <= 1.1e-76) {
tmp = t_1;
} else if (y2 <= 1.05e+93) {
tmp = t_2;
} else {
tmp = c * (y2 * ((x * y0) - (t * y4)));
}
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_2
real(8) :: tmp
t_1 = a * (z * ((y1 * y3) - (t * b)))
t_2 = a * (y * ((x * b) - (y3 * y5)))
if (y2 <= (-8.5d+220)) then
tmp = t_1
else if (y2 <= (-6.8d-48)) then
tmp = c * (t * ((z * i) - (y2 * y4)))
else if (y2 <= 9.8d-231) then
tmp = t_2
else if (y2 <= 1.1d-76) then
tmp = t_1
else if (y2 <= 1.05d+93) then
tmp = t_2
else
tmp = c * (y2 * ((x * y0) - (t * y4)))
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 = a * (z * ((y1 * y3) - (t * b)));
double t_2 = a * (y * ((x * b) - (y3 * y5)));
double tmp;
if (y2 <= -8.5e+220) {
tmp = t_1;
} else if (y2 <= -6.8e-48) {
tmp = c * (t * ((z * i) - (y2 * y4)));
} else if (y2 <= 9.8e-231) {
tmp = t_2;
} else if (y2 <= 1.1e-76) {
tmp = t_1;
} else if (y2 <= 1.05e+93) {
tmp = t_2;
} else {
tmp = c * (y2 * ((x * y0) - (t * y4)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (z * ((y1 * y3) - (t * b))) t_2 = a * (y * ((x * b) - (y3 * y5))) tmp = 0 if y2 <= -8.5e+220: tmp = t_1 elif y2 <= -6.8e-48: tmp = c * (t * ((z * i) - (y2 * y4))) elif y2 <= 9.8e-231: tmp = t_2 elif y2 <= 1.1e-76: tmp = t_1 elif y2 <= 1.05e+93: tmp = t_2 else: tmp = c * (y2 * ((x * y0) - (t * y4))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) t_2 = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))) tmp = 0.0 if (y2 <= -8.5e+220) tmp = t_1; elseif (y2 <= -6.8e-48) tmp = Float64(c * Float64(t * Float64(Float64(z * i) - Float64(y2 * y4)))); elseif (y2 <= 9.8e-231) tmp = t_2; elseif (y2 <= 1.1e-76) tmp = t_1; elseif (y2 <= 1.05e+93) tmp = t_2; else tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); 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 = a * (z * ((y1 * y3) - (t * b))); t_2 = a * (y * ((x * b) - (y3 * y5))); tmp = 0.0; if (y2 <= -8.5e+220) tmp = t_1; elseif (y2 <= -6.8e-48) tmp = c * (t * ((z * i) - (y2 * y4))); elseif (y2 <= 9.8e-231) tmp = t_2; elseif (y2 <= 1.1e-76) tmp = t_1; elseif (y2 <= 1.05e+93) tmp = t_2; else tmp = c * (y2 * ((x * y0) - (t * y4))); 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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -8.5e+220], t$95$1, If[LessEqual[y2, -6.8e-48], N[(c * N[(t * N[(N[(z * i), $MachinePrecision] - N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 9.8e-231], t$95$2, If[LessEqual[y2, 1.1e-76], t$95$1, If[LessEqual[y2, 1.05e+93], t$95$2, N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
t_2 := a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{if}\;y2 \leq -8.5 \cdot 10^{+220}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq -6.8 \cdot 10^{-48}:\\
\;\;\;\;c \cdot \left(t \cdot \left(z \cdot i - y2 \cdot y4\right)\right)\\
\mathbf{elif}\;y2 \leq 9.8 \cdot 10^{-231}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 1.1 \cdot 10^{-76}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 1.05 \cdot 10^{+93}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\end{array}
\end{array}
if y2 < -8.4999999999999996e220 or 9.80000000000000007e-231 < y2 < 1.1e-76Initial program 30.1%
Simplified30.1%
Taylor expanded in a around inf 39.8%
Taylor expanded in z around inf 52.4%
+-commutative52.4%
mul-1-neg52.4%
unsub-neg52.4%
*-commutative52.4%
*-commutative52.4%
Simplified52.4%
if -8.4999999999999996e220 < y2 < -6.80000000000000056e-48Initial program 31.0%
Simplified33.3%
Taylor expanded in c around inf 44.8%
Taylor expanded in t around inf 40.9%
if -6.80000000000000056e-48 < y2 < 9.80000000000000007e-231 or 1.1e-76 < y2 < 1.0499999999999999e93Initial program 35.3%
Simplified35.3%
Taylor expanded in a around inf 37.4%
Taylor expanded in y around inf 36.3%
*-commutative36.3%
*-commutative36.3%
Simplified36.3%
if 1.0499999999999999e93 < y2 Initial program 19.6%
Taylor expanded in y2 around inf 43.6%
Taylor expanded in c around inf 48.5%
*-commutative48.5%
Simplified48.5%
Final simplification43.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y (* x b)))))
(if (<= y5 -5.7e+74)
(* j (* y0 (* y3 y5)))
(if (<= y5 -1.22e-203)
t_1
(if (<= y5 -5.9e-291)
(* y4 (* y (* c y3)))
(if (<= y5 8.6e-222)
t_1
(if (<= y5 2.8e+74)
(* (* y c) (* y3 y4))
(* (* k y0) (* y2 (- y5))))))))))
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 = a * (y * (x * b));
double tmp;
if (y5 <= -5.7e+74) {
tmp = j * (y0 * (y3 * y5));
} else if (y5 <= -1.22e-203) {
tmp = t_1;
} else if (y5 <= -5.9e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 8.6e-222) {
tmp = t_1;
} else if (y5 <= 2.8e+74) {
tmp = (y * c) * (y3 * y4);
} else {
tmp = (k * y0) * (y2 * -y5);
}
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 = a * (y * (x * b))
if (y5 <= (-5.7d+74)) then
tmp = j * (y0 * (y3 * y5))
else if (y5 <= (-1.22d-203)) then
tmp = t_1
else if (y5 <= (-5.9d-291)) then
tmp = y4 * (y * (c * y3))
else if (y5 <= 8.6d-222) then
tmp = t_1
else if (y5 <= 2.8d+74) then
tmp = (y * c) * (y3 * y4)
else
tmp = (k * y0) * (y2 * -y5)
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 = a * (y * (x * b));
double tmp;
if (y5 <= -5.7e+74) {
tmp = j * (y0 * (y3 * y5));
} else if (y5 <= -1.22e-203) {
tmp = t_1;
} else if (y5 <= -5.9e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 8.6e-222) {
tmp = t_1;
} else if (y5 <= 2.8e+74) {
tmp = (y * c) * (y3 * y4);
} else {
tmp = (k * y0) * (y2 * -y5);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (y * (x * b)) tmp = 0 if y5 <= -5.7e+74: tmp = j * (y0 * (y3 * y5)) elif y5 <= -1.22e-203: tmp = t_1 elif y5 <= -5.9e-291: tmp = y4 * (y * (c * y3)) elif y5 <= 8.6e-222: tmp = t_1 elif y5 <= 2.8e+74: tmp = (y * c) * (y3 * y4) else: tmp = (k * y0) * (y2 * -y5) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y * Float64(x * b))) tmp = 0.0 if (y5 <= -5.7e+74) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (y5 <= -1.22e-203) tmp = t_1; elseif (y5 <= -5.9e-291) tmp = Float64(y4 * Float64(y * Float64(c * y3))); elseif (y5 <= 8.6e-222) tmp = t_1; elseif (y5 <= 2.8e+74) tmp = Float64(Float64(y * c) * Float64(y3 * y4)); else tmp = Float64(Float64(k * y0) * Float64(y2 * Float64(-y5))); 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 = a * (y * (x * b)); tmp = 0.0; if (y5 <= -5.7e+74) tmp = j * (y0 * (y3 * y5)); elseif (y5 <= -1.22e-203) tmp = t_1; elseif (y5 <= -5.9e-291) tmp = y4 * (y * (c * y3)); elseif (y5 <= 8.6e-222) tmp = t_1; elseif (y5 <= 2.8e+74) tmp = (y * c) * (y3 * y4); else tmp = (k * y0) * (y2 * -y5); 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[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -5.7e+74], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, -1.22e-203], t$95$1, If[LessEqual[y5, -5.9e-291], N[(y4 * N[(y * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 8.6e-222], t$95$1, If[LessEqual[y5, 2.8e+74], N[(N[(y * c), $MachinePrecision] * N[(y3 * y4), $MachinePrecision]), $MachinePrecision], N[(N[(k * y0), $MachinePrecision] * N[(y2 * (-y5)), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{if}\;y5 \leq -5.7 \cdot 10^{+74}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y5 \leq -1.22 \cdot 10^{-203}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq -5.9 \cdot 10^{-291}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3\right)\right)\\
\mathbf{elif}\;y5 \leq 8.6 \cdot 10^{-222}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq 2.8 \cdot 10^{+74}:\\
\;\;\;\;\left(y \cdot c\right) \cdot \left(y3 \cdot y4\right)\\
\mathbf{else}:\\
\;\;\;\;\left(k \cdot y0\right) \cdot \left(y2 \cdot \left(-y5\right)\right)\\
\end{array}
\end{array}
if y5 < -5.69999999999999976e74Initial program 29.8%
Taylor expanded in y5 around -inf 51.0%
associate-*r*51.0%
neg-mul-151.0%
fma-def52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
Simplified52.7%
Taylor expanded in j around -inf 54.9%
associate-*r*48.4%
+-commutative48.4%
mul-1-neg48.4%
unsub-neg48.4%
Simplified48.4%
Taylor expanded in y0 around inf 41.2%
if -5.69999999999999976e74 < y5 < -1.21999999999999995e-203 or -5.89999999999999972e-291 < y5 < 8.59999999999999983e-222Initial program 28.7%
Simplified28.7%
Taylor expanded in a around inf 33.3%
Taylor expanded in y around inf 34.9%
*-commutative34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in x around inf 32.4%
if -1.21999999999999995e-203 < y5 < -5.89999999999999972e-291Initial program 21.9%
Simplified21.9%
Taylor expanded in c around inf 31.1%
Taylor expanded in y3 around inf 19.1%
distribute-lft-out--19.1%
Simplified19.1%
Taylor expanded in y0 around 0 10.4%
mul-1-neg10.4%
distribute-lft-neg-out10.4%
*-commutative10.4%
Simplified10.4%
Taylor expanded in c around 0 14.7%
*-commutative14.7%
*-commutative14.7%
associate-*r*10.4%
remove-double-neg10.4%
distribute-lft-neg-in10.4%
*-commutative10.4%
associate-*r*14.3%
*-commutative14.3%
distribute-rgt-neg-out14.3%
remove-double-neg14.3%
associate-*l*27.4%
*-commutative27.4%
Simplified27.4%
if 8.59999999999999983e-222 < y5 < 2.80000000000000002e74Initial program 43.2%
Simplified43.2%
Taylor expanded in c around inf 49.7%
Taylor expanded in y3 around inf 28.7%
distribute-lft-out--28.7%
Simplified28.7%
Taylor expanded in y0 around 0 15.4%
associate-*r*22.8%
*-commutative22.8%
Simplified22.8%
if 2.80000000000000002e74 < y5 Initial program 24.4%
Taylor expanded in y2 around inf 38.3%
Taylor expanded in k around inf 34.3%
*-commutative34.3%
Simplified34.3%
Taylor expanded in y1 around 0 41.1%
mul-1-neg41.1%
associate-*r*35.2%
Simplified35.2%
Final simplification32.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y (* x b)))))
(if (<= y5 -6e+74)
(* j (* y0 (* y3 y5)))
(if (<= y5 -1.95e-203)
t_1
(if (<= y5 -1.45e-291)
(* y4 (* y (* c y3)))
(if (<= y5 1.3e-219)
t_1
(if (<= y5 3.2e+73)
(* (* y c) (* y3 y4))
(* (- k) (* y2 (* y0 y5))))))))))
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 = a * (y * (x * b));
double tmp;
if (y5 <= -6e+74) {
tmp = j * (y0 * (y3 * y5));
} else if (y5 <= -1.95e-203) {
tmp = t_1;
} else if (y5 <= -1.45e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 1.3e-219) {
tmp = t_1;
} else if (y5 <= 3.2e+73) {
tmp = (y * c) * (y3 * y4);
} else {
tmp = -k * (y2 * (y0 * y5));
}
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 = a * (y * (x * b))
if (y5 <= (-6d+74)) then
tmp = j * (y0 * (y3 * y5))
else if (y5 <= (-1.95d-203)) then
tmp = t_1
else if (y5 <= (-1.45d-291)) then
tmp = y4 * (y * (c * y3))
else if (y5 <= 1.3d-219) then
tmp = t_1
else if (y5 <= 3.2d+73) then
tmp = (y * c) * (y3 * y4)
else
tmp = -k * (y2 * (y0 * y5))
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 = a * (y * (x * b));
double tmp;
if (y5 <= -6e+74) {
tmp = j * (y0 * (y3 * y5));
} else if (y5 <= -1.95e-203) {
tmp = t_1;
} else if (y5 <= -1.45e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 1.3e-219) {
tmp = t_1;
} else if (y5 <= 3.2e+73) {
tmp = (y * c) * (y3 * y4);
} else {
tmp = -k * (y2 * (y0 * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (y * (x * b)) tmp = 0 if y5 <= -6e+74: tmp = j * (y0 * (y3 * y5)) elif y5 <= -1.95e-203: tmp = t_1 elif y5 <= -1.45e-291: tmp = y4 * (y * (c * y3)) elif y5 <= 1.3e-219: tmp = t_1 elif y5 <= 3.2e+73: tmp = (y * c) * (y3 * y4) else: tmp = -k * (y2 * (y0 * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y * Float64(x * b))) tmp = 0.0 if (y5 <= -6e+74) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (y5 <= -1.95e-203) tmp = t_1; elseif (y5 <= -1.45e-291) tmp = Float64(y4 * Float64(y * Float64(c * y3))); elseif (y5 <= 1.3e-219) tmp = t_1; elseif (y5 <= 3.2e+73) tmp = Float64(Float64(y * c) * Float64(y3 * y4)); else tmp = Float64(Float64(-k) * Float64(y2 * Float64(y0 * y5))); 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 = a * (y * (x * b)); tmp = 0.0; if (y5 <= -6e+74) tmp = j * (y0 * (y3 * y5)); elseif (y5 <= -1.95e-203) tmp = t_1; elseif (y5 <= -1.45e-291) tmp = y4 * (y * (c * y3)); elseif (y5 <= 1.3e-219) tmp = t_1; elseif (y5 <= 3.2e+73) tmp = (y * c) * (y3 * y4); else tmp = -k * (y2 * (y0 * y5)); 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[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -6e+74], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, -1.95e-203], t$95$1, If[LessEqual[y5, -1.45e-291], N[(y4 * N[(y * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.3e-219], t$95$1, If[LessEqual[y5, 3.2e+73], N[(N[(y * c), $MachinePrecision] * N[(y3 * y4), $MachinePrecision]), $MachinePrecision], N[((-k) * N[(y2 * N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{if}\;y5 \leq -6 \cdot 10^{+74}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y5 \leq -1.95 \cdot 10^{-203}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq -1.45 \cdot 10^{-291}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3\right)\right)\\
\mathbf{elif}\;y5 \leq 1.3 \cdot 10^{-219}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq 3.2 \cdot 10^{+73}:\\
\;\;\;\;\left(y \cdot c\right) \cdot \left(y3 \cdot y4\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-k\right) \cdot \left(y2 \cdot \left(y0 \cdot y5\right)\right)\\
\end{array}
\end{array}
if y5 < -6e74Initial program 29.8%
Taylor expanded in y5 around -inf 51.0%
associate-*r*51.0%
neg-mul-151.0%
fma-def52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
Simplified52.7%
Taylor expanded in j around -inf 54.9%
associate-*r*48.4%
+-commutative48.4%
mul-1-neg48.4%
unsub-neg48.4%
Simplified48.4%
Taylor expanded in y0 around inf 41.2%
if -6e74 < y5 < -1.95e-203 or -1.45000000000000001e-291 < y5 < 1.30000000000000001e-219Initial program 28.7%
Simplified28.7%
Taylor expanded in a around inf 33.3%
Taylor expanded in y around inf 34.9%
*-commutative34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in x around inf 32.4%
if -1.95e-203 < y5 < -1.45000000000000001e-291Initial program 21.9%
Simplified21.9%
Taylor expanded in c around inf 31.1%
Taylor expanded in y3 around inf 19.1%
distribute-lft-out--19.1%
Simplified19.1%
Taylor expanded in y0 around 0 10.4%
mul-1-neg10.4%
distribute-lft-neg-out10.4%
*-commutative10.4%
Simplified10.4%
Taylor expanded in c around 0 14.7%
*-commutative14.7%
*-commutative14.7%
associate-*r*10.4%
remove-double-neg10.4%
distribute-lft-neg-in10.4%
*-commutative10.4%
associate-*r*14.3%
*-commutative14.3%
distribute-rgt-neg-out14.3%
remove-double-neg14.3%
associate-*l*27.4%
*-commutative27.4%
Simplified27.4%
if 1.30000000000000001e-219 < y5 < 3.19999999999999982e73Initial program 43.2%
Simplified43.2%
Taylor expanded in c around inf 49.7%
Taylor expanded in y3 around inf 28.7%
distribute-lft-out--28.7%
Simplified28.7%
Taylor expanded in y0 around 0 15.4%
associate-*r*22.8%
*-commutative22.8%
Simplified22.8%
if 3.19999999999999982e73 < y5 Initial program 24.4%
Taylor expanded in y2 around inf 38.3%
Taylor expanded in k around inf 34.3%
*-commutative34.3%
Simplified34.3%
Taylor expanded in y1 around 0 39.0%
mul-1-neg39.0%
*-commutative39.0%
distribute-rgt-neg-in39.0%
Simplified39.0%
Final simplification33.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -1.3e-176)
(* y4 (* y (* c y3)))
(if (<= j 1.12e-150)
(* a (* y (* y3 (- y5))))
(if (<= j 4.4e-23)
(* (* y1 y2) (* x (- a)))
(if (<= j 9.5e+115)
(* (* y1 y2) (* k y4))
(if (<= j 5.8e+201)
(* (* i j) (* t (- y5)))
(* (* j y5) (* y0 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 (j <= -1.3e-176) {
tmp = y4 * (y * (c * y3));
} else if (j <= 1.12e-150) {
tmp = a * (y * (y3 * -y5));
} else if (j <= 4.4e-23) {
tmp = (y1 * y2) * (x * -a);
} else if (j <= 9.5e+115) {
tmp = (y1 * y2) * (k * y4);
} else if (j <= 5.8e+201) {
tmp = (i * j) * (t * -y5);
} else {
tmp = (j * y5) * (y0 * y3);
}
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 (j <= (-1.3d-176)) then
tmp = y4 * (y * (c * y3))
else if (j <= 1.12d-150) then
tmp = a * (y * (y3 * -y5))
else if (j <= 4.4d-23) then
tmp = (y1 * y2) * (x * -a)
else if (j <= 9.5d+115) then
tmp = (y1 * y2) * (k * y4)
else if (j <= 5.8d+201) then
tmp = (i * j) * (t * -y5)
else
tmp = (j * y5) * (y0 * y3)
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 (j <= -1.3e-176) {
tmp = y4 * (y * (c * y3));
} else if (j <= 1.12e-150) {
tmp = a * (y * (y3 * -y5));
} else if (j <= 4.4e-23) {
tmp = (y1 * y2) * (x * -a);
} else if (j <= 9.5e+115) {
tmp = (y1 * y2) * (k * y4);
} else if (j <= 5.8e+201) {
tmp = (i * j) * (t * -y5);
} else {
tmp = (j * y5) * (y0 * y3);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if j <= -1.3e-176: tmp = y4 * (y * (c * y3)) elif j <= 1.12e-150: tmp = a * (y * (y3 * -y5)) elif j <= 4.4e-23: tmp = (y1 * y2) * (x * -a) elif j <= 9.5e+115: tmp = (y1 * y2) * (k * y4) elif j <= 5.8e+201: tmp = (i * j) * (t * -y5) else: tmp = (j * y5) * (y0 * 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 (j <= -1.3e-176) tmp = Float64(y4 * Float64(y * Float64(c * y3))); elseif (j <= 1.12e-150) tmp = Float64(a * Float64(y * Float64(y3 * Float64(-y5)))); elseif (j <= 4.4e-23) tmp = Float64(Float64(y1 * y2) * Float64(x * Float64(-a))); elseif (j <= 9.5e+115) tmp = Float64(Float64(y1 * y2) * Float64(k * y4)); elseif (j <= 5.8e+201) tmp = Float64(Float64(i * j) * Float64(t * Float64(-y5))); else tmp = Float64(Float64(j * y5) * Float64(y0 * y3)); 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 (j <= -1.3e-176) tmp = y4 * (y * (c * y3)); elseif (j <= 1.12e-150) tmp = a * (y * (y3 * -y5)); elseif (j <= 4.4e-23) tmp = (y1 * y2) * (x * -a); elseif (j <= 9.5e+115) tmp = (y1 * y2) * (k * y4); elseif (j <= 5.8e+201) tmp = (i * j) * (t * -y5); else tmp = (j * y5) * (y0 * y3); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -1.3e-176], N[(y4 * N[(y * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.12e-150], N[(a * N[(y * N[(y3 * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.4e-23], N[(N[(y1 * y2), $MachinePrecision] * N[(x * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e+115], N[(N[(y1 * y2), $MachinePrecision] * N[(k * y4), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5.8e+201], N[(N[(i * j), $MachinePrecision] * N[(t * (-y5)), $MachinePrecision]), $MachinePrecision], N[(N[(j * y5), $MachinePrecision] * N[(y0 * y3), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.3 \cdot 10^{-176}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq 1.12 \cdot 10^{-150}:\\
\;\;\;\;a \cdot \left(y \cdot \left(y3 \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 4.4 \cdot 10^{-23}:\\
\;\;\;\;\left(y1 \cdot y2\right) \cdot \left(x \cdot \left(-a\right)\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{+115}:\\
\;\;\;\;\left(y1 \cdot y2\right) \cdot \left(k \cdot y4\right)\\
\mathbf{elif}\;j \leq 5.8 \cdot 10^{+201}:\\
\;\;\;\;\left(i \cdot j\right) \cdot \left(t \cdot \left(-y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(j \cdot y5\right) \cdot \left(y0 \cdot y3\right)\\
\end{array}
\end{array}
if j < -1.29999999999999996e-176Initial program 21.9%
Simplified21.9%
Taylor expanded in c around inf 47.0%
Taylor expanded in y3 around inf 31.4%
distribute-lft-out--31.4%
Simplified31.4%
Taylor expanded in y0 around 0 24.9%
mul-1-neg24.9%
distribute-lft-neg-out24.9%
*-commutative24.9%
Simplified24.9%
Taylor expanded in c around 0 26.2%
*-commutative26.2%
*-commutative26.2%
associate-*r*24.9%
remove-double-neg24.9%
distribute-lft-neg-in24.9%
*-commutative24.9%
associate-*r*27.4%
*-commutative27.4%
distribute-rgt-neg-out27.4%
remove-double-neg27.4%
associate-*l*31.5%
*-commutative31.5%
Simplified31.5%
if -1.29999999999999996e-176 < j < 1.12e-150Initial program 36.3%
Simplified37.6%
Taylor expanded in a around inf 42.8%
Taylor expanded in y around inf 41.0%
*-commutative41.0%
*-commutative41.0%
Simplified41.0%
Taylor expanded in x around 0 31.5%
mul-1-neg31.5%
*-commutative31.5%
distribute-lft-neg-in31.5%
distribute-rgt-neg-in31.5%
distribute-rgt-neg-in31.5%
Simplified31.5%
if 1.12e-150 < j < 4.3999999999999999e-23Initial program 35.4%
Taylor expanded in y2 around inf 35.4%
Taylor expanded in y1 around inf 42.5%
associate-*r*42.3%
*-commutative42.3%
+-commutative42.3%
mul-1-neg42.3%
unsub-neg42.3%
Simplified42.3%
Taylor expanded in k around 0 32.7%
mul-1-neg32.7%
distribute-lft-neg-out32.7%
*-commutative32.7%
Simplified32.7%
if 4.3999999999999999e-23 < j < 9.4999999999999997e115Initial program 33.3%
Taylor expanded in y2 around inf 43.6%
Taylor expanded in y1 around inf 30.7%
associate-*r*30.7%
*-commutative30.7%
+-commutative30.7%
mul-1-neg30.7%
unsub-neg30.7%
Simplified30.7%
Taylor expanded in k around inf 34.2%
*-commutative34.2%
Simplified34.2%
if 9.4999999999999997e115 < j < 5.8000000000000003e201Initial program 31.6%
Taylor expanded in y5 around -inf 37.5%
associate-*r*37.5%
neg-mul-137.5%
fma-def37.5%
*-commutative37.5%
*-commutative37.5%
*-commutative37.5%
Simplified37.5%
Taylor expanded in j around -inf 38.6%
associate-*r*43.6%
+-commutative43.6%
mul-1-neg43.6%
unsub-neg43.6%
Simplified43.6%
Taylor expanded in y0 around 0 18.3%
mul-1-neg18.3%
associate-*r*37.8%
distribute-rgt-neg-in37.8%
*-commutative37.8%
*-commutative37.8%
Simplified37.8%
if 5.8000000000000003e201 < j Initial program 26.1%
Taylor expanded in y5 around -inf 30.5%
associate-*r*30.5%
neg-mul-130.5%
fma-def34.9%
*-commutative34.9%
*-commutative34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in j around -inf 61.5%
associate-*r*61.5%
+-commutative61.5%
mul-1-neg61.5%
unsub-neg61.5%
Simplified61.5%
Taylor expanded in y0 around inf 57.3%
*-commutative57.3%
Simplified57.3%
Final simplification34.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* j (* y0 (* y3 y5)))) (t_2 (* a (* y (* x b)))))
(if (<= y5 -5.2e+74)
t_1
(if (<= y5 -1e-204)
t_2
(if (<= y5 -2.25e-291)
(* y4 (* y (* c y3)))
(if (<= y5 9e-218)
t_2
(if (<= y5 1.18e+157) (* (* y c) (* y3 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 = j * (y0 * (y3 * y5));
double t_2 = a * (y * (x * b));
double tmp;
if (y5 <= -5.2e+74) {
tmp = t_1;
} else if (y5 <= -1e-204) {
tmp = t_2;
} else if (y5 <= -2.25e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 9e-218) {
tmp = t_2;
} else if (y5 <= 1.18e+157) {
tmp = (y * c) * (y3 * 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) :: t_2
real(8) :: tmp
t_1 = j * (y0 * (y3 * y5))
t_2 = a * (y * (x * b))
if (y5 <= (-5.2d+74)) then
tmp = t_1
else if (y5 <= (-1d-204)) then
tmp = t_2
else if (y5 <= (-2.25d-291)) then
tmp = y4 * (y * (c * y3))
else if (y5 <= 9d-218) then
tmp = t_2
else if (y5 <= 1.18d+157) then
tmp = (y * c) * (y3 * 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 = j * (y0 * (y3 * y5));
double t_2 = a * (y * (x * b));
double tmp;
if (y5 <= -5.2e+74) {
tmp = t_1;
} else if (y5 <= -1e-204) {
tmp = t_2;
} else if (y5 <= -2.25e-291) {
tmp = y4 * (y * (c * y3));
} else if (y5 <= 9e-218) {
tmp = t_2;
} else if (y5 <= 1.18e+157) {
tmp = (y * c) * (y3 * 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 = j * (y0 * (y3 * y5)) t_2 = a * (y * (x * b)) tmp = 0 if y5 <= -5.2e+74: tmp = t_1 elif y5 <= -1e-204: tmp = t_2 elif y5 <= -2.25e-291: tmp = y4 * (y * (c * y3)) elif y5 <= 9e-218: tmp = t_2 elif y5 <= 1.18e+157: tmp = (y * c) * (y3 * 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(j * Float64(y0 * Float64(y3 * y5))) t_2 = Float64(a * Float64(y * Float64(x * b))) tmp = 0.0 if (y5 <= -5.2e+74) tmp = t_1; elseif (y5 <= -1e-204) tmp = t_2; elseif (y5 <= -2.25e-291) tmp = Float64(y4 * Float64(y * Float64(c * y3))); elseif (y5 <= 9e-218) tmp = t_2; elseif (y5 <= 1.18e+157) tmp = Float64(Float64(y * c) * Float64(y3 * 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 = j * (y0 * (y3 * y5)); t_2 = a * (y * (x * b)); tmp = 0.0; if (y5 <= -5.2e+74) tmp = t_1; elseif (y5 <= -1e-204) tmp = t_2; elseif (y5 <= -2.25e-291) tmp = y4 * (y * (c * y3)); elseif (y5 <= 9e-218) tmp = t_2; elseif (y5 <= 1.18e+157) tmp = (y * c) * (y3 * 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[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -5.2e+74], t$95$1, If[LessEqual[y5, -1e-204], t$95$2, If[LessEqual[y5, -2.25e-291], N[(y4 * N[(y * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 9e-218], t$95$2, If[LessEqual[y5, 1.18e+157], N[(N[(y * c), $MachinePrecision] * N[(y3 * y4), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
t_2 := a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{if}\;y5 \leq -5.2 \cdot 10^{+74}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq -1 \cdot 10^{-204}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y5 \leq -2.25 \cdot 10^{-291}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3\right)\right)\\
\mathbf{elif}\;y5 \leq 9 \cdot 10^{-218}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y5 \leq 1.18 \cdot 10^{+157}:\\
\;\;\;\;\left(y \cdot c\right) \cdot \left(y3 \cdot y4\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y5 < -5.2000000000000001e74 or 1.1799999999999999e157 < y5 Initial program 27.8%
Taylor expanded in y5 around -inf 52.4%
associate-*r*52.4%
neg-mul-152.4%
fma-def54.7%
*-commutative54.7%
*-commutative54.7%
*-commutative54.7%
Simplified54.7%
Taylor expanded in j around -inf 47.4%
associate-*r*43.2%
+-commutative43.2%
mul-1-neg43.2%
unsub-neg43.2%
Simplified43.2%
Taylor expanded in y0 around inf 39.8%
if -5.2000000000000001e74 < y5 < -1e-204 or -2.24999999999999987e-291 < y5 < 8.99999999999999953e-218Initial program 28.7%
Simplified28.7%
Taylor expanded in a around inf 33.3%
Taylor expanded in y around inf 34.9%
*-commutative34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in x around inf 32.4%
if -1e-204 < y5 < -2.24999999999999987e-291Initial program 21.9%
Simplified21.9%
Taylor expanded in c around inf 31.1%
Taylor expanded in y3 around inf 19.1%
distribute-lft-out--19.1%
Simplified19.1%
Taylor expanded in y0 around 0 10.4%
mul-1-neg10.4%
distribute-lft-neg-out10.4%
*-commutative10.4%
Simplified10.4%
Taylor expanded in c around 0 14.7%
*-commutative14.7%
*-commutative14.7%
associate-*r*10.4%
remove-double-neg10.4%
distribute-lft-neg-in10.4%
*-commutative10.4%
associate-*r*14.3%
*-commutative14.3%
distribute-rgt-neg-out14.3%
remove-double-neg14.3%
associate-*l*27.4%
*-commutative27.4%
Simplified27.4%
if 8.99999999999999953e-218 < y5 < 1.1799999999999999e157Initial program 39.8%
Simplified39.8%
Taylor expanded in c around inf 45.2%
Taylor expanded in y3 around inf 26.8%
distribute-lft-out--26.8%
Simplified26.8%
Taylor expanded in y0 around 0 16.1%
associate-*r*23.6%
*-commutative23.6%
Simplified23.6%
Final simplification32.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y3 (* y y4)))))
(if (<= y4 -2.6e+225)
t_1
(if (<= y4 -2.3e+144)
(* k (* y1 (* y2 y4)))
(if (<= y4 -1.7e+121)
(* (* i j) (* t (- y5)))
(if (<= y4 9e+197) (* a (* y (- (* x b) (* y3 y5)))) 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 = c * (y3 * (y * y4));
double tmp;
if (y4 <= -2.6e+225) {
tmp = t_1;
} else if (y4 <= -2.3e+144) {
tmp = k * (y1 * (y2 * y4));
} else if (y4 <= -1.7e+121) {
tmp = (i * j) * (t * -y5);
} else if (y4 <= 9e+197) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} 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 = c * (y3 * (y * y4))
if (y4 <= (-2.6d+225)) then
tmp = t_1
else if (y4 <= (-2.3d+144)) then
tmp = k * (y1 * (y2 * y4))
else if (y4 <= (-1.7d+121)) then
tmp = (i * j) * (t * -y5)
else if (y4 <= 9d+197) then
tmp = a * (y * ((x * b) - (y3 * y5)))
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 = c * (y3 * (y * y4));
double tmp;
if (y4 <= -2.6e+225) {
tmp = t_1;
} else if (y4 <= -2.3e+144) {
tmp = k * (y1 * (y2 * y4));
} else if (y4 <= -1.7e+121) {
tmp = (i * j) * (t * -y5);
} else if (y4 <= 9e+197) {
tmp = a * (y * ((x * b) - (y3 * y5)));
} 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 = c * (y3 * (y * y4)) tmp = 0 if y4 <= -2.6e+225: tmp = t_1 elif y4 <= -2.3e+144: tmp = k * (y1 * (y2 * y4)) elif y4 <= -1.7e+121: tmp = (i * j) * (t * -y5) elif y4 <= 9e+197: tmp = a * (y * ((x * b) - (y3 * y5))) 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(c * Float64(y3 * Float64(y * y4))) tmp = 0.0 if (y4 <= -2.6e+225) tmp = t_1; elseif (y4 <= -2.3e+144) tmp = Float64(k * Float64(y1 * Float64(y2 * y4))); elseif (y4 <= -1.7e+121) tmp = Float64(Float64(i * j) * Float64(t * Float64(-y5))); elseif (y4 <= 9e+197) tmp = Float64(a * Float64(y * Float64(Float64(x * b) - Float64(y3 * y5)))); 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 = c * (y3 * (y * y4)); tmp = 0.0; if (y4 <= -2.6e+225) tmp = t_1; elseif (y4 <= -2.3e+144) tmp = k * (y1 * (y2 * y4)); elseif (y4 <= -1.7e+121) tmp = (i * j) * (t * -y5); elseif (y4 <= 9e+197) tmp = a * (y * ((x * b) - (y3 * y5))); 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[(c * N[(y3 * N[(y * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y4, -2.6e+225], t$95$1, If[LessEqual[y4, -2.3e+144], N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -1.7e+121], N[(N[(i * j), $MachinePrecision] * N[(t * (-y5)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 9e+197], N[(a * N[(y * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y3 \cdot \left(y \cdot y4\right)\right)\\
\mathbf{if}\;y4 \leq -2.6 \cdot 10^{+225}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq -2.3 \cdot 10^{+144}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{elif}\;y4 \leq -1.7 \cdot 10^{+121}:\\
\;\;\;\;\left(i \cdot j\right) \cdot \left(t \cdot \left(-y5\right)\right)\\
\mathbf{elif}\;y4 \leq 9 \cdot 10^{+197}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y4 < -2.60000000000000004e225 or 9.0000000000000006e197 < y4 Initial program 19.1%
Simplified19.1%
Taylor expanded in c around inf 38.5%
Taylor expanded in y3 around inf 60.2%
distribute-lft-out--60.2%
Simplified60.2%
Taylor expanded in y0 around 0 62.3%
mul-1-neg62.3%
distribute-lft-neg-out62.3%
*-commutative62.3%
Simplified62.3%
if -2.60000000000000004e225 < y4 < -2.3000000000000001e144Initial program 31.3%
Taylor expanded in y2 around inf 43.8%
Taylor expanded in k around inf 50.3%
*-commutative50.3%
Simplified50.3%
Taylor expanded in y1 around inf 44.3%
*-commutative44.3%
Simplified44.3%
if -2.3000000000000001e144 < y4 < -1.70000000000000005e121Initial program 25.0%
Taylor expanded in y5 around -inf 25.1%
associate-*r*25.1%
neg-mul-125.1%
fma-def25.1%
*-commutative25.1%
*-commutative25.1%
*-commutative25.1%
Simplified25.1%
Taylor expanded in j around -inf 51.3%
associate-*r*51.3%
+-commutative51.3%
mul-1-neg51.3%
unsub-neg51.3%
Simplified51.3%
Taylor expanded in y0 around 0 51.2%
mul-1-neg51.2%
associate-*r*75.1%
distribute-rgt-neg-in75.1%
*-commutative75.1%
*-commutative75.1%
Simplified75.1%
if -1.70000000000000005e121 < y4 < 9.0000000000000006e197Initial program 33.4%
Simplified33.9%
Taylor expanded in a around inf 36.2%
Taylor expanded in y around inf 30.2%
*-commutative30.2%
*-commutative30.2%
Simplified30.2%
Final simplification37.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* z (- (* y1 y3) (* t b))))))
(if (<= a -7e-52)
t_1
(if (<= a 1.05e-152)
(* j (* y0 (* y3 y5)))
(if (<= a 9.2e+111) (* c (* y3 (* 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 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -7e-52) {
tmp = t_1;
} else if (a <= 1.05e-152) {
tmp = j * (y0 * (y3 * y5));
} else if (a <= 9.2e+111) {
tmp = c * (y3 * (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 = a * (z * ((y1 * y3) - (t * b)))
if (a <= (-7d-52)) then
tmp = t_1
else if (a <= 1.05d-152) then
tmp = j * (y0 * (y3 * y5))
else if (a <= 9.2d+111) then
tmp = c * (y3 * (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 = a * (z * ((y1 * y3) - (t * b)));
double tmp;
if (a <= -7e-52) {
tmp = t_1;
} else if (a <= 1.05e-152) {
tmp = j * (y0 * (y3 * y5));
} else if (a <= 9.2e+111) {
tmp = c * (y3 * (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 = a * (z * ((y1 * y3) - (t * b))) tmp = 0 if a <= -7e-52: tmp = t_1 elif a <= 1.05e-152: tmp = j * (y0 * (y3 * y5)) elif a <= 9.2e+111: tmp = c * (y3 * (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(a * Float64(z * Float64(Float64(y1 * y3) - Float64(t * b)))) tmp = 0.0 if (a <= -7e-52) tmp = t_1; elseif (a <= 1.05e-152) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (a <= 9.2e+111) tmp = Float64(c * Float64(y3 * Float64(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 = a * (z * ((y1 * y3) - (t * b))); tmp = 0.0; if (a <= -7e-52) tmp = t_1; elseif (a <= 1.05e-152) tmp = j * (y0 * (y3 * y5)); elseif (a <= 9.2e+111) tmp = c * (y3 * (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[(a * N[(z * N[(N[(y1 * y3), $MachinePrecision] - N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -7e-52], t$95$1, If[LessEqual[a, 1.05e-152], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.2e+111], N[(c * N[(y3 * N[(y * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(z \cdot \left(y1 \cdot y3 - t \cdot b\right)\right)\\
\mathbf{if}\;a \leq -7 \cdot 10^{-52}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.05 \cdot 10^{-152}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 9.2 \cdot 10^{+111}:\\
\;\;\;\;c \cdot \left(y3 \cdot \left(y \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -7.0000000000000001e-52 or 9.20000000000000008e111 < a Initial program 20.5%
Simplified20.5%
Taylor expanded in a around inf 50.3%
Taylor expanded in z around inf 45.8%
+-commutative45.8%
mul-1-neg45.8%
unsub-neg45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
if -7.0000000000000001e-52 < a < 1.04999999999999999e-152Initial program 41.6%
Taylor expanded in y5 around -inf 34.0%
associate-*r*34.0%
neg-mul-134.0%
fma-def38.2%
*-commutative38.2%
*-commutative38.2%
*-commutative38.2%
Simplified38.2%
Taylor expanded in j around -inf 39.9%
associate-*r*34.7%
+-commutative34.7%
mul-1-neg34.7%
unsub-neg34.7%
Simplified34.7%
Taylor expanded in y0 around inf 35.7%
if 1.04999999999999999e-152 < a < 9.20000000000000008e111Initial program 38.6%
Simplified40.4%
Taylor expanded in c around inf 39.4%
Taylor expanded in y3 around inf 32.6%
distribute-lft-out--32.6%
Simplified32.6%
Taylor expanded in y0 around 0 31.2%
mul-1-neg31.2%
distribute-lft-neg-out31.2%
*-commutative31.2%
Simplified31.2%
Final simplification39.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y (* x b)))))
(if (<= b -9.2e-56)
t_1
(if (<= b 1.02e-209)
(* j (* y0 (* y3 y5)))
(if (<= b 1.8e-119) (* k (* y1 (* y2 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 = a * (y * (x * b));
double tmp;
if (b <= -9.2e-56) {
tmp = t_1;
} else if (b <= 1.02e-209) {
tmp = j * (y0 * (y3 * y5));
} else if (b <= 1.8e-119) {
tmp = k * (y1 * (y2 * 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 = a * (y * (x * b))
if (b <= (-9.2d-56)) then
tmp = t_1
else if (b <= 1.02d-209) then
tmp = j * (y0 * (y3 * y5))
else if (b <= 1.8d-119) then
tmp = k * (y1 * (y2 * 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 = a * (y * (x * b));
double tmp;
if (b <= -9.2e-56) {
tmp = t_1;
} else if (b <= 1.02e-209) {
tmp = j * (y0 * (y3 * y5));
} else if (b <= 1.8e-119) {
tmp = k * (y1 * (y2 * 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 = a * (y * (x * b)) tmp = 0 if b <= -9.2e-56: tmp = t_1 elif b <= 1.02e-209: tmp = j * (y0 * (y3 * y5)) elif b <= 1.8e-119: tmp = k * (y1 * (y2 * 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(a * Float64(y * Float64(x * b))) tmp = 0.0 if (b <= -9.2e-56) tmp = t_1; elseif (b <= 1.02e-209) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (b <= 1.8e-119) tmp = Float64(k * Float64(y1 * Float64(y2 * 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 = a * (y * (x * b)); tmp = 0.0; if (b <= -9.2e-56) tmp = t_1; elseif (b <= 1.02e-209) tmp = j * (y0 * (y3 * y5)); elseif (b <= 1.8e-119) tmp = k * (y1 * (y2 * 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[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -9.2e-56], t$95$1, If[LessEqual[b, 1.02e-209], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.8e-119], N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{if}\;b \leq -9.2 \cdot 10^{-56}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq 1.02 \cdot 10^{-209}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;b \leq 1.8 \cdot 10^{-119}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if b < -9.20000000000000009e-56 or 1.8e-119 < b Initial program 26.0%
Simplified26.0%
Taylor expanded in a around inf 41.0%
Taylor expanded in y around inf 36.7%
*-commutative36.7%
*-commutative36.7%
Simplified36.7%
Taylor expanded in x around inf 27.1%
if -9.20000000000000009e-56 < b < 1.01999999999999999e-209Initial program 35.7%
Taylor expanded in y5 around -inf 43.5%
associate-*r*43.5%
neg-mul-143.5%
fma-def45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in j around -inf 38.0%
associate-*r*33.5%
+-commutative33.5%
mul-1-neg33.5%
unsub-neg33.5%
Simplified33.5%
Taylor expanded in y0 around inf 29.7%
if 1.01999999999999999e-209 < b < 1.8e-119Initial program 60.0%
Taylor expanded in y2 around inf 50.4%
Taylor expanded in k around inf 60.7%
*-commutative60.7%
Simplified60.7%
Taylor expanded in y1 around inf 60.8%
*-commutative60.8%
Simplified60.8%
Final simplification29.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= b -5.6e-56)
(* a (* b (* x y)))
(if (<= b 7.6e-210)
(* j (* y0 (* y3 y5)))
(if (<= b 3.2e-123) (* k (* y1 (* y2 y4))) (* a (* y (* x 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 (b <= -5.6e-56) {
tmp = a * (b * (x * y));
} else if (b <= 7.6e-210) {
tmp = j * (y0 * (y3 * y5));
} else if (b <= 3.2e-123) {
tmp = k * (y1 * (y2 * y4));
} else {
tmp = a * (y * (x * b));
}
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 (b <= (-5.6d-56)) then
tmp = a * (b * (x * y))
else if (b <= 7.6d-210) then
tmp = j * (y0 * (y3 * y5))
else if (b <= 3.2d-123) then
tmp = k * (y1 * (y2 * y4))
else
tmp = a * (y * (x * b))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (b <= -5.6e-56) {
tmp = a * (b * (x * y));
} else if (b <= 7.6e-210) {
tmp = j * (y0 * (y3 * y5));
} else if (b <= 3.2e-123) {
tmp = k * (y1 * (y2 * y4));
} else {
tmp = a * (y * (x * b));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if b <= -5.6e-56: tmp = a * (b * (x * y)) elif b <= 7.6e-210: tmp = j * (y0 * (y3 * y5)) elif b <= 3.2e-123: tmp = k * (y1 * (y2 * y4)) else: tmp = a * (y * (x * 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 (b <= -5.6e-56) tmp = Float64(a * Float64(b * Float64(x * y))); elseif (b <= 7.6e-210) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (b <= 3.2e-123) tmp = Float64(k * Float64(y1 * Float64(y2 * y4))); else tmp = Float64(a * Float64(y * Float64(x * b))); 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 (b <= -5.6e-56) tmp = a * (b * (x * y)); elseif (b <= 7.6e-210) tmp = j * (y0 * (y3 * y5)); elseif (b <= 3.2e-123) tmp = k * (y1 * (y2 * y4)); else tmp = a * (y * (x * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[b, -5.6e-56], N[(a * N[(b * N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 7.6e-210], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.2e-123], N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -5.6 \cdot 10^{-56}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y\right)\right)\\
\mathbf{elif}\;b \leq 7.6 \cdot 10^{-210}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;b \leq 3.2 \cdot 10^{-123}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\end{array}
\end{array}
if b < -5.59999999999999986e-56Initial program 31.1%
Simplified31.1%
Taylor expanded in a around inf 43.7%
Taylor expanded in y around inf 35.9%
*-commutative35.9%
*-commutative35.9%
Simplified35.9%
Taylor expanded in x around inf 29.5%
*-commutative29.5%
*-commutative29.5%
Simplified29.5%
if -5.59999999999999986e-56 < b < 7.60000000000000006e-210Initial program 35.7%
Taylor expanded in y5 around -inf 43.5%
associate-*r*43.5%
neg-mul-143.5%
fma-def45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in j around -inf 38.0%
associate-*r*33.5%
+-commutative33.5%
mul-1-neg33.5%
unsub-neg33.5%
Simplified33.5%
Taylor expanded in y0 around inf 29.7%
if 7.60000000000000006e-210 < b < 3.19999999999999979e-123Initial program 60.0%
Taylor expanded in y2 around inf 50.4%
Taylor expanded in k around inf 60.7%
*-commutative60.7%
Simplified60.7%
Taylor expanded in y1 around inf 60.8%
*-commutative60.8%
Simplified60.8%
if 3.19999999999999979e-123 < b Initial program 21.6%
Simplified21.6%
Taylor expanded in a around inf 38.8%
Taylor expanded in y around inf 37.3%
*-commutative37.3%
*-commutative37.3%
Simplified37.3%
Taylor expanded in x around inf 25.1%
Final simplification29.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -1e-176)
(* y4 (* y (* c y3)))
(if (<= j 3.9e-155)
(* a (* y (* y3 (- y5))))
(if (<= j 4.8e-32) (* (* a b) (* x y)) (* (* j y5) (* y0 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 (j <= -1e-176) {
tmp = y4 * (y * (c * y3));
} else if (j <= 3.9e-155) {
tmp = a * (y * (y3 * -y5));
} else if (j <= 4.8e-32) {
tmp = (a * b) * (x * y);
} else {
tmp = (j * y5) * (y0 * y3);
}
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 (j <= (-1d-176)) then
tmp = y4 * (y * (c * y3))
else if (j <= 3.9d-155) then
tmp = a * (y * (y3 * -y5))
else if (j <= 4.8d-32) then
tmp = (a * b) * (x * y)
else
tmp = (j * y5) * (y0 * y3)
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 (j <= -1e-176) {
tmp = y4 * (y * (c * y3));
} else if (j <= 3.9e-155) {
tmp = a * (y * (y3 * -y5));
} else if (j <= 4.8e-32) {
tmp = (a * b) * (x * y);
} else {
tmp = (j * y5) * (y0 * y3);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if j <= -1e-176: tmp = y4 * (y * (c * y3)) elif j <= 3.9e-155: tmp = a * (y * (y3 * -y5)) elif j <= 4.8e-32: tmp = (a * b) * (x * y) else: tmp = (j * y5) * (y0 * 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 (j <= -1e-176) tmp = Float64(y4 * Float64(y * Float64(c * y3))); elseif (j <= 3.9e-155) tmp = Float64(a * Float64(y * Float64(y3 * Float64(-y5)))); elseif (j <= 4.8e-32) tmp = Float64(Float64(a * b) * Float64(x * y)); else tmp = Float64(Float64(j * y5) * Float64(y0 * y3)); 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 (j <= -1e-176) tmp = y4 * (y * (c * y3)); elseif (j <= 3.9e-155) tmp = a * (y * (y3 * -y5)); elseif (j <= 4.8e-32) tmp = (a * b) * (x * y); else tmp = (j * y5) * (y0 * y3); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -1e-176], N[(y4 * N[(y * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.9e-155], N[(a * N[(y * N[(y3 * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.8e-32], N[(N[(a * b), $MachinePrecision] * N[(x * y), $MachinePrecision]), $MachinePrecision], N[(N[(j * y5), $MachinePrecision] * N[(y0 * y3), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1 \cdot 10^{-176}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq 3.9 \cdot 10^{-155}:\\
\;\;\;\;a \cdot \left(y \cdot \left(y3 \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 4.8 \cdot 10^{-32}:\\
\;\;\;\;\left(a \cdot b\right) \cdot \left(x \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(j \cdot y5\right) \cdot \left(y0 \cdot y3\right)\\
\end{array}
\end{array}
if j < -1e-176Initial program 21.9%
Simplified21.9%
Taylor expanded in c around inf 47.0%
Taylor expanded in y3 around inf 31.4%
distribute-lft-out--31.4%
Simplified31.4%
Taylor expanded in y0 around 0 24.9%
mul-1-neg24.9%
distribute-lft-neg-out24.9%
*-commutative24.9%
Simplified24.9%
Taylor expanded in c around 0 26.2%
*-commutative26.2%
*-commutative26.2%
associate-*r*24.9%
remove-double-neg24.9%
distribute-lft-neg-in24.9%
*-commutative24.9%
associate-*r*27.4%
*-commutative27.4%
distribute-rgt-neg-out27.4%
remove-double-neg27.4%
associate-*l*31.5%
*-commutative31.5%
Simplified31.5%
if -1e-176 < j < 3.9000000000000003e-155Initial program 36.8%
Simplified38.1%
Taylor expanded in a around inf 43.4%
Taylor expanded in y around inf 40.2%
*-commutative40.2%
*-commutative40.2%
Simplified40.2%
Taylor expanded in x around 0 31.9%
mul-1-neg31.9%
*-commutative31.9%
distribute-lft-neg-in31.9%
distribute-rgt-neg-in31.9%
distribute-rgt-neg-in31.9%
Simplified31.9%
if 3.9000000000000003e-155 < j < 4.8000000000000003e-32Initial program 36.6%
Simplified36.6%
Taylor expanded in a around inf 32.8%
Taylor expanded in y around inf 31.1%
*-commutative31.1%
*-commutative31.1%
Simplified31.1%
Taylor expanded in x around inf 31.3%
associate-*r*31.3%
*-commutative31.3%
Simplified31.3%
if 4.8000000000000003e-32 < j Initial program 29.7%
Taylor expanded in y5 around -inf 27.6%
associate-*r*27.6%
neg-mul-127.6%
fma-def31.6%
*-commutative31.6%
*-commutative31.6%
*-commutative31.6%
Simplified31.6%
Taylor expanded in j around -inf 41.9%
associate-*r*44.4%
+-commutative44.4%
mul-1-neg44.4%
unsub-neg44.4%
Simplified44.4%
Taylor expanded in y0 around inf 33.7%
*-commutative33.7%
Simplified33.7%
Final simplification32.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= a -4.6e+108) (not (<= a 4.9e+165))) (* a (* y (* x b))) (* c (* y (* y3 y4)))))
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 ((a <= -4.6e+108) || !(a <= 4.9e+165)) {
tmp = a * (y * (x * b));
} else {
tmp = c * (y * (y3 * y4));
}
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 ((a <= (-4.6d+108)) .or. (.not. (a <= 4.9d+165))) then
tmp = a * (y * (x * b))
else
tmp = c * (y * (y3 * y4))
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 ((a <= -4.6e+108) || !(a <= 4.9e+165)) {
tmp = a * (y * (x * b));
} else {
tmp = c * (y * (y3 * y4));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (a <= -4.6e+108) or not (a <= 4.9e+165): tmp = a * (y * (x * b)) else: tmp = c * (y * (y3 * y4)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((a <= -4.6e+108) || !(a <= 4.9e+165)) tmp = Float64(a * Float64(y * Float64(x * b))); else tmp = Float64(c * Float64(y * Float64(y3 * y4))); 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 ((a <= -4.6e+108) || ~((a <= 4.9e+165))) tmp = a * (y * (x * b)); else tmp = c * (y * (y3 * y4)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[a, -4.6e+108], N[Not[LessEqual[a, 4.9e+165]], $MachinePrecision]], N[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y * N[(y3 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -4.6 \cdot 10^{+108} \lor \neg \left(a \leq 4.9 \cdot 10^{+165}\right):\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y \cdot \left(y3 \cdot y4\right)\right)\\
\end{array}
\end{array}
if a < -4.5999999999999998e108 or 4.89999999999999986e165 < a Initial program 19.4%
Simplified19.4%
Taylor expanded in a around inf 57.5%
Taylor expanded in y around inf 37.3%
*-commutative37.3%
*-commutative37.3%
Simplified37.3%
Taylor expanded in x around inf 26.9%
if -4.5999999999999998e108 < a < 4.89999999999999986e165Initial program 35.8%
Simplified36.4%
Taylor expanded in c around inf 37.0%
Taylor expanded in y3 around inf 31.2%
distribute-lft-out--31.2%
Simplified31.2%
Taylor expanded in y0 around 0 24.1%
*-commutative24.1%
Simplified24.1%
Final simplification25.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= b -1.7e-57) (not (<= b 3.25e-102))) (* a (* y (* x b))) (* j (* y0 (* y3 y5)))))
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 ((b <= -1.7e-57) || !(b <= 3.25e-102)) {
tmp = a * (y * (x * b));
} else {
tmp = j * (y0 * (y3 * y5));
}
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 ((b <= (-1.7d-57)) .or. (.not. (b <= 3.25d-102))) then
tmp = a * (y * (x * b))
else
tmp = j * (y0 * (y3 * y5))
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 ((b <= -1.7e-57) || !(b <= 3.25e-102)) {
tmp = a * (y * (x * b));
} else {
tmp = j * (y0 * (y3 * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (b <= -1.7e-57) or not (b <= 3.25e-102): tmp = a * (y * (x * b)) else: tmp = j * (y0 * (y3 * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((b <= -1.7e-57) || !(b <= 3.25e-102)) tmp = Float64(a * Float64(y * Float64(x * b))); else tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); 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 ((b <= -1.7e-57) || ~((b <= 3.25e-102))) tmp = a * (y * (x * b)); else tmp = j * (y0 * (y3 * y5)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[b, -1.7e-57], N[Not[LessEqual[b, 3.25e-102]], $MachinePrecision]], N[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.7 \cdot 10^{-57} \lor \neg \left(b \leq 3.25 \cdot 10^{-102}\right):\\
\;\;\;\;a \cdot \left(y \cdot \left(x \cdot b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\end{array}
\end{array}
if b < -1.70000000000000008e-57 or 3.2500000000000001e-102 < b Initial program 26.6%
Simplified26.6%
Taylor expanded in a around inf 42.0%
Taylor expanded in y around inf 37.6%
*-commutative37.6%
*-commutative37.6%
Simplified37.6%
Taylor expanded in x around inf 27.7%
if -1.70000000000000008e-57 < b < 3.2500000000000001e-102Initial program 36.8%
Taylor expanded in y5 around -inf 42.4%
associate-*r*42.4%
neg-mul-142.4%
fma-def44.4%
*-commutative44.4%
*-commutative44.4%
*-commutative44.4%
Simplified44.4%
Taylor expanded in j around -inf 35.9%
associate-*r*32.0%
+-commutative32.0%
mul-1-neg32.0%
unsub-neg32.0%
Simplified32.0%
Taylor expanded in y0 around inf 27.7%
Final simplification27.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* a (* y (* x 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) {
return a * (y * (x * b));
}
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 = a * (y * (x * b))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return a * (y * (x * b));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return a * (y * (x * b))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(a * Float64(y * Float64(x * b))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = a * (y * (x * b)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(a * N[(y * N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(y \cdot \left(x \cdot b\right)\right)
\end{array}
Initial program 30.5%
Simplified30.9%
Taylor expanded in a around inf 37.0%
Taylor expanded in y around inf 29.6%
*-commutative29.6%
*-commutative29.6%
Simplified29.6%
Taylor expanded in x around inf 19.7%
Final simplification19.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 2024018
(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
:herbie-target
(if (< y4 -7.206256231996481e+60) (- (- (* (- (* 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.0 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* 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 -1.2000065055686116e-105) (+ (+ (- (* (- (* 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 6.718963124057495e-279) (+ (- (- (- (* (* 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 4.77962681403792e-222) (+ (+ (- (* (- (* 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 2.2852241541266835e-175) (+ (- (- (- (* (* 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)))))