


Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.1
Taylor expanded around 0 1.3
Final simplification1.3
herbie shell --seed 2019005 +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: 49.5s)Debug log
1 calls. Slowest were:
| 130.0ms | (* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 13.5b
Found 4 expressions with local error:
| 34.4b | (cos (- (/ (* K (+ m n)) 2) M)) |
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0b | (/ (* K (+ m n)) 2) |
| 0.0b | (* K (+ m n)) |
4 calls. Slowest were:
| 12.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
| 11.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 6.0ms | (/ (* K (+ m n)) 2) |
4 calls. Slowest were:
| 60.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
| 54.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 40.0ms | (/ (* K (+ m n)) 2) |
| 29.0ms | (* K (+ m n)) |
29 calls. Slowest were:
| 206.0ms | (- (pow M 2) (+ (* m M) (* M n))) |
| 184.0ms | (cos (- (+ (* 1/2 (* m K)) (* 1/2 (* K n))) M)) |
| 176.0ms | (- (pow M 2) (+ (* m M) (* M n))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.7b
Found 2 expressions with local error:
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0b | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
2 calls. Slowest were:
| 137.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 11.0ms | (pow (- (/ (+ m n) 2) M) 2) |
2 calls. Slowest were:
| 123.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 41.0ms | (pow (- (/ (+ m n) 2) M) 2) |
143 calls. Slowest were:
| 715.0ms | (fma (- (* (cbrt (pow (- (/ (+ m n) 2) M) 2)) (cbrt (pow (- (/ (+ m n) 2) M) 2)))) (cbrt (pow (- (/ (+ m n) 2) M) 2)) (- (* (- l (fabs (- m n))) 1))) |
| 600.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
| 566.0ms | (fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1)) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.7b
Found 4 expressions with local error:
| 34.5b | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 1.2b | (/ 2 (* K (+ m n))) |
| 0.5b | (/ 1 (/ 2 (* K (+ m n)))) |
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
4 calls. Slowest were:
| 11.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 9.0ms | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 2.0ms | (/ 1 (/ 2 (* K (+ m n)))) |
4 calls. Slowest were:
| 61.0ms | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 47.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 41.0ms | (/ 1 (/ 2 (* K (+ m n)))) |
| 30.0ms | (/ 2 (* K (+ m n))) |
31 calls. Slowest were:
| 193.0ms | (- (pow M 2) (+ (* m M) (* M n))) |
| 170.0ms | (cos (- (+ (* 1/2 (* m K)) (* 1/2 (* K n))) M)) |
| 165.0ms | (cos (- (+ (* 1/2 (* m K)) (* 1/2 (* K n))) M)) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.7b
Found 4 expressions with local error:
| 34.5b | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 1.2b | (/ 2 (* K (+ m n))) |
| 0.6b | (log (exp (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)))) |
| 0.5b | (/ 1 (/ 2 (* K (+ m n)))) |
4 calls. Slowest were:
| 19.0ms | (log (exp (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)))) |
| 11.0ms | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 2.0ms | (/ 1 (/ 2 (* K (+ m n)))) |
4 calls. Slowest were:
| 80.0ms | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 72.0ms | (log (exp (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)))) |
| 34.0ms | (/ 2 (* K (+ m n))) |
| 33.0ms | (/ 1 (/ 2 (* K (+ m n)))) |
36 calls. Slowest were:
| 234.0ms | (sqrt (cos (- (/ 1 (/ 2 (* K (+ m n)))) M))) |
| 227.0ms | (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)) |
| 220.0ms | (log (* (cbrt (exp (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)))) (cbrt (exp (cos (- (/ 1 (/ 2 (* K (+ m n)))) M)))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.7b
0% (0.2b remaining)
Error of 1.3b against oracle of 1.1b and baseline of 1.3b