
| Date: | Tuesday, June 18th, 2024 |
|---|---|
| Commit: | 2f9055fd on zane-job-abstraction3 |
| Hostname: | nightly with Racket 8.11.1 |
| Seed: | 2024170 |
| 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: 8.8min)
| 243× | egg-herbie |
| 194190× | fma-define |
| 115288× | distribute-lft-in |
| 102302× | *-commutative |
| 102004× | times-frac |
| 98384× | fmm-def |
| 57× | saturated |
| 186× | node limit |
| 87784× | fma-define |
| 59370× | associate-*r* |
| 55984× | *-commutative |
| 53122× | times-frac |
| 50968× | distribute-lft-in |
| 7× | saturated |
| 143× | node limit |
| 27× | fuel |
Compiled 49750 to 10118 computations (79.7% saved)
| 52.8s | 222853× | 0 | valid |
| 10.0ms | 69× | 0 | invalid |
| 8.0ms | 59× | 1 | valid |
ival-mult: 9.4s (21.6% of total)...in/eval/compile.rkt:77:19: 6.1s (14% of total)ival-<=: 5.1s (11.6% of total)ival-div: 4.5s (10.2% of total)ival-fabs: 2.1s (4.9% of total)ival-log: 1.8s (4.2% of total)ival-sub: 1.7s (3.9% of total)ival-sin: 1.6s (3.7% of total)ival-add: 1.5s (3.5% of total)ival-sqrt: 1.2s (2.8% of total)ival-and: 1.2s (2.7% of total)ival-exp: 1.1s (2.5% of total)ival-floor: 1.1s (2.4% of total)ival-cos: 1.0s (2.3% of total)ival-pi: 769.0ms (1.8% of total)ival-neg: 544.0ms (1.2% of total)ival-fmax: 472.0ms (1.1% of total)ival-==: 407.0ms (0.9% of total)ival-tan: 382.0ms (0.9% of total)...in/eval/compile.rkt:76:19: 271.0ms (0.6% of total)ival-<: 256.0ms (0.6% of total)ival-log2: 239.0ms (0.5% of total)ival-if: 223.0ms (0.5% of total)ival->: 181.0ms (0.4% of total)ival-atan: 157.0ms (0.4% of total)ival-assert: 116.0ms (0.3% of total)ival-sinh: 86.0ms (0.2% of total)ival->=: 60.0ms (0.1% of total)adjust: 1.0ms (0% of total)Compiled 331898 to 124513 computations (62.5% saved)
| 12.2s | 24948× | 0 | valid |
| 2.8s | 623× | 5 | exit |
| 878.0ms | 1458× | 0 | invalid |
| 717.0ms | 619× | 1 | valid |
Compiled 103565 to 5339 computations (94.8% saved)
ival-mult: 3.6s (28.2% of total)ival-div: 1.7s (13.1% of total)ival-pow: 895.0ms (7% of total)ival-add: 783.0ms (6.1% of total)ival-pow2: 696.0ms (5.4% of total)ival-sin: 556.0ms (4.3% of total)ival-sqrt: 455.0ms (3.6% of total)ival-hypot: 443.0ms (3.5% of total)ival-sub: 384.0ms (3% of total)ival-exp: 340.0ms (2.7% of total)ival-log: 319.0ms (2.5% of total)adjust: 280.0ms (2.2% of total)ival-log1p: 272.0ms (2.1% of total)...in/eval/compile.rkt:77:19: 266.0ms (2.1% of total)ival-cbrt: 237.0ms (1.9% of total)ival-tan: 231.0ms (1.8% of total)ival-cos: 224.0ms (1.8% of total)ival-fmax: 160.0ms (1.3% of total)ival-log2: 153.0ms (1.2% of total)ival-neg: 140.0ms (1.1% of total)ival-if: 126.0ms (1% of total)ival-floor: 115.0ms (0.9% of total)ival-expm1: 104.0ms (0.8% of total)ival-atan: 81.0ms (0.6% of total)ival-pi: 61.0ms (0.5% of total)...in/eval/compile.rkt:76:19: 38.0ms (0.3% of total)ival-fabs: 35.0ms (0.3% of total)ival->=: 27.0ms (0.2% of total)ival-true: 27.0ms (0.2% of total)ival->: 22.0ms (0.2% of total)ival-assert: 18.0ms (0.1% of total)ival-sinh: 11.0ms (0.1% of total)ival-<: 9.0ms (0.1% of total)ival-e: 2.0ms (0% of total)12897 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 413.0ms | h | @ | inf | (* (log (fmax (pow (sqrt (+ (* (* dX.v (floor h)) (* dX.v (floor h))) (* (* dX.w (floor d)) (* dX.w (floor d))))) 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))) 1/2) |
| 348.0ms | dX.v | @ | 0 | (if (< (if (> (/ (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* dX.v (* dX.v (* (floor h) (floor h))))) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (* (floor h) (floor h)) (* dY.v dY.v)))) (fabs (* (floor w) (+ (* dY.v (* dX.u (floor h))) (* (* (floor h) (neg dX.v)) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* dX.v (* dX.v (* (floor h) (floor h))))) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (* (floor h) (floor h)) (* dY.v dY.v))))) (floor maxAniso)) (/ (fabs (* (floor w) (+ (* dY.v (* dX.u (floor h))) (* (* (floor h) (neg dX.v)) dY.u)))) (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* dX.v (* dX.v (* (floor h) (floor h))))) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (* (floor h) (floor h)) (* dY.v dY.v))))))) 1) (fmax 1 (* (if (> (/ (fmax (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 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 (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 2) (pow (sqrt (+ (* (* dY.v (floor h)) (* dY.v (floor h))) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2))) (floor maxAniso)) (/ (* (floor h) (* (floor w) (- (* dX.u dY.v) (* dX.v dY.u)))) (sqrt (fmax (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 2) (pow (sqrt (+ (* (* dY.v (floor h)) (* dY.v (floor h))) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2))))) (if (> (/ (fmax (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 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)) (floor maxAniso) (/ (fmax (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 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)))))))) (if (> (/ (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* dX.v (* dX.v (* (floor h) (floor h))))) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (* (floor h) (floor h)) (* dY.v dY.v)))) (fabs (* (floor w) (+ (* dY.v (* dX.u (floor h))) (* (* (floor h) (neg dX.v)) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* dX.v (* dX.v (* (floor h) (floor h))))) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (* (floor h) (floor h)) (* dY.v dY.v)))) (fabs (* (floor w) (+ (* dY.v (* dX.u (floor h))) (* (* (floor h) (neg dX.v)) dY.u))))))) |
| 336.0ms | s | @ | 0 | (* s (- (log (+ 1 (* u 4))) (log (+ 1 (* (pow u 2) -16))))) |
| 334.0ms | dX.v | @ | 0 | (if (>= (+ (* (* (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 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (pow dX.v 2) (pow (floor h) 2))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dX.u)) (* (/ 1 (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 w) dY.u))) |
| 302.0ms | h | @ | -inf | (log2 (if (> (/ (fmax (pow (sqrt (+ (* (* dX.u (floor w)) (* dX.u (floor w))) (* (* dX.v (floor h)) (* dX.v (floor h))))) 2) (pow (sqrt (+ (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2)) (* (floor w) (* (floor h) (* dX.v (neg dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (pow (sqrt (+ (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* dX.u (floor w)) (* dX.u (floor w))))) 2) (pow (sqrt (+ (* (* dY.v (floor h)) (* dY.v (floor h))) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2))) (floor maxAniso)) (* dX.u (* (sqrt (/ 1 (fmax (pow (sqrt (+ (* (* dX.u (floor w)) (* dX.u (floor w))) (* (* dX.v (floor h)) (* dX.v (floor h))))) 2) (pow (sqrt (+ (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2)))) (* (floor w) (* (floor h) dY.v)))))) |
| 108× | batch-egg-rewrite |
| 54398× | log1p-expm1-u |
| 45555× | expm1-log1p-u |
| 33503× | pow1 |
| 33076× | log-prod |
| 32210× | add-exp-log |
| 108× | node limit |
Compiled 11858095 to 538073 computations (95.5% 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 |
| 0% | 0% | 2.6% | 97.4% | 0% | 0% | 0% | 2 |
| 0% | 0% | 2.6% | 97.4% | 0% | 0% | 0% | 3 |
| 0.6% | 0% | 2.6% | 97.4% | 0% | 0% | 0% | 4 |
| 16.9% | 0.4% | 2.2% | 97.4% | 0% | 0% | 0% | 5 |
| 17.3% | 0.5% | 2.2% | 97.4% | 0% | 0% | 0% | 6 |
| 30.4% | 0.8% | 1.8% | 97.4% | 0% | 0% | 0% | 7 |
| 33.6% | 0.9% | 1.7% | 97.4% | 0% | 0% | 0% | 8 |
| 41.4% | 1.1% | 1.5% | 97.4% | 0% | 0% | 0% | 9 |
| 43.7% | 1.2% | 1.5% | 97.4% | 0% | 0% | 0% | 10 |
| 47.2% | 1.2% | 1.4% | 97.4% | 0% | 0% | 0% | 11 |
| 48.5% | 1.3% | 1.4% | 97.4% | 0% | 0% | 0% | 12 |
Compiled 2586 to 1076 computations (58.4% saved)
131 calls:
| 757.0ms | u1 |
| 715.0ms | (floor.f32 w) |
| 649.0ms | u |
| 634.0ms | (floor.f32 h) |
| 604.0ms | (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32)) |
Compiled 13330 to 9270 computations (30.5% saved)
| 27× | egg-herbie |
| 27386× | fma-define |
| 17798× | fmm-def |
| 13540× | distribute-lft-neg-in |
| 12704× | unsub-neg |
| 11034× | associate-*r* |
| 11× | saturated |
| 16× | node limit |
Compiled 53258 to 14994 computations (71.8% saved)
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
log.f32 | #f | sensitivity | 1017 | 81 |
-.f32 | #f | cancellation | 407 | 28 |
sqrt.f32 | #f | oflow-rescue | 312 | 0 |
cos.f32 | #f | sensitivity | 181 | 13 |
tan.f32 | (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))) | cancellation | 179 | 18 |
/.f32 | #f | o/n | 110 | 0 |
exp.f32 | #f | sensitivity | 25 | 16 |
/.f32 | #f | o/o | 6 | 0 |
/.f32 | #f | u/n | 3 | 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 | 1 | 0 |
| ↳ | (/.f32 sin2phi (*.f32 alphay alphay)) | overflow | 11 | |
| ↳ | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) | overflow | 11 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 1610 | 42 |
| - | 350 | 4910 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1610 | 30 | 12 |
| - | 350 | 112 | 4798 |
| number | freq |
|---|---|
| 0 | 4952 |
| 1 | 1685 |
| 2 | 269 |
| 3 | 6 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 17 | 1 | 2 |
| - | 4 | 1 | 2 |
| 2.2s | 13780× | 0 | valid |
| 18.0ms | 44× | 1 | valid |
Compiled 17450 to 2040 computations (88.3% saved)
ival-mult: 491.0ms (36.8% of total)ival-div: 174.0ms (13% of total)ival-add: 76.0ms (5.7% of total)ival-log: 73.0ms (5.5% of total)ival-sin: 67.0ms (5% of total)ival-sub: 64.0ms (4.8% of total)ival-sqrt: 61.0ms (4.6% of total)ival-cos: 45.0ms (3.4% of total)ival-floor: 43.0ms (3.2% of total)ival-exp: 42.0ms (3.1% of total)ival-neg: 34.0ms (2.5% of total)ival-pi: 21.0ms (1.6% of total)ival-tan: 19.0ms (1.4% of total)ival-fmax: 18.0ms (1.3% of total)...in/eval/compile.rkt:77:19: 17.0ms (1.3% of total)ival-log2: 16.0ms (1.2% of total)ival-if: 14.0ms (1% of total)ival-true: 14.0ms (1% of total)ival-assert: 9.0ms (0.7% of total)ival-fabs: 9.0ms (0.7% of total)...in/eval/compile.rkt:76:19: 8.0ms (0.6% of total)ival-atan: 7.0ms (0.5% of total)ival-sinh: 5.0ms (0.4% of total)ival->=: 4.0ms (0.3% of total)ival->: 3.0ms (0.2% of total)adjust: 1.0ms (0.1% of total)ival-<: 1.0ms (0.1% of total)| 62× | binary-search |
| 18× | left-value |
| 62× | narrow-enough |
Compiled 3599 to 1823 computations (49.3% saved)
Loading profile data...