Cubic critical, narrow range

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

\\
\begin{array}{l}
t_0 := \left(a \cdot c\right) \cdot -9\\
t_1 := \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {t\_0}^{2}\right)\\
t_2 := \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(t\_0 \cdot t\_1\right)\right)\\
t_3 := 0.5 \cdot t\_0\\
\frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_3, t\_2, 0.25 \cdot {t\_1}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_2}{{b}^{4}} + \frac{t\_1}{b \cdot b}, t\_3\right)\right)}{\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}
\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. inv-powN/A

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

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

      \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

Alternative 2: 91.1% accurate, 0.0× speedup?

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

\\
\begin{array}{l}
t_0 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\
t_1 := \left(a \cdot c\right) \cdot -9\\
t_2 := \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {t\_1}^{2}\right)\\
t_3 := \mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(t\_1 \cdot t\_2\right)\right)\\
t_4 := 0.5 \cdot t\_1\\
\frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{\mathsf{fma}\left(t\_4, t\_3, 0.25 \cdot {t\_2}^{2}\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{t\_3}{{b}^{4}} + \frac{t\_2}{b \cdot b}, t\_4\right)\right)}{\left(\sqrt{t\_0} \cdot b + \mathsf{fma}\left(b, b, t\_0\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. inv-powN/A

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

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

      \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

Alternative 3: 91.1% accurate, 0.0× speedup?

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

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

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

      \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

Alternative 4: 91.1% accurate, 0.0× speedup?

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

\\
\begin{array}{l}
t_0 := \left(a \cdot a\right) \cdot 6.75\\
t_1 := \left(a \cdot c\right) \cdot -9\\
t_2 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\
t_3 := \mathsf{fma}\left(\left(a \cdot a\right) \cdot \left(c \cdot c\right), 27, -0.25 \cdot {t\_1}^{2}\right)\\
\frac{\frac{b \cdot \mathsf{fma}\left(-0.5, \frac{{c}^{4} \cdot \mathsf{fma}\left(0.25, {t\_0}^{2}, 4.5 \cdot \left(a \cdot \mathsf{fma}\left(-4.5, a \cdot t\_0, 27 \cdot {a}^{3}\right)\right)\right)}{{b}^{6}}, \mathsf{fma}\left(0.5, \frac{\mathsf{fma}\left(-27 \cdot {a}^{3}, {c}^{3}, -0.5 \cdot \left(t\_1 \cdot t\_3\right)\right)}{{b}^{4}} + \frac{t\_3}{b \cdot b}, 0.5 \cdot t\_1\right)\right)}{\mathsf{fma}\left(b, \sqrt{t\_2} + b, t\_2\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. inv-powN/A

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

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

      \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

    Alternative 5: 90.6% accurate, 0.1× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{-0.5}{b}, 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) \end{array} \]
    (FPCore (a b c)
     :precision binary64
     (fma
      (/ -0.5 b)
      c
      (*
       (*
        (pow b -7.0)
        (fma
         (* (* a a) -1.0546875)
         (pow c 4.0)
         (* (fma -0.375 (pow (* c b) 2.0) (* -0.5625 (* a (pow c 3.0)))) (* b b))))
       a)))
    double code(double a, double b, double c) {
    	return fma((-0.5 / b), c, ((pow(b, -7.0) * fma(((a * a) * -1.0546875), pow(c, 4.0), (fma(-0.375, pow((c * b), 2.0), (-0.5625 * (a * pow(c, 3.0)))) * (b * b)))) * a));
    }
    
    function code(a, b, c)
    	return fma(Float64(-0.5 / b), c, Float64(Float64((b ^ -7.0) * fma(Float64(Float64(a * a) * -1.0546875), (c ^ 4.0), Float64(fma(-0.375, (Float64(c * b) ^ 2.0), Float64(-0.5625 * Float64(a * (c ^ 3.0)))) * Float64(b * b)))) * a))
    end
    
    code[a_, b_, c_] := N[(N[(-0.5 / b), $MachinePrecision] * c + N[(N[(N[Power[b, -7.0], $MachinePrecision] * N[(N[(N[(a * a), $MachinePrecision] * -1.0546875), $MachinePrecision] * N[Power[c, 4.0], $MachinePrecision] + N[(N[(-0.375 * N[Power[N[(c * b), $MachinePrecision], 2.0], $MachinePrecision] + N[(-0.5625 * N[(a * N[Power[c, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(\frac{-0.5}{b}, 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)
    \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. 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(\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) \end{array} \]
      (FPCore (a b c)
       :precision binary64
       (fma
        (/
         (fma
          (* -1.0546875 (pow c 4.0))
          (* a a)
          (* (* (* c c) (fma -0.375 (* b b) (* -0.5625 (* a c)))) (* b b)))
         (pow b 7.0))
        a
        (* -0.5 (/ c b))))
      double code(double a, double b, double c) {
      	return fma((fma((-1.0546875 * pow(c, 4.0)), (a * a), (((c * c) * fma(-0.375, (b * b), (-0.5625 * (a * c)))) * (b * b))) / pow(b, 7.0)), a, (-0.5 * (c / b)));
      }
      
      function code(a, b, c)
      	return fma(Float64(fma(Float64(-1.0546875 * (c ^ 4.0)), Float64(a * a), Float64(Float64(Float64(c * c) * fma(-0.375, Float64(b * b), Float64(-0.5625 * Float64(a * c)))) * Float64(b * b))) / (b ^ 7.0)), a, Float64(-0.5 * Float64(c / b)))
      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[(c * c), $MachinePrecision] * N[(-0.375 * N[(b * b), $MachinePrecision] + N[(-0.5625 * N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[b, 7.0], $MachinePrecision]), $MachinePrecision] * a + N[(-0.5 * N[(c / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \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)
      \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. Add Preprocessing

          Alternative 7: 89.4% accurate, 0.2× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\left(\mathsf{fma}\left(\sqrt{t\_0} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\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 (* -3.0 c) a (* b b))))
             (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)) -0.3)
               (/
                (/
                 (fma (* (- b) b) b (pow t_0 1.5))
                 (* (+ (fma (+ (sqrt t_0) b) b (* b b)) (* (* -3.0 c) a)) 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((-3.0 * c), a, (b * b));
          	double tmp;
          	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)) <= -0.3) {
          		tmp = (fma((-b * b), b, pow(t_0, 1.5)) / ((fma((sqrt(t_0) + b), b, (b * b)) + ((-3.0 * c) * a)) * 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(-3.0 * c), a, Float64(b * b))
          	tmp = 0.0
          	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a)) <= -0.3)
          		tmp = Float64(Float64(fma(Float64(Float64(-b) * b), b, (t_0 ^ 1.5)) / Float64(Float64(fma(Float64(sqrt(t_0) + b), b, Float64(b * b)) + Float64(Float64(-3.0 * c) * a)) * 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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -0.3], N[(N[(N[(N[((-b) * b), $MachinePrecision] * b + N[Power[t$95$0, 1.5], $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[Sqrt[t$95$0], $MachinePrecision] + b), $MachinePrecision] * b + N[(b * b), $MachinePrecision]), $MachinePrecision] + N[(N[(-3.0 * c), $MachinePrecision] * a), $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(-3 \cdot c, a, b \cdot b\right)\\
          \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\
          \;\;\;\;\frac{\frac{\mathsf{fma}\left(\left(-b\right) \cdot b, b, {t\_0}^{1.5}\right)}{\left(\mathsf{fma}\left(\sqrt{t\_0} + b, b, b \cdot b\right) + \left(-3 \cdot c\right) \cdot a\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. inv-powN/A

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

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

                \[\leadsto \color{blue}{\frac{{a}^{-1} \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{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\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}\\ \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(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{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 (* -3.0 c) a (* b b))))
                   (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 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((-3.0 * c), a, (b * b));
                	double tmp;
                	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (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(-3.0 * c), a, Float64(b * b))
                	tmp = 0.0
                	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / 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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -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(-3 \cdot c, a, b \cdot b\right)\\
                \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{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. inv-powN/A

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

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

                      \[\leadsto \color{blue}{\frac{{a}^{-1} \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{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{\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}\\ \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(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\frac{{a}^{-1} \cdot \left(t\_0 - b \cdot b\right)}{\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 (* -3.0 c) a (* b b))))
                         (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)) -0.3)
                           (/ (/ (* (pow a -1.0) (- t_0 (* b b))) (+ (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((-3.0 * c), a, (b * b));
                      	double tmp;
                      	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)) <= -0.3) {
                      		tmp = ((pow(a, -1.0) * (t_0 - (b * b))) / (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(-3.0 * c), a, Float64(b * b))
                      	tmp = 0.0
                      	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a)) <= -0.3)
                      		tmp = Float64(Float64(Float64((a ^ -1.0) * Float64(t_0 - Float64(b * b))) / 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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -0.3], N[(N[(N[(N[Power[a, -1.0], $MachinePrecision] * N[(t$95$0 - N[(b * b), $MachinePrecision]), $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(-3 \cdot c, a, b \cdot b\right)\\
                      \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\
                      \;\;\;\;\frac{\frac{{a}^{-1} \cdot \left(t\_0 - b \cdot b\right)}{\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. inv-powN/A

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

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

                            \[\leadsto \color{blue}{\frac{{a}^{-1} \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{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\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}\\ \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(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(b \cdot b - t\_0\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{t\_0}}\\ \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 (* -3.0 c) a (* b b))))
                               (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)) -0.3)
                                 (/ (* (- (* b b) t_0) (/ 0.3333333333333333 a)) (- (- b) (sqrt t_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((-3.0 * c), a, (b * b));
                            	double tmp;
                            	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)) <= -0.3) {
                            		tmp = (((b * b) - t_0) * (0.3333333333333333 / a)) / (-b - sqrt(t_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(-3.0 * c), a, Float64(b * b))
                            	tmp = 0.0
                            	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a)) <= -0.3)
                            		tmp = Float64(Float64(Float64(Float64(b * b) - t_0) * Float64(0.3333333333333333 / a)) / Float64(Float64(-b) - sqrt(t_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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -0.3], N[(N[(N[(N[(b * b), $MachinePrecision] - t$95$0), $MachinePrecision] * N[(0.3333333333333333 / a), $MachinePrecision]), $MachinePrecision] / N[((-b) - N[Sqrt[t$95$0], $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), $MachinePrecision] * c + N[(-0.5 * c), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]]]
                            
                            \begin{array}{l}
                            
                            \\
                            \begin{array}{l}
                            t_0 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\
                            \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\
                            \;\;\;\;\frac{\left(b \cdot b - t\_0\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{t\_0}}\\
                            
                            \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. inv-powN/A

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

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

                                  \[\leadsto \color{blue}{\frac{{a}^{-1} \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{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\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)}}\\ \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(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{\left(b \cdot b - t\_0\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{t\_0}}\\ \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 (* -3.0 c) a (* b b))))
                                     (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)) -0.3)
                                       (/ (* (- (* b b) t_0) (/ 0.3333333333333333 a)) (- (- b) (sqrt t_0)))
                                       (/
                                        (*
                                         (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((-3.0 * c), a, (b * b));
                                  	double tmp;
                                  	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)) <= -0.3) {
                                  		tmp = (((b * b) - t_0) * (0.3333333333333333 / a)) / (-b - sqrt(t_0));
                                  	} 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(-3.0 * c), a, Float64(b * b))
                                  	tmp = 0.0
                                  	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a)) <= -0.3)
                                  		tmp = Float64(Float64(Float64(Float64(b * b) - t_0) * Float64(0.3333333333333333 / a)) / Float64(Float64(-b) - sqrt(t_0)));
                                  	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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -0.3], N[(N[(N[(N[(b * b), $MachinePrecision] - t$95$0), $MachinePrecision] * N[(0.3333333333333333 / a), $MachinePrecision]), $MachinePrecision] / N[((-b) - N[Sqrt[t$95$0], $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(-3 \cdot c, a, b \cdot b\right)\\
                                  \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\
                                  \;\;\;\;\frac{\left(b \cdot b - t\_0\right) \cdot \frac{0.3333333333333333}{a}}{\left(-b\right) - \sqrt{t\_0}}\\
                                  
                                  \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. inv-powN/A

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

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

                                        \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

                                      Alternative 12: 89.3% accurate, 0.4× speedup?

                                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\ \;\;\;\;\frac{b \cdot b - t\_0}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{t\_0}\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 (* -3.0 c) a (* b b))))
                                         (if (<= (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)) -0.3)
                                           (/ (- (* b b) t_0) (* (* 3.0 a) (- (- b) (sqrt t_0))))
                                           (/
                                            (*
                                             (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((-3.0 * c), a, (b * b));
                                      	double tmp;
                                      	if (((-b + sqrt(((b * b) - ((3.0 * a) * c)))) / (3.0 * a)) <= -0.3) {
                                      		tmp = ((b * b) - t_0) / ((3.0 * a) * (-b - sqrt(t_0)));
                                      	} 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(-3.0 * c), a, Float64(b * b))
                                      	tmp = 0.0
                                      	if (Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(Float64(3.0 * a) * c)))) / Float64(3.0 * a)) <= -0.3)
                                      		tmp = Float64(Float64(Float64(b * b) - t_0) / Float64(Float64(3.0 * a) * Float64(Float64(-b) - sqrt(t_0))));
                                      	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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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], -0.3], N[(N[(N[(b * b), $MachinePrecision] - t$95$0), $MachinePrecision] / N[(N[(3.0 * a), $MachinePrecision] * N[((-b) - N[Sqrt[t$95$0], $MachinePrecision]), $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(-3 \cdot c, a, b \cdot b\right)\\
                                      \mathbf{if}\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a} \leq -0.3:\\
                                      \;\;\;\;\frac{b \cdot b - t\_0}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{t\_0}\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. inv-powN/A

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

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

                                            \[\leadsto \color{blue}{\frac{{a}^{-1} \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. Add Preprocessing

                                          Alternative 13: 84.8% accurate, 0.6× speedup?

                                          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(-3 \cdot c, a, b \cdot b\right)\\ \mathbf{if}\;b \leq 220:\\ \;\;\;\;\frac{b \cdot b - t\_0}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{t\_0}\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 (* -3.0 c) a (* b b))))
                                             (if (<= b 220.0)
                                               (/ (- (* b b) t_0) (* (* 3.0 a) (- (- b) (sqrt t_0))))
                                               (/ (fma (* -0.375 a) (/ (* c c) (* b b)) (* -0.5 c)) b))))
                                          double code(double a, double b, double c) {
                                          	double t_0 = fma((-3.0 * c), a, (b * b));
                                          	double tmp;
                                          	if (b <= 220.0) {
                                          		tmp = ((b * b) - t_0) / ((3.0 * a) * (-b - sqrt(t_0)));
                                          	} 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(-3.0 * c), a, Float64(b * b))
                                          	tmp = 0.0
                                          	if (b <= 220.0)
                                          		tmp = Float64(Float64(Float64(b * b) - t_0) / Float64(Float64(3.0 * a) * Float64(Float64(-b) - sqrt(t_0))));
                                          	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[(-3.0 * c), $MachinePrecision] * a + N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, 220.0], N[(N[(N[(b * b), $MachinePrecision] - t$95$0), $MachinePrecision] / N[(N[(3.0 * a), $MachinePrecision] * N[((-b) - N[Sqrt[t$95$0], $MachinePrecision]), $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(-3 \cdot c, a, b \cdot b\right)\\
                                          \mathbf{if}\;b \leq 220:\\
                                          \;\;\;\;\frac{b \cdot b - t\_0}{\left(3 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{t\_0}\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. inv-powN/A

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

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

                                                \[\leadsto \color{blue}{\frac{{a}^{-1} \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. associate-*r*N/A

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

                                                \[\leadsto \frac{\frac{\left(\frac{-3}{8} \cdot a\right) \cdot {c}^{2}}{\color{blue}{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. Add Preprocessing

                                            Alternative 14: 84.3% accurate, 0.9× speedup?

                                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 219:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}{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)
                                               (/ (+ (- b) (sqrt (fma b b (* (* -3.0 a) c)))) (* 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 = (-b + sqrt(fma(b, b, ((-3.0 * a) * c)))) / (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(Float64(-b) + sqrt(fma(b, b, Float64(Float64(-3.0 * a) * c)))) / 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[((-b) + N[Sqrt[N[(b * b + N[(N[(-3.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $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{\left(-b\right) + \sqrt{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}{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. associate-*r*N/A

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

                                                  \[\leadsto \frac{\frac{\left(\frac{-3}{8} \cdot a\right) \cdot {c}^{2}}{\color{blue}{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. Add Preprocessing

                                              Alternative 15: 84.2% accurate, 0.9× speedup?

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

                                                      Alternative 17: 84.2% accurate, 1.0× speedup?

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

                                                          Alternative 18: 81.4% accurate, 1.1× speedup?

                                                          \[\begin{array}{l} \\ \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, c, -0.5\right) \cdot c}{b} \end{array} \]
                                                          (FPCore (a b c)
                                                           :precision binary64
                                                           (/ (* (fma (* -0.375 (/ a (* b b))) c -0.5) c) b))
                                                          double code(double a, double b, double c) {
                                                          	return (fma((-0.375 * (a / (b * b))), c, -0.5) * c) / b;
                                                          }
                                                          
                                                          function code(a, b, c)
                                                          	return Float64(Float64(fma(Float64(-0.375 * Float64(a / Float64(b * b))), c, -0.5) * c) / b)
                                                          end
                                                          
                                                          code[a_, b_, c_] := N[(N[(N[(N[(-0.375 * N[(a / N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * c + -0.5), $MachinePrecision] * c), $MachinePrecision] / b), $MachinePrecision]
                                                          
                                                          \begin{array}{l}
                                                          
                                                          \\
                                                          \frac{\mathsf{fma}\left(-0.375 \cdot \frac{a}{b \cdot b}, 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. Add Preprocessing

                                                              Alternative 19: 64.5% accurate, 2.9× speedup?

                                                              \[\begin{array}{l} \\ -0.5 \cdot \frac{c}{b} \end{array} \]
                                                              (FPCore (a b c) :precision binary64 (* -0.5 (/ c b)))
                                                              double code(double a, double b, double c) {
                                                              	return -0.5 * (c / b);
                                                              }
                                                              
                                                              real(8) function code(a, b, c)
                                                                  real(8), intent (in) :: a
                                                                  real(8), intent (in) :: b
                                                                  real(8), intent (in) :: c
                                                                  code = (-0.5d0) * (c / b)
                                                              end function
                                                              
                                                              public static double code(double a, double b, double c) {
                                                              	return -0.5 * (c / b);
                                                              }
                                                              
                                                              def code(a, b, c):
                                                              	return -0.5 * (c / b)
                                                              
                                                              function code(a, b, c)
                                                              	return Float64(-0.5 * Float64(c / b))
                                                              end
                                                              
                                                              function tmp = code(a, b, c)
                                                              	tmp = -0.5 * (c / b);
                                                              end
                                                              
                                                              code[a_, b_, c_] := N[(-0.5 * N[(c / b), $MachinePrecision]), $MachinePrecision]
                                                              
                                                              \begin{array}{l}
                                                              
                                                              \\
                                                              -0.5 \cdot \frac{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 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. 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)))