jeff quadratic root 2

Percentage Accurate: 72.0% → 89.8%
Time: 7.2s
Alternatives: 16
Speedup: 1.2×

Specification

?
\[\begin{array}{l} t_0 := \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}\\ \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\ \end{array} \]
(FPCore (a b c)
  :precision binary64
  (let* ((t_0 (sqrt (- (* b b) (* (* 4.0 a) c)))))
  (if (>= b 0.0)
    (/ (* 2.0 c) (- (- b) t_0))
    (/ (+ (- b) t_0) (* 2.0 a)))))
double code(double a, double b, double c) {
	double t_0 = sqrt(((b * b) - ((4.0 * a) * c)));
	double tmp;
	if (b >= 0.0) {
		tmp = (2.0 * c) / (-b - t_0);
	} else {
		tmp = (-b + t_0) / (2.0 * a);
	}
	return tmp;
}
real(8) function code(a, b, c)
use fmin_fmax_functions
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: t_0
    real(8) :: tmp
    t_0 = sqrt(((b * b) - ((4.0d0 * a) * c)))
    if (b >= 0.0d0) then
        tmp = (2.0d0 * c) / (-b - t_0)
    else
        tmp = (-b + t_0) / (2.0d0 * a)
    end if
    code = tmp
end function
public static double code(double a, double b, double c) {
	double t_0 = Math.sqrt(((b * b) - ((4.0 * a) * c)));
	double tmp;
	if (b >= 0.0) {
		tmp = (2.0 * c) / (-b - t_0);
	} else {
		tmp = (-b + t_0) / (2.0 * a);
	}
	return tmp;
}
def code(a, b, c):
	t_0 = math.sqrt(((b * b) - ((4.0 * a) * c)))
	tmp = 0
	if b >= 0.0:
		tmp = (2.0 * c) / (-b - t_0)
	else:
		tmp = (-b + t_0) / (2.0 * a)
	return tmp
function code(a, b, c)
	t_0 = sqrt(Float64(Float64(b * b) - Float64(Float64(4.0 * a) * c)))
	tmp = 0.0
	if (b >= 0.0)
		tmp = Float64(Float64(2.0 * c) / Float64(Float64(-b) - t_0));
	else
		tmp = Float64(Float64(Float64(-b) + t_0) / Float64(2.0 * a));
	end
	return tmp
end
function tmp_2 = code(a, b, c)
	t_0 = sqrt(((b * b) - ((4.0 * a) * c)));
	tmp = 0.0;
	if (b >= 0.0)
		tmp = (2.0 * c) / (-b - t_0);
	else
		tmp = (-b + t_0) / (2.0 * a);
	end
	tmp_2 = tmp;
end
code[a_, b_, c_] := Block[{t$95$0 = N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(4.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[((-b) - t$95$0), $MachinePrecision]), $MachinePrecision], N[(N[((-b) + t$95$0), $MachinePrecision] / N[(2.0 * a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
t_0 := \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}\\
\mathbf{if}\;b \geq 0:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\


\end{array}

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 16 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: 72.0% accurate, 1.0× speedup?

\[\begin{array}{l} t_0 := \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}\\ \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\ \end{array} \]
(FPCore (a b c)
  :precision binary64
  (let* ((t_0 (sqrt (- (* b b) (* (* 4.0 a) c)))))
  (if (>= b 0.0)
    (/ (* 2.0 c) (- (- b) t_0))
    (/ (+ (- b) t_0) (* 2.0 a)))))
double code(double a, double b, double c) {
	double t_0 = sqrt(((b * b) - ((4.0 * a) * c)));
	double tmp;
	if (b >= 0.0) {
		tmp = (2.0 * c) / (-b - t_0);
	} else {
		tmp = (-b + t_0) / (2.0 * a);
	}
	return tmp;
}
real(8) function code(a, b, c)
use fmin_fmax_functions
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: t_0
    real(8) :: tmp
    t_0 = sqrt(((b * b) - ((4.0d0 * a) * c)))
    if (b >= 0.0d0) then
        tmp = (2.0d0 * c) / (-b - t_0)
    else
        tmp = (-b + t_0) / (2.0d0 * a)
    end if
    code = tmp
end function
public static double code(double a, double b, double c) {
	double t_0 = Math.sqrt(((b * b) - ((4.0 * a) * c)));
	double tmp;
	if (b >= 0.0) {
		tmp = (2.0 * c) / (-b - t_0);
	} else {
		tmp = (-b + t_0) / (2.0 * a);
	}
	return tmp;
}
def code(a, b, c):
	t_0 = math.sqrt(((b * b) - ((4.0 * a) * c)))
	tmp = 0
	if b >= 0.0:
		tmp = (2.0 * c) / (-b - t_0)
	else:
		tmp = (-b + t_0) / (2.0 * a)
	return tmp
function code(a, b, c)
	t_0 = sqrt(Float64(Float64(b * b) - Float64(Float64(4.0 * a) * c)))
	tmp = 0.0
	if (b >= 0.0)
		tmp = Float64(Float64(2.0 * c) / Float64(Float64(-b) - t_0));
	else
		tmp = Float64(Float64(Float64(-b) + t_0) / Float64(2.0 * a));
	end
	return tmp
end
function tmp_2 = code(a, b, c)
	t_0 = sqrt(((b * b) - ((4.0 * a) * c)));
	tmp = 0.0;
	if (b >= 0.0)
		tmp = (2.0 * c) / (-b - t_0);
	else
		tmp = (-b + t_0) / (2.0 * a);
	end
	tmp_2 = tmp;
end
code[a_, b_, c_] := Block[{t$95$0 = N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(N[(4.0 * a), $MachinePrecision] * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[((-b) - t$95$0), $MachinePrecision]), $MachinePrecision], N[(N[((-b) + t$95$0), $MachinePrecision] / N[(2.0 * a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
t_0 := \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}\\
\mathbf{if}\;b \geq 0:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\


\end{array}

Alternative 1: 89.8% accurate, 0.8× speedup?

\[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}\\ \mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 2.5 \cdot 10^{+60}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{-2 \cdot c}{t\_1 + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1 - b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
(FPCore (a b c)
  :precision binary64
  (let* ((t_0 (/ (+ c c) (* -2.0 b)))
       (t_1 (sqrt (fma (* -4.0 a) c (* b b)))))
  (if (<= b -1.4e+159)
    (if (>= b 0.0) t_0 (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
    (if (<= b 2.5e+60)
      (if (>= b 0.0) (/ (* -2.0 c) (+ t_1 b)) (/ (- t_1 b) (+ a a)))
      (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))))
double code(double a, double b, double c) {
	double t_0 = (c + c) / (-2.0 * b);
	double t_1 = sqrt(fma((-4.0 * a), c, (b * b)));
	double tmp_1;
	if (b <= -1.4e+159) {
		double tmp_2;
		if (b >= 0.0) {
			tmp_2 = t_0;
		} else {
			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
		}
		tmp_1 = tmp_2;
	} else if (b <= 2.5e+60) {
		double tmp_3;
		if (b >= 0.0) {
			tmp_3 = (-2.0 * c) / (t_1 + b);
		} else {
			tmp_3 = (t_1 - b) / (a + a);
		}
		tmp_1 = tmp_3;
	} else if (b >= 0.0) {
		tmp_1 = t_0;
	} else {
		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
	}
	return tmp_1;
}
function code(a, b, c)
	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
	t_1 = sqrt(fma(Float64(-4.0 * a), c, Float64(b * b)))
	tmp_1 = 0.0
	if (b <= -1.4e+159)
		tmp_2 = 0.0
		if (b >= 0.0)
			tmp_2 = t_0;
		else
			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
		end
		tmp_1 = tmp_2;
	elseif (b <= 2.5e+60)
		tmp_3 = 0.0
		if (b >= 0.0)
			tmp_3 = Float64(Float64(-2.0 * c) / Float64(t_1 + b));
		else
			tmp_3 = Float64(Float64(t_1 - b) / Float64(a + a));
		end
		tmp_1 = tmp_3;
	elseif (b >= 0.0)
		tmp_1 = t_0;
	else
		tmp_1 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
	end
	return tmp_1
end
code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[Sqrt[N[(N[(-4.0 * a), $MachinePrecision] * c + N[(b * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.4e+159], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 2.5e+60], If[GreaterEqual[b, 0.0], N[(N[(-2.0 * c), $MachinePrecision] / N[(t$95$1 + b), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$1 - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
t_0 := \frac{c + c}{-2 \cdot b}\\
t_1 := \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}\\
\mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \geq 0:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\


\end{array}\\

\mathbf{elif}\;b \leq 2.5 \cdot 10^{+60}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \geq 0:\\
\;\;\;\;\frac{-2 \cdot c}{t\_1 + b}\\

\mathbf{else}:\\
\;\;\;\;\frac{t\_1 - b}{a + a}\\


\end{array}\\

\mathbf{elif}\;b \geq 0:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if b < -1.4000000000000001e159

    1. Initial program 72.0%

      \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    2. Taylor expanded in b around inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    3. Step-by-step derivation
      1. lower-*.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    4. Applied rewrites70.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    5. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. count-2-revN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. lower-+.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    6. Applied rewrites70.5%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
    7. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
      2. lift--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
      3. div-subN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      4. lower--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    8. Applied rewrites70.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    9. Taylor expanded in b around -inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    10. Step-by-step derivation
      1. lower-*.f6467.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    11. Applied rewrites67.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

    if -1.4000000000000001e159 < b < 2.4999999999999999e60

    1. Initial program 72.0%

      \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{b \cdot b - \left(4 \cdot a\right) \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. sub-flipN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{b \cdot b + \left(\mathsf{neg}\left(\left(4 \cdot a\right) \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. +-commutativeN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\left(\mathsf{neg}\left(\left(4 \cdot a\right) \cdot c\right)\right) + b \cdot b}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left(\mathsf{neg}\left(\color{blue}{\left(4 \cdot a\right) \cdot c}\right)\right) + b \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. distribute-lft-neg-outN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\left(\mathsf{neg}\left(4 \cdot a\right)\right) \cdot c} + b \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. lower-fma.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(4 \cdot a\right), c, b \cdot b\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      7. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{4 \cdot a}\right), c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      8. distribute-lft-neg-inN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot a}, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      9. lower-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot a}, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      10. metadata-eval72.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(\color{blue}{-4} \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    3. Applied rewrites72.1%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    4. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. sub-flipN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b + \left(\mathsf{neg}\left(\left(4 \cdot a\right) \cdot c\right)\right)}}{2 \cdot a}\\ \end{array} \]
      3. +-commutativeN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left(\mathsf{neg}\left(\left(4 \cdot a\right) \cdot c\right)\right) + b \cdot b}}{2 \cdot a}\\ \end{array} \]
      4. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left(\mathsf{neg}\left(\left(4 \cdot a\right) \cdot c\right)\right) + b \cdot b}}{2 \cdot a}\\ \end{array} \]
      5. distribute-lft-neg-outN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left(\mathsf{neg}\left(4 \cdot a\right)\right) \cdot c + b \cdot b}}{2 \cdot a}\\ \end{array} \]
      6. lower-fma.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(\mathsf{neg}\left(4 \cdot a\right), c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
      7. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(\mathsf{neg}\left(4 \cdot a\right), c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
      8. distribute-lft-neg-inN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(\left(\mathsf{neg}\left(4\right)\right) \cdot a, c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
      9. lower-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(\left(\mathsf{neg}\left(4\right)\right) \cdot a, c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
      10. metadata-eval72.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
    5. Applied rewrites72.1%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{2 \cdot a}\\ \end{array} \]
    6. Applied rewrites72.1%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{-2 \cdot c}{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]

    if 2.4999999999999999e60 < b

    1. Initial program 72.0%

      \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    2. Taylor expanded in b around inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    3. Step-by-step derivation
      1. lower-*.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    4. Applied rewrites70.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    5. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. count-2-revN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. lower-+.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    6. Applied rewrites70.5%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
    7. Applied rewrites70.4%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
    8. Taylor expanded in b around -inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    9. Step-by-step derivation
      1. lower-*.f6467.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    10. Applied rewrites67.4%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 2: 89.7% accurate, 0.8× speedup?

\[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \sqrt{\mathsf{fma}\left(-4, a \cdot c, b \cdot b\right)}\\ \mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 2.5 \cdot 10^{+60}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1 - b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
(FPCore (a b c)
  :precision binary64
  (let* ((t_0 (/ (+ c c) (* -2.0 b)))
       (t_1 (sqrt (fma -4.0 (* a c) (* b b)))))
  (if (<= b -1.4e+159)
    (if (>= b 0.0) t_0 (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
    (if (<= b 2.5e+60)
      (if (>= b 0.0) (* c (/ -2.0 (+ t_1 b))) (/ (- t_1 b) (+ a a)))
      (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))))
double code(double a, double b, double c) {
	double t_0 = (c + c) / (-2.0 * b);
	double t_1 = sqrt(fma(-4.0, (a * c), (b * b)));
	double tmp_1;
	if (b <= -1.4e+159) {
		double tmp_2;
		if (b >= 0.0) {
			tmp_2 = t_0;
		} else {
			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
		}
		tmp_1 = tmp_2;
	} else if (b <= 2.5e+60) {
		double tmp_3;
		if (b >= 0.0) {
			tmp_3 = c * (-2.0 / (t_1 + b));
		} else {
			tmp_3 = (t_1 - b) / (a + a);
		}
		tmp_1 = tmp_3;
	} else if (b >= 0.0) {
		tmp_1 = t_0;
	} else {
		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
	}
	return tmp_1;
}
function code(a, b, c)
	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
	t_1 = sqrt(fma(-4.0, Float64(a * c), Float64(b * b)))
	tmp_1 = 0.0
	if (b <= -1.4e+159)
		tmp_2 = 0.0
		if (b >= 0.0)
			tmp_2 = t_0;
		else
			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
		end
		tmp_1 = tmp_2;
	elseif (b <= 2.5e+60)
		tmp_3 = 0.0
		if (b >= 0.0)
			tmp_3 = Float64(c * Float64(-2.0 / Float64(t_1 + b)));
		else
			tmp_3 = Float64(Float64(t_1 - b) / Float64(a + a));
		end
		tmp_1 = tmp_3;
	elseif (b >= 0.0)
		tmp_1 = t_0;
	else
		tmp_1 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
	end
	return tmp_1
end
code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision] + N[(b * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.4e+159], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 2.5e+60], If[GreaterEqual[b, 0.0], N[(c * N[(-2.0 / N[(t$95$1 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$1 - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
t_0 := \frac{c + c}{-2 \cdot b}\\
t_1 := \sqrt{\mathsf{fma}\left(-4, a \cdot c, b \cdot b\right)}\\
\mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \geq 0:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\


\end{array}\\

\mathbf{elif}\;b \leq 2.5 \cdot 10^{+60}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \geq 0:\\
\;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\

\mathbf{else}:\\
\;\;\;\;\frac{t\_1 - b}{a + a}\\


\end{array}\\

\mathbf{elif}\;b \geq 0:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if b < -1.4000000000000001e159

    1. Initial program 72.0%

      \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    2. Taylor expanded in b around inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    3. Step-by-step derivation
      1. lower-*.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    4. Applied rewrites70.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    5. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. count-2-revN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. lower-+.f6470.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    6. Applied rewrites70.5%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
    7. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
      2. lift--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
      3. div-subN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      4. lower--.f64N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    8. Applied rewrites70.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    9. Taylor expanded in b around -inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    10. Step-by-step derivation
      1. lower-*.f6467.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
    11. Applied rewrites67.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

    if -1.4000000000000001e159 < b < 2.4999999999999999e60

    1. Initial program 72.0%

      \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
    2. Step-by-step derivation
      1. Applied rewrites72.0%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{\sqrt{\mathsf{fma}\left(-4, a \cdot c, b \cdot b\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4, a \cdot c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]

      if 2.4999999999999999e60 < b

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Applied rewrites70.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
      8. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      9. Step-by-step derivation
        1. lower-*.f6467.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      10. Applied rewrites67.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 3: 83.4% accurate, 0.8× speedup?

    \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ \mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
    (FPCore (a b c)
      :precision binary64
      (let* ((t_0 (/ (+ c c) (* -2.0 b))))
      (if (<= b -1.4e+159)
        (if (>= b 0.0) t_0 (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
        (if (<= b -2.9e-256)
          (if (>= b 0.0)
            t_0
            (/ (- (sqrt (fma (* -4.0 a) c (* b b))) b) (+ a a)))
          (if (<= b 1.55e-139)
            (if (>= b 0.0)
              (* -2.0 (/ c (sqrt (- (* 4.0 (* a c))))))
              (fma b (/ -0.5 a) (sqrt (fabs (/ c a)))))
            (if (>= b 0.0)
              (/ (* 2.0 c) (* -2.0 b))
              (* -0.5 (/ (* c (sqrt (* -4.0 (/ a c)))) a))))))))
    double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double tmp_1;
    	if (b <= -1.4e+159) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= -2.9e-256) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = t_0;
    		} else {
    			tmp_3 = (sqrt(fma((-4.0 * a), c, (b * b))) - b) / (a + a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b <= 1.55e-139) {
    		double tmp_4;
    		if (b >= 0.0) {
    			tmp_4 = -2.0 * (c / sqrt(-(4.0 * (a * c))));
    		} else {
    			tmp_4 = fma(b, (-0.5 / a), sqrt(fabs((c / a))));
    		}
    		tmp_1 = tmp_4;
    	} else if (b >= 0.0) {
    		tmp_1 = (2.0 * c) / (-2.0 * b);
    	} else {
    		tmp_1 = -0.5 * ((c * sqrt((-4.0 * (a / c)))) / a);
    	}
    	return tmp_1;
    }
    
    function code(a, b, c)
    	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
    	tmp_1 = 0.0
    	if (b <= -1.4e+159)
    		tmp_2 = 0.0
    		if (b >= 0.0)
    			tmp_2 = t_0;
    		else
    			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
    		end
    		tmp_1 = tmp_2;
    	elseif (b <= -2.9e-256)
    		tmp_3 = 0.0
    		if (b >= 0.0)
    			tmp_3 = t_0;
    		else
    			tmp_3 = Float64(Float64(sqrt(fma(Float64(-4.0 * a), c, Float64(b * b))) - b) / Float64(a + a));
    		end
    		tmp_1 = tmp_3;
    	elseif (b <= 1.55e-139)
    		tmp_4 = 0.0
    		if (b >= 0.0)
    			tmp_4 = Float64(-2.0 * Float64(c / sqrt(Float64(-Float64(4.0 * Float64(a * c))))));
    		else
    			tmp_4 = fma(b, Float64(-0.5 / a), sqrt(abs(Float64(c / a))));
    		end
    		tmp_1 = tmp_4;
    	elseif (b >= 0.0)
    		tmp_1 = Float64(Float64(2.0 * c) / Float64(-2.0 * b));
    	else
    		tmp_1 = Float64(-0.5 * Float64(Float64(c * sqrt(Float64(-4.0 * Float64(a / c)))) / a));
    	end
    	return tmp_1
    end
    
    code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.4e+159], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, -2.9e-256], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[Sqrt[N[(N[(-4.0 * a), $MachinePrecision] * c + N[(b * b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 1.55e-139], If[GreaterEqual[b, 0.0], N[(-2.0 * N[(c / N[Sqrt[(-N[(4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(-0.5 / a), $MachinePrecision] + N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(-0.5 * N[(N[(c * N[Sqrt[N[(-4.0 * N[(a / c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]]]]]
    
    \begin{array}{l}
    t_0 := \frac{c + c}{-2 \cdot b}\\
    \mathbf{if}\;b \leq -1.4 \cdot 10^{+159}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\
    
    \mathbf{else}:\\
    \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \geq 0:\\
    \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\
    
    \mathbf{else}:\\
    \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if b < -1.4000000000000001e159

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        2. lift--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        3. div-subN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
        4. lower--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      8. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      9. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      10. Step-by-step derivation
        1. lower-*.f6467.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      11. Applied rewrites67.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

      if -1.4000000000000001e159 < b < -2.8999999999999997e-256

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]

      if -2.8999999999999997e-256 < b < 1.55e-139

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)}\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{b}{a}}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        4. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        6. lower-/.f6448.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\right)\\ \end{array} \]
      4. Applied rewrites48.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      5. Taylor expanded in c around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        2. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        4. lower-/.f6420.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      7. Applied rewrites20.8%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      8. Step-by-step derivation
        1. lift-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        2. *-commutativeN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a} \cdot \frac{-1}{2}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        3. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a}} \cdot \frac{-1}{2} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        4. associate-*l/N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b \cdot \frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        5. associate-/l*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{b \cdot \frac{\frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        6. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        7. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        8. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        9. sqrt-prodN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\left(\sqrt{\left|-4\right|} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        10. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\sqrt{\color{blue}{4}} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        11. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\color{blue}{2} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        12. lift-fabs.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \sqrt{\color{blue}{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
        13. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
        14. *-lft-identityN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
        15. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
        16. associate-*r*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\left(\frac{1}{2} \cdot 2\right) \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        17. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1} \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        18. *-lft-identityN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\\ \end{array} \]
        19. lower-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        20. lower-/.f6426.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \color{blue}{\frac{-0.5}{a}}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        21. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
      9. Applied rewrites26.8%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
      10. Taylor expanded in b around 0

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
      11. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \color{blue}{\frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\color{blue}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        3. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        4. lower-neg.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        6. lower-*.f6431.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
      12. Applied rewrites31.7%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]

      if 1.55e-139 < b

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Taylor expanded in c around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{\color{blue}{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        4. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{\color{blue}{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        6. lower-/.f6441.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \color{blue}{\frac{a}{c}}}}{a}\\ \end{array} \]
      7. Applied rewrites41.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
    3. Recombined 4 regimes into one program.
    4. Add Preprocessing

    Alternative 4: 80.8% accurate, 0.9× speedup?

    \[\begin{array}{l} t_0 := \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}\\ \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 7 \cdot 10^{-12}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
    (FPCore (a b c)
      :precision binary64
      (let* ((t_0 (sqrt (fabs (* -4.0 (* a c))))))
      (if (<= b -1.5e-63)
        (if (>= b 0.0)
          (/ (+ c c) (* -2.0 b))
          (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
        (if (<= b 7e-12)
          (if (>= b 0.0)
            (/ (* 2.0 c) (- (- b) t_0))
            (/ (+ (- b) t_0) (* 2.0 a)))
          (if (>= b 0.0)
            (/ (* 2.0 c) (* -2.0 b))
            (* -0.5 (/ (* c (sqrt (* -4.0 (/ a c)))) a)))))))
    double code(double a, double b, double c) {
    	double t_0 = sqrt(fabs((-4.0 * (a * c))));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = (c + c) / (-2.0 * b);
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 7e-12) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = (2.0 * c) / (-b - t_0);
    		} else {
    			tmp_3 = (-b + t_0) / (2.0 * a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = (2.0 * c) / (-2.0 * b);
    	} else {
    		tmp_1 = -0.5 * ((c * sqrt((-4.0 * (a / c)))) / a);
    	}
    	return tmp_1;
    }
    
    real(8) function code(a, b, c)
    use fmin_fmax_functions
        real(8), intent (in) :: a
        real(8), intent (in) :: b
        real(8), intent (in) :: c
        real(8) :: t_0
        real(8) :: tmp
        real(8) :: tmp_1
        real(8) :: tmp_2
        real(8) :: tmp_3
        t_0 = sqrt(abs(((-4.0d0) * (a * c))))
        if (b <= (-1.5d-63)) then
            if (b >= 0.0d0) then
                tmp_2 = (c + c) / ((-2.0d0) * b)
            else
                tmp_2 = (((-1.0d0) * b) / (a + a)) - (b / (a + a))
            end if
            tmp_1 = tmp_2
        else if (b <= 7d-12) then
            if (b >= 0.0d0) then
                tmp_3 = (2.0d0 * c) / (-b - t_0)
            else
                tmp_3 = (-b + t_0) / (2.0d0 * a)
            end if
            tmp_1 = tmp_3
        else if (b >= 0.0d0) then
            tmp_1 = (2.0d0 * c) / ((-2.0d0) * b)
        else
            tmp_1 = (-0.5d0) * ((c * sqrt(((-4.0d0) * (a / c)))) / a)
        end if
        code = tmp_1
    end function
    
    public static double code(double a, double b, double c) {
    	double t_0 = Math.sqrt(Math.abs((-4.0 * (a * c))));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = (c + c) / (-2.0 * b);
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 7e-12) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = (2.0 * c) / (-b - t_0);
    		} else {
    			tmp_3 = (-b + t_0) / (2.0 * a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = (2.0 * c) / (-2.0 * b);
    	} else {
    		tmp_1 = -0.5 * ((c * Math.sqrt((-4.0 * (a / c)))) / a);
    	}
    	return tmp_1;
    }
    
    def code(a, b, c):
    	t_0 = math.sqrt(math.fabs((-4.0 * (a * c))))
    	tmp_1 = 0
    	if b <= -1.5e-63:
    		tmp_2 = 0
    		if b >= 0.0:
    			tmp_2 = (c + c) / (-2.0 * b)
    		else:
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a))
    		tmp_1 = tmp_2
    	elif b <= 7e-12:
    		tmp_3 = 0
    		if b >= 0.0:
    			tmp_3 = (2.0 * c) / (-b - t_0)
    		else:
    			tmp_3 = (-b + t_0) / (2.0 * a)
    		tmp_1 = tmp_3
    	elif b >= 0.0:
    		tmp_1 = (2.0 * c) / (-2.0 * b)
    	else:
    		tmp_1 = -0.5 * ((c * math.sqrt((-4.0 * (a / c)))) / a)
    	return tmp_1
    
    function code(a, b, c)
    	t_0 = sqrt(abs(Float64(-4.0 * Float64(a * c))))
    	tmp_1 = 0.0
    	if (b <= -1.5e-63)
    		tmp_2 = 0.0
    		if (b >= 0.0)
    			tmp_2 = Float64(Float64(c + c) / Float64(-2.0 * b));
    		else
    			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
    		end
    		tmp_1 = tmp_2;
    	elseif (b <= 7e-12)
    		tmp_3 = 0.0
    		if (b >= 0.0)
    			tmp_3 = Float64(Float64(2.0 * c) / Float64(Float64(-b) - t_0));
    		else
    			tmp_3 = Float64(Float64(Float64(-b) + t_0) / Float64(2.0 * a));
    		end
    		tmp_1 = tmp_3;
    	elseif (b >= 0.0)
    		tmp_1 = Float64(Float64(2.0 * c) / Float64(-2.0 * b));
    	else
    		tmp_1 = Float64(-0.5 * Float64(Float64(c * sqrt(Float64(-4.0 * Float64(a / c)))) / a));
    	end
    	return tmp_1
    end
    
    function tmp_5 = code(a, b, c)
    	t_0 = sqrt(abs((-4.0 * (a * c))));
    	tmp_2 = 0.0;
    	if (b <= -1.5e-63)
    		tmp_3 = 0.0;
    		if (b >= 0.0)
    			tmp_3 = (c + c) / (-2.0 * b);
    		else
    			tmp_3 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		end
    		tmp_2 = tmp_3;
    	elseif (b <= 7e-12)
    		tmp_4 = 0.0;
    		if (b >= 0.0)
    			tmp_4 = (2.0 * c) / (-b - t_0);
    		else
    			tmp_4 = (-b + t_0) / (2.0 * a);
    		end
    		tmp_2 = tmp_4;
    	elseif (b >= 0.0)
    		tmp_2 = (2.0 * c) / (-2.0 * b);
    	else
    		tmp_2 = -0.5 * ((c * sqrt((-4.0 * (a / c)))) / a);
    	end
    	tmp_5 = tmp_2;
    end
    
    code[a_, b_, c_] := Block[{t$95$0 = N[Sqrt[N[Abs[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.5e-63], If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 7e-12], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[((-b) - t$95$0), $MachinePrecision]), $MachinePrecision], N[(N[((-b) + t$95$0), $MachinePrecision] / N[(2.0 * a), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(-0.5 * N[(N[(c * N[Sqrt[N[(-4.0 * N[(a / c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]]]]
    
    \begin{array}{l}
    t_0 := \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}\\
    \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;\frac{c + c}{-2 \cdot b}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq 7 \cdot 10^{-12}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_0}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{\left(-b\right) + t\_0}{2 \cdot a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \geq 0:\\
    \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\
    
    \mathbf{else}:\\
    \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if b < -1.4999999999999999e-63

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        2. lift--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        3. div-subN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
        4. lower--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      8. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      9. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      10. Step-by-step derivation
        1. lower-*.f6467.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      11. Applied rewrites67.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

      if -1.4999999999999999e-63 < b < 7.0000000000000001e-12

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6456.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot \color{blue}{c}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites56.9%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6440.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      7. Applied rewrites40.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      8. Step-by-step derivation
        1. rem-square-sqrtN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        2. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        3. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        4. fabs-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        5. lower-fabs.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        6. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|\color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        7. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        8. rem-square-sqrt45.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|\color{blue}{-4 \cdot \left(a \cdot c\right)}\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      9. Applied rewrites45.0%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{\left|-4 \cdot \left(a \cdot c\right)\right|}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      10. Step-by-step derivation
        1. rem-square-sqrtN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}}}{2 \cdot a}\\ \end{array} \]
        2. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}}}{2 \cdot a}\\ \end{array} \]
        3. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}}}{2 \cdot a}\\ \end{array} \]
        4. fabs-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}{2 \cdot a}\\ \end{array} \]
        5. lower-fabs.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}{2 \cdot a}\\ \end{array} \]
        6. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}{2 \cdot a}\\ \end{array} \]
        7. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|\sqrt{-4 \cdot \left(a \cdot c\right)} \cdot \sqrt{-4 \cdot \left(a \cdot c\right)}\right|}}{2 \cdot a}\\ \end{array} \]
        8. rem-square-sqrt50.2%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}{2 \cdot a}\\ \end{array} \]
      11. Applied rewrites50.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{\left|-4 \cdot \left(a \cdot c\right)\right|}}{2 \cdot a}\\ \end{array} \]

      if 7.0000000000000001e-12 < b

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Taylor expanded in c around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{\color{blue}{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        4. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{\color{blue}{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
        6. lower-/.f6441.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \color{blue}{\frac{a}{c}}}}{a}\\ \end{array} \]
      7. Applied rewrites41.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 5: 80.8% accurate, 0.9× speedup?

    \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \]
    (FPCore (a b c)
      :precision binary64
      (let* ((t_0 (/ (+ c c) (* -2.0 b)))
           (t_1 (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))
      (if (<= b -1.5e-63)
        t_1
        (if (<= b -2.9e-256)
          (if (>= b 0.0) t_0 (/ (- (sqrt (* -4.0 (* a c))) b) (+ a a)))
          (if (<= b 1.55e-139)
            (if (>= b 0.0)
              (* -2.0 (/ c (sqrt (- (* 4.0 (* a c))))))
              (fma b (/ -0.5 a) (sqrt (fabs (/ c a)))))
            t_1)))))
    double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double tmp;
    	if (b >= 0.0) {
    		tmp = t_0;
    	} else {
    		tmp = (0.5 / a) * ((-1.0 * b) - b);
    	}
    	double t_1 = tmp;
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		tmp_1 = t_1;
    	} else if (b <= -2.9e-256) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = (sqrt((-4.0 * (a * c))) - b) / (a + a);
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 1.55e-139) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = -2.0 * (c / sqrt(-(4.0 * (a * c))));
    		} else {
    			tmp_3 = fma(b, (-0.5 / a), sqrt(fabs((c / a))));
    		}
    		tmp_1 = tmp_3;
    	} else {
    		tmp_1 = t_1;
    	}
    	return tmp_1;
    }
    
    function code(a, b, c)
    	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
    	tmp = 0.0
    	if (b >= 0.0)
    		tmp = t_0;
    	else
    		tmp = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
    	end
    	t_1 = tmp
    	tmp_1 = 0.0
    	if (b <= -1.5e-63)
    		tmp_1 = t_1;
    	elseif (b <= -2.9e-256)
    		tmp_2 = 0.0
    		if (b >= 0.0)
    			tmp_2 = t_0;
    		else
    			tmp_2 = Float64(Float64(sqrt(Float64(-4.0 * Float64(a * c))) - b) / Float64(a + a));
    		end
    		tmp_1 = tmp_2;
    	elseif (b <= 1.55e-139)
    		tmp_3 = 0.0
    		if (b >= 0.0)
    			tmp_3 = Float64(-2.0 * Float64(c / sqrt(Float64(-Float64(4.0 * Float64(a * c))))));
    		else
    			tmp_3 = fma(b, Float64(-0.5 / a), sqrt(abs(Float64(c / a))));
    		end
    		tmp_1 = tmp_3;
    	else
    		tmp_1 = t_1;
    	end
    	return tmp_1
    end
    
    code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]}, If[LessEqual[b, -1.5e-63], t$95$1, If[LessEqual[b, -2.9e-256], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 1.55e-139], If[GreaterEqual[b, 0.0], N[(-2.0 * N[(c / N[Sqrt[(-N[(4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(-0.5 / a), $MachinePrecision] + N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], t$95$1]]]]]
    
    \begin{array}{l}
    t_0 := \frac{c + c}{-2 \cdot b}\\
    t_1 := \begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
    
    
    \end{array}\\
    \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\
    \;\;\;\;t\_1\\
    
    \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\
    
    \mathbf{else}:\\
    \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\
    
    
    \end{array}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_1\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if b < -1.4999999999999999e-63 or 1.55e-139 < b

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Applied rewrites70.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
      8. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      9. Step-by-step derivation
        1. lower-*.f6467.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      10. Applied rewrites67.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

      if -1.4999999999999999e-63 < b < -2.8999999999999997e-256

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Taylor expanded in b around 0

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array} \]
      8. Step-by-step derivation
        1. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array} \]
        2. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array} \]
        3. lower-*.f6454.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array} \]
      9. Applied rewrites54.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ \end{array} \]

      if -2.8999999999999997e-256 < b < 1.55e-139

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)}\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{b}{a}}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        4. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
        6. lower-/.f6448.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\right)\\ \end{array} \]
      4. Applied rewrites48.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      5. Taylor expanded in c around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        2. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        3. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
        4. lower-/.f6420.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      7. Applied rewrites20.8%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
      8. Step-by-step derivation
        1. lift-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        2. *-commutativeN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a} \cdot \frac{-1}{2}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        3. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a}} \cdot \frac{-1}{2} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        4. associate-*l/N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b \cdot \frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        5. associate-/l*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{b \cdot \frac{\frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        6. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        7. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        8. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
        9. sqrt-prodN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\left(\sqrt{\left|-4\right|} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        10. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\sqrt{\color{blue}{4}} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        11. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\color{blue}{2} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        12. lift-fabs.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \sqrt{\color{blue}{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
        13. lift-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
        14. *-lft-identityN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
        15. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
        16. associate-*r*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\left(\frac{1}{2} \cdot 2\right) \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        17. metadata-evalN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1} \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        18. *-lft-identityN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\\ \end{array} \]
        19. lower-fma.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
        20. lower-/.f6426.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \color{blue}{\frac{-0.5}{a}}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        21. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
      9. Applied rewrites26.8%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
      10. Taylor expanded in b around 0

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
      11. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \color{blue}{\frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        2. lower-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\color{blue}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        3. lower-sqrt.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        4. lower-neg.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        5. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        6. lower-*.f6431.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
      12. Applied rewrites31.7%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 6: 80.8% accurate, 0.9× speedup?

    \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\ \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + t\_1}{2 \cdot a}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    (FPCore (a b c)
      :precision binary64
      (let* ((t_0 (/ (+ c c) (* -2.0 b))) (t_1 (sqrt (* -4.0 (* a c)))))
      (if (<= b -1.5e-63)
        (if (>= b 0.0) t_0 (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
        (if (<= b 5.6e-121)
          (if (>= b 0.0)
            (/ (* 2.0 c) (- (- b) t_1))
            (/ (+ (- b) t_1) (* 2.0 a)))
          (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))))
    double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double t_1 = sqrt((-4.0 * (a * c)));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 5.6e-121) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = (2.0 * c) / (-b - t_1);
    		} else {
    			tmp_3 = (-b + t_1) / (2.0 * a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = t_0;
    	} else {
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
    	}
    	return tmp_1;
    }
    
    real(8) function code(a, b, c)
    use fmin_fmax_functions
        real(8), intent (in) :: a
        real(8), intent (in) :: b
        real(8), intent (in) :: c
        real(8) :: t_0
        real(8) :: t_1
        real(8) :: tmp
        real(8) :: tmp_1
        real(8) :: tmp_2
        real(8) :: tmp_3
        t_0 = (c + c) / ((-2.0d0) * b)
        t_1 = sqrt(((-4.0d0) * (a * c)))
        if (b <= (-1.5d-63)) then
            if (b >= 0.0d0) then
                tmp_2 = t_0
            else
                tmp_2 = (((-1.0d0) * b) / (a + a)) - (b / (a + a))
            end if
            tmp_1 = tmp_2
        else if (b <= 5.6d-121) then
            if (b >= 0.0d0) then
                tmp_3 = (2.0d0 * c) / (-b - t_1)
            else
                tmp_3 = (-b + t_1) / (2.0d0 * a)
            end if
            tmp_1 = tmp_3
        else if (b >= 0.0d0) then
            tmp_1 = t_0
        else
            tmp_1 = (0.5d0 / a) * (((-1.0d0) * b) - b)
        end if
        code = tmp_1
    end function
    
    public static double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double t_1 = Math.sqrt((-4.0 * (a * c)));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 5.6e-121) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = (2.0 * c) / (-b - t_1);
    		} else {
    			tmp_3 = (-b + t_1) / (2.0 * a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = t_0;
    	} else {
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
    	}
    	return tmp_1;
    }
    
    def code(a, b, c):
    	t_0 = (c + c) / (-2.0 * b)
    	t_1 = math.sqrt((-4.0 * (a * c)))
    	tmp_1 = 0
    	if b <= -1.5e-63:
    		tmp_2 = 0
    		if b >= 0.0:
    			tmp_2 = t_0
    		else:
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a))
    		tmp_1 = tmp_2
    	elif b <= 5.6e-121:
    		tmp_3 = 0
    		if b >= 0.0:
    			tmp_3 = (2.0 * c) / (-b - t_1)
    		else:
    			tmp_3 = (-b + t_1) / (2.0 * a)
    		tmp_1 = tmp_3
    	elif b >= 0.0:
    		tmp_1 = t_0
    	else:
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b)
    	return tmp_1
    
    function code(a, b, c)
    	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
    	t_1 = sqrt(Float64(-4.0 * Float64(a * c)))
    	tmp_1 = 0.0
    	if (b <= -1.5e-63)
    		tmp_2 = 0.0
    		if (b >= 0.0)
    			tmp_2 = t_0;
    		else
    			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
    		end
    		tmp_1 = tmp_2;
    	elseif (b <= 5.6e-121)
    		tmp_3 = 0.0
    		if (b >= 0.0)
    			tmp_3 = Float64(Float64(2.0 * c) / Float64(Float64(-b) - t_1));
    		else
    			tmp_3 = Float64(Float64(Float64(-b) + t_1) / Float64(2.0 * a));
    		end
    		tmp_1 = tmp_3;
    	elseif (b >= 0.0)
    		tmp_1 = t_0;
    	else
    		tmp_1 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
    	end
    	return tmp_1
    end
    
    function tmp_5 = code(a, b, c)
    	t_0 = (c + c) / (-2.0 * b);
    	t_1 = sqrt((-4.0 * (a * c)));
    	tmp_2 = 0.0;
    	if (b <= -1.5e-63)
    		tmp_3 = 0.0;
    		if (b >= 0.0)
    			tmp_3 = t_0;
    		else
    			tmp_3 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		end
    		tmp_2 = tmp_3;
    	elseif (b <= 5.6e-121)
    		tmp_4 = 0.0;
    		if (b >= 0.0)
    			tmp_4 = (2.0 * c) / (-b - t_1);
    		else
    			tmp_4 = (-b + t_1) / (2.0 * a);
    		end
    		tmp_2 = tmp_4;
    	elseif (b >= 0.0)
    		tmp_2 = t_0;
    	else
    		tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
    	end
    	tmp_5 = tmp_2;
    end
    
    code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.5e-63], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 5.6e-121], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[((-b) - t$95$1), $MachinePrecision]), $MachinePrecision], N[(N[((-b) + t$95$1), $MachinePrecision] / N[(2.0 * a), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]]]]]
    
    \begin{array}{l}
    t_0 := \frac{c + c}{-2 \cdot b}\\
    t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\
    \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - t\_1}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{\left(-b\right) + t\_1}{2 \cdot a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if b < -1.4999999999999999e-63

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        2. lift--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        3. div-subN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
        4. lower--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      8. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      9. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      10. Step-by-step derivation
        1. lower-*.f6467.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      11. Applied rewrites67.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

      if -1.4999999999999999e-63 < b < 5.6000000000000002e-121

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6456.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot \color{blue}{c}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites56.9%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6440.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      7. Applied rewrites40.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]

      if 5.6000000000000002e-121 < b

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Applied rewrites70.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
      8. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      9. Step-by-step derivation
        1. lower-*.f6467.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      10. Applied rewrites67.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 7: 80.7% accurate, 1.0× speedup?

    \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\ \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1 - b}{a + a}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
    (FPCore (a b c)
      :precision binary64
      (let* ((t_0 (/ (+ c c) (* -2.0 b))) (t_1 (sqrt (* -4.0 (* a c)))))
      (if (<= b -1.5e-63)
        (if (>= b 0.0) t_0 (- (/ (* -1.0 b) (+ a a)) (/ b (+ a a))))
        (if (<= b 5.6e-121)
          (if (>= b 0.0) (* c (/ -2.0 (+ t_1 b))) (/ (- t_1 b) (+ a a)))
          (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))))
    double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double t_1 = sqrt((-4.0 * (a * c)));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 5.6e-121) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = c * (-2.0 / (t_1 + b));
    		} else {
    			tmp_3 = (t_1 - b) / (a + a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = t_0;
    	} else {
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
    	}
    	return tmp_1;
    }
    
    real(8) function code(a, b, c)
    use fmin_fmax_functions
        real(8), intent (in) :: a
        real(8), intent (in) :: b
        real(8), intent (in) :: c
        real(8) :: t_0
        real(8) :: t_1
        real(8) :: tmp
        real(8) :: tmp_1
        real(8) :: tmp_2
        real(8) :: tmp_3
        t_0 = (c + c) / ((-2.0d0) * b)
        t_1 = sqrt(((-4.0d0) * (a * c)))
        if (b <= (-1.5d-63)) then
            if (b >= 0.0d0) then
                tmp_2 = t_0
            else
                tmp_2 = (((-1.0d0) * b) / (a + a)) - (b / (a + a))
            end if
            tmp_1 = tmp_2
        else if (b <= 5.6d-121) then
            if (b >= 0.0d0) then
                tmp_3 = c * ((-2.0d0) / (t_1 + b))
            else
                tmp_3 = (t_1 - b) / (a + a)
            end if
            tmp_1 = tmp_3
        else if (b >= 0.0d0) then
            tmp_1 = t_0
        else
            tmp_1 = (0.5d0 / a) * (((-1.0d0) * b) - b)
        end if
        code = tmp_1
    end function
    
    public static double code(double a, double b, double c) {
    	double t_0 = (c + c) / (-2.0 * b);
    	double t_1 = Math.sqrt((-4.0 * (a * c)));
    	double tmp_1;
    	if (b <= -1.5e-63) {
    		double tmp_2;
    		if (b >= 0.0) {
    			tmp_2 = t_0;
    		} else {
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		}
    		tmp_1 = tmp_2;
    	} else if (b <= 5.6e-121) {
    		double tmp_3;
    		if (b >= 0.0) {
    			tmp_3 = c * (-2.0 / (t_1 + b));
    		} else {
    			tmp_3 = (t_1 - b) / (a + a);
    		}
    		tmp_1 = tmp_3;
    	} else if (b >= 0.0) {
    		tmp_1 = t_0;
    	} else {
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b);
    	}
    	return tmp_1;
    }
    
    def code(a, b, c):
    	t_0 = (c + c) / (-2.0 * b)
    	t_1 = math.sqrt((-4.0 * (a * c)))
    	tmp_1 = 0
    	if b <= -1.5e-63:
    		tmp_2 = 0
    		if b >= 0.0:
    			tmp_2 = t_0
    		else:
    			tmp_2 = ((-1.0 * b) / (a + a)) - (b / (a + a))
    		tmp_1 = tmp_2
    	elif b <= 5.6e-121:
    		tmp_3 = 0
    		if b >= 0.0:
    			tmp_3 = c * (-2.0 / (t_1 + b))
    		else:
    			tmp_3 = (t_1 - b) / (a + a)
    		tmp_1 = tmp_3
    	elif b >= 0.0:
    		tmp_1 = t_0
    	else:
    		tmp_1 = (0.5 / a) * ((-1.0 * b) - b)
    	return tmp_1
    
    function code(a, b, c)
    	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
    	t_1 = sqrt(Float64(-4.0 * Float64(a * c)))
    	tmp_1 = 0.0
    	if (b <= -1.5e-63)
    		tmp_2 = 0.0
    		if (b >= 0.0)
    			tmp_2 = t_0;
    		else
    			tmp_2 = Float64(Float64(Float64(-1.0 * b) / Float64(a + a)) - Float64(b / Float64(a + a)));
    		end
    		tmp_1 = tmp_2;
    	elseif (b <= 5.6e-121)
    		tmp_3 = 0.0
    		if (b >= 0.0)
    			tmp_3 = Float64(c * Float64(-2.0 / Float64(t_1 + b)));
    		else
    			tmp_3 = Float64(Float64(t_1 - b) / Float64(a + a));
    		end
    		tmp_1 = tmp_3;
    	elseif (b >= 0.0)
    		tmp_1 = t_0;
    	else
    		tmp_1 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
    	end
    	return tmp_1
    end
    
    function tmp_5 = code(a, b, c)
    	t_0 = (c + c) / (-2.0 * b);
    	t_1 = sqrt((-4.0 * (a * c)));
    	tmp_2 = 0.0;
    	if (b <= -1.5e-63)
    		tmp_3 = 0.0;
    		if (b >= 0.0)
    			tmp_3 = t_0;
    		else
    			tmp_3 = ((-1.0 * b) / (a + a)) - (b / (a + a));
    		end
    		tmp_2 = tmp_3;
    	elseif (b <= 5.6e-121)
    		tmp_4 = 0.0;
    		if (b >= 0.0)
    			tmp_4 = c * (-2.0 / (t_1 + b));
    		else
    			tmp_4 = (t_1 - b) / (a + a);
    		end
    		tmp_2 = tmp_4;
    	elseif (b >= 0.0)
    		tmp_2 = t_0;
    	else
    		tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
    	end
    	tmp_5 = tmp_2;
    end
    
    code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.5e-63], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(N[(-1.0 * b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision] - N[(b / N[(a + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 5.6e-121], If[GreaterEqual[b, 0.0], N[(c * N[(-2.0 / N[(t$95$1 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$1 - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]]]]]
    
    \begin{array}{l}
    t_0 := \frac{c + c}{-2 \cdot b}\\
    t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\
    \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;b \geq 0:\\
    \;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{t\_1 - b}{a + a}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;b \geq 0:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if b < -1.4999999999999999e-63

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in b around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. count-2-revN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. lower-+.f6470.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      6. Applied rewrites70.5%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
      7. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        2. lift--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ \end{array} \]
        3. div-subN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
        4. lower--.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      8. Applied rewrites70.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      9. Taylor expanded in b around -inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      10. Step-by-step derivation
        1. lower-*.f6467.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]
      11. Applied rewrites67.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1 \cdot b}{a + a} - \frac{b}{a + a}\\ \end{array} \]

      if -1.4999999999999999e-63 < b < 5.6000000000000002e-121

      1. Initial program 72.0%

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      2. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      3. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6456.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot \color{blue}{c}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      4. Applied rewrites56.9%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
      5. Taylor expanded in a around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      6. Step-by-step derivation
        1. lower-*.f64N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        2. lower-*.f6440.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      7. Applied rewrites40.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
      8. Step-by-step derivation
        1. Applied rewrites40.5%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{\sqrt{-4 \cdot \left(a \cdot c\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ } \end{array}} \]

        if 5.6000000000000002e-121 < b

        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites70.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. count-2-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. lower-+.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        6. Applied rewrites70.5%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
        7. Applied rewrites70.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
        8. Taylor expanded in b around -inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
        9. Step-by-step derivation
          1. lower-*.f6467.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
        10. Applied rewrites67.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
      9. Recombined 3 regimes into one program.
      10. Add Preprocessing

      Alternative 8: 79.1% accurate, 1.0× speedup?

      \[\begin{array}{l} t_0 := \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\ \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1 - b}{a + a}\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
      (FPCore (a b c)
        :precision binary64
        (let* ((t_0
              (if (>= b 0.0)
                (/ (+ c c) (* -2.0 b))
                (* (/ 0.5 a) (- (* -1.0 b) b))))
             (t_1 (sqrt (* -4.0 (* a c)))))
        (if (<= b -1.5e-63)
          t_0
          (if (<= b 5.6e-121)
            (if (>= b 0.0) (* c (/ -2.0 (+ t_1 b))) (/ (- t_1 b) (+ a a)))
            t_0))))
      double code(double a, double b, double c) {
      	double tmp;
      	if (b >= 0.0) {
      		tmp = (c + c) / (-2.0 * b);
      	} else {
      		tmp = (0.5 / a) * ((-1.0 * b) - b);
      	}
      	double t_0 = tmp;
      	double t_1 = sqrt((-4.0 * (a * c)));
      	double tmp_1;
      	if (b <= -1.5e-63) {
      		tmp_1 = t_0;
      	} else if (b <= 5.6e-121) {
      		double tmp_2;
      		if (b >= 0.0) {
      			tmp_2 = c * (-2.0 / (t_1 + b));
      		} else {
      			tmp_2 = (t_1 - b) / (a + a);
      		}
      		tmp_1 = tmp_2;
      	} else {
      		tmp_1 = t_0;
      	}
      	return tmp_1;
      }
      
      real(8) function code(a, b, c)
      use fmin_fmax_functions
          real(8), intent (in) :: a
          real(8), intent (in) :: b
          real(8), intent (in) :: c
          real(8) :: t_0
          real(8) :: t_1
          real(8) :: tmp
          real(8) :: tmp_1
          real(8) :: tmp_2
          if (b >= 0.0d0) then
              tmp = (c + c) / ((-2.0d0) * b)
          else
              tmp = (0.5d0 / a) * (((-1.0d0) * b) - b)
          end if
          t_0 = tmp
          t_1 = sqrt(((-4.0d0) * (a * c)))
          if (b <= (-1.5d-63)) then
              tmp_1 = t_0
          else if (b <= 5.6d-121) then
              if (b >= 0.0d0) then
                  tmp_2 = c * ((-2.0d0) / (t_1 + b))
              else
                  tmp_2 = (t_1 - b) / (a + a)
              end if
              tmp_1 = tmp_2
          else
              tmp_1 = t_0
          end if
          code = tmp_1
      end function
      
      public static double code(double a, double b, double c) {
      	double tmp;
      	if (b >= 0.0) {
      		tmp = (c + c) / (-2.0 * b);
      	} else {
      		tmp = (0.5 / a) * ((-1.0 * b) - b);
      	}
      	double t_0 = tmp;
      	double t_1 = Math.sqrt((-4.0 * (a * c)));
      	double tmp_1;
      	if (b <= -1.5e-63) {
      		tmp_1 = t_0;
      	} else if (b <= 5.6e-121) {
      		double tmp_2;
      		if (b >= 0.0) {
      			tmp_2 = c * (-2.0 / (t_1 + b));
      		} else {
      			tmp_2 = (t_1 - b) / (a + a);
      		}
      		tmp_1 = tmp_2;
      	} else {
      		tmp_1 = t_0;
      	}
      	return tmp_1;
      }
      
      def code(a, b, c):
      	tmp = 0
      	if b >= 0.0:
      		tmp = (c + c) / (-2.0 * b)
      	else:
      		tmp = (0.5 / a) * ((-1.0 * b) - b)
      	t_0 = tmp
      	t_1 = math.sqrt((-4.0 * (a * c)))
      	tmp_1 = 0
      	if b <= -1.5e-63:
      		tmp_1 = t_0
      	elif b <= 5.6e-121:
      		tmp_2 = 0
      		if b >= 0.0:
      			tmp_2 = c * (-2.0 / (t_1 + b))
      		else:
      			tmp_2 = (t_1 - b) / (a + a)
      		tmp_1 = tmp_2
      	else:
      		tmp_1 = t_0
      	return tmp_1
      
      function code(a, b, c)
      	tmp = 0.0
      	if (b >= 0.0)
      		tmp = Float64(Float64(c + c) / Float64(-2.0 * b));
      	else
      		tmp = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
      	end
      	t_0 = tmp
      	t_1 = sqrt(Float64(-4.0 * Float64(a * c)))
      	tmp_1 = 0.0
      	if (b <= -1.5e-63)
      		tmp_1 = t_0;
      	elseif (b <= 5.6e-121)
      		tmp_2 = 0.0
      		if (b >= 0.0)
      			tmp_2 = Float64(c * Float64(-2.0 / Float64(t_1 + b)));
      		else
      			tmp_2 = Float64(Float64(t_1 - b) / Float64(a + a));
      		end
      		tmp_1 = tmp_2;
      	else
      		tmp_1 = t_0;
      	end
      	return tmp_1
      end
      
      function tmp_4 = code(a, b, c)
      	tmp = 0.0;
      	if (b >= 0.0)
      		tmp = (c + c) / (-2.0 * b);
      	else
      		tmp = (0.5 / a) * ((-1.0 * b) - b);
      	end
      	t_0 = tmp;
      	t_1 = sqrt((-4.0 * (a * c)));
      	tmp_2 = 0.0;
      	if (b <= -1.5e-63)
      		tmp_2 = t_0;
      	elseif (b <= 5.6e-121)
      		tmp_3 = 0.0;
      		if (b >= 0.0)
      			tmp_3 = c * (-2.0 / (t_1 + b));
      		else
      			tmp_3 = (t_1 - b) / (a + a);
      		end
      		tmp_2 = tmp_3;
      	else
      		tmp_2 = t_0;
      	end
      	tmp_4 = tmp_2;
      end
      
      code[a_, b_, c_] := Block[{t$95$0 = If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]}, Block[{t$95$1 = N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[b, -1.5e-63], t$95$0, If[LessEqual[b, 5.6e-121], If[GreaterEqual[b, 0.0], N[(c * N[(-2.0 / N[(t$95$1 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$1 - b), $MachinePrecision] / N[(a + a), $MachinePrecision]), $MachinePrecision]], t$95$0]]]]
      
      \begin{array}{l}
      t_0 := \begin{array}{l}
      \mathbf{if}\;b \geq 0:\\
      \;\;\;\;\frac{c + c}{-2 \cdot b}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
      
      
      \end{array}\\
      t_1 := \sqrt{-4 \cdot \left(a \cdot c\right)}\\
      \mathbf{if}\;b \leq -1.5 \cdot 10^{-63}:\\
      \;\;\;\;t\_0\\
      
      \mathbf{elif}\;b \leq 5.6 \cdot 10^{-121}:\\
      \;\;\;\;\begin{array}{l}
      \mathbf{if}\;b \geq 0:\\
      \;\;\;\;c \cdot \frac{-2}{t\_1 + b}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_1 - b}{a + a}\\
      
      
      \end{array}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_0\\
      
      
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if b < -1.4999999999999999e-63 or 5.6000000000000002e-121 < b

        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites70.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. count-2-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. lower-+.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        6. Applied rewrites70.5%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
        7. Applied rewrites70.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
        8. Taylor expanded in b around -inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
        9. Step-by-step derivation
          1. lower-*.f6467.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
        10. Applied rewrites67.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

        if -1.4999999999999999e-63 < b < 5.6000000000000002e-121

        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in a around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. lower-*.f6456.9%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot \color{blue}{c}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites56.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Taylor expanded in a around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        6. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
          2. lower-*.f6440.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        7. Applied rewrites40.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{-4 \cdot \left(a \cdot c\right)}}{2 \cdot a}\\ \end{array} \]
        8. Step-by-step derivation
          1. Applied rewrites40.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;c \cdot \frac{-2}{\sqrt{-4 \cdot \left(a \cdot c\right)} + b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{-4 \cdot \left(a \cdot c\right)} - b}{a + a}\\ } \end{array}} \]
        9. Recombined 2 regimes into one program.
        10. Add Preprocessing

        Alternative 9: 78.6% accurate, 0.9× speedup?

        \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array}\\ \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (let* ((t_0 (/ (+ c c) (* -2.0 b)))
               (t_1 (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))
          (if (<= b -2.7e-82)
            t_1
            (if (<= b -2.9e-256)
              (if (>= b 0.0) t_0 (* 0.5 (/ (sqrt (* -4.0 (* a c))) a)))
              (if (<= b 1.55e-139)
                (if (>= b 0.0)
                  (* -2.0 (/ c (sqrt (- (* 4.0 (* a c))))))
                  (fma b (/ -0.5 a) (sqrt (fabs (/ c a)))))
                t_1)))))
        double code(double a, double b, double c) {
        	double t_0 = (c + c) / (-2.0 * b);
        	double tmp;
        	if (b >= 0.0) {
        		tmp = t_0;
        	} else {
        		tmp = (0.5 / a) * ((-1.0 * b) - b);
        	}
        	double t_1 = tmp;
        	double tmp_1;
        	if (b <= -2.7e-82) {
        		tmp_1 = t_1;
        	} else if (b <= -2.9e-256) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = t_0;
        		} else {
        			tmp_2 = 0.5 * (sqrt((-4.0 * (a * c))) / a);
        		}
        		tmp_1 = tmp_2;
        	} else if (b <= 1.55e-139) {
        		double tmp_3;
        		if (b >= 0.0) {
        			tmp_3 = -2.0 * (c / sqrt(-(4.0 * (a * c))));
        		} else {
        			tmp_3 = fma(b, (-0.5 / a), sqrt(fabs((c / a))));
        		}
        		tmp_1 = tmp_3;
        	} else {
        		tmp_1 = t_1;
        	}
        	return tmp_1;
        }
        
        function code(a, b, c)
        	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
        	tmp = 0.0
        	if (b >= 0.0)
        		tmp = t_0;
        	else
        		tmp = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
        	end
        	t_1 = tmp
        	tmp_1 = 0.0
        	if (b <= -2.7e-82)
        		tmp_1 = t_1;
        	elseif (b <= -2.9e-256)
        		tmp_2 = 0.0
        		if (b >= 0.0)
        			tmp_2 = t_0;
        		else
        			tmp_2 = Float64(0.5 * Float64(sqrt(Float64(-4.0 * Float64(a * c))) / a));
        		end
        		tmp_1 = tmp_2;
        	elseif (b <= 1.55e-139)
        		tmp_3 = 0.0
        		if (b >= 0.0)
        			tmp_3 = Float64(-2.0 * Float64(c / sqrt(Float64(-Float64(4.0 * Float64(a * c))))));
        		else
        			tmp_3 = fma(b, Float64(-0.5 / a), sqrt(abs(Float64(c / a))));
        		end
        		tmp_1 = tmp_3;
        	else
        		tmp_1 = t_1;
        	end
        	return tmp_1
        end
        
        code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]}, If[LessEqual[b, -2.7e-82], t$95$1, If[LessEqual[b, -2.9e-256], If[GreaterEqual[b, 0.0], t$95$0, N[(0.5 * N[(N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 1.55e-139], If[GreaterEqual[b, 0.0], N[(-2.0 * N[(c / N[Sqrt[(-N[(4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(-0.5 / a), $MachinePrecision] + N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], t$95$1]]]]]
        
        \begin{array}{l}
        t_0 := \frac{c + c}{-2 \cdot b}\\
        t_1 := \begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;t\_0\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
        
        
        \end{array}\\
        \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\
        \;\;\;\;t\_1\\
        
        \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;t\_0\\
        
        \mathbf{else}:\\
        \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\
        
        
        \end{array}\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_1\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if b < -2.7000000000000001e-82 or 1.55e-139 < b

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f6467.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          10. Applied rewrites67.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

          if -2.7000000000000001e-82 < b < -2.8999999999999997e-256

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around 0

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{1}{2} \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}}\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \color{blue}{\frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}}\\ \end{array} \]
            3. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}{a}\\ \end{array} \]
            4. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}{a}\\ \end{array} \]
            5. lower-*.f6447.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}{a}\\ \end{array} \]
          10. Applied rewrites47.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array} \]

          if -2.8999999999999997e-256 < b < 1.55e-139

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)}\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{b}{a}}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            4. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            5. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            6. lower-/.f6448.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\right)\\ \end{array} \]
          4. Applied rewrites48.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          5. Taylor expanded in c around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            4. lower-/.f6420.8%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          7. Applied rewrites20.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          8. Step-by-step derivation
            1. lift-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. *-commutativeN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a} \cdot \frac{-1}{2}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            3. lift-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a}} \cdot \frac{-1}{2} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            4. associate-*l/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b \cdot \frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            5. associate-/l*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{b \cdot \frac{\frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            6. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            7. lift-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            8. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            9. sqrt-prodN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\left(\sqrt{\left|-4\right|} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            10. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\sqrt{\color{blue}{4}} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            11. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\color{blue}{2} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            12. lift-fabs.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \sqrt{\color{blue}{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
            13. lift-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
            14. *-lft-identityN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
            15. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
            16. associate-*r*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\left(\frac{1}{2} \cdot 2\right) \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            17. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1} \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            18. *-lft-identityN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\\ \end{array} \]
            19. lower-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            20. lower-/.f6426.8%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \color{blue}{\frac{-0.5}{a}}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            21. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
          9. Applied rewrites26.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
          10. Taylor expanded in b around 0

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
          11. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \color{blue}{\frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\color{blue}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            3. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{\mathsf{neg}\left(4 \cdot \left(a \cdot c\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            4. lower-neg.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            5. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            6. lower-*.f6431.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
          12. Applied rewrites31.7%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-2 \cdot \frac{c}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        3. Recombined 3 regimes into one program.
        4. Add Preprocessing

        Alternative 10: 78.5% accurate, 0.9× speedup?

        \[\begin{array}{l} t_0 := \frac{c + c}{-2 \cdot b}\\ t_1 := \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array}\\ \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (let* ((t_0 (/ (+ c c) (* -2.0 b)))
               (t_1 (if (>= b 0.0) t_0 (* (/ 0.5 a) (- (* -1.0 b) b)))))
          (if (<= b -2.7e-82)
            t_1
            (if (<= b -2.9e-256)
              (if (>= b 0.0) t_0 (* 0.5 (/ (sqrt (* -4.0 (* a c))) a)))
              (if (<= b 1.55e-139)
                (if (>= b 0.0)
                  (/ 2.0 (* a (sqrt (/ -4.0 (* a c)))))
                  (fma b (/ -0.5 a) (sqrt (fabs (/ c a)))))
                t_1)))))
        double code(double a, double b, double c) {
        	double t_0 = (c + c) / (-2.0 * b);
        	double tmp;
        	if (b >= 0.0) {
        		tmp = t_0;
        	} else {
        		tmp = (0.5 / a) * ((-1.0 * b) - b);
        	}
        	double t_1 = tmp;
        	double tmp_1;
        	if (b <= -2.7e-82) {
        		tmp_1 = t_1;
        	} else if (b <= -2.9e-256) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = t_0;
        		} else {
        			tmp_2 = 0.5 * (sqrt((-4.0 * (a * c))) / a);
        		}
        		tmp_1 = tmp_2;
        	} else if (b <= 1.55e-139) {
        		double tmp_3;
        		if (b >= 0.0) {
        			tmp_3 = 2.0 / (a * sqrt((-4.0 / (a * c))));
        		} else {
        			tmp_3 = fma(b, (-0.5 / a), sqrt(fabs((c / a))));
        		}
        		tmp_1 = tmp_3;
        	} else {
        		tmp_1 = t_1;
        	}
        	return tmp_1;
        }
        
        function code(a, b, c)
        	t_0 = Float64(Float64(c + c) / Float64(-2.0 * b))
        	tmp = 0.0
        	if (b >= 0.0)
        		tmp = t_0;
        	else
        		tmp = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
        	end
        	t_1 = tmp
        	tmp_1 = 0.0
        	if (b <= -2.7e-82)
        		tmp_1 = t_1;
        	elseif (b <= -2.9e-256)
        		tmp_2 = 0.0
        		if (b >= 0.0)
        			tmp_2 = t_0;
        		else
        			tmp_2 = Float64(0.5 * Float64(sqrt(Float64(-4.0 * Float64(a * c))) / a));
        		end
        		tmp_1 = tmp_2;
        	elseif (b <= 1.55e-139)
        		tmp_3 = 0.0
        		if (b >= 0.0)
        			tmp_3 = Float64(2.0 / Float64(a * sqrt(Float64(-4.0 / Float64(a * c)))));
        		else
        			tmp_3 = fma(b, Float64(-0.5 / a), sqrt(abs(Float64(c / a))));
        		end
        		tmp_1 = tmp_3;
        	else
        		tmp_1 = t_1;
        	end
        	return tmp_1
        end
        
        code[a_, b_, c_] := Block[{t$95$0 = N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = If[GreaterEqual[b, 0.0], t$95$0, N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]]}, If[LessEqual[b, -2.7e-82], t$95$1, If[LessEqual[b, -2.9e-256], If[GreaterEqual[b, 0.0], t$95$0, N[(0.5 * N[(N[Sqrt[N[(-4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, 1.55e-139], If[GreaterEqual[b, 0.0], N[(2.0 / N[(a * N[Sqrt[N[(-4.0 / N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(-0.5 / a), $MachinePrecision] + N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], t$95$1]]]]]
        
        \begin{array}{l}
        t_0 := \frac{c + c}{-2 \cdot b}\\
        t_1 := \begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;t\_0\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
        
        
        \end{array}\\
        \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\
        \;\;\;\;t\_1\\
        
        \mathbf{elif}\;b \leq -2.9 \cdot 10^{-256}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;t\_0\\
        
        \mathbf{else}:\\
        \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \leq 1.55 \cdot 10^{-139}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\
        
        
        \end{array}\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_1\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if b < -2.7000000000000001e-82 or 1.55e-139 < b

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f6467.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          10. Applied rewrites67.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

          if -2.7000000000000001e-82 < b < -2.8999999999999997e-256

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around 0

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{1}{2} \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}}\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \color{blue}{\frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}}\\ \end{array} \]
            3. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\color{blue}{\sqrt{-4 \cdot \left(a \cdot c\right)}}}{a}\\ \end{array} \]
            4. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{\sqrt{\color{blue}{-4 \cdot \left(a \cdot c\right)}}}{a}\\ \end{array} \]
            5. lower-*.f6447.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \color{blue}{\left(a \cdot c\right)}}}{a}\\ \end{array} \]
          10. Applied rewrites47.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \frac{\sqrt{-4 \cdot \left(a \cdot c\right)}}{a}\\ \end{array} \]

          if -2.8999999999999997e-256 < b < 1.55e-139

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)}\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{b}{a}}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            4. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            5. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\right)\\ \end{array} \]
            6. lower-/.f6448.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\right)\\ \end{array} \]
          4. Applied rewrites48.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          5. Taylor expanded in c around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \frac{b}{a}, \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
            4. lower-/.f6420.8%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          7. Applied rewrites20.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.5, \frac{b}{a}, 0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\right)\\ \end{array} \]
          8. Step-by-step derivation
            1. lift-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{b}{a} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. *-commutativeN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a} \cdot \frac{-1}{2}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            3. lift-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b}{a}} \cdot \frac{-1}{2} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            4. associate-*l/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{b \cdot \frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            5. associate-/l*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{b \cdot \frac{\frac{-1}{2}}{a}} + \frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            6. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            7. lift-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            8. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            9. sqrt-prodN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \color{blue}{\left(\sqrt{\left|-4\right|} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            10. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\sqrt{\color{blue}{4}} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            11. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(\color{blue}{2} \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            12. lift-fabs.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \sqrt{\color{blue}{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
            13. lift-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
            14. *-lft-identityN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
            15. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \frac{1}{2} \cdot \left(2 \cdot \color{blue}{\left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\right)\\ \end{array} \]
            16. associate-*r*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{\left(\frac{1}{2} \cdot 2\right) \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            17. metadata-evalN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1} \cdot \left(1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            18. *-lft-identityN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{\frac{-1}{2}}{a} + \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\\ \end{array} \]
            19. lower-fma.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
            20. lower-/.f6426.8%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \color{blue}{\frac{-0.5}{a}}, 1 \cdot \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            21. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \color{blue}{1 \cdot \sqrt{\left|\frac{c}{a}\right|}}\right)\\ \end{array} \]
          9. Applied rewrites26.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{\sqrt{-4 \cdot \frac{a}{c}}}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)}\\ \end{array} \]
          10. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \color{blue}{\sqrt{\frac{-4}{a \cdot c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
          11. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            3. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{\frac{-1}{2}}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
            4. lower-*.f6432.9%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \sqrt{\frac{-4}{a \cdot c}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
          12. Applied rewrites32.9%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2}{a \cdot \color{blue}{\sqrt{\frac{-4}{a \cdot c}}}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, \frac{-0.5}{a}, \sqrt{\left|\frac{c}{a}\right|}\right)\\ \end{array} \]
        3. Recombined 3 regimes into one program.
        4. Add Preprocessing

        Alternative 11: 74.0% accurate, 1.2× speedup?

        \[\begin{array}{l} \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (<= b -2.7e-82)
          (if (>= b 0.0)
            (/ (+ c c) (* -2.0 b))
            (* (/ 0.5 a) (- (* -1.0 b) b)))
          (if (>= b 0.0)
            (/ (* 2.0 c) (* -2.0 b))
            (* -0.5 (* c (sqrt (/ -4.0 (* a c))))))))
        double code(double a, double b, double c) {
        	double tmp_1;
        	if (b <= -2.7e-82) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
        		}
        		tmp_1 = tmp_2;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = -0.5 * (c * sqrt((-4.0 / (a * c))));
        	}
        	return tmp_1;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            real(8) :: tmp_1
            real(8) :: tmp_2
            if (b <= (-2.7d-82)) then
                if (b >= 0.0d0) then
                    tmp_2 = (c + c) / ((-2.0d0) * b)
                else
                    tmp_2 = (0.5d0 / a) * (((-1.0d0) * b) - b)
                end if
                tmp_1 = tmp_2
            else if (b >= 0.0d0) then
                tmp_1 = (2.0d0 * c) / ((-2.0d0) * b)
            else
                tmp_1 = (-0.5d0) * (c * sqrt(((-4.0d0) / (a * c))))
            end if
            code = tmp_1
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp_1;
        	if (b <= -2.7e-82) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
        		}
        		tmp_1 = tmp_2;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = -0.5 * (c * Math.sqrt((-4.0 / (a * c))));
        	}
        	return tmp_1;
        }
        
        def code(a, b, c):
        	tmp_1 = 0
        	if b <= -2.7e-82:
        		tmp_2 = 0
        		if b >= 0.0:
        			tmp_2 = (c + c) / (-2.0 * b)
        		else:
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b)
        		tmp_1 = tmp_2
        	elif b >= 0.0:
        		tmp_1 = (2.0 * c) / (-2.0 * b)
        	else:
        		tmp_1 = -0.5 * (c * math.sqrt((-4.0 / (a * c))))
        	return tmp_1
        
        function code(a, b, c)
        	tmp_1 = 0.0
        	if (b <= -2.7e-82)
        		tmp_2 = 0.0
        		if (b >= 0.0)
        			tmp_2 = Float64(Float64(c + c) / Float64(-2.0 * b));
        		else
        			tmp_2 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
        		end
        		tmp_1 = tmp_2;
        	elseif (b >= 0.0)
        		tmp_1 = Float64(Float64(2.0 * c) / Float64(-2.0 * b));
        	else
        		tmp_1 = Float64(-0.5 * Float64(c * sqrt(Float64(-4.0 / Float64(a * c)))));
        	end
        	return tmp_1
        end
        
        function tmp_4 = code(a, b, c)
        	tmp_2 = 0.0;
        	if (b <= -2.7e-82)
        		tmp_3 = 0.0;
        		if (b >= 0.0)
        			tmp_3 = (c + c) / (-2.0 * b);
        		else
        			tmp_3 = (0.5 / a) * ((-1.0 * b) - b);
        		end
        		tmp_2 = tmp_3;
        	elseif (b >= 0.0)
        		tmp_2 = (2.0 * c) / (-2.0 * b);
        	else
        		tmp_2 = -0.5 * (c * sqrt((-4.0 / (a * c))));
        	end
        	tmp_4 = tmp_2;
        end
        
        code[a_, b_, c_] := If[LessEqual[b, -2.7e-82], If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(-0.5 * N[(c * N[Sqrt[N[(-4.0 / N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
        
        \begin{array}{l}
        \mathbf{if}\;b \leq -2.7 \cdot 10^{-82}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{c + c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \geq 0:\\
        \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-0.5 \cdot \left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if b < -2.7000000000000001e-82

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f6467.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          10. Applied rewrites67.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

          if -2.7000000000000001e-82 < b

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Taylor expanded in c around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
            2. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}}\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{\color{blue}{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
            4. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \color{blue}{\sqrt{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
            5. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c \cdot \sqrt{\color{blue}{-4 \cdot \frac{a}{c}}}}{a}\\ \end{array} \]
            6. lower-/.f6441.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \color{blue}{\frac{a}{c}}}}{a}\\ \end{array} \]
          7. Applied rewrites41.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \frac{c \cdot \sqrt{-4 \cdot \frac{a}{c}}}{a}\\ \end{array} \]
          8. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \color{blue}{\left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)}\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \left(c \cdot \color{blue}{\sqrt{\frac{-4}{a \cdot c}}}\right)\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)\\ \end{array} \]
            3. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)\\ \end{array} \]
            4. lower-*.f6448.2%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)\\ \end{array} \]
          10. Applied rewrites48.2%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \color{blue}{\left(c \cdot \sqrt{\frac{-4}{a \cdot c}}\right)}\\ \end{array} \]
        3. Recombined 2 regimes into one program.
        4. Add Preprocessing

        Alternative 12: 70.3% accurate, 1.2× speedup?

        \[\begin{array}{l} \mathbf{if}\;b \leq -2.1 \cdot 10^{-88}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\ \end{array}\\ \mathbf{elif}\;b \leq -5.9 \cdot 10^{-257}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\sqrt{\left|a\right|}}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (<= b -2.1e-88)
          (if (>= b 0.0)
            (/ (+ c c) (* -2.0 b))
            (* (/ 0.5 a) (- (* -1.0 b) b)))
          (if (<= b -5.9e-257)
            (if (>= b 0.0)
              (/ (+ a a) (* -2.0 b))
              (- (/ (sqrt (fabs c)) (sqrt (fabs a)))))
            (if (>= b 0.0)
              (/ (* 2.0 c) (* -2.0 b))
              (* 0.5 (sqrt (* -4.0 (/ c a))))))))
        double code(double a, double b, double c) {
        	double tmp_1;
        	if (b <= -2.1e-88) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
        		}
        		tmp_1 = tmp_2;
        	} else if (b <= -5.9e-257) {
        		double tmp_3;
        		if (b >= 0.0) {
        			tmp_3 = (a + a) / (-2.0 * b);
        		} else {
        			tmp_3 = -(sqrt(fabs(c)) / sqrt(fabs(a)));
        		}
        		tmp_1 = tmp_3;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = 0.5 * sqrt((-4.0 * (c / a)));
        	}
        	return tmp_1;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            real(8) :: tmp_1
            real(8) :: tmp_2
            real(8) :: tmp_3
            if (b <= (-2.1d-88)) then
                if (b >= 0.0d0) then
                    tmp_2 = (c + c) / ((-2.0d0) * b)
                else
                    tmp_2 = (0.5d0 / a) * (((-1.0d0) * b) - b)
                end if
                tmp_1 = tmp_2
            else if (b <= (-5.9d-257)) then
                if (b >= 0.0d0) then
                    tmp_3 = (a + a) / ((-2.0d0) * b)
                else
                    tmp_3 = -(sqrt(abs(c)) / sqrt(abs(a)))
                end if
                tmp_1 = tmp_3
            else if (b >= 0.0d0) then
                tmp_1 = (2.0d0 * c) / ((-2.0d0) * b)
            else
                tmp_1 = 0.5d0 * sqrt(((-4.0d0) * (c / a)))
            end if
            code = tmp_1
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp_1;
        	if (b <= -2.1e-88) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b);
        		}
        		tmp_1 = tmp_2;
        	} else if (b <= -5.9e-257) {
        		double tmp_3;
        		if (b >= 0.0) {
        			tmp_3 = (a + a) / (-2.0 * b);
        		} else {
        			tmp_3 = -(Math.sqrt(Math.abs(c)) / Math.sqrt(Math.abs(a)));
        		}
        		tmp_1 = tmp_3;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = 0.5 * Math.sqrt((-4.0 * (c / a)));
        	}
        	return tmp_1;
        }
        
        def code(a, b, c):
        	tmp_1 = 0
        	if b <= -2.1e-88:
        		tmp_2 = 0
        		if b >= 0.0:
        			tmp_2 = (c + c) / (-2.0 * b)
        		else:
        			tmp_2 = (0.5 / a) * ((-1.0 * b) - b)
        		tmp_1 = tmp_2
        	elif b <= -5.9e-257:
        		tmp_3 = 0
        		if b >= 0.0:
        			tmp_3 = (a + a) / (-2.0 * b)
        		else:
        			tmp_3 = -(math.sqrt(math.fabs(c)) / math.sqrt(math.fabs(a)))
        		tmp_1 = tmp_3
        	elif b >= 0.0:
        		tmp_1 = (2.0 * c) / (-2.0 * b)
        	else:
        		tmp_1 = 0.5 * math.sqrt((-4.0 * (c / a)))
        	return tmp_1
        
        function code(a, b, c)
        	tmp_1 = 0.0
        	if (b <= -2.1e-88)
        		tmp_2 = 0.0
        		if (b >= 0.0)
        			tmp_2 = Float64(Float64(c + c) / Float64(-2.0 * b));
        		else
        			tmp_2 = Float64(Float64(0.5 / a) * Float64(Float64(-1.0 * b) - b));
        		end
        		tmp_1 = tmp_2;
        	elseif (b <= -5.9e-257)
        		tmp_3 = 0.0
        		if (b >= 0.0)
        			tmp_3 = Float64(Float64(a + a) / Float64(-2.0 * b));
        		else
        			tmp_3 = Float64(-Float64(sqrt(abs(c)) / sqrt(abs(a))));
        		end
        		tmp_1 = tmp_3;
        	elseif (b >= 0.0)
        		tmp_1 = Float64(Float64(2.0 * c) / Float64(-2.0 * b));
        	else
        		tmp_1 = Float64(0.5 * sqrt(Float64(-4.0 * Float64(c / a))));
        	end
        	return tmp_1
        end
        
        function tmp_5 = code(a, b, c)
        	tmp_2 = 0.0;
        	if (b <= -2.1e-88)
        		tmp_3 = 0.0;
        		if (b >= 0.0)
        			tmp_3 = (c + c) / (-2.0 * b);
        		else
        			tmp_3 = (0.5 / a) * ((-1.0 * b) - b);
        		end
        		tmp_2 = tmp_3;
        	elseif (b <= -5.9e-257)
        		tmp_4 = 0.0;
        		if (b >= 0.0)
        			tmp_4 = (a + a) / (-2.0 * b);
        		else
        			tmp_4 = -(sqrt(abs(c)) / sqrt(abs(a)));
        		end
        		tmp_2 = tmp_4;
        	elseif (b >= 0.0)
        		tmp_2 = (2.0 * c) / (-2.0 * b);
        	else
        		tmp_2 = 0.5 * sqrt((-4.0 * (c / a)));
        	end
        	tmp_5 = tmp_2;
        end
        
        code[a_, b_, c_] := If[LessEqual[b, -2.1e-88], If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(N[(0.5 / a), $MachinePrecision] * N[(N[(-1.0 * b), $MachinePrecision] - b), $MachinePrecision]), $MachinePrecision]], If[LessEqual[b, -5.9e-257], If[GreaterEqual[b, 0.0], N[(N[(a + a), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], (-N[(N[Sqrt[N[Abs[c], $MachinePrecision]], $MachinePrecision] / N[Sqrt[N[Abs[a], $MachinePrecision]], $MachinePrecision]), $MachinePrecision])], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(0.5 * N[Sqrt[N[(-4.0 * N[(c / a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]]
        
        \begin{array}{l}
        \mathbf{if}\;b \leq -2.1 \cdot 10^{-88}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{c + c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{0.5}{a} \cdot \left(-1 \cdot b - b\right)\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \leq -5.9 \cdot 10^{-257}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{a + a}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\sqrt{\left|a\right|}}\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \geq 0:\\
        \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if b < -2.1e-88

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
            3. lower-+.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          6. Applied rewrites70.5%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\mathsf{fma}\left(-4 \cdot a, c, b \cdot b\right)} - b}{a + a}\\ } \end{array}} \]
          7. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)} - b\right)\\ \end{array} \]
          8. Taylor expanded in b around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          9. Step-by-step derivation
            1. lower-*.f6467.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\color{blue}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]
          10. Applied rewrites67.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{0.5}{a}} \cdot \left(-1 \cdot b - b\right)\\ \end{array} \]

          if -2.1e-88 < b < -5.9000000000000001e-257

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Taylor expanded in a around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            4. lower-/.f6441.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
          7. Applied rewrites41.3%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          8. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            3. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{c \cdot c - c \cdot c}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            4. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{c - c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            5. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            6. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            7. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            8. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{a \cdot a - a \cdot a}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            9. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{a \cdot a - a \cdot a}{\color{blue}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            10. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            11. lift-+.f6411.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          9. Applied rewrites12.8%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ } \end{array}} \]
          10. Step-by-step derivation
            1. lift-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\color{blue}{\sqrt{\left|\frac{c}{a}\right|}}\\ \end{array} \]
            2. lift-fabs.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\color{blue}{\left|\frac{c}{a}\right|}}\\ \end{array} \]
            3. lift-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\color{blue}{\frac{c}{a}}\right|}\\ \end{array} \]
            4. fabs-divN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\color{blue}{\frac{\left|c\right|}{\left|a\right|}}}\\ \end{array} \]
            5. frac-2negN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\color{blue}{\frac{\mathsf{neg}\left(\left|c\right|\right)}{\mathsf{neg}\left(\left|a\right|\right)}}}\\ \end{array} \]
            6. sqrt-divN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\color{blue}{\frac{\sqrt{\left|\mathsf{neg}\left(\left|c\right|\right)\right|}}{\sqrt{\left|\mathsf{neg}\left(\left|a\right|\right)\right|}}}\\ \end{array} \]
            7. neg-fabsN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\color{blue}{\left|\left|c\right|\right|}}}{\sqrt{\left|\mathsf{neg}\left(\left|a\right|\right)\right|}}\\ \end{array} \]
            8. fabs-fabsN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\color{blue}{\left|c\right|}}}{\sqrt{\left|\mathsf{neg}\left(\left|a\right|\right)\right|}}\\ \end{array} \]
            9. neg-fabsN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\sqrt{\color{blue}{\left|\left|a\right|\right|}}}\\ \end{array} \]
            10. fabs-fabsN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\sqrt{\color{blue}{\left|a\right|}}}\\ \end{array} \]
            11. lower-/.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\color{blue}{\frac{\sqrt{\left|c\right|}}{\sqrt{\left|a\right|}}}\\ \end{array} \]
            12. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\color{blue}{\sqrt{\left|c\right|}}}{\sqrt{\left|a\right|}}\\ \end{array} \]
            13. lower-fabs.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\color{blue}{\left|c\right|}}}{\sqrt{\left|a\right|}}\\ \end{array} \]
            14. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\color{blue}{\sqrt{\left|a\right|}}}\\ \end{array} \]
            15. lower-fabs.f6413.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\sqrt{\left|c\right|}}{\sqrt{\color{blue}{\left|a\right|}}}\\ \end{array} \]
          11. Applied rewrites13.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\color{blue}{\frac{\sqrt{\left|c\right|}}{\sqrt{\left|a\right|}}}\\ \end{array} \]

          if -5.9000000000000001e-257 < b

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            4. lower-/.f6442.0%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
          7. Applied rewrites42.0%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        3. Recombined 3 regimes into one program.
        4. Add Preprocessing

        Alternative 13: 50.0% accurate, 1.4× speedup?

        \[\begin{array}{l} \mathbf{if}\;a \leq 1.1 \cdot 10^{-301}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array}\\ \mathbf{elif}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (<= a 1.1e-301)
          (if (>= b 0.0) (/ (+ c c) (* -2.0 b)) (- (sqrt (fabs (/ c a)))))
          (if (>= b 0.0)
            (/ (* 2.0 c) (* -2.0 b))
            (* 0.5 (sqrt (* -4.0 (/ c a)))))))
        double code(double a, double b, double c) {
        	double tmp_1;
        	if (a <= 1.1e-301) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = -sqrt(fabs((c / a)));
        		}
        		tmp_1 = tmp_2;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = 0.5 * sqrt((-4.0 * (c / a)));
        	}
        	return tmp_1;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            real(8) :: tmp_1
            real(8) :: tmp_2
            if (a <= 1.1d-301) then
                if (b >= 0.0d0) then
                    tmp_2 = (c + c) / ((-2.0d0) * b)
                else
                    tmp_2 = -sqrt(abs((c / a)))
                end if
                tmp_1 = tmp_2
            else if (b >= 0.0d0) then
                tmp_1 = (2.0d0 * c) / ((-2.0d0) * b)
            else
                tmp_1 = 0.5d0 * sqrt(((-4.0d0) * (c / a)))
            end if
            code = tmp_1
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp_1;
        	if (a <= 1.1e-301) {
        		double tmp_2;
        		if (b >= 0.0) {
        			tmp_2 = (c + c) / (-2.0 * b);
        		} else {
        			tmp_2 = -Math.sqrt(Math.abs((c / a)));
        		}
        		tmp_1 = tmp_2;
        	} else if (b >= 0.0) {
        		tmp_1 = (2.0 * c) / (-2.0 * b);
        	} else {
        		tmp_1 = 0.5 * Math.sqrt((-4.0 * (c / a)));
        	}
        	return tmp_1;
        }
        
        def code(a, b, c):
        	tmp_1 = 0
        	if a <= 1.1e-301:
        		tmp_2 = 0
        		if b >= 0.0:
        			tmp_2 = (c + c) / (-2.0 * b)
        		else:
        			tmp_2 = -math.sqrt(math.fabs((c / a)))
        		tmp_1 = tmp_2
        	elif b >= 0.0:
        		tmp_1 = (2.0 * c) / (-2.0 * b)
        	else:
        		tmp_1 = 0.5 * math.sqrt((-4.0 * (c / a)))
        	return tmp_1
        
        function code(a, b, c)
        	tmp_1 = 0.0
        	if (a <= 1.1e-301)
        		tmp_2 = 0.0
        		if (b >= 0.0)
        			tmp_2 = Float64(Float64(c + c) / Float64(-2.0 * b));
        		else
        			tmp_2 = Float64(-sqrt(abs(Float64(c / a))));
        		end
        		tmp_1 = tmp_2;
        	elseif (b >= 0.0)
        		tmp_1 = Float64(Float64(2.0 * c) / Float64(-2.0 * b));
        	else
        		tmp_1 = Float64(0.5 * sqrt(Float64(-4.0 * Float64(c / a))));
        	end
        	return tmp_1
        end
        
        function tmp_4 = code(a, b, c)
        	tmp_2 = 0.0;
        	if (a <= 1.1e-301)
        		tmp_3 = 0.0;
        		if (b >= 0.0)
        			tmp_3 = (c + c) / (-2.0 * b);
        		else
        			tmp_3 = -sqrt(abs((c / a)));
        		end
        		tmp_2 = tmp_3;
        	elseif (b >= 0.0)
        		tmp_2 = (2.0 * c) / (-2.0 * b);
        	else
        		tmp_2 = 0.5 * sqrt((-4.0 * (c / a)));
        	end
        	tmp_4 = tmp_2;
        end
        
        code[a_, b_, c_] := If[LessEqual[a, 1.1e-301], If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], (-N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision])], If[GreaterEqual[b, 0.0], N[(N[(2.0 * c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], N[(0.5 * N[Sqrt[N[(-4.0 * N[(c / a), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
        
        \begin{array}{l}
        \mathbf{if}\;a \leq 1.1 \cdot 10^{-301}:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{c + c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;b \geq 0:\\
        \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if a < 1.1e-301

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Taylor expanded in a around -inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            4. lower-/.f6441.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
          7. Applied rewrites41.3%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          8. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            2. count-2-revN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            3. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{c \cdot c - c \cdot c}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            4. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{c - c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            5. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            6. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            7. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            8. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{a \cdot a - a \cdot a}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            9. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{a \cdot a - a \cdot a}{\color{blue}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            10. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
            11. lift-+.f6411.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          9. Applied rewrites12.8%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ } \end{array}} \]
          10. Step-by-step derivation
            1. lift-+.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            2. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{a \cdot a - a \cdot a}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            3. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{a - a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            4. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            5. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            6. remove-sound-/N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            7. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{c \cdot c - c \cdot c}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            8. +-inversesN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{c \cdot c - c \cdot c}{\color{blue}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            9. flip-+N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
            10. lift-+.f6442.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          11. Applied rewrites42.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]

          if 1.1e-301 < a

          1. Initial program 72.0%

            \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          2. Taylor expanded in b around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          3. Step-by-step derivation
            1. lower-*.f6470.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          4. Applied rewrites70.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
          5. Taylor expanded in a around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            2. lower-sqrt.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            3. lower-*.f64N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
            4. lower-/.f6442.0%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
          7. Applied rewrites42.0%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        3. Recombined 2 regimes into one program.
        4. Add Preprocessing

        Alternative 14: 42.5% accurate, 2.0× speedup?

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{c + c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (>= b 0.0) (/ (+ c c) (* -2.0 b)) (- (sqrt (fabs (/ c a))))))
        double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = (c + c) / (-2.0 * b);
        	} else {
        		tmp = -sqrt(fabs((c / a)));
        	}
        	return tmp;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            if (b >= 0.0d0) then
                tmp = (c + c) / ((-2.0d0) * b)
            else
                tmp = -sqrt(abs((c / a)))
            end if
            code = tmp
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = (c + c) / (-2.0 * b);
        	} else {
        		tmp = -Math.sqrt(Math.abs((c / a)));
        	}
        	return tmp;
        }
        
        def code(a, b, c):
        	tmp = 0
        	if b >= 0.0:
        		tmp = (c + c) / (-2.0 * b)
        	else:
        		tmp = -math.sqrt(math.fabs((c / a)))
        	return tmp
        
        function code(a, b, c)
        	tmp = 0.0
        	if (b >= 0.0)
        		tmp = Float64(Float64(c + c) / Float64(-2.0 * b));
        	else
        		tmp = Float64(-sqrt(abs(Float64(c / a))));
        	end
        	return tmp
        end
        
        function tmp_2 = code(a, b, c)
        	tmp = 0.0;
        	if (b >= 0.0)
        		tmp = (c + c) / (-2.0 * b);
        	else
        		tmp = -sqrt(abs((c / a)));
        	end
        	tmp_2 = tmp;
        end
        
        code[a_, b_, c_] := If[GreaterEqual[b, 0.0], N[(N[(c + c), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], (-N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision])]
        
        \begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{c + c}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\
        
        
        \end{array}
        
        Derivation
        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites70.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Taylor expanded in a around -inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        6. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          2. lower-sqrt.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          3. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          4. lower-/.f6441.3%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
        7. Applied rewrites41.3%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        8. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          2. count-2-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          3. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{c \cdot c - c \cdot c}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          4. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{c - c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          5. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          7. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          8. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{a \cdot a - a \cdot a}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          9. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{a \cdot a - a \cdot a}{\color{blue}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          10. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          11. lift-+.f6411.7%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        9. Applied rewrites12.8%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ } \end{array}} \]
        10. Step-by-step derivation
          1. lift-+.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          2. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{a \cdot a - a \cdot a}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          3. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{a - a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          4. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          5. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          6. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          7. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{c \cdot c - c \cdot c}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          8. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{c \cdot c - c \cdot c}{\color{blue}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          9. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          10. lift-+.f6442.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        11. Applied rewrites42.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        12. Add Preprocessing

        Alternative 15: 12.8% accurate, 2.0× speedup?

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (>= b 0.0) (/ (+ a a) (* -2.0 b)) (- (sqrt (fabs (/ c a))))))
        double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = (a + a) / (-2.0 * b);
        	} else {
        		tmp = -sqrt(fabs((c / a)));
        	}
        	return tmp;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            if (b >= 0.0d0) then
                tmp = (a + a) / ((-2.0d0) * b)
            else
                tmp = -sqrt(abs((c / a)))
            end if
            code = tmp
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = (a + a) / (-2.0 * b);
        	} else {
        		tmp = -Math.sqrt(Math.abs((c / a)));
        	}
        	return tmp;
        }
        
        def code(a, b, c):
        	tmp = 0
        	if b >= 0.0:
        		tmp = (a + a) / (-2.0 * b)
        	else:
        		tmp = -math.sqrt(math.fabs((c / a)))
        	return tmp
        
        function code(a, b, c)
        	tmp = 0.0
        	if (b >= 0.0)
        		tmp = Float64(Float64(a + a) / Float64(-2.0 * b));
        	else
        		tmp = Float64(-sqrt(abs(Float64(c / a))));
        	end
        	return tmp
        end
        
        function tmp_2 = code(a, b, c)
        	tmp = 0.0;
        	if (b >= 0.0)
        		tmp = (a + a) / (-2.0 * b);
        	else
        		tmp = -sqrt(abs((c / a)));
        	end
        	tmp_2 = tmp;
        end
        
        code[a_, b_, c_] := If[GreaterEqual[b, 0.0], N[(N[(a + a), $MachinePrecision] / N[(-2.0 * b), $MachinePrecision]), $MachinePrecision], (-N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision])]
        
        \begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;\frac{a + a}{-2 \cdot b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\
        
        
        \end{array}
        
        Derivation
        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites70.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Taylor expanded in a around -inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        6. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          2. lower-sqrt.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          3. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          4. lower-/.f6441.3%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
        7. Applied rewrites41.3%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        8. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          2. count-2-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          3. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{c \cdot c - c \cdot c}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          4. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{c - c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          5. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          7. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          8. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{a \cdot a - a \cdot a}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          9. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{a \cdot a - a \cdot a}{\color{blue}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          10. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          11. lift-+.f6411.7%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        9. Applied rewrites12.8%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ } \end{array}} \]
        10. Add Preprocessing

        Alternative 16: 12.8% accurate, 2.3× speedup?

        \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-1 \cdot \frac{a}{b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        (FPCore (a b c)
          :precision binary64
          (if (>= b 0.0) (* -1.0 (/ a b)) (- (sqrt (fabs (/ c a))))))
        double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = -1.0 * (a / b);
        	} else {
        		tmp = -sqrt(fabs((c / a)));
        	}
        	return tmp;
        }
        
        real(8) function code(a, b, c)
        use fmin_fmax_functions
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8), intent (in) :: c
            real(8) :: tmp
            if (b >= 0.0d0) then
                tmp = (-1.0d0) * (a / b)
            else
                tmp = -sqrt(abs((c / a)))
            end if
            code = tmp
        end function
        
        public static double code(double a, double b, double c) {
        	double tmp;
        	if (b >= 0.0) {
        		tmp = -1.0 * (a / b);
        	} else {
        		tmp = -Math.sqrt(Math.abs((c / a)));
        	}
        	return tmp;
        }
        
        def code(a, b, c):
        	tmp = 0
        	if b >= 0.0:
        		tmp = -1.0 * (a / b)
        	else:
        		tmp = -math.sqrt(math.fabs((c / a)))
        	return tmp
        
        function code(a, b, c)
        	tmp = 0.0
        	if (b >= 0.0)
        		tmp = Float64(-1.0 * Float64(a / b));
        	else
        		tmp = Float64(-sqrt(abs(Float64(c / a))));
        	end
        	return tmp
        end
        
        function tmp_2 = code(a, b, c)
        	tmp = 0.0;
        	if (b >= 0.0)
        		tmp = -1.0 * (a / b);
        	else
        		tmp = -sqrt(abs((c / a)));
        	end
        	tmp_2 = tmp;
        end
        
        code[a_, b_, c_] := If[GreaterEqual[b, 0.0], N[(-1.0 * N[(a / b), $MachinePrecision]), $MachinePrecision], (-N[Sqrt[N[Abs[N[(c / a), $MachinePrecision]], $MachinePrecision]], $MachinePrecision])]
        
        \begin{array}{l}
        \mathbf{if}\;b \geq 0:\\
        \;\;\;\;-1 \cdot \frac{a}{b}\\
        
        \mathbf{else}:\\
        \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\
        
        
        \end{array}
        
        Derivation
        1. Initial program 72.0%

          \[\begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        2. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f6470.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot \color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        4. Applied rewrites70.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{-2 \cdot b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \end{array} \]
        5. Taylor expanded in a around -inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        6. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          2. lower-sqrt.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \color{blue}{\sqrt{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          3. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{\color{blue}{-4 \cdot \frac{c}{a}}}\\ \end{array} \]
          4. lower-/.f6441.3%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \color{blue}{\frac{c}{a}}}\\ \end{array} \]
        7. Applied rewrites41.3%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{2 \cdot c}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        8. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          2. count-2-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{c + c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          3. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{c \cdot c - c \cdot c}{c - c}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          4. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{0}}{c - c}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          5. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{0}{\color{blue}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          6. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          7. remove-sound-/N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{\frac{0}{0}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          8. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{\color{blue}{a \cdot a - a \cdot a}}{0}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          9. +-inversesN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\frac{a \cdot a - a \cdot a}{\color{blue}{a - a}}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          10. flip-+N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
          11. lift-+.f6411.7%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{\color{blue}{a + a}}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-0.5 \cdot \sqrt{-4 \cdot \frac{c}{a}}\\ \end{array} \]
        9. Applied rewrites12.8%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;b \geq 0:\\ \;\;\;\;\frac{a + a}{-2 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ } \end{array}} \]
        10. Taylor expanded in b around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-1 \cdot \frac{a}{b}}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        11. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-1 \cdot \color{blue}{\frac{a}{b}}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
          2. lower-/.f6412.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;-1 \cdot \frac{a}{\color{blue}{b}}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        12. Applied rewrites12.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;b \geq 0:\\ \;\;\;\;\color{blue}{-1 \cdot \frac{a}{b}}\\ \mathbf{else}:\\ \;\;\;\;-\sqrt{\left|\frac{c}{a}\right|}\\ \end{array} \]
        13. Add Preprocessing

        Reproduce

        ?
        herbie shell --seed 2025326 
        (FPCore (a b c)
          :name "jeff quadratic root 2"
          :precision binary64
          (if (>= b 0.0) (/ (* 2.0 c) (- (- b) (sqrt (- (* b b) (* (* 4.0 a) c))))) (/ (+ (- b) (sqrt (- (* b b) (* (* 4.0 a) c)))) (* 2.0 a))))