Herbie run

Date:Saturday, May 18th, 2024
Commit:c2f4097e on main
Hostname:nightly with Racket 8.11.1
Seed:2024139
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: 10.0min)

simplify2.5min (25.2%)

Algorithm
270×egg-herbie
Rules
213368×fma-define
120358×fma-neg
119132×distribute-lft-in
118128×times-frac
114268×*-commutative
Stop Event
70×saturated
200×node limit
Counts
106195 → 76028

soundness1.8min (17.6%)

Rules
105158×fma-define
67496×*-commutative
67436×associate-*r*
67266×times-frac
55410×distribute-lft-in
Stop Event
saturated
176×node limit
29×fuel
done
Compiler

Compiled 62539 to 12603 computations (79.8% saved)

sample1.5min (15.3%)

Results
1.2min247625×0valid
1.2s8399×0invalid
1.0s2021×0precondition
10.0ms55×1valid
Precisions
Click to see histograms. Total time spent on operations: 58.6s
ival-mult: 12.1s (20.7% of total)
ival-<=: 10.8s (18.4% of total)
...c/correct-round.rkt:121:19: 8.9s (15.2% of total)
ival-div: 4.9s (8.4% of total)
ival-sub: 2.6s (4.4% of total)
ival-add: 2.6s (4.4% of total)
ival-sin: 2.1s (3.5% of total)
ival-log: 2.0s (3.3% of total)
ival-fabs: 1.9s (3.2% of total)
ival-sqrt: 1.7s (3% of total)
ival-and: 1.6s (2.6% of total)
ival-cos: 1.2s (2% of total)
ival-exp: 878.0ms (1.5% of total)
ival-pi: 768.0ms (1.3% of total)
ival-neg: 759.0ms (1.3% of total)
ival-floor: 748.0ms (1.3% of total)
const: 448.0ms (0.8% of total)
ival-tan: 374.0ms (0.6% of total)
ival-<: 356.0ms (0.6% of total)
ival->: 341.0ms (0.6% of total)
ival-log2: 338.0ms (0.6% of total)
ival-==: 329.0ms (0.6% of total)
ival-fmax: 300.0ms (0.5% of total)
ival-if: 259.0ms (0.4% of total)
ival-asin: 160.0ms (0.3% of total)
ival-atan: 114.0ms (0.2% of total)
ival-sinh: 85.0ms (0.1% of total)
ival->=: 83.0ms (0.1% of total)
backward-pass: 71.0ms (0.1% of total)
Bogosity

localize43.0s (7.2%)

Results
19.5s26981×0valid
6.2s1114×5exit
1.8s1769×0invalid
742.0ms422×1valid
250.0ms434×0unsamplable
Compiler

Compiled 106653 to 5507 computations (94.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.8s
ival-mult: 4.7s (29.8% of total)
ival-div: 2.1s (13.2% of total)
ival-pow: 1.5s (9.3% of total)
ival-add: 912.0ms (5.8% of total)
backward-pass: 869.0ms (5.5% of total)
ival-sin: 567.0ms (3.6% of total)
ival-tan: 544.0ms (3.4% of total)
ival-sqrt: 516.0ms (3.3% of total)
ival-fma: 469.0ms (3% of total)
ival-log1p: 459.0ms (2.9% of total)
ival-exp: 370.0ms (2.3% of total)
ival-log: 337.0ms (2.1% of total)
ival-hypot: 334.0ms (2.1% of total)
ival-sub: 317.0ms (2% of total)
ival-neg: 266.0ms (1.7% of total)
...c/correct-round.rkt:121:19: 242.0ms (1.5% of total)
ival-fmax: 214.0ms (1.4% of total)
ival-if: 159.0ms (1% of total)
ival-log2: 148.0ms (0.9% of total)
ival-atan: 145.0ms (0.9% of total)
ival-cos: 121.0ms (0.8% of total)
ival-floor: 113.0ms (0.7% of total)
const: 99.0ms (0.6% of total)
ival-pi: 73.0ms (0.5% of total)
ival-expm1: 49.0ms (0.3% of total)
ival-cbrt: 49.0ms (0.3% of total)
ival->=: 44.0ms (0.3% of total)
ival-asin: 42.0ms (0.3% of total)
ival->: 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)

prune38.7s (6.5%)

Counts
140948 → 4099
Compiler

Compiled 376752 to 135319 computations (64.1% saved)

rewrite33.3s (5.6%)

Algorithm
120×batch-egg-rewrite
Rules
59806×log1p-expm1-u
50572×expm1-log1p-u
36733×pow1
36698×log-prod
35494×add-exp-log
Stop Event
120×node limit
Counts
2053 → 46834

series33.2s (5.5%)

Counts
2053 → 59361
Calls

14658 calls:

TimeVariablePointExpression
463.0ms
w
@0
(pow (fmax (+ (* (floor w) (* (floor w) (pow dX.u 2))) (pow (* (floor h) dX.v) 2)) (+ (* (floor w) (* (floor w) (pow dY.u 2))) (* (floor h) (* (floor h) (pow dY.v 2))))) 1/4)
327.0ms
dX.u
@0
(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)) (* (sqrt (/ 1 (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)))))
293.0ms
alphay
@-inf
(/ 1 (sqrt (+ (* 1 1) (* (sqrt (/ u0 (* (- 1 u0) (+ (* (/ 1 (+ 1 (pow (* alphay (/ (tan (* 1/2 (PI))) alphax)) 2))) (pow alphax -2)) (pow (/ (sin (atan (* alphay (/ (tan (* (PI) (+ (* 2 u1) 1/2))) alphax)))) alphay) 2))))) (sqrt (/ u0 (* (- 1 u0) (+ (* (/ 1 (+ 1 (pow (* alphay (/ (tan (* 1/2 (PI))) alphax)) 2))) (pow alphax -2)) (pow (/ (sin (atan (* alphay (/ (tan (* (PI) (+ (* 2 u1) 1/2))) alphax)))) alphay) 2)))))))))
271.0ms
w
@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 (+ (* (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))))))) (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)))))))) (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)))))))
237.0ms
h
@-inf
(* (log (fmax (pow (* dX.v (floor h)) 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)

analyze31.6s (5.3%)

Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
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%0%6
69.5%1.8%0.8%97.4%0%0%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
Compiler

Compiled 2668 to 1046 computations (60.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.1s
ival-mult: 5.1s (24.3% of total)
ival-<=: 4.0s (18.8% of total)
...c/correct-round.rkt:121:19: 2.5s (11.9% of total)
ival-fabs: 1.4s (6.7% of total)
ival-div: 1.3s (6% of total)
ival-floor: 1.0s (4.9% of total)
ival-sqrt: 832.0ms (3.9% of total)
ival-add: 737.0ms (3.5% of total)
ival-and: 656.0ms (3.1% of total)
ival-if: 420.0ms (2% of total)
ival-fmax: 401.0ms (1.9% of total)
ival-sin: 366.0ms (1.7% of total)
ival-sub: 348.0ms (1.6% of total)
ival-log2: 271.0ms (1.3% of total)
ival-==: 247.0ms (1.2% of total)
ival-cos: 233.0ms (1.1% of total)
ival-log: 188.0ms (0.9% of total)
ival-pi: 182.0ms (0.9% of total)
ival-neg: 145.0ms (0.7% of total)
ival->: 138.0ms (0.7% of total)
const: 131.0ms (0.6% of total)
ival-exp: 123.0ms (0.6% of total)
ival-tan: 109.0ms (0.5% of total)
ival->=: 91.0ms (0.4% of total)
ival-<: 63.0ms (0.3% of total)
ival-atan: 40.0ms (0.2% of total)
ival-sinh: 34.0ms (0.2% of total)
backward-pass: 22.0ms (0.1% of total)
ival-asin: 20.0ms (0.1% of total)

regimes27.5s (4.6%)

Counts
9809 → 363
Calls

145 calls:

811.0ms
s
799.0ms
uy
601.0ms
cosTheta_i
592.0ms
maxCos
592.0ms
u
Compiler

Compiled 13563 to 9401 computations (30.7% saved)

eval27.2s (4.5%)

Compiler

Compiled 12159244 to 596704 computations (95.1% saved)

preprocess9.3s (1.6%)

Algorithm
30×egg-herbie
Rules
30630×fma-define
21782×fma-neg
15892×unsub-neg
14706×distribute-lft-neg-in
11858×distribute-rgt-neg-in
Stop Event
11×saturated
19×node limit
Compiler

Compiled 46646 to 14966 computations (67.9% saved)

explain6.4s (1.1%)

Results
3.9s15266×0valid
46.0ms94×1valid
Compiler

Compiled 16652 to 1662 computations (90% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 543.0ms (23.1% of total)
ival-div: 538.0ms (22.9% of total)
ival-log: 421.0ms (17.9% of total)
ival-add: 155.0ms (6.6% of total)
ival-neg: 93.0ms (4% of total)
ival-sub: 91.0ms (3.9% of total)
ival-sin: 83.0ms (3.5% of total)
ival-sqrt: 71.0ms (3% of total)
ival-floor: 48.0ms (2% of total)
ival-cos: 45.0ms (1.9% of total)
ival-pi: 42.0ms (1.8% of total)
ival-exp: 39.0ms (1.7% of total)
const: 27.0ms (1.1% of total)
...c/correct-round.rkt:121:19: 27.0ms (1.1% of total)
ival-fmax: 22.0ms (0.9% of total)
ival-tan: 18.0ms (0.8% of total)
ival-if: 16.0ms (0.7% of total)
ival-log2: 15.0ms (0.6% of total)
ival-fabs: 13.0ms (0.6% of total)
ival-atan: 10.0ms (0.4% of total)
backward-pass: 8.0ms (0.3% of total)
ival->=: 6.0ms (0.3% of total)
ival->: 5.0ms (0.2% of total)
ival-asin: 5.0ms (0.2% of total)
ival-sinh: 5.0ms (0.2% of total)
ival-<: 2.0ms (0.1% of total)

bsearch40.0ms (0%)

Algorithm
37×binary-search
22×left-value
Stop Event
37×narrow-enough
Compiler

Compiled 3369 to 1465 computations (56.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...