Average Error: 57.2 → 0
Time: 1.2m
Precision: 64
Internal precision: 128
\[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2} + \sqrt{{\left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2}\right)}^2 - {M}^2}\right)\]
\[\begin{array}{l} \mathbf{if}\;\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2} + \sqrt{{\left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2}\right)}^2 - {M}^2} \le 2.8418738741257153 \cdot 10^{-186}:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Error

Bits error versus c0

Bits error versus w

Bits error versus h

Bits error versus D

Bits error versus d

Bits error versus M

Derivation

  1. Split input into 2 regimes.
  2. if (+ (/ (* c0 (sqr d)) (* (* w h) (sqr D))) (sqrt (- (sqr (/ (* c0 (sqr d)) (* (* w h) (sqr D)))) (sqr M)))) < 2.8418738741257153e-186

    1. Initial program 5.0

      \[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2} + \sqrt{{\left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2}\right)}^2 - {M}^2}\right)\]
    2. Applied taylor 3.6

      \[\leadsto \frac{c0}{2 \cdot w} \cdot 0\]
    3. Taylor expanded around inf 3.6

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{0}\]
    4. Applied simplify 0

      \[\leadsto \color{blue}{0}\]

    if 2.8418738741257153e-186 < (+ (/ (* c0 (sqr d)) (* (* w h) (sqr D))) (sqrt (- (sqr (/ (* c0 (sqr d)) (* (* w h) (sqr D)))) (sqr M))))

    1. Initial program 62.8

      \[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2} + \sqrt{{\left(\frac{c0 \cdot {d}^2}{\left(w \cdot h\right) \cdot {D}^2}\right)}^2 - {M}^2}\right)\]
    2. Applied taylor 8.3

      \[\leadsto \frac{c0}{2 \cdot w} \cdot 0\]
    3. Taylor expanded around inf 8.3

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{0}\]
    4. Applied simplify 0

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Removed slow pow expressions

Runtime

Time bar (total: 1.2m) Debug log

Please include this information when filing a bug report:

herbie --seed '#(315413672 2156680431 595251960 2889215465 2424208962 1574962756)'
(FPCore (c0 w h D d M)
  :name "Henrywood and Agarwal, Equation (13)"
  (* (/ c0 (* 2 w)) (+ (/ (* c0 (sqr d)) (* (* w h) (sqr D))) (sqrt (- (sqr (/ (* c0 (sqr d)) (* (* w h) (sqr D)))) (sqr M))))))