


Bits error versus a



Bits error versus b
Initial program 0.2
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2018365 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))
Time bar (total: 25.5s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 0.3b | (* (* b b) (- 1 (* 3 a))) |
| 0.3b | (pow (+ (* a a) (* b b)) 2) |
| 0.0b | (* (* a a) (+ 1 a)) |
| 0.0b | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
4 calls. Slowest were:
| 21.0ms | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 4.0ms | (* (* b b) (- 1 (* 3 a))) |
| 3.0ms | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 91.0ms | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 40.0ms | (* (* b b) (- 1 (* 3 a))) |
| 38.0ms | (* (* a a) (+ 1 a)) |
| 37.0ms | (pow (+ (* a a) (* b b)) 2) |
48 calls. Slowest were:
| 1.0s | (* (* (* (* a a) (* a a)) (* a a)) (* (* (+ 1 a) (+ 1 a)) (+ 1 a))) |
| 692.0ms | (* (* (* (* b b) (* b b)) (* b b)) (* (* (- 1 (* 3 a)) (- 1 (* 3 a))) (- 1 (* 3 a)))) |
| 512.0ms | (* 4 (* (* b b) (- 1 (* 3 a)))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.3b | (* (* b b) (- 1 (* 3 a))) |
| 0.1b | (* (* a b) (* a b)) |
| 0.0b | (* (* a a) (+ 1 a)) |
| 0.0b | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
4 calls. Slowest were:
| 4.0ms | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 4.0ms | (* (* b b) (- 1 (* 3 a))) |
| 3.0ms | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 73.0ms | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 38.0ms | (* (* a a) (+ 1 a)) |
| 24.0ms | (* (* b b) (- 1 (* 3 a))) |
| 21.0ms | (* (* a b) (* a b)) |
46 calls. Slowest were:
| 886.0ms | (* (* (* (* a a) (* a a)) (* a a)) (* (* (+ 1 a) (+ 1 a)) (+ 1 a))) |
| 616.0ms | (* (* (* (* a b) (* a b)) (* a b)) (* (* (* a b) (* a b)) (* a b))) |
| 568.0ms | (* (* (* (* b b) (* b b)) (* b b)) (* (* (- 1 (* 3 a)) (- 1 (* 3 a))) (- 1 (* 3 a)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 9.7b | (sqrt (+ (* a a) (* b b))) |
| 0.3b | (* (* b b) (- 1 (* 3 a))) |
| 0.2b | (fma (fma b b (* a a)) (pow (sqrt (+ (* a a) (* b b))) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 0.0b | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 4.0ms | (* (* b b) (- 1 (* 3 a))) |
| 4.0ms | (sqrt (+ (* a a) (* b b))) |
| 3.0ms | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 96.0ms | (fma (fma b b (* a a)) (pow (sqrt (+ (* a a) (* b b))) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) |
| 39.0ms | (* (* b b) (- 1 (* 3 a))) |
| 27.0ms | (* (* a a) (+ 1 a)) |
| 20.0ms | (sqrt (+ (* a a) (* b b))) |
40 calls. Slowest were:
| 739.0ms | (* (* (* (* a a) (* a a)) (* a a)) (* (* (+ 1 a) (+ 1 a)) (+ 1 a))) |
| 567.0ms | (* (* (* (* b b) (* b b)) (* b b)) (* (* (- 1 (* 3 a)) (- 1 (* 3 a))) (- 1 (* 3 a)))) |
| 239.0ms | (* (* b b) (- 1 (* 3 a))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 9.7b | (sqrt (+ (* a a) (* b b))) |
| 0.3b | (* (* b b) (- 1 (* 3 a))) |
| 0.3b | (* (fma b b (* a a)) (pow (sqrt (+ (* a a) (* b b))) 2)) |
| 0.0b | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 19.0ms | (* (fma b b (* a a)) (pow (sqrt (+ (* a a) (* b b))) 2)) |
| 7.0ms | (* (* b b) (- 1 (* 3 a))) |
| 6.0ms | (* (* a a) (+ 1 a)) |
4 calls. Slowest were:
| 54.0ms | (* (fma b b (* a a)) (pow (sqrt (+ (* a a) (* b b))) 2)) |
| 39.0ms | (* (* b b) (- 1 (* 3 a))) |
| 39.0ms | (* (* a a) (+ 1 a)) |
| 31.0ms | (sqrt (+ (* a a) (* b b))) |
56 calls. Slowest were:
| 665.0ms | (* (* (* (* a a) (* a a)) (* a a)) (* (* (+ 1 a) (+ 1 a)) (+ 1 a))) |
| 460.0ms | (* (* (* (* b b) (* b b)) (* b b)) (* (* (- 1 (* 3 a)) (- 1 (* 3 a))) (- 1 (* 3 a)))) |
| 435.0ms | (* (* (* (fma b b (* a a)) (fma b b (* a a))) (fma b b (* a a))) (* (* (pow (sqrt (+ (* a a) (* b b))) 2) (pow (sqrt (+ (* a a) (* b b))) 2)) (pow (sqrt (+ (* a a) (* b b))) 2))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b