Herbie run

Date:Saturday, December 16th, 2023
Commit:665878db on main
Hostname:nightly with Racket 8.6
Seed:2023350
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: 23.7min)

sample7.3min (30.7%)

Results
2.7min17143×body8192exit
1.0min296413×body256valid
56.7s8333×body4096valid
48.4s42902×body1024valid
31.2s13264×body2048valid
27.2s1480×body8192valid
16.3s27639×body512valid
7.1s4035×body1024infinite
6.3s27648×body256unsamplable
5.4s27144×body256infinite
4.6s27138×body256invalid
3.6s570×body4096infinite
3.1s829×body2048infinite
2.1s1990×body512infinite
1.3s1257×body2048invalid
1.1s1651×body1024invalid
586.0ms1176×body512invalid
317.0ms23×body8192infinite
89.0ms867×body256precondition
5.0msbody1024unsamplable
3.0msbody2048unsamplable
3.0msbody512unsamplable
Bogosity

localize6.6min (28.1%)

Results
Compiler

Compiled 82915 to 44655 computations (46.1% saved)

eval2.7min (11.2%)

Results
Compiler

Compiled 6841256 to 4051549 computations (40.8% saved)

regimes1.5min (6.5%)

Counts
18050 → 789
Calls

137 calls:

8.1s
phi2
8.1s
phi1
6.8s
lambda1
6.2s
lambda2
4.7s
(-.f64 lambda1 lambda2)
Compiler

Compiled 482053 to 259574 computations (46.2% saved)

soundness1.4min (5.9%)

Rules
239368×fma-def
140864×associate-*r*
116462×log-prod
116034×times-frac
115554×associate-*l*
Stop Event
saturated
unsound
348×node limit
Compiler

Compiled 40750 to 23925 computations (41.3% saved)

preprocess1.0min (4.4%)

Algorithm
51×egg-herbie
Rules
76366×fma-def
27180×div-sub
26822×fma-neg
24892×sub-neg
22370×distribute-lft-in
Stop Event
saturated
43×node limit
Compiler

Compiled 57312 to 33603 computations (41.4% saved)

simplify50.3s (3.5%)

Algorithm
214×egg-herbie
Rules
138998×fma-def
87734×associate-*r*
78926×times-frac
77782×log-prod
75534×associate-*l*
Stop Event
47×saturated
done
40×fuel
167×node limit
Counts
77485 → 61695
Compiler

Compiled 12283 to 8034 computations (34.6% saved)

prune48.6s (3.4%)

Counts
145343 → 6151
Compiler

Compiled 645170 to 450830 computations (30.1% saved)

analyze35.1s (2.5%)

Algorithm
53×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%79.4%20.6%0%0%0%0
14.8%11.8%67.6%20.6%0%0%0%1
22.6%17.7%60.4%21%0%0.9%0%2
32.7%24.7%50.8%21.2%0%3.3%0%3
39.8%29.8%45%21.2%0%4%0%4
45.4%33.8%40.6%21.2%0%4.5%0%5
48.4%35.7%38%21.2%0%5.1%0%6
51.8%37.8%35.2%21.2%0%5.7%0.1%7
53.5%38.9%33.8%21.3%0%6%0.1%8
56.4%40.6%31.4%21.3%0%6.6%0.2%9
57.7%41.4%30.3%21.3%0%6.8%0.2%10
59.8%42.7%28.7%21.3%0%7.1%0.3%11
61.3%43.5%27.5%21.3%0%7.5%0.3%12
Compiler

Compiled 1919 to 1338 computations (30.3% saved)

rewrite26.3s (1.9%)

Algorithm
167×batch-egg-rewrite
Rules
99903×log1p-expm1-u
74845×expm1-log1p-u
59250×expm1-udef
53936×log1p-udef
49188×log-prod
Stop Event
unsound
164×node limit
Counts
1520 → 45893

bsearch16.7s (1.2%)

Algorithm
297×binary-search
57×left-value
Stop Event
286×narrow-enough
11×predicate-same
Results
5.5s23765×body256valid
5.4s5236×body1024valid
2.1s3250×body512valid
2.0s1453×body2048valid
586.0ms530×body4096valid
169.0ms682×body256infinite
135.0ms1019×body256invalid
94.0ms58×body1024infinite
21.0ms44×body512infinite
1.0msbody1024invalid
0.0msbody512invalid
Compiler

Compiled 87119 to 64353 computations (26.1% saved)

series11.5s (0.8%)

Counts
1520 → 31592
Calls

8748 calls:

TimeVariablePointExpression
134.0ms
b
@-inf
(/.f64 (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2) (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2) (hypot.f64 (*.f64 (/.f64 (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))) x-scale) (/.f64 (*.f64 2 (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (/.f64 y-scale (-.f64 (pow.f64 b 2) (pow.f64 a 2))))) (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2)))))) (*.f64 2 (*.f64 (*.f64 b (*.f64 a (*.f64 b (neg.f64 a)))) (*.f64 (pow.f64 (*.f64 x-scale y-scale) -2) (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))))))))) (pow.f64 (*.f64 x-scale y-scale) -2)))
131.0ms
a
@-inf
(/.f64 (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2) (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2) (hypot.f64 (*.f64 (/.f64 (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))) x-scale) (/.f64 (*.f64 2 (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (/.f64 y-scale (-.f64 (pow.f64 b 2) (pow.f64 a 2))))) (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2)))))) (*.f64 2 (*.f64 (*.f64 b (*.f64 a (*.f64 b (neg.f64 a)))) (*.f64 (pow.f64 (*.f64 x-scale y-scale) -2) (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))))))))) (pow.f64 (*.f64 x-scale y-scale) -2)))
116.0ms
phi1
@inf
(-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (sin.f64 phi2)))))) 1)
112.0ms
a
@0
(/.f64 (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2) (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2) (hypot.f64 (*.f64 (/.f64 (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))) x-scale) (/.f64 (*.f64 2 (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (/.f64 y-scale (-.f64 (pow.f64 b 2) (pow.f64 a 2))))) (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2)))))) (*.f64 2 (*.f64 (*.f64 b (*.f64 a (*.f64 b (neg.f64 a)))) (*.f64 (pow.f64 (*.f64 x-scale y-scale) -2) (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))))))))) (pow.f64 (*.f64 x-scale y-scale) -2)))
101.0ms
a
@inf
(/.f64 (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2) (fma.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2) (hypot.f64 (*.f64 (/.f64 (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))) x-scale) (/.f64 (*.f64 2 (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (/.f64 y-scale (-.f64 (pow.f64 b 2) (pow.f64 a 2))))) (-.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 x-scale -2)) (*.f64 (pow.f64 (hypot.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) (*.f64 b (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))))) 2) (pow.f64 y-scale -2)))))) (*.f64 2 (*.f64 (*.f64 b (*.f64 a (*.f64 b (neg.f64 a)))) (*.f64 (pow.f64 (*.f64 x-scale y-scale) -2) (*.f64 (*.f64 4 (*.f64 a b)) (*.f64 b (neg.f64 a))))))))) (pow.f64 (*.f64 x-scale y-scale) -2)))

end14.0ms (0%)

Profiling

Loading profile data...