Alternative 1 | |
---|---|
Error | 0.1 |
Cost | 6816 |
\[\begin{array}{l}
t_0 := \sqrt[3]{x + 1}\\
\frac{x}{1 + t_0 \cdot \left(1 + t_0\right)}
\end{array}
\]
(FPCore (x) :precision binary32 (- (cbrt (+ 1.0 x)) 1.0))
(FPCore (x) :precision binary32 (let* ((t_0 (cbrt (+ x 1.0)))) (/ x (+ 1.0 (/ (+ x 2.0) (- t_0 (+ 1.0 (/ -1.0 t_0))))))))
float code(float x) { return cbrtf((1.0f + x)) - 1.0f; }
float code(float x) { float t_0 = cbrtf((x + 1.0f)); return x / (1.0f + ((x + 2.0f) / (t_0 - (1.0f + (-1.0f / t_0))))); }
function code(x) return Float32(cbrt(Float32(Float32(1.0) + x)) - Float32(1.0)) end
function code(x) t_0 = cbrt(Float32(x + Float32(1.0))) return Float32(x / Float32(Float32(1.0) + Float32(Float32(x + Float32(2.0)) / Float32(t_0 - Float32(Float32(1.0) + Float32(Float32(-1.0) / t_0)))))) end
\sqrt[3]{1 + x} - 1
\begin{array}{l} t_0 := \sqrt[3]{x + 1}\\ \frac{x}{1 + \frac{x + 2}{t_0 - \left(1 + \frac{-1}{t_0}\right)}} \end{array}
Results
Initial program 24.5
Applied egg-rr0.4
Simplified0.1
[Start]0.4 | \[ x \cdot \frac{1}{{\left(\sqrt[3]{1 + x}\right)}^{2} + \left(1 + \sqrt[3]{1 + x}\right)}
\] |
---|---|
associate-*r/ [=>]0.1 | \[ \color{blue}{\frac{x \cdot 1}{{\left(\sqrt[3]{1 + x}\right)}^{2} + \left(1 + \sqrt[3]{1 + x}\right)}}
\] |
*-rgt-identity [=>]0.1 | \[ \frac{\color{blue}{x}}{{\left(\sqrt[3]{1 + x}\right)}^{2} + \left(1 + \sqrt[3]{1 + x}\right)}
\] |
associate-+r+ [=>]0.1 | \[ \frac{x}{\color{blue}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) + \sqrt[3]{1 + x}}}
\] |
metadata-eval [<=]0.1 | \[ \frac{x}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + \color{blue}{\left(1 - 0\right)}\right) + \sqrt[3]{1 + x}}
\] |
associate--l+ [<=]0.1 | \[ \frac{x}{\color{blue}{\left(\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) - 0\right)} + \sqrt[3]{1 + x}}
\] |
associate--r- [<=]0.1 | \[ \frac{x}{\color{blue}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) - \left(0 - \sqrt[3]{1 + x}\right)}}
\] |
neg-sub0 [<=]0.1 | \[ \frac{x}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) - \color{blue}{\left(-\sqrt[3]{1 + x}\right)}}
\] |
mul-1-neg [<=]0.1 | \[ \frac{x}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) - \color{blue}{-1 \cdot \sqrt[3]{1 + x}}}
\] |
*-commutative [<=]0.1 | \[ \frac{x}{\left({\left(\sqrt[3]{1 + x}\right)}^{2} + 1\right) - \color{blue}{\sqrt[3]{1 + x} \cdot -1}}
\] |
associate-+r- [<=]0.1 | \[ \frac{x}{\color{blue}{{\left(\sqrt[3]{1 + x}\right)}^{2} + \left(1 - \sqrt[3]{1 + x} \cdot -1\right)}}
\] |
+-commutative [=>]0.1 | \[ \frac{x}{\color{blue}{\left(1 - \sqrt[3]{1 + x} \cdot -1\right) + {\left(\sqrt[3]{1 + x}\right)}^{2}}}
\] |
cancel-sign-sub-inv [=>]0.1 | \[ \frac{x}{\color{blue}{\left(1 + \left(-\sqrt[3]{1 + x}\right) \cdot -1\right)} + {\left(\sqrt[3]{1 + x}\right)}^{2}}
\] |
associate-+l+ [=>]0.1 | \[ \frac{x}{\color{blue}{1 + \left(\left(-\sqrt[3]{1 + x}\right) \cdot -1 + {\left(\sqrt[3]{1 + x}\right)}^{2}\right)}}
\] |
Applied egg-rr0.1
Simplified0.1
[Start]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\frac{{\left(\sqrt[3]{x + 1}\right)}^{2} - \left(\sqrt[3]{x + 1} - 1\right)}{\sqrt[3]{x + 1}}}}
\] |
---|---|
div-sub [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\color{blue}{\frac{{\left(\sqrt[3]{x + 1}\right)}^{2}}{\sqrt[3]{x + 1}} - \frac{\sqrt[3]{x + 1} - 1}{\sqrt[3]{x + 1}}}}}
\] |
unpow2 [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\frac{\color{blue}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}}{\sqrt[3]{x + 1}} - \frac{\sqrt[3]{x + 1} - 1}{\sqrt[3]{x + 1}}}}
\] |
associate-/l* [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\color{blue}{\frac{\sqrt[3]{x + 1}}{\frac{\sqrt[3]{x + 1}}{\sqrt[3]{x + 1}}}} - \frac{\sqrt[3]{x + 1} - 1}{\sqrt[3]{x + 1}}}}
\] |
*-inverses [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\frac{\sqrt[3]{x + 1}}{\color{blue}{1}} - \frac{\sqrt[3]{x + 1} - 1}{\sqrt[3]{x + 1}}}}
\] |
/-rgt-identity [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\color{blue}{\sqrt[3]{x + 1}} - \frac{\sqrt[3]{x + 1} - 1}{\sqrt[3]{x + 1}}}}
\] |
div-sub [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\sqrt[3]{x + 1} - \color{blue}{\left(\frac{\sqrt[3]{x + 1}}{\sqrt[3]{x + 1}} - \frac{1}{\sqrt[3]{x + 1}}\right)}}}
\] |
*-inverses [=>]0.1 | \[ \frac{x}{1 + \frac{x + 2}{\sqrt[3]{x + 1} - \left(\color{blue}{1} - \frac{1}{\sqrt[3]{x + 1}}\right)}}
\] |
Final simplification0.1
Alternative 1 | |
---|---|
Error | 0.1 |
Cost | 6816 |
Alternative 2 | |
---|---|
Error | 0.6 |
Cost | 6496 |
Alternative 3 | |
---|---|
Error | 0.9 |
Cost | 3488 |
Alternative 4 | |
---|---|
Error | 1.3 |
Cost | 416 |
Alternative 5 | |
---|---|
Error | 1.2 |
Cost | 160 |
Alternative 6 | |
---|---|
Error | 2.6 |
Cost | 96 |
Alternative 7 | |
---|---|
Error | 2.3 |
Cost | 96 |
Alternative 8 | |
---|---|
Error | 29.6 |
Cost | 32 |
Alternative 9 | |
---|---|
Error | 23.6 |
Cost | 32 |
herbie shell --seed 1
(FPCore (x)
:name "cbrt(1+x)-1"
:precision binary32
:pre (and (<= -5.0 x) (<= x 5.0))
(- (cbrt (+ 1.0 x)) 1.0))