
| Date: | Friday, November 8th, 2024 |
|---|---|
| Commit: | e1f2a9b8 on fix-1030 |
| Hostname: | nightly with Racket 8.10 |
| Seed: | 2024313 |
| Parameters: | 256 points for 4 iterations |
| Flags: | localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs default |
Time bar (total: 6.5min)
| 59.7s | 262 429× | 0 | valid |
| 2.2s | 7 773× | 1 | valid |
| 2.0s | 11 103× | 0 | invalid |
| 897.0ms | 2 245× | 2 | valid |
| 267.0ms | 677× | 1 | invalid |
| 247.0ms | 1 611× | 1 | exit |
| 0.0ms | 1× | 4 | valid |
ival-mult: 10.7s (20.6% of total)const: 7.6s (14.6% of total)ival-<=: 7.0s (13.5% of total)ival-div: 4.4s (8.5% of total)ival-add: 2.7s (5.2% of total)ival-sub: 2.1s (4% of total)ival-sqrt: 1.8s (3.5% of total)ival-fabs: 1.5s (3% of total)ival-log: 1.5s (2.9% of total)ival-sin: 1.3s (2.6% of total)ival-and: 1.2s (2.4% of total)ival-floor: 908.0ms (1.7% of total)ival-pow: 892.0ms (1.7% of total)ival-exp: 769.0ms (1.5% of total)ival-sinu: 729.0ms (1.4% of total)ival-neg: 646.0ms (1.2% of total)ival-cosu: 602.0ms (1.2% of total)ival->: 600.0ms (1.2% of total)ival-pow2: 494.0ms (0.9% of total)ival-tan: 486.0ms (0.9% of total)exact: 480.0ms (0.9% of total)ival-cos: 422.0ms (0.8% of total)adjust: 396.0ms (0.8% of total)ival-e: 359.0ms (0.7% of total)ival-fmax: 305.0ms (0.6% of total)ival-pi: 296.0ms (0.6% of total)ival-log2: 294.0ms (0.6% of total)ival-if: 248.0ms (0.5% of total)ival-<: 247.0ms (0.5% of total)ival-log1p: 192.0ms (0.4% of total)ival-==: 183.0ms (0.4% of total)ival-asin: 126.0ms (0.2% of total)ival-assert: 121.0ms (0.2% of total)ival-atan: 117.0ms (0.2% of total)ival-sinh: 70.0ms (0.1% of total)ival->=: 49.0ms (0.1% of total)ival-true: 23.0ms (0% of total)| 297× | egg-herbie |
| 404× | iter limit |
| 254× | node limit |
| 35× | saturated |
| 8× | unsound |
160 calls:
| 2.2s | s |
| 1.2s | v |
| 1.1s | r |
| 982.0ms | u |
| 939.0ms | (*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 #s(literal 1 binary32) (+.f32 (*.f32 u (-.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (PI.f32) s)))))) #s(literal 1 binary32)))) |
Compiled 23 303 to 16 211 computations (30.4% saved)
| 265× | iter limit |
| 180× | node limit |
| 32× | fuel |
| 1× | done |
Compiled 56 687 to 17 467 computations (69.2% saved)
Compiled 22 639 644 to 573 638 computations (97.5% saved)
| 275× | iter limit |
| 126× | node limit |
| 6× | unsound |
| 13.3s | 28 773× | 0 | valid |
| 2.9s | 2 077× | 1 | valid |
| 1.4s | 1 998× | 0 | invalid |
| 317.0ms | 440× | 1 | exit |
| 236.0ms | 176× | 2 | valid |
| 227.0ms | 65× | 5 | exit |
| 57.0ms | 216× | 0 | exit |
| 49.0ms | 46× | 2 | exit |
| 1.0ms | 1× | 3 | valid |
Compiled 297 072 to 14 089 computations (95.3% saved)
ival-mult: 4.3s (30.8% of total)ival-div: 1.9s (14% of total)ival-add: 1.3s (9.7% of total)ival-pow2: 833.0ms (6% of total)ival-sub: 718.0ms (5.2% of total)ival-sqrt: 574.0ms (4.1% of total)ival-pow: 484.0ms (3.5% of total)adjust: 443.0ms (3.2% of total)ival-log: 406.0ms (2.9% of total)ival-neg: 394.0ms (2.8% of total)ival-exp: 287.0ms (2.1% of total)const: 286.0ms (2.1% of total)ival-sin: 237.0ms (1.7% of total)ival-cos: 218.0ms (1.6% of total)ival-floor: 139.0ms (1% of total)ival-sinu: 133.0ms (1% of total)ival-fmax: 128.0ms (0.9% of total)ival-log2: 117.0ms (0.8% of total)ival-if: 112.0ms (0.8% of total)ival-log1p: 99.0ms (0.7% of total)ival-cosu: 84.0ms (0.6% of total)ival-expm1: 74.0ms (0.5% of total)ival-fabs: 71.0ms (0.5% of total)ival-tan: 69.0ms (0.5% of total)exact: 69.0ms (0.5% of total)ival-pi: 63.0ms (0.5% of total)ival-asin: 50.0ms (0.4% of total)ival-e: 39.0ms (0.3% of total)ival-atan: 37.0ms (0.3% of total)ival-true: 32.0ms (0.2% of total)ival-cbrt: 22.0ms (0.2% of total)ival-assert: 16.0ms (0.1% of total)ival->: 14.0ms (0.1% of total)ival-tanu: 13.0ms (0.1% of total)ival-<: 12.0ms (0.1% of total)ival-sinh: 10.0ms (0.1% of total)ival->=: 10.0ms (0.1% of total)ival-acos: 6.0ms (0% of total)| 33× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 11.5% | 88.5% | 0% | 0% | 0% | 0 |
| 52.8% | 6.1% | 5.4% | 88.5% | 0% | 0% | 0% | 1 |
| 54.4% | 6.2% | 5.2% | 88.5% | 0% | 0% | 0% | 2 |
| 54.5% | 6.3% | 5.2% | 88.5% | 0% | 0% | 0% | 3 |
| 55.4% | 6.4% | 5.1% | 88.5% | 0% | 0% | 0% | 4 |
| 62.6% | 7.2% | 4.3% | 88.5% | 0% | 0% | 0% | 5 |
| 66.9% | 7.6% | 3.8% | 88.5% | 0% | 0.1% | 0% | 6 |
| 76.4% | 8.4% | 2.6% | 88.5% | 0% | 0.4% | 0% | 7 |
| 76.8% | 8.5% | 2.6% | 88.5% | 0% | 0.4% | 0% | 8 |
| 81.4% | 9% | 2% | 88.5% | 0% | 0.4% | 0% | 9 |
| 85.1% | 9.3% | 1.6% | 88.5% | 0% | 0.5% | 0% | 10 |
| 86.3% | 9.4% | 1.5% | 88.5% | 0% | 0.5% | 0% | 11 |
| 87.3% | 9.5% | 1.4% | 88.5% | 0% | 0.6% | 0% | 12 |
Compiled 2 648 to 1 114 computations (57.9% saved)
Compiled 1 126 258 to 406 610 computations (63.9% saved)
1452 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 380.0ms | h | @ | -inf | ((exp (log (sqrt (fmax (+ (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2)) (pow (* (floor w) dX.u) 2)) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2)))))) (log2 (exp (log (sqrt (fmax (+ (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2)) (pow (* (floor w) dX.u) 2)) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2))))))) (log (sqrt (fmax (+ (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2)) (pow (* (floor w) dX.u) 2)) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2))))) (sqrt (fmax (+ (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2)) (pow (* (floor w) dX.u) 2)) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2)))) (log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2)))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (* (pow (floor d) 2) dX.w) dX.w) (+ (* (pow (floor w) 2) (* dX.u dX.u)) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2))) (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* (floor d) dX.w) (* (floor d) dX.w)) (+ (* (- (pow (* dY.v (floor h)) 4) (pow (* dY.u (floor w)) 4)) (/ 1 (- (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (pow (* dY.w (floor d)) 2)) (pow (* dY.v (floor h)) 2) (pow (* (floor w) dX.u) 2) (pow (* dY.w (floor d)) 2) (+ (* (* (pow (floor h) 2) dX.v) dX.v) (* (* (pow (floor d) 2) dX.w) dX.w)) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (sqrt (fmax (+ (* (pow (floor w) 2) (* dX.u dX.u)) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor d) dX.w) 2))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (* (- (pow (* dY.v (floor h)) 4) (pow (* dY.u (floor w)) 4)) (/ 1 (- (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (pow (* dY.w (floor d)) 2)))) (- (pow (* dY.v (floor h)) 4) (pow (* dY.u (floor w)) 4)) (/ 1 (- (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) |
| 319.0ms | dX.u | @ | inf | ((pow (pow (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* dY.u (floor w)) 2))) 1/4) 2) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v)) (log2 (if (> (/ (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (fabs (* (floor h) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v))))) (floor maxAniso)) (/ (pow (pow (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* dY.u (floor w)) 2))) 1/4) 2) (floor maxAniso)) (/ (fabs (* (floor h) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v)))) (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))))) (> (/ (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (fabs (* (floor h) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v))))) (floor maxAniso)) (* (* (pow (floor h) 2) dX.v) dX.v) (* (* (pow (floor h) 2) dY.v) dY.v) (+ (* (* (pow (floor w) 2) dX.u) dX.u) (* (* (pow (floor h) 2) dX.v) dX.v)) (+ (* (* (pow (floor w) 2) dY.u) dY.u) (* (* (pow (floor h) 2) dY.v) dY.v)) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (pow (* (floor h) dX.v) 2)) (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))) (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* (floor w) dY.u) (* (floor w) dY.u)) (/ (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (fabs (* (floor h) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v))))) (pow (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* dY.u (floor w)) 2))) 1/4) (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (/ (fabs (* (floor h) (- (* dY.v (* dX.u (floor w))) (* (* dY.u (floor w)) dX.v)))) (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) (+ (* (neg dY.v) dX.u) (* dX.v dY.u)) (+ (* (neg dY.v) dX.u) (* dY.u dX.v)) (+ (* (* dX.u -1) dY.v) (* dX.v dY.u)) (+ (* dY.u (floor w)) (* dY.v (floor h))) (+ (* (/ (* (* dY.u dY.u) (pow (floor w) 4)) (+ (* dY.u (floor w)) (* dY.v (floor h)))) (/ (* dY.u dY.u) (- (* dY.u (floor w)) (* dY.v (floor h))))) (neg (/ (pow (* dY.v (floor h)) 4) (- (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2))))) (/ (pow (* dY.v (floor h)) 4) (- (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2))) (/ (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)))))) |
| 290.0ms | dX.v | @ | inf | ((- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))) (+ (* (* (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)) (/ (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 (+ (* (* (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))))) (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))))) (/ (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)))))) (* (* (floor h) dX.v) (* (floor h) dX.v))) |
| 226.0ms | y | @ | -inf | ((+ (* (exp x) (exp x)) (+ (exp x) 1)) (* (log (+ 1 (/ (* (- (exp (* x 3)) 1) y) (+ (* (exp x) (exp x)) (+ (exp x) 1))))) c) (log (+ 1 (/ (* (- (exp (* x 3)) 1) y) (+ (* (exp x) (exp x)) (+ (exp x) 1))))) (/ (* (- (exp (* x 3)) 1) y) (+ (* (exp x) (exp x)) (+ (exp x) 1))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* (* x c) y) (* x c) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (* (+ (* (+ (* (* 1/6 x) (+ (* (* y y) (+ (* 2 y) -3)) y)) (* (- y (* y y)) 1/2)) x) y) x) (+ (* (+ (* (* 1/6 x) (+ (* (* y y) (+ (* 2 y) -3)) y)) (* (- y (* y y)) 1/2)) x) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (+ (* y x) 1) (* (log (+ 1 (* y (- (exp x) 1)))) c) (log (+ 1 (* y (- (exp x) 1)))) (+ (log y) (log (- (exp x) 1))) (log y) (- (exp (* x 3)) 1) (log (- (exp x) 1))) |
| 176.0ms | s | @ | 0 | ((* (* 3 s) (log (/ 1 (+ (* -4/3 (- u 1/4)) 1)))) (/ 1 (+ (* -4/3 (- u 1/4)) 1)) (+ (* -4/3 (- u 1/4)) 1) (* -4/3 (- u 1/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (log 3/4) s) 3) (* (log 3/4) s) (log 3/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (+ (* (+ (* 1/2 u) 1) u) (log 3/4)) (+ (* (* s 3) 0) (* (* -3 (log (+ 1 (* -4/3 (- u 1/4))))) s)) (* s 3) (* (* -3 (log (+ 1 (* -4/3 (- u 1/4))))) s) (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) (+ (* 3/4 u) 3/4) (+ (* 1/2 u) 1) (log (+ 1 (* -4/3 (- u 1/4)))) (* -3 (log (+ 1 (* -4/3 (- u 1/4)))))) |
| 33× | egg-herbie |
| 66× | iter limit |
| 35× | saturated |
| 31× | node limit |
Compiled 71 320 to 15 199 computations (78.7% saved)
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
log.f32 | #f | sensitivity | 990 | 91 |
-.f32 | #f | cancellation | 402 | 23 |
sqrt.f64 | #f | oflow-rescue | 330 | 0 |
sqrt.f32 | #f | oflow-rescue | 315 | 0 |
log.f64 | (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))) | sensitivity | 196 | 0 |
cos.f32 | #f | sensitivity | 187 | 12 |
tan.f32 | (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))) | cancellation | 177 | 12 |
-.f64 | #f | cancellation | 176 | 0 |
/.f32 | #f | o/n | 122 | 0 |
exp.f32 | #f | sensitivity | 31 | 7 |
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 | 21 | 0 |
| ↳ | (*.f32 sinTheta_O sinTheta_O) | underflow | 278 | |
| ↳ | (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))) | underflow | 21 | |
| ↳ | (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))) | underflow | 139 | |
| ↳ | (*.f32 eta eta) | underflow | 20 | |
*.f64 | (*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))) | n*u | 20 | 0 |
/.f32 | #f | u/n | 17 | 0 |
/.f32 | #f | o/o | 10 | 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 | 7 | 0 |
| ↳ | (/.f32 sin2phi (*.f32 alphay alphay)) | overflow | 21 | |
| ↳ | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) | overflow | 21 | |
*.f32 | (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) | n*u | 2 | 0 |
sqrt.f64 | #f | uflow-rescue | 2 | 0 |
log.f64 | (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))) | oflow-rescue | 2 | 0 |
| ↳ | (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y) | overflow | 2 | |
| ↳ | (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)) | overflow | 2 | |
| ↳ | (pow.f64 (E.f64) x) | overflow | 2 | |
| ↳ | (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) | overflow | 2 | |
*.f32 | (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) | u*o | 1 | 0 |
| ↳ | (*.f32 u normAngle) | underflow | 3 | |
| ↳ | (sin.f32 (*.f32 u normAngle)) | underflow | 3 | |
| ↳ | (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) | overflow | 1 | |
*.f32 | (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) | n*o | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 2154 | 60 |
| - | 435 | 5799 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 2154 | 29 | 31 |
| - | 435 | 104 | 5695 |
| number | freq |
|---|---|
| 0 | 5859 |
| 1 | 2179 |
| 2 | 400 |
| 3 | 10 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 20 | 2 | 1 |
| - | 6 | 0 | 4 |
| 2.5s | 16 124× | 0 | valid |
| 292.0ms | 612× | 1 | valid |
| 59.0ms | 160× | 2 | valid |
Compiled 24 467 to 2 456 computations (90% saved)
ival-mult: 616.0ms (31% of total)ival-div: 277.0ms (13.9% of total)ival-sub: 136.0ms (6.8% of total)ival-add: 124.0ms (6.2% of total)ival-log: 117.0ms (5.9% of total)ival-sqrt: 95.0ms (4.8% of total)ival-sin: 67.0ms (3.4% of total)ival-pow: 57.0ms (2.9% of total)ival-neg: 48.0ms (2.4% of total)ival-exp: 46.0ms (2.3% of total)ival-floor: 42.0ms (2.1% of total)ival-pi: 37.0ms (1.9% of total)ival-sinu: 35.0ms (1.8% of total)ival-pow2: 27.0ms (1.4% of total)adjust: 25.0ms (1.3% of total)ival-cos: 24.0ms (1.2% of total)const: 23.0ms (1.2% of total)ival-cosu: 23.0ms (1.2% of total)ival-tan: 18.0ms (0.9% of total)ival-fabs: 18.0ms (0.9% of total)ival-fmax: 17.0ms (0.9% of total)ival-true: 17.0ms (0.9% of total)ival-e: 16.0ms (0.8% of total)exact: 16.0ms (0.8% of total)ival-if: 14.0ms (0.7% of total)ival-log2: 12.0ms (0.6% of total)ival-assert: 8.0ms (0.4% of total)ival-log1p: 7.0ms (0.4% of total)ival-atan: 6.0ms (0.3% of total)ival-sinh: 5.0ms (0.3% of total)ival-asin: 4.0ms (0.2% of total)ival->: 3.0ms (0.2% of total)ival->=: 3.0ms (0.2% of total)ival-<: 1.0ms (0.1% of total)| 72× | left-value |
| 42× | binary-search |
| 41× | narrow-enough |
| 1× | predicate-same |
| 176.0ms | 771× | 0 | valid |
| 145.0ms | 576× | 1 | valid |
| 12.0ms | 45× | 2 | valid |
| 8.0ms | 71× | 0 | invalid |
Compiled 13 511 to 9 759 computations (27.8% saved)
ival-div: 97.0ms (33.2% of total)ival-pow: 53.0ms (18.1% of total)ival-mult: 37.0ms (12.7% of total)ival-e: 25.0ms (8.5% of total)ival-pow2: 14.0ms (4.8% of total)adjust: 13.0ms (4.4% of total)ival-add: 13.0ms (4.4% of total)ival-log1p: 13.0ms (4.4% of total)ival-sub: 12.0ms (4.1% of total)ival-sqrt: 6.0ms (2.1% of total)ival-fabs: 6.0ms (2.1% of total)exact: 2.0ms (0.7% of total)ival-assert: 1.0ms (0.3% of total)ival-true: 1.0ms (0.3% of total)Loading profile data...