\frac{x - y}{x + y}\frac{x - y}{x + y}(FPCore (x y) :precision binary64 (/ (- x y) (+ x y)))
(FPCore (x y) :precision binary64 (/ (- x y) (+ x y)))
double code(double x, double y) {
return (x - y) / (x + y);
}
double code(double x, double y) {
return (x - y) / (x + y);
}

















Bits error versus x

















Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
| Alternative 1 | |
|---|---|
| Error | 0.1 |
| Cost | 39872 |
| Alternative 2 | |
|---|---|
| Error | 0.1 |
| Cost | 20672 |
| Alternative 3 | |
|---|---|
| Error | 42.6 |
| Cost | 14144 |
| Alternative 4 | |
|---|---|
| Error | 42.6 |
| Cost | 14016 |
| Alternative 5 | |
|---|---|
| Error | 31.6 |
| Cost | 13632 |
| Alternative 6 | |
|---|---|
| Error | 0.0 |
| Cost | 13312 |
| Alternative 7 | |
|---|---|
| Error | 0.0 |
| Cost | 704 |
| Alternative 8 | |
|---|---|
| Error | 0.0 |
| Cost | 576 |
| Alternative 9 | |
|---|---|
| Error | 31.4 |
| Cost | 448 |
| Alternative 10 | |
|---|---|
| Error | 31.6 |
| Cost | 448 |
| Alternative 11 | |
|---|---|
| Error | 32.0 |
| Cost | 64 |
| Alternative 12 | |
|---|---|
| Error | 32.3 |
| Cost | 64 |
| Alternative 13 | |
|---|---|
| Error | 62.0 |
| Cost | 64 |

Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021042
(FPCore (x y)
:name "Data.Colour.RGB:hslsv from colour-2.3.3, D"
:precision binary64
:herbie-target
(- (/ x (+ x y)) (/ y (+ x y)))
(/ (- x y) (+ x y)))