| Alternative 1 | |
|---|---|
| Accuracy | 82.8% |
| Cost | 2508 |
(FPCore (x y z t a b c i) :precision binary64 (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ (/ z y) x)))
(if (<= y -4.5e+84)
t_1
(if (<= y -3.3e+27)
(/ z (+ a (+ y (+ (/ c (* y y)) (/ b y)))))
(if (<= y 6.5e+31)
(/
(fma (fma (fma (fma x y z) y 27464.7644705) y 230661.510616) y t)
(fma (fma (fma (+ y a) y b) y c) y i))
(if (<= y 4.4e+137)
(+ (/ 27464.7644705 (* y a)) (+ (/ z a) (/ y (/ a x))))
t_1))))))double code(double x, double y, double z, double t, double a, double b, double c, double i) {
return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
double t_1 = (z / y) + x;
double tmp;
if (y <= -4.5e+84) {
tmp = t_1;
} else if (y <= -3.3e+27) {
tmp = z / (a + (y + ((c / (y * y)) + (b / y))));
} else if (y <= 6.5e+31) {
tmp = fma(fma(fma(fma(x, y, z), y, 27464.7644705), y, 230661.510616), y, t) / fma(fma(fma((y + a), y, b), y, c), y, i);
} else if (y <= 4.4e+137) {
tmp = (27464.7644705 / (y * a)) + ((z / a) + (y / (a / x)));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i)) end
function code(x, y, z, t, a, b, c, i) t_1 = Float64(Float64(z / y) + x) tmp = 0.0 if (y <= -4.5e+84) tmp = t_1; elseif (y <= -3.3e+27) tmp = Float64(z / Float64(a + Float64(y + Float64(Float64(c / Float64(y * y)) + Float64(b / y))))); elseif (y <= 6.5e+31) tmp = Float64(fma(fma(fma(fma(x, y, z), y, 27464.7644705), y, 230661.510616), y, t) / fma(fma(fma(Float64(y + a), y, b), y, c), y, i)); elseif (y <= 4.4e+137) tmp = Float64(Float64(27464.7644705 / Float64(y * a)) + Float64(Float64(z / a) + Float64(y / Float64(a / x)))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(z / y), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[y, -4.5e+84], t$95$1, If[LessEqual[y, -3.3e+27], N[(z / N[(a + N[(y + N[(N[(c / N[(y * y), $MachinePrecision]), $MachinePrecision] + N[(b / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.5e+31], N[(N[(N[(N[(N[(x * y + z), $MachinePrecision] * y + 27464.7644705), $MachinePrecision] * y + 230661.510616), $MachinePrecision] * y + t), $MachinePrecision] / N[(N[(N[(N[(y + a), $MachinePrecision] * y + b), $MachinePrecision] * y + c), $MachinePrecision] * y + i), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.4e+137], N[(N[(27464.7644705 / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(z / a), $MachinePrecision] + N[(y / N[(a / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\begin{array}{l}
t_1 := \frac{z}{y} + x\\
\mathbf{if}\;y \leq -4.5 \cdot 10^{+84}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -3.3 \cdot 10^{+27}:\\
\;\;\;\;\frac{z}{a + \left(y + \left(\frac{c}{y \cdot y} + \frac{b}{y}\right)\right)}\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{+31}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}\\
\mathbf{elif}\;y \leq 4.4 \cdot 10^{+137}:\\
\;\;\;\;\frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \frac{y}{\frac{a}{x}}\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
if y < -4.4999999999999997e84 or 4.40000000000000031e137 < y Initial program 0.4%
Taylor expanded in y around inf 74.5%
Simplified80.5%
[Start]74.5 | \[ \left(\frac{z}{y} + x\right) - \frac{a \cdot x}{y}
\] |
|---|---|
associate--l+ [=>]74.5 | \[ \color{blue}{\frac{z}{y} + \left(x - \frac{a \cdot x}{y}\right)}
\] |
associate-/l* [=>]80.5 | \[ \frac{z}{y} + \left(x - \color{blue}{\frac{a}{\frac{y}{x}}}\right)
\] |
Taylor expanded in a around 0 80.4%
if -4.4999999999999997e84 < y < -3.2999999999999998e27Initial program 27.9%
Simplified27.9%
[Start]27.9 | \[ \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
|---|---|
fma-def [=>]27.9 | \[ \frac{\color{blue}{\mathsf{fma}\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616, y, t\right)}}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705, y, 230661.510616\right)}, y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(x \cdot y + z, y, 27464.7644705\right)}, y, 230661.510616\right), y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(x, y, z\right)}, y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\color{blue}{\mathsf{fma}\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c, y, i\right)}}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\left(y + a\right) \cdot y + b, y, c\right)}, y, i\right)}
\] |
fma-def [=>]27.9 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(y + a, y, b\right)}, y, c\right), y, i\right)}
\] |
Taylor expanded in z around inf 8.1%
Simplified19.1%
[Start]8.1 | \[ \frac{{y}^{3} \cdot z}{y \cdot \left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) + i}
\] |
|---|---|
*-commutative [=>]8.1 | \[ \frac{\color{blue}{z \cdot {y}^{3}}}{y \cdot \left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) + i}
\] |
*-commutative [=>]8.1 | \[ \frac{z \cdot {y}^{3}}{\color{blue}{\left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) \cdot y} + i}
\] |
+-commutative [=>]8.1 | \[ \frac{z \cdot {y}^{3}}{\color{blue}{\left(y \cdot \left(\left(y + a\right) \cdot y + b\right) + c\right)} \cdot y + i}
\] |
*-commutative [=>]8.1 | \[ \frac{z \cdot {y}^{3}}{\left(\color{blue}{\left(\left(y + a\right) \cdot y + b\right) \cdot y} + c\right) \cdot y + i}
\] |
fma-udef [<=]8.1 | \[ \frac{z \cdot {y}^{3}}{\color{blue}{\mathsf{fma}\left(\left(y + a\right) \cdot y + b, y, c\right)} \cdot y + i}
\] |
fma-def [=>]8.1 | \[ \frac{z \cdot {y}^{3}}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(y + a, y, b\right)}, y, c\right) \cdot y + i}
\] |
fma-udef [<=]8.1 | \[ \frac{z \cdot {y}^{3}}{\color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}
\] |
associate-/l* [=>]19.1 | \[ \color{blue}{\frac{z}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}{{y}^{3}}}}
\] |
Taylor expanded in y around inf 32.6%
Simplified32.6%
[Start]32.6 | \[ \frac{z}{a + \left(y + \left(\frac{b}{y} + \frac{c}{{y}^{2}}\right)\right)}
\] |
|---|---|
+-commutative [=>]32.6 | \[ \frac{z}{a + \left(y + \color{blue}{\left(\frac{c}{{y}^{2}} + \frac{b}{y}\right)}\right)}
\] |
unpow2 [=>]32.6 | \[ \frac{z}{a + \left(y + \left(\frac{c}{\color{blue}{y \cdot y}} + \frac{b}{y}\right)\right)}
\] |
if -3.2999999999999998e27 < y < 6.5000000000000004e31Initial program 97.8%
Simplified97.8%
[Start]97.8 | \[ \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
|---|---|
fma-def [=>]97.8 | \[ \frac{\color{blue}{\mathsf{fma}\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616, y, t\right)}}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705, y, 230661.510616\right)}, y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(x \cdot y + z, y, 27464.7644705\right)}, y, 230661.510616\right), y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(x, y, z\right)}, y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\color{blue}{\mathsf{fma}\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c, y, i\right)}}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\left(y + a\right) \cdot y + b, y, c\right)}, y, i\right)}
\] |
fma-def [=>]97.8 | \[ \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), y, 230661.510616\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(y + a, y, b\right)}, y, c\right), y, i\right)}
\] |
if 6.5000000000000004e31 < y < 4.40000000000000031e137Initial program 14.2%
Taylor expanded in a around inf 4.2%
Taylor expanded in y around inf 26.3%
Simplified28.1%
[Start]26.3 | \[ \frac{z}{a} + \left(27464.7644705 \cdot \frac{1}{a \cdot y} + \frac{y \cdot x}{a}\right)
\] |
|---|---|
+-commutative [=>]26.3 | \[ \color{blue}{\left(27464.7644705 \cdot \frac{1}{a \cdot y} + \frac{y \cdot x}{a}\right) + \frac{z}{a}}
\] |
associate-+r+ [<=]26.3 | \[ \color{blue}{27464.7644705 \cdot \frac{1}{a \cdot y} + \left(\frac{y \cdot x}{a} + \frac{z}{a}\right)}
\] |
associate-*r/ [=>]26.3 | \[ \color{blue}{\frac{27464.7644705 \cdot 1}{a \cdot y}} + \left(\frac{y \cdot x}{a} + \frac{z}{a}\right)
\] |
metadata-eval [=>]26.3 | \[ \frac{\color{blue}{27464.7644705}}{a \cdot y} + \left(\frac{y \cdot x}{a} + \frac{z}{a}\right)
\] |
*-commutative [<=]26.3 | \[ \frac{27464.7644705}{\color{blue}{y \cdot a}} + \left(\frac{y \cdot x}{a} + \frac{z}{a}\right)
\] |
+-commutative [<=]26.3 | \[ \frac{27464.7644705}{y \cdot a} + \color{blue}{\left(\frac{z}{a} + \frac{y \cdot x}{a}\right)}
\] |
associate-/l* [=>]28.1 | \[ \frac{27464.7644705}{y \cdot a} + \left(\frac{z}{a} + \color{blue}{\frac{y}{\frac{a}{x}}}\right)
\] |
Final simplification82.9%
| Alternative 1 | |
|---|---|
| Accuracy | 82.8% |
| Cost | 2508 |
| Alternative 2 | |
|---|---|
| Accuracy | 79.3% |
| Cost | 2252 |
| Alternative 3 | |
|---|---|
| Accuracy | 78.8% |
| Cost | 2124 |
| Alternative 4 | |
|---|---|
| Accuracy | 75.1% |
| Cost | 1996 |
| Alternative 5 | |
|---|---|
| Accuracy | 58.5% |
| Cost | 1884 |
| Alternative 6 | |
|---|---|
| Accuracy | 59.8% |
| Cost | 1884 |
| Alternative 7 | |
|---|---|
| Accuracy | 74.7% |
| Cost | 1740 |
| Alternative 8 | |
|---|---|
| Accuracy | 73.2% |
| Cost | 1612 |
| Alternative 9 | |
|---|---|
| Accuracy | 55.6% |
| Cost | 1500 |
| Alternative 10 | |
|---|---|
| Accuracy | 56.1% |
| Cost | 1500 |
| Alternative 11 | |
|---|---|
| Accuracy | 55.8% |
| Cost | 1500 |
| Alternative 12 | |
|---|---|
| Accuracy | 59.1% |
| Cost | 1500 |
| Alternative 13 | |
|---|---|
| Accuracy | 69.4% |
| Cost | 1488 |
| Alternative 14 | |
|---|---|
| Accuracy | 71.1% |
| Cost | 1488 |
| Alternative 15 | |
|---|---|
| Accuracy | 54.3% |
| Cost | 1376 |
| Alternative 16 | |
|---|---|
| Accuracy | 54.2% |
| Cost | 1376 |
| Alternative 17 | |
|---|---|
| Accuracy | 55.0% |
| Cost | 1244 |
| Alternative 18 | |
|---|---|
| Accuracy | 55.1% |
| Cost | 980 |
| Alternative 19 | |
|---|---|
| Accuracy | 48.5% |
| Cost | 852 |
| Alternative 20 | |
|---|---|
| Accuracy | 48.7% |
| Cost | 852 |
| Alternative 21 | |
|---|---|
| Accuracy | 49.7% |
| Cost | 456 |
| Alternative 22 | |
|---|---|
| Accuracy | 26.5% |
| Cost | 64 |
herbie shell --seed 2023141
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))