
| Date: | Thursday, September 5th, 2024 |
|---|---|
| Commit: | 7a659933 on fewer-globals |
| Hostname: | nightly with Racket 8.11.1 |
| Seed: | 2024249 |
| 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: 14.0min)
| 2 119 466× | lower-fma.f32 |
| 2 118 998× | lower-fma.f64 |
| 1 037 654× | lower-*.f32 |
| 1 036 278× | lower-*.f64 |
| 596 918× | lower-+.f32 |
| 360× | iter limit |
| 227× | node limit |
| 37× | fuel |
| 19× | done |
| 3× | saturated |
| 2× | unsound |
Compiled 38 673 to 17 895 computations (53.7% saved)
| 1.9min | 3 888× | 5 | exit |
| 1.4min | 438 714× | 0 | valid |
| 7.6s | 22 303× | 1 | valid |
| 4.1s | 8 540× | 2 | valid |
| 665.0ms | 8 317× | 0 | exit |
| 330.0ms | 873× | 3 | valid |
| 41.0ms | 544× | 0 | invalid |
ival-sin: 1.6min (49% of total)adjust: 20.2s (10.4% of total)ival-div: 18.5s (9.6% of total)const: 18.3s (9.4% of total)ival-mult: 13.8s (7.1% of total)ival-add: 9.1s (4.7% of total)ival-exp: 2.9s (1.5% of total)ival-sub: 2.7s (1.4% of total)ival-hypot: 2.4s (1.2% of total)ival-log: 2.3s (1.2% of total)ival-cos: 1.4s (0.7% of total)ival-asin: 1.3s (0.6% of total)ival-sqrt: 916.0ms (0.5% of total)ival-atan2: 720.0ms (0.4% of total)ival-pi: 651.0ms (0.3% of total)ival-neg: 483.0ms (0.2% of total)ival->: 483.0ms (0.2% of total)exact: 349.0ms (0.2% of total)ival-asinh: 337.0ms (0.2% of total)ival-pow: 335.0ms (0.2% of total)ival-true: 271.0ms (0.1% of total)ival-acosh: 267.0ms (0.1% of total)ival-fabs: 234.0ms (0.1% of total)ival-assert: 191.0ms (0.1% of total)ival-atanh: 174.0ms (0.1% of total)ival-<=: 165.0ms (0.1% of total)ival->=: 79.0ms (0% of total)ival-and: 74.0ms (0% of total)| 448× | egg-herbie |
| 3 553 972× | lower-fma.f32 |
| 3 553 166× | lower-fma.f64 |
| 1 269 276× | lower-*.f32 |
| 1 267 042× | lower-*.f64 |
| 821 372× | lower-+.f32 |
| 589× | iter limit |
| 270× | node limit |
| 178× | saturated |
| 974 654× | lower-fma.f32 |
| 973 846× | lower-fma.f64 |
| 784 192× | lower-*.f32 |
| 782 086× | lower-*.f64 |
| 603 470× | lower-/.f32 |
| 414× | iter limit |
| 188× | node limit |
| 5× | saturated |
| 3× | unsound |
Compiled 7 920 780 to 514 488 computations (93.5% saved)
| 56× | egg-herbie |
| 290 162× | lower-fma.f64 |
| 290 162× | lower-fma.f32 |
| 74 512× | lower-*.f32 |
| 74 158× | lower-*.f64 |
| 52 750× | lower-+.f32 |
| 112× | iter limit |
| 76× | saturated |
| 36× | node limit |
Compiled 51 781 to 15 377 computations (70.3% saved)
| 12.6s | 41 245× | 0 | valid |
| 3.5s | 3 672× | 1 | valid |
| 2.1s | 1 352× | 2 | valid |
| 1.6s | 3 130× | 0 | invalid |
| 402.0ms | 525× | 1 | exit |
| 143.0ms | 119× | 5 | exit |
| 85.0ms | 77× | 3 | valid |
| 32.0ms | 42× | 0 | exit |
| 13.0ms | 3× | 2 | exit |
| 8.0ms | 11× | 4 | valid |
Compiled 65 921 to 6 382 computations (90.3% saved)
ival-mult: 4.9s (32% of total)ival-add: 2.2s (14.1% of total)ival-div: 1.5s (9.6% of total)const: 902.0ms (5.9% of total)adjust: 799.0ms (5.2% of total)ival-pow: 779.0ms (5.1% of total)ival-log: 688.0ms (4.5% of total)ival-sub: 612.0ms (4% of total)ival-exp: 462.0ms (3% of total)ival-hypot: 377.0ms (2.5% of total)ival-cos: 322.0ms (2.1% of total)ival-sqrt: 317.0ms (2.1% of total)ival-asin: 275.0ms (1.8% of total)ival-sin: 204.0ms (1.3% of total)ival-neg: 172.0ms (1.1% of total)ival-acos: 161.0ms (1.1% of total)ival-pow2: 122.0ms (0.8% of total)ival-atan2: 112.0ms (0.7% of total)ival-copysign: 95.0ms (0.6% of total)exact: 77.0ms (0.5% of total)ival-cosh: 73.0ms (0.5% of total)ival-log1p: 53.0ms (0.3% of total)ival-fabs: 47.0ms (0.3% of total)ival-pi: 46.0ms (0.3% of total)ival-true: 41.0ms (0.3% of total)ival-assert: 20.0ms (0.1% of total)ival-cbrt: 15.0ms (0.1% of total)ival-sinh: 2.0ms (0% of total)1200 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 257.0ms | x.im | @ | 0 | ((* (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (- (pow (* (cos (* y.re (atan2 x.im x.re))) (cos (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))))) 3) (pow (* (sin (* y.re (atan2 x.im x.re))) (sin (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))))) 3))) (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (sqrt (+ (* x.im x.im) (* x.re x.re))) (+ (* x.im x.im) (* x.re x.re)) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (cos (* (atan2 x.im x.re) y.re))) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (sqrt (+ (* x.re x.re) (* x.im x.im))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (exp (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re))))) (cos (+ (* (neg y.im) (log (/ -1 x.im))) (* (atan2 x.im x.re) y.re)))) (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re)))) (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (/ (pow x.im y.re) (pow (exp y.im) (atan2 x.im x.re))) (cos (+ (* (log x.im) y.im) (* (atan2 x.im x.re) y.re)))) (/ (pow x.im y.re) (pow (exp y.im) (atan2 x.im x.re))) (pow x.im y.re) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (cos (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re)))))) (cos (* y.re (atan2 x.im x.re))) (cos (+ (* (neg (atan2 x.im x.re)) y.re) (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))))) (exp y.im) (cos (* (atan2 x.im x.re) y.re)) (* (atan2 x.im x.re) y.re) (cos (+ (* (neg y.im) (log (/ -1 x.im))) (* (atan2 x.im x.re) y.re))) (exp (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re))))) (log (/ -1 x.im)) (cos (+ (* (log x.im) y.im) (* (atan2 x.im x.re) y.re))) (log x.im) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) (cos (+ (* (log x.re) y.im) (* (atan2 x.im x.re) y.re))) (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (log x.re)) |
| 180.0ms | d3 | @ | -inf | ((+ (+ (* d1 d2) (* (+ d3 5) d1)) (* d1 32)) (+ (* d1 d2) (* (+ d3 5) d1)) (* d1 d2) (* (+ d3 5) d1) (* d1 32)) |
| 145.0ms | x | @ | 0 | ((log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (+ (* 2 x) (/ -1/2 x)) (/ -1/2 x) (log (+ x (sqrt (* (- x 1) (+ 1 x))))) (+ x (sqrt (* (- x 1) (+ 1 x)))) (sqrt (* (- x 1) (+ 1 x))) (log (+ x (sqrt (- (* x x) 1)))) (neg (log (/ 1/2 x))) (log (/ 1/2 x)) (/ 1/2 x) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1) (+ (* (sqrt x) (sqrt x)) (sqrt (+ (* x x) -1))) (log (+ (* (sqrt x) (sqrt x)) (sqrt (+ (* x x) -1)))) (sqrt x)) |
| 137.0ms | y.re | @ | -inf | ((/ 1 (/ (pow (exp y.im) (atan2 x.im x.re)) (* (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (sin (+ (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))) (* y.re (atan2 x.im x.re))))))) (pow (exp y.im) (atan2 x.im x.re)) (exp y.im) (atan2 x.im x.re) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (sin (* (atan2 x.im x.re) y.re))) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (sqrt (+ (* x.re x.re) (* x.im x.im))) (+ (* (neg y.im) (log (/ -1 x.im))) (* (atan2 x.im x.re) y.re)) (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re)))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (sin (+ (* (neg y.im) (log (/ -1 x.im))) (* (atan2 x.im x.re) y.re))) (exp (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re)))))) (* (+ (* y.re (/ (atan2 x.im x.re) y.im)) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) y.im) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (exp (* (log (pow (+ (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))) (* y.re (atan2 x.im x.re))) -1)) -1)) (log (pow (+ (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))) (* y.re (atan2 x.im x.re))) -1)) (* (log (pow (+ (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))) (* y.re (atan2 x.im x.re))) -1)) -1) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (exp (* (log (pow (+ (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))) (* y.re (atan2 x.im x.re))) -1)) -1)))) (+ (* x.im x.im) (* x.re x.re)) (sqrt (+ (* x.im x.im) (* x.re x.re))) (* y.re (atan2 x.im x.re)) (+ (* x.re x.re) (* x.im x.im)) (* (atan2 x.im x.re) y.re) (* y.im (atan2 x.im x.re)) (exp (neg (+ (* (log (/ -1 x.im)) y.re) (* y.im (atan2 x.im x.re))))) (sqrt (+ (* x.re x.re) (* x.im x.im)))) |
| 134.0ms | x | @ | -inf | ((/ (pow (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1)) 3) (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))) 3)) (/ (- 1 (/ 1 (/ (pow (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1)) 3) (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))) 3)))) (+ (* (/ (+ (/ (+ (/ (+ (/ (+ (/ 1061405429/1000000000 (+ (* (fabs x) 3275911/10000000) 1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) -8890523/31250000) (+ (* (fabs x) 3275911/10000000) 1)) 31853699/125000000) (* (pow (exp x) x) (+ (* (fabs x) 3275911/10000000) 1))) (+ (* (pow (exp x) (neg x)) (/ (+ (/ (+ (/ (+ (/ (+ (/ 1061405429/1000000000 (+ (* (fabs x) 3275911/10000000) 1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) -8890523/31250000) (+ (* (fabs x) 3275911/10000000) 1)) 31853699/125000000) (+ (* (fabs x) 3275911/10000000) 1))) 1)) 1)) (- 1 (/ 1 (/ (pow (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1)) 3) (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))) 3)))) (pow (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1)) 3) (- 1 (* (* (/ (+ (/ (+ (/ (+ (/ (+ (/ 1061405429/1000000000 (+ (* (fabs x) 3275911/10000000) 1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) -8890523/31250000) (+ (* (fabs x) 3275911/10000000) 1)) 31853699/125000000) (- 1 (* 10731592879921/100000000000000 (* x x)))) (- 1 (* (fabs x) 3275911/10000000))) (exp (neg (* (fabs x) (fabs x)))))) (* (fabs x) (fabs x)) (+ (* (/ 1061405429/1000000000 (+ (* (* x x) 10731592879921/100000000000000) -1)) (+ (* 3275911/10000000 (fabs x)) -1)) -1453152027/1000000000) (* (/ (+ (/ (+ (/ (+ (/ (+ (* (/ 1061405429/1000000000 (+ (* (* x x) 10731592879921/100000000000000) -1)) (+ (* 3275911/10000000 (fabs x)) -1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) -8890523/31250000) (+ (* (fabs x) 3275911/10000000) 1)) 31853699/125000000) (+ (* (fabs x) 3275911/10000000) 1)) (exp (neg (* (fabs x) (fabs x))))) (- 1 (* (/ (+ (/ (+ (/ (+ (/ (+ (* (/ 1061405429/1000000000 (+ (* (* x x) 10731592879921/100000000000000) -1)) (+ (* 3275911/10000000 (fabs x)) -1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) -8890523/31250000) (+ (* (fabs x) 3275911/10000000) 1)) 31853699/125000000) (+ (* (fabs x) 3275911/10000000) 1)) (exp (neg (* (fabs x) (fabs x)))))) (- 1 (* (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 31853699/125000000 (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ -8890523/31250000 (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 1421413741/1000000000 (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1))))))))) (exp (neg (* (fabs x) (fabs x)))))) (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 31853699/125000000 (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ -8890523/31250000 (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 1421413741/1000000000 (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1))))))))) (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ -8890523/31250000 (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 1421413741/1000000000 (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1))))))) (* (/ 1 (+ 1 (* 3275911/10000000 (fabs x)))) (+ 1421413741/1000000000 (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1))))) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)) (+ (* (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)))) 1421413741/1000000000) (/ (- 1 (pow (/ (+ (/ (+ (/ (+ (* (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)))) 1421413741/1000000000) (+ (* 3275911/10000000 (fabs x)) 1)) -8890523/31250000) (+ (* 3275911/10000000 (fabs x)) 1)) 31853699/125000000) (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1))) 2)) (+ (* (/ (+ (/ (+ (/ (+ (* (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)))) 1421413741/1000000000) (+ (* 3275911/10000000 (fabs x)) 1)) -8890523/31250000) (+ (* 3275911/10000000 (fabs x)) 1)) 31853699/125000000) (+ (* 3275911/10000000 (fabs x)) 1)) (pow (exp x) (neg x))) 1)) (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (/ 1061405429/1000000000 (+ (* (fabs x) 3275911/10000000) 1)) -1453152027/1000000000) (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))) 3) (/ 1061405429/1000000000 (+ (* (* x x) 10731592879921/100000000000000) -1)) (+ (/ (+ (* (/ 1061405429/1000000000 (+ (* (* x x) 10731592879921/100000000000000) -1)) (+ (* 3275911/10000000 (fabs x)) -1)) -1453152027/1000000000) (+ (* (fabs x) 3275911/10000000) 1)) 1421413741/1000000000) (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1))) (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1)))) (+ 1421413741/1000000000 (+ (* -1061405429/1000000000 (/ 1 (* (+ (* (fabs x) 3275911/10000000) 1) (neg (+ (* (fabs x) 3275911/10000000) 1))))) (/ -1453152027/1000000000 (+ (* (fabs x) 3275911/10000000) 1)))) (- 1 (pow (/ (+ (/ (+ (/ (+ (* (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)))) 1421413741/1000000000) (+ (* 3275911/10000000 (fabs x)) 1)) -8890523/31250000) (+ (* 3275911/10000000 (fabs x)) 1)) 31853699/125000000) (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1))) 2)) (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (pow (/ (+ (/ (+ (/ (+ (* (/ -1 (pow (+ (* 3275911/10000000 (fabs x)) 1) 2)) (+ (* (+ (* -3275911/10000000 (fabs x)) -1) (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (* 1453152027/1000000000 (+ (* 3275911/10000000 (fabs x)) 1)))) 1421413741/1000000000) (+ (* 3275911/10000000 (fabs x)) 1)) -8890523/31250000) (+ (* 3275911/10000000 (fabs x)) 1)) 31853699/125000000) (* (pow (exp x) x) (+ (* 3275911/10000000 (fabs x)) 1))) 2)) |
130 calls:
| 1.0s | im |
| 782.0ms | re |
| 749.0ms | y.im |
| 714.0ms | y.re |
| 688.0ms | x |
Compiled 14 591 to 10 553 computations (27.7% saved)
Compiled 165 849 to 79 306 computations (52.2% saved)
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | #f | oflow-rescue | 1144 | 0 |
-.f64 | #f | cancellation | 731 | 0 |
/.f64 | #f | o/o | 634 | 0 |
/.f64 | #f | o/n | 208 | 0 |
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))) | sensitivity | 188 | 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 | 188 | 0 |
sqrt.f32 | #f | oflow-rescue | 169 | 0 |
+.f64 | #f | cancellation | 154 | 0 |
log.f32 | (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32))))) | sensitivity | 130 | 2 |
log.f64 | (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64))))) | sensitivity | 124 | 0 |
sqrt.f64 | #f | uflow-rescue | 123 | 0 |
/.f64 | #f | n/o | 99 | 0 |
-.f64 | #f | nan-rescue | 82 | 0 |
*.f64 | #f | n*u | 72 | 0 |
/.f64 | #f | u/u | 65 | 0 |
+.f64 | #f | nan-rescue | 42 | 0 |
/.f64 | #f | u/n | 38 | 0 |
*.f64 | #f | n*o | 33 | 0 |
/.f64 | #f | n/u | 10 | 0 |
exp.f64 | #f | sensitivity | 3 | 3 |
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 | 2 | 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 | 2 | |
| ↳ | (*.f64 x.re x.re) | overflow | 56 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 109 | |
| ↳ | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) | overflow | 2 | |
| ↳ | (*.f64 x.im x.im) | overflow | 66 | |
log.f32 | #f | oflow-rescue | 2 | 0 |
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 | 2 | 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 | 2 | |
| ↳ | (*.f64 x.re x.re) | overflow | 56 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 109 | |
| ↳ | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) | overflow | 2 | |
| ↳ | (*.f64 x.im x.im) | overflow | 66 | |
log.f64 | #f | oflow-rescue | 2 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 3493 | 34 |
| - | 188 | 10621 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 3493 | 0 | 34 |
| - | 188 | 3 | 10618 |
| number | freq |
|---|---|
| 0 | 10655 |
| 1 | 3119 |
| 2 | 560 |
| 3 | 2 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 35 | 0 | 0 |
| - | 2 | 0 | 19 |
| 3.4s | 25 796× | 0 | valid |
| 740.0ms | 2 162× | 1 | valid |
| 310.0ms | 658× | 2 | valid |
| 23.0ms | 56× | 3 | valid |
Compiled 11 645 to 2 099 computations (82% saved)
ival-mult: 1.3s (41% of total)ival-add: 269.0ms (8.7% of total)ival-log: 205.0ms (6.6% of total)ival-exp: 179.0ms (5.8% of total)ival-hypot: 178.0ms (5.8% of total)ival-sub: 156.0ms (5.1% of total)ival-div: 144.0ms (4.7% of total)ival-sin: 138.0ms (4.5% of total)const: 117.0ms (3.8% of total)adjust: 86.0ms (2.8% of total)ival-asin: 71.0ms (2.3% of total)ival-sqrt: 54.0ms (1.8% of total)ival-cos: 52.0ms (1.7% of total)ival-atan2: 46.0ms (1.5% of total)ival-copysign: 29.0ms (0.9% of total)ival-true: 25.0ms (0.8% of total)ival-fabs: 17.0ms (0.6% of total)exact: 17.0ms (0.6% of total)ival-assert: 12.0ms (0.4% of total)ival-pi: 11.0ms (0.4% of total)ival-log1p: 7.0ms (0.2% of total)ival-neg: 6.0ms (0.2% of total)| 255× | left-value |
| 219× | binary-search |
| 207× | narrow-enough |
| 12× | predicate-same |
| 1.6s | 13 232× | 0 | valid |
| 867.0ms | 1 856× | 1 | valid |
| 28.0ms | 107× | 2 | valid |
| 10.0ms | 37× | 3 | valid |
Compiled 46 417 to 41 423 computations (10.8% saved)
ival-mult: 561.0ms (29.2% of total)ival-hypot: 285.0ms (14.9% of total)ival-log: 204.0ms (10.6% of total)ival-add: 162.0ms (8.4% of total)ival-sin: 144.0ms (7.5% of total)ival-exp: 120.0ms (6.3% of total)ival-atan2: 93.0ms (4.8% of total)adjust: 80.0ms (4.2% of total)ival-sub: 79.0ms (4.1% of total)ival-div: 64.0ms (3.3% of total)ival-cos: 49.0ms (2.6% of total)const: 45.0ms (2.3% of total)ival-sqrt: 11.0ms (0.6% of total)ival-true: 11.0ms (0.6% of total)ival-assert: 6.0ms (0.3% of total)exact: 3.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...