Average Error: 0.0 → 0.0
Time: 1.8m
Precision: 64
Internal Precision: 384
\[\begin{array}{l} \mathbf{if}\;3.5 \cdot 3.5 - 3 \cdot c \gt 10:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;3.5 \gt 0:\\ \;\;\;\;\frac{c \cdot 2}{\left(-3.5\right) - \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}\\ \mathbf{if}\;3.5 \lt 0:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\]
\[\begin{array}{l} \mathbf{if}\;3.5 \cdot 3.5 - 3 \cdot c \gt 10:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;3.5 \gt 0:\\ \;\;\;\;\frac{c \cdot 2}{\left(-3.5\right) - \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}\\ \mathbf{if}\;3.5 \lt 0:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\]

Error

Bits error versus c

Derivation

  1. Initial program 0.0

    \[\begin{array}{l} \mathbf{if}\;3.5 \cdot 3.5 - 3 \cdot c \gt 10:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;3.5 \gt 0:\\ \;\;\;\;\frac{c \cdot 2}{\left(-3.5\right) - \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}\\ \mathbf{if}\;3.5 \lt 0:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-3.5\right) + \sqrt{3.5 \cdot 3.5 - \left(3 \cdot c\right) \cdot 4.0}}{3 \cdot 2}\\ \end{array}\]

Runtime

Time bar (total: 1.8m)Debug log

herbie shell --seed '#(1743936871 1855164119 3668777427 1254258049 132811564 1366975197)' 
(FPCore (c)
  :name "smartRoot"
  :pre (and (<= -2 c 2) (> (- (* 3.5 3.5) (* (* 3 c) 4.0)) 0.1))
  (if (> (- (* 3.5 3.5) (* 3 c)) 10) (if (> 3.5 0) (/ (* c 2) (- (- 3.5) (sqrt (- (* 3.5 3.5) (* (* 3 c) 4.0))))) (if (< 3.5 0) (/ (+ (- 3.5) (sqrt (- (* 3.5 3.5) (* (* 3 c) 4.0)))) (* 3 2)) (/ (+ (- 3.5) (sqrt (- (* 3.5 3.5) (* (* 3 c) 4.0)))) (* 3 2)))) (/ (+ (- 3.5) (sqrt (- (* 3.5 3.5) (* (* 3 c) 4.0)))) (* 3 2))))