Average Error: 1.8 → 0.4
Time: 1.5m
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 \frac{1}{2}\right) \cdot \left(\left(c - a\right) + b\right)\right) \cdot \left(\left(\left(b + \left(a - c\right)\right) \cdot \left(\left(a - b\right) + c\right)\right) \cdot \frac{b + \left(a + c\right)}{\frac{2}{\frac{1}{2}}}\right)}\]

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 1.8

    \[\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.6

    \[\leadsto \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(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot c\right)}\]
  3. Taylor expanded around 0 1.6

    \[\leadsto \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 \color{blue}{\left(\left(\frac{1}{2} \cdot b + \frac{1}{2} \cdot a\right) - \frac{1}{2} \cdot c\right)}}\]
  4. Applied simplify 1.4

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

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

    \[\leadsto \sqrt{\left(\left(\frac{a + \left(c + b\right)}{2} - a\right) \cdot \left(\frac{1}{2} \cdot \frac{a + \left(c + b\right)}{2}\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 \left(a - \left(c - b\right)\right)\right)}\]
  7. Applied simplify 1.1

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

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

    \[\leadsto \sqrt{\left(\frac{1}{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(\left(\left(\frac{1}{2} \cdot \left(c + \left(a - b\right)\right)\right) \cdot \frac{a + \left(c + b\right)}{2}\right) \cdot \left(\left(a + b\right) - c\right)\right)}\]
  10. Applied simplify 0.4

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

Runtime

Time bar (total: 1.5m) 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 "triangle10"
  :pre (and (<= 1 a 9) (<= 1 b 9) (<= 1 c 9) (> (+ a b) (+ c 1e-10)) (> (+ a c) (+ b 1e-10)) (> (+ b c) (+ a 1e-10)))
  (sqrt (* (* (* (/ (+ (+ a b) c) 2) (- (/ (+ (+ a b) c) 2) a)) (- (/ (+ (+ a b) c) 2) b)) (- (/ (+ (+ a b) c) 2) c))))