Average Error: 1.7 → 0.6
Time: 1.4m
Precision: 64
Internal precision: 384
\[\sqrt{\left(\left(\frac{\left(a + b\right) + c}{2} \cdot \left(\frac{\left(a + b\right) + c}{2} - a\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - b\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - c\right)}\]
\[\sqrt{\left(\left(\frac{1}{2} \cdot \left(\left(c + a\right) - b\right)\right) \cdot \frac{b + \left(c + a\right)}{2}\right) \cdot \left(\left(\left(c - a\right) + b\right) \cdot \left(\left(\left(b - c\right) + a\right) \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right)\right)}\]

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 1.7

    \[\sqrt{\left(\left(\frac{\left(a + b\right) + c}{2} \cdot \left(\frac{\left(a + b\right) + c}{2} - a\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - b\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - c\right)}\]
  2. Applied taylor 1.4

    \[\leadsto \sqrt{\left(\left(\frac{\left(a + b\right) + c}{2} \cdot \left(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot c\right) - \frac{1}{2} \cdot a\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - b\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - c\right)}\]
  3. Taylor expanded around 0 1.4

    \[\leadsto \sqrt{\left(\left(\frac{\left(a + b\right) + c}{2} \cdot \color{blue}{\left(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot c\right) - \frac{1}{2} \cdot a\right)}\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - b\right)\right) \cdot \left(\frac{\left(a + b\right) + c}{2} - c\right)}\]
  4. Applied simplify 1.4

    \[\leadsto \color{blue}{\sqrt{\left(\left(\frac{c + \left(b + a\right)}{2} - c\right) \cdot \left(\frac{c + \left(b + a\right)}{2} - b\right)\right) \cdot \left(\frac{c + \left(b + a\right)}{2} \cdot \left(\frac{1}{2} \cdot \left(c + \left(b - a\right)\right)\right)\right)}}\]
  5. Applied taylor 1.1

    \[\leadsto \sqrt{\left(\left(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot c\right) \cdot \left(\frac{c + \left(b + a\right)}{2} - b\right)\right) \cdot \left(\frac{c + \left(b + a\right)}{2} \cdot \left(\frac{1}{2} \cdot \left(c + \left(b - a\right)\right)\right)\right)}\]
  6. Taylor expanded around 0 1.1

    \[\leadsto \sqrt{\left(\color{blue}{\left(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot c\right)} \cdot \left(\frac{c + \left(b + a\right)}{2} - b\right)\right) \cdot \left(\frac{c + \left(b + a\right)}{2} \cdot \left(\frac{1}{2} \cdot \left(c + \left(b - a\right)\right)\right)\right)}\]
  7. Applied simplify 0.9

    \[\leadsto \color{blue}{\sqrt{\left(\left(\left(\left(b - a\right) + c\right) \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{2} \cdot \left(b + \left(a - c\right)\right)\right)\right) \cdot \left(\left(\frac{\left(a + b\right) + c}{2} - b\right) \cdot \frac{\left(a + b\right) + c}{2}\right)}}\]
  8. Applied taylor 0.6

    \[\leadsto \sqrt{\left(\left(\left(\left(b - a\right) + c\right) \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{2} \cdot \left(b + \left(a - c\right)\right)\right)\right) \cdot \left(\left(\left(\frac{1}{2} \cdot c + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot b\right) \cdot \frac{\left(a + b\right) + c}{2}\right)}\]
  9. Taylor expanded around 0 0.6

    \[\leadsto \sqrt{\left(\left(\left(\left(b - a\right) + c\right) \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{2} \cdot \left(b + \left(a - c\right)\right)\right)\right) \cdot \left(\color{blue}{\left(\left(\frac{1}{2} \cdot c + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot b\right)} \cdot \frac{\left(a + b\right) + c}{2}\right)}\]
  10. Applied simplify 0.6

    \[\leadsto \color{blue}{\sqrt{\left(\left(\frac{1}{2} \cdot \left(\left(c + a\right) - b\right)\right) \cdot \frac{b + \left(c + a\right)}{2}\right) \cdot \left(\left(\left(c - a\right) + b\right) \cdot \left(\left(\left(b - c\right) + a\right) \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right)\right)}}\]
  11. Removed slow pow expressions

Runtime

Time bar (total: 1.4m) Debug log

Please include this information when filing a bug report:

herbie shell --seed '#(3052192724 3812927732 3686175817 630908657 2373248591 511094450)'
(FPCore (a b c)
  :name "triangle1"
  :pre (and (<= 1 a 9) (<= 1 b 9) (<= 1 c 9) (> (+ a b) (+ c 0.1)) (> (+ a c) (+ b 0.1)) (> (+ b c) (+ a 0.1)))
  (sqrt (* (* (* (/ (+ (+ a b) c) 2) (- (/ (+ (+ a b) c) 2) a)) (- (/ (+ (+ a b) c) 2) b)) (- (/ (+ (+ a b) c) 2) c))))