


Bits error versus a



Bits error versus b
Initial program 0.2
Taylor expanded around 0 0.0
Simplified0.0
rmApplied add-exp-log0.0
Final simplification0.0
herbie shell --seed 2019005 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))
Time bar (total: 14.9s)Debug log
1 calls. Slowest were:
| 480.0ms | (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 0.4b | (pow (+ (* a a) (* b b)) 2) |
| 0.0b | (* 4 (* b b)) |
| 0.0b | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) |
| 0.0b | (+ (* a a) (* b b)) |
4 calls. Slowest were:
| 32.0ms | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) |
| 9.0ms | (* 4 (* b b)) |
| 5.0ms | (pow (+ (* a a) (* b b)) 2) |
4 calls. Slowest were:
| 40.0ms | (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) |
| 34.0ms | (pow (+ (* a a) (* b b)) 2) |
| 27.0ms | (+ (* a a) (* b b)) |
| 18.0ms | (* 4 (* b b)) |
25 calls. Slowest were:
| 202.0ms | (+ (* 2 (* (pow a 2) (pow b 2))) (+ (* 4 (pow b 2)) (pow a 4))) |
| 187.0ms | (* (exp (pow (+ (* a a) (* b b)) 2)) (exp (* 4 (* b b)))) |
| 176.0ms | (* (cbrt (pow (+ (* a a) (* b b)) 2)) (cbrt (pow (+ (* a a) (* b b)) 2))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (* (* a b) (* a b)) |
| 0.0b | (* 4 (* b b)) |
| 0.0b | (+ (pow a 4) (pow b 4)) |
| 0.0b | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (* b b))) |
4 calls. Slowest were:
| 4.0ms | (* (* a b) (* a b)) |
| 4.0ms | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (* b b))) |
| 3.0ms | (+ (pow a 4) (pow b 4)) |
4 calls. Slowest were:
| 40.0ms | (+ (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4))) (* 4 (* b b))) |
| 39.0ms | (+ (pow a 4) (pow b 4)) |
| 18.0ms | (* (* a b) (* a b)) |
| 11.0ms | (* 4 (* b b)) |
26 calls. Slowest were:
| 616.0ms | (* (* (* (* a b) (* a b)) (* a b)) (* (* (* a b) (* a b)) (* a b))) |
| 201.0ms | (* (exp (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) (exp (* 4 (* b b)))) |
| 122.0ms | (+ (* 2 (* (pow a 2) (pow b 2))) (+ (* 4 (pow b 2)) (pow a 4))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 38.3b | (log (* (* a b) (* a b))) |
| 2.1b | (exp (log (* (* a b) (* a b)))) |
| 0.2b | (* (* a b) (* a b)) |
| 0.0b | (* 4 (* b b)) |
4 calls. Slowest were:
| 8.0ms | (exp (log (* (* a b) (* a b)))) |
| 6.0ms | (* (* a b) (* a b)) |
| 4.0ms | (log (* (* a b) (* a b))) |
4 calls. Slowest were:
| 66.0ms | (log (* (* a b) (* a b))) |
| 27.0ms | (* (* a b) (* a b)) |
| 22.0ms | (* 4 (* b b)) |
| 17.0ms | (exp (log (* (* a b) (* a b)))) |
33 calls. Slowest were:
| 655.0ms | (* (* (* (* a b) (* a b)) (* a b)) (* (* (* a b) (* a b)) (* a b))) |
| 156.0ms | (- (+ (* 2 (log (/ -1 a))) (* 2 (log (/ -1 b))))) |
| 101.0ms | (- (+ (* 2 (log (/ 1 b))) (* 2 (log (/ 1 a))))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 11.5b | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
| 11.5b | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
| 0.3b | (fma (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) (* 4 (* b b))) |
| 0.2b | (* (* a b) (* a b)) |
4 calls. Slowest were:
| 6.0ms | (* (* a b) (* a b)) |
| 2.0ms | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
| 2.0ms | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
4 calls. Slowest were:
| 95.0ms | (fma (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) (* 4 (* b b))) |
| 58.0ms | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
| 40.0ms | (sqrt (fma 2 (* (* a b) (* a b)) (+ (pow a 4) (pow b 4)))) |
| 18.0ms | (* (* a b) (* a b)) |
26 calls. Slowest were:
| 685.0ms | (* (* (* (* a b) (* a b)) (* a b)) (* (* (* a b) (* a b)) (* a b))) |
| 159.0ms | (+ (* 2 (* (pow a 2) (pow b 2))) (+ (* 4 (pow b 2)) (pow a 4))) |
| 132.0ms | (+ (pow b 4) (+ (pow a 4) (* 2 (* (pow a 2) (pow b 2))))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b