Details

Time bar (total: 16.1s)

analyze3.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
75%75%25%0%0%0%0%4
87.5%87.5%12.5%0%0%0%0%5
93.8%93.7%6.2%0%0%0%0%6
96.9%96.8%3.1%0%0%0%0%7
98.4%98.4%1.6%0%0%0%0%8
99.2%99.2%0.8%0%0%0%0%9
99.6%99.6%0.4%0%0%0%0%10
99.8%99.8%0.2%0%0%0%0%11
99.9%99.9%0.1%0%0%0%0%12
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample10.7s (66.3%)

Results
10.7s8256×body256valid
Bogosity

preprocess743.0ms (4.6%)

Algorithm
egg-herbie
Rules
14680×rational.json-simplify-41
1272×rational.json-simplify-1
324×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11213
22013
33913
48713
524613
633013
733413
833813
934213
1034613
11131713
12180113
13180513
14180913
15181313
16181713
17182113
18182513
19182913
20183313
21183713
22184113
23184513
24184913
25185313
26185713
27186113
28186513
29186913
30187313
31187713
32188113
33188513
34188913
35189313
36189713
37190113
38190513
39190913
40191313
41191713
42192113
43192513
44192913
45193313
46193713
47194113
48194513
49194913
50195313
51195713
52196113
53196513
54196913
55197313
56197713
57198113
58198513
59198913
60199313
61199713
62200113
63200513
64200913
65201313
66201713
67202113
68202513
69202913
70203313
71203713
72204113
73204513
74204913
75205313
76205713
77206113
78206513
79206913
80207313
81207713
82208113
83208513
84208913
85209313
86209713
87210113
88210513
89210913
90211313
91211713
92212113
93212513
94212913
95213313
96213713
97214113
98214513
99214913
100215313
101215713
102216113
103216513
104216913
105217313
106217713
107218113
108218513
109218913
110219313
111219713
112220113
113220513
114220913
115221313
116221713
117222113
118222513
119222913
120223313
121223713
122224113
123224513
124224913
125225313
126225713
127226113
128226513
129226913
130227313
131227713
132228113
133228513
134228913
135229313
136229713
137230113
138230513
139230913
140231313
141231713
142232113
143232513
144232913
145233313
146233713
147234113
148234513
149234913
150235313
151235713
152236113
153236513
154236913
155237313
156237713
157238113
158238513
159238913
160239313
161239713
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (+.f64 x 16) 116)
Outputs
(/.f64 (+.f64 x 16) 116)
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify732.0ms (4.5%)

Algorithm
egg-herbie
Rules
14680×rational.json-simplify-41
1272×rational.json-simplify-1
324×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11213
22013
33913
48713
524613
633013
733413
833813
934213
1034613
11131713
12180113
13180513
14180913
15181313
16181713
17182113
18182513
19182913
20183313
21183713
22184113
23184513
24184913
25185313
26185713
27186113
28186513
29186913
30187313
31187713
32188113
33188513
34188913
35189313
36189713
37190113
38190513
39190913
40191313
41191713
42192113
43192513
44192913
45193313
46193713
47194113
48194513
49194913
50195313
51195713
52196113
53196513
54196913
55197313
56197713
57198113
58198513
59198913
60199313
61199713
62200113
63200513
64200913
65201313
66201713
67202113
68202513
69202913
70203313
71203713
72204113
73204513
74204913
75205313
76205713
77206113
78206513
79206913
80207313
81207713
82208113
83208513
84208913
85209313
86209713
87210113
88210513
89210913
90211313
91211713
92212113
93212513
94212913
95213313
96213713
97214113
98214513
99214913
100215313
101215713
102216113
103216513
104216913
105217313
106217713
107218113
108218513
109218913
110219313
111219713
112220113
113220513
114220913
115221313
116221713
117222113
118222513
119222913
120223313
121223713
122224113
123224513
124224913
125225313
126225713
127226113
128226513
129226913
130227313
131227713
132228113
133228513
134228913
135229313
136229713
137230113
138230513
139230913
140231313
141231713
142232113
143232513
144232913
145233313
146233713
147234113
148234513
149234913
150235313
151235713
152236113
153236513
154236913
155237313
156237713
157238113
158238513
159238913
160239313
161239713
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 x 16) 116)
Outputs
(/.f64 (+.f64 x 16) 116)

eval0.0ms (0%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
Compiler

Compiled 6 to 5 computations (16.7% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
Compiler

Compiled 12 to 9 computations (25% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(/.f64 (+.f64 x 16) 116)
0.0ms
x
@-inf
(/.f64 (+.f64 x 16) 116)
0.0ms
x
@0
(/.f64 (+.f64 x 16) 116)

rewrite466.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
1854×bool.json-1
1854×bool.json-2
1264×rational.json-simplify-35
1150×rational.json-1
1150×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17313
222113
348913
4103813
5236813
6475013
7739313
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(/.f64 (+.f64 x 16) 116)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 16) 1/116) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x 16) 1/116))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 16) 1/232) (*.f64 (+.f64 x 16) 1/232))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x 16) 1/116) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 16) 1/116)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/116) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x 16) 1/116))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) 32) 1/232)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x 16) 1/232))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/58) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 4) 1/464)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/116 (+.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x 16) 464))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/29) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 8) 1/928)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x 16) 1/58))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/232 (+.f64 (+.f64 x x) 32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/58 (*.f64 (+.f64 x 16) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/2) 1/58)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x 16) 1/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/232) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/464 (*.f64 (+.f64 x 16) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x 16) 464) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/928 (*.f64 (+.f64 x 16) 8))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (+.f64 x 16) 1/116)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (+.f64 x 16) 1/116) (*.f64 (+.f64 x 16) 1/116))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (+.f64 x 16) 1/116) (*.f64 (+.f64 x 16) 1/116))))))

simplify1.1s (6.8%)

Algorithm
egg-herbie
Rules
2730×rational.json-simplify-2
2302×rational.json-simplify-41
2282×rational.json-simplify-51
1924×rational.json-simplify-1
1876×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056444
177444
2120444
3200444
4312444
5576444
6692444
7751444
8842444
9938444
101019444
111096444
121203444
131282444
141372444
151467444
161570444
171673444
181780444
191892444
201977444
213364444
223409444
233454444
243487444
253505444
263522444
275005444
285022444
295039444
305056444
315073444
325090444
335724444
345741444
356734444
366778444
376807444
387192444
397222444
407251444
417280444
427309444
437338444
447685444
457714444
467743444
477772444
487801444
497830444
507859444
517888444
527917444
537946444
547975444
Stop Event
node limit
Counts
36 → 27
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 (*.f64 (+.f64 x 16) 1/116) 0)
(+.f64 0 (*.f64 (+.f64 x 16) 1/116))
(+.f64 (*.f64 (+.f64 x 16) 1/232) (*.f64 (+.f64 x 16) 1/232))
(-.f64 (*.f64 (+.f64 x 16) 1/116) 0)
(*.f64 (+.f64 x 16) 1/116)
(*.f64 (*.f64 (+.f64 x 16) 1/116) 1)
(*.f64 1 (*.f64 (+.f64 x 16) 1/116))
(*.f64 (+.f64 (+.f64 x x) 32) 1/232)
(*.f64 2 (*.f64 (+.f64 x 16) 1/232))
(*.f64 (*.f64 (+.f64 x 16) 1/58) 1/2)
(*.f64 (*.f64 (+.f64 x 16) 4) 1/464)
(*.f64 1/116 (+.f64 x 16))
(*.f64 4 (/.f64 (+.f64 x 16) 464))
(*.f64 (*.f64 (+.f64 x 16) 1/29) 1/4)
(*.f64 (*.f64 (+.f64 x 16) 8) 1/928)
(*.f64 1/2 (*.f64 (+.f64 x 16) 1/58))
(*.f64 1/232 (+.f64 (+.f64 x x) 32))
(*.f64 1/58 (*.f64 (+.f64 x 16) 1/2))
(*.f64 (*.f64 (+.f64 x 16) 1/2) 1/58)
(*.f64 1/4 (*.f64 (+.f64 x 16) 1/29))
(*.f64 (*.f64 (+.f64 x 16) 1/232) 2)
(*.f64 1/464 (*.f64 (+.f64 x 16) 4))
(*.f64 (/.f64 (+.f64 x 16) 464) 4)
(*.f64 1/928 (*.f64 (+.f64 x 16) 8))
Outputs
4/29
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 4/29 (*.f64 1/116 x))
(+.f64 (*.f64 (+.f64 x 16) 1/116) 0)
(*.f64 1/116 (+.f64 x 16))
(+.f64 0 (*.f64 (+.f64 x 16) 1/116))
(*.f64 1/116 (+.f64 x 16))
(+.f64 (*.f64 (+.f64 x 16) 1/232) (*.f64 (+.f64 x 16) 1/232))
(*.f64 1/116 (+.f64 x 16))
(-.f64 (*.f64 (+.f64 x 16) 1/116) 0)
(*.f64 1/116 (+.f64 x 16))
(*.f64 (+.f64 x 16) 1/116)
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/116) 1)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1 (*.f64 (+.f64 x 16) 1/116))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (+.f64 (+.f64 x x) 32) 1/232)
(*.f64 1/116 (+.f64 x 16))
(*.f64 2 (*.f64 (+.f64 x 16) 1/232))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/58) 1/2)
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 4) 1/464)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/116 (+.f64 x 16))
(*.f64 4 (/.f64 (+.f64 x 16) 464))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/29) 1/4)
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 8) 1/928)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/2 (*.f64 (+.f64 x 16) 1/58))
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/232 (+.f64 (+.f64 x x) 32))
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/58 (*.f64 (+.f64 x 16) 1/2))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/2) 1/58)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/4 (*.f64 (+.f64 x 16) 1/29))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/232) 2)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/464 (*.f64 (+.f64 x 16) 4))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (/.f64 (+.f64 x 16) 464) 4)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/928 (*.f64 (+.f64 x 16) 8))
(*.f64 1/116 (+.f64 x 16))

eval5.0ms (0%)

Compiler

Compiled 178 to 148 computations (16.9% saved)

prune4.0ms (0%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New24327
Fresh000
Picked011
Done000
Total24428
Error
0b
Counts
28 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.0b
(+.f64 4/29 (*.f64 1/116 x))
30.3b
(*.f64 1/116 x)
32.8b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/116 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 1/116 x)
0.0ms
x
@inf
(*.f64 1/116 x)
0.0ms
x
@0
(*.f64 1/116 x)

rewrite611.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
1622×rational.json-simplify-35
1348×bool.json-1
1348×bool.json-2
1290×rational.json-1
1290×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1517
21547
33267
46517
513627
631497
757517
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 1/116 x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/116 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/116 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/232) (*.f64 x 1/232))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/116 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/116 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/58) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/29) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2/29) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 2/29)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 2/29))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/116 x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/116 x) (*.f64 1/116 x))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/116 x) (*.f64 1/116 x))))))

simplify622.0ms (3.9%)

Algorithm
egg-herbie
Rules
8912×rational.json-simplify-41
2270×rational.json-simplify-35
1370×rational.json-simplify-2
866×rational.json-simplify-1
646×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03884
18884
215884
336284
486484
5261484
6350084
7360184
8365184
9369684
10373884
11377884
12385084
13388984
14392884
15396784
16400684
17404584
18408484
19412384
20416284
21420184
22424084
23427984
24431884
25435784
26439684
27443584
28447484
29451384
30455284
31455284
32459184
33463084
34466984
35470884
Stop Event
node limit
Counts
12 → 13
Calls
Call 1
Inputs
(+.f64 (*.f64 1/116 x) 0)
(+.f64 0 (*.f64 1/116 x))
(+.f64 (*.f64 x 1/232) (*.f64 x 1/232))
(-.f64 (*.f64 1/116 x) 0)
(/.f64 (*.f64 1/116 x) 1)
(/.f64 (*.f64 x 1/58) 2)
(/.f64 (*.f64 x 1/29) 4)
(/.f64 (*.f64 x 2/29) 8)
(/.f64 (*.f64 2 (*.f64 x 2/29)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 2/29))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)
Outputs
(+.f64 (*.f64 1/116 x) 0)
(*.f64 1/116 x)
(+.f64 0 (*.f64 1/116 x))
(*.f64 1/116 x)
(+.f64 (*.f64 x 1/232) (*.f64 x 1/232))
(*.f64 1/116 x)
(-.f64 (*.f64 1/116 x) 0)
(*.f64 1/116 x)
(/.f64 (*.f64 1/116 x) 1)
(*.f64 1/116 x)
(/.f64 (*.f64 x 1/58) 2)
(*.f64 1/116 x)
(/.f64 (*.f64 x 1/29) 4)
(*.f64 1/116 x)
(/.f64 (*.f64 x 2/29) 8)
(*.f64 1/116 x)
(/.f64 (*.f64 2 (*.f64 x 2/29)) 16)
(*.f64 1/116 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 2/29))) 32)
(*.f64 1/116 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) 64)
(*.f64 1/116 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)
(*.f64 1/116 x)

localize81.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 4/29 (*.f64 1/116 x))
0.1b
(*.f64 1/116 x)
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 4/29 (*.f64 1/116 x))
0.0ms
x
@0
(+.f64 4/29 (*.f64 1/116 x))
0.0ms
x
@-inf
(+.f64 4/29 (*.f64 1/116 x))

rewrite92.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1884×bool.json-1
1884×bool.json-2
1122×rational.json-1
1122×rational.json-2
1122×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17013
219013
338713
479413
5170613
6412513
7726313
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(+.f64 4/29 (*.f64 1/116 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 4/29 (*.f64 1/116 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 4/29 (*.f64 1/116 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/58) 8/29) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 1/58) 8/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/58) 8/29) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 4/29 (*.f64 1/116 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 4/29 (*.f64 1/116 x)) (+.f64 4/29 (*.f64 1/116 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 4/29 (*.f64 1/116 x)) (+.f64 4/29 (*.f64 1/116 x)))))))

simplify871.0ms (5.4%)

Algorithm
egg-herbie
Rules
6638×rational.json-simplify-51
2628×rational.json-simplify-35
1426×rational.json-simplify-2
1306×rational.json-simplify-49
1232×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048262
193262
2255262
3724262
41259262
52743262
63506262
73568262
83606262
93631262
104088262
114243262
124302262
134359262
144400262
154441262
164482262
174523262
184564262
195472262
205516262
215553262
225588262
235622262
245656262
255920262
265954262
275988262
286022262
296056262
306090262
316124262
326158262
336192262
346226262
356226262
366260262
Stop Event
node limit
Counts
22 → 22
Calls
Call 1
Inputs
4/29
(*.f64 1/116 x)
(*.f64 1/116 x)
(-.f64 (+.f64 4/29 (*.f64 1/116 x)) 0)
(*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
(*.f64 1 (+.f64 4/29 (*.f64 1/116 x)))
(*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2))
(*.f64 (+.f64 (*.f64 x 1/58) 8/29) 1/2)
(*.f64 4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 1/4)
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 1/8)
(*.f64 1/2 (+.f64 (*.f64 x 1/58) 8/29))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4) 4)
(/.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
(/.f64 (+.f64 (*.f64 x 1/58) 8/29) 2)
(/.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 4)
(/.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)
Outputs
4/29
(*.f64 1/116 x)
(*.f64 1/116 x)
(-.f64 (+.f64 4/29 (*.f64 1/116 x)) 0)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1 (+.f64 4/29 (*.f64 1/116 x)))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (+.f64 (*.f64 x 1/58) 8/29) 1/2)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 1/4)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 1/8)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/2 (+.f64 (*.f64 x 1/58) 8/29))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/2) 2)
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 1/4 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4))
(+.f64 4/29 (*.f64 1/116 x))
(*.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 1/4) 4)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (+.f64 (*.f64 x 1/58) 8/29) 2)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 4) 4)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8) 8)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)) 16)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) 32)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)
(+.f64 4/29 (*.f64 1/116 x))

eval10.0ms (0.1%)

Compiler

Compiled 401 to 349 computations (13% saved)

prune6.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New48048
Fresh011
Picked011
Done022
Total48452
Error
0b
Counts
52 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.0b
(+.f64 4/29 (*.f64 1/116 x))
30.3b
(*.f64 1/116 x)
32.8b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.0b
(+.f64 4/29 (*.f64 1/116 x))
30.3b
(*.f64 1/116 x)
32.8b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.0b
(+.f64 4/29 (*.f64 1/116 x))
30.3b
(*.f64 1/116 x)
32.8b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

regimes11.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
4/29
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (+.f64 x 16) 116)
Outputs
(/.f64 (+.f64 x 16) 116)
Calls

3 calls:

4.0ms
x
3.0ms
(/.f64 (+.f64 x 16) 116)
3.0ms
(+.f64 x 16)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(/.f64 (+.f64 x 16) 116)
0.0b1(+.f64 x 16)
Compiler

Compiled 27 to 21 computations (22.2% saved)

regimes4.0ms (0%)

Counts
3 → 1
Calls
Call 1
Inputs
4/29
(*.f64 1/116 x)
(+.f64 4/29 (*.f64 1/116 x))
Outputs
(+.f64 4/29 (*.f64 1/116 x))
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
Compiler

Compiled 12 to 9 computations (25% saved)

regimes10.0ms (0.1%)

Accuracy

Total -60.9b remaining (-5733%)

Threshold costs -60.9b (-5733%)

Counts
2 → 3
Calls
Call 1
Inputs
4/29
(*.f64 1/116 x)
Outputs
(*.f64 1/116 x)
4/29
(*.f64 1/116 x)
Calls

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
1.1b3x
Compiler

Compiled 7 to 5 computations (28.6% saved)

bsearch28.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
0.6682571328058488
180849204180975900.0
14.0ms
-2261.1628400366367
-0.002210021736400799
Results
25.0ms304×body256valid
Compiler

Compiled 162 to 141 computations (13% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01960
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x 16) 116)
(+.f64 4/29 (*.f64 1/116 x))
(if (<=.f64 x -16) (*.f64 1/116 x) (if (<=.f64 x 16) 4/29 (*.f64 1/116 x)))
4/29
Outputs
(/.f64 (+.f64 x 16) 116)
(+.f64 4/29 (*.f64 1/116 x))
(if (<=.f64 x -16) (*.f64 1/116 x) (if (<=.f64 x 16) 4/29 (*.f64 1/116 x)))
4/29
Compiler

Compiled 30 to 24 computations (20% saved)

soundness0.0ms (0%)

end26.0ms (0.2%)

Compiler

Compiled 27 to 21 computations (22.2% saved)

Profiling

Loading profile data...