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

Error

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 2.6

    \[\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. Taylor expanded around 0 1.8

    \[\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)}\]
  3. Applied simplify0.9

    \[\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)}}\]
  4. Taylor expanded around 0 0.7

    \[\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)}\]
  5. Applied simplify0.6

    \[\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)}}\]
  6. Taylor expanded around 0 0.4

    \[\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)}\]
  7. Applied simplify0.5

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

Runtime

Time bar (total: 3.1m)Debug log

herbie shell --seed '#(1743936871 1855164119 3668777427 1254258049 132811564 1366975197)' 
(FPCore (a b c)
  :name "triangle"
  :pre (and (<= 9.0 a 9.0) (<= 4.71 b 4.89) (<= 4.71 c 4.89))
  (sqrt (* (* (* (/ (+ (+ a b) c) 2) (- (/ (+ (+ a b) c) 2) a)) (- (/ (+ (+ a b) c) 2) b)) (- (/ (+ (+ a b) c) 2) c))))