
| Date: | Monday, August 5th, 2024 |
|---|---|
| Commit: | 2.2 on release |
| Hostname: | nightly with Racket 8.11.1 |
| Seed: | 2024218 |
| Parameters: | 256 points for 4 iterations |
| Flags: | localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs default |
Time bar (total: 27.4min)
| 2 058 952× | lower-fma.f32 |
| 2 058 498× | lower-fma.f64 |
| 1 007 234× | lower-*.f32 |
| 1 005 864× | lower-*.f64 |
| 569 746× | lower-+.f32 |
| 344× | iter limit |
| 217× | node limit |
| 33× | fuel |
| 21× | done |
| 2× | unsound |
| 1× | saturated |
Compiled 34 753 to 15 223 computations (56.2% saved)
| 190× | batch-egg-rewrite |
| 985 276× | lower-fma.f32 |
| 984 430× | lower-fma.f64 |
| 746 140× | lower-*.f32 |
| 744 024× | lower-*.f64 |
| 597 908× | lower-/.f32 |
| 396× | iter limit |
| 181× | node limit |
| 8× | saturated |
| 3× | unsound |
Compiled 148 174 to 66 956 computations (54.8% saved)
| 2.6min | 438 625× | 0 | valid |
| 25.9s | 3 932× | 5 | exit |
| 7.9s | 22 358× | 1 | valid |
| 4.1s | 8 775× | 2 | valid |
| 1.6s | 9 883× | 0 | exit |
| 309.0ms | 896× | 3 | valid |
| 45.0ms | 459× | 0 | invalid |
ival-sin: 20.4s (28.7% of total)ival-mult: 13.6s (19.1% of total)ival-add: 5.2s (7.3% of total)const: 5.2s (7.3% of total)adjust: 4.6s (6.4% of total)ival-div: 3.9s (5.4% of total)ival-exp: 3.3s (4.6% of total)ival-sub: 2.7s (3.8% of total)ival-hypot: 2.3s (3.2% of total)ival-log: 2.3s (3.2% of total)ival-cos: 1.3s (1.8% of total)ival-asin: 1.1s (1.6% of total)ival-sqrt: 1.0s (1.5% of total)ival-atan2: 617.0ms (0.9% of total)ival-pi: 517.0ms (0.7% of total)ival-pow: 384.0ms (0.5% of total)exact: 378.0ms (0.5% of total)ival->: 300.0ms (0.4% of total)ival-true: 285.0ms (0.4% of total)ival-asinh: 280.0ms (0.4% of total)ival-acosh: 279.0ms (0.4% of total)ival-<=: 255.0ms (0.4% of total)ival-neg: 250.0ms (0.4% of total)ival-fabs: 197.0ms (0.3% of total)ival-assert: 190.0ms (0.3% of total)ival-atanh: 139.0ms (0.2% of total)ival->=: 112.0ms (0.2% of total)ival-and: 75.0ms (0.1% of total)| 50.7s | 3 104× | 1 | valid |
| 34.4s | 40 123× | 0 | valid |
| 1.6s | 1 313× | 2 | valid |
| 1.5s | 3 309× | 0 | invalid |
| 233.0ms | 284× | 2 | exit |
| 164.0ms | 292× | 1 | exit |
| 92.0ms | 182× | 0 | exit |
| 87.0ms | 113× | 3 | valid |
| 16.0ms | 25× | 5 | exit |
| 1.0ms | 2× | 4 | valid |
Compiled 50 692 to 5 225 computations (89.7% saved)
ival-add: 29.5s (53.2% of total)ival-mult: 19.9s (36% of total)ival-div: 1.2s (2.2% of total)const: 863.0ms (1.6% of total)ival-log: 701.0ms (1.3% of total)adjust: 472.0ms (0.9% of total)ival-sub: 339.0ms (0.6% of total)ival-sqrt: 337.0ms (0.6% of total)ival-cos: 316.0ms (0.6% of total)ival-hypot: 288.0ms (0.5% of total)ival-sin: 212.0ms (0.4% of total)ival-exp: 210.0ms (0.4% of total)ival-pow: 193.0ms (0.3% of total)ival-asin: 182.0ms (0.3% of total)ival-neg: 116.0ms (0.2% of total)ival-copysign: 96.0ms (0.2% of total)ival-acos: 75.0ms (0.1% of total)ival-pow2: 69.0ms (0.1% of total)ival-atan2: 64.0ms (0.1% of total)exact: 63.0ms (0.1% of total)ival-fabs: 50.0ms (0.1% of total)ival-true: 43.0ms (0.1% of total)ival-log1p: 29.0ms (0.1% of total)ival-pi: 25.0ms (0% of total)ival-assert: 21.0ms (0% of total)ival-cosh: 14.0ms (0% of total)| 435× | egg-herbie |
| 3 617 884× | lower-fma.f32 |
| 3 617 026× | lower-fma.f64 |
| 1 279 976× | lower-*.f32 |
| 1 277 688× | lower-*.f64 |
| 841 126× | lower-+.f32 |
| 569× | iter limit |
| 265× | node limit |
| 173× | saturated |
Compiled 11 055 782 to 506 513 computations (95.4% saved)
| 57× | egg-herbie |
| 296 104× | lower-fma.f64 |
| 296 104× | lower-fma.f32 |
| 79 264× | lower-*.f32 |
| 78 898× | lower-*.f64 |
| 56 582× | lower-+.f32 |
| 114× | iter limit |
| 76× | saturated |
| 38× | node limit |
Compiled 38 928 to 10 198 computations (73.8% saved)
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | #f | oflow-rescue | 1222 | 0 |
-.f64 | #f | cancellation | 736 | 2 |
/.f64 | #f | o/o | 659 | 0 |
/.f64 | #f | o/n | 203 | 0 |
sqrt.f32 | #f | oflow-rescue | 194 | 0 |
sin.f64 | #f | sensitivity | 181 | 0 |
cos.f64 | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) | sensitivity | 180 | 0 |
sqrt.f64 | #f | uflow-rescue | 162 | 0 |
+.f64 | #f | cancellation | 162 | 0 |
log.f64 | (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64))))) | sensitivity | 140 | 0 |
-.f64 | #f | nan-rescue | 114 | 0 |
log.f32 | (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32))))) | sensitivity | 103 | 0 |
/.f64 | #f | n/o | 81 | 0 |
*.f64 | #f | n*u | 71 | 0 |
/.f64 | #f | u/u | 64 | 0 |
/.f64 | #f | u/n | 40 | 0 |
+.f64 | #f | nan-rescue | 37 | 0 |
*.f64 | #f | n*o | 33 | 0 |
/.f64 | #f | n/u | 15 | 0 |
exp.f64 | #f | sensitivity | 7 | 0 |
log.f32 | (log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))) | oflow-rescue | 5 | 0 |
| ↳ | (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))) | overflow | 5 | |
| ↳ | (*.f32 x x) | overflow | 117 | |
| ↳ | (-.f32 (*.f32 x x) #s(literal 1 binary32)) | overflow | 117 | |
*.f64 | (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))) | o*u | 2 | 0 |
| ↳ | (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) | overflow | 2 | |
| ↳ | (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))) | overflow | 2 | |
| ↳ | (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))) | underflow | 2 | |
cos.f64 | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) | oflow-rescue | 1 | 0 |
| ↳ | (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)) | overflow | 1 | |
| ↳ | (*.f64 x.re x.re) | overflow | 75 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 119 | |
| ↳ | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) | overflow | 1 | |
| ↳ | (*.f64 x.im x.im) | overflow | 56 | |
sin.f64 | (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) | oflow-rescue | 1 | 0 |
| ↳ | (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)) | overflow | 1 | |
| ↳ | (*.f64 x.re x.re) | overflow | 75 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 119 | |
| ↳ | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) | overflow | 1 | |
| ↳ | (*.f64 x.im x.im) | overflow | 56 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 3648 | 50 |
| - | 185 | 10709 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 3648 | 0 | 50 |
| - | 185 | 2 | 10707 |
| number | freq |
|---|---|
| 0 | 10759 |
| 1 | 3257 |
| 2 | 572 |
| 3 | 4 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 38 | 0 | 0 |
| - | 2 | 0 | 17 |
| 3.6s | 25 910× | 0 | valid |
| 1.2s | 2 320× | 1 | valid |
| 858.0ms | 906× | 2 | valid |
| 25.0ms | 44× | 3 | valid |
| 2.0ms | 4× | 5 | exit |
Compiled 15 068 to 2 968 computations (80.3% saved)
ival-mult: 1.3s (33.4% of total)ival-add: 518.0ms (13% of total)const: 290.0ms (7.3% of total)ival-div: 283.0ms (7.1% of total)ival-log: 231.0ms (5.8% of total)ival-exp: 210.0ms (5.3% of total)ival-sub: 188.0ms (4.7% of total)adjust: 181.0ms (4.5% of total)ival-hypot: 174.0ms (4.4% of total)ival-asin: 108.0ms (2.7% of total)ival-sin: 81.0ms (2% of total)ival-pow: 79.0ms (2% of total)ival-atan2: 64.0ms (1.6% of total)ival-cos: 57.0ms (1.4% of total)ival-sqrt: 51.0ms (1.3% of total)ival-true: 27.0ms (0.7% of total)ival-neg: 27.0ms (0.7% of total)exact: 20.0ms (0.5% of total)ival-fabs: 17.0ms (0.4% of total)ival-pi: 16.0ms (0.4% of total)ival-copysign: 14.0ms (0.4% of total)ival-assert: 12.0ms (0.3% of total)ival-log1p: 7.0ms (0.2% of total)122 calls:
| 1.0s | re |
| 994.0ms | im |
| 668.0ms | x |
| 631.0ms | (cos.f64 re) |
| 563.0ms | y.re |
Compiled 16 158 to 9 376 computations (42% saved)
8769 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 545.0ms | x | @ | 0 | (/ (- (* 1 (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1)) (* (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) 3))) (* (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1) (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1))) |
| 241.0ms | im | @ | -inf | (/ (* re 1/2) im) |
| 227.0ms | y.re | @ | inf | (- (* (log (sqrt (* x.im x.im))) y.re) (* (atan2 x.im x.re) y.im)) |
| 180.0ms | base | @ | 0 | (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) |
| 122.0ms | y.im | @ | 0 | (+ (* (log (sqrt (* (/ (* (+ (* x.re x.re) (* x.im x.im)) (* (+ x.re x.im) (- x.re x.im))) (* (+ (* x.re (* x.re x.re)) (* x.im (* x.im x.im))) (- (* x.re (* x.re x.re)) (* x.im (* x.im x.im))))) (+ (* (* x.im x.im) (+ (* x.re x.re) (* x.im x.im))) (* x.re (* x.re (* x.re x.re))))))) y.im) (* (atan2 x.im x.re) y.re)) |
| 294× | left-value |
| 214× | binary-search |
| 212× | narrow-enough |
| 2× | predicate-same |
| 1.9s | 13 570× | 0 | valid |
| 671.0ms | 1 387× | 1 | valid |
| 35.0ms | 95× | 2 | valid |
| 5.0ms | 20× | 3 | valid |
Compiled 57 259 to 37 141 computations (35.1% saved)
ival-mult: 682.0ms (33.6% of total)ival-hypot: 440.0ms (21.7% of total)ival-add: 196.0ms (9.7% of total)ival-log: 157.0ms (7.7% of total)ival-atan2: 88.0ms (4.3% of total)ival-sin: 88.0ms (4.3% of total)ival-sub: 74.0ms (3.6% of total)const: 74.0ms (3.6% of total)ival-exp: 53.0ms (2.6% of total)ival-div: 51.0ms (2.5% of total)adjust: 46.0ms (2.3% of total)ival-cos: 46.0ms (2.3% of total)ival-sqrt: 12.0ms (0.6% of total)ival-true: 12.0ms (0.6% of total)ival-assert: 6.0ms (0.3% of total)exact: 5.0ms (0.2% of total)| 58× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 86.3% | 13.7% | 0% | 0% | 0% | 0 |
| 55.4% | 47.8% | 38.5% | 13.7% | 0% | 0% | 0% | 1 |
| 65.9% | 55.7% | 28.9% | 13.7% | 0% | 1.7% | 0% | 2 |
| 71.2% | 58.4% | 23.6% | 13.7% | 0% | 4.3% | 0% | 3 |
| 77.4% | 62% | 18.1% | 13.7% | 0% | 6.2% | 0% | 4 |
| 83.5% | 66.8% | 13.2% | 13.7% | 0% | 6.3% | 0% | 5 |
| 85.8% | 68.3% | 11.3% | 13.7% | 0% | 6.6% | 0% | 6 |
| 88.3% | 70.3% | 9.4% | 13.7% | 0% | 6.6% | 0% | 7 |
| 89.9% | 71.5% | 8% | 13.7% | 0% | 6.8% | 0% | 8 |
| 91.1% | 72.5% | 7.1% | 13.7% | 0% | 6.8% | 0% | 9 |
| 92.6% | 73.6% | 5.9% | 13.7% | 0% | 6.8% | 0% | 10 |
| 94% | 74.7% | 4.8% | 13.7% | 0% | 6.8% | 0% | 11 |
| 94.5% | 75.1% | 4.4% | 13.7% | 0% | 6.9% | 0% | 12 |
Compiled 1 498 to 821 computations (45.2% saved)
Loading profile data...