2cbrt (problem 3.3.4)

Percentage Accurate: 6.9% → 93.1%
Time: 2.7s
Alternatives: 6
Speedup: 1.0×

Specification

?
\[x > 1 \land x < 10^{+308}\]
\[\begin{array}{l} \\ \sqrt[3]{x + 1} - \sqrt[3]{x} \end{array} \]
(FPCore (x) :precision binary64 (- (cbrt (+ x 1.0)) (cbrt x)))
double code(double x) {
	return cbrt((x + 1.0)) - cbrt(x);
}
public static double code(double x) {
	return Math.cbrt((x + 1.0)) - Math.cbrt(x);
}
function code(x)
	return Float64(cbrt(Float64(x + 1.0)) - cbrt(x))
end
code[x_] := N[(N[Power[N[(x + 1.0), $MachinePrecision], 1/3], $MachinePrecision] - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\sqrt[3]{x + 1} - \sqrt[3]{x}
\end{array}

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 6 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 6.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \sqrt[3]{x + 1} - \sqrt[3]{x} \end{array} \]
(FPCore (x) :precision binary64 (- (cbrt (+ x 1.0)) (cbrt x)))
double code(double x) {
	return cbrt((x + 1.0)) - cbrt(x);
}
public static double code(double x) {
	return Math.cbrt((x + 1.0)) - Math.cbrt(x);
}
function code(x)
	return Float64(cbrt(Float64(x + 1.0)) - cbrt(x))
end
code[x_] := N[(N[Power[N[(x + 1.0), $MachinePrecision], 1/3], $MachinePrecision] - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\sqrt[3]{x + 1} - \sqrt[3]{x}
\end{array}

Alternative 1: 93.1% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt[3]{x - -1}\\ \frac{1}{\mathsf{fma}\left({x}^{0.3333333333333333}, \sqrt[3]{x} + t\_0, {t\_0}^{2}\right)} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (cbrt (- x -1.0))))
   (/ 1.0 (fma (pow x 0.3333333333333333) (+ (cbrt x) t_0) (pow t_0 2.0)))))
double code(double x) {
	double t_0 = cbrt((x - -1.0));
	return 1.0 / fma(pow(x, 0.3333333333333333), (cbrt(x) + t_0), pow(t_0, 2.0));
}
function code(x)
	t_0 = cbrt(Float64(x - -1.0))
	return Float64(1.0 / fma((x ^ 0.3333333333333333), Float64(cbrt(x) + t_0), (t_0 ^ 2.0)))
end
code[x_] := Block[{t$95$0 = N[Power[N[(x - -1.0), $MachinePrecision], 1/3], $MachinePrecision]}, N[(1.0 / N[(N[Power[x, 0.3333333333333333], $MachinePrecision] * N[(N[Power[x, 1/3], $MachinePrecision] + t$95$0), $MachinePrecision] + N[Power[t$95$0, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \sqrt[3]{x - -1}\\
\frac{1}{\mathsf{fma}\left({x}^{0.3333333333333333}, \sqrt[3]{x} + t\_0, {t\_0}^{2}\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 6.9%

    \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
  2. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \color{blue}{\sqrt[3]{x + 1} - \sqrt[3]{x}} \]
    2. flip3--N/A

      \[\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)}} \]
    3. lower-/.f64N/A

      \[\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. lift-cbrt.f64N/A

      \[\leadsto \frac{{\color{blue}{\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)} \]
    5. rem-cube-cbrtN/A

      \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - {\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)} \]
    6. lift-cbrt.f64N/A

      \[\leadsto \frac{\left(x + 1\right) - {\color{blue}{\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)} \]
    7. rem-cube-cbrtN/A

      \[\leadsto \frac{\left(x + 1\right) - \color{blue}{x}}{\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)} \]
    8. lower--.f64N/A

      \[\leadsto \frac{\color{blue}{\left(x + 1\right) - x}}{\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)} \]
    9. lift-+.f64N/A

      \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - x}{\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)} \]
    10. metadata-evalN/A

      \[\leadsto \frac{\left(x + \color{blue}{1 \cdot 1}\right) - x}{\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)} \]
    11. fp-cancel-sign-sub-invN/A

      \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1\right)} - x}{\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)} \]
    12. metadata-evalN/A

      \[\leadsto \frac{\left(x - \color{blue}{-1} \cdot 1\right) - x}{\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)} \]
    13. metadata-evalN/A

      \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
    14. metadata-evalN/A

      \[\leadsto \frac{\left(x - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) - x}{\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)} \]
    15. lower--.f64N/A

      \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right)\right)} - x}{\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)} \]
    16. metadata-evalN/A

      \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
    17. +-commutativeN/A

      \[\leadsto \frac{\left(x - -1\right) - x}{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}} \]
  3. Applied rewrites9.0%

    \[\leadsto \color{blue}{\frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)}} \]
  4. Step-by-step derivation
    1. lift-cbrt.f64N/A

      \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{\sqrt[3]{x}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
    2. pow1/3N/A

      \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{\frac{1}{3}}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
    3. lift-pow.f648.9

      \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
  5. Applied rewrites8.9%

    \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
  6. Taylor expanded in x around 0

    \[\leadsto \frac{\color{blue}{1}}{\mathsf{fma}\left({x}^{\frac{1}{3}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
  7. Step-by-step derivation
    1. Applied rewrites93.1%

      \[\leadsto \frac{\color{blue}{1}}{\mathsf{fma}\left({x}^{0.3333333333333333}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
    2. Add Preprocessing

    Alternative 2: 58.4% accurate, 0.7× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 6.4 \cdot 10^{+161}:\\ \;\;\;\;\sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333\\ \mathbf{else}:\\ \;\;\;\;{\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1}\\ \end{array} \end{array} \]
    (FPCore (x)
     :precision binary64
     (if (<= x 6.4e+161)
       (* (cbrt (pow x -2.0)) 0.3333333333333333)
       (pow (fma (+ (cbrt x) 1.0) (cbrt x) 1.0) -1.0)))
    double code(double x) {
    	double tmp;
    	if (x <= 6.4e+161) {
    		tmp = cbrt(pow(x, -2.0)) * 0.3333333333333333;
    	} else {
    		tmp = pow(fma((cbrt(x) + 1.0), cbrt(x), 1.0), -1.0);
    	}
    	return tmp;
    }
    
    function code(x)
    	tmp = 0.0
    	if (x <= 6.4e+161)
    		tmp = Float64(cbrt((x ^ -2.0)) * 0.3333333333333333);
    	else
    		tmp = fma(Float64(cbrt(x) + 1.0), cbrt(x), 1.0) ^ -1.0;
    	end
    	return tmp
    end
    
    code[x_] := If[LessEqual[x, 6.4e+161], N[(N[Power[N[Power[x, -2.0], $MachinePrecision], 1/3], $MachinePrecision] * 0.3333333333333333), $MachinePrecision], N[Power[N[(N[(N[Power[x, 1/3], $MachinePrecision] + 1.0), $MachinePrecision] * N[Power[x, 1/3], $MachinePrecision] + 1.0), $MachinePrecision], -1.0], $MachinePrecision]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;x \leq 6.4 \cdot 10^{+161}:\\
    \;\;\;\;\sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333\\
    
    \mathbf{else}:\\
    \;\;\;\;{\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if x < 6.40000000000000004e161

      1. Initial program 8.8%

        \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
      2. Step-by-step derivation
        1. lift-cbrt.f64N/A

          \[\leadsto \color{blue}{\sqrt[3]{x + 1}} - \sqrt[3]{x} \]
        2. lift-+.f64N/A

          \[\leadsto \sqrt[3]{\color{blue}{x + 1}} - \sqrt[3]{x} \]
        3. flip3-+N/A

          \[\leadsto \sqrt[3]{\color{blue}{\frac{{x}^{3} + {1}^{3}}{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
        4. cbrt-divN/A

          \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
        5. lower-/.f64N/A

          \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
        6. lower-cbrt.f64N/A

          \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{3} + {1}^{3}}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        7. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} + \color{blue}{1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        8. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} + \color{blue}{1 \cdot 1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        9. fp-cancel-sign-sub-invN/A

          \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3} - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        10. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1} \cdot 1}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        11. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        12. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        13. lower--.f64N/A

          \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3} - \left(\mathsf{neg}\left(1\right)\right)}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        14. lower-pow.f64N/A

          \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3}} - \left(\mathsf{neg}\left(1\right)\right)}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        15. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
        16. lower-cbrt.f64N/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\color{blue}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
        17. lower-fma.f64N/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\color{blue}{\mathsf{fma}\left(x, x, 1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
        18. metadata-evalN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, \color{blue}{1} - x \cdot 1\right)}} - \sqrt[3]{x} \]
        19. *-rgt-identityN/A

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, 1 - \color{blue}{x}\right)}} - \sqrt[3]{x} \]
        20. lower--.f648.4

          \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, \color{blue}{1 - x}\right)}} - \sqrt[3]{x} \]
      3. Applied rewrites8.4%

        \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, 1 - x\right)}}} - \sqrt[3]{x} \]
      4. Taylor expanded in x around inf

        \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt[3]{\frac{1}{{x}^{2}}}} \]
      5. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \color{blue}{\frac{1}{3}} \]
        2. lower-*.f64N/A

          \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \color{blue}{\frac{1}{3}} \]
        3. lower-cbrt.f64N/A

          \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \frac{1}{3} \]
        4. pow-flipN/A

          \[\leadsto \sqrt[3]{{x}^{\left(\mathsf{neg}\left(2\right)\right)}} \cdot \frac{1}{3} \]
        5. metadata-evalN/A

          \[\leadsto \sqrt[3]{{x}^{-2}} \cdot \frac{1}{3} \]
        6. lower-pow.f6493.3

          \[\leadsto \sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333 \]
      6. Applied rewrites93.3%

        \[\leadsto \color{blue}{\sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333} \]

      if 6.40000000000000004e161 < x

      1. Initial program 4.8%

        \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
      2. Step-by-step derivation
        1. lift--.f64N/A

          \[\leadsto \color{blue}{\sqrt[3]{x + 1} - \sqrt[3]{x}} \]
        2. flip3--N/A

          \[\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)}} \]
        3. lower-/.f64N/A

          \[\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. lift-cbrt.f64N/A

          \[\leadsto \frac{{\color{blue}{\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)} \]
        5. rem-cube-cbrtN/A

          \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - {\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)} \]
        6. lift-cbrt.f64N/A

          \[\leadsto \frac{\left(x + 1\right) - {\color{blue}{\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)} \]
        7. rem-cube-cbrtN/A

          \[\leadsto \frac{\left(x + 1\right) - \color{blue}{x}}{\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)} \]
        8. lower--.f64N/A

          \[\leadsto \frac{\color{blue}{\left(x + 1\right) - x}}{\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)} \]
        9. lift-+.f64N/A

          \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - x}{\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)} \]
        10. metadata-evalN/A

          \[\leadsto \frac{\left(x + \color{blue}{1 \cdot 1}\right) - x}{\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)} \]
        11. fp-cancel-sign-sub-invN/A

          \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1\right)} - x}{\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)} \]
        12. metadata-evalN/A

          \[\leadsto \frac{\left(x - \color{blue}{-1} \cdot 1\right) - x}{\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)} \]
        13. metadata-evalN/A

          \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
        14. metadata-evalN/A

          \[\leadsto \frac{\left(x - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) - x}{\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)} \]
        15. lower--.f64N/A

          \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right)\right)} - x}{\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)} \]
        16. metadata-evalN/A

          \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
        17. +-commutativeN/A

          \[\leadsto \frac{\left(x - -1\right) - x}{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}} \]
      3. Applied rewrites4.8%

        \[\leadsto \color{blue}{\frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)}} \]
      4. Step-by-step derivation
        1. lift-cbrt.f64N/A

          \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{\sqrt[3]{x}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
        2. pow1/3N/A

          \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{\frac{1}{3}}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
        3. lift-pow.f644.8

          \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
      5. Applied rewrites4.8%

        \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
      6. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{1}{1 + \sqrt[3]{x} \cdot \left(1 + \sqrt[3]{x}\right)}} \]
      7. Step-by-step derivation
        1. inv-powN/A

          \[\leadsto {\left(1 + \sqrt[3]{x} \cdot \left(1 + \sqrt[3]{x}\right)\right)}^{\color{blue}{-1}} \]
        2. lower-pow.f64N/A

          \[\leadsto {\left(1 + \sqrt[3]{x} \cdot \left(1 + \sqrt[3]{x}\right)\right)}^{\color{blue}{-1}} \]
        3. +-commutativeN/A

          \[\leadsto {\left(\sqrt[3]{x} \cdot \left(1 + \sqrt[3]{x}\right) + 1\right)}^{-1} \]
        4. *-commutativeN/A

          \[\leadsto {\left(\left(1 + \sqrt[3]{x}\right) \cdot \sqrt[3]{x} + 1\right)}^{-1} \]
        5. lower-fma.f64N/A

          \[\leadsto {\left(\mathsf{fma}\left(1 + \sqrt[3]{x}, \sqrt[3]{x}, 1\right)\right)}^{-1} \]
        6. +-commutativeN/A

          \[\leadsto {\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1} \]
        7. lower-+.f64N/A

          \[\leadsto {\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1} \]
        8. lift-cbrt.f64N/A

          \[\leadsto {\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1} \]
        9. lift-cbrt.f6417.7

          \[\leadsto {\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1} \]
      8. Applied rewrites17.7%

        \[\leadsto \color{blue}{{\left(\mathsf{fma}\left(\sqrt[3]{x} + 1, \sqrt[3]{x}, 1\right)\right)}^{-1}} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 3: 52.4% accurate, 1.0× speedup?

    \[\begin{array}{l} \\ \sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333 \end{array} \]
    (FPCore (x) :precision binary64 (* (cbrt (pow x -2.0)) 0.3333333333333333))
    double code(double x) {
    	return cbrt(pow(x, -2.0)) * 0.3333333333333333;
    }
    
    public static double code(double x) {
    	return Math.cbrt(Math.pow(x, -2.0)) * 0.3333333333333333;
    }
    
    function code(x)
    	return Float64(cbrt((x ^ -2.0)) * 0.3333333333333333)
    end
    
    code[x_] := N[(N[Power[N[Power[x, -2.0], $MachinePrecision], 1/3], $MachinePrecision] * 0.3333333333333333), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333
    \end{array}
    
    Derivation
    1. Initial program 6.9%

      \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
    2. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      2. lift-+.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{x + 1}} - \sqrt[3]{x} \]
      3. flip3-+N/A

        \[\leadsto \sqrt[3]{\color{blue}{\frac{{x}^{3} + {1}^{3}}{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
      4. cbrt-divN/A

        \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
      5. lower-/.f64N/A

        \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
      6. lower-cbrt.f64N/A

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{3} + {1}^{3}}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      7. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} + \color{blue}{1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      8. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} + \color{blue}{1 \cdot 1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      9. fp-cancel-sign-sub-invN/A

        \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3} - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      10. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1} \cdot 1}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      11. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      12. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      13. lower--.f64N/A

        \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3} - \left(\mathsf{neg}\left(1\right)\right)}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      14. lower-pow.f64N/A

        \[\leadsto \frac{\sqrt[3]{\color{blue}{{x}^{3}} - \left(\mathsf{neg}\left(1\right)\right)}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      15. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - \color{blue}{-1}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x} \]
      16. lower-cbrt.f64N/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\color{blue}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
      17. lower-fma.f64N/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\color{blue}{\mathsf{fma}\left(x, x, 1 \cdot 1 - x \cdot 1\right)}}} - \sqrt[3]{x} \]
      18. metadata-evalN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, \color{blue}{1} - x \cdot 1\right)}} - \sqrt[3]{x} \]
      19. *-rgt-identityN/A

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, 1 - \color{blue}{x}\right)}} - \sqrt[3]{x} \]
      20. lower--.f644.5

        \[\leadsto \frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, \color{blue}{1 - x}\right)}} - \sqrt[3]{x} \]
    3. Applied rewrites4.5%

      \[\leadsto \color{blue}{\frac{\sqrt[3]{{x}^{3} - -1}}{\sqrt[3]{\mathsf{fma}\left(x, x, 1 - x\right)}}} - \sqrt[3]{x} \]
    4. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt[3]{\frac{1}{{x}^{2}}}} \]
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \color{blue}{\frac{1}{3}} \]
      2. lower-*.f64N/A

        \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \color{blue}{\frac{1}{3}} \]
      3. lower-cbrt.f64N/A

        \[\leadsto \sqrt[3]{\frac{1}{{x}^{2}}} \cdot \frac{1}{3} \]
      4. pow-flipN/A

        \[\leadsto \sqrt[3]{{x}^{\left(\mathsf{neg}\left(2\right)\right)}} \cdot \frac{1}{3} \]
      5. metadata-evalN/A

        \[\leadsto \sqrt[3]{{x}^{-2}} \cdot \frac{1}{3} \]
      6. lower-pow.f6452.4

        \[\leadsto \sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333 \]
    6. Applied rewrites52.4%

      \[\leadsto \color{blue}{\sqrt[3]{{x}^{-2}} \cdot 0.3333333333333333} \]
    7. Add Preprocessing

    Alternative 4: 5.0% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \frac{\left(x - -1\right) - x}{\sqrt[3]{x \cdot x} \cdot 2} \end{array} \]
    (FPCore (x) :precision binary64 (/ (- (- x -1.0) x) (* (cbrt (* x x)) 2.0)))
    double code(double x) {
    	return ((x - -1.0) - x) / (cbrt((x * x)) * 2.0);
    }
    
    public static double code(double x) {
    	return ((x - -1.0) - x) / (Math.cbrt((x * x)) * 2.0);
    }
    
    function code(x)
    	return Float64(Float64(Float64(x - -1.0) - x) / Float64(cbrt(Float64(x * x)) * 2.0))
    end
    
    code[x_] := N[(N[(N[(x - -1.0), $MachinePrecision] - x), $MachinePrecision] / N[(N[Power[N[(x * x), $MachinePrecision], 1/3], $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \frac{\left(x - -1\right) - x}{\sqrt[3]{x \cdot x} \cdot 2}
    \end{array}
    
    Derivation
    1. Initial program 6.9%

      \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{x + 1} - \sqrt[3]{x}} \]
      2. flip3--N/A

        \[\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)}} \]
      3. lower-/.f64N/A

        \[\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. lift-cbrt.f64N/A

        \[\leadsto \frac{{\color{blue}{\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)} \]
      5. rem-cube-cbrtN/A

        \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - {\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)} \]
      6. lift-cbrt.f64N/A

        \[\leadsto \frac{\left(x + 1\right) - {\color{blue}{\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)} \]
      7. rem-cube-cbrtN/A

        \[\leadsto \frac{\left(x + 1\right) - \color{blue}{x}}{\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)} \]
      8. lower--.f64N/A

        \[\leadsto \frac{\color{blue}{\left(x + 1\right) - x}}{\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)} \]
      9. lift-+.f64N/A

        \[\leadsto \frac{\color{blue}{\left(x + 1\right)} - x}{\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)} \]
      10. metadata-evalN/A

        \[\leadsto \frac{\left(x + \color{blue}{1 \cdot 1}\right) - x}{\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)} \]
      11. fp-cancel-sign-sub-invN/A

        \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1\right)} - x}{\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)} \]
      12. metadata-evalN/A

        \[\leadsto \frac{\left(x - \color{blue}{-1} \cdot 1\right) - x}{\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)} \]
      13. metadata-evalN/A

        \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
      14. metadata-evalN/A

        \[\leadsto \frac{\left(x - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) - x}{\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)} \]
      15. lower--.f64N/A

        \[\leadsto \frac{\color{blue}{\left(x - \left(\mathsf{neg}\left(1\right)\right)\right)} - x}{\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)} \]
      16. metadata-evalN/A

        \[\leadsto \frac{\left(x - \color{blue}{-1}\right) - x}{\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)} \]
      17. +-commutativeN/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}} \]
    3. Applied rewrites9.0%

      \[\leadsto \color{blue}{\frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)}} \]
    4. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{\sqrt[3]{x}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
      2. pow1/3N/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{\frac{1}{3}}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
      3. lift-pow.f648.9

        \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
    5. Applied rewrites8.9%

      \[\leadsto \frac{\left(x - -1\right) - x}{\mathsf{fma}\left(\color{blue}{{x}^{0.3333333333333333}}, \sqrt[3]{x} + \sqrt[3]{x - -1}, {\left(\sqrt[3]{x - -1}\right)}^{2}\right)} \]
    6. Taylor expanded in x around inf

      \[\leadsto \frac{\left(x - -1\right) - x}{\color{blue}{2 \cdot \sqrt[3]{{x}^{2}}}} \]
    7. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\sqrt[3]{{x}^{2}} \cdot \color{blue}{2}} \]
      2. lower-*.f64N/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\sqrt[3]{{x}^{2}} \cdot \color{blue}{2}} \]
      3. lower-cbrt.f64N/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\sqrt[3]{{x}^{2}} \cdot 2} \]
      4. pow2N/A

        \[\leadsto \frac{\left(x - -1\right) - x}{\sqrt[3]{x \cdot x} \cdot 2} \]
      5. lower-*.f645.0

        \[\leadsto \frac{\left(x - -1\right) - x}{\sqrt[3]{x \cdot x} \cdot 2} \]
    8. Applied rewrites5.0%

      \[\leadsto \frac{\left(x - -1\right) - x}{\color{blue}{\sqrt[3]{x \cdot x} \cdot 2}} \]
    9. Add Preprocessing

    Alternative 5: 4.3% accurate, 1.9× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(0.3333333333333333, x, 1\right) - \sqrt[3]{x} \end{array} \]
    (FPCore (x) :precision binary64 (- (fma 0.3333333333333333 x 1.0) (cbrt x)))
    double code(double x) {
    	return fma(0.3333333333333333, x, 1.0) - cbrt(x);
    }
    
    function code(x)
    	return Float64(fma(0.3333333333333333, x, 1.0) - cbrt(x))
    end
    
    code[x_] := N[(N[(0.3333333333333333 * x + 1.0), $MachinePrecision] - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(0.3333333333333333, x, 1\right) - \sqrt[3]{x}
    \end{array}
    
    Derivation
    1. Initial program 6.9%

      \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
    2. Step-by-step derivation
      1. rem-cube-cbrtN/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{3}}} - \sqrt[3]{x} \]
      2. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\color{blue}{\left(\sqrt[3]{x + 1}\right)}}^{3}} - \sqrt[3]{x} \]
      3. unpow3N/A

        \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{x} \]
      4. lower-*.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{x} \]
      5. pow2N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{2}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      6. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\color{blue}{\left(1 + 1\right)}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      7. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(\color{blue}{e^{0}} + 1\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      8. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + \color{blue}{e^{0}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      9. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + e^{\color{blue}{\mathsf{neg}\left(0\right)}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      10. lower-pow.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      11. lift-+.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x + 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      12. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + \color{blue}{1 \cdot 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      13. fp-cancel-sign-sub-invN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      14. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1} \cdot 1}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      15. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      16. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      17. lower--.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right)}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      18. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      19. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(\color{blue}{1} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      20. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(1 + e^{\color{blue}{0}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      21. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(1 + \color{blue}{1}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      22. metadata-eval7.0

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\color{blue}{2}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      23. lift-+.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{\color{blue}{x + 1}}} - \sqrt[3]{x} \]
      24. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x + \color{blue}{1 \cdot 1}}} - \sqrt[3]{x} \]
      25. fp-cancel-sign-sub-invN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}} - \sqrt[3]{x} \]
    3. Applied rewrites7.0%

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    4. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      2. lift-*.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      3. cbrt-prodN/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      4. lower-*.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      5. lower-cbrt.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}}} \cdot \sqrt[3]{\sqrt[3]{x - -1}} - \sqrt[3]{x} \]
      6. lower-cbrt.f647.0

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{\sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    5. Applied rewrites7.0%

      \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    6. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{\sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      2. pow1/3N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{\frac{1}{3}}} - \sqrt[3]{x} \]
      3. pow-to-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      4. lower-exp.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      5. lower-*.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      6. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\log \color{blue}{\left(\sqrt[3]{x - -1}\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      7. pow1/3N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\log \color{blue}{\left({\left(x - -1\right)}^{\frac{1}{3}}\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      8. log-powN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\left(\frac{1}{3} \cdot \log \left(x - -1\right)\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      9. lower-*.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\left(\frac{1}{3} \cdot \log \left(x - -1\right)\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      10. lift--.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(x - -1\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      11. sub-negate1N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(x + \left(\mathsf{neg}\left(-1\right)\right)\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      12. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \left(x + \color{blue}{1}\right)\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      13. +-commutativeN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(1 + x\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      14. lower-log1p.f644.9

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(0.3333333333333333 \cdot \color{blue}{\mathsf{log1p}\left(x\right)}\right) \cdot 0.3333333333333333} - \sqrt[3]{x} \]
    7. Applied rewrites4.9%

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\left(0.3333333333333333 \cdot \mathsf{log1p}\left(x\right)\right) \cdot 0.3333333333333333}} - \sqrt[3]{x} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{1}{3} \cdot x\right)} - \sqrt[3]{x} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{1}{3} \cdot x + \color{blue}{1}\right) - \sqrt[3]{x} \]
      2. lower-fma.f644.3

        \[\leadsto \mathsf{fma}\left(0.3333333333333333, \color{blue}{x}, 1\right) - \sqrt[3]{x} \]
    10. Applied rewrites4.3%

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.3333333333333333, x, 1\right)} - \sqrt[3]{x} \]
    11. Add Preprocessing

    Alternative 6: 1.8% accurate, 2.0× speedup?

    \[\begin{array}{l} \\ 1 - \sqrt[3]{x} \end{array} \]
    (FPCore (x) :precision binary64 (- 1.0 (cbrt x)))
    double code(double x) {
    	return 1.0 - cbrt(x);
    }
    
    public static double code(double x) {
    	return 1.0 - Math.cbrt(x);
    }
    
    function code(x)
    	return Float64(1.0 - cbrt(x))
    end
    
    code[x_] := N[(1.0 - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    1 - \sqrt[3]{x}
    \end{array}
    
    Derivation
    1. Initial program 6.9%

      \[\sqrt[3]{x + 1} - \sqrt[3]{x} \]
    2. Step-by-step derivation
      1. rem-cube-cbrtN/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{3}}} - \sqrt[3]{x} \]
      2. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\color{blue}{\left(\sqrt[3]{x + 1}\right)}}^{3}} - \sqrt[3]{x} \]
      3. unpow3N/A

        \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{x} \]
      4. lower-*.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{x} \]
      5. pow2N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{2}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      6. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\color{blue}{\left(1 + 1\right)}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      7. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(\color{blue}{e^{0}} + 1\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      8. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + \color{blue}{e^{0}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      9. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + e^{\color{blue}{\mathsf{neg}\left(0\right)}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      10. lower-pow.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      11. lift-+.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x + 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      12. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + \color{blue}{1 \cdot 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      13. fp-cancel-sign-sub-invN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      14. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1} \cdot 1}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      15. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      16. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      17. lower--.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right)}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      18. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - \color{blue}{-1}}\right)}^{\left(e^{0} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      19. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(\color{blue}{1} + e^{\mathsf{neg}\left(0\right)}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      20. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(1 + e^{\color{blue}{0}}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      21. 1-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\left(1 + \color{blue}{1}\right)} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      22. metadata-eval7.0

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{\color{blue}{2}} \cdot \sqrt[3]{x + 1}} - \sqrt[3]{x} \]
      23. lift-+.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{\color{blue}{x + 1}}} - \sqrt[3]{x} \]
      24. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x + \color{blue}{1 \cdot 1}}} - \sqrt[3]{x} \]
      25. fp-cancel-sign-sub-invN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{\color{blue}{x - \left(\mathsf{neg}\left(1\right)\right) \cdot 1}}} - \sqrt[3]{x} \]
    3. Applied rewrites7.0%

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    4. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      2. lift-*.f64N/A

        \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{2} \cdot \sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      3. cbrt-prodN/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      4. lower-*.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      5. lower-cbrt.f64N/A

        \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}}} \cdot \sqrt[3]{\sqrt[3]{x - -1}} - \sqrt[3]{x} \]
      6. lower-cbrt.f647.0

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{\sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    5. Applied rewrites7.0%

      \[\leadsto \color{blue}{\sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
    6. Step-by-step derivation
      1. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{\sqrt[3]{\sqrt[3]{x - -1}}} - \sqrt[3]{x} \]
      2. pow1/3N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{{\left(\sqrt[3]{x - -1}\right)}^{\frac{1}{3}}} - \sqrt[3]{x} \]
      3. pow-to-expN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      4. lower-exp.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      5. lower-*.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\log \left(\sqrt[3]{x - -1}\right) \cdot \frac{1}{3}}} - \sqrt[3]{x} \]
      6. lift-cbrt.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\log \color{blue}{\left(\sqrt[3]{x - -1}\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      7. pow1/3N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\log \color{blue}{\left({\left(x - -1\right)}^{\frac{1}{3}}\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      8. log-powN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\left(\frac{1}{3} \cdot \log \left(x - -1\right)\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      9. lower-*.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\color{blue}{\left(\frac{1}{3} \cdot \log \left(x - -1\right)\right)} \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      10. lift--.f64N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(x - -1\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      11. sub-negate1N/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(x + \left(\mathsf{neg}\left(-1\right)\right)\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      12. metadata-evalN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \left(x + \color{blue}{1}\right)\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      13. +-commutativeN/A

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(\frac{1}{3} \cdot \log \color{blue}{\left(1 + x\right)}\right) \cdot \frac{1}{3}} - \sqrt[3]{x} \]
      14. lower-log1p.f644.9

        \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot e^{\left(0.3333333333333333 \cdot \color{blue}{\mathsf{log1p}\left(x\right)}\right) \cdot 0.3333333333333333} - \sqrt[3]{x} \]
    7. Applied rewrites4.9%

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x - -1}\right)}^{2}} \cdot \color{blue}{e^{\left(0.3333333333333333 \cdot \mathsf{log1p}\left(x\right)\right) \cdot 0.3333333333333333}} - \sqrt[3]{x} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{1} - \sqrt[3]{x} \]
    9. Step-by-step derivation
      1. Applied rewrites1.8%

        \[\leadsto \color{blue}{1} - \sqrt[3]{x} \]
      2. Add Preprocessing

      Developer Target 1: 98.5% accurate, 0.3× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt[3]{x + 1}\\ \frac{1}{\left(t\_0 \cdot t\_0 + \sqrt[3]{x} \cdot t\_0\right) + \sqrt[3]{x} \cdot \sqrt[3]{x}} \end{array} \end{array} \]
      (FPCore (x)
       :precision binary64
       (let* ((t_0 (cbrt (+ x 1.0))))
         (/ 1.0 (+ (+ (* t_0 t_0) (* (cbrt x) t_0)) (* (cbrt x) (cbrt x))))))
      double code(double x) {
      	double t_0 = cbrt((x + 1.0));
      	return 1.0 / (((t_0 * t_0) + (cbrt(x) * t_0)) + (cbrt(x) * cbrt(x)));
      }
      
      public static double code(double x) {
      	double t_0 = Math.cbrt((x + 1.0));
      	return 1.0 / (((t_0 * t_0) + (Math.cbrt(x) * t_0)) + (Math.cbrt(x) * Math.cbrt(x)));
      }
      
      function code(x)
      	t_0 = cbrt(Float64(x + 1.0))
      	return Float64(1.0 / Float64(Float64(Float64(t_0 * t_0) + Float64(cbrt(x) * t_0)) + Float64(cbrt(x) * cbrt(x))))
      end
      
      code[x_] := Block[{t$95$0 = N[Power[N[(x + 1.0), $MachinePrecision], 1/3], $MachinePrecision]}, N[(1.0 / N[(N[(N[(t$95$0 * t$95$0), $MachinePrecision] + N[(N[Power[x, 1/3], $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision] + N[(N[Power[x, 1/3], $MachinePrecision] * N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \sqrt[3]{x + 1}\\
      \frac{1}{\left(t\_0 \cdot t\_0 + \sqrt[3]{x} \cdot t\_0\right) + \sqrt[3]{x} \cdot \sqrt[3]{x}}
      \end{array}
      \end{array}
      

      Reproduce

      ?
      herbie shell --seed 2025107 
      (FPCore (x)
        :name "2cbrt (problem 3.3.4)"
        :precision binary64
        :pre (and (> x 1.0) (< x 1e+308))
      
        :alt
        (! :herbie-platform default (/ 1 (+ (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (cbrt x) (cbrt (+ x 1))) (* (cbrt x) (cbrt x)))))
      
        (- (cbrt (+ x 1.0)) (cbrt x)))