\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)}double code(double a, double b, double c) {
return ((double) sqrt(((double) (((double) (((double) (((double) (((double) (((double) (a + b)) + c)) / 2.0)) * ((double) (((double) (((double) (((double) (a + b)) + c)) / 2.0)) - a)))) * ((double) (((double) (((double) (((double) (a + b)) + c)) / 2.0)) - b)))) * ((double) (((double) (((double) (((double) (a + b)) + c)) / 2.0)) - c))))));
}
Please include this information when filing a bug report:
herbie shell --seed 2020155
(FPCore (a b c)
:name "Area of a triangle"
:precision binary64
:pre (and (< 0.0 a (+ b c)) (< 0.0 b (+ a c)) (< 0.0 c (+ a b)))
:herbie-target
(/ (sqrt (* (* (* (+ a (+ b c)) (- c (- a b))) (+ c (- a b))) (+ a (- b c)))) 4.0)
(sqrt (* (* (* (/ (+ (+ a b) c) 2.0) (- (/ (+ (+ a b) c) 2.0) a)) (- (/ (+ (+ a b) c) 2.0) b)) (- (/ (+ (+ a b) c) 2.0) c))))
| not inclusive intervals | L | C | |
|---|---|---|---|
| fpbench-ival->ival | /data/pavpan/nightlies/herbie/ival-find-range/src/findroot.rkt | 63 | 0 |
| loop | unknown | ||
| range-table->hyperrects | /data/pavpan/nightlies/herbie/ival-find-range/src/findroot.rkt | 58 | 0 |
| make-sampler | /data/pavpan/nightlies/herbie/ival-find-range/src/points.rkt | 124 | 0 |
| prepare-points-intervals | /data/pavpan/nightlies/herbie/ival-find-range/src/points.rkt | 155 | 0 |
| run-improve47 | /data/pavpan/nightlies/herbie/ival-find-range/src/mainloop.rkt | 365 | 0 |
| .../more-scheme.rkt:261:28 | unknown | ||
| run | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/private/more-scheme.rkt | 261 | 28 |
herbie shell --seed 2020155
(FPCore (a b c)
:name "Area of a triangle"
:precision binary64
:pre (and (< 0.0 a (+ b c)) (< 0.0 b (+ a c)) (< 0.0 c (+ a b)))
:herbie-target
(/ (sqrt (* (* (* (+ a (+ b c)) (- c (- a b))) (+ c (- a b))) (+ a (- b c)))) 4.0)
(sqrt (* (* (* (/ (+ (+ a b) c) 2.0) (- (/ (+ (+ a b) c) 2.0) a)) (- (/ (+ (+ a b) c) 2.0) b)) (- (/ (+ (+ a b) c) 2.0) c))))