| Alternative 1 | |
|---|---|
| Accuracy | 100.0% |
| Cost | 320 |
\[0.13793103448275862 - \frac{x}{-116}
\]

(FPCore (x) :precision binary64 (/ (+ x 16.0) 116.0))
(FPCore (x) :precision binary64 (- 0.13793103448275862 (/ x -116.0)))
double code(double x) {
return (x + 16.0) / 116.0;
}
double code(double x) {
return 0.13793103448275862 - (x / -116.0);
}
real(8) function code(x)
real(8), intent (in) :: x
code = (x + 16.0d0) / 116.0d0
end function
real(8) function code(x)
real(8), intent (in) :: x
code = 0.13793103448275862d0 - (x / (-116.0d0))
end function
public static double code(double x) {
return (x + 16.0) / 116.0;
}
public static double code(double x) {
return 0.13793103448275862 - (x / -116.0);
}
def code(x): return (x + 16.0) / 116.0
def code(x): return 0.13793103448275862 - (x / -116.0)
function code(x) return Float64(Float64(x + 16.0) / 116.0) end
function code(x) return Float64(0.13793103448275862 - Float64(x / -116.0)) end
function tmp = code(x) tmp = (x + 16.0) / 116.0; end
function tmp = code(x) tmp = 0.13793103448275862 - (x / -116.0); end
code[x_] := N[(N[(x + 16.0), $MachinePrecision] / 116.0), $MachinePrecision]
code[x_] := N[(0.13793103448275862 - N[(x / -116.0), $MachinePrecision]), $MachinePrecision]
\frac{x + 16}{116}
0.13793103448275862 - \frac{x}{-116}
Herbie found 4 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Results
Initial program 100.0%
Applied egg-rr100.0%
[Start]100.0% | \[ \frac{x + 16}{116}
\] |
|---|---|
frac-2neg [=>]100.0% | \[ \color{blue}{\frac{-\left(x + 16\right)}{-116}}
\] |
distribute-frac-neg [=>]100.0% | \[ \color{blue}{-\frac{x + 16}{-116}}
\] |
metadata-eval [=>]100.0% | \[ -\frac{x + 16}{\color{blue}{-116}}
\] |
Simplified100.0%
[Start]100.0% | \[ -\frac{x + 16}{-116}
\] |
|---|---|
distribute-neg-frac [=>]100.0% | \[ \color{blue}{\frac{-\left(x + 16\right)}{-116}}
\] |
distribute-neg-in [=>]100.0% | \[ \frac{\color{blue}{\left(-x\right) + \left(-16\right)}}{-116}
\] |
metadata-eval [=>]100.0% | \[ \frac{\left(-x\right) + \color{blue}{-16}}{-116}
\] |
+-commutative [<=]100.0% | \[ \frac{\color{blue}{-16 + \left(-x\right)}}{-116}
\] |
unsub-neg [=>]100.0% | \[ \frac{\color{blue}{-16 - x}}{-116}
\] |
div-sub [=>]100.0% | \[ \color{blue}{\frac{-16}{-116} - \frac{x}{-116}}
\] |
metadata-eval [=>]100.0% | \[ \color{blue}{0.13793103448275862} - \frac{x}{-116}
\] |
Final simplification100.0%
| Alternative 1 | |
|---|---|
| Accuracy | 100.0% |
| Cost | 320 |
| Alternative 2 | |
|---|---|
| Accuracy | 98.0% |
| Cost | 521 |
| Alternative 3 | |
|---|---|
| Accuracy | 97.9% |
| Cost | 456 |
| Alternative 4 | |
|---|---|
| Accuracy | 50.9% |
| Cost | 64 |
herbie shell --seed 2023272
(FPCore (x)
:name "Data.Colour.CIE:cieLAB from colour-2.3.3, B"
:precision binary64
(/ (+ x 16.0) 116.0))