
(FPCore (x y z t a b c) :precision binary64 (+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))
double code(double x, double y, double z, double t, double a, double b, double c) {
return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c;
}
real(8) function code(x, y, z, t, a, b, c)
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
code = (((x * y) + ((z * t) / 16.0d0)) - ((a * b) / 4.0d0)) + c
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c;
}
def code(x, y, z, t, a, b, c): return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c
function code(x, y, z, t, a, b, c) return Float64(Float64(Float64(Float64(x * y) + Float64(Float64(z * t) / 16.0)) - Float64(Float64(a * b) / 4.0)) + c) end
function tmp = code(x, y, z, t, a, b, c) tmp = (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c; end
code[x_, y_, z_, t_, a_, b_, c_] := N[(N[(N[(N[(x * y), $MachinePrecision] + N[(N[(z * t), $MachinePrecision] / 16.0), $MachinePrecision]), $MachinePrecision] - N[(N[(a * b), $MachinePrecision] / 4.0), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c) :precision binary64 (+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))
double code(double x, double y, double z, double t, double a, double b, double c) {
return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c;
}
real(8) function code(x, y, z, t, a, b, c)
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
code = (((x * y) + ((z * t) / 16.0d0)) - ((a * b) / 4.0d0)) + c
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c;
}
def code(x, y, z, t, a, b, c): return (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c
function code(x, y, z, t, a, b, c) return Float64(Float64(Float64(Float64(x * y) + Float64(Float64(z * t) / 16.0)) - Float64(Float64(a * b) / 4.0)) + c) end
function tmp = code(x, y, z, t, a, b, c) tmp = (((x * y) + ((z * t) / 16.0)) - ((a * b) / 4.0)) + c; end
code[x_, y_, z_, t_, a_, b_, c_] := N[(N[(N[(N[(x * y), $MachinePrecision] + N[(N[(z * t), $MachinePrecision] / 16.0), $MachinePrecision]), $MachinePrecision] - N[(N[(a * b), $MachinePrecision] / 4.0), $MachinePrecision]), $MachinePrecision] + c), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c
\end{array}
(FPCore (x y z t a b c) :precision binary64 (fma t (/ z 16.0) (fma x y (- c (* b (/ a 4.0))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
return fma(t, (z / 16.0), fma(x, y, (c - (b * (a / 4.0)))));
}
function code(x, y, z, t, a, b, c) return fma(t, Float64(z / 16.0), fma(x, y, Float64(c - Float64(b * Float64(a / 4.0))))) end
code[x_, y_, z_, t_, a_, b_, c_] := N[(t * N[(z / 16.0), $MachinePrecision] + N[(x * y + N[(c - N[(b * N[(a / 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\mathsf{fma}\left(t, \frac{z}{16}, \mathsf{fma}\left(x, y, c - b \cdot \frac{a}{4}\right)\right)
\end{array}
Initial program 98.4%
associate-+l-98.4%
+-commutative98.4%
associate--l+98.4%
associate-*l/98.4%
*-commutative98.4%
fma-def98.4%
fma-neg100.0%
neg-sub0100.0%
associate-+l-100.0%
neg-sub0100.0%
+-commutative100.0%
unsub-neg100.0%
*-commutative100.0%
associate-*r/100.0%
Simplified100.0%
Final simplification100.0%
(FPCore (x y z t a b c) :precision binary64 (+ (fma x y (/ z (/ 16.0 t))) (- c (/ a (/ 4.0 b)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
return fma(x, y, (z / (16.0 / t))) + (c - (a / (4.0 / b)));
}
function code(x, y, z, t, a, b, c) return Float64(fma(x, y, Float64(z / Float64(16.0 / t))) + Float64(c - Float64(a / Float64(4.0 / b)))) end
code[x_, y_, z_, t_, a_, b_, c_] := N[(N[(x * y + N[(z / N[(16.0 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c - N[(a / N[(4.0 / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\mathsf{fma}\left(x, y, \frac{z}{\frac{16}{t}}\right) + \left(c - \frac{a}{\frac{4}{b}}\right)
\end{array}
Initial program 98.4%
associate-+l-98.4%
sub-neg98.4%
neg-mul-198.4%
metadata-eval98.4%
metadata-eval98.4%
cancel-sign-sub-inv98.4%
fma-def98.8%
associate-/l*98.8%
metadata-eval98.8%
*-lft-identity98.8%
associate-/l*98.7%
Simplified98.7%
Final simplification98.7%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (* (* b a) -0.25)))
(if (<= (* b a) -1.4e+162)
t_1
(if (<= (* b a) -4.7e+16)
c
(if (<= (* b a) -1.2e-45)
t_1
(if (<= (* b a) -4.4e-259)
(* x y)
(if (<= (* b a) 8.2e-114)
(* (* t z) 0.0625)
(if (<= (* b a) 4.2e+14)
(* x y)
(if (<= (* b a) 4.2e+131) c t_1)))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = (b * a) * -0.25;
double tmp;
if ((b * a) <= -1.4e+162) {
tmp = t_1;
} else if ((b * a) <= -4.7e+16) {
tmp = c;
} else if ((b * a) <= -1.2e-45) {
tmp = t_1;
} else if ((b * a) <= -4.4e-259) {
tmp = x * y;
} else if ((b * a) <= 8.2e-114) {
tmp = (t * z) * 0.0625;
} else if ((b * a) <= 4.2e+14) {
tmp = x * y;
} else if ((b * a) <= 4.2e+131) {
tmp = c;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: t_1
real(8) :: tmp
t_1 = (b * a) * (-0.25d0)
if ((b * a) <= (-1.4d+162)) then
tmp = t_1
else if ((b * a) <= (-4.7d+16)) then
tmp = c
else if ((b * a) <= (-1.2d-45)) then
tmp = t_1
else if ((b * a) <= (-4.4d-259)) then
tmp = x * y
else if ((b * a) <= 8.2d-114) then
tmp = (t * z) * 0.0625d0
else if ((b * a) <= 4.2d+14) then
tmp = x * y
else if ((b * a) <= 4.2d+131) then
tmp = c
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 t_1 = (b * a) * -0.25;
double tmp;
if ((b * a) <= -1.4e+162) {
tmp = t_1;
} else if ((b * a) <= -4.7e+16) {
tmp = c;
} else if ((b * a) <= -1.2e-45) {
tmp = t_1;
} else if ((b * a) <= -4.4e-259) {
tmp = x * y;
} else if ((b * a) <= 8.2e-114) {
tmp = (t * z) * 0.0625;
} else if ((b * a) <= 4.2e+14) {
tmp = x * y;
} else if ((b * a) <= 4.2e+131) {
tmp = c;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = (b * a) * -0.25 tmp = 0 if (b * a) <= -1.4e+162: tmp = t_1 elif (b * a) <= -4.7e+16: tmp = c elif (b * a) <= -1.2e-45: tmp = t_1 elif (b * a) <= -4.4e-259: tmp = x * y elif (b * a) <= 8.2e-114: tmp = (t * z) * 0.0625 elif (b * a) <= 4.2e+14: tmp = x * y elif (b * a) <= 4.2e+131: tmp = c else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(Float64(b * a) * -0.25) tmp = 0.0 if (Float64(b * a) <= -1.4e+162) tmp = t_1; elseif (Float64(b * a) <= -4.7e+16) tmp = c; elseif (Float64(b * a) <= -1.2e-45) tmp = t_1; elseif (Float64(b * a) <= -4.4e-259) tmp = Float64(x * y); elseif (Float64(b * a) <= 8.2e-114) tmp = Float64(Float64(t * z) * 0.0625); elseif (Float64(b * a) <= 4.2e+14) tmp = Float64(x * y); elseif (Float64(b * a) <= 4.2e+131) tmp = c; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = (b * a) * -0.25; tmp = 0.0; if ((b * a) <= -1.4e+162) tmp = t_1; elseif ((b * a) <= -4.7e+16) tmp = c; elseif ((b * a) <= -1.2e-45) tmp = t_1; elseif ((b * a) <= -4.4e-259) tmp = x * y; elseif ((b * a) <= 8.2e-114) tmp = (t * z) * 0.0625; elseif ((b * a) <= 4.2e+14) tmp = x * y; elseif ((b * a) <= 4.2e+131) tmp = c; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(N[(b * a), $MachinePrecision] * -0.25), $MachinePrecision]}, If[LessEqual[N[(b * a), $MachinePrecision], -1.4e+162], t$95$1, If[LessEqual[N[(b * a), $MachinePrecision], -4.7e+16], c, If[LessEqual[N[(b * a), $MachinePrecision], -1.2e-45], t$95$1, If[LessEqual[N[(b * a), $MachinePrecision], -4.4e-259], N[(x * y), $MachinePrecision], If[LessEqual[N[(b * a), $MachinePrecision], 8.2e-114], N[(N[(t * z), $MachinePrecision] * 0.0625), $MachinePrecision], If[LessEqual[N[(b * a), $MachinePrecision], 4.2e+14], N[(x * y), $MachinePrecision], If[LessEqual[N[(b * a), $MachinePrecision], 4.2e+131], c, t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(b \cdot a\right) \cdot -0.25\\
\mathbf{if}\;b \cdot a \leq -1.4 \cdot 10^{+162}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \cdot a \leq -4.7 \cdot 10^{+16}:\\
\;\;\;\;c\\
\mathbf{elif}\;b \cdot a \leq -1.2 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \cdot a \leq -4.4 \cdot 10^{-259}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;b \cdot a \leq 8.2 \cdot 10^{-114}:\\
\;\;\;\;\left(t \cdot z\right) \cdot 0.0625\\
\mathbf{elif}\;b \cdot a \leq 4.2 \cdot 10^{+14}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;b \cdot a \leq 4.2 \cdot 10^{+131}:\\
\;\;\;\;c\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if (*.f64 a b) < -1.39999999999999995e162 or -4.7e16 < (*.f64 a b) < -1.19999999999999995e-45 or 4.19999999999999971e131 < (*.f64 a b) Initial program 95.1%
Taylor expanded in z around 0 85.8%
Taylor expanded in a around inf 74.8%
*-commutative74.8%
Simplified74.8%
if -1.39999999999999995e162 < (*.f64 a b) < -4.7e16 or 4.2e14 < (*.f64 a b) < 4.19999999999999971e131Initial program 100.0%
Taylor expanded in c around inf 45.9%
if -1.19999999999999995e-45 < (*.f64 a b) < -4.40000000000000019e-259 or 8.1999999999999993e-114 < (*.f64 a b) < 4.2e14Initial program 100.0%
Taylor expanded in z around 0 78.1%
Taylor expanded in y around inf 52.3%
if -4.40000000000000019e-259 < (*.f64 a b) < 8.1999999999999993e-114Initial program 100.0%
Taylor expanded in z around inf 64.4%
associate-*r*64.4%
metadata-eval64.4%
associate-/r/64.4%
associate-*l/64.3%
*-commutative64.3%
*-rgt-identity64.3%
associate-/r/64.4%
*-commutative64.4%
Simplified64.4%
Taylor expanded in t around inf 44.5%
Final simplification56.4%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (+ c (* x y))) (t_2 (+ c (* b (* a -0.25)))))
(if (<= (* b a) -1e-45)
t_2
(if (<= (* b a) -2e-251)
t_1
(if (<= (* b a) 5e-119)
(+ c (* t (/ z 16.0)))
(if (<= (* b a) 4e+93) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = c + (x * y);
double t_2 = c + (b * (a * -0.25));
double tmp;
if ((b * a) <= -1e-45) {
tmp = t_2;
} else if ((b * a) <= -2e-251) {
tmp = t_1;
} else if ((b * a) <= 5e-119) {
tmp = c + (t * (z / 16.0));
} else if ((b * a) <= 4e+93) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = c + (x * y)
t_2 = c + (b * (a * (-0.25d0)))
if ((b * a) <= (-1d-45)) then
tmp = t_2
else if ((b * a) <= (-2d-251)) then
tmp = t_1
else if ((b * a) <= 5d-119) then
tmp = c + (t * (z / 16.0d0))
else if ((b * a) <= 4d+93) 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 t_1 = c + (x * y);
double t_2 = c + (b * (a * -0.25));
double tmp;
if ((b * a) <= -1e-45) {
tmp = t_2;
} else if ((b * a) <= -2e-251) {
tmp = t_1;
} else if ((b * a) <= 5e-119) {
tmp = c + (t * (z / 16.0));
} else if ((b * a) <= 4e+93) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = c + (x * y) t_2 = c + (b * (a * -0.25)) tmp = 0 if (b * a) <= -1e-45: tmp = t_2 elif (b * a) <= -2e-251: tmp = t_1 elif (b * a) <= 5e-119: tmp = c + (t * (z / 16.0)) elif (b * a) <= 4e+93: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(c + Float64(x * y)) t_2 = Float64(c + Float64(b * Float64(a * -0.25))) tmp = 0.0 if (Float64(b * a) <= -1e-45) tmp = t_2; elseif (Float64(b * a) <= -2e-251) tmp = t_1; elseif (Float64(b * a) <= 5e-119) tmp = Float64(c + Float64(t * Float64(z / 16.0))); elseif (Float64(b * a) <= 4e+93) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = c + (x * y); t_2 = c + (b * (a * -0.25)); tmp = 0.0; if ((b * a) <= -1e-45) tmp = t_2; elseif ((b * a) <= -2e-251) tmp = t_1; elseif ((b * a) <= 5e-119) tmp = c + (t * (z / 16.0)); elseif ((b * a) <= 4e+93) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(c + N[(x * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c + N[(b * N[(a * -0.25), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(b * a), $MachinePrecision], -1e-45], t$95$2, If[LessEqual[N[(b * a), $MachinePrecision], -2e-251], t$95$1, If[LessEqual[N[(b * a), $MachinePrecision], 5e-119], N[(c + N[(t * N[(z / 16.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(b * a), $MachinePrecision], 4e+93], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c + x \cdot y\\
t_2 := c + b \cdot \left(a \cdot -0.25\right)\\
\mathbf{if}\;b \cdot a \leq -1 \cdot 10^{-45}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;b \cdot a \leq -2 \cdot 10^{-251}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \cdot a \leq 5 \cdot 10^{-119}:\\
\;\;\;\;c + t \cdot \frac{z}{16}\\
\mathbf{elif}\;b \cdot a \leq 4 \cdot 10^{+93}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if (*.f64 a b) < -9.99999999999999984e-46 or 4.00000000000000017e93 < (*.f64 a b) Initial program 96.4%
Taylor expanded in a around inf 77.0%
*-commutative77.0%
*-commutative77.0%
associate-*r*77.0%
Simplified77.0%
if -9.99999999999999984e-46 < (*.f64 a b) < -2.00000000000000003e-251 or 4.99999999999999993e-119 < (*.f64 a b) < 4.00000000000000017e93Initial program 100.0%
Taylor expanded in x around inf 76.0%
if -2.00000000000000003e-251 < (*.f64 a b) < 4.99999999999999993e-119Initial program 100.0%
Taylor expanded in z around inf 64.4%
associate-*r*64.4%
metadata-eval64.4%
associate-/r/64.4%
associate-*l/64.3%
*-commutative64.3%
*-rgt-identity64.3%
associate-/r/64.4%
*-commutative64.4%
Simplified64.4%
Final simplification73.5%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (+ c (* b (* a -0.25)))))
(if (<= (* b a) -1e-45)
t_1
(if (<= (* b a) 5e-88)
(+ (* x y) (* (* t z) 0.0625))
(if (<= (* b a) 4e+93) (+ c (* x y)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = c + (b * (a * -0.25));
double tmp;
if ((b * a) <= -1e-45) {
tmp = t_1;
} else if ((b * a) <= 5e-88) {
tmp = (x * y) + ((t * z) * 0.0625);
} else if ((b * a) <= 4e+93) {
tmp = c + (x * y);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: t_1
real(8) :: tmp
t_1 = c + (b * (a * (-0.25d0)))
if ((b * a) <= (-1d-45)) then
tmp = t_1
else if ((b * a) <= 5d-88) then
tmp = (x * y) + ((t * z) * 0.0625d0)
else if ((b * a) <= 4d+93) then
tmp = c + (x * y)
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 t_1 = c + (b * (a * -0.25));
double tmp;
if ((b * a) <= -1e-45) {
tmp = t_1;
} else if ((b * a) <= 5e-88) {
tmp = (x * y) + ((t * z) * 0.0625);
} else if ((b * a) <= 4e+93) {
tmp = c + (x * y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = c + (b * (a * -0.25)) tmp = 0 if (b * a) <= -1e-45: tmp = t_1 elif (b * a) <= 5e-88: tmp = (x * y) + ((t * z) * 0.0625) elif (b * a) <= 4e+93: tmp = c + (x * y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(c + Float64(b * Float64(a * -0.25))) tmp = 0.0 if (Float64(b * a) <= -1e-45) tmp = t_1; elseif (Float64(b * a) <= 5e-88) tmp = Float64(Float64(x * y) + Float64(Float64(t * z) * 0.0625)); elseif (Float64(b * a) <= 4e+93) tmp = Float64(c + Float64(x * y)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = c + (b * (a * -0.25)); tmp = 0.0; if ((b * a) <= -1e-45) tmp = t_1; elseif ((b * a) <= 5e-88) tmp = (x * y) + ((t * z) * 0.0625); elseif ((b * a) <= 4e+93) tmp = c + (x * y); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(c + N[(b * N[(a * -0.25), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(b * a), $MachinePrecision], -1e-45], t$95$1, If[LessEqual[N[(b * a), $MachinePrecision], 5e-88], N[(N[(x * y), $MachinePrecision] + N[(N[(t * z), $MachinePrecision] * 0.0625), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(b * a), $MachinePrecision], 4e+93], N[(c + N[(x * y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c + b \cdot \left(a \cdot -0.25\right)\\
\mathbf{if}\;b \cdot a \leq -1 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \cdot a \leq 5 \cdot 10^{-88}:\\
\;\;\;\;x \cdot y + \left(t \cdot z\right) \cdot 0.0625\\
\mathbf{elif}\;b \cdot a \leq 4 \cdot 10^{+93}:\\
\;\;\;\;c + x \cdot y\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if (*.f64 a b) < -9.99999999999999984e-46 or 4.00000000000000017e93 < (*.f64 a b) Initial program 96.4%
Taylor expanded in a around inf 77.0%
*-commutative77.0%
*-commutative77.0%
associate-*r*77.0%
Simplified77.0%
if -9.99999999999999984e-46 < (*.f64 a b) < 5.00000000000000009e-88Initial program 100.0%
Taylor expanded in a around 0 97.2%
Taylor expanded in c around 0 76.6%
if 5.00000000000000009e-88 < (*.f64 a b) < 4.00000000000000017e93Initial program 100.0%
Taylor expanded in x around inf 82.7%
Final simplification77.7%
(FPCore (x y z t a b c) :precision binary64 (if (or (<= (* b a) -4e+152) (not (<= (* b a) 5e+133))) (+ c (* b (* a -0.25))) (+ c (+ (* x y) (* (* t z) 0.0625)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -4e+152) || !((b * a) <= 5e+133)) {
tmp = c + (b * (a * -0.25));
} else {
tmp = c + ((x * y) + ((t * z) * 0.0625));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: tmp
if (((b * a) <= (-4d+152)) .or. (.not. ((b * a) <= 5d+133))) then
tmp = c + (b * (a * (-0.25d0)))
else
tmp = c + ((x * y) + ((t * z) * 0.0625d0))
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 tmp;
if (((b * a) <= -4e+152) || !((b * a) <= 5e+133)) {
tmp = c + (b * (a * -0.25));
} else {
tmp = c + ((x * y) + ((t * z) * 0.0625));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if ((b * a) <= -4e+152) or not ((b * a) <= 5e+133): tmp = c + (b * (a * -0.25)) else: tmp = c + ((x * y) + ((t * z) * 0.0625)) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((Float64(b * a) <= -4e+152) || !(Float64(b * a) <= 5e+133)) tmp = Float64(c + Float64(b * Float64(a * -0.25))); else tmp = Float64(c + Float64(Float64(x * y) + Float64(Float64(t * z) * 0.0625))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (((b * a) <= -4e+152) || ~(((b * a) <= 5e+133))) tmp = c + (b * (a * -0.25)); else tmp = c + ((x * y) + ((t * z) * 0.0625)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[N[(b * a), $MachinePrecision], -4e+152], N[Not[LessEqual[N[(b * a), $MachinePrecision], 5e+133]], $MachinePrecision]], N[(c + N[(b * N[(a * -0.25), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c + N[(N[(x * y), $MachinePrecision] + N[(N[(t * z), $MachinePrecision] * 0.0625), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \cdot a \leq -4 \cdot 10^{+152} \lor \neg \left(b \cdot a \leq 5 \cdot 10^{+133}\right):\\
\;\;\;\;c + b \cdot \left(a \cdot -0.25\right)\\
\mathbf{else}:\\
\;\;\;\;c + \left(x \cdot y + \left(t \cdot z\right) \cdot 0.0625\right)\\
\end{array}
\end{array}
if (*.f64 a b) < -4.0000000000000002e152 or 4.99999999999999961e133 < (*.f64 a b) Initial program 94.5%
Taylor expanded in a around inf 85.8%
*-commutative85.8%
*-commutative85.8%
associate-*r*85.8%
Simplified85.8%
if -4.0000000000000002e152 < (*.f64 a b) < 4.99999999999999961e133Initial program 100.0%
Taylor expanded in a around 0 93.1%
Final simplification91.0%
(FPCore (x y z t a b c) :precision binary64 (if (or (<= (* b a) -2e+110) (not (<= (* b a) 4e+99))) (- (+ c (* x y)) (* (* b a) 0.25)) (+ c (+ (* x y) (* (* t z) 0.0625)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -2e+110) || !((b * a) <= 4e+99)) {
tmp = (c + (x * y)) - ((b * a) * 0.25);
} else {
tmp = c + ((x * y) + ((t * z) * 0.0625));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: tmp
if (((b * a) <= (-2d+110)) .or. (.not. ((b * a) <= 4d+99))) then
tmp = (c + (x * y)) - ((b * a) * 0.25d0)
else
tmp = c + ((x * y) + ((t * z) * 0.0625d0))
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 tmp;
if (((b * a) <= -2e+110) || !((b * a) <= 4e+99)) {
tmp = (c + (x * y)) - ((b * a) * 0.25);
} else {
tmp = c + ((x * y) + ((t * z) * 0.0625));
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if ((b * a) <= -2e+110) or not ((b * a) <= 4e+99): tmp = (c + (x * y)) - ((b * a) * 0.25) else: tmp = c + ((x * y) + ((t * z) * 0.0625)) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((Float64(b * a) <= -2e+110) || !(Float64(b * a) <= 4e+99)) tmp = Float64(Float64(c + Float64(x * y)) - Float64(Float64(b * a) * 0.25)); else tmp = Float64(c + Float64(Float64(x * y) + Float64(Float64(t * z) * 0.0625))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (((b * a) <= -2e+110) || ~(((b * a) <= 4e+99))) tmp = (c + (x * y)) - ((b * a) * 0.25); else tmp = c + ((x * y) + ((t * z) * 0.0625)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[N[(b * a), $MachinePrecision], -2e+110], N[Not[LessEqual[N[(b * a), $MachinePrecision], 4e+99]], $MachinePrecision]], N[(N[(c + N[(x * y), $MachinePrecision]), $MachinePrecision] - N[(N[(b * a), $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision], N[(c + N[(N[(x * y), $MachinePrecision] + N[(N[(t * z), $MachinePrecision] * 0.0625), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \cdot a \leq -2 \cdot 10^{+110} \lor \neg \left(b \cdot a \leq 4 \cdot 10^{+99}\right):\\
\;\;\;\;\left(c + x \cdot y\right) - \left(b \cdot a\right) \cdot 0.25\\
\mathbf{else}:\\
\;\;\;\;c + \left(x \cdot y + \left(t \cdot z\right) \cdot 0.0625\right)\\
\end{array}
\end{array}
if (*.f64 a b) < -2e110 or 3.9999999999999999e99 < (*.f64 a b) Initial program 95.3%
Taylor expanded in z around 0 86.4%
if -2e110 < (*.f64 a b) < 3.9999999999999999e99Initial program 100.0%
Taylor expanded in a around 0 94.2%
Final simplification91.6%
(FPCore (x y z t a b c) :precision binary64 (+ c (- (+ (/ (* t z) 16.0) (* x y)) (/ (* b a) 4.0))))
double code(double x, double y, double z, double t, double a, double b, double c) {
return c + ((((t * z) / 16.0) + (x * y)) - ((b * a) / 4.0));
}
real(8) function code(x, y, z, t, a, b, c)
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
code = c + ((((t * z) / 16.0d0) + (x * y)) - ((b * a) / 4.0d0))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return c + ((((t * z) / 16.0) + (x * y)) - ((b * a) / 4.0));
}
def code(x, y, z, t, a, b, c): return c + ((((t * z) / 16.0) + (x * y)) - ((b * a) / 4.0))
function code(x, y, z, t, a, b, c) return Float64(c + Float64(Float64(Float64(Float64(t * z) / 16.0) + Float64(x * y)) - Float64(Float64(b * a) / 4.0))) end
function tmp = code(x, y, z, t, a, b, c) tmp = c + ((((t * z) / 16.0) + (x * y)) - ((b * a) / 4.0)); end
code[x_, y_, z_, t_, a_, b_, c_] := N[(c + N[(N[(N[(N[(t * z), $MachinePrecision] / 16.0), $MachinePrecision] + N[(x * y), $MachinePrecision]), $MachinePrecision] - N[(N[(b * a), $MachinePrecision] / 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
c + \left(\left(\frac{t \cdot z}{16} + x \cdot y\right) - \frac{b \cdot a}{4}\right)
\end{array}
Initial program 98.4%
Final simplification98.4%
(FPCore (x y z t a b c) :precision binary64 (if (or (<= (* b a) -1e-45) (not (<= (* b a) 4e+93))) (+ c (* b (* a -0.25))) (+ c (* x y))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -1e-45) || !((b * a) <= 4e+93)) {
tmp = c + (b * (a * -0.25));
} else {
tmp = c + (x * y);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: tmp
if (((b * a) <= (-1d-45)) .or. (.not. ((b * a) <= 4d+93))) then
tmp = c + (b * (a * (-0.25d0)))
else
tmp = c + (x * y)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -1e-45) || !((b * a) <= 4e+93)) {
tmp = c + (b * (a * -0.25));
} else {
tmp = c + (x * y);
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if ((b * a) <= -1e-45) or not ((b * a) <= 4e+93): tmp = c + (b * (a * -0.25)) else: tmp = c + (x * y) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((Float64(b * a) <= -1e-45) || !(Float64(b * a) <= 4e+93)) tmp = Float64(c + Float64(b * Float64(a * -0.25))); else tmp = Float64(c + Float64(x * y)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (((b * a) <= -1e-45) || ~(((b * a) <= 4e+93))) tmp = c + (b * (a * -0.25)); else tmp = c + (x * y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[N[(b * a), $MachinePrecision], -1e-45], N[Not[LessEqual[N[(b * a), $MachinePrecision], 4e+93]], $MachinePrecision]], N[(c + N[(b * N[(a * -0.25), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c + N[(x * y), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \cdot a \leq -1 \cdot 10^{-45} \lor \neg \left(b \cdot a \leq 4 \cdot 10^{+93}\right):\\
\;\;\;\;c + b \cdot \left(a \cdot -0.25\right)\\
\mathbf{else}:\\
\;\;\;\;c + x \cdot y\\
\end{array}
\end{array}
if (*.f64 a b) < -9.99999999999999984e-46 or 4.00000000000000017e93 < (*.f64 a b) Initial program 96.4%
Taylor expanded in a around inf 77.0%
*-commutative77.0%
*-commutative77.0%
associate-*r*77.0%
Simplified77.0%
if -9.99999999999999984e-46 < (*.f64 a b) < 4.00000000000000017e93Initial program 100.0%
Taylor expanded in x around inf 67.7%
Final simplification71.8%
(FPCore (x y z t a b c) :precision binary64 (if (or (<= (* b a) -3.8e+162) (not (<= (* b a) 2.8e+132))) (* (* b a) -0.25) (+ c (* x y))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -3.8e+162) || !((b * a) <= 2.8e+132)) {
tmp = (b * a) * -0.25;
} else {
tmp = c + (x * y);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: tmp
if (((b * a) <= (-3.8d+162)) .or. (.not. ((b * a) <= 2.8d+132))) then
tmp = (b * a) * (-0.25d0)
else
tmp = c + (x * y)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (((b * a) <= -3.8e+162) || !((b * a) <= 2.8e+132)) {
tmp = (b * a) * -0.25;
} else {
tmp = c + (x * y);
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if ((b * a) <= -3.8e+162) or not ((b * a) <= 2.8e+132): tmp = (b * a) * -0.25 else: tmp = c + (x * y) return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if ((Float64(b * a) <= -3.8e+162) || !(Float64(b * a) <= 2.8e+132)) tmp = Float64(Float64(b * a) * -0.25); else tmp = Float64(c + Float64(x * y)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (((b * a) <= -3.8e+162) || ~(((b * a) <= 2.8e+132))) tmp = (b * a) * -0.25; else tmp = c + (x * y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[N[(b * a), $MachinePrecision], -3.8e+162], N[Not[LessEqual[N[(b * a), $MachinePrecision], 2.8e+132]], $MachinePrecision]], N[(N[(b * a), $MachinePrecision] * -0.25), $MachinePrecision], N[(c + N[(x * y), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \cdot a \leq -3.8 \cdot 10^{+162} \lor \neg \left(b \cdot a \leq 2.8 \cdot 10^{+132}\right):\\
\;\;\;\;\left(b \cdot a\right) \cdot -0.25\\
\mathbf{else}:\\
\;\;\;\;c + x \cdot y\\
\end{array}
\end{array}
if (*.f64 a b) < -3.80000000000000024e162 or 2.7999999999999999e132 < (*.f64 a b) Initial program 94.4%
Taylor expanded in z around 0 85.1%
Taylor expanded in a around inf 78.6%
*-commutative78.6%
Simplified78.6%
if -3.80000000000000024e162 < (*.f64 a b) < 2.7999999999999999e132Initial program 100.0%
Taylor expanded in x around inf 65.5%
Final simplification69.2%
(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (* (* t z) 0.0625)))
(if (<= t -1e-62)
t_1
(if (<= t -5.5e-241) c (if (<= t 1.18e+148) (* x y) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = (t * z) * 0.0625;
double tmp;
if (t <= -1e-62) {
tmp = t_1;
} else if (t <= -5.5e-241) {
tmp = c;
} else if (t <= 1.18e+148) {
tmp = x * y;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: t_1
real(8) :: tmp
t_1 = (t * z) * 0.0625d0
if (t <= (-1d-62)) then
tmp = t_1
else if (t <= (-5.5d-241)) then
tmp = c
else if (t <= 1.18d+148) then
tmp = x * y
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 t_1 = (t * z) * 0.0625;
double tmp;
if (t <= -1e-62) {
tmp = t_1;
} else if (t <= -5.5e-241) {
tmp = c;
} else if (t <= 1.18e+148) {
tmp = x * y;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): t_1 = (t * z) * 0.0625 tmp = 0 if t <= -1e-62: tmp = t_1 elif t <= -5.5e-241: tmp = c elif t <= 1.18e+148: tmp = x * y else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) t_1 = Float64(Float64(t * z) * 0.0625) tmp = 0.0 if (t <= -1e-62) tmp = t_1; elseif (t <= -5.5e-241) tmp = c; elseif (t <= 1.18e+148) tmp = Float64(x * y); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = (t * z) * 0.0625; tmp = 0.0; if (t <= -1e-62) tmp = t_1; elseif (t <= -5.5e-241) tmp = c; elseif (t <= 1.18e+148) tmp = x * y; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(N[(t * z), $MachinePrecision] * 0.0625), $MachinePrecision]}, If[LessEqual[t, -1e-62], t$95$1, If[LessEqual[t, -5.5e-241], c, If[LessEqual[t, 1.18e+148], N[(x * y), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(t \cdot z\right) \cdot 0.0625\\
\mathbf{if}\;t \leq -1 \cdot 10^{-62}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -5.5 \cdot 10^{-241}:\\
\;\;\;\;c\\
\mathbf{elif}\;t \leq 1.18 \cdot 10^{+148}:\\
\;\;\;\;x \cdot y\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1e-62 or 1.18e148 < t Initial program 98.3%
Taylor expanded in z around inf 57.9%
associate-*r*57.9%
metadata-eval57.9%
associate-/r/57.9%
associate-*l/57.9%
*-commutative57.9%
*-rgt-identity57.9%
associate-/r/57.9%
*-commutative57.9%
Simplified57.9%
Taylor expanded in t around inf 42.2%
if -1e-62 < t < -5.4999999999999998e-241Initial program 94.1%
Taylor expanded in c around inf 42.8%
if -5.4999999999999998e-241 < t < 1.18e148Initial program 100.0%
Taylor expanded in z around 0 87.7%
Taylor expanded in y around inf 33.2%
Final simplification38.6%
(FPCore (x y z t a b c) :precision binary64 (if (<= c -2.15e+63) c (if (<= c 1.8e+81) (* x y) c)))
double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (c <= -2.15e+63) {
tmp = c;
} else if (c <= 1.8e+81) {
tmp = x * y;
} else {
tmp = c;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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) :: tmp
if (c <= (-2.15d+63)) then
tmp = c
else if (c <= 1.8d+81) then
tmp = x * y
else
tmp = c
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double tmp;
if (c <= -2.15e+63) {
tmp = c;
} else if (c <= 1.8e+81) {
tmp = x * y;
} else {
tmp = c;
}
return tmp;
}
def code(x, y, z, t, a, b, c): tmp = 0 if c <= -2.15e+63: tmp = c elif c <= 1.8e+81: tmp = x * y else: tmp = c return tmp
function code(x, y, z, t, a, b, c) tmp = 0.0 if (c <= -2.15e+63) tmp = c; elseif (c <= 1.8e+81) tmp = Float64(x * y); else tmp = c; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c) tmp = 0.0; if (c <= -2.15e+63) tmp = c; elseif (c <= 1.8e+81) tmp = x * y; else tmp = c; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[c, -2.15e+63], c, If[LessEqual[c, 1.8e+81], N[(x * y), $MachinePrecision], c]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -2.15 \cdot 10^{+63}:\\
\;\;\;\;c\\
\mathbf{elif}\;c \leq 1.8 \cdot 10^{+81}:\\
\;\;\;\;x \cdot y\\
\mathbf{else}:\\
\;\;\;\;c\\
\end{array}
\end{array}
if c < -2.15e63 or 1.80000000000000003e81 < c Initial program 100.0%
Taylor expanded in c around inf 49.7%
if -2.15e63 < c < 1.80000000000000003e81Initial program 97.4%
Taylor expanded in z around 0 72.4%
Taylor expanded in y around inf 38.4%
Final simplification42.9%
(FPCore (x y z t a b c) :precision binary64 c)
double code(double x, double y, double z, double t, double a, double b, double c) {
return c;
}
real(8) function code(x, y, z, t, a, b, c)
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
code = c
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
return c;
}
def code(x, y, z, t, a, b, c): return c
function code(x, y, z, t, a, b, c) return c end
function tmp = code(x, y, z, t, a, b, c) tmp = c; end
code[x_, y_, z_, t_, a_, b_, c_] := c
\begin{array}{l}
\\
c
\end{array}
Initial program 98.4%
Taylor expanded in c around inf 23.9%
Final simplification23.9%
herbie shell --seed 2023229
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
:precision binary64
(+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))