| Alternative 1 | |
|---|---|
| Accuracy | 99.7% |
| Cost | 7232 |
(FPCore (x y) :precision binary64 (- (- 1.0 (/ 1.0 (* x 9.0))) (/ y (* 3.0 (sqrt x)))))
(FPCore (x y) :precision binary64 (+ 1.0 (- (/ -1.0 (* x 9.0)) (/ (/ y (- (pow x 0.5))) -3.0))))
double code(double x, double y) {
return (1.0 - (1.0 / (x * 9.0))) - (y / (3.0 * sqrt(x)));
}
double code(double x, double y) {
return 1.0 + ((-1.0 / (x * 9.0)) - ((y / -pow(x, 0.5)) / -3.0));
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (1.0d0 - (1.0d0 / (x * 9.0d0))) - (y / (3.0d0 * sqrt(x)))
end function
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = 1.0d0 + (((-1.0d0) / (x * 9.0d0)) - ((y / -(x ** 0.5d0)) / (-3.0d0)))
end function
public static double code(double x, double y) {
return (1.0 - (1.0 / (x * 9.0))) - (y / (3.0 * Math.sqrt(x)));
}
public static double code(double x, double y) {
return 1.0 + ((-1.0 / (x * 9.0)) - ((y / -Math.pow(x, 0.5)) / -3.0));
}
def code(x, y): return (1.0 - (1.0 / (x * 9.0))) - (y / (3.0 * math.sqrt(x)))
def code(x, y): return 1.0 + ((-1.0 / (x * 9.0)) - ((y / -math.pow(x, 0.5)) / -3.0))
function code(x, y) return Float64(Float64(1.0 - Float64(1.0 / Float64(x * 9.0))) - Float64(y / Float64(3.0 * sqrt(x)))) end
function code(x, y) return Float64(1.0 + Float64(Float64(-1.0 / Float64(x * 9.0)) - Float64(Float64(y / Float64(-(x ^ 0.5))) / -3.0))) end
function tmp = code(x, y) tmp = (1.0 - (1.0 / (x * 9.0))) - (y / (3.0 * sqrt(x))); end
function tmp = code(x, y) tmp = 1.0 + ((-1.0 / (x * 9.0)) - ((y / -(x ^ 0.5)) / -3.0)); end
code[x_, y_] := N[(N[(1.0 - N[(1.0 / N[(x * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y / N[(3.0 * N[Sqrt[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := N[(1.0 + N[(N[(-1.0 / N[(x * 9.0), $MachinePrecision]), $MachinePrecision] - N[(N[(y / (-N[Power[x, 0.5], $MachinePrecision])), $MachinePrecision] / -3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}
1 + \left(\frac{-1}{x \cdot 9} - \frac{\frac{y}{-{x}^{0.5}}}{-3}\right)
Results
| Original | 99.7% |
|---|---|
| Target | 99.6% |
| Herbie | 99.6% |
Initial program 99.7%
Simplified99.7%
[Start]99.7 | \[ \left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}
\] |
|---|---|
sub-neg [=>]99.7 | \[ \color{blue}{\left(1 + \left(-\frac{1}{x \cdot 9}\right)\right)} - \frac{y}{3 \cdot \sqrt{x}}
\] |
+-commutative [=>]99.7 | \[ \color{blue}{\left(\left(-\frac{1}{x \cdot 9}\right) + 1\right)} - \frac{y}{3 \cdot \sqrt{x}}
\] |
associate--l+ [=>]99.7 | \[ \color{blue}{\left(-\frac{1}{x \cdot 9}\right) + \left(1 - \frac{y}{3 \cdot \sqrt{x}}\right)}
\] |
+-commutative [=>]99.7 | \[ \color{blue}{\left(1 - \frac{y}{3 \cdot \sqrt{x}}\right) + \left(-\frac{1}{x \cdot 9}\right)}
\] |
associate-+l- [=>]99.7 | \[ \color{blue}{1 - \left(\frac{y}{3 \cdot \sqrt{x}} - \left(-\frac{1}{x \cdot 9}\right)\right)}
\] |
sub-neg [=>]99.7 | \[ 1 - \color{blue}{\left(\frac{y}{3 \cdot \sqrt{x}} + \left(-\left(-\frac{1}{x \cdot 9}\right)\right)\right)}
\] |
+-commutative [=>]99.7 | \[ 1 - \color{blue}{\left(\left(-\left(-\frac{1}{x \cdot 9}\right)\right) + \frac{y}{3 \cdot \sqrt{x}}\right)}
\] |
remove-double-neg [<=]99.7 | \[ 1 - \left(\left(-\left(-\frac{1}{x \cdot 9}\right)\right) + \color{blue}{\left(-\left(-\frac{y}{3 \cdot \sqrt{x}}\right)\right)}\right)
\] |
distribute-neg-in [<=]99.7 | \[ 1 - \color{blue}{\left(-\left(\left(-\frac{1}{x \cdot 9}\right) + \left(-\frac{y}{3 \cdot \sqrt{x}}\right)\right)\right)}
\] |
distribute-neg-in [<=]99.7 | \[ 1 - \left(-\color{blue}{\left(-\left(\frac{1}{x \cdot 9} + \frac{y}{3 \cdot \sqrt{x}}\right)\right)}\right)
\] |
remove-double-neg [=>]99.7 | \[ 1 - \color{blue}{\left(\frac{1}{x \cdot 9} + \frac{y}{3 \cdot \sqrt{x}}\right)}
\] |
associate-/r* [=>]99.7 | \[ 1 - \left(\frac{1}{x \cdot 9} + \color{blue}{\frac{\frac{y}{3}}{\sqrt{x}}}\right)
\] |
Applied egg-rr99.5%
Simplified99.5%
[Start]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{1}{{x}^{0.25}} \cdot \frac{y}{\frac{{x}^{0.25}}{0.3333333333333333}}\right)
\] |
|---|---|
associate-*l/ [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \color{blue}{\frac{1 \cdot \frac{y}{\frac{{x}^{0.25}}{0.3333333333333333}}}{{x}^{0.25}}}\right)
\] |
*-lft-identity [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\color{blue}{\frac{y}{\frac{{x}^{0.25}}{0.3333333333333333}}}}{{x}^{0.25}}\right)
\] |
associate-/r/ [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\color{blue}{\frac{y}{{x}^{0.25}} \cdot 0.3333333333333333}}{{x}^{0.25}}\right)
\] |
associate-*r/ [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \color{blue}{\frac{y}{{x}^{0.25}} \cdot \frac{0.3333333333333333}{{x}^{0.25}}}\right)
\] |
Applied egg-rr99.5%
Simplified99.6%
[Start]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{-1}{\frac{{x}^{0.25}}{y} \cdot \left({x}^{0.25} \cdot -3\right)}\right)
\] |
|---|---|
associate-/r* [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \color{blue}{\frac{\frac{-1}{\frac{{x}^{0.25}}{y}}}{{x}^{0.25} \cdot -3}}\right)
\] |
associate-/r* [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \color{blue}{\frac{\frac{\frac{-1}{\frac{{x}^{0.25}}{y}}}{{x}^{0.25}}}{-3}}\right)
\] |
associate-/l* [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{\frac{-1 \cdot y}{{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
neg-mul-1 [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\frac{\color{blue}{-y}}{{x}^{0.25}}}{{x}^{0.25}}}{-3}\right)
\] |
distribute-frac-neg [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{-\frac{y}{{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
neg-mul-1 [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{-1 \cdot \frac{y}{{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
metadata-eval [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{\frac{1}{-1}} \cdot \frac{y}{{x}^{0.25}}}{{x}^{0.25}}}{-3}\right)
\] |
times-frac [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{\frac{1 \cdot y}{-1 \cdot {x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
neg-mul-1 [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\frac{1 \cdot y}{\color{blue}{-{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
associate-*r/ [<=]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{1 \cdot \frac{y}{-{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
*-lft-identity [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{\color{blue}{\frac{y}{-{x}^{0.25}}}}{{x}^{0.25}}}{-3}\right)
\] |
associate-/l/ [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\color{blue}{\frac{y}{{x}^{0.25} \cdot \left(-{x}^{0.25}\right)}}}{-3}\right)
\] |
distribute-rgt-neg-out [=>]99.5 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{y}{\color{blue}{-{x}^{0.25} \cdot {x}^{0.25}}}}{-3}\right)
\] |
pow-sqr [=>]99.6 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{y}{-\color{blue}{{x}^{\left(2 \cdot 0.25\right)}}}}{-3}\right)
\] |
metadata-eval [=>]99.6 | \[ 1 - \left(\frac{1}{x \cdot 9} + \frac{\frac{y}{-{x}^{\color{blue}{0.5}}}}{-3}\right)
\] |
Final simplification99.6%
| Alternative 1 | |
|---|---|
| Accuracy | 99.7% |
| Cost | 7232 |
| Alternative 2 | |
|---|---|
| Accuracy | 94.8% |
| Cost | 7176 |
| Alternative 3 | |
|---|---|
| Accuracy | 99.6% |
| Cost | 7168 |
| Alternative 4 | |
|---|---|
| Accuracy | 94.9% |
| Cost | 7113 |
| Alternative 5 | |
|---|---|
| Accuracy | 98.5% |
| Cost | 7108 |
| Alternative 6 | |
|---|---|
| Accuracy | 99.6% |
| Cost | 7104 |
| Alternative 7 | |
|---|---|
| Accuracy | 99.6% |
| Cost | 7104 |
| Alternative 8 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 7048 |
| Alternative 9 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 7048 |
| Alternative 10 | |
|---|---|
| Accuracy | 92.1% |
| Cost | 7048 |
| Alternative 11 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 6985 |
| Alternative 12 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 6984 |
| Alternative 13 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 6984 |
| Alternative 14 | |
|---|---|
| Accuracy | 92.1% |
| Cost | 6984 |
| Alternative 15 | |
|---|---|
| Accuracy | 92.0% |
| Cost | 6984 |
| Alternative 16 | |
|---|---|
| Accuracy | 64.4% |
| Cost | 324 |
| Alternative 17 | |
|---|---|
| Accuracy | 65.5% |
| Cost | 320 |
| Alternative 18 | |
|---|---|
| Accuracy | 33.7% |
| Cost | 64 |
herbie shell --seed 2023141
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:precision binary64
:herbie-target
(- (- 1.0 (/ (/ 1.0 x) 9.0)) (/ y (* 3.0 (sqrt x))))
(- (- 1.0 (/ 1.0 (* x 9.0))) (/ y (* 3.0 (sqrt x)))))