Cubic critical, narrow range

Percentage Accurate: 55.2% → 91.3%
Time: 14.0s
Alternatives: 19
Speedup: 2.9×

Specification

?
\[\left(\left(1.0536712127723509 \cdot 10^{-8} < a \land a < 94906265.62425156\right) \land \left(1.0536712127723509 \cdot 10^{-8} < b \land b < 94906265.62425156\right)\right) \land \left(1.0536712127723509 \cdot 10^{-8} < c \land c < 94906265.62425156\right)\]
\[\begin{array}{l} \\ \frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)))
double code(double a, double b, double c) {
	return (-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
}
real(8) function code(a, b, c)
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = (-b + sqrt(((b * b) - ((3.0d0 * a) * c)))) / (3.0d0 * a)
end function
public static double code(double a, double b, double c) {
	return (-b + Math.sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
}
def code(a, b, c):
	return (-b + math.sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)
function code(a, b, c)
	return Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a))
end
function tmp = code(a, b, c)
	tmp = (-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
end
code[a_, b_, c_] := N[(N[((-b) + N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\end{array}

Sampling outcomes in binary64 precision:

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 19 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: 55.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)))
double code(double a, double b, double c) {
	return (-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
}
real(8) function code(a, b, c)
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = (-b + sqrt(((b * b) - ((3.0d0 * a) * c)))) / (3.0d0 * a)
end function
public static double code(double a, double b, double c) {
	return (-b + Math.sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
}
def code(a, b, c):
	return (-b + math.sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)
function code(a, b, c)
	return Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a))
end
function tmp = code(a, b, c)
	tmp = (-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a);
end
code[a_, b_, c_] := N[(N[((-b) + N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\end{array}

Alternative 1: 91.3% accurate, 0.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := -9 \cdot \left(a \cdot c\right)\\ t_1 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_0}^{2} \cdot -0.25\right)\\ t_2 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_1 \cdot t\_0\right) \cdot -0.5\right)\\ t_3 := t\_0 \cdot 0.5\\ \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_3, t\_2, {t\_1}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_1}{b \cdot b} + \frac{t\_2}{{b}^{4}}, t\_3\right)\right) \cdot b}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, \mathsf{fma}\left(a, -4.5, \mathsf{fma}\left(\frac{-1.125}{b}, \frac{a \cdot a}{b}, \frac{\left({a}^{3} \cdot c\right) \cdot -1.6875}{{b}^{4}}\right) \cdot c\right) \cdot c\right)\right) \cdot a}}{3} \end{array} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (let* ((t_0 (* -9.0 (* a c)))
        (t_1 (fma (* (* c c) (* a a)) 27.0 (* (pow t_0 2.0) -0.25)))
        (t_2 (fma (* (pow a 3.0) -27.0) (pow c 3.0) (* (* t_1 t_0) -0.5)))
        (t_3 (* t_0 0.5)))
   (/
    (/
     (*
      (fma
       -0.5
       (/ (fma t_3 t_2 (* (pow t_1 2.0) 0.25)) (pow b 6.0))
       (fma 0.5 (+ (/ t_1 (* b b)) (/ t_2 (pow b 4.0))) t_3))
      b)
     (*
      (fma
       2.0
       (* b b)
       (fma
        b
        b
        (*
         (fma
          a
          -4.5
          (*
           (fma
            (/ -1.125 b)
            (/ (* a a) b)
            (/ (* (* (pow a 3.0) c) -1.6875) (pow b 4.0)))
           c))
         c)))
      a))
    3.0)))
double code(double a, double b, double c) {
	double t_0 = -9.0 * (a * c);
	double t_1 = fma(((c * c) * (a * a)), 27.0, (pow(t_0, 2.0) * -0.25));
	double t_2 = fma((pow(a, 3.0) * -27.0), pow(c, 3.0), ((t_1 * t_0) * -0.5));
	double t_3 = t_0 * 0.5;
	return ((fma(-0.5, (fma(t_3, t_2, (pow(t_1, 2.0) * 0.25)) / pow(b, 6.0)), fma(0.5, ((t_1 / (b * b)) + (t_2 / pow(b, 4.0))), t_3)) * b) / (fma(2.0, (b * b), fma(b, b, (fma(a, -4.5, (fma((-1.125 / b), ((a * a) / b), (((pow(a, 3.0) * c) * -1.6875) / pow(b, 4.0))) * c)) * c))) * a)) / 3.0;
}
function code(a, b, c)
	t_0 = Float64(-9.0 * Float64(a * c))
	t_1 = fma(Float64(Float64(c * c) * Float64(a * a)), 27.0, Float64((t_0 ^ 2.0) * -0.25))
	t_2 = fma(Float64((a ^ 3.0) * -27.0), (c ^ 3.0), Float64(Float64(t_1 * t_0) * -0.5))
	t_3 = Float64(t_0 * 0.5)
	return Float64(Float64(Float64(fma(-0.5, Float64(fma(t_3, t_2, Float64((t_1 ^ 2.0) * 0.25)) / (b ^ 6.0)), fma(0.5, Float64(Float64(t_1 / Float64(b * b)) + Float64(t_2 / (b ^ 4.0))), t_3)) * b) / Float64(fma(2.0, Float64(b * b), fma(b, b, Float64(fma(a, -4.5, Float64(fma(Float64(-1.125 / b), Float64(Float64(a * a) / b), Float64(Float64(Float64((a ^ 3.0) * c) * -1.6875) / (b ^ 4.0))) * c)) * c))) * a)) / 3.0)
end
code[a_, b_, c_] := Block[{t$95$0 = N[(-9.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[(c * c), $MachinePrecision] * N[(a * a), $MachinePrecision]), $MachinePrecision] * 27.0 + N[(N[Power[t$95$0, 2.0], $MachinePrecision] * -0.25), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[Power[a, 3.0], $MachinePrecision] * -27.0), $MachinePrecision] * N[Power[c, 3.0], $MachinePrecision] + N[(N[(t$95$1 * t$95$0), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$0 * 0.5), $MachinePrecision]}, N[(N[(N[(N[(-0.5 * N[(N[(t$95$3 * t$95$2 + N[(N[Power[t$95$1, 2.0], $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision] / N[Power[b, 6.0], $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(N[(t$95$1 / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(t$95$2 / N[Power[b, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$3), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision] / N[(N[(2.0 * N[(b * b), $MachinePrecision] + N[(b * b + N[(N[(a * -4.5 + N[(N[(N[(-1.125 / b), $MachinePrecision] * N[(N[(a * a), $MachinePrecision] / b), $MachinePrecision] + N[(N[(N[(N[Power[a, 3.0], $MachinePrecision] * c), $MachinePrecision] * -1.6875), $MachinePrecision] / N[Power[b, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := -9 \cdot \left(a \cdot c\right)\\
t_1 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_0}^{2} \cdot -0.25\right)\\
t_2 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_1 \cdot t\_0\right) \cdot -0.5\right)\\
t_3 := t\_0 \cdot 0.5\\
\frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_3, t\_2, {t\_1}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_1}{b \cdot b} + \frac{t\_2}{{b}^{4}}, t\_3\right)\right) \cdot b}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, \mathsf{fma}\left(a, -4.5, \mathsf{fma}\left(\frac{-1.125}{b}, \frac{a \cdot a}{b}, \frac{\left({a}^{3} \cdot c\right) \cdot -1.6875}{{b}^{4}}\right) \cdot c\right) \cdot c\right)\right) \cdot a}}{3}
\end{array}
\end{array}
Derivation
  1. Initial program 55.1%

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
    2. clear-numN/A

      \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
    3. associate-/r/N/A

      \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
    4. lift-*.f64N/A

      \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    5. associate-/l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
  4. Applied rewrites55.1%

    \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
  5. Applied rewrites55.8%

    \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
  6. Taylor expanded in b around inf

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \left(\frac{-1}{2} \cdot \frac{\frac{1}{4} \cdot {\left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)}^{2} + \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)\right)\right)}{{b}^{6}} + \left(\frac{1}{2} \cdot \left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) + \left(\frac{1}{2} \cdot \frac{-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)}{{b}^{4}} + \frac{1}{2} \cdot \frac{\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}}{{b}^{2}}\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  7. Applied rewrites91.2%

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  8. Taylor expanded in c around 0

    \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\left(2 \cdot {b}^{2} + \left(c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right) + {b}^{2}\right)\right)} \cdot a}}{3} \]
  9. Step-by-step derivation
    1. lower-fma.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\mathsf{fma}\left(2, {b}^{2}, c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right) + {b}^{2}\right)} \cdot a}}{3} \]
    2. unpow2N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, \color{blue}{b \cdot b}, c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right) + {b}^{2}\right) \cdot a}}{3} \]
    3. lower-*.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, \color{blue}{b \cdot b}, c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right) + {b}^{2}\right) \cdot a}}{3} \]
    4. +-commutativeN/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, b \cdot b, \color{blue}{{b}^{2} + c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right)}\right) \cdot a}}{3} \]
    5. unpow2N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, b \cdot b, \color{blue}{b \cdot b} + c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right)\right) \cdot a}}{3} \]
    6. lower-fma.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, b \cdot b, \color{blue}{\mathsf{fma}\left(b, b, c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right)\right)}\right) \cdot a}}{3} \]
    7. lower-*.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, \color{blue}{c \cdot \left(-3 \cdot a + \left(\frac{-3}{2} \cdot a + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)\right)}\right)\right) \cdot a}}{3} \]
    8. associate-+r+N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, c \cdot \color{blue}{\left(\left(-3 \cdot a + \frac{-3}{2} \cdot a\right) + c \cdot \left(\frac{-27}{16} \cdot \frac{{a}^{3} \cdot c}{{b}^{4}} + \frac{-9}{8} \cdot \frac{{a}^{2}}{{b}^{2}}\right)\right)}\right)\right) \cdot a}}{3} \]
  10. Applied rewrites91.3%

    \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, c \cdot \mathsf{fma}\left(a, -4.5, c \cdot \mathsf{fma}\left(\frac{-1.125}{b}, \frac{a \cdot a}{b}, \frac{-1.6875 \cdot \left({a}^{3} \cdot c\right)}{{b}^{4}}\right)\right)\right)\right)} \cdot a}}{3} \]
  11. Final simplification91.3%

    \[\leadsto \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(\left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5, \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right), {\left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)\right)}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right)}{{b}^{4}}, \left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5\right)\right) \cdot b}{\mathsf{fma}\left(2, b \cdot b, \mathsf{fma}\left(b, b, \mathsf{fma}\left(a, -4.5, \mathsf{fma}\left(\frac{-1.125}{b}, \frac{a \cdot a}{b}, \frac{\left({a}^{3} \cdot c\right) \cdot -1.6875}{{b}^{4}}\right) \cdot c\right) \cdot c\right)\right) \cdot a}}{3} \]
  12. Add Preprocessing

Alternative 2: 91.1% accurate, 0.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ t_1 := -9 \cdot \left(a \cdot c\right)\\ t_2 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_1}^{2} \cdot -0.25\right)\\ t_3 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_2 \cdot t\_1\right) \cdot -0.5\right)\\ t_4 := t\_1 \cdot 0.5\\ \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_4, t\_3, {t\_2}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_2}{b \cdot b} + \frac{t\_3}{{b}^{4}}, t\_4\right)\right) \cdot b}{\left(\mathsf{fma}\left(b, b, t\_0\right) + \sqrt{t\_0} \cdot b\right) \cdot a}}{3} \end{array} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (let* ((t_0 (fma (* c -3.0) a (* b b)))
        (t_1 (* -9.0 (* a c)))
        (t_2 (fma (* (* c c) (* a a)) 27.0 (* (pow t_1 2.0) -0.25)))
        (t_3 (fma (* (pow a 3.0) -27.0) (pow c 3.0) (* (* t_2 t_1) -0.5)))
        (t_4 (* t_1 0.5)))
   (/
    (/
     (*
      (fma
       -0.5
       (/ (fma t_4 t_3 (* (pow t_2 2.0) 0.25)) (pow b 6.0))
       (fma 0.5 (+ (/ t_2 (* b b)) (/ t_3 (pow b 4.0))) t_4))
      b)
     (* (+ (fma b b t_0) (* (sqrt t_0) b)) a))
    3.0)))
double code(double a, double b, double c) {
	double t_0 = fma((c * -3.0), a, (b * b));
	double t_1 = -9.0 * (a * c);
	double t_2 = fma(((c * c) * (a * a)), 27.0, (pow(t_1, 2.0) * -0.25));
	double t_3 = fma((pow(a, 3.0) * -27.0), pow(c, 3.0), ((t_2 * t_1) * -0.5));
	double t_4 = t_1 * 0.5;
	return ((fma(-0.5, (fma(t_4, t_3, (pow(t_2, 2.0) * 0.25)) / pow(b, 6.0)), fma(0.5, ((t_2 / (b * b)) + (t_3 / pow(b, 4.0))), t_4)) * b) / ((fma(b, b, t_0) + (sqrt(t_0) * b)) * a)) / 3.0;
}
function code(a, b, c)
	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
	t_1 = Float64(-9.0 * Float64(a * c))
	t_2 = fma(Float64(Float64(c * c) * Float64(a * a)), 27.0, Float64((t_1 ^ 2.0) * -0.25))
	t_3 = fma(Float64((a ^ 3.0) * -27.0), (c ^ 3.0), Float64(Float64(t_2 * t_1) * -0.5))
	t_4 = Float64(t_1 * 0.5)
	return Float64(Float64(Float64(fma(-0.5, Float64(fma(t_4, t_3, Float64((t_2 ^ 2.0) * 0.25)) / (b ^ 6.0)), fma(0.5, Float64(Float64(t_2 / Float64(b * b)) + Float64(t_3 / (b ^ 4.0))), t_4)) * b) / Float64(Float64(fma(b, b, t_0) + Float64(sqrt(t_0) * b)) * a)) / 3.0)
end
code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(-9.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(c * c), $MachinePrecision] * N[(a * a), $MachinePrecision]), $MachinePrecision] * 27.0 + N[(N[Power[t$95$1, 2.0], $MachinePrecision] * -0.25), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[Power[a, 3.0], $MachinePrecision] * -27.0), $MachinePrecision] * N[Power[c, 3.0], $MachinePrecision] + N[(N[(t$95$2 * t$95$1), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(t$95$1 * 0.5), $MachinePrecision]}, N[(N[(N[(N[(-0.5 * N[(N[(t$95$4 * t$95$3 + N[(N[Power[t$95$2, 2.0], $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision] / N[Power[b, 6.0], $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(N[(t$95$2 / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(t$95$3 / N[Power[b, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$4), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision] / N[(N[(N[(b * b + t$95$0), $MachinePrecision] + N[(N[Sqrt[t$95$0], $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
t_1 := -9 \cdot \left(a \cdot c\right)\\
t_2 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_1}^{2} \cdot -0.25\right)\\
t_3 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_2 \cdot t\_1\right) \cdot -0.5\right)\\
t_4 := t\_1 \cdot 0.5\\
\frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_4, t\_3, {t\_2}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_2}{b \cdot b} + \frac{t\_3}{{b}^{4}}, t\_4\right)\right) \cdot b}{\left(\mathsf{fma}\left(b, b, t\_0\right) + \sqrt{t\_0} \cdot b\right) \cdot a}}{3}
\end{array}
\end{array}
Derivation
  1. Initial program 55.1%

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
    2. clear-numN/A

      \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
    3. associate-/r/N/A

      \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
    4. lift-*.f64N/A

      \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    5. associate-/l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
  4. Applied rewrites55.1%

    \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
  5. Applied rewrites55.8%

    \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
  6. Taylor expanded in b around inf

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \left(\frac{-1}{2} \cdot \frac{\frac{1}{4} \cdot {\left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)}^{2} + \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)\right)\right)}{{b}^{6}} + \left(\frac{1}{2} \cdot \left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) + \left(\frac{1}{2} \cdot \frac{-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)}{{b}^{4}} + \frac{1}{2} \cdot \frac{\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}}{{b}^{2}}\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  7. Applied rewrites91.2%

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  8. Step-by-step derivation
    1. lift-fma.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)} \cdot a}}{3} \]
    2. lift-+.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\left(b \cdot \color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right)} + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
    3. distribute-rgt-inN/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\left(\color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot b + b \cdot b\right)} + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
    4. lift-*.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\left(\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot b + \color{blue}{b \cdot b}\right) + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
    5. associate-+l+N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot b + \left(b \cdot b + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)\right)} \cdot a}}{3} \]
    6. lower-+.f64N/A

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{fma}\left(\frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), \frac{1}{4} \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot b + \left(b \cdot b + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)\right)} \cdot a}}{3} \]
  9. Applied rewrites91.2%

    \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot b + \mathsf{fma}\left(b, b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)\right)} \cdot a}}{3} \]
  10. Final simplification91.2%

    \[\leadsto \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(\left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5, \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right), {\left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)\right)}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right)}{{b}^{4}}, \left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5\right)\right) \cdot b}{\left(\mathsf{fma}\left(b, b, \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right) + \sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} \cdot b\right) \cdot a}}{3} \]
  11. Add Preprocessing

Alternative 3: 91.1% accurate, 0.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ t_1 := -9 \cdot \left(a \cdot c\right)\\ t_2 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_1}^{2} \cdot -0.25\right)\\ t_3 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_2 \cdot t\_1\right) \cdot -0.5\right)\\ t_4 := t\_1 \cdot 0.5\\ \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_4, t\_3, {t\_2}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_2}{b \cdot b} + \frac{t\_3}{{b}^{4}}, t\_4\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{t\_0} + b, t\_0\right) \cdot a}}{3} \end{array} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (let* ((t_0 (fma (* c -3.0) a (* b b)))
        (t_1 (* -9.0 (* a c)))
        (t_2 (fma (* (* c c) (* a a)) 27.0 (* (pow t_1 2.0) -0.25)))
        (t_3 (fma (* (pow a 3.0) -27.0) (pow c 3.0) (* (* t_2 t_1) -0.5)))
        (t_4 (* t_1 0.5)))
   (/
    (/
     (*
      (fma
       -0.5
       (/ (fma t_4 t_3 (* (pow t_2 2.0) 0.25)) (pow b 6.0))
       (fma 0.5 (+ (/ t_2 (* b b)) (/ t_3 (pow b 4.0))) t_4))
      b)
     (* (fma b (+ (sqrt t_0) b) t_0) a))
    3.0)))
double code(double a, double b, double c) {
	double t_0 = fma((c * -3.0), a, (b * b));
	double t_1 = -9.0 * (a * c);
	double t_2 = fma(((c * c) * (a * a)), 27.0, (pow(t_1, 2.0) * -0.25));
	double t_3 = fma((pow(a, 3.0) * -27.0), pow(c, 3.0), ((t_2 * t_1) * -0.5));
	double t_4 = t_1 * 0.5;
	return ((fma(-0.5, (fma(t_4, t_3, (pow(t_2, 2.0) * 0.25)) / pow(b, 6.0)), fma(0.5, ((t_2 / (b * b)) + (t_3 / pow(b, 4.0))), t_4)) * b) / (fma(b, (sqrt(t_0) + b), t_0) * a)) / 3.0;
}
function code(a, b, c)
	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
	t_1 = Float64(-9.0 * Float64(a * c))
	t_2 = fma(Float64(Float64(c * c) * Float64(a * a)), 27.0, Float64((t_1 ^ 2.0) * -0.25))
	t_3 = fma(Float64((a ^ 3.0) * -27.0), (c ^ 3.0), Float64(Float64(t_2 * t_1) * -0.5))
	t_4 = Float64(t_1 * 0.5)
	return Float64(Float64(Float64(fma(-0.5, Float64(fma(t_4, t_3, Float64((t_2 ^ 2.0) * 0.25)) / (b ^ 6.0)), fma(0.5, Float64(Float64(t_2 / Float64(b * b)) + Float64(t_3 / (b ^ 4.0))), t_4)) * b) / Float64(fma(b, Float64(sqrt(t_0) + b), t_0) * a)) / 3.0)
end
code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(-9.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(c * c), $MachinePrecision] * N[(a * a), $MachinePrecision]), $MachinePrecision] * 27.0 + N[(N[Power[t$95$1, 2.0], $MachinePrecision] * -0.25), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[Power[a, 3.0], $MachinePrecision] * -27.0), $MachinePrecision] * N[Power[c, 3.0], $MachinePrecision] + N[(N[(t$95$2 * t$95$1), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(t$95$1 * 0.5), $MachinePrecision]}, N[(N[(N[(N[(-0.5 * N[(N[(t$95$4 * t$95$3 + N[(N[Power[t$95$2, 2.0], $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision] / N[Power[b, 6.0], $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(N[(t$95$2 / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(t$95$3 / N[Power[b, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$4), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision] / N[(N[(b * N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision] + t$95$0), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
t_1 := -9 \cdot \left(a \cdot c\right)\\
t_2 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_1}^{2} \cdot -0.25\right)\\
t_3 := \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_2 \cdot t\_1\right) \cdot -0.5\right)\\
t_4 := t\_1 \cdot 0.5\\
\frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_4, t\_3, {t\_2}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_2}{b \cdot b} + \frac{t\_3}{{b}^{4}}, t\_4\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{t\_0} + b, t\_0\right) \cdot a}}{3}
\end{array}
\end{array}
Derivation
  1. Initial program 55.1%

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
    2. clear-numN/A

      \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
    3. associate-/r/N/A

      \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
    4. lift-*.f64N/A

      \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    5. associate-/l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
  4. Applied rewrites55.1%

    \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
  5. Applied rewrites55.8%

    \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
  6. Taylor expanded in b around inf

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \left(\frac{-1}{2} \cdot \frac{\frac{1}{4} \cdot {\left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)}^{2} + \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)\right)\right)}{{b}^{6}} + \left(\frac{1}{2} \cdot \left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) + \left(\frac{1}{2} \cdot \frac{-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)}{{b}^{4}} + \frac{1}{2} \cdot \frac{\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}}{{b}^{2}}\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  7. Applied rewrites91.2%

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  8. Final simplification91.2%

    \[\leadsto \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(\left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5, \mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right), {\left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)\right)}^{2} \cdot 0.25\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right)}{{b}^{4}}, \left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b, \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right) \cdot a}}{3} \]
  9. Add Preprocessing

Alternative 4: 91.1% accurate, 0.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := -9 \cdot \left(a \cdot c\right)\\ t_1 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_0}^{2} \cdot -0.25\right)\\ t_2 := 6.75 \cdot \left(a \cdot a\right)\\ t_3 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.25, {t\_2}^{2}, \left(\mathsf{fma}\left(-4.5, t\_2 \cdot a, 27 \cdot {a}^{3}\right) \cdot a\right) \cdot 4.5\right) \cdot {c}^{4}}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_1}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_1 \cdot t\_0\right) \cdot -0.5\right)}{{b}^{4}}, t\_0 \cdot 0.5\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{t\_3} + b, t\_3\right) \cdot a}}{3} \end{array} \end{array} \]
(FPCore (a b c)
 :precision binary64
 (let* ((t_0 (* -9.0 (* a c)))
        (t_1 (fma (* (* c c) (* a a)) 27.0 (* (pow t_0 2.0) -0.25)))
        (t_2 (* 6.75 (* a a)))
        (t_3 (fma (* c -3.0) a (* b b))))
   (/
    (/
     (*
      (fma
       -0.5
       (/
        (*
         (fma
          0.25
          (pow t_2 2.0)
          (* (* (fma -4.5 (* t_2 a) (* 27.0 (pow a 3.0))) a) 4.5))
         (pow c 4.0))
        (pow b 6.0))
       (fma
        0.5
        (+
         (/ t_1 (* b b))
         (/
          (fma (* (pow a 3.0) -27.0) (pow c 3.0) (* (* t_1 t_0) -0.5))
          (pow b 4.0)))
        (* t_0 0.5)))
      b)
     (* (fma b (+ (sqrt t_3) b) t_3) a))
    3.0)))
double code(double a, double b, double c) {
	double t_0 = -9.0 * (a * c);
	double t_1 = fma(((c * c) * (a * a)), 27.0, (pow(t_0, 2.0) * -0.25));
	double t_2 = 6.75 * (a * a);
	double t_3 = fma((c * -3.0), a, (b * b));
	return ((fma(-0.5, ((fma(0.25, pow(t_2, 2.0), ((fma(-4.5, (t_2 * a), (27.0 * pow(a, 3.0))) * a) * 4.5)) * pow(c, 4.0)) / pow(b, 6.0)), fma(0.5, ((t_1 / (b * b)) + (fma((pow(a, 3.0) * -27.0), pow(c, 3.0), ((t_1 * t_0) * -0.5)) / pow(b, 4.0))), (t_0 * 0.5))) * b) / (fma(b, (sqrt(t_3) + b), t_3) * a)) / 3.0;
}
function code(a, b, c)
	t_0 = Float64(-9.0 * Float64(a * c))
	t_1 = fma(Float64(Float64(c * c) * Float64(a * a)), 27.0, Float64((t_0 ^ 2.0) * -0.25))
	t_2 = Float64(6.75 * Float64(a * a))
	t_3 = fma(Float64(c * -3.0), a, Float64(b * b))
	return Float64(Float64(Float64(fma(-0.5, Float64(Float64(fma(0.25, (t_2 ^ 2.0), Float64(Float64(fma(-4.5, Float64(t_2 * a), Float64(27.0 * (a ^ 3.0))) * a) * 4.5)) * (c ^ 4.0)) / (b ^ 6.0)), fma(0.5, Float64(Float64(t_1 / Float64(b * b)) + Float64(fma(Float64((a ^ 3.0) * -27.0), (c ^ 3.0), Float64(Float64(t_1 * t_0) * -0.5)) / (b ^ 4.0))), Float64(t_0 * 0.5))) * b) / Float64(fma(b, Float64(sqrt(t_3) + b), t_3) * a)) / 3.0)
end
code[a_, b_, c_] := Block[{t$95$0 = N[(-9.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[(c * c), $MachinePrecision] * N[(a * a), $MachinePrecision]), $MachinePrecision] * 27.0 + N[(N[Power[t$95$0, 2.0], $MachinePrecision] * -0.25), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(6.75 * N[(a * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, N[(N[(N[(N[(-0.5 * N[(N[(N[(0.25 * N[Power[t$95$2, 2.0], $MachinePrecision] + N[(N[(N[(-4.5 * N[(t$95$2 * a), $MachinePrecision] + N[(27.0 * N[Power[a, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision] * 4.5), $MachinePrecision]), $MachinePrecision] * N[Power[c, 4.0], $MachinePrecision]), $MachinePrecision] / N[Power[b, 6.0], $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(N[(t$95$1 / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(N[Power[a, 3.0], $MachinePrecision] * -27.0), $MachinePrecision] * N[Power[c, 3.0], $MachinePrecision] + N[(N[(t$95$1 * t$95$0), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision] / N[Power[b, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$0 * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * b), $MachinePrecision] / N[(N[(b * N[(N[Sqrt[t$95$3], $MachinePrecision] + b), $MachinePrecision] + t$95$3), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := -9 \cdot \left(a \cdot c\right)\\
t_1 := \mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {t\_0}^{2} \cdot -0.25\right)\\
t_2 := 6.75 \cdot \left(a \cdot a\right)\\
t_3 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
\frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.25, {t\_2}^{2}, \left(\mathsf{fma}\left(-4.5, t\_2 \cdot a, 27 \cdot {a}^{3}\right) \cdot a\right) \cdot 4.5\right) \cdot {c}^{4}}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_1}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(t\_1 \cdot t\_0\right) \cdot -0.5\right)}{{b}^{4}}, t\_0 \cdot 0.5\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{t\_3} + b, t\_3\right) \cdot a}}{3}
\end{array}
\end{array}
Derivation
  1. Initial program 55.1%

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
    2. clear-numN/A

      \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
    3. associate-/r/N/A

      \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
    4. lift-*.f64N/A

      \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    5. associate-/l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
  4. Applied rewrites55.1%

    \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
  5. Applied rewrites55.8%

    \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
  6. Taylor expanded in b around inf

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \left(\frac{-1}{2} \cdot \frac{\frac{1}{4} \cdot {\left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)}^{2} + \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)\right)\right)}{{b}^{6}} + \left(\frac{1}{2} \cdot \left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) + \left(\frac{1}{2} \cdot \frac{-27 \cdot \left({a}^{3} \cdot {c}^{3}\right) - \frac{1}{2} \cdot \left(\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right) \cdot \left(\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}\right)\right)}{{b}^{4}} + \frac{1}{2} \cdot \frac{\left(9 \cdot \left({a}^{2} \cdot {c}^{2}\right) + 18 \cdot \left({a}^{2} \cdot {c}^{2}\right)\right) - \frac{1}{4} \cdot {\left(-6 \cdot \left(a \cdot c\right) + -3 \cdot \left(a \cdot c\right)\right)}^{2}}{{b}^{2}}\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  7. Applied rewrites91.2%

    \[\leadsto \frac{\frac{\color{blue}{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right), \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right), 0.25 \cdot {\left(\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  8. Taylor expanded in c around -inf

    \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(\frac{-1}{2}, \frac{{c}^{4} \cdot \left(\frac{1}{4} \cdot {\left(\frac{-81}{4} \cdot {a}^{2} + 27 \cdot {a}^{2}\right)}^{2} + \frac{9}{2} \cdot \left(a \cdot \left(\frac{-9}{2} \cdot \left(a \cdot \left(\frac{-81}{4} \cdot {a}^{2} + 27 \cdot {a}^{2}\right)\right) + 27 \cdot {a}^{3}\right)\right)\right)}{{\color{blue}{b}}^{6}}, \mathsf{fma}\left(\frac{1}{2}, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, \frac{-1}{2} \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, \frac{-1}{4} \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, \frac{1}{2} \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
  9. Step-by-step derivation
    1. Applied rewrites91.2%

      \[\leadsto \frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{{c}^{4} \cdot \mathsf{fma}\left(0.25, {\left(\left(a \cdot a\right) \cdot 6.75\right)}^{2}, 4.5 \cdot \left(a \cdot \mathsf{fma}\left(-4.5, a \cdot \left(\left(a \cdot a\right) \cdot 6.75\right), 27 \cdot {a}^{3}\right)\right)\right)}{{\color{blue}{b}}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(\left(\left(a \cdot c\right) \cdot -9\right) \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)\right)\right)}{{b}^{4}} + \frac{\mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {\left(\left(a \cdot c\right) \cdot -9\right)}^{2}\right)}{b \cdot b}, 0.5 \cdot \left(\left(a \cdot c\right) \cdot -9\right)\right)\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
    2. Final simplification91.2%

      \[\leadsto \frac{\frac{\mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(0.25, {\left(6.75 \cdot \left(a \cdot a\right)\right)}^{2}, \left(\mathsf{fma}\left(-4.5, \left(6.75 \cdot \left(a \cdot a\right)\right) \cdot a, 27 \cdot {a}^{3}\right) \cdot a\right) \cdot 4.5\right) \cdot {c}^{4}}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right)}{b \cdot b} + \frac{\mathsf{fma}\left({a}^{3} \cdot -27, {c}^{3}, \left(\mathsf{fma}\left(\left(c \cdot c\right) \cdot \left(a \cdot a\right), 27, {\left(-9 \cdot \left(a \cdot c\right)\right)}^{2} \cdot -0.25\right) \cdot \left(-9 \cdot \left(a \cdot c\right)\right)\right) \cdot -0.5\right)}{{b}^{4}}, \left(-9 \cdot \left(a \cdot c\right)\right) \cdot 0.5\right)\right) \cdot b}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b, \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right) \cdot a}}{3} \]
    3. Add Preprocessing

    Alternative 5: 90.6% accurate, 0.1× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{-0.5}{b}, c, \left(\mathsf{fma}\left(-1.0546875 \cdot \left(a \cdot a\right), {c}^{4}, \mathsf{fma}\left(-0.375, {\left(b \cdot c\right)}^{2}, \left({c}^{3} \cdot a\right) \cdot -0.5625\right) \cdot \left(b \cdot b\right)\right) \cdot {b}^{-7}\right) \cdot a\right) \end{array} \]
    (FPCore (a b c)
     :precision binary64
     (fma
      (/ -0.5 b)
      c
      (*
       (*
        (fma
         (* -1.0546875 (* a a))
         (pow c 4.0)
         (* (fma -0.375 (pow (* b c) 2.0) (* (* (pow c 3.0) a) -0.5625)) (* b b)))
        (pow b -7.0))
       a)))
    double code(double a, double b, double c) {
    	return fma((-0.5 / b), c, ((fma((-1.0546875 * (a * a)), pow(c, 4.0), (fma(-0.375, pow((b * c), 2.0), ((pow(c, 3.0) * a) * -0.5625)) * (b * b))) * pow(b, -7.0)) * a));
    }
    
    function code(a, b, c)
    	return fma(Float64(-0.5 / b), c, Float64(Float64(fma(Float64(-1.0546875 * Float64(a * a)), (c ^ 4.0), Float64(fma(-0.375, (Float64(b * c) ^ 2.0), Float64(Float64((c ^ 3.0) * a) * -0.5625)) * Float64(b * b))) * (b ^ -7.0)) * a))
    end
    
    code[a_, b_, c_] := N[(N[(-0.5 / b), $MachinePrecision] * c + N[(N[(N[(N[(-1.0546875 * N[(a * a), $MachinePrecision]), $MachinePrecision] * N[Power[c, 4.0], $MachinePrecision] + N[(N[(-0.375 * N[Power[N[(b * c), $MachinePrecision], 2.0], $MachinePrecision] + N[(N[(N[Power[c, 3.0], $MachinePrecision] * a), $MachinePrecision] * -0.5625), $MachinePrecision]), $MachinePrecision] * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[b, -7.0], $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(\frac{-0.5}{b}, c, \left(\mathsf{fma}\left(-1.0546875 \cdot \left(a \cdot a\right), {c}^{4}, \mathsf{fma}\left(-0.375, {\left(b \cdot c\right)}^{2}, \left({c}^{3} \cdot a\right) \cdot -0.5625\right) \cdot \left(b \cdot b\right)\right) \cdot {b}^{-7}\right) \cdot a\right)
    \end{array}
    
    Derivation
    1. Initial program 55.1%

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
    2. Add Preprocessing
    3. Taylor expanded in a around 0

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b} + a \cdot \left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{a \cdot \left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right) + \frac{-1}{2} \cdot \frac{c}{b}} \]
      2. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right) \cdot a} + \frac{-1}{2} \cdot \frac{c}{b} \]
      3. lower-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right), a, \frac{-1}{2} \cdot \frac{c}{b}\right)} \]
    5. Applied rewrites90.8%

      \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(-0.16666666666666666 \cdot a, \frac{{c}^{4}}{{b}^{6}} \cdot \frac{6.328125}{b}, \frac{-0.5625 \cdot {c}^{3}}{{b}^{5}}\right), a, \frac{-0.375 \cdot \left(c \cdot c\right)}{{b}^{3}}\right), a, -0.5 \cdot \frac{c}{b}\right)} \]
    6. Taylor expanded in b around 0

      \[\leadsto \mathsf{fma}\left(\frac{\frac{-135}{128} \cdot \left({a}^{2} \cdot {c}^{4}\right) + {b}^{2} \cdot \left(\frac{-9}{16} \cdot \left(a \cdot {c}^{3}\right) + \frac{-3}{8} \cdot \left({b}^{2} \cdot {c}^{2}\right)\right)}{{b}^{7}}, a, \frac{-1}{2} \cdot \frac{c}{b}\right) \]
    7. Step-by-step derivation
      1. Applied rewrites90.8%

        \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \mathsf{fma}\left(\left(-0.375 \cdot \left(b \cdot b\right)\right) \cdot c, c, \left({c}^{3} \cdot a\right) \cdot -0.5625\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, -0.5 \cdot \frac{c}{b}\right) \]
      2. Applied rewrites90.8%

        \[\leadsto \mathsf{fma}\left(\frac{-0.5}{b}, \color{blue}{c}, \left({b}^{-7} \cdot \mathsf{fma}\left(\left(a \cdot a\right) \cdot -1.0546875, {c}^{4}, \mathsf{fma}\left(-0.375, {\left(c \cdot b\right)}^{2}, -0.5625 \cdot \left(a \cdot {c}^{3}\right)\right) \cdot \left(b \cdot b\right)\right)\right) \cdot a\right) \]
      3. Final simplification90.8%

        \[\leadsto \mathsf{fma}\left(\frac{-0.5}{b}, c, \left(\mathsf{fma}\left(-1.0546875 \cdot \left(a \cdot a\right), {c}^{4}, \mathsf{fma}\left(-0.375, {\left(b \cdot c\right)}^{2}, \left({c}^{3} \cdot a\right) \cdot -0.5625\right) \cdot \left(b \cdot b\right)\right) \cdot {b}^{-7}\right) \cdot a\right) \]
      4. Add Preprocessing

      Alternative 6: 90.7% accurate, 0.2× speedup?

      \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \left(\mathsf{fma}\left(-0.375, b \cdot b, -0.5625 \cdot \left(a \cdot c\right)\right) \cdot \left(c \cdot c\right)\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, \frac{c}{b} \cdot -0.5\right) \end{array} \]
      (FPCore (a b c)
       :precision binary64
       (fma
        (/
         (fma
          (* -1.0546875 (pow c 4.0))
          (* a a)
          (* (* (fma -0.375 (* b b) (* -0.5625 (* a c))) (* c c)) (* b b)))
         (pow b 7.0))
        a
        (* (/ c b) -0.5)))
      double code(double a, double b, double c) {
      	return fma((fma((-1.0546875 * pow(c, 4.0)), (a * a), ((fma(-0.375, (b * b), (-0.5625 * (a * c))) * (c * c)) * (b * b))) / pow(b, 7.0)), a, ((c / b) * -0.5));
      }
      
      function code(a, b, c)
      	return fma(Float64(fma(Float64(-1.0546875 * (c ^ 4.0)), Float64(a * a), Float64(Float64(fma(-0.375, Float64(b * b), Float64(-0.5625 * Float64(a * c))) * Float64(c * c)) * Float64(b * b))) / (b ^ 7.0)), a, Float64(Float64(c / b) * -0.5))
      end
      
      code[a_, b_, c_] := N[(N[(N[(N[(-1.0546875 * N[Power[c, 4.0], $MachinePrecision]), $MachinePrecision] * N[(a * a), $MachinePrecision] + N[(N[(N[(-0.375 * N[(b * b), $MachinePrecision] + N[(-0.5625 * N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(c * c), $MachinePrecision]), $MachinePrecision] * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[b, 7.0], $MachinePrecision]), $MachinePrecision] * a + N[(N[(c / b), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \left(\mathsf{fma}\left(-0.375, b \cdot b, -0.5625 \cdot \left(a \cdot c\right)\right) \cdot \left(c \cdot c\right)\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, \frac{c}{b} \cdot -0.5\right)
      \end{array}
      
      Derivation
      1. Initial program 55.1%

        \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
      2. Add Preprocessing
      3. Taylor expanded in a around 0

        \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b} + a \cdot \left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right)} \]
      4. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \color{blue}{a \cdot \left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right) + \frac{-1}{2} \cdot \frac{c}{b}} \]
        2. *-commutativeN/A

          \[\leadsto \color{blue}{\left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right)\right) \cdot a} + \frac{-1}{2} \cdot \frac{c}{b} \]
        3. lower-fma.f64N/A

          \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{{c}^{2}}{{b}^{3}} + a \cdot \left(\frac{-9}{16} \cdot \frac{{c}^{3}}{{b}^{5}} + \frac{-1}{6} \cdot \frac{a \cdot \left(\frac{81}{64} \cdot \frac{{c}^{4}}{{b}^{6}} + \frac{81}{16} \cdot \frac{{c}^{4}}{{b}^{6}}\right)}{b}\right), a, \frac{-1}{2} \cdot \frac{c}{b}\right)} \]
      5. Applied rewrites90.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(-0.16666666666666666 \cdot a, \frac{{c}^{4}}{{b}^{6}} \cdot \frac{6.328125}{b}, \frac{-0.5625 \cdot {c}^{3}}{{b}^{5}}\right), a, \frac{-0.375 \cdot \left(c \cdot c\right)}{{b}^{3}}\right), a, -0.5 \cdot \frac{c}{b}\right)} \]
      6. Taylor expanded in b around 0

        \[\leadsto \mathsf{fma}\left(\frac{\frac{-135}{128} \cdot \left({a}^{2} \cdot {c}^{4}\right) + {b}^{2} \cdot \left(\frac{-9}{16} \cdot \left(a \cdot {c}^{3}\right) + \frac{-3}{8} \cdot \left({b}^{2} \cdot {c}^{2}\right)\right)}{{b}^{7}}, a, \frac{-1}{2} \cdot \frac{c}{b}\right) \]
      7. Step-by-step derivation
        1. Applied rewrites90.8%

          \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \mathsf{fma}\left(\left(-0.375 \cdot \left(b \cdot b\right)\right) \cdot c, c, \left({c}^{3} \cdot a\right) \cdot -0.5625\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, -0.5 \cdot \frac{c}{b}\right) \]
        2. Taylor expanded in c around 0

          \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-135}{128} \cdot {c}^{4}, a \cdot a, \left({c}^{2} \cdot \left(\frac{-9}{16} \cdot \left(a \cdot c\right) + \frac{-3}{8} \cdot {b}^{2}\right)\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, \frac{-1}{2} \cdot \frac{c}{b}\right) \]
        3. Step-by-step derivation
          1. Applied rewrites90.8%

            \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \left(\left(c \cdot c\right) \cdot \mathsf{fma}\left(-0.375, b \cdot b, -0.5625 \cdot \left(a \cdot c\right)\right)\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, -0.5 \cdot \frac{c}{b}\right) \]
          2. Final simplification90.8%

            \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(-1.0546875 \cdot {c}^{4}, a \cdot a, \left(\mathsf{fma}\left(-0.375, b \cdot b, -0.5625 \cdot \left(a \cdot c\right)\right) \cdot \left(c \cdot c\right)\right) \cdot \left(b \cdot b\right)\right)}{{b}^{7}}, a, \frac{c}{b} \cdot -0.5\right) \]
          3. Add Preprocessing

          Alternative 7: 89.4% accurate, 0.2× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\left(\left(c \cdot -3\right) \cdot a + \mathsf{fma}\left(\sqrt{t\_0} + b, b, b \cdot b\right)\right) \cdot a}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
          (FPCore (a b c)
           :precision binary64
           (let* ((t_0 (fma (* c -3.0) a (* b b))))
             (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
               (/
                (/
                 (fma (* (- b) b) b (pow t_0 1.5))
                 (* (+ (* (* c -3.0) a) (fma (+ (sqrt t_0) b) b (* b b))) a))
                3.0)
               (/
                (fma
                 (* (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b)) c)
                 c
                 (* -0.5 c))
                b))))
          double code(double a, double b, double c) {
          	double t_0 = fma((c * -3.0), a, (b * b));
          	double tmp;
          	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
          		tmp = (fma((-b * b), b, pow(t_0, 1.5)) / ((((c * -3.0) * a) + fma((sqrt(t_0) + b), b, (b * b))) * a)) / 3.0;
          	} else {
          		tmp = fma(((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)) * c), c, (-0.5 * c)) / b;
          	}
          	return tmp;
          }
          
          function code(a, b, c)
          	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
          	tmp = 0.0
          	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
          		tmp = Float64(Float64(fma(Float64(Float64(-b) * b), b, (t_0 ^ 1.5)) / Float64(Float64(Float64(Float64(c * -3.0) * a) + fma(Float64(sqrt(t_0) + b), b, Float64(b * b))) * a)) / 3.0);
          	else
          		tmp = Float64(fma(Float64(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)) * c), c, Float64(-0.5 * c)) / b);
          	end
          	return tmp
          end
          
          code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(N[(N[((-b) * b), $MachinePrecision] * b + N[Power[t$95$0, 1.5], $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(c * -3.0), $MachinePrecision] * a), $MachinePrecision] + N[(N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision] * b + N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision] * c + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
          \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
          \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\left(\left(c \cdot -3\right) \cdot a + \mathsf{fma}\left(\sqrt{t\_0} + b, b, b \cdot b\right)\right) \cdot a}}{3}\\
          
          \mathbf{else}:\\
          \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

            1. Initial program 82.6%

              \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
            2. Add Preprocessing
            3. Step-by-step derivation
              1. lift-/.f64N/A

                \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
              2. clear-numN/A

                \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
              3. associate-/r/N/A

                \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
              4. lift-*.f64N/A

                \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
              5. associate-/l/N/A

                \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
              6. associate-*l/N/A

                \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
              7. lower-/.f64N/A

                \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
            4. Applied rewrites82.7%

              \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
            5. Applied rewrites83.3%

              \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
            6. Step-by-step derivation
              1. lift-fma.f64N/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\color{blue}{\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)} \cdot a}}{3} \]
              2. lift-fma.f64N/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + \color{blue}{\left(\left(-3 \cdot c\right) \cdot a + b \cdot b\right)}\right) \cdot a}}{3} \]
              3. +-commutativeN/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + \color{blue}{\left(b \cdot b + \left(-3 \cdot c\right) \cdot a\right)}\right) \cdot a}}{3} \]
              4. associate-+r+N/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\color{blue}{\left(\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right)} \cdot a}}{3} \]
              5. lower-+.f64N/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\color{blue}{\left(\left(b \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) + b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right)} \cdot a}}{3} \]
              6. *-commutativeN/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\left(\left(\color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b\right) \cdot b} + b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              7. lower-fma.f64N/A

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}{\left(\color{blue}{\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right)} + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              8. lower-*.f6483.4

                \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \color{blue}{\left(-3 \cdot c\right) \cdot a}\right) \cdot a}}{3} \]
            7. Applied rewrites83.4%

              \[\leadsto \frac{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\color{blue}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right)} \cdot a}}{3} \]
            8. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \frac{\frac{\color{blue}{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              2. *-rgt-identity83.4

                \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              3. lift--.f64N/A

                \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              4. sub-negN/A

                \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} + \left(\mathsf{neg}\left({b}^{3}\right)\right)}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              5. lift-pow.f64N/A

                \[\leadsto \frac{\frac{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} + \left(\mathsf{neg}\left(\color{blue}{{b}^{3}}\right)\right)}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              6. cube-negN/A

                \[\leadsto \frac{\frac{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} + \color{blue}{{\left(\mathsf{neg}\left(b\right)\right)}^{3}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              7. +-commutativeN/A

                \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{neg}\left(b\right)\right)}^{3} + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              8. cube-negN/A

                \[\leadsto \frac{\frac{\color{blue}{\left(\mathsf{neg}\left({b}^{3}\right)\right)} + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              9. unpow3N/A

                \[\leadsto \frac{\frac{\left(\mathsf{neg}\left(\color{blue}{\left(b \cdot b\right) \cdot b}\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              10. lift-*.f64N/A

                \[\leadsto \frac{\frac{\left(\mathsf{neg}\left(\color{blue}{\left(b \cdot b\right)} \cdot b\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              11. distribute-lft-neg-inN/A

                \[\leadsto \frac{\frac{\color{blue}{\left(\mathsf{neg}\left(b \cdot b\right)\right) \cdot b} + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              12. lower-fma.f64N/A

                \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(b \cdot b\right), b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              13. lift-*.f64N/A

                \[\leadsto \frac{\frac{\mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{b \cdot b}\right), b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              14. distribute-lft-neg-inN/A

                \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(b\right)\right) \cdot b}, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              15. lower-*.f64N/A

                \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(b\right)\right) \cdot b}, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
              16. lower-neg.f6484.5

                \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(-b\right)} \cdot b, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5}\right)}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]
            9. Applied rewrites84.5%

              \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5}\right)}}{\left(\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\right) \cdot a}}{3} \]

            if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

            1. Initial program 50.4%

              \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
            2. Add Preprocessing
            3. Taylor expanded in b around inf

              \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
            4. Step-by-step derivation
              1. lower-/.f64N/A

                \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
            5. Applied rewrites91.6%

              \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
            6. Taylor expanded in c around 0

              \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
            7. Step-by-step derivation
              1. Applied rewrites91.3%

                \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
              2. Step-by-step derivation
                1. Applied rewrites91.6%

                  \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{c}{{b}^{4}} \cdot -0.5625, a \cdot a, \frac{\frac{a \cdot -0.375}{b}}{b}\right) \cdot c, c, -0.5 \cdot c\right)}{b} \]
                2. Taylor expanded in b around inf

                  \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}} \cdot c, c, \frac{-1}{2} \cdot c\right)}{b} \]
                3. Step-by-step derivation
                  1. Applied rewrites91.6%

                    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b} \]
                4. Recombined 2 regimes into one program.
                5. Final simplification90.5%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {\left(\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right)}^{1.5}\right)}{\left(\left(c \cdot -3\right) \cdot a + \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b, b, b \cdot b\right)\right) \cdot a}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                6. Add Preprocessing

                Alternative 8: 89.4% accurate, 0.2× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\mathsf{fma}\left(b, \sqrt{t\_0} + b, t\_0\right) \cdot a}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
                (FPCore (a b c)
                 :precision binary64
                 (let* ((t_0 (fma (* c -3.0) a (* b b))))
                   (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
                     (/
                      (/ (fma (* (- b) b) b (pow t_0 1.5)) (* (fma b (+ (sqrt t_0) b) t_0) a))
                      3.0)
                     (/
                      (fma
                       (* (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b)) c)
                       c
                       (* -0.5 c))
                      b))))
                double code(double a, double b, double c) {
                	double t_0 = fma((c * -3.0), a, (b * b));
                	double tmp;
                	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
                		tmp = (fma((-b * b), b, pow(t_0, 1.5)) / (fma(b, (sqrt(t_0) + b), t_0) * a)) / 3.0;
                	} else {
                		tmp = fma(((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)) * c), c, (-0.5 * c)) / b;
                	}
                	return tmp;
                }
                
                function code(a, b, c)
                	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                	tmp = 0.0
                	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
                		tmp = Float64(Float64(fma(Float64(Float64(-b) * b), b, (t_0 ^ 1.5)) / Float64(fma(b, Float64(sqrt(t_0) + b), t_0) * a)) / 3.0);
                	else
                		tmp = Float64(fma(Float64(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)) * c), c, Float64(-0.5 * c)) / b);
                	end
                	return tmp
                end
                
                code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(N[(N[((-b) * b), $MachinePrecision] * b + N[Power[t$95$0, 1.5], $MachinePrecision]), $MachinePrecision] / N[(N[(b * N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision] + t$95$0), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision] * c + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
                \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\mathsf{fma}\left(b, \sqrt{t\_0} + b, t\_0\right) \cdot a}}{3}\\
                
                \mathbf{else}:\\
                \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

                  1. Initial program 82.6%

                    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                  2. Add Preprocessing
                  3. Step-by-step derivation
                    1. lift-/.f64N/A

                      \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                    2. clear-numN/A

                      \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                    3. associate-/r/N/A

                      \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                    4. lift-*.f64N/A

                      \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                    5. associate-/l/N/A

                      \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                    6. associate-*l/N/A

                      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                    7. lower-/.f64N/A

                      \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                  4. Applied rewrites82.7%

                    \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                  5. Applied rewrites83.3%

                    \[\leadsto \frac{\color{blue}{\frac{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}\right) \cdot 1}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}}{3} \]
                  6. Step-by-step derivation
                    1. lift-*.f64N/A

                      \[\leadsto \frac{\frac{\color{blue}{\left({\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}\right) \cdot 1}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    2. *-rgt-identity83.3

                      \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5} - {b}^{3}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    3. lift--.f64N/A

                      \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} - {b}^{3}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    4. sub-negN/A

                      \[\leadsto \frac{\frac{\color{blue}{{\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}} + \left(\mathsf{neg}\left({b}^{3}\right)\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    5. +-commutativeN/A

                      \[\leadsto \frac{\frac{\color{blue}{\left(\mathsf{neg}\left({b}^{3}\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    6. lift-pow.f64N/A

                      \[\leadsto \frac{\frac{\left(\mathsf{neg}\left(\color{blue}{{b}^{3}}\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    7. unpow3N/A

                      \[\leadsto \frac{\frac{\left(\mathsf{neg}\left(\color{blue}{\left(b \cdot b\right) \cdot b}\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    8. lift-*.f64N/A

                      \[\leadsto \frac{\frac{\left(\mathsf{neg}\left(\color{blue}{\left(b \cdot b\right)} \cdot b\right)\right) + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    9. distribute-lft-neg-inN/A

                      \[\leadsto \frac{\frac{\color{blue}{\left(\mathsf{neg}\left(b \cdot b\right)\right) \cdot b} + {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    10. lower-fma.f64N/A

                      \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(b \cdot b\right), b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    11. lift-*.f64N/A

                      \[\leadsto \frac{\frac{\mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{b \cdot b}\right), b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    12. distribute-lft-neg-inN/A

                      \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(b\right)\right) \cdot b}, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    13. lower-*.f64N/A

                      \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(b\right)\right) \cdot b}, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{\frac{3}{2}}\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                    14. lower-neg.f6484.4

                      \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(-b\right)} \cdot b, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5}\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]
                  7. Applied rewrites84.4%

                    \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {\left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right)}^{1.5}\right)}}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b, \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot a}}{3} \]

                  if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

                  1. Initial program 50.4%

                    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                  2. Add Preprocessing
                  3. Taylor expanded in b around inf

                    \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                  4. Step-by-step derivation
                    1. lower-/.f64N/A

                      \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                  5. Applied rewrites91.6%

                    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                  6. Taylor expanded in c around 0

                    \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                  7. Step-by-step derivation
                    1. Applied rewrites91.3%

                      \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                    2. Step-by-step derivation
                      1. Applied rewrites91.6%

                        \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{c}{{b}^{4}} \cdot -0.5625, a \cdot a, \frac{\frac{a \cdot -0.375}{b}}{b}\right) \cdot c, c, -0.5 \cdot c\right)}{b} \]
                      2. Taylor expanded in b around inf

                        \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}} \cdot c, c, \frac{-1}{2} \cdot c\right)}{b} \]
                      3. Step-by-step derivation
                        1. Applied rewrites91.6%

                          \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b} \]
                      4. Recombined 2 regimes into one program.
                      5. Final simplification90.5%

                        \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {\left(\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right)}^{1.5}\right)}{\mathsf{fma}\left(b, \sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b, \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\right) \cdot a}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                      6. Add Preprocessing

                      Alternative 9: 89.4% accurate, 0.2× speedup?

                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\left(t\_0 - b \cdot b\right) \cdot {a}^{-1}}{\sqrt{t\_0} + b}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
                      (FPCore (a b c)
                       :precision binary64
                       (let* ((t_0 (fma (* c -3.0) a (* b b))))
                         (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
                           (/ (/ (* (- t_0 (* b b)) (pow a -1.0)) (+ (sqrt t_0) b)) 3.0)
                           (/
                            (fma
                             (* (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b)) c)
                             c
                             (* -0.5 c))
                            b))))
                      double code(double a, double b, double c) {
                      	double t_0 = fma((c * -3.0), a, (b * b));
                      	double tmp;
                      	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
                      		tmp = (((t_0 - (b * b)) * pow(a, -1.0)) / (sqrt(t_0) + b)) / 3.0;
                      	} else {
                      		tmp = fma(((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)) * c), c, (-0.5 * c)) / b;
                      	}
                      	return tmp;
                      }
                      
                      function code(a, b, c)
                      	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                      	tmp = 0.0
                      	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
                      		tmp = Float64(Float64(Float64(Float64(t_0 - Float64(b * b)) * (a ^ -1.0)) / Float64(sqrt(t_0) + b)) / 3.0);
                      	else
                      		tmp = Float64(fma(Float64(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)) * c), c, Float64(-0.5 * c)) / b);
                      	end
                      	return tmp
                      end
                      
                      code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(N[(N[(t$95$0 - N[(b * b), $MachinePrecision]), $MachinePrecision] * N[Power[a, -1.0], $MachinePrecision]), $MachinePrecision] / N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision] * c + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
                      
                      \begin{array}{l}
                      
                      \\
                      \begin{array}{l}
                      t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                      \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
                      \;\;\;\;\frac{\frac{\left(t\_0 - b \cdot b\right) \cdot {a}^{-1}}{\sqrt{t\_0} + b}}{3}\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 2 regimes
                      2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

                        1. Initial program 82.6%

                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                        2. Add Preprocessing
                        3. Step-by-step derivation
                          1. lift-/.f64N/A

                            \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                          2. clear-numN/A

                            \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                          3. associate-/r/N/A

                            \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                          4. lift-*.f64N/A

                            \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                          5. associate-/l/N/A

                            \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                          6. associate-*l/N/A

                            \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                          7. lower-/.f64N/A

                            \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                        4. Applied rewrites82.7%

                          \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                        5. Step-by-step derivation
                          1. lift-*.f64N/A

                            \[\leadsto \frac{\color{blue}{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}}{3} \]
                          2. lift--.f64N/A

                            \[\leadsto \frac{{a}^{-1} \cdot \color{blue}{\left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}}{3} \]
                          3. flip--N/A

                            \[\leadsto \frac{{a}^{-1} \cdot \color{blue}{\frac{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b \cdot b}{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b}}}{3} \]
                          4. associate-*r/N/A

                            \[\leadsto \frac{\color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b \cdot b\right)}{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b}}}{3} \]
                          5. lower-/.f64N/A

                            \[\leadsto \frac{\color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b \cdot b\right)}{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b}}}{3} \]
                        6. Applied rewrites84.2%

                          \[\leadsto \frac{\color{blue}{\frac{{a}^{-1} \cdot \left(\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right) - b \cdot b\right)}{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} + b}}}{3} \]

                        if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

                        1. Initial program 50.4%

                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                        2. Add Preprocessing
                        3. Taylor expanded in b around inf

                          \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                        4. Step-by-step derivation
                          1. lower-/.f64N/A

                            \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                        5. Applied rewrites91.6%

                          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                        6. Taylor expanded in c around 0

                          \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                        7. Step-by-step derivation
                          1. Applied rewrites91.3%

                            \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                          2. Step-by-step derivation
                            1. Applied rewrites91.6%

                              \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{c}{{b}^{4}} \cdot -0.5625, a \cdot a, \frac{\frac{a \cdot -0.375}{b}}{b}\right) \cdot c, c, -0.5 \cdot c\right)}{b} \]
                            2. Taylor expanded in b around inf

                              \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}} \cdot c, c, \frac{-1}{2} \cdot c\right)}{b} \]
                            3. Step-by-step derivation
                              1. Applied rewrites91.6%

                                \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b} \]
                            4. Recombined 2 regimes into one program.
                            5. Final simplification90.5%

                              \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\left(\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right) - b \cdot b\right) \cdot {a}^{-1}}{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b}}{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                            6. Add Preprocessing

                            Alternative 10: 89.4% accurate, 0.4× speedup?

                            \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(t\_0 - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{t\_0} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
                            (FPCore (a b c)
                             :precision binary64
                             (let* ((t_0 (fma (* c -3.0) a (* b b))))
                               (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
                                 (/ (* (- t_0 (* b b)) (/ 0.3333333333333333 a)) (+ (sqrt t_0) b))
                                 (/
                                  (fma
                                   (* (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b)) c)
                                   c
                                   (* -0.5 c))
                                  b))))
                            double code(double a, double b, double c) {
                            	double t_0 = fma((c * -3.0), a, (b * b));
                            	double tmp;
                            	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
                            		tmp = ((t_0 - (b * b)) * (0.3333333333333333 / a)) / (sqrt(t_0) + b);
                            	} else {
                            		tmp = fma(((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)) * c), c, (-0.5 * c)) / b;
                            	}
                            	return tmp;
                            }
                            
                            function code(a, b, c)
                            	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                            	tmp = 0.0
                            	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
                            		tmp = Float64(Float64(Float64(t_0 - Float64(b * b)) * Float64(0.3333333333333333 / a)) / Float64(sqrt(t_0) + b));
                            	else
                            		tmp = Float64(fma(Float64(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)) * c), c, Float64(-0.5 * c)) / b);
                            	end
                            	return tmp
                            end
                            
                            code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(N[(t$95$0 - N[(b * b), $MachinePrecision]), $MachinePrecision] * N[(0.3333333333333333 / a), $MachinePrecision]), $MachinePrecision] / N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c), $MachinePrecision] * c + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
                            
                            \begin{array}{l}
                            
                            \\
                            \begin{array}{l}
                            t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                            \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
                            \;\;\;\;\frac{\left(t\_0 - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{t\_0} + b}\\
                            
                            \mathbf{else}:\\
                            \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\
                            
                            
                            \end{array}
                            \end{array}
                            
                            Derivation
                            1. Split input into 2 regimes
                            2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

                              1. Initial program 82.6%

                                \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                              2. Add Preprocessing
                              3. Step-by-step derivation
                                1. lift-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                2. clear-numN/A

                                  \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                                3. associate-/r/N/A

                                  \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                4. lift-*.f64N/A

                                  \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                5. associate-/l/N/A

                                  \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                6. associate-*l/N/A

                                  \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                7. lower-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                              4. Applied rewrites82.7%

                                \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                              5. Applied rewrites84.2%

                                \[\leadsto \color{blue}{\frac{\left(b \cdot b - \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}}} \]

                              if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

                              1. Initial program 50.4%

                                \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                              2. Add Preprocessing
                              3. Taylor expanded in b around inf

                                \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                              4. Step-by-step derivation
                                1. lower-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                              5. Applied rewrites91.6%

                                \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                              6. Taylor expanded in c around 0

                                \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                              7. Step-by-step derivation
                                1. Applied rewrites91.3%

                                  \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                2. Step-by-step derivation
                                  1. Applied rewrites91.6%

                                    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{c}{{b}^{4}} \cdot -0.5625, a \cdot a, \frac{\frac{a \cdot -0.375}{b}}{b}\right) \cdot c, c, -0.5 \cdot c\right)}{b} \]
                                  2. Taylor expanded in b around inf

                                    \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}} \cdot c, c, \frac{-1}{2} \cdot c\right)}{b} \]
                                  3. Step-by-step derivation
                                    1. Applied rewrites91.6%

                                      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b} \]
                                  4. Recombined 2 regimes into one program.
                                  5. Final simplification90.5%

                                    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right) - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b} \cdot c, c, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                                  6. Add Preprocessing

                                  Alternative 11: 89.3% accurate, 0.4× speedup?

                                  \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(t\_0 - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{t\_0} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\ \end{array} \end{array} \]
                                  (FPCore (a b c)
                                   :precision binary64
                                   (let* ((t_0 (fma (* c -3.0) a (* b b))))
                                     (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
                                       (/ (* (- t_0 (* b b)) (/ 0.3333333333333333 a)) (+ (sqrt t_0) b))
                                       (/
                                        (*
                                         (fma
                                          (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b))
                                          c
                                          -0.5)
                                         c)
                                        b))))
                                  double code(double a, double b, double c) {
                                  	double t_0 = fma((c * -3.0), a, (b * b));
                                  	double tmp;
                                  	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
                                  		tmp = ((t_0 - (b * b)) * (0.3333333333333333 / a)) / (sqrt(t_0) + b);
                                  	} else {
                                  		tmp = (fma((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)), c, -0.5) * c) / b;
                                  	}
                                  	return tmp;
                                  }
                                  
                                  function code(a, b, c)
                                  	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                                  	tmp = 0.0
                                  	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
                                  		tmp = Float64(Float64(Float64(t_0 - Float64(b * b)) * Float64(0.3333333333333333 / a)) / Float64(sqrt(t_0) + b));
                                  	else
                                  		tmp = Float64(Float64(fma(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)), c, -0.5) * c) / b);
                                  	end
                                  	return tmp
                                  end
                                  
                                  code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(N[(t$95$0 - N[(b * b), $MachinePrecision]), $MachinePrecision] * N[(0.3333333333333333 / a), $MachinePrecision]), $MachinePrecision] / N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]]]
                                  
                                  \begin{array}{l}
                                  
                                  \\
                                  \begin{array}{l}
                                  t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                                  \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
                                  \;\;\;\;\frac{\left(t\_0 - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{t\_0} + b}\\
                                  
                                  \mathbf{else}:\\
                                  \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\
                                  
                                  
                                  \end{array}
                                  \end{array}
                                  
                                  Derivation
                                  1. Split input into 2 regimes
                                  2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

                                    1. Initial program 82.6%

                                      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                    2. Add Preprocessing
                                    3. Step-by-step derivation
                                      1. lift-/.f64N/A

                                        \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                      2. clear-numN/A

                                        \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                                      3. associate-/r/N/A

                                        \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                      4. lift-*.f64N/A

                                        \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                      5. associate-/l/N/A

                                        \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                      6. associate-*l/N/A

                                        \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                      7. lower-/.f64N/A

                                        \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                    4. Applied rewrites82.7%

                                      \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                                    5. Applied rewrites84.2%

                                      \[\leadsto \color{blue}{\frac{\left(b \cdot b - \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}}} \]

                                    if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

                                    1. Initial program 50.4%

                                      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                    2. Add Preprocessing
                                    3. Taylor expanded in b around inf

                                      \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                    4. Step-by-step derivation
                                      1. lower-/.f64N/A

                                        \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                    5. Applied rewrites91.6%

                                      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                    6. Taylor expanded in c around 0

                                      \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                    7. Step-by-step derivation
                                      1. Applied rewrites91.3%

                                        \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                      2. Taylor expanded in b around inf

                                        \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                      3. Step-by-step derivation
                                        1. Applied rewrites91.3%

                                          \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                      4. Recombined 2 regimes into one program.
                                      5. Final simplification90.3%

                                        \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right) - b \cdot b\right) \cdot \frac{0.3333333333333333}{a}}{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\ \end{array} \]
                                      6. Add Preprocessing

                                      Alternative 12: 89.3% accurate, 0.4× speedup?

                                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{t\_0 - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{t\_0} + b\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\ \end{array} \end{array} \]
                                      (FPCore (a b c)
                                       :precision binary64
                                       (let* ((t_0 (fma (* c -3.0) a (* b b))))
                                         (if (<= (/ (- (sqrt (- (* b b) (* (* 3.0 a) c))) b) (* 3.0 a)) -0.3)
                                           (/ (- t_0 (* b b)) (* (* 3.0 a) (+ (sqrt t_0) b)))
                                           (/
                                            (*
                                             (fma
                                              (/ (fma (/ (* -0.5625 (* a a)) b) (/ c b) (* -0.375 a)) (* b b))
                                              c
                                              -0.5)
                                             c)
                                            b))))
                                      double code(double a, double b, double c) {
                                      	double t_0 = fma((c * -3.0), a, (b * b));
                                      	double tmp;
                                      	if (((sqrt(((b * b) - ((3.0 * a) * c))) - b) / (3.0 * a)) <= -0.3) {
                                      		tmp = (t_0 - (b * b)) / ((3.0 * a) * (sqrt(t_0) + b));
                                      	} else {
                                      		tmp = (fma((fma(((-0.5625 * (a * a)) / b), (c / b), (-0.375 * a)) / (b * b)), c, -0.5) * c) / b;
                                      	}
                                      	return tmp;
                                      }
                                      
                                      function code(a, b, c)
                                      	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                                      	tmp = 0.0
                                      	if (Float64(Float64(sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c))) - b) / Float64(3.0 * a)) <= -0.3)
                                      		tmp = Float64(Float64(t_0 - Float64(b * b)) / Float64(Float64(3.0 * a) * Float64(sqrt(t_0) + b)));
                                      	else
                                      		tmp = Float64(Float64(fma(Float64(fma(Float64(Float64(-0.5625 * Float64(a * a)) / b), Float64(c / b), Float64(-0.375 * a)) / Float64(b * b)), c, -0.5) * c) / b);
                                      	end
                                      	return tmp
                                      end
                                      
                                      code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], -0.3], N[(N[(t$95$0 - N[(b * b), $MachinePrecision]), $MachinePrecision] / N[(N[(3.0 * a), $MachinePrecision] * N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(N[(N[(-0.5625 * N[(a * a), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision] * N[(c / b), $MachinePrecision] + N[(-0.375 * a), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]]]
                                      
                                      \begin{array}{l}
                                      
                                      \\
                                      \begin{array}{l}
                                      t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                                      \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\
                                      \;\;\;\;\frac{t\_0 - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{t\_0} + b\right)}\\
                                      
                                      \mathbf{else}:\\
                                      \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\
                                      
                                      
                                      \end{array}
                                      \end{array}
                                      
                                      Derivation
                                      1. Split input into 2 regimes
                                      2. if (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) < -0.299999999999999989

                                        1. Initial program 82.6%

                                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                        2. Add Preprocessing
                                        3. Step-by-step derivation
                                          1. lift-/.f64N/A

                                            \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                          2. clear-numN/A

                                            \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                                          3. associate-/r/N/A

                                            \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                          4. lift-*.f64N/A

                                            \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                          5. associate-/l/N/A

                                            \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                          6. associate-*l/N/A

                                            \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                          7. lower-/.f64N/A

                                            \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                        4. Applied rewrites82.7%

                                          \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                                        5. Applied rewrites84.2%

                                          \[\leadsto \color{blue}{\frac{b \cdot b - \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}\right)}} \]

                                        if -0.299999999999999989 < (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))

                                        1. Initial program 50.4%

                                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                        2. Add Preprocessing
                                        3. Taylor expanded in b around inf

                                          \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                        4. Step-by-step derivation
                                          1. lower-/.f64N/A

                                            \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                        5. Applied rewrites91.6%

                                          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                        6. Taylor expanded in c around 0

                                          \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                        7. Step-by-step derivation
                                          1. Applied rewrites91.3%

                                            \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                          2. Taylor expanded in b around inf

                                            \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{2}} + \frac{-3}{8} \cdot a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                          3. Step-by-step derivation
                                            1. Applied rewrites91.3%

                                              \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                          4. Recombined 2 regimes into one program.
                                          5. Final simplification90.3%

                                            \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right) - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{-0.5625 \cdot \left(a \cdot a\right)}{b}, \frac{c}{b}, -0.375 \cdot a\right)}{b \cdot b}, c, -0.5\right) \cdot c}{b}\\ \end{array} \]
                                          6. Add Preprocessing

                                          Alternative 13: 84.8% accurate, 0.6× speedup?

                                          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\ \mathbf{if}\;b \leq 220:\\ \;\;\;\;\frac{t\_0 - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{t\_0} + b\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
                                          (FPCore (a b c)
                                           :precision binary64
                                           (let* ((t_0 (fma (* c -3.0) a (* b b))))
                                             (if (<= b 220.0)
                                               (/ (- t_0 (* b b)) (* (* 3.0 a) (+ (sqrt t_0) b)))
                                               (/ (fma (* -0.375 a) (/ (* c c) (* b b)) (* -0.5 c)) b))))
                                          double code(double a, double b, double c) {
                                          	double t_0 = fma((c * -3.0), a, (b * b));
                                          	double tmp;
                                          	if (b <= 220.0) {
                                          		tmp = (t_0 - (b * b)) / ((3.0 * a) * (sqrt(t_0) + b));
                                          	} else {
                                          		tmp = fma((-0.375 * a), ((c * c) / (b * b)), (-0.5 * c)) / b;
                                          	}
                                          	return tmp;
                                          }
                                          
                                          function code(a, b, c)
                                          	t_0 = fma(Float64(c * -3.0), a, Float64(b * b))
                                          	tmp = 0.0
                                          	if (b <= 220.0)
                                          		tmp = Float64(Float64(t_0 - Float64(b * b)) / Float64(Float64(3.0 * a) * Float64(sqrt(t_0) + b)));
                                          	else
                                          		tmp = Float64(fma(Float64(-0.375 * a), Float64(Float64(c * c) / Float64(b * b)), Float64(-0.5 * c)) / b);
                                          	end
                                          	return tmp
                                          end
                                          
                                          code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, 220.0], N[(N[(t$95$0 - N[(b * b), $MachinePrecision]), $MachinePrecision] / N[(N[(3.0 * a), $MachinePrecision] * N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(-0.375 * a), $MachinePrecision] * N[(N[(c * c), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
                                          
                                          \begin{array}{l}
                                          
                                          \\
                                          \begin{array}{l}
                                          t_0 := \mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)\\
                                          \mathbf{if}\;b \leq 220:\\
                                          \;\;\;\;\frac{t\_0 - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{t\_0} + b\right)}\\
                                          
                                          \mathbf{else}:\\
                                          \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\
                                          
                                          
                                          \end{array}
                                          \end{array}
                                          
                                          Derivation
                                          1. Split input into 2 regimes
                                          2. if b < 220

                                            1. Initial program 77.8%

                                              \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                            2. Add Preprocessing
                                            3. Step-by-step derivation
                                              1. lift-/.f64N/A

                                                \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                              2. clear-numN/A

                                                \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                                              3. associate-/r/N/A

                                                \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                              4. lift-*.f64N/A

                                                \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                              5. associate-/l/N/A

                                                \[\leadsto \color{blue}{\frac{\frac{1}{a}}{3}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                              6. associate-*l/N/A

                                                \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                              7. lower-/.f64N/A

                                                \[\leadsto \color{blue}{\frac{\frac{1}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}{3}} \]
                                            4. Applied rewrites77.8%

                                              \[\leadsto \color{blue}{\frac{{a}^{-1} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)}{3}} \]
                                            5. Applied rewrites78.8%

                                              \[\leadsto \color{blue}{\frac{b \cdot b - \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)}\right)}} \]

                                            if 220 < b

                                            1. Initial program 45.1%

                                              \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                            2. Add Preprocessing
                                            3. Taylor expanded in b around inf

                                              \[\leadsto \color{blue}{\frac{\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}}{b}} \]
                                            4. Step-by-step derivation
                                              1. lower-/.f64N/A

                                                \[\leadsto \color{blue}{\frac{\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}}{b}} \]
                                              2. +-commutativeN/A

                                                \[\leadsto \frac{\color{blue}{\frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}} + \frac{-1}{2} \cdot c}}{b} \]
                                              3. associate-*r/N/A

                                                \[\leadsto \frac{\color{blue}{\frac{\frac{-3}{8} \cdot \left(a \cdot {c}^{2}\right)}{{b}^{2}}} + \frac{-1}{2} \cdot c}{b} \]
                                              4. unpow2N/A

                                                \[\leadsto \frac{\frac{\frac{-3}{8} \cdot \left(a \cdot {c}^{2}\right)}{\color{blue}{b \cdot b}} + \frac{-1}{2} \cdot c}{b} \]
                                              5. associate-*r*N/A

                                                \[\leadsto \frac{\frac{\color{blue}{\left(\frac{-3}{8} \cdot a\right) \cdot {c}^{2}}}{b \cdot b} + \frac{-1}{2} \cdot c}{b} \]
                                              6. times-fracN/A

                                                \[\leadsto \frac{\color{blue}{\frac{\frac{-3}{8} \cdot a}{b} \cdot \frac{{c}^{2}}{b}} + \frac{-1}{2} \cdot c}{b} \]
                                              7. lower-fma.f64N/A

                                                \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}}{b} \]
                                              8. lower-/.f64N/A

                                                \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\frac{\frac{-3}{8} \cdot a}{b}}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                              9. lower-*.f64N/A

                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{\color{blue}{\frac{-3}{8} \cdot a}}{b}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                              10. lower-/.f64N/A

                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \color{blue}{\frac{{c}^{2}}{b}}, \frac{-1}{2} \cdot c\right)}{b} \]
                                              11. unpow2N/A

                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{\color{blue}{c \cdot c}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                              12. lower-*.f64N/A

                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{\color{blue}{c \cdot c}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                              13. lower-*.f6489.4

                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \color{blue}{-0.5 \cdot c}\right)}{b} \]
                                            5. Applied rewrites89.4%

                                              \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, -0.5 \cdot c\right)}{b}} \]
                                            6. Step-by-step derivation
                                              1. Applied rewrites89.4%

                                                \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b} \]
                                            7. Recombined 2 regimes into one program.
                                            8. Final simplification86.2%

                                              \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 220:\\ \;\;\;\;\frac{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right) - b \cdot b}{\left(3 \cdot a\right) \cdot \left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} + b\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                                            9. Add Preprocessing

                                            Alternative 14: 84.3% accurate, 0.9× speedup?

                                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\ \end{array} \end{array} \]
                                            (FPCore (a b c)
                                             :precision binary64
                                             (if (<= b 219.0)
                                               (/ (- (sqrt (fma b b (* (* a -3.0) c))) b) (* 3.0 a))
                                               (/ (fma (* -0.375 a) (/ (* c c) (* b b)) (* -0.5 c)) b)))
                                            double code(double a, double b, double c) {
                                            	double tmp;
                                            	if (b <= 219.0) {
                                            		tmp = (sqrt(fma(b, b, ((a * -3.0) * c))) - b) / (3.0 * a);
                                            	} else {
                                            		tmp = fma((-0.375 * a), ((c * c) / (b * b)), (-0.5 * c)) / b;
                                            	}
                                            	return tmp;
                                            }
                                            
                                            function code(a, b, c)
                                            	tmp = 0.0
                                            	if (b <= 219.0)
                                            		tmp = Float64(Float64(sqrt(fma(b, b, Float64(Float64(a * -3.0) * c))) - b) / Float64(3.0 * a));
                                            	else
                                            		tmp = Float64(fma(Float64(-0.375 * a), Float64(Float64(c * c) / Float64(b * b)), Float64(-0.5 * c)) / b);
                                            	end
                                            	return tmp
                                            end
                                            
                                            code[a_, b_, c_] := If[LessEqual[b, 219.0], N[(N[(N[Sqrt[N[(b * b + N[(N[(a * -3.0), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], N[(N[(N[(-0.375 * a), $MachinePrecision] * N[(N[(c * c), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]
                                            
                                            \begin{array}{l}
                                            
                                            \\
                                            \begin{array}{l}
                                            \mathbf{if}\;b \leq 219:\\
                                            \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\
                                            
                                            \mathbf{else}:\\
                                            \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\
                                            
                                            
                                            \end{array}
                                            \end{array}
                                            
                                            Derivation
                                            1. Split input into 2 regimes
                                            2. if b < 219

                                              1. Initial program 77.8%

                                                \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                              2. Add Preprocessing
                                              3. Step-by-step derivation
                                                1. lift--.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a} \]
                                                2. sub-negN/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b + \left(\mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}}{3 \cdot a} \]
                                                3. lift-*.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b} + \left(\mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}{3 \cdot a} \]
                                                4. lower-fma.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{\mathsf{fma}\left(b, b, \mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}}{3 \cdot a} \]
                                                5. lift-*.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \mathsf{neg}\left(\color{blue}{\left(3 \cdot a\right) \cdot c}\right)\right)}}{3 \cdot a} \]
                                                6. distribute-lft-neg-inN/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\mathsf{neg}\left(3 \cdot a\right)\right) \cdot c}\right)}}{3 \cdot a} \]
                                                7. lower-*.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\mathsf{neg}\left(3 \cdot a\right)\right) \cdot c}\right)}}{3 \cdot a} \]
                                                8. lift-*.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(\mathsf{neg}\left(\color{blue}{3 \cdot a}\right)\right) \cdot c\right)}}{3 \cdot a} \]
                                                9. distribute-lft-neg-inN/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\left(\mathsf{neg}\left(3\right)\right) \cdot a\right)} \cdot c\right)}}{3 \cdot a} \]
                                                10. lower-*.f64N/A

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\left(\mathsf{neg}\left(3\right)\right) \cdot a\right)} \cdot c\right)}}{3 \cdot a} \]
                                                11. metadata-eval77.9

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(\color{blue}{-3} \cdot a\right) \cdot c\right)}}{3 \cdot a} \]
                                              4. Applied rewrites77.9%

                                                \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}}{3 \cdot a} \]

                                              if 219 < b

                                              1. Initial program 45.3%

                                                \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                              2. Add Preprocessing
                                              3. Taylor expanded in b around inf

                                                \[\leadsto \color{blue}{\frac{\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}}{b}} \]
                                              4. Step-by-step derivation
                                                1. lower-/.f64N/A

                                                  \[\leadsto \color{blue}{\frac{\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}}{b}} \]
                                                2. +-commutativeN/A

                                                  \[\leadsto \frac{\color{blue}{\frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}} + \frac{-1}{2} \cdot c}}{b} \]
                                                3. associate-*r/N/A

                                                  \[\leadsto \frac{\color{blue}{\frac{\frac{-3}{8} \cdot \left(a \cdot {c}^{2}\right)}{{b}^{2}}} + \frac{-1}{2} \cdot c}{b} \]
                                                4. unpow2N/A

                                                  \[\leadsto \frac{\frac{\frac{-3}{8} \cdot \left(a \cdot {c}^{2}\right)}{\color{blue}{b \cdot b}} + \frac{-1}{2} \cdot c}{b} \]
                                                5. associate-*r*N/A

                                                  \[\leadsto \frac{\frac{\color{blue}{\left(\frac{-3}{8} \cdot a\right) \cdot {c}^{2}}}{b \cdot b} + \frac{-1}{2} \cdot c}{b} \]
                                                6. times-fracN/A

                                                  \[\leadsto \frac{\color{blue}{\frac{\frac{-3}{8} \cdot a}{b} \cdot \frac{{c}^{2}}{b}} + \frac{-1}{2} \cdot c}{b} \]
                                                7. lower-fma.f64N/A

                                                  \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}}{b} \]
                                                8. lower-/.f64N/A

                                                  \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\frac{\frac{-3}{8} \cdot a}{b}}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                                9. lower-*.f64N/A

                                                  \[\leadsto \frac{\mathsf{fma}\left(\frac{\color{blue}{\frac{-3}{8} \cdot a}}{b}, \frac{{c}^{2}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                                10. lower-/.f64N/A

                                                  \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \color{blue}{\frac{{c}^{2}}{b}}, \frac{-1}{2} \cdot c\right)}{b} \]
                                                11. unpow2N/A

                                                  \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{\color{blue}{c \cdot c}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                                12. lower-*.f64N/A

                                                  \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{-3}{8} \cdot a}{b}, \frac{\color{blue}{c \cdot c}}{b}, \frac{-1}{2} \cdot c\right)}{b} \]
                                                13. lower-*.f6489.3

                                                  \[\leadsto \frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \color{blue}{-0.5 \cdot c}\right)}{b} \]
                                              5. Applied rewrites89.3%

                                                \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, -0.5 \cdot c\right)}{b}} \]
                                              6. Step-by-step derivation
                                                1. Applied rewrites89.3%

                                                  \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b} \]
                                              7. Recombined 2 regimes into one program.
                                              8. Final simplification85.9%

                                                \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-0.375 \cdot a, \frac{c \cdot c}{b \cdot b}, -0.5 \cdot c\right)}{b}\\ \end{array} \]
                                              9. Add Preprocessing

                                              Alternative 15: 84.2% accurate, 1.0× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \end{array} \]
                                              (FPCore (a b c)
                                               :precision binary64
                                               (if (<= b 219.0)
                                                 (/ (- (sqrt (fma b b (* (* a -3.0) c))) b) (* 3.0 a))
                                                 (/ (* (fma (* (/ a (* b b)) -0.375) c -0.5) c) b)))
                                              double code(double a, double b, double c) {
                                              	double tmp;
                                              	if (b <= 219.0) {
                                              		tmp = (sqrt(fma(b, b, ((a * -3.0) * c))) - b) / (3.0 * a);
                                              	} else {
                                              		tmp = (fma(((a / (b * b)) * -0.375), c, -0.5) * c) / b;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              function code(a, b, c)
                                              	tmp = 0.0
                                              	if (b <= 219.0)
                                              		tmp = Float64(Float64(sqrt(fma(b, b, Float64(Float64(a * -3.0) * c))) - b) / Float64(3.0 * a));
                                              	else
                                              		tmp = Float64(Float64(fma(Float64(Float64(a / Float64(b * b)) * -0.375), c, -0.5) * c) / b);
                                              	end
                                              	return tmp
                                              end
                                              
                                              code[a_, b_, c_] := If[LessEqual[b, 219.0], N[(N[(N[Sqrt[N[(b * b + N[(N[(a * -3.0), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(3.0 * a), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(a / N[(b * b), $MachinePrecision]), $MachinePrecision] * -0.375), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              \mathbf{if}\;b \leq 219:\\
                                              \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 2 regimes
                                              2. if b < 219

                                                1. Initial program 77.8%

                                                  \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                2. Add Preprocessing
                                                3. Step-by-step derivation
                                                  1. lift--.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a} \]
                                                  2. sub-negN/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b + \left(\mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}}{3 \cdot a} \]
                                                  3. lift-*.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{b \cdot b} + \left(\mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}{3 \cdot a} \]
                                                  4. lower-fma.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{\mathsf{fma}\left(b, b, \mathsf{neg}\left(\left(3 \cdot a\right) \cdot c\right)\right)}}}{3 \cdot a} \]
                                                  5. lift-*.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \mathsf{neg}\left(\color{blue}{\left(3 \cdot a\right) \cdot c}\right)\right)}}{3 \cdot a} \]
                                                  6. distribute-lft-neg-inN/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\mathsf{neg}\left(3 \cdot a\right)\right) \cdot c}\right)}}{3 \cdot a} \]
                                                  7. lower-*.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\mathsf{neg}\left(3 \cdot a\right)\right) \cdot c}\right)}}{3 \cdot a} \]
                                                  8. lift-*.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(\mathsf{neg}\left(\color{blue}{3 \cdot a}\right)\right) \cdot c\right)}}{3 \cdot a} \]
                                                  9. distribute-lft-neg-inN/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\left(\mathsf{neg}\left(3\right)\right) \cdot a\right)} \cdot c\right)}}{3 \cdot a} \]
                                                  10. lower-*.f64N/A

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(\left(\mathsf{neg}\left(3\right)\right) \cdot a\right)} \cdot c\right)}}{3 \cdot a} \]
                                                  11. metadata-eval77.9

                                                    \[\leadsto \frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(\color{blue}{-3} \cdot a\right) \cdot c\right)}}{3 \cdot a} \]
                                                4. Applied rewrites77.9%

                                                  \[\leadsto \frac{\left(-b\right) + \sqrt{\color{blue}{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}}{3 \cdot a} \]

                                                if 219 < b

                                                1. Initial program 45.3%

                                                  \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                2. Add Preprocessing
                                                3. Taylor expanded in b around inf

                                                  \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                4. Step-by-step derivation
                                                  1. lower-/.f64N/A

                                                    \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                5. Applied rewrites93.7%

                                                  \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                                6. Taylor expanded in c around 0

                                                  \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                                7. Step-by-step derivation
                                                  1. Applied rewrites93.5%

                                                    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                                  2. Taylor expanded in a around 0

                                                    \[\leadsto \frac{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                                  3. Step-by-step derivation
                                                    1. Applied rewrites89.1%

                                                      \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                                  4. Recombined 2 regimes into one program.
                                                  5. Final simplification85.7%

                                                    \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)} - b}{3 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \]
                                                  6. Add Preprocessing

                                                  Alternative 16: 84.2% accurate, 1.0× speedup?

                                                  \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b}{a} \cdot 0.3333333333333333\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \end{array} \]
                                                  (FPCore (a b c)
                                                   :precision binary64
                                                   (if (<= b 219.0)
                                                     (* (/ (- (sqrt (fma (* c -3.0) a (* b b))) b) a) 0.3333333333333333)
                                                     (/ (* (fma (* (/ a (* b b)) -0.375) c -0.5) c) b)))
                                                  double code(double a, double b, double c) {
                                                  	double tmp;
                                                  	if (b <= 219.0) {
                                                  		tmp = ((sqrt(fma((c * -3.0), a, (b * b))) - b) / a) * 0.3333333333333333;
                                                  	} else {
                                                  		tmp = (fma(((a / (b * b)) * -0.375), c, -0.5) * c) / b;
                                                  	}
                                                  	return tmp;
                                                  }
                                                  
                                                  function code(a, b, c)
                                                  	tmp = 0.0
                                                  	if (b <= 219.0)
                                                  		tmp = Float64(Float64(Float64(sqrt(fma(Float64(c * -3.0), a, Float64(b * b))) - b) / a) * 0.3333333333333333);
                                                  	else
                                                  		tmp = Float64(Float64(fma(Float64(Float64(a / Float64(b * b)) * -0.375), c, -0.5) * c) / b);
                                                  	end
                                                  	return tmp
                                                  end
                                                  
                                                  code[a_, b_, c_] := If[LessEqual[b, 219.0], N[(N[(N[(N[Sqrt[N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / a), $MachinePrecision] * 0.3333333333333333), $MachinePrecision], N[(N[(N[(N[(N[(a / N[(b * b), $MachinePrecision]), $MachinePrecision] * -0.375), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]]
                                                  
                                                  \begin{array}{l}
                                                  
                                                  \\
                                                  \begin{array}{l}
                                                  \mathbf{if}\;b \leq 219:\\
                                                  \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b}{a} \cdot 0.3333333333333333\\
                                                  
                                                  \mathbf{else}:\\
                                                  \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\
                                                  
                                                  
                                                  \end{array}
                                                  \end{array}
                                                  
                                                  Derivation
                                                  1. Split input into 2 regimes
                                                  2. if b < 219

                                                    1. Initial program 77.8%

                                                      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                    2. Add Preprocessing
                                                    3. Step-by-step derivation
                                                      1. lift-/.f64N/A

                                                        \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                                      2. lift-*.f64N/A

                                                        \[\leadsto \frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{\color{blue}{3 \cdot a}} \]
                                                      3. associate-/l/N/A

                                                        \[\leadsto \color{blue}{\frac{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{a}}{3}} \]
                                                      4. div-invN/A

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

                                                        \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{a} \cdot \frac{1}{3}} \]
                                                    4. Applied rewrites77.9%

                                                      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b}{a} \cdot 0.3333333333333333} \]

                                                    if 219 < b

                                                    1. Initial program 45.3%

                                                      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                    2. Add Preprocessing
                                                    3. Taylor expanded in b around inf

                                                      \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                    4. Step-by-step derivation
                                                      1. lower-/.f64N/A

                                                        \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                    5. Applied rewrites93.7%

                                                      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                                    6. Taylor expanded in c around 0

                                                      \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                                    7. Step-by-step derivation
                                                      1. Applied rewrites93.5%

                                                        \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                                      2. Taylor expanded in a around 0

                                                        \[\leadsto \frac{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                                      3. Step-by-step derivation
                                                        1. Applied rewrites89.1%

                                                          \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                                      4. Recombined 2 regimes into one program.
                                                      5. Final simplification85.7%

                                                        \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b}{a} \cdot 0.3333333333333333\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \]
                                                      6. Add Preprocessing

                                                      Alternative 17: 84.2% accurate, 1.0× speedup?

                                                      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b\right) \cdot \frac{0.3333333333333333}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \end{array} \]
                                                      (FPCore (a b c)
                                                       :precision binary64
                                                       (if (<= b 219.0)
                                                         (* (- (sqrt (fma (* c -3.0) a (* b b))) b) (/ 0.3333333333333333 a))
                                                         (/ (* (fma (* (/ a (* b b)) -0.375) c -0.5) c) b)))
                                                      double code(double a, double b, double c) {
                                                      	double tmp;
                                                      	if (b <= 219.0) {
                                                      		tmp = (sqrt(fma((c * -3.0), a, (b * b))) - b) * (0.3333333333333333 / a);
                                                      	} else {
                                                      		tmp = (fma(((a / (b * b)) * -0.375), c, -0.5) * c) / b;
                                                      	}
                                                      	return tmp;
                                                      }
                                                      
                                                      function code(a, b, c)
                                                      	tmp = 0.0
                                                      	if (b <= 219.0)
                                                      		tmp = Float64(Float64(sqrt(fma(Float64(c * -3.0), a, Float64(b * b))) - b) * Float64(0.3333333333333333 / a));
                                                      	else
                                                      		tmp = Float64(Float64(fma(Float64(Float64(a / Float64(b * b)) * -0.375), c, -0.5) * c) / b);
                                                      	end
                                                      	return tmp
                                                      end
                                                      
                                                      code[a_, b_, c_] := If[LessEqual[b, 219.0], N[(N[(N[Sqrt[N[(N[(c * -3.0), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] * N[(0.3333333333333333 / a), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(a / N[(b * b), $MachinePrecision]), $MachinePrecision] * -0.375), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]]
                                                      
                                                      \begin{array}{l}
                                                      
                                                      \\
                                                      \begin{array}{l}
                                                      \mathbf{if}\;b \leq 219:\\
                                                      \;\;\;\;\left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b\right) \cdot \frac{0.3333333333333333}{a}\\
                                                      
                                                      \mathbf{else}:\\
                                                      \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\
                                                      
                                                      
                                                      \end{array}
                                                      \end{array}
                                                      
                                                      Derivation
                                                      1. Split input into 2 regimes
                                                      2. if b < 219

                                                        1. Initial program 77.8%

                                                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                        2. Add Preprocessing
                                                        3. Step-by-step derivation
                                                          1. lift-/.f64N/A

                                                            \[\leadsto \color{blue}{\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}} \]
                                                          2. clear-numN/A

                                                            \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot a}{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}} \]
                                                          3. associate-/r/N/A

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

                                                            \[\leadsto \color{blue}{\frac{1}{3 \cdot a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                                          5. lift-*.f64N/A

                                                            \[\leadsto \frac{1}{\color{blue}{3 \cdot a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                                          6. associate-/r*N/A

                                                            \[\leadsto \color{blue}{\frac{\frac{1}{3}}{a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                                          7. lower-/.f64N/A

                                                            \[\leadsto \color{blue}{\frac{\frac{1}{3}}{a}} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                                          8. metadata-eval77.8

                                                            \[\leadsto \frac{\color{blue}{0.3333333333333333}}{a} \cdot \left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right) \]
                                                          9. lift-+.f64N/A

                                                            \[\leadsto \frac{\frac{1}{3}}{a} \cdot \color{blue}{\left(\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)} \]
                                                          10. +-commutativeN/A

                                                            \[\leadsto \frac{\frac{1}{3}}{a} \cdot \color{blue}{\left(\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} + \left(-b\right)\right)} \]
                                                          11. lift-neg.f64N/A

                                                            \[\leadsto \frac{\frac{1}{3}}{a} \cdot \left(\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} + \color{blue}{\left(\mathsf{neg}\left(b\right)\right)}\right) \]
                                                          12. unsub-negN/A

                                                            \[\leadsto \frac{\frac{1}{3}}{a} \cdot \color{blue}{\left(\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b\right)} \]
                                                          13. lower--.f6477.8

                                                            \[\leadsto \frac{0.3333333333333333}{a} \cdot \color{blue}{\left(\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b\right)} \]
                                                        4. Applied rewrites77.9%

                                                          \[\leadsto \color{blue}{\frac{0.3333333333333333}{a} \cdot \left(\sqrt{\mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)} - b\right)} \]

                                                        if 219 < b

                                                        1. Initial program 45.3%

                                                          \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                        2. Add Preprocessing
                                                        3. Taylor expanded in b around inf

                                                          \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                        4. Step-by-step derivation
                                                          1. lower-/.f64N/A

                                                            \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                        5. Applied rewrites93.7%

                                                          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                                        6. Taylor expanded in c around 0

                                                          \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                                        7. Step-by-step derivation
                                                          1. Applied rewrites93.5%

                                                            \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                                          2. Taylor expanded in a around 0

                                                            \[\leadsto \frac{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                                          3. Step-by-step derivation
                                                            1. Applied rewrites89.1%

                                                              \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                                          4. Recombined 2 regimes into one program.
                                                          5. Final simplification85.7%

                                                            \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\left(\sqrt{\mathsf{fma}\left(c \cdot -3, a, b \cdot b\right)} - b\right) \cdot \frac{0.3333333333333333}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}\\ \end{array} \]
                                                          6. Add Preprocessing

                                                          Alternative 18: 81.4% accurate, 1.1× speedup?

                                                          \[\begin{array}{l} \\ \frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b} \end{array} \]
                                                          (FPCore (a b c)
                                                           :precision binary64
                                                           (/ (* (fma (* (/ a (* b b)) -0.375) c -0.5) c) b))
                                                          double code(double a, double b, double c) {
                                                          	return (fma(((a / (b * b)) * -0.375), c, -0.5) * c) / b;
                                                          }
                                                          
                                                          function code(a, b, c)
                                                          	return Float64(Float64(fma(Float64(Float64(a / Float64(b * b)) * -0.375), c, -0.5) * c) / b)
                                                          end
                                                          
                                                          code[a_, b_, c_] := N[(N[(N[(N[(N[(a / N[(b * b), $MachinePrecision]), $MachinePrecision] * -0.375), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]
                                                          
                                                          \begin{array}{l}
                                                          
                                                          \\
                                                          \frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b}
                                                          \end{array}
                                                          
                                                          Derivation
                                                          1. Initial program 55.1%

                                                            \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                          2. Add Preprocessing
                                                          3. Taylor expanded in b around inf

                                                            \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                          4. Step-by-step derivation
                                                            1. lower-/.f64N/A

                                                              \[\leadsto \color{blue}{\frac{\frac{-9}{16} \cdot \frac{{a}^{2} \cdot {c}^{3}}{{b}^{4}} + \left(\frac{-1}{2} \cdot c + \frac{-3}{8} \cdot \frac{a \cdot {c}^{2}}{{b}^{2}}\right)}{b}} \]
                                                          5. Applied rewrites88.3%

                                                            \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{-0.375 \cdot a}{b}, \frac{c \cdot c}{b}, \mathsf{fma}\left(\frac{\left({c}^{3} \cdot a\right) \cdot a}{{b}^{4}}, -0.5625, -0.5 \cdot c\right)\right)}{b}} \]
                                                          6. Taylor expanded in c around 0

                                                            \[\leadsto \frac{c \cdot \left(c \cdot \left(\frac{-9}{16} \cdot \frac{{a}^{2} \cdot c}{{b}^{4}} + \frac{-3}{8} \cdot \frac{a}{{b}^{2}}\right) - \frac{1}{2}\right)}{b} \]
                                                          7. Step-by-step derivation
                                                            1. Applied rewrites88.1%

                                                              \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-0.375}{b}, \frac{a}{b}, \left(\left(-0.5625 \cdot a\right) \cdot a\right) \cdot \frac{c}{{b}^{4}}\right), c, -0.5\right) \cdot c}{b} \]
                                                            2. Taylor expanded in a around 0

                                                              \[\leadsto \frac{\mathsf{fma}\left(\frac{-3}{8} \cdot \frac{a}{{b}^{2}}, c, \frac{-1}{2}\right) \cdot c}{b} \]
                                                            3. Step-by-step derivation
                                                              1. Applied rewrites82.2%

                                                                \[\leadsto \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, c, -0.5\right) \cdot c}{b} \]
                                                              2. Final simplification82.2%

                                                                \[\leadsto \frac{\mathsf{fma}\left(\frac{a}{b \cdot b} \cdot -0.375, c, -0.5\right) \cdot c}{b} \]
                                                              3. Add Preprocessing

                                                              Alternative 19: 64.5% accurate, 2.9× speedup?

                                                              \[\begin{array}{l} \\ \frac{c}{b} \cdot -0.5 \end{array} \]
                                                              (FPCore (a b c) :precision binary64 (* (/ c b) -0.5))
                                                              double code(double a, double b, double c) {
                                                              	return (c / b) * -0.5;
                                                              }
                                                              
                                                              real(8) function code(a, b, c)
                                                                  real(8), intent (in) :: a
                                                                  real(8), intent (in) :: b
                                                                  real(8), intent (in) :: c
                                                                  code = (c / b) * (-0.5d0)
                                                              end function
                                                              
                                                              public static double code(double a, double b, double c) {
                                                              	return (c / b) * -0.5;
                                                              }
                                                              
                                                              def code(a, b, c):
                                                              	return (c / b) * -0.5
                                                              
                                                              function code(a, b, c)
                                                              	return Float64(Float64(c / b) * -0.5)
                                                              end
                                                              
                                                              function tmp = code(a, b, c)
                                                              	tmp = (c / b) * -0.5;
                                                              end
                                                              
                                                              code[a_, b_, c_] := N[(N[(c / b), $MachinePrecision] * -0.5), $MachinePrecision]
                                                              
                                                              \begin{array}{l}
                                                              
                                                              \\
                                                              \frac{c}{b} \cdot -0.5
                                                              \end{array}
                                                              
                                                              Derivation
                                                              1. Initial program 55.1%

                                                                \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \]
                                                              2. Add Preprocessing
                                                              3. Taylor expanded in a around 0

                                                                \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b}} \]
                                                              4. Step-by-step derivation
                                                                1. lower-*.f64N/A

                                                                  \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b}} \]
                                                                2. lower-/.f6465.2

                                                                  \[\leadsto -0.5 \cdot \color{blue}{\frac{c}{b}} \]
                                                              5. Applied rewrites65.2%

                                                                \[\leadsto \color{blue}{-0.5 \cdot \frac{c}{b}} \]
                                                              6. Final simplification65.2%

                                                                \[\leadsto \frac{c}{b} \cdot -0.5 \]
                                                              7. Add Preprocessing

                                                              Reproduce

                                                              ?
                                                              herbie shell --seed 2024296 
                                                              (FPCore (a b c)
                                                                :name "Cubic critical, narrow range"
                                                                :precision binary64
                                                                :pre (and (and (and (< 1.0536712127723509e-8 a) (< a 94906265.62425156)) (and (< 1.0536712127723509e-8 b) (< b 94906265.62425156))) (and (< 1.0536712127723509e-8 c) (< c 94906265.62425156)))
                                                                (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)))