(FPCore (x) :precision binary64 (+ x (/ 1.0 3.0)))
(FPCore (x) :precision binary64 (fma (/ x (+ x -0.3333333333333333)) x (/ -0.1111111111111111 (+ x -0.3333333333333333))))
double code(double x) {
return x + (1.0 / 3.0);
}
double code(double x) {
return fma((x / (x + -0.3333333333333333)), x, (-0.1111111111111111 / (x + -0.3333333333333333)));
}
function code(x) return Float64(x + Float64(1.0 / 3.0)) end
function code(x) return fma(Float64(x / Float64(x + -0.3333333333333333)), x, Float64(-0.1111111111111111 / Float64(x + -0.3333333333333333))) end
code[x_] := N[(x + N[(1.0 / 3.0), $MachinePrecision]), $MachinePrecision]
code[x_] := N[(N[(x / N[(x + -0.3333333333333333), $MachinePrecision]), $MachinePrecision] * x + N[(-0.1111111111111111 / N[(x + -0.3333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
x + \frac{1}{3}
\mathsf{fma}\left(\frac{x}{x + -0.3333333333333333}, x, \frac{-0.1111111111111111}{x + -0.3333333333333333}\right)



Bits error versus x
Initial program 0.0
Simplified0.0
Applied egg-rr15.8
Applied egg-rr0.0
Final simplification0.0
herbie shell --seed 2022162
(FPCore (x)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, F"
:precision binary64
(+ x (/ 1.0 3.0)))