Details

Time bar (total: 19.6s)

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

sample7.7s (39.2%)

Results
5.6s4202×body2048valid
1.3s2113×body1024valid
527.0ms874×body256valid
201.0ms1067×body512valid
1.0ms14×body256infinite
Bogosity

preprocess3.9s (19.7%)

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 (19.7%)

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
30.5b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (exp.f64 x) 2)
3.4b
(+.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)

rewrite99.0ms (0.5%)

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

simplify109.0ms (0.6%)

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)

eval92.0ms (0.5%)

Compiler

Compiled 1147 to 703 computations (38.7% saved)

prune16.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New79685
Fresh000
Picked011
Done000
Total79786
Error
0.0b
Counts
86 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(pow.f64 x 2)
0.2b
(+.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.2b
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
0.3b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
30.5b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
31.4b
(+.f64 -1 (exp.f64 (neg.f64 x)))
30.5b
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
Compiler

Compiled 153 to 123 computations (19.6% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 85 to 68 computations (20% saved)

series28.0ms (0.1%)

Counts
4 → 3
Calls

12 calls:

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

rewrite250.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
2194×rational.json-simplify-35
2178×rational.json-simplify-2
1458×rational.json-simplify-1
1356×rational.json-1
1064×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01670
110270
217970
333070
459570
5133570
6292070
7466570
8549870
9637470
10637470
11639270
12728170
13790670
Stop Event
node limit
Counts
4 → 63
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
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 2 (*.f64 (pow.f64 x 4) 1/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/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 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 4 (*.f64 (pow.f64 x 6) 1/180)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))))) 256)))) (#(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 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 2 (*.f64 (pow.f64 x 8) 1/5040)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))))) 256)))) (#(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 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.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)) (*.f64 1/20160 (pow.f64 x 8)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.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)) (*.f64 1/20160 (pow.f64 x 8)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)))))

simplify399.0ms (2%)

Algorithm
egg-herbie
Rules
3336×rational.json-simplify-43
2810×rational.json-simplify-35
2388×rational.json-simplify-49
1228×rational.json-simplify-2
1112×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01351248
13151248
26481248
317091248
431051248
538411248
641501248
743391248
844891248
946371248
1046371248
1146371248
1247851248
1349331248
1450811248
Stop Event
node limit
Counts
66 → 68
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/20160 (pow.f64 x 8))
(*.f64 1/20160 (pow.f64 x 8))
(+.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 2 (*.f64 (pow.f64 x 4) 1/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))))))) 256)
(pow.f64 (*.f64 1/12 (pow.f64 x 4)) 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 4 (*.f64 (pow.f64 x 6) 1/180)) 8)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))))) 256)
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(+.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 2 (*.f64 (pow.f64 x 8) 1/5040)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))))) 256)
(pow.f64 (*.f64 1/20160 (pow.f64 x 8)) 1)
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 0)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))) 1/4)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(*.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4) 4)
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))) 4)
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))) 8)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))))) 256)
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
Outputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/20160 (pow.f64 x 8))
(*.f64 1/20160 (pow.f64 x 8))
(+.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 2 (*.f64 (pow.f64 x 4) 1/3)) 8)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))) 16)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))) 32)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3))))) 64)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) 128)
(*.f64 1/12 (pow.f64 x 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) 1/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 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 4 (*.f64 (pow.f64 x 6) 1/180)) 8)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))) 16)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))) 32)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))) 64)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) 128)
(*.f64 1/360 (pow.f64 x 6))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (pow.f64 x 6) 1/180))))))) 256)
(*.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 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 2 (*.f64 (pow.f64 x 8) 1/5040)) 8)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))) 16)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))) 32)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))) 64)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) 128)
(*.f64 1/20160 (pow.f64 x 8))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 8) 1/5040))))))) 256)
(*.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 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 0)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))) 1/4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/40320) (*.f64 (pow.f64 x 4) 1/24)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 8) 1/40320)))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(*.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 4) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)) 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))) 8)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))) 16)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))) 32)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))) 64)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) 128)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 8) 1/10080) (*.f64 (pow.f64 x 4) 1/6)))))))) 256)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/20160 (pow.f64 x 8)))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.8b
(+.f64 -1 (exp.f64 (neg.f64 x)))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite71.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1698×rational.json-simplify-35
1160×rational.json-simplify-2
1000×exponential.json-3
1000×rational.json-1
1000×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15915
214415
331415
463815
5156815
6419315
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 -1 (exp.f64 (neg.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 x)) (-.f64 1 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (exp.f64 x)) (*.f64 1/2 (-.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (/.f64 2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 -1) (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 1 x)) (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (/.f64 2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))) (exp.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (/.f64 1/2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (*.f64 2 (neg.f64 (exp.f64 x)))) 1) (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (/.f64 (exp.f64 x) -1/2)) 1) (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 x)) (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (+.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (exp.f64 x))) (neg.f64 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)))))

simplify117.0ms (0.6%)

Algorithm
egg-herbie
Rules
1394×rational.json-simplify-41
1156×rational.json-simplify-35
1134×rational.json-simplify-2
1080×rational.json-simplify-53
608×rational.json-simplify-61
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0106825
1224825
2468825
31443823
42997823
55512823
66624823
Stop Event
node limit
Counts
49 → 55
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1 x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1 x)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1 x))))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(-.f64 (exp.f64 (neg.f64 x)) 1)
(-.f64 (exp.f64 (neg.f64 x)) 1)
(-.f64 (exp.f64 (neg.f64 x)) 1)
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(-.f64 (exp.f64 (neg.f64 x)) 1)
(-.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 0)
(*.f64 (exp.f64 (neg.f64 x)) (-.f64 1 (exp.f64 x)))
(*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
(*.f64 1 (+.f64 -1 (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))))
(*.f64 2 (*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (exp.f64 (neg.f64 x))))
(*.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 1/2)
(*.f64 (/.f64 2 (exp.f64 x)) (*.f64 1/2 (-.f64 1 (exp.f64 x))))
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 1/4)
(*.f64 1/2 (+.f64 -2 (/.f64 2 (exp.f64 x))))
(*.f64 (exp.f64 -1) (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))))
(*.f64 (exp.f64 (-.f64 1 x)) (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))))
(*.f64 (-.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))) 2)
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (/.f64 2 (exp.f64 x)))
(*.f64 (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))) (exp.f64 -1))
(*.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (-.f64 1 x)))
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (/.f64 1/2 (exp.f64 x)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 2 (neg.f64 (exp.f64 x)))) 1) (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 (*.f64 1/2 (/.f64 (exp.f64 x) -1/2)) 1) (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
(/.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)
(/.f64 (-.f64 1 (exp.f64 x)) (exp.f64 x))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)) 16)
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 1/2))
(/.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (+.f64 -1 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) 32)
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)))) 64)
(/.f64 (neg.f64 (-.f64 1 (exp.f64 x))) (neg.f64 (exp.f64 x)))
(pow.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1 x))
(+.f64 (neg.f64 x) (*.f64 1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1 x)))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (neg.f64 x) (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (neg.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/2 (pow.f64 x 2))))
(+.f64 (neg.f64 x) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (+.f64 (neg.f64 x) (*.f64 1/2 (pow.f64 x 2))) (*.f64 -1/6 (pow.f64 x 3)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1 x))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (+.f64 (neg.f64 x) (*.f64 1/24 (pow.f64 x 4))) (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (+.f64 (neg.f64 x) (*.f64 1/24 (pow.f64 x 4))) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (+.f64 (neg.f64 x) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 (neg.f64 x) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/24 (pow.f64 x 4)))))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (*.f64 -1 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 (neg.f64 x)) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 0)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 (neg.f64 x)) (-.f64 1 (exp.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 1 (+.f64 -1 (exp.f64 (neg.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 2 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 2 (*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (exp.f64 (neg.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 1/2)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (/.f64 2 (exp.f64 x)) (*.f64 1/2 (-.f64 1 (exp.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 1/4)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 1/2 (+.f64 -2 (/.f64 2 (exp.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 -1) (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 (-.f64 1 x)) (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (-.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 -1/2 (/.f64 1/2 (exp.f64 x))) 2)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (/.f64 2 (exp.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (exp.f64 (-.f64 1 x)) (-.f64 1 (exp.f64 x))) (exp.f64 -1))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (-.f64 1 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (/.f64 1/2 (exp.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 2 (neg.f64 (exp.f64 x)))) 1) (exp.f64 (neg.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 (*.f64 1/2 (/.f64 (exp.f64 x) -1/2)) 1) (exp.f64 (neg.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 -2 (/.f64 2 (exp.f64 x))) 2)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 4) 4)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (-.f64 1 (exp.f64 x)) (exp.f64 x))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8) 8)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)) 16)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 1/2))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (exp.f64 -1) (-.f64 1 (exp.f64 x))) (exp.f64 (+.f64 -1 x)))
(*.f64 (-.f64 1 (exp.f64 x)) (/.f64 (exp.f64 -1) (exp.f64 (+.f64 -1 x))))
(*.f64 (exp.f64 -1) (/.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) (exp.f64 -1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) 32)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 x))) (*.f64 (exp.f64 x) 2))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 8)))) 64)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 x))) (neg.f64 (exp.f64 x)))
(+.f64 -1 (exp.f64 (neg.f64 x)))
(pow.f64 (+.f64 -1 (exp.f64 (neg.f64 x))) 1)
(+.f64 -1 (exp.f64 (neg.f64 x)))

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)

series1.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(+.f64 (pow.f64 x 2) (*.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)))

rewrite184.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2386×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
01025
16425
212425
323125
441825
594225
6247625
7434725
8514125
9624525
10699425
11699425
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 0)))) (#(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 4 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))))))) (#(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 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)))))

simplify962.0ms (4.9%)

Algorithm
egg-herbie
Rules
3190×rational.json-simplify-51
2776×rational.json-simplify-2
1812×rational.json-simplify-35
1372×rational.json-simplify-49
1270×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060668
1126668
2319668
31097668
41983668
52944668
63445668
73517668
83570668
93609668
103648668
113687668
123726668
133765668
143804668
153843668
163882668
173921668
183960668
194894668
207223668
217289668
227324668
237359668
247392668
Stop Event
node limit
Counts
26 → 26
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 0)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 4 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4))
(*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
(*.f64 1 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 1/2)
(*.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 1/4)
(*.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 1/8)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2)) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))))
(*.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))
(/.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 2)
(/.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 4)
(/.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)))))) 256)
(pow.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
Outputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(-.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 0)
(+.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 4 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 1/4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 1/8)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))))
(*.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 1/4 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1/4) 4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/8 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (pow.f64 x 2))) 2)
(/.f64 (*.f64 4 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))) 4)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8) 8)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)) 16)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8))) 32)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 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 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 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 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 8)))))) 256)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))) 1)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 x) -2)
0.0b
(/.f64 2 (exp.f64 x))
2.2b
(+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2)))
Compiler

Compiled 45 to 29 computations (35.6% saved)

series6.0ms (0%)

Counts
3 → 28
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(/.f64 2 (exp.f64 x))
1.0ms
x
@inf
(+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2)))
1.0ms
x
@-inf
(+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2)))
0.0ms
x
@0
(+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2)))
0.0ms
x
@-inf
(/.f64 2 (exp.f64 x))

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1228×rational.json-1
1228×rational.json-2
1228×rational.json-3
1226×rational.json-4
1222×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01155
17555
216255
334855
471553
5194053
6518053
Stop Event
node limit
Counts
3 → 70
Calls
Call 1
Inputs
(+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2)))
(/.f64 2 (exp.f64 x))
(+.f64 (exp.f64 x) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (/.f64 1/2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) (/.f64 4 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) (/.f64 8 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (exp.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (exp.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 x) (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1/2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (exp.f64 x)) (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (exp.f64 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (exp.f64 x))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 8 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 8 (exp.f64 x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (exp.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)) (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 2 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (exp.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 x) -2) 0)))) (#(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 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 1/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 (*.f64 (+.f64 (exp.f64 x) -2) 8) 1/8)))) (#(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 1/4 (*.f64 (+.f64 (exp.f64 x) -2) 4))))) (#(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 (*.f64 (+.f64 (exp.f64 x) -2) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (exp.f64 x) -2) 8))))) (#(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 4 (*.f64 (+.f64 (exp.f64 x) -2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 x) -2) 1)))))

simplify165.0ms (0.8%)

Algorithm
egg-herbie
Rules
1146×rational.json-simplify-35
1030×rational.json-simplify-2
980×rational.json-simplify-19
820×rational.json-simplify-1
734×rational.json-simplify-46
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01612168
13342088
28402088
317962088
431782088
545102088
657682086
775392086
Stop Event
node limit
Counts
98 → 120
Calls
Call 1
Inputs
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 1/6 (pow.f64 x 4)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (*.f64 1/180 (pow.f64 x 6))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/10080 (pow.f64 x 8)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (*.f64 1/180 (pow.f64 x 6)))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
2
(+.f64 2 (*.f64 -2 x))
(+.f64 2 (+.f64 (*.f64 -2 x) (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 -2 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (pow.f64 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 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 0)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(*.f64 1 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))
(*.f64 4 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4))
(*.f64 4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (/.f64 1/2 (exp.f64 x))))
(*.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1/2)
(*.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) (/.f64 4 (exp.f64 x))))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))))
(*.f64 1/4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) (/.f64 8 (exp.f64 x))))
(*.f64 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))) 2)
(*.f64 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(/.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 2)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 4)
(/.f64 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8))) 32)
(pow.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(+.f64 (/.f64 2 (exp.f64 x)) 0)
(+.f64 0 (/.f64 2 (exp.f64 x)))
(+.f64 -1 (-.f64 1 (/.f64 -2 (exp.f64 x))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 x)))
(-.f64 (/.f64 2 (exp.f64 x)) 0)
(-.f64 0 (/.f64 -2 (exp.f64 x)))
(*.f64 2 (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 x) (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 2 (exp.f64 x)) 1)
(*.f64 1 (/.f64 2 (exp.f64 x)))
(*.f64 4 (/.f64 1/2 (exp.f64 x)))
(*.f64 (*.f64 2 (exp.f64 x)) (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 4 (exp.f64 x)) 1/2)
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 2 (/.f64 4 (exp.f64 x))) 1/4)
(*.f64 1/2 (/.f64 4 (exp.f64 x)))
(*.f64 (exp.f64 (neg.f64 x)) 2)
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)))
(*.f64 1/4 (*.f64 2 (/.f64 4 (exp.f64 x))))
(*.f64 1/4 (/.f64 8 (exp.f64 x)))
(*.f64 (/.f64 8 (exp.f64 x)) 1/4)
(*.f64 (/.f64 1/2 (exp.f64 x)) 4)
(*.f64 (/.f64 -2 (exp.f64 x)) -1)
(*.f64 (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/4))
(*.f64 (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/2))
(*.f64 (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)) (exp.f64 x))
(*.f64 (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 2 (exp.f64 x)))
(pow.f64 (/.f64 2 (exp.f64 x)) 1)
(neg.f64 (/.f64 -2 (exp.f64 x)))
(-.f64 (+.f64 (exp.f64 x) -2) 0)
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) -2) 1/2))
(*.f64 (+.f64 (exp.f64 x) -2) 1)
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)
(*.f64 1 (+.f64 (exp.f64 x) -2))
(*.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 1/4))
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 1/4)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) 1/8)
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) -2)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) -2) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) 2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (exp.f64 x) -2) 8))
(/.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 4 (*.f64 (+.f64 (exp.f64 x) -2) 4)) 16)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 4))) 32)
(pow.f64 (+.f64 (exp.f64 x) -2) 1)
Outputs
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 1/6 (pow.f64 x 4)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (*.f64 1/180 (pow.f64 x 6))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/10080 (pow.f64 x 8)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (*.f64 1/180 (pow.f64 x 6)))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (+.f64 (*.f64 1/180 (pow.f64 x 6)) (*.f64 1/10080 (pow.f64 x 8)))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/180 (pow.f64 x 6)) (+.f64 (*.f64 1/10080 (pow.f64 x 8)) (*.f64 1/6 (pow.f64 x 4)))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/180 (pow.f64 x 6)) (+.f64 (*.f64 1/6 (pow.f64 x 4)) (*.f64 1/10080 (pow.f64 x 8)))))
(+.f64 (*.f64 1/6 (pow.f64 x 4)) (+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 1/180 (pow.f64 x 6)) (*.f64 1/10080 (pow.f64 x 8)))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(+.f64 (*.f64 2 (/.f64 1 (exp.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(+.f64 (*.f64 2 (exp.f64 (neg.f64 x))) (*.f64 2 (-.f64 (exp.f64 x) 2)))
(*.f64 2 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
2
(+.f64 2 (*.f64 -2 x))
(+.f64 2 (*.f64 x -2))
(+.f64 2 (+.f64 (*.f64 -2 x) (pow.f64 x 2)))
(+.f64 2 (+.f64 (pow.f64 x 2) (*.f64 x -2)))
(+.f64 2 (+.f64 (*.f64 -2 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (pow.f64 x 2) (*.f64 x -2))))
(+.f64 2 (+.f64 (pow.f64 x 2) (+.f64 (*.f64 x -2) (*.f64 -1/3 (pow.f64 x 3)))))
-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 -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 -1 (+.f64 x (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 (pow.f64 x 2) 1/2))))
(+.f64 x (+.f64 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 1/6 (pow.f64 x 3))) -1))
(+.f64 (*.f64 (pow.f64 x 2) 1/2) (+.f64 (+.f64 x -1) (*.f64 1/6 (pow.f64 x 3))))
(+.f64 x (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 1/6 (pow.f64 x 3)))))
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (exp.f64 x) 2)
(-.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 0)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 1 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 4 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4))
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/2) (/.f64 1/2 (exp.f64 x))))
(*.f64 4 (+.f64 (*.f64 1/2 (+.f64 (exp.f64 x) -2)) (/.f64 1/2 (exp.f64 x))))
(*.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1/2)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 1/4)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 1/2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))))
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) (/.f64 4 (exp.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (exp.f64 x) -2)) (/.f64 4 (exp.f64 x))))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))))
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 1/4 (+.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) (/.f64 8 (exp.f64 x))))
(*.f64 1/4 (+.f64 (*.f64 8 (+.f64 (exp.f64 x) -2)) (/.f64 8 (exp.f64 x))))
(*.f64 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))) 2)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 4) 4)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 2)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))) 4)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8) 8)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8)) 16)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 8))) 32)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(pow.f64 (*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))) 1)
(*.f64 2 (+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (exp.f64 x) (+.f64 -2 (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 2 (exp.f64 x)) 0)
(/.f64 2 (exp.f64 x))
(+.f64 0 (/.f64 2 (exp.f64 x)))
(/.f64 2 (exp.f64 x))
(+.f64 -1 (-.f64 1 (/.f64 -2 (exp.f64 x))))
(/.f64 2 (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 x)))
(neg.f64 (*.f64 2 (/.f64 -1 (exp.f64 x))))
(-.f64 (/.f64 2 (exp.f64 x)) 0)
(/.f64 2 (exp.f64 x))
(-.f64 0 (/.f64 -2 (exp.f64 x)))
(/.f64 2 (exp.f64 x))
(*.f64 2 (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 x) (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)))
(*.f64 (exp.f64 x) (/.f64 2 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (exp.f64 x) (/.f64 2 (exp.f64 (+.f64 x x))))
(*.f64 2 (exp.f64 (+.f64 x (neg.f64 (+.f64 x x)))))
(*.f64 2 (/.f64 (exp.f64 x) (exp.f64 (+.f64 x x))))
(*.f64 (/.f64 2 (exp.f64 x)) 1)
(/.f64 2 (exp.f64 x))
(*.f64 1 (/.f64 2 (exp.f64 x)))
(/.f64 2 (exp.f64 x))
(*.f64 4 (/.f64 1/2 (exp.f64 x)))
(*.f64 (*.f64 2 (exp.f64 x)) (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (exp.f64 x) (/.f64 2 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (exp.f64 x) (/.f64 2 (exp.f64 (+.f64 x x))))
(*.f64 2 (exp.f64 (+.f64 x (neg.f64 (+.f64 x x)))))
(*.f64 2 (/.f64 (exp.f64 x) (exp.f64 (+.f64 x x))))
(*.f64 (/.f64 4 (exp.f64 x)) 1/2)
(*.f64 1/2 (/.f64 4 (exp.f64 x)))
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 4 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 4 (exp.f64 (+.f64 x x))))
(*.f64 (*.f64 2 (/.f64 4 (exp.f64 x))) 1/4)
(*.f64 1/2 (/.f64 4 (exp.f64 x)))
(*.f64 1/2 (/.f64 4 (exp.f64 x)))
(*.f64 (exp.f64 (neg.f64 x)) 2)
(*.f64 2 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 8 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 8 (exp.f64 (+.f64 x x))))
(*.f64 (exp.f64 x) (*.f64 1/4 (/.f64 8 (exp.f64 (+.f64 x x)))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (exp.f64 x))))
(*.f64 1/2 (/.f64 4 (exp.f64 x)))
(*.f64 1/4 (/.f64 8 (exp.f64 x)))
(*.f64 (/.f64 8 (exp.f64 x)) 1/4)
(*.f64 1/4 (/.f64 8 (exp.f64 x)))
(*.f64 (/.f64 1/2 (exp.f64 x)) 4)
(*.f64 4 (/.f64 1/2 (exp.f64 x)))
(*.f64 (/.f64 -2 (exp.f64 x)) -1)
(/.f64 2 (exp.f64 x))
(*.f64 (/.f64 (/.f64 8 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/4))
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 8 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (*.f64 (exp.f64 x) 1/4) (/.f64 8 (exp.f64 (+.f64 x x))))
(*.f64 (exp.f64 x) (*.f64 1/4 (/.f64 8 (exp.f64 (+.f64 x x)))))
(*.f64 (/.f64 (/.f64 4 (exp.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 x) 1/2))
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 4 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 4 (exp.f64 (+.f64 x x))))
(*.f64 (/.f64 (/.f64 2 (exp.f64 x)) (exp.f64 x)) (exp.f64 x))
(*.f64 (exp.f64 x) (/.f64 2 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (exp.f64 x) (/.f64 2 (exp.f64 (+.f64 x x))))
(*.f64 2 (exp.f64 (+.f64 x (neg.f64 (+.f64 x x)))))
(*.f64 2 (/.f64 (exp.f64 x) (exp.f64 (+.f64 x x))))
(*.f64 (/.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 2 (exp.f64 x)))
(*.f64 (exp.f64 x) (/.f64 2 (*.f64 (exp.f64 x) (exp.f64 x))))
(*.f64 (exp.f64 x) (/.f64 2 (exp.f64 (+.f64 x x))))
(*.f64 2 (exp.f64 (+.f64 x (neg.f64 (+.f64 x x)))))
(*.f64 2 (/.f64 (exp.f64 x) (exp.f64 (+.f64 x x))))
(pow.f64 (/.f64 2 (exp.f64 x)) 1)
(/.f64 2 (exp.f64 x))
(neg.f64 (/.f64 -2 (exp.f64 x)))
(/.f64 2 (exp.f64 x))
(-.f64 (+.f64 (exp.f64 x) -2) 0)
(+.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 (*.f64 2 (+.f64 (exp.f64 x) -2)) 1/2)
(+.f64 (exp.f64 x) -2)
(*.f64 1 (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) -2)
(*.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 1/4))
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 4) 1/4)
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 8) 1/8)
(+.f64 (exp.f64 x) -2)
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) -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) 1/2) 2)
(+.f64 (exp.f64 x) -2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) -2) 1/4) 4)
(+.f64 (exp.f64 x) -2)
(*.f64 1/8 (*.f64 (+.f64 (exp.f64 x) -2) 8))
(+.f64 (exp.f64 x) -2)
(/.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 4 (*.f64 (+.f64 (exp.f64 x) -2) 4)) 16)
(+.f64 (exp.f64 x) -2)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (exp.f64 x) -2) 4))) 32)
(+.f64 (exp.f64 x) -2)
(pow.f64 (+.f64 (exp.f64 x) -2) 1)
(+.f64 (exp.f64 x) -2)

eval98.0ms (0.5%)

Compiler

Compiled 4980 to 3866 computations (22.4% saved)

prune47.0ms (0.2%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New2821283
Fresh011
Picked011
Done055
Total2828290
Error
0.0b
Counts
290 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(pow.f64 x 2)
0.2b
(+.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.2b
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
0.3b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
30.5b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
31.4b
(+.f64 -1 (exp.f64 (neg.f64 x)))
30.5b
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
60.2b
(neg.f64 x)
Compiler

Compiled 84 to 67 computations (20.2% saved)

localize2.0ms (0%)

Compiler

Compiled 4 to 2 computations (50% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 52 to 41 computations (21.2% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite175.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2710×rational.json-simplify-2
1702×rational.json-simplify-35
1462×exponential.json-3
1462×rational.json-1
1462×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01574
19874
218474
335274
470874
5178074
6376174
7525874
8661374
9762774
10762774
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 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)) (*.f64 1/360 (pow.f64 x 6))) 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)) (*.f64 1/360 (pow.f64 x 6))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (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)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (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)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (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)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (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)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)))))

simplify909.0ms (4.6%)

Algorithm
egg-herbie
Rules
3280×rational.json-simplify-51
3002×rational.json-simplify-2
2790×rational.json-simplify-35
1108×rational.json-simplify-1
532×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01132786
12272744
24472744
315312744
432552744
539952744
640702744
741352744
842002744
942652744
1043262744
1144102744
1244692744
1345282744
1445872744
1546462744
1647052744
1747642744
1848232744
1948232744
2065002744
2165792744
2265932744
2366492744
2466972744
2567452744
2667932744
2768412744
2868892744
2969372744
3069852744
3179292744
3279772744
Stop Event
node limit
Counts
74 → 63
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 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.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 1/12 (pow.f64 x 4)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.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 1/12 (pow.f64 x 4)))
(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 1/12 (pow.f64 x 4))))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.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 1/12 (pow.f64 x 4))))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.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 1/12 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 0)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 1/4)
(*.f64 1/2 (*.f64 4 (+.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 (pow.f64 x 4) 1/6)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2) 4)
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)) 1/2)
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8))))) 128)
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 0)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(*.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4) 4)
(*.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))) 1/2)
(*.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))) 1/2)
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8))))) 128)
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 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 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 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(+.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 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 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(+.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 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 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 1/360 (pow.f64 x 6))
(+.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 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 1/360 (pow.f64 x 6))
(+.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 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 0)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 1/4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.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 (pow.f64 x 4) 1/6)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2) 4)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 (pow.f64 x 6) 1/180)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 6) 1/180) (*.f64 (pow.f64 x 4) 1/6)))
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) 2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)) 2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8) 8)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8)) 16)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8))) 32)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8)))) 64)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 8))))) 128)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6)))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 0)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 2) 1/2))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2))))
(*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 1 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 1/4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 6) 1/720))) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/24) (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 2) 1/2))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 4) 1/24))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (+.f64 (*.f64 (pow.f64 x 4) 1/24) (*.f64 (pow.f64 x 2) 1/2))))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 (/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 4) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(*.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) 1/6) (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) (*.f64 (pow.f64 x 4) 1/6)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))
(*.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24))) (*.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 6) 1/720) (*.f64 (pow.f64 x 4) 1/24)))))
(/.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 4 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))) 4)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8) 8)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8)) 16)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8))) 32)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8)))) 64)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 8))))) 128)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))
(pow.f64 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2))) 1)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (pow.f64 x 2)))

eval38.0ms (0.2%)

Compiler

Compiled 1753 to 1479 computations (15.6% saved)

prune14.0ms (0.1%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New92092
Fresh000
Picked011
Done077
Total928100
Error
0.0b
Counts
100 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(pow.f64 x 2)
0.2b
(+.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.2b
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
0.3b
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
30.5b
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
31.4b
(+.f64 -1 (exp.f64 (neg.f64 x)))
30.5b
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
60.2b
(neg.f64 x)
Compiler

Compiled 84 to 67 computations (20.2% saved)

regimes12.0ms (0.1%)

Counts
8 → 1
Calls
Call 1
Inputs
(neg.f64 x)
(pow.f64 x 2)
(+.f64 -1 (exp.f64 (neg.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 (+.f64 (/.f64 2 (exp.f64 x)) (*.f64 2 (+.f64 (exp.f64 x) -2))) 1/2)
(+.f64 (pow.f64 x 2) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(+.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:

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

Compiled 88 to 64 computations (27.3% saved)

regimes11.0ms (0.1%)

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

2 calls:

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

Compiled 67 to 47 computations (29.9% saved)

regimes8.0ms (0%)

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

2 calls:

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

Compiled 52 to 35 computations (32.7% saved)

regimes7.0ms (0%)

Accuracy

Total -59.9b remaining (-9456.8%)

Threshold costs -59.9b (-9456.8%)

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

2 calls:

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

Compiled 30 to 19 computations (36.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025141
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 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 x 2)
(neg.f64 x)
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 (*.f64 1/12 (pow.f64 x 4)) (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 x 2)
(neg.f64 x)
Compiler

Compiled 55 to 44 computations (20% saved)

soundness137.0ms (0.7%)

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)

end41.0ms (0.2%)

Compiler

Compiled 51 to 40 computations (21.6% saved)

Profiling

Loading profile data...