Herbie run

Date:Friday, September 15th, 2023
Commit:4716b437 on main
Hostname:nightly with Racket 8.6
Seed:2023258
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: 24.0min)

localize8.5min (35.5%)

Results
Compiler

Compiled 90291 to 42691 computations (52.7% saved)

sample7.6min (31.6%)

Results
2.6min16852×body8192exit
1.2min64760×body1024valid
56.9s8199×body4096valid
52.2s269536×body256valid
32.1s13316×body2048valid
30.2s1628×body8192valid
17.5s32193×body512valid
7.2s4267×body1024infinite
5.8s27511×body256unsamplable
5.4s27252×body256infinite
3.8s587×body4096infinite
3.4s20804×body256invalid
3.3s848×body2048infinite
2.6s5352×body2048invalid
2.1s2034×body512infinite
1.5s3644×body1024invalid
723.0ms2237×body512invalid
222.0ms16×body8192infinite
84.0ms915×body256precondition
17.0msbody8192unsamplable
6.0msbody512unsamplable
3.0msbody1024unsamplable
1.0msbody4096invalid
Bogosity

eval1.7min (7.2%)

Compiler

Compiled 5720422 to 3042827 computations (46.8% saved)

soundness1.5min (6.2%)

Rules
352462×fma-def
183062×associate-*r*
172854×log-prod
151206×associate-*l*
146216×fma-neg
Stop Event
unsound
15×saturated
443×node limit
Compiler

Compiled 50235 to 28836 computations (42.6% saved)

regimes1.3min (5.4%)

Counts
17266 → 866
Calls

137 calls:

6.3s
phi2
5.8s
lambda1
5.7s
phi1
4.4s
lambda2
4.2s
b
Compiler

Compiled 410656 to 198789 computations (51.6% saved)

simplify53.6s (3.7%)

Algorithm
280×egg-herbie
Rules
215596×fma-def
119562×associate-*r*
100352×associate-*l*
94686×fma-neg
93628×log-prod
Stop Event
unsound
65×saturated
done
44×fuel
214×node limit
Counts
83198 → 65994
Results
Compiler

Compiled 15605 to 10196 computations (34.7% saved)

prune44.1s (3.1%)

Counts
130909 → 6815
Compiler

Compiled 706201 to 474207 computations (32.9% saved)

analyze36.4s (2.5%)

Algorithm
53×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%79.4%20.6%0%0%0%0
19.6%15.5%63.8%20.6%0%0%0%1
27.1%21.4%57.6%21%0%0%0%2
36.8%28.5%48.9%21.2%0%1.4%0%3
42.3%32.2%43.9%21.2%0%2.8%0%4
47.2%35.4%39.6%21.2%0%3.8%0%5
50.2%37.2%36.9%21.2%0%4.6%0%6
53.6%39.3%34%21.2%0%5.4%0.1%7
55.3%40.3%32.5%21.3%0%5.8%0.1%8
58.3%42%30.1%21.3%0%6.4%0.2%9
59.6%42.8%29%21.3%0%6.7%0.2%10
61.9%44.2%27.2%21.3%0%7.1%0.3%11
63.3%45%26%21.3%0%7.4%0.3%12
Compiler

Compiled 1919 to 1338 computations (30.3% saved)

rewrite22.3s (1.6%)

Algorithm
181×batch-egg-rewrite
Rules
123520×pow1
117334×add-exp-log
117242×log1p-expm1-u
117198×expm1-log1p-u
112276×add-log-exp
Stop Event
unsound
178×node limit
Counts
1782 → 44391

bsearch22.0s (1.5%)

Algorithm
357×binary-search
50×left-value
Stop Event
341×narrow-enough
16×predicate-same
Results
8.8s7713×body1024valid
5.2s27467×body256valid
2.5s2918×body2048valid
2.3s3104×body512valid
1.4s1109×body4096valid
373.0ms2724×body256invalid
165.0ms834×body256infinite
127.0ms144×body1024infinite
122.0ms18×body4096infinite
115.0ms29×body2048infinite
64.0ms88×body512infinite
3.0msbody512invalid
3.0msbody1024invalid
Compiler

Compiled 108692 to 79906 computations (26.5% saved)

preprocess12.8s (0.9%)

Algorithm
51×egg-herbie
Rules
66624×fma-def
26490×fma-neg
25742×div-sub
23584×sub-neg
22428×distribute-lft-neg-in
Stop Event
10×saturated
41×node limit
Compiler

Compiled 34940 to 18604 computations (46.8% saved)

series12.3s (0.9%)

Counts
1782 → 39758
Calls

10233 calls:

TimeVariablePointExpression
310.0ms
c
@-inf
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 3/2)) (+.f64 (pow.f64 (neg.f64 b) 2) (-.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))))))) (*.f64 2 a))
95.0ms
c
@0
(-.f64 (exp.f64 (log1p.f64 (*.f64 3/2 (/.f64 c b)))) 1)
77.0ms
phi1
@-inf
(log1p.f64 (fma.f64 (cos.f64 (*.f64 1/2 phi2)) (cos.f64 (*.f64 1/2 phi1)) (*.f64 (sin.f64 (*.f64 1/2 phi2)) (neg.f64 (sin.f64 (*.f64 1/2 phi1))))))
76.0ms
y-scale
@-inf
(*.f64 (/.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 a (*.f64 (neg.f64 a) (*.f64 b b)))) (/.f64 (sqrt.f64 (*.f64 b (*.f64 (*.f64 (*.f64 b (neg.f64 a)) (/.f64 (*.f64 8 a) (/.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 a (*.f64 (neg.f64 a) (*.f64 b b)))))) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1) (/.f64 (*.f64 x-scale y-scale) (*.f64 2 (fma.f64 a (neg.f64 a) (*.f64 b b))))))))))) -4))
71.0ms
a
@0
(*.f64 (/.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 a (*.f64 (neg.f64 a) (*.f64 b b)))) (/.f64 (sqrt.f64 (*.f64 b (*.f64 (*.f64 (*.f64 b (neg.f64 a)) (/.f64 (*.f64 8 a) (/.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 a (*.f64 (neg.f64 a) (*.f64 b b)))))) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) (hypot.f64 (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) (/.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1) (/.f64 (*.f64 x-scale y-scale) (*.f64 2 (fma.f64 a (neg.f64 a) (*.f64 b b))))))))))) -4))

end45.0ms (0%)

Profiling

Loading profile data...