Average Error: 37.4 → 33.5
Time: 8.6s
Precision: binary64
\[q + \frac{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d}}{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d} - \sqrt{\left(z \cdot a + x \cdot s\right) + c \cdot d}} \cdot \left(z - q\right)\]
\[q + \left(-\frac{q - z}{1 + \left(-\frac{\sqrt{\left(z \cdot a + x \cdot s\right) + c \cdot d}}{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d}}\right)}\right)\]

Error

Bits error versus q

Bits error versus a

Bits error versus w

Bits error versus s

Bits error versus e

Bits error versus d

Bits error versus z

Bits error versus x

Bits error versus c

Derivation

  1. Initial program 37.4

    \[q + \frac{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d}}{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d} - \sqrt{\left(z \cdot a + x \cdot s\right) + c \cdot d}} \cdot \left(z - q\right)\]
  2. Simplified33.5

    \[\leadsto \color{blue}{-\left(\frac{q - z}{1 + \left(-\frac{\sqrt{\left(z \cdot a + x \cdot s\right) + c \cdot d}}{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d}}\right)} + \left(-q\right)\right)}\]
  3. Final simplification33.5

    \[\leadsto q + \left(-\frac{q - z}{1 + \left(-\frac{\sqrt{\left(z \cdot a + x \cdot s\right) + c \cdot d}}{\sqrt{\left(q \cdot a + w \cdot s\right) + e \cdot d}}\right)}\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (q a w s e d z x c)
  :name "(+ q (* (/ (sqrt (+ (+ (* q a) (* w s)) (* e d))) (- (sqrt (+ (+ (* q a) (* w s)) (* e d))) (sqrt (+ (+ (* z a) (* x s)) (* c d))))) (- z q)))"
  :precision binary64
  (+ q (* (/ (sqrt (+ (+ (* q a) (* w s)) (* e d))) (- (sqrt (+ (+ (* q a) (* w s)) (* e d))) (sqrt (+ (+ (* z a) (* x s)) (* c d))))) (- z q))))