


Bits error versus F



Bits error versus l
if F < 2.2891738603422554e-218Initial program 10.9
Simplified10.9
Taylor expanded around -inf 10.5
Taylor expanded around inf 10.5
rmApplied add-cube-cbrt10.8
Applied times-frac10.8
if 2.2891738603422554e-218 < F < 1.5360642580366263e-167Initial program 60.1
Simplified60.1
Taylor expanded around -inf 60.1
rmApplied add-exp-log60.1
Applied add-exp-log60.1
Applied prod-exp60.1
Applied add-exp-log60.1
Applied div-exp60.1
Simplified32.5
if 1.5360642580366263e-167 < F Initial program 2.1
Simplified2.1
rmApplied associate-/r*2.1
Final simplification7.6
herbie shell --seed 2019022 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))
Time bar (total: 32.7s)Debug log
| 382.0ms | 223× | body | 10240 | exit |
| 46.0ms | 289× | body | 80 | valid |
| 4.0ms | 9× | body | 160 | valid |
| 246.0ms | (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 7.8b
Found 4 expressions with local error:
| 7.4b | (fma (tan (* PI l)) (/ -1 (* F F)) (* PI l)) |
| 4.2b | (tan (* PI l)) |
| 0.5b | (/ -1 (* F F)) |
| 0.2b | (* PI l) |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-cube-cbrt |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | *-un-lft-identity |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 4× | add-sqr-sqrt |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | *-commutative |
| 1× | tan-quot |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 3.0ms | (tan (* PI l)) |
| 2.0ms | (fma (tan (* PI l)) (/ -1 (* F F)) (* PI l)) |
| 1.0ms | (/ -1 (* F F)) |
| 0.0ms | (* PI l) |
| 137.0ms | (fma (tan (* PI l)) (/ -1 (* F F)) (* PI l)) |
| 54.0ms | (tan (* PI l)) |
| 35.0ms | (* PI l) |
| 13.0ms | (/ -1 (* F F)) |
| 394.0ms | (- (* PI l) (+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2))))) |
| 306.0ms | (+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l))) |
| 54.0ms | (- (* PI l) (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 34.0ms | (- (* PI l) (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 3.0ms | (/ -1 (pow F 2)) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 7.2b
Found 4 expressions with local error:
| 7.0b | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 4.1b | (sin (* PI l)) |
| 4.0b | (cos (* PI l)) |
| 0.2b | (* PI l) |
| 11× | add-exp-log |
| 9× | add-cbrt-cube |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | div-exp |
| 3× | times-frac |
| 2× | prod-exp |
| 2× | cbrt-undiv |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | pow-to-exp |
| 8.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 2.0ms | (cos (* PI l)) |
| 1.0ms | (sin (* PI l)) |
| 0.0ms | (* PI l) |
| 96.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 43.0ms | (* PI l) |
| 24.0ms | (sin (* PI l)) |
| 18.0ms | (cos (* PI l)) |
| 271.0ms | (- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2)))) |
| 213.0ms | (- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3)))) |
| 115.0ms | (- (log (sin (* PI l))) (+ (log (pow F 2)) (log (cos (* PI l))))) |
| 113.0ms | (/ (* (* (sin (* PI l)) (sin (* PI l))) (sin (* PI l))) (* (* (* (pow F 2) (cos (* PI l))) (* (pow F 2) (cos (* PI l)))) (* (pow F 2) (cos (* PI l))))) |
| 113.0ms | (- (log (sin (* PI l))) (log (* (pow F 2) (cos (* PI l))))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 5.9b
Found 4 expressions with local error:
| 7.0b | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 4.1b | (sin (* PI l)) |
| 4.0b | (cos (* PI l)) |
| 0.2b | (* PI l) |
| 11× | add-exp-log |
| 9× | add-cbrt-cube |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | div-exp |
| 3× | times-frac |
| 2× | prod-exp |
| 2× | cbrt-undiv |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | pow-to-exp |
| 15.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 3.0ms | (sin (* PI l)) |
| 3.0ms | (cos (* PI l)) |
| 0.0ms | (* PI l) |
| 117.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 35.0ms | (* PI l) |
| 19.0ms | (sin (* PI l)) |
| 16.0ms | (cos (* PI l)) |
| 194.0ms | (- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2)))) |
| 190.0ms | (- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3)))) |
| 132.0ms | (- (log (sin (* PI l))) (log (* (pow F 2) (cos (* PI l))))) |
| 131.0ms | (- (log (sin (* PI l))) (+ (log (pow F 2)) (log (cos (* PI l))))) |
| 91.0ms | (/ (* (* (sin (* PI l)) (sin (* PI l))) (sin (* PI l))) (* (* (* (pow F 2) (cos (* PI l))) (* (pow F 2) (cos (* PI l)))) (* (pow F 2) (cos (* PI l))))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 5.9b
Found 4 expressions with local error:
| 28.6b | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 28.6b | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 28.6b | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 7.0b | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 21× | cbrt-prod |
| 12× | add-cube-cbrt |
| 12× | times-frac |
| 12× | *-un-lft-identity |
| 12× | add-sqr-sqrt |
| 11× | add-exp-log |
| 9× | add-cbrt-cube |
| 4× | add-log-exp |
| 4× | div-inv |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | div-exp |
| 3× | pow1/3 |
| 3× | cbrt-div |
| 2× | prod-exp |
| 2× | cbrt-undiv |
| 1× | cbrt-unprod |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | pow-to-exp |
| 11.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 3.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 3.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 3.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 182.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 163.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 162.0ms | (cbrt (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))) |
| 84.0ms | (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))) |
| 216.0ms | (exp (* 1/3 (+ (* 2 (log (/ 1 F))) (log (/ (sin (* PI l)) (cos (* PI l))))))) |
| 191.0ms | (+ (exp (* 1/3 (- (+ (log l) (log PI)) (* 2 (log F))))) (* 1/9 (* (pow PI 2) (* (exp (* 1/3 (- (+ (log l) (log PI)) (* 2 (log F))))) (pow l 2))))) |
| 161.0ms | (+ (exp (* 1/3 (- (+ (log l) (log PI)) (* 2 (log F))))) (* 1/9 (* (pow PI 2) (* (exp (* 1/3 (- (+ (log l) (log PI)) (* 2 (log F))))) (pow l 2))))) |
| 157.0ms | (exp (* 1/3 (+ (* 2 (log (/ -1 F))) (log (/ (sin (* PI l)) (cos (* PI l))))))) |
| 156.0ms | (exp (* 1/3 (+ (* 2 (log (/ 1 F))) (log (/ (sin (* PI l)) (cos (* PI l))))))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 5.9b
41.2% (1.1b remaining)
Error of 7.6b against oracle of 6.5b and baseline of 8.4b
| 17.6s | 7639× | body | 10240 | exit |
| 2.1s | 8943× | body | 80 | valid |
| 177.0ms | 280× | body | 160 | valid |