Details

Time bar (total: 31.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
66.7%50%25%0%25%0%0%4
80%50%12.5%0%37.5%0%0%5
88.9%50%6.2%0%43.7%0%0%6
94.1%50%3.1%0%46.9%0%0%7
97%50%1.6%0%48.4%0%0%8
98.5%50%0.8%0%49.2%0%0%9
99.2%50.4%0.4%0%49.2%0%0%10
99.6%50.4%0.2%0%49.4%0%0%11
99.8%50.4%0.1%0%49.5%0%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample20.5s (65.8%)

Results
13.5s4323×body2048valid
6.3s2070×body1024valid
422.0ms881×body256valid
188.0ms982×body512valid
1.0msbody256infinite
Bogosity

preprocess4.4s (14.1%)

Algorithm
egg-herbie
Rules
20662×rational.json-simplify-41
2336×rational.json-simplify-1
1296×rational.json-simplify-35
rational.json-simplify-12
rational.json-simplify-10
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11825
22625
33425
44625
56625
611625
725125
864825
981625
1082425
1183225
1284025
1384825
1485625
1586425
1687225
1788025
1888825
1989625
2090425
2191225
2292025
2392825
24272825
25273625
26274425
27275225
28276025
29276825
30358225
31359025
32359825
33360625
34361425
35362225
36363025
37363825
38364625
39365425
40366225
41367025
42367825
43368625
44369425
45370225
46371025
47371825
48372625
49373425
50374225
51375025
52375825
53376625
54377425
55378225
56379025
57379825
58380625
59381425
60382225
61383025
62383825
63384625
64385425
65386225
66387025
67387825
68388625
69389425
70390225
71391025
72391825
73392625
74393425
75394225
76395025
77395825
78396625
79397425
80398225
81399025
82399825
83400625
84401425
85402225
86403025
87403825
88404625
89405425
90406225
91407025
92407825
93408625
94409425
95410225
96411025
97411825
98412625
99413425
100414225
101415025
102415825
103416625
104417425
105418225
106419025
107419825
108420625
109421425
110422225
111423025
112423825
113424625
114425425
115426225
116427025
117427825
118428625
119429425
120430225
121431025
122431825
123432625
124433425
125434225
126435025
127435825
128436625
129437425
130438225
131439025
132439825
133440625
134441425
135442225
136443025
137443825
138444625
139445425
140446225
141447025
142447825
143448625
144449425
145450225
146451025
147451825
148452625
149453425
150454225
151455025
152455825
153456625
154457425
155458225
156459025
157459825
158460625
159461425
160462225
161463025
162463825
163464625
164465425
165466225
166467025
167467825
168468625
169469425
170470225
171471025
172471825
173472625
174473425
175474225
176475025
177475825
178476625
179477425
180478225
181479025
182479825
183480625
184481425
185482225
186483025
187483825
188484625
189485425
190486225
191487025
192487825
193488625
194489425
195490225
196491025
197491825
198492625
199493425
200494225
201495025
202495825
203496625
204497425
205498225
206499025
207499825
208500625
209501425
210502225
211503025
212503825
213504625
214505425
215506225
216507025
217507825
218508625
219509425
220510225
221511025
222511825
223512625
224513425
225514225
226515025
227515825
228516625
229517425
230518225
231519025
232519825
233520625
234521425
235522225
236523025
237523825
238524625
239525425
240526225
241527025
242527825
243528625
244529425
245530225
246531025
247531825
248532625
249533425
250534225
251535025
252535825
253536625
254537425
255538225
256539025
257539825
258540625
259541425
260542225
261543025
262543825
263544625
264545425
265546225
266547025
267547825
268548625
269549425
270550225
271551025
272551825
273552625
274553425
275554225
276555025
277555825
278556625
279557425
280558225
281559025
282559825
283560625
284561425
285562225
286563025
287563825
288564625
289565425
290566225
291567025
292567825
293568625
294569425
295570225
296571025
297571825
298572625
299573425
300574225
301575025
302575825
303576625
304577425
305578225
306579025
307579825
308580625
309581425
310582225
311583025
312583825
313584625
314585425
315586225
316587025
317587825
318588625
319589425
320590225
321591025
322591825
323592625
324593425
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify3.9s (12.4%)

Algorithm
egg-herbie
Rules
20662×rational.json-simplify-41
2336×rational.json-simplify-1
1296×rational.json-simplify-35
rational.json-simplify-12
rational.json-simplify-10
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11825
22625
33425
44625
56625
611625
725125
864825
981625
1082425
1183225
1284025
1384825
1485625
1586425
1687225
1788025
1888825
1989625
2090425
2191225
2292025
2392825
24272825
25273625
26274425
27275225
28276025
29276825
30358225
31359025
32359825
33360625
34361425
35362225
36363025
37363825
38364625
39365425
40366225
41367025
42367825
43368625
44369425
45370225
46371025
47371825
48372625
49373425
50374225
51375025
52375825
53376625
54377425
55378225
56379025
57379825
58380625
59381425
60382225
61383025
62383825
63384625
64385425
65386225
66387025
67387825
68388625
69389425
70390225
71391025
72391825
73392625
74393425
75394225
76395025
77395825
78396625
79397425
80398225
81399025
82399825
83400625
84401425
85402225
86403025
87403825
88404625
89405425
90406225
91407025
92407825
93408625
94409425
95410225
96411025
97411825
98412625
99413425
100414225
101415025
102415825
103416625
104417425
105418225
106419025
107419825
108420625
109421425
110422225
111423025
112423825
113424625
114425425
115426225
116427025
117427825
118428625
119429425
120430225
121431025
122431825
123432625
124433425
125434225
126435025
127435825
128436625
129437425
130438225
131439025
132439825
133440625
134441425
135442225
136443025
137443825
138444625
139445425
140446225
141447025
142447825
143448625
144449425
145450225
146451025
147451825
148452625
149453425
150454225
151455025
152455825
153456625
154457425
155458225
156459025
157459825
158460625
159461425
160462225
161463025
162463825
163464625
164465425
165466225
166467025
167467825
168468625
169469425
170470225
171471025
172471825
173472625
174473425
175474225
176475025
177475825
178476625
179477425
180478225
181479025
182479825
183480625
184481425
185482225
186483025
187483825
188484625
189485425
190486225
191487025
192487825
193488625
194489425
195490225
196491025
197491825
198492625
199493425
200494225
201495025
202495825
203496625
204497425
205498225
206499025
207499825
208500625
209501425
210502225
211503025
212503825
213504625
214505425
215506225
216507025
217507825
218508625
219509425
220510225
221511025
222511825
223512625
224513425
225514225
226515025
227515825
228516625
229517425
230518225
231519025
232519825
233520625
234521425
235522225
236523025
237523825
238524625
239525425
240526225
241527025
242527825
243528625
244529425
245530225
246531025
247531825
248532625
249533425
250534225
251535025
252535825
253536625
254537425
255538225
256539025
257539825
258540625
259541425
260542225
261543025
262543825
263544625
264545425
265546225
266547025
267547825
268548625
269549425
270550225
271551025
272551825
273552625
274553425
275554225
276555025
277555825
278556625
279557425
280558225
281559025
282559825
283560625
284561425
285562225
286563025
287563825
288564625
289565425
290566225
291567025
292567825
293568625
294569425
295570225
296571025
297571825
298572625
299573425
300574225
301575025
302575825
303576625
304577425
305578225
306579025
307579825
308580625
309581425
310582225
311583025
312583825
313584625
314585425
315586225
316587025
317587825
318588625
319589425
320590225
321591025
322591825
323592625
324593425
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))

eval0.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
31.6b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
31.6b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (exp.f64 x) 2)
4.1b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series1.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@-inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@0
(-.f64 (exp.f64 x) 2)
0.0ms
x
@-inf
(-.f64 (exp.f64 x) 2)

rewrite70.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1840×rational.json-simplify-35
1186×rational.json-simplify-2
1124×exponential.json-3
1124×rational.json-1
1124×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01036
16836
215136
333036
468036
5175636
6433636
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 x) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 x) -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (exp.f64 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 (*.f64 (exp.f64 x) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (*.f64 (+.f64 (exp.f64 x) -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (-.f64 (exp.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 x) -1) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 x) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (exp.f64 x) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 x) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 x) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (*.f64 (exp.f64 x) -2) (exp.f64 (+.f64 x x))) 1) (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 x) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 x) -2) 1)))))

simplify111.0ms (0.4%)

Algorithm
egg-herbie
Rules
1600×rational.json-simplify-46
1126×rational.json-simplify-1
1080×rational.json-simplify-35
1066×rational.json-simplify-2
716×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321394
12581394
26241394
317191394
431901394
541811394
657761394
Stop Event
node limit
Counts
66 → 85
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
-1
(-.f64 x 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x) 1)
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) 1)
(-.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2))
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)))
(*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(*.f64 1 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/2)
(*.f64 4 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(*.f64 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
(*.f64 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)) 2)
(/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(/.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 2)
(/.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(/.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)))) 64)
(pow.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(+.f64 (exp.f64 x) -2)
(+.f64 (+.f64 (exp.f64 x) -2) 0)
(+.f64 0 (+.f64 (exp.f64 x) -2))
(+.f64 -2 (exp.f64 x))
(+.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 (*.f64 (exp.f64 x) 1/2) 2))
(+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (*.f64 (+.f64 (exp.f64 x) -2) 1/2))
(+.f64 -3 (-.f64 (exp.f64 x) -1))
(+.f64 (-.f64 (exp.f64 x) -1) -3)
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 1/2))
(*.f64 (+.f64 (exp.f64 x) -2) 1)
(*.f64 1 (+.f64 (exp.f64 x) -2))
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)
(*.f64 4 (/.f64 (+.f64 (exp.f64 x) -2) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) -2)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) -2) 4))
(*.f64 (/.f64 (+.f64 (exp.f64 x) -2) 4) 4)
(*.f64 (+.f64 (/.f64 (*.f64 (exp.f64 x) -2) (exp.f64 (+.f64 x x))) 1) (exp.f64 x))
(/.f64 (+.f64 (exp.f64 x) -2) 1)
(/.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)))) 64)
(pow.f64 (+.f64 (exp.f64 x) -2) 1)
Outputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (+.f64 (pow.f64 x 2) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))) (pow.f64 x 2)))
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (+.f64 (pow.f64 x 2) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (pow.f64 x 2) (*.f64 1/360 (pow.f64 x 6)))))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
-1
(-.f64 x 1)
(+.f64 x -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x) 1)
(+.f64 x (-.f64 (*.f64 (pow.f64 x 2) 1/2) 1))
(+.f64 (*.f64 (pow.f64 x 2) 1/2) (+.f64 x -1))
(+.f64 -1 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)))
(+.f64 (+.f64 x -1) (*.f64 (pow.f64 x 2) 1/2))
(+.f64 x (+.f64 -1 (*.f64 (pow.f64 x 2) 1/2)))
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) 1)
(+.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) 1))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) -1))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) (+.f64 -1 (*.f64 1/6 (pow.f64 x 3))))
(+.f64 (+.f64 x -1) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 1/6 (pow.f64 x 3))))
(+.f64 (+.f64 x (*.f64 1/6 (pow.f64 x 3))) (+.f64 -1 (*.f64 (pow.f64 x 2) 1/2)))
(+.f64 x (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 -1 (*.f64 (pow.f64 x 2) 1/2))))
(-.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2))
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)))
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 1/2 (+.f64 (exp.f64 x) -2))))
(*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 1 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 4 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 1/4)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 1/2 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 (/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))))
(*.f64 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 (+.f64 (exp.f64 x) -2) 1/2)) 2)
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 x)) (*.f64 1/2 (+.f64 (exp.f64 x) -2))))
(/.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (*.f64 2 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8) 8)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)) 16)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) 32)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 8)))) 64)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(pow.f64 (+.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(+.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 x) 2))
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) -2)
(+.f64 (+.f64 (exp.f64 x) -2) 0)
(+.f64 (exp.f64 x) -2)
(+.f64 0 (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) -2)
(+.f64 -2 (exp.f64 x))
(+.f64 (exp.f64 x) -2)
(+.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 (*.f64 (exp.f64 x) 1/2) 2))
(+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (*.f64 (+.f64 (exp.f64 x) -2) 1/2))
(+.f64 (exp.f64 x) -2)
(+.f64 -3 (-.f64 (exp.f64 x) -1))
(+.f64 (exp.f64 x) -2)
(+.f64 (-.f64 (exp.f64 x) -1) -3)
(+.f64 (exp.f64 x) -2)
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 1/2))
(+.f64 (exp.f64 x) -2)
(*.f64 (+.f64 (exp.f64 x) -2) 1)
(+.f64 (exp.f64 x) -2)
(*.f64 1 (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)
(+.f64 (exp.f64 x) -2)
(*.f64 4 (/.f64 (+.f64 (exp.f64 x) -2) 4))
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 1/4)
(+.f64 (exp.f64 x) -2)
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) -2)))
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) 2)
(+.f64 (exp.f64 x) -2)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) -2) 4))
(+.f64 (exp.f64 x) -2)
(*.f64 (/.f64 (+.f64 (exp.f64 x) -2) 4) 4)
(+.f64 (exp.f64 x) -2)
(*.f64 (+.f64 (/.f64 (*.f64 (exp.f64 x) -2) (exp.f64 (+.f64 x x))) 1) (exp.f64 x))
(*.f64 (exp.f64 x) (+.f64 1 (*.f64 -2 (/.f64 (exp.f64 x) (exp.f64 (+.f64 x x))))))
(*.f64 (exp.f64 x) (+.f64 1 (*.f64 (exp.f64 x) (/.f64 -2 (exp.f64 (+.f64 x x))))))
(/.f64 (+.f64 (exp.f64 x) -2) 1)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 2)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 4)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) 8)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)) 16)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) 32)
(+.f64 (exp.f64 x) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 8)))) 64)
(+.f64 (exp.f64 x) -2)
(pow.f64 (+.f64 (exp.f64 x) -2) 1)
(+.f64 (exp.f64 x) -2)

eval104.0ms (0.3%)

Compiler

Compiled 1147 to 703 computations (38.7% saved)

prune12.0ms (0%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New82385
Fresh000
Picked011
Done000
Total82486
Error
0.0b
Counts
86 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(pow.f64 x 2)
0.5b
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
0.8b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
31.6b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 45 to 36 computations (20% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
0.1b
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 25 to 19 computations (24% saved)

series2.0ms (0%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 1/12 (pow.f64 x 4))
0.0ms
x
@inf
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
0.0ms
x
@inf
(*.f64 1/12 (pow.f64 x 4))
0.0ms
x
@-inf
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
0.0ms
x
@0
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))

rewrite447.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
2378×rational.json-simplify-2
1524×rational.json-simplify-35
1202×rational.json-simplify-1
1182×exponential.json-3
1182×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
16438
212438
323138
441838
594038
6247338
7434338
8513738
9624138
10699038
11699038
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/12 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/12 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 4) 1/24))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/12 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/12 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) 1/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) 2/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)))))

simplify686.0ms (2.2%)

Algorithm
egg-herbie
Rules
3476×rational.json-simplify-51
3298×rational.json-simplify-35
1264×rational.json-simplify-2
1146×rational.json-simplify-1
640×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
083814
1190814
2467814
31539814
43143814
53913814
64108814
74222814
84324814
94404814
104484814
114564814
124644814
134724814
144804814
154884814
164884814
176934814
187298814
197370814
207437814
217504814
227571814
237641814
247728814
257795814
267862814
277929814
287996814
Stop Event
node limit
Counts
40 → 41
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) 0)
(+.f64 0 (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 4) 1/24))
(-.f64 (*.f64 1/12 (pow.f64 x 4)) 0)
(/.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(/.f64 (*.f64 (pow.f64 x 4) 1/6) 2)
(/.f64 (*.f64 (pow.f64 x 4) 1/3) 4)
(/.f64 (*.f64 (pow.f64 x 4) 2/3) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))))) 256)
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 0)
(*.f64 4 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 1/8)
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(*.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
(/.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
Outputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) 0)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 0 (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 4) 1/24))
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (*.f64 1/12 (pow.f64 x 4)) 0)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) 1/6) 2)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) 1/3) 4)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) 2/3) 8)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)) 16)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))) 32)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))) 64)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3))))) 128)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 2/3)))))) 256)
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 1)
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 0)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 4 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 1/4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 1/8)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1/4) 4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/6)) 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))) 4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8) 8)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)) 16)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))) 32)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))) 64)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8))))) 128)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 8)))))) 256)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6)))
0.0b
(*.f64 1/360 (pow.f64 x 6))
0.1b
(*.f64 1/20160 (pow.f64 x 8))
0.1b
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 85 to 68 computations (20% saved)

series3.0ms (0%)

Counts
3 → 12
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 1/360 (pow.f64 x 6))
1.0ms
x
@0
(*.f64 1/20160 (pow.f64 x 8))
0.0ms
x
@0
(*.f64 1/360 (pow.f64 x 6))
0.0ms
x
@inf
(*.f64 1/20160 (pow.f64 x 8))
0.0ms
x
@inf
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6)))

rewrite180.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
2630×rational.json-simplify-2
1688×rational.json-simplify-35
1488×rational.json-simplify-1
1396×exponential.json-3
1396×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01775
110975
219475
337975
474775
5187475
6385075
7527675
8656875
9751675
10751675
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(*.f64 1/20160 (pow.f64 x 8))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/20160 (pow.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 8) 1/40320))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 8) 1/10080) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 8) 1/5040) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/360 (pow.f64 x 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/360 (pow.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 6) 1/720))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/360 (pow.f64 x 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/360 (pow.f64 x 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 6) 1/180) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 6) 1/90) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)))))

simplify433.0ms (1.4%)

Algorithm
egg-herbie
Rules
2878×rational.json-simplify-35
2630×rational.json-simplify-2
2606×rational.json-simplify-51
1610×rational.json-simplify-1
946×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131896
12651896
25741896
318221896
437091896
541081896
643641896
745211896
846691896
966091896
1070871896
1171001896
1271061896
1371061896
1473841896
1575191896
1676541896
1777891896
Stop Event
node limit
Counts
60 → 61
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)
(+.f64 0 (*.f64 1/20160 (pow.f64 x 8)))
(+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 8) 1/40320))
(-.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)
(/.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)
(/.f64 (*.f64 (pow.f64 x 8) 1/10080) 2)
(/.f64 (*.f64 (pow.f64 x 8) 1/5040) 4)
(/.f64 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))) 8)
(/.f64 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))))) 128)
(pow.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)
(+.f64 (*.f64 1/360 (pow.f64 x 6)) 0)
(+.f64 0 (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 6) 1/720))
(-.f64 (*.f64 1/360 (pow.f64 x 6)) 0)
(/.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(/.f64 (*.f64 (pow.f64 x 6) 1/180) 2)
(/.f64 (*.f64 (pow.f64 x 6) 1/90) 4)
(/.f64 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))) 8)
(/.f64 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))))) 128)
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(-.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 0)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4))
(*.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
(*.f64 1 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))
(*.f64 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4) 4)
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)
(/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 4)
(/.f64 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 8)
(/.f64 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))))) 128)
(pow.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
Outputs
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 0 (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 8) 1/40320))
(*.f64 1/20160 (pow.f64 x 8))
(-.f64 (*.f64 1/20160 (pow.f64 x 8)) 0)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 (pow.f64 x 8) 1/10080) 2)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 (pow.f64 x 8) 1/5040) 4)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))) 8)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))) 16)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))) 32)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8)))))) 64)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/20160 (pow.f64 x 8))))))) 128)
(*.f64 1/20160 (pow.f64 x 8))
(pow.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) 0)
(*.f64 1/360 (pow.f64 x 6))
(+.f64 0 (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 6) 1/720))
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (*.f64 1/360 (pow.f64 x 6)) 0)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 (pow.f64 x 6) 1/180) 2)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 (pow.f64 x 6) 1/90) 4)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))) 8)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))) 16)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))) 32)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6)))))) 64)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 1/360 (pow.f64 x 6))))))) 128)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 0)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 1/4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 (pow.f64 x 6) 1/180)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320))) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 (/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 4) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 (pow.f64 x 6) 1/180)))
(/.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(/.f64 (*.f64 4 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))) 8)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))) 16)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))) 32)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))))))) 64)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 8 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4))))))))) 128)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))
(pow.f64 (+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/20160 (pow.f64 x 8))))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

eval56.0ms (0.2%)

Compiler

Compiled 2361 to 1984 computations (16% saved)

prune15.0ms (0%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1151116
Fresh000
Picked011
Done033
Total1155120
Error
0.0b
Counts
120 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(pow.f64 x 2)
0.5b
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
0.8b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
31.6b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
32.5b
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 51 to 41 computations (19.6% saved)

localize15.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 12 to 9 computations (25% saved)

eval3.0ms (0%)

Compiler

Compiled 133 to 118 computations (11.3% saved)

prune4.0ms (0%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New14014
Fresh000
Picked011
Done044
Total14519
Error
0.0b
Counts
19 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(pow.f64 x 2)
0.5b
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
0.8b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
31.6b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
32.5b
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 51 to 41 computations (19.6% saved)

regimes9.0ms (0%)

Counts
5 → 1
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
Outputs
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
Calls

2 calls:

4.0ms
x
3.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
ErrorSegmentsBranch
0.5b1x
0.5b1(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 58 to 45 computations (22.4% saved)

regimes7.0ms (0%)

Counts
4 → 1
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
Outputs
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
Calls

2 calls:

3.0ms
x
2.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
ErrorSegmentsBranch
0.8b1x
0.8b1(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 37 to 28 computations (24.3% saved)

regimes7.0ms (0%)

Accuracy

Total -31.9b remaining (-3122.7%)

Threshold costs -31.9b (-3122.7%)

Counts
3 → 1
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(pow.f64 x 2)
Calls

2 calls:

3.0ms
x
3.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
ErrorSegmentsBranch
1.0b1x
1.0b1(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 28 to 21 computations (25% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02193
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 x 2)
Outputs
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 x 2)
Compiler

Compiled 36 to 29 computations (19.4% saved)

soundness143.0ms (0.5%)

Algorithm
egg-herbie
Rules
1600×rational.json-simplify-46
1126×rational.json-simplify-1
1080×rational.json-simplify-35
1066×rational.json-simplify-2
716×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321394
12581394
26241394
317191394
431901394
541811394
657761394
Stop Event
node limit
Compiler

Compiled 43 to 35 computations (18.6% saved)

end30.0ms (0.1%)

Compiler

Compiled 34 to 27 computations (20.6% saved)

Profiling

Loading profile data...