


Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.3
Taylor expanded around 0 1.4
Final simplification1.4
herbie shell --seed 2019010
(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: 24.3s)Debug log
| 109.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:
| 35.4b | (cos (- (/ (* K (+ m n)) 2) M)) |
| 0.0b | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 0.0b | (- (/ (* K (+ m n)) 2) M) |
| 9× | *-un-lft-identity |
| 8× | add-log-exp |
| 7× | add-sqr-sqrt |
| 5× | add-cube-cbrt |
| 5× | add-exp-log |
| 5× | pow1 |
| 4× | add-cbrt-cube |
| 4× | sub-neg |
| 3× | unpow-prod-down |
| 2× | distribute-lft-out-- |
| 2× | associate--r+ |
| 2× | flip-- |
| 2× | diff-log |
| 2× | flip3-- |
| 2× | cos-sum |
| 1× | difference-of-squares |
| 1× | associate--r- |
| 1× | unpow2 |
| 1× | pow-exp |
| 1× | neg-log |
| 1× | distribute-rgt-neg-in |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 1× | cos-diff |
| 1× | neg-sub0 |
| 1× | associate--l- |
| 83.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 8.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 7.0ms | (- (/ (* K (+ m n)) 2) M) |
| 6.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
| 101.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 81.0ms | (cos (- (/ (* K (+ m n)) 2) M)) |
| 54.0ms | (- (/ (* K (+ m n)) 2) M) |
| 49.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 322.0ms | (/ (/ 1 (exp (pow (- (/ (+ m n) 2) M) 2))) (exp (- l (fabs (- m n))))) |
| 314.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 292.0ms | (- (sqrt (- (pow (- (/ (+ m n) 2) M) 2))) (sqrt (- l (fabs (- m n))))) |
| 244.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 210.0ms | (/ (exp (- (pow (- (/ (+ m n) 2) M) 2))) (exp (- l (fabs (- m n))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.8b
Found 2 expressions with local error:
| 0.0b | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 0.0b | (pow (- (/ (+ m n) 2) M) 2) |
| 7× | *-un-lft-identity |
| 6× | add-log-exp |
| 5× | add-sqr-sqrt |
| 3× | add-cube-cbrt |
| 3× | add-exp-log |
| 3× | unpow-prod-down |
| 3× | pow1 |
| 2× | distribute-lft-out-- |
| 2× | associate--r+ |
| 2× | diff-log |
| 2× | add-cbrt-cube |
| 2× | sub-neg |
| 1× | difference-of-squares |
| 1× | associate--r- |
| 1× | unpow2 |
| 1× | flip-- |
| 1× | pow-exp |
| 1× | neg-log |
| 1× | flip3-- |
| 1× | distribute-rgt-neg-in |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 1× | neg-sub0 |
| 1× | associate--l- |
| 135.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 5.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 110.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 61.0ms | (pow (- (/ (+ m n) 2) M) 2) |
| 394.0ms | (/ (/ 1 (exp (pow (- (/ (+ m n) 2) M) 2))) (exp (- l (fabs (- m n))))) |
| 299.0ms | (/ (exp (- (pow (- (/ (+ m n) 2) M) 2))) (exp (- l (fabs (- m n))))) |
| 220.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
| 217.0ms | (- (sqrt (- (pow (- (/ (+ m n) 2) M) 2))) (sqrt (- l (fabs (- m n))))) |
| 212.0ms | (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.8b
Found 4 expressions with local error:
| 45.8b | (cos (* (* (cbrt (- (/ (* K (+ m n)) 2) M)) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 9× | cbrt-prod |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | cbrt-div |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | flip-- |
| 3× | pow1/3 |
| 3× | flip3-- |
| 21.0ms | (cos (* (* (cbrt (- (/ (* K (+ m n)) 2) M)) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 4.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 2.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 2.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 285.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 269.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 259.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 73.0ms | (cos (* (* (cbrt (- (/ (* K (+ m n)) 2) M)) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 436.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 333.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 318.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 251.0ms | (- (exp (* 1/3 (+ (log M) (log -1)))) (+ (* 1/6 (* m (* K (exp (* 1/3 (- (log -1) (* 2 (log M)))))))) (* 1/6 (* K (* n (exp (* 1/3 (- (log -1) (* 2 (log M)))))))))) |
| 220.0ms | (- (exp (* 1/3 (+ (log M) (log -1)))) (+ (* 1/6 (* m (* K (exp (* 1/3 (- (log -1) (* 2 (log M)))))))) (* 1/6 (* K (* n (exp (* 1/3 (- (log -1) (* 2 (log M)))))))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.8b
Found 4 expressions with local error:
| 47.5b | (cos (* (* (* (* (cbrt (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 12.6b | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 9× | cbrt-prod |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | cbrt-div |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | flip-- |
| 3× | pow1/3 |
| 3× | flip3-- |
| 172.0ms | (cos (* (* (* (* (cbrt (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 2.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 2.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 2.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 240.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 222.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 218.0ms | (cbrt (- (/ (* K (+ m n)) 2) M)) |
| 73.0ms | (cos (* (* (* (* (cbrt (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (cbrt (- (/ (* K (+ m n)) 2) M)))) (cbrt (- (/ (* K (+ m n)) 2) M))) (cbrt (- (/ (* K (+ m n)) 2) M)))) |
| 395.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 393.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 296.0ms | (exp (* 1/3 (- (log 1/2) (+ (log (/ 1 m)) (log (/ 1 K)))))) |
| 249.0ms | (cbrt (- (pow (/ (* K (+ m n)) 2) 3) (pow M 3))) |
| 233.0ms | (- (exp (* 1/3 (+ (log M) (log -1)))) (+ (* 1/6 (* m (* K (exp (* 1/3 (- (log -1) (* 2 (log M)))))))) (* 1/6 (* K (* n (exp (* 1/3 (- (log -1) (* 2 (log M)))))))))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.8b
0% (0.3b remaining)
Error of 1.4b against oracle of 1.1b and baseline of 1.4b