Herbie run

Date:Thursday, February 8th, 2024
Commit:0d7eae16 on artem-minus-and-trig-tuning
Hostname:nightly with Racket 8.11.1
Seed:2024039
Parameters:256 points for 4 iterations
Flags:
reduce: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.6min)

localize6.7min (45.9%)

Compiler

Compiled 38985 to 10509 computations (73% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.9min
Operation ival-log, time spent: 43.6s, 15.0% of total-time
Operation ival-exp, time spent: 42.3s, 14.0% of total-time
Operation ival-mult, time spent: 36.2s, 12.0% of total-time
Operation ival-sub, time spent: 30.4s, 10.0% of total-time
Operation ival-add, time spent: 28.1s, 9.0% of total-time
Operation ival-sin, time spent: 26.4s, 9.0% of total-time
Operation ival-pow, time spent: 21.9s, 7.0% of total-time
Operation ival-cos, time spent: 15.1s, 5.0% of total-time
Operation ival-sqrt, time spent: 9.7s, 3.0% of total-time
Operation ival-div, time spent: 9.4s, 3.0% of total-time
Operation ival-fma, time spent: 7.8s, 3.0% of total-time
Operation ival-e, time spent: 6.4s, 2.0% of total-time
Operation ival-sinh, time spent: 5.4s, 2.0% of total-time
Operation const, time spent: 4.6s, 2.0% of total-time
Operation ival-log1p, time spent: 3.7s, 1.0% of total-time
Operation ival-cbrt, time spent: 2.1s, 1.0% of total-time
Operation ival-neg, time spent: 961.0ms, 0.0% of total-time
Operation ival-pi, time spent: 376.0ms, 0.0% of total-time
Operation ival-hypot, time spent: 348.0ms, 0.0% of total-time
Operation ival-fmax, time spent: 277.0ms, 0.0% of total-time
Operation ival-floor, time spent: 192.0ms, 0.0% of total-time
Operation ival-log2, time spent: 157.0ms, 0.0% of total-time
Operation ival->=, time spent: 97.0ms, 0.0% of total-time
Operation ival-<, time spent: 78.0ms, 0.0% of total-time
Operation ival->, time spent: 77.0ms, 0.0% of total-time
Operation ival-if, time spent: 76.0ms, 0.0% of total-time
Operation ival-fabs, time spent: 52.0ms, 0.0% of total-time
Operation ival-asin, time spent: 45.0ms, 0.0% of total-time

preprocess3.9min (26.6%)

Algorithm
30×egg-herbie
Rules
26376×fma-def
8550×unsub-neg
8094×distribute-lft-neg-in
8084×fma-neg
6988×distribute-lft-in
Stop Event
saturated
27×node limit
Results
Compiler

Compiled 36262 to 11762 computations (67.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.2min
Operation ival-tan, time spent: 55.7s, 29.0% of total-time
Operation ival-atan, time spent: 33.2s, 17.0% of total-time
Operation ival-sin, time spent: 24.7s, 13.0% of total-time
Operation ival-cos, time spent: 21.5s, 11.0% of total-time
Operation ival-mult, time spent: 14.1s, 7.0% of total-time
Operation ival-sub, time spent: 10.8s, 6.0% of total-time
Operation ival-add, time spent: 8.4s, 4.0% of total-time
Operation ival-log, time spent: 7.4s, 4.0% of total-time
Operation ival-div, time spent: 5.9s, 3.0% of total-time
Operation ival-exp, time spent: 4.6s, 2.0% of total-time
Operation ival-sinh, time spent: 2.7s, 1.0% of total-time
Operation ival-sqrt, time spent: 2.3s, 1.0% of total-time
Operation const, time spent: 1.3s, 1.0% of total-time
Operation ival-neg, time spent: 314.0ms, 0.0% of total-time
Operation ival-pi, time spent: 192.0ms, 0.0% of total-time
Operation ival-floor, time spent: 120.0ms, 0.0% of total-time
Operation ival-fmax, time spent: 71.0ms, 0.0% of total-time
Operation ival-asin, time spent: 47.0ms, 0.0% of total-time
Operation ival->=, time spent: 44.0ms, 0.0% of total-time
Operation ival-log2, time spent: 20.0ms, 0.0% of total-time
Operation ival-if, time spent: 14.0ms, 0.0% of total-time
Operation ival-fabs, time spent: 11.0ms, 0.0% of total-time
Operation ival->, time spent: 6.0ms, 0.0% of total-time
Operation ival-<, time spent: 4.0ms, 0.0% of total-time

sample2.0min (13.4%)

Results
1.7min247680×0valid
2.3s8555×0invalid
1.4s2055×0precondition
61.0ms66×6exit
Precisions
Click to see histograms. Total time spent on operations: 59.3s
Operation ival-mult, time spent: 12.7s, 21.0% of total-time
Operation ival-<=, time spent: 9.5s, 16.0% of total-time
Operation ival-sub, time spent: 6.3s, 11.0% of total-time
Operation ival-add, time spent: 6.2s, 10.0% of total-time
Operation ival-div, time spent: 4.6s, 8.0% of total-time
Operation ival-sqrt, time spent: 2.3s, 4.0% of total-time
Operation ival-sin, time spent: 2.1s, 4.0% of total-time
Operation ival-log, time spent: 2.1s, 3.0% of total-time
Operation ival-and, time spent: 2.0s, 3.0% of total-time
Operation const, time spent: 1.9s, 3.0% of total-time
Operation ival-tan, time spent: 1.6s, 3.0% of total-time
Operation ival-cos, time spent: 1.5s, 3.0% of total-time
Operation ival-exp, time spent: 1.1s, 2.0% of total-time
Operation ival-atan, time spent: 946.0ms, 2.0% of total-time
Operation ival-fabs, time spent: 946.0ms, 2.0% of total-time
Operation ival-floor, time spent: 642.0ms, 1.0% of total-time
Operation ival-pi, time spent: 574.0ms, 1.0% of total-time
Operation ival-neg, time spent: 478.0ms, 1.0% of total-time
Operation ival-log2, time spent: 347.0ms, 1.0% of total-time
Operation ival-<, time spent: 305.0ms, 1.0% of total-time
Operation ival->, time spent: 296.0ms, 0.0% of total-time
Operation ival-asin, time spent: 239.0ms, 0.0% of total-time
Operation ival-==, time spent: 163.0ms, 0.0% of total-time
Operation ival-fmax, time spent: 116.0ms, 0.0% of total-time
Operation ival-sinh, time spent: 113.0ms, 0.0% of total-time
Operation ival->=, time spent: 86.0ms, 0.0% of total-time
Operation ival-if, time spent: 67.0ms, 0.0% of total-time
Bogosity

eval51.0s (5.8%)

Compiler

Compiled 3215165 to 1528349 computations (52.5% saved)

analyze31.5s (3.6%)

Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0.2%0%2.6%97.4%0%0%0%1
9.3%0.2%2.4%97.4%0%0%0%2
43.2%1.1%1.5%97.4%0%0%0%3
48.1%1.3%1.4%97.4%0%0%0%4
65.1%1.7%0.9%97.4%0%0%0%5
70.3%1.8%0.8%97.4%0%0%0%6
79.1%2%0.5%97.4%0%0%0%7
81.1%2.1%0.5%97.4%0%0.1%0%8
86.1%2.2%0.4%97.4%0%0.1%0%9
87.6%2.2%0.3%97.4%0%0.1%0%10
91.9%2.3%0.2%97.4%0%0.1%0%11
92.6%2.3%0.2%97.4%0%0.1%0%12
Compiler

Compiled 2668 to 1267 computations (52.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0s
Operation ival-mult, time spent: 3.1s, 26.0% of total-time
Operation ival-<=, time spent: 2.2s, 19.0% of total-time
Operation ival-div, time spent: 1.3s, 11.0% of total-time
Operation ival-fabs, time spent: 1.0s, 9.0% of total-time
Operation ival-sqrt, time spent: 588.0ms, 5.0% of total-time
Operation ival-floor, time spent: 531.0ms, 4.0% of total-time
Operation ival-and, time spent: 442.0ms, 4.0% of total-time
Operation ival-add, time spent: 442.0ms, 4.0% of total-time
Operation ival-sub, time spent: 329.0ms, 3.0% of total-time
Operation ival-log2, time spent: 288.0ms, 2.0% of total-time
Operation const, time spent: 283.0ms, 2.0% of total-time
Operation ival-if, time spent: 240.0ms, 2.0% of total-time
Operation ival-==, time spent: 184.0ms, 2.0% of total-time
Operation ival->, time spent: 169.0ms, 1.0% of total-time
Operation ival-tan, time spent: 138.0ms, 1.0% of total-time
Operation ival-cos, time spent: 130.0ms, 1.0% of total-time
Operation ival-sin, time spent: 123.0ms, 1.0% of total-time
Operation ival-log, time spent: 118.0ms, 1.0% of total-time
Operation ival-fmax, time spent: 112.0ms, 1.0% of total-time
Operation ival-<, time spent: 73.0ms, 1.0% of total-time
Operation ival-pi, time spent: 62.0ms, 1.0% of total-time
Operation ival-atan, time spent: 52.0ms, 0.0% of total-time
Operation ival-asin, time spent: 29.0ms, 0.0% of total-time
Operation ival-neg, time spent: 27.0ms, 0.0% of total-time
Operation ival-exp, time spent: 24.0ms, 0.0% of total-time
Operation ival->=, time spent: 0.0ms, 0.0% of total-time
Operation ival-sinh, time spent: 0.0ms, 0.0% of total-time

prune13.5s (1.5%)

Counts
71775 → 463
Compiler

Compiled 43243 to 19792 computations (54.2% saved)

simplify10.7s (1.2%)

Algorithm
55×egg-herbie
Rules
9559×associate-+l+
9232×associate-+r+
8887×log-prod
8013×distribute-lft-in
7637×distribute-rgt-in
Stop Event
29×saturated
26×node limit
fuel
26×done
Counts
5258 → 1871
Compiler

Compiled 2981 to 1008 computations (66.2% saved)

soundness9.4s (1.1%)

Rules
26612×fma-def
7937×fma-neg
7847×distribute-lft-neg-in
7778×unsub-neg
6910×distribute-lft-in
Stop Event
32×node limit
Compiler

Compiled 3455 to 1927 computations (44.2% saved)

rewrite4.0s (0.5%)

Algorithm
21×batch-egg-rewrite
Rules
13537×log1p-expm1-u
13537×expm1-log1p-u
10812×prod-diff
7857×log-prod
3958×fma-def
Stop Event
21×node limit
Counts
76 → 3038

regimes2.3s (0.3%)

Counts
263 → 42
Calls

124 calls:

312.0ms
cosTheta_i
124.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
104.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
90.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
88.0ms
maxCos
Compiler

Compiled 5567 to 2874 computations (48.4% saved)

series573.0ms (0.1%)

Counts
76 → 2220
Calls

381 calls:

TimeVariablePointExpression
14.0ms
dX.u
@-inf
(/.f32 (fabs.f32 (*.f32 (floor.f32 h) (-.f32 (*.f32 dX.u (*.f32 (floor.f32 w) dY.v)) (*.f32 (*.f32 dY.u dX.v) (floor.f32 w))))) (sqrt.f32 (fmax.f32 (fma.f32 (floor.f32 w) (*.f32 (*.f32 dX.u dX.u) (floor.f32 w)) (*.f32 (floor.f32 h) (*.f32 (*.f32 dX.v dX.v) (floor.f32 h)))) (fma.f32 (floor.f32 w) (*.f32 (*.f32 dY.u dY.u) (floor.f32 w)) (*.f32 (floor.f32 h) (*.f32 (*.f32 dY.v dY.v) (floor.f32 h)))))))
12.0ms
dY.u
@-inf
(/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))))
11.0ms
maxAniso
@0
(<.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))))) 1)
9.0ms
dX.v
@0
(<.f32 (if (>.f32 (/.f32 (fmax.f32 (fma.f32 (pow.f32 dX.u 2) (pow.f32 (floor.f32 w) 2) (*.f32 (pow.f32 dX.v 2) (pow.f32 (floor.f32 h) 2))) (fma.f32 (pow.f32 (floor.f32 h) 2) (pow.f32 dY.v 2) (*.f32 (pow.f32 (floor.f32 w) 2) (pow.f32 dY.u 2)))) (*.f32 (floor.f32 w) (*.f32 (floor.f32 h) (fabs.f32 (-.f32 (*.f32 dX.u dY.v) (*.f32 dX.v dY.u)))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (fma.f32 (pow.f32 dX.u 2) (pow.f32 (floor.f32 w) 2) (*.f32 (pow.f32 dX.v 2) (pow.f32 (floor.f32 h) 2))) (fma.f32 (pow.f32 (floor.f32 h) 2) (pow.f32 dY.v 2) (*.f32 (pow.f32 (floor.f32 w) 2) (pow.f32 dY.u 2))))) (floor.f32 maxAniso)) (*.f32 (floor.f32 w) (*.f32 (sqrt.f32 (/.f32 1 (fmax.f32 (pow.f32 (hypot.f32 (*.f32 dX.u (floor.f32 w)) (*.f32 dX.v (floor.f32 h))) 2) (pow.f32 (hypot.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 h) dY.v)) 2)))) (*.f32 (floor.f32 h) (fabs.f32 (-.f32 (*.f32 dX.u dY.v) (*.f32 dX.v dY.u))))))) 1)
7.0ms
dX.v
@inf
(/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))))

end0.0ms (0%)

Profiling

Loading profile data...