Details

Time bar (total: 16.4s)

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)

sample6.4s (39.2%)

Results
6.4s8256×body256valid
Bogosity

preprocess750.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)

simplify4.0s (24.2%)

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)

rewrite236.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
3142×rational.json-simplify-35
1894×rational.json-simplify-2
1092×exponential.json-3
1092×rational.json-1
1092×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14913
212113
326213
452113
5123713
6263013
7390113
8463313
9551013
10600013
11600013
12651813
13667813
14717013
Stop Event
node limit
Counts
1 → 33
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 x (+.f64 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) 1/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 x (+.f64 x 32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (/.f64 (+.f64 x 16) 928))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 2/29) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 16 (+.f64 x 16)) 1/1856)))) (#(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/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) 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 1/29 (*.f64 (+.f64 x 16) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/464) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/928 (*.f64 (+.f64 x 16) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 16) 1/4) 1/29)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x 16) 2/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/1856 (*.f64 16 (+.f64 x 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x 16) 928) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x 16) 1/116) 1)))))

simplify2.4s (14.6%)

Algorithm
egg-herbie
Rules
2498×rational.json-simplify-51
2396×rational.json-simplify-2
2186×rational.json-simplify-41
1860×rational.json-simplify-1
1618×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072561
1106561
2198561
3350561
4568561
5871561
6994561
71063561
81169561
91310561
101438561
111575561
121644561
131729561
141826561
151938561
162051561
172176561
182314561
192444561
202538561
213905561
223962561
234014561
244050561
254358561
264640561
275352561
285374561
295396561
305418561
315440561
325462561
335484561
345506561
355528561
366168561
377746561
387781561
397814561
407846561
417878561
Stop Event
node limit
Counts
45 → 36
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 x (+.f64 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) 1/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 x (+.f64 x 32)))
(*.f64 8 (/.f64 (+.f64 x 16) 928))
(*.f64 (*.f64 (+.f64 x 16) 2/29) 1/8)
(*.f64 (*.f64 16 (+.f64 x 16)) 1/1856)
(*.f64 1/58 (*.f64 (+.f64 x 16) 1/2))
(*.f64 (*.f64 (+.f64 x 16) 1/232) 2)
(*.f64 1/464 (*.f64 (+.f64 x 16) 4))
(*.f64 (*.f64 (+.f64 x 16) 1/2) 1/58)
(*.f64 1/4 (*.f64 (+.f64 x 16) 1/29))
(*.f64 1/29 (*.f64 (+.f64 x 16) 1/4))
(*.f64 (*.f64 (+.f64 x 16) 1/464) 4)
(*.f64 1/928 (*.f64 (+.f64 x 16) 8))
(*.f64 (*.f64 (+.f64 x 16) 1/4) 1/29)
(*.f64 1/8 (*.f64 (+.f64 x 16) 2/29))
(*.f64 1/1856 (*.f64 16 (+.f64 x 16)))
(*.f64 (/.f64 (+.f64 x 16) 928) 8)
(pow.f64 (*.f64 (+.f64 x 16) 1/116) 1)
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 x (+.f64 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) 1/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 x (+.f64 x 32)))
(*.f64 1/116 (+.f64 x 16))
(*.f64 8 (/.f64 (+.f64 x 16) 928))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 2/29) 1/8)
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 16 (+.f64 x 16)) 1/1856)
(*.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/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) 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 1/29 (*.f64 (+.f64 x 16) 1/4))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/464) 4)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/928 (*.f64 (+.f64 x 16) 8))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (*.f64 (+.f64 x 16) 1/4) 1/29)
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/8 (*.f64 (+.f64 x 16) 2/29))
(*.f64 1/116 (+.f64 x 16))
(*.f64 1/1856 (*.f64 16 (+.f64 x 16)))
(*.f64 1/116 (+.f64 x 16))
(*.f64 (/.f64 (+.f64 x 16) 928) 8)
(*.f64 1/116 (+.f64 x 16))
(pow.f64 (*.f64 (+.f64 x 16) 1/116) 1)
(*.f64 1/116 (+.f64 x 16))

eval7.0ms (0%)

Compiler

Compiled 241 to 203 computations (15.8% saved)

prune5.0ms (0%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New33336
Fresh000
Picked011
Done000
Total33437
Error
0b
Counts
37 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.1b
(+.f64 4/29 (*.f64 1/116 x))
31.4b
(*.f64 1/116 x)
31.9b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

localize2.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)

rewrite245.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
2416×rational.json-simplify-2
2364×rational.json-simplify-35
1474×rational.json-simplify-1
1110×exponential.json-3
1110×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1337
2787
31587
42787
55837
613387
728317
843977
949637
1060307
1167377
1267377
1378027
1478027
Stop Event
node limit
Counts
1 → 16
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 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/116 x) 1)))))

simplify448.0ms (2.7%)

Algorithm
egg-herbie
Rules
3476×rational.json-simplify-51
2910×rational.json-simplify-2
2064×rational.json-simplify-35
1168×rational.json-simplify-1
686×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048112
1122112
2214112
3537112
41350112
52639112
63509112
73681112
83774112
93845112
103910112
113974112
124035112
134095112
144154112
154213112
164272112
174331112
184390112
194449112
207041112
217181112
227239112
237244112
247244112
Stop Event
node limit
Counts
16 → 17
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 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) 512)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))))) 1024)
(pow.f64 (*.f64 1/116 x) 1)
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 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))) 128)
(*.f64 1/116 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))) 256)
(*.f64 1/116 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) 512)
(*.f64 1/116 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 2/29)))))))) 1024)
(*.f64 1/116 x)
(pow.f64 (*.f64 1/116 x) 1)
(*.f64 1/116 x)

localize5.0ms (0%)

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))

rewrite681.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
2604×rational.json-simplify-35
2048×rational.json-simplify-2
1208×rational.json-simplify-1
1194×exponential.json-3
1194×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
29613
319013
435113
576413
6189313
7320213
8387613
9471613
10561413
11614113
12614113
13699013
14699013
15753513
Stop Event
node limit
Counts
1 → 25
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 1/8 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)))))

simplify558.0ms (3.4%)

Algorithm
egg-herbie
Rules
3464×rational.json-simplify-51
3086×rational.json-simplify-2
1564×rational.json-simplify-35
1560×rational.json-simplify-1
1096×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062340
1141340
2406340
31414340
42472340
53807340
64381340
74460340
84511340
94545340
104579340
114613340
124647340
134681340
144715340
154749340
164783340
174817340
184851340
194885340
207148340
217243340
227283340
237321340
247351340
257381340
Stop Event
node limit
Counts
28 → 28
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 1/8 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))))) 512)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))))) 1024)
(pow.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
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 1/8 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))
(+.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))) 64)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))) 128)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))) 256)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8))))))) 512)
(+.f64 4/29 (*.f64 1/116 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 4/29 (*.f64 1/116 x)) 8)))))))) 1024)
(+.f64 4/29 (*.f64 1/116 x))
(pow.f64 (+.f64 4/29 (*.f64 1/116 x)) 1)
(+.f64 4/29 (*.f64 1/116 x))

eval548.0ms (3.4%)

Compiler

Compiled 619 to 554 computations (10.5% saved)

prune8.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New62062
Fresh011
Picked011
Done022
Total62466
Error
0b
Counts
66 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 x 16) 116)
0.1b
(+.f64 4/29 (*.f64 1/116 x))
31.4b
(*.f64 1/116 x)
31.9b
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.1b
(+.f64 4/29 (*.f64 1/116 x))
31.4b
(*.f64 1/116 x)
31.9b
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.1b
(+.f64 4/29 (*.f64 1/116 x))
31.4b
(*.f64 1/116 x)
31.9b
4/29
Compiler

Compiled 18 to 15 computations (16.7% saved)

regimes13.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:

5.0ms
(+.f64 x 16)
4.0ms
x
3.0ms
(/.f64 (+.f64 x 16) 116)
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.1b1x
Compiler

Compiled 12 to 9 computations (25% saved)

regimes9.0ms (0.1%)

Accuracy

Total -60.3b remaining (-3972.5%)

Threshold costs -60.3b (-3972.5%)

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.5b3x
Compiler

Compiled 7 to 5 computations (28.6% saved)

bsearch25.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
1.0689930560069171e-7
27.434380967864094
12.0ms
-62.41347299000895
-0.001144453717381607
Results
21.0ms272×body256valid
Compiler

Compiled 146 to 127 computations (13% saved)

simplify4.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%)

end27.0ms (0.2%)

Compiler

Compiled 27 to 21 computations (22.2% saved)

Profiling

Loading profile data...