


Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.0
Taylor expanded around 0 1.3
Final simplification1.3
herbie shell --seed 2018362 +o rules:numerics
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))
Time bar (total: 1.4m)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 15.3b
Found 4 expressions with local error:
| 33.8b | (cos (- (/ (* K (+ m n)) 2) M)) |
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0b | (* K (+ m n)) |
| 0.0b | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
4 calls. Slowest were:
| 221.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 7.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 6.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
4 calls. Slowest were:
| 129.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 62.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
| 54.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 27.0ms | (* K (+ m n)) |
159 calls. Slowest were:
| 777.0ms | (fma (pow (* (cbrt (- (/ (+ m n) 2) M)) (cbrt (- (/ (+ m n) 2) M))) 2) (- (pow (cbrt (- (/ (+ m n) 2) M)) 2)) (- (* (sqrt (- l (fabs (- m n)))) (sqrt (- l (fabs (- m n))))))) |
| 692.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
| 679.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 1.2b
Found 3 expressions with local error:
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0b | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 0.0b | (- l (fabs (- m n))) |
3 calls. Slowest were:
| 162.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 6.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0ms | (- l (fabs (- m n))) |
3 calls. Slowest were:
| 118.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 55.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 16.0ms | (- l (fabs (- m n))) |
146 calls. Slowest were:
| 1.1s | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
| 677.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
| 663.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 1.2b
Found 4 expressions with local error:
| 33.7b | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M)) |
| 0.6b | (cbrt (+ m n)) |
| 0.6b | (cbrt (+ m n)) |
| 0.6b | (cbrt (+ m n)) |
4 calls. Slowest were:
| 13.0ms | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M)) |
| 1.0ms | (cbrt (+ m n)) |
| 1.0ms | (cbrt (+ m n)) |
4 calls. Slowest were:
| 190.0ms | (cbrt (+ m n)) |
| 145.0ms | (cbrt (+ m n)) |
| 135.0ms | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M)) |
| 126.0ms | (cbrt (+ m n)) |
30 calls. Slowest were:
| 240.0ms | (- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3)))) |
| 223.0ms | (- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3)))) |
| 219.0ms | (- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3)))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 33.9b | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M)) |
| 0.6b | (cbrt (+ m n)) |
| 0.6b | (cbrt (+ m n)) |
| 0.6b | (cbrt (+ m n)) |
4 calls. Slowest were:
| 28.0ms | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M)) |
| 1.0ms | (cbrt (+ m n)) |
| 1.0ms | (cbrt (+ m n)) |
4 calls. Slowest were:
| 160.0ms | (cbrt (+ m n)) |
| 134.0ms | (cbrt (+ m n)) |
| 119.0ms | (cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M)) |
| 115.0ms | (cbrt (+ m n)) |
30 calls. Slowest were:
| 612.0ms | (* (cos (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2)) (cos (- M))) |
| 279.0ms | (- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3)))) |
| 246.0ms | (- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3)))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 1.1b
0% (0.2b remaining)
Error of 1.3b against oracle of 1.1b and baseline of 1.3b