Herbie run

Date:Sunday, January 21st, 2024
Commit:4a418bc7 on main
Hostname:nightly with Racket 8.6
Seed:2024021
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: 26.6min)

localize9.1min (34.3%)

Results
Compiler

Compiled 81235 to 43891 computations (46% saved)

sample7.3min (27.4%)

Results
2.7min17070×body8192exit
1.1min298520×body256valid
55.4s7516×body4096valid
43.2s46378×body512valid
32.2s11183×body2048valid
19.8s25538×body1024valid
19.5s1064×body8192valid
7.1s5757×body512infinite
6.6s27557×body256unsamplable
6.0s27018×body256infinite
5.4s28279×body256invalid
2.9s377×body4096infinite
2.9s664×body2048infinite
1.7s526×body1024infinite
1.6s1150×body2048invalid
1.5s1642×body1024invalid
711.0ms1184×body512invalid
107.0ms948×body256precondition
7.0msbody512unsamplable
1.0msbody1024unsamplable
Bogosity

eval2.1min (8%)

Results
Compiler

Compiled 6270754 to 3661901 computations (41.6% saved)

regimes1.9min (7.1%)

Counts
19086 → 808
Calls

134 calls:

10.6s
phi1
9.2s
phi2
9.1s
lambda2
8.2s
lambda1
5.4s
(-.f64 lambda1 lambda2)
Results
Compiler

Compiled 564776 to 306574 computations (45.7% saved)

soundness1.6min (6.1%)

Rules
259962×fma-def
162076×associate-*r*
127470×associate-*l*
125440×log-prod
117792×fma-neg
Stop Event
saturated
unsound
362×node limit
Compiler

Compiled 38042 to 22425 computations (41.1% saved)

preprocess1.0min (3.8%)

Algorithm
51×egg-herbie
Rules
76366×fma-def
27106×div-sub
26806×fma-neg
24952×sub-neg
22390×distribute-lft-in
Stop Event
saturated
43×node limit
Compiler

Compiled 52610 to 29741 computations (43.5% saved)

simplify54.8s (3.4%)

Algorithm
221×egg-herbie
Rules
140568×fma-def
110164×associate-*r*
95672×log-prod
89862×associate-*l*
75340×*-commutative
Stop Event
unsound
47×saturated
done
43×fuel
171×node limit
Counts
79426 → 64293
Compiler

Compiled 12407 to 8168 computations (34.2% saved)

prune51.9s (3.2%)

Counts
145118 → 6328
Compiler

Compiled 660195 to 463613 computations (29.8% saved)

analyze42.5s (2.7%)

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 1343 computations (30% saved)

rewrite36.2s (2.3%)

Algorithm
175×batch-egg-rewrite
Rules
95364×log1p-expm1-u
72004×expm1-log1p-u
61700×expm1-udef
55356×log1p-udef
52152×log-prod
Stop Event
unsound
172×node limit
Counts
1589 → 47586

bsearch12.8s (0.8%)

Algorithm
248×binary-search
114×left-value
Stop Event
239×narrow-enough
predicate-same
Results
5.6s22959×body256valid
3.2s4693×body512valid
1.3s1446×body2048valid
1.3s1087×body4096valid
558.0ms950×body1024valid
107.0ms291×body256infinite
97.0ms742×body256invalid
21.0ms46×body512infinite
Compiler

Compiled 63880 to 48309 computations (24.4% saved)

series12.4s (0.8%)

Counts
1589 → 31840
Calls

8904 calls:

TimeVariablePointExpression
366.0ms
B
@-inf
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (*.f64 C B) (*.f64 B (+.f64 A (hypot.f64 (-.f64 A C) B)))) (pow.f64 B 2))) (PI.f64)))
199.0ms
lambda2
@inf
(log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))
137.0ms
b
@inf
(*.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 -1/4 (/.f64 (sqrt.f64 (*.f64 (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b))) (*.f64 (/.f64 (*.f64 8 (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b)))) (pow.f64 (*.f64 x-scale y-scale) 2)) (+.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)) (pow.f64 x-scale 2)) (+.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)) (pow.f64 y-scale 2)) (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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2))) (*.f64 (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) (/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 2) (-.f64 (pow.f64 b 2) (pow.f64 a 2))) y-scale)))))))) (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b))))))
119.0ms
B
@0
(/.f64 (neg.f64 (sqrt.f64 (*.f64 F (*.f64 (+.f64 C (-.f64 A (hypot.f64 B (-.f64 A C)))) (*.f64 2 (fma.f64 A (*.f64 C -4) (pow.f64 B 2))))))) (fma.f64 A (*.f64 C -4) (pow.f64 B 2)))
97.0ms
a
@0
(*.f64 (pow.f64 (*.f64 x-scale y-scale) 2) (*.f64 -1/4 (/.f64 (sqrt.f64 (*.f64 (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b))) (*.f64 (/.f64 (*.f64 8 (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b)))) (pow.f64 (*.f64 x-scale y-scale) 2)) (+.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)) (pow.f64 x-scale 2)) (+.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)) (pow.f64 y-scale 2)) (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)) (pow.f64 x-scale 2)) (/.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)) (pow.f64 y-scale 2))) (*.f64 (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) x-scale) (/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 2) (-.f64 (pow.f64 b 2) (pow.f64 a 2))) y-scale)))))))) (*.f64 b (*.f64 (pow.f64 a 2) (neg.f64 b))))))

end79.0ms (0%)

Profiling

Loading profile data...