Average Error: 30.2 → 9.1
Time: 9.4s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4234.57245693455206:\\ \;\;\;\;\mathsf{fma}\left(0.333333333333333315, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111\\ \mathbf{elif}\;x \le 0.00213870861947561752:\\ \;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \sqrt[3]{x + 1} + {x}^{\frac{2}{3}}}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -4234.57245693455206:\\
\;\;\;\;\mathsf{fma}\left(0.333333333333333315, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111\\

\mathbf{elif}\;x \le 0.00213870861947561752:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \sqrt[3]{x + 1} + {x}^{\frac{2}{3}}}\\

\end{array}
double f(double x) {
        double r77193 = x;
        double r77194 = 1.0;
        double r77195 = r77193 + r77194;
        double r77196 = cbrt(r77195);
        double r77197 = cbrt(r77193);
        double r77198 = r77196 - r77197;
        return r77198;
}

double f(double x) {
        double r77199 = x;
        double r77200 = -4234.572456934552;
        bool r77201 = r77199 <= r77200;
        double r77202 = 0.3333333333333333;
        double r77203 = 1.0;
        double r77204 = 2.0;
        double r77205 = pow(r77199, r77204);
        double r77206 = r77203 / r77205;
        double r77207 = cbrt(r77206);
        double r77208 = 8.0;
        double r77209 = pow(r77199, r77208);
        double r77210 = r77203 / r77209;
        double r77211 = cbrt(r77210);
        double r77212 = 0.06172839506172839;
        double r77213 = r77211 * r77212;
        double r77214 = fma(r77202, r77207, r77213);
        double r77215 = 5.0;
        double r77216 = pow(r77199, r77215);
        double r77217 = r77203 / r77216;
        double r77218 = cbrt(r77217);
        double r77219 = 0.1111111111111111;
        double r77220 = r77218 * r77219;
        double r77221 = r77214 - r77220;
        double r77222 = 0.0021387086194756175;
        bool r77223 = r77199 <= r77222;
        double r77224 = r77199 * r77199;
        double r77225 = 1.0;
        double r77226 = r77225 * r77225;
        double r77227 = r77224 - r77226;
        double r77228 = cbrt(r77227);
        double r77229 = r77199 - r77225;
        double r77230 = cbrt(r77229);
        double r77231 = r77228 / r77230;
        double r77232 = cbrt(r77199);
        double r77233 = r77231 - r77232;
        double r77234 = r77199 + r77225;
        double r77235 = cbrt(r77234);
        double r77236 = r77235 + r77232;
        double r77237 = r77236 * r77235;
        double r77238 = 0.6666666666666666;
        double r77239 = pow(r77199, r77238);
        double r77240 = r77237 + r77239;
        double r77241 = r77225 / r77240;
        double r77242 = r77223 ? r77233 : r77241;
        double r77243 = r77201 ? r77221 : r77242;
        return r77243;
}

Error

Bits error versus x

Derivation

  1. Split input into 3 regimes
  2. if x < -4234.572456934552

    1. Initial program 60.1

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Taylor expanded around inf 44.9

      \[\leadsto \color{blue}{\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}}\]
    3. Simplified31.2

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.333333333333333315, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111}\]

    if -4234.572456934552 < x < 0.0021387086194756175

    1. Initial program 0.1

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied flip-+0.1

      \[\leadsto \sqrt[3]{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}} - \sqrt[3]{x}\]
    4. Applied cbrt-div0.1

      \[\leadsto \color{blue}{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}}} - \sqrt[3]{x}\]

    if 0.0021387086194756175 < x

    1. Initial program 58.9

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied flip3--58.9

      \[\leadsto \color{blue}{\frac{{\left(\sqrt[3]{x + 1}\right)}^{3} - {\left(\sqrt[3]{x}\right)}^{3}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}}\]
    4. Simplified1.0

      \[\leadsto \frac{\color{blue}{0 + 1}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}\]
    5. Simplified4.4

      \[\leadsto \frac{0 + 1}{\color{blue}{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \sqrt[3]{x + 1} + {x}^{\frac{2}{3}}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4234.57245693455206:\\ \;\;\;\;\mathsf{fma}\left(0.333333333333333315, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111\\ \mathbf{elif}\;x \le 0.00213870861947561752:\\ \;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \sqrt[3]{x + 1} + {x}^{\frac{2}{3}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020043 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))