
| Date: | Wednesday, June 5th, 2024 |
|---|---|
| Commit: | 8a54fd57 on main |
| Hostname: | nightly with Racket 8.11.1 |
| Seed: | 2024157 |
| 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: 9.4min)
| 268× | egg-herbie |
| 213074× | fma-define |
| 113926× | distribute-lft-in |
| 112704× | times-frac |
| 108902× | *-commutative |
| 103116× | associate-*r* |
| 69× | saturated |
| 199× | node limit |
| 1.2min | 247640× | 0 | valid |
| 2.6s | 10625× | 0 | invalid |
| 7.0ms | 40× | 1 | valid |
ival-mult: 12.2s (21% of total)ival-<=: 10.7s (18.3% of total)...c/correct-round.rkt:168:19: 8.6s (14.8% of total)ival-div: 5.3s (9.2% of total)ival-add: 2.4s (4% of total)ival-sin: 2.1s (3.5% of total)ival-sub: 2.0s (3.5% of total)ival-fabs: 2.0s (3.5% of total)ival-sqrt: 1.6s (2.7% of total)ival-and: 1.6s (2.7% of total)ival-log: 1.5s (2.6% of total)ival-floor: 1.2s (2% of total)ival-cos: 997.0ms (1.7% of total)ival-neg: 965.0ms (1.7% of total)ival-exp: 830.0ms (1.4% of total)ival-pi: 748.0ms (1.3% of total)const: 611.0ms (1% of total)ival-<: 409.0ms (0.7% of total)ival-tan: 389.0ms (0.7% of total)ival-if: 348.0ms (0.6% of total)ival-fmax: 326.0ms (0.6% of total)ival->: 304.0ms (0.5% of total)ival-log2: 283.0ms (0.5% of total)ival-assert: 255.0ms (0.4% of total)ival-asin: 180.0ms (0.3% of total)ival-==: 171.0ms (0.3% of total)ival-atan: 122.0ms (0.2% of total)ival-sinh: 91.0ms (0.2% of total)ival->=: 80.0ms (0.1% of total)adjust: 1.0ms (0% of total)| 86274× | fma-define |
| 62240× | associate-*r* |
| 58126× | *-commutative |
| 57768× | times-frac |
| 48162× | distribute-lft-in |
| 8× | saturated |
| 150× | node limit |
| 29× | fuel |
| 1× | done |
Compiled 69120 to 12049 computations (82.6% saved)
Compiled 368049 to 132120 computations (64.1% saved)
| 24.5s | 26405× | 0 | valid |
| 4.1s | 554× | 5 | exit |
| 3.6s | 2825× | 0 | invalid |
| 2.3s | 680× | 1 | valid |
Compiled 103228 to 5581 computations (94.6% saved)
ival-mult: 3.8s (25.8% of total)ival-div: 1.7s (11.5% of total)ival-pow: 1.5s (10.3% of total)ival-add: 786.0ms (5.4% of total)ival-fma: 691.0ms (4.7% of total)ival-exp: 686.0ms (4.7% of total)ival-sqrt: 620.0ms (4.2% of total)adjust: 529.0ms (3.6% of total)ival-sin: 512.0ms (3.5% of total)...c/correct-round.rkt:168:19: 453.0ms (3.1% of total)ival-log: 411.0ms (2.8% of total)ival-hypot: 334.0ms (2.3% of total)ival-sub: 294.0ms (2% of total)ival-fmax: 286.0ms (2% of total)ival-log1p: 274.0ms (1.9% of total)ival-tan: 232.0ms (1.6% of total)ival-floor: 216.0ms (1.5% of total)ival-log2: 189.0ms (1.3% of total)ival-neg: 172.0ms (1.2% of total)ival-if: 153.0ms (1% of total)ival-cos: 150.0ms (1% of total)ival-pi: 119.0ms (0.8% of total)const: 81.0ms (0.6% of total)ival-atan: 70.0ms (0.5% of total)ival-cbrt: 59.0ms (0.4% of total)ival-true: 58.0ms (0.4% of total)ival-expm1: 47.0ms (0.3% of total)ival->=: 46.0ms (0.3% of total)ival->: 39.0ms (0.3% of total)ival-assert: 39.0ms (0.3% of total)ival-asin: 34.0ms (0.2% of total)ival-fabs: 31.0ms (0.2% of total)ival-<: 14.0ms (0.1% of total)ival-sinh: 12.0ms (0.1% of total)ival-e: 8.0ms (0.1% of total)ival-acos: 2.0ms (0% of total)| 119× | batch-egg-rewrite |
| 61141× | log1p-expm1-u |
| 49945× | expm1-log1p-u |
| 37209× | pow1 |
| 35224× | add-exp-log |
| 35204× | log-prod |
| 119× | node limit |
13494 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 526.0ms | d | @ | 0 | (* (log (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) 2))) 1/2) |
| 425.0ms | w | @ | -inf | (if (< (if (> (/ (fmax (pow (sqrt (+ (* (* dX.u (floor w)) (* dX.u (floor w))) (* (* (floor h) dX.v) (* (floor h) dX.v)))) 2) (pow (sqrt (+ (* (* dY.v (floor h)) (* dY.v (floor h))) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2)) (* (* (floor h) (floor w)) (- (* dX.u dY.v) (* dX.v dY.u)))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 1) (fmax 1 (* (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))))) |
| 414.0ms | dX.u | @ | 0 | (/ (* 1 (* (floor h) dX.v)) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (floor h) (* dY.v (* (floor h) dY.v))))))) |
| 318.0ms | w | @ | -inf | (log (log2 (sqrt (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2))))) |
| 304.0ms | maxAniso | @ | -inf | (* (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))))) |
Compiled 13642992 to 592838 computations (95.7% saved)
145 calls:
| 839.0ms | (floor.f32 h) |
| 670.0ms | dY.v |
| 621.0ms | uy |
| 598.0ms | dY.u |
| 585.0ms | cosTheta_i |
Compiled 13047 to 9120 computations (30.1% saved)
| 30× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 2.6% | 97.4% | 0% | 0% | 0% | 0 |
| 0% | 0% | 2.6% | 97.4% | 0% | 0% | 0% | 1 |
| 7.8% | 0.2% | 2.4% | 97.4% | 0% | 0% | 0% | 2 |
| 8.5% | 0.2% | 2.4% | 97.4% | 0% | 0% | 0% | 3 |
| 12.8% | 0.3% | 2.3% | 97.4% | 0% | 0% | 0% | 4 |
| 47% | 1.2% | 1.4% | 97.4% | 0% | 0% | 0% | 5 |
| 51.8% | 1.3% | 1.2% | 97.4% | 0% | 0.1% | 0% | 6 |
| 69.5% | 1.8% | 0.8% | 97.4% | 0% | 0.1% | 0% | 7 |
| 71.6% | 1.8% | 0.7% | 97.4% | 0% | 0.1% | 0% | 8 |
| 81.1% | 2.1% | 0.5% | 97.4% | 0% | 0.1% | 0% | 9 |
| 82.6% | 2.1% | 0.4% | 97.4% | 0% | 0.1% | 0% | 10 |
| 88.3% | 2.2% | 0.3% | 97.4% | 0% | 0.1% | 0% | 11 |
| 89.1% | 2.2% | 0.3% | 97.4% | 0% | 0.1% | 0% | 12 |
Compiled 2586 to 1076 computations (58.4% saved)
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
log.f32 | #f | sensitivity | 1059 | 68 |
-.f32 | #f | cancellation | 402 | 35 |
sqrt.f32 | #f | oflow-rescue | 357 | 0 |
cos.f32 | (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) | sensitivity | 201 | 20 |
tan.f32 | (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))) | cancellation | 196 | 15 |
/.f32 | #f | o/n | 126 | 0 |
exp.f32 | #f | sensitivity | 34 | 21 |
/.f32 | #f | u/n | 23 | 0 |
sqrt.f32 | (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))) | uflow-rescue | 17 | 0 |
| ↳ | (*.f32 sinTheta_O sinTheta_O) | underflow | 286 | |
| ↳ | (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))) | underflow | 17 | |
| ↳ | (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))) | underflow | 143 | |
| ↳ | (*.f32 eta eta) | underflow | 17 | |
/.f32 | #f | o/o | 10 | 0 |
*.f32 | #f | n*o | 4 | 0 |
sin.f32 | #f | cancellation | 2 | 0 |
/.f32 | (/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | n/o | 2 | 0 |
| ↳ | (/.f32 sin2phi (*.f32 alphay alphay)) | overflow | 12 | |
| ↳ | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) | overflow | 12 | |
*.f32 | (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) | n*u | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 1687 | 58 |
| - | 417 | 5518 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1687 | 34 | 24 |
| - | 417 | 112 | 5406 |
| number | freq |
|---|---|
| 0 | 5576 |
| 1 | 1784 |
| 2 | 310 |
| 3 | 10 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 21 | 1 | 0 |
| - | 3 | 1 | 4 |
| 4.3s | 15282× | 0 | valid |
| 68.0ms | 78× | 1 | valid |
Compiled 18280 to 2256 computations (87.7% saved)
ival-mult: 691.0ms (37.1% of total)ival-div: 238.0ms (12.8% of total)ival-sub: 146.0ms (7.8% of total)ival-add: 109.0ms (5.8% of total)ival-sin: 96.0ms (5.2% of total)ival-log: 88.0ms (4.7% of total)ival-sqrt: 83.0ms (4.5% of total)ival-floor: 47.0ms (2.5% of total)ival-cos: 47.0ms (2.5% of total)ival-exp: 46.0ms (2.5% of total)ival-neg: 31.0ms (1.7% of total)ival-pi: 28.0ms (1.5% of total)...c/correct-round.rkt:168:19: 28.0ms (1.5% of total)ival-true: 27.0ms (1.4% of total)ival-tan: 20.0ms (1.1% of total)ival-fmax: 18.0ms (1% of total)ival-if: 18.0ms (1% of total)ival-assert: 18.0ms (1% of total)const: 17.0ms (0.9% of total)ival-log2: 16.0ms (0.9% of total)ival-fabs: 10.0ms (0.5% of total)ival-sinh: 10.0ms (0.5% of total)ival-atan: 8.0ms (0.4% of total)ival->=: 7.0ms (0.4% of total)ival->: 5.0ms (0.3% of total)ival-asin: 5.0ms (0.3% of total)adjust: 4.0ms (0.2% of total)ival-<: 4.0ms (0.2% of total)| 30× | egg-herbie |
| 30620× | fma-define |
| 21784× | fmm-def |
| 14698× | distribute-lft-neg-in |
| 14266× | unsub-neg |
| 11858× | distribute-rgt-neg-in |
| 11× | saturated |
| 19× | node limit |
Compiled 51492 to 17310 computations (66.4% saved)
| 60× | binary-search |
| 15× | left-value |
| 60× | narrow-enough |
Compiled 3883 to 1916 computations (50.7% saved)
Loading profile data...