Details

Time bar (total: 40.5s)

analyze4.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%49.7%50.3%0%0%0%0
0%0%49.7%50.3%0%0%0%1
0%0%49.7%50.3%0%0%0%2
50%24.8%24.8%50.3%0%0%0%3
75%37.3%12.4%50.3%0%0%0%4
87.5%43.5%6.2%50.3%0%0%0%5
93.8%46.6%3.1%50.3%0%0%0%6
96.9%48.1%1.6%50.3%0%0%0%7
98.4%48.9%0.8%50.3%0%0%0%8
99.2%49.3%0.4%50.3%0%0%0%9
99.6%49.5%0.2%50.3%0%0%0%10
99.8%49.6%0.1%50.3%0%0%0%11
99.9%49.6%0%50.3%0%0%0%12
Compiler

Compiled 16 to 12 computations (25% saved)

sample27.4s (67.7%)

Results
23.9s4146×body2048valid
2.8s2116×body1024valid
299.0ms1049×body512valid
213.0ms717×body256valid
210.0ms228×body4096valid
Bogosity

preprocess4.6s (11.4%)

Algorithm
egg-herbie
Rules
21912×rational.json-simplify-41
3268×rational.json-simplify-1
1296×rational.json-simplify-35
646×trig.json-simplify-17
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11923
22823
34323
46823
512623
627023
768723
886823
987723
1088623
1189523
1290423
1391323
1492223
1593123
1694023
1794923
1895823
1996723
2097623
2198523
2299423
23100323
24101223
25102123
26103023
27103923
28104823
29105723
30106623
31107523
32108423
33109323
34110223
35111123
36112023
37112923
38113823
39114723
40115623
41116523
42117423
43308523
44309323
45310123
46310923
47311723
48312523
49313323
50314123
51314923
52315723
53316523
54317323
55318123
56318923
57319723
58320523
59415623
60416523
61417423
62418323
63419223
64420123
65421023
66421923
67422823
68423723
69424623
70425523
71426423
72427323
73428223
74429123
75430023
76430923
77431823
78432723
79433623
80434523
81435423
82436323
83437223
84438123
85439023
86439923
87440823
88441723
89442623
90443523
91444423
92445323
93446223
94447123
95448023
96448923
97449823
98450723
99451623
100452523
101453423
102454323
103455223
104456123
105457023
106457923
107458823
108459723
109460623
110461523
111462423
112463323
113464223
114465123
115466023
116466923
117467823
118468723
119469623
120470523
121471423
122472323
123473223
124474123
125475023
126475923
127476823
128477723
129478623
130479523
131480423
132481323
133482223
134483123
135484023
136484923
137485823
138486723
139487623
140488523
141489423
142490323
143491223
144492123
145493023
146493923
147494823
148495723
149496623
150497523
151498423
152499323
153500223
154501123
155502023
156502923
157503823
158504723
159505623
160506523
161507423
162508323
163509223
164510123
165511023
166511923
167512823
168513723
169514623
170515523
171516423
172517323
173518223
174519123
175520023
176520923
177521823
178522723
179523623
180524523
181525423
182526323
183527223
184528123
185529023
186529923
187530823
188531723
189532623
190533523
191534423
192535323
193536223
194537123
195538023
196538923
197539823
198540723
199541623
200542523
201543423
202544323
203545223
204546123
205547023
206547923
207548823
208549723
209550623
210551523
211552423
212553323
213554223
214555123
215556023
216556923
217557823
218558723
219559623
220560523
221561423
222562323
223563223
224564123
225565023
226565923
227566823
228567723
229568623
230569523
231570423
232571323
233572223
234573123
235574023
236574923
237575823
238576723
239577623
240578523
241579423
242580323
243581223
244582123
245583023
246583923
247584823
248585723
249586623
250587523
251588423
252589323
253590223
254591123
255592023
256592923
257593823
258594723
259595623
260596523
261597423
262598323
263599223
264600123
265601023
266601923
267602823
268603723
269604623
270605523
271606423
272607323
273608223
274609123
275610023
276610923
277611823
278612723
279613623
280614523
281615423
282616323
283617223
284618123
285619023
286619923
287620823
288621723
289622623
290623523
291624423
292625323
293626223
294627123
295628023
296628923
297629823
298630723
299631623
300632523
301633423
302634323
303635223
304636123
305637023
306637923
307638823
308639723
309640623
310641523
311642423
312643323
313644223
314645023
315645823
316646623
317647423
318648223
319649023
320649823
321650623
322651423
323652223
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify5.3s (13%)

Algorithm
egg-herbie
Rules
21912×rational.json-simplify-41
3268×rational.json-simplify-1
1296×rational.json-simplify-35
646×trig.json-simplify-17
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11923
22823
34323
46823
512623
627023
768723
886823
987723
1088623
1189523
1290423
1391323
1492223
1593123
1694023
1794923
1895823
1996723
2097623
2198523
2299423
23100323
24101223
25102123
26103023
27103923
28104823
29105723
30106623
31107523
32108423
33109323
34110223
35111123
36112023
37112923
38113823
39114723
40115623
41116523
42117423
43308523
44309323
45310123
46310923
47311723
48312523
49313323
50314123
51314923
52315723
53316523
54317323
55318123
56318923
57319723
58320523
59415623
60416523
61417423
62418323
63419223
64420123
65421023
66421923
67422823
68423723
69424623
70425523
71426423
72427323
73428223
74429123
75430023
76430923
77431823
78432723
79433623
80434523
81435423
82436323
83437223
84438123
85439023
86439923
87440823
88441723
89442623
90443523
91444423
92445323
93446223
94447123
95448023
96448923
97449823
98450723
99451623
100452523
101453423
102454323
103455223
104456123
105457023
106457923
107458823
108459723
109460623
110461523
111462423
112463323
113464223
114465123
115466023
116466923
117467823
118468723
119469623
120470523
121471423
122472323
123473223
124474123
125475023
126475923
127476823
128477723
129478623
130479523
131480423
132481323
133482223
134483123
135484023
136484923
137485823
138486723
139487623
140488523
141489423
142490323
143491223
144492123
145493023
146493923
147494823
148495723
149496623
150497523
151498423
152499323
153500223
154501123
155502023
156502923
157503823
158504723
159505623
160506523
161507423
162508323
163509223
164510123
165511023
166511923
167512823
168513723
169514623
170515523
171516423
172517323
173518223
174519123
175520023
176520923
177521823
178522723
179523623
180524523
181525423
182526323
183527223
184528123
185529023
186529923
187530823
188531723
189532623
190533523
191534423
192535323
193536223
194537123
195538023
196538923
197539823
198540723
199541623
200542523
201543423
202544323
203545223
204546123
205547023
206547923
207548823
208549723
209550623
210551523
211552423
212553323
213554223
214555123
215556023
216556923
217557823
218558723
219559623
220560523
221561423
222562323
223563223
224564123
225565023
226565923
227566823
228567723
229568623
230569523
231570423
232571323
233572223
234573123
235574023
236574923
237575823
238576723
239577623
240578523
241579423
242580323
243581223
244582123
245583023
246583923
247584823
248585723
249586623
250587523
251588423
252589323
253590223
254591123
255592023
256592923
257593823
258594723
259595623
260596523
261597423
262598323
263599223
264600123
265601023
266601923
267602823
268603723
269604623
270605523
271606423
272607323
273608223
274609123
275610023
276610923
277611823
278612723
279613623
280614523
281615423
282616323
283617223
284618123
285619023
286619923
287620823
288621723
289622623
290623523
291624423
292625323
293626223
294627123
295628023
296628923
297629823
298630723
299631623
300632523
301633423
302634323
303635223
304636123
305637023
306637923
307638823
308639723
309640623
310641523
311642423
312643323
313644223
314645023
315645823
316646623
317647423
318648223
319649023
320649823
321650623
322651423
323652223
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.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
60.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
60.1b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.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 1 (tan.f64 x))
2.3b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 20 to 12 computations (40% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
1.0ms
x
@-inf
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
1.0ms
x
@0
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
0.0ms
x
@inf
(/.f64 1 (tan.f64 x))
0.0ms
x
@-inf
(/.f64 1 (tan.f64 x))

rewrite83.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1616×rational.json-1
1616×rational.json-2
1616×rational.json-4
1616×rational.json-3
1052×rational.json-simplify-61
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
17234
218134
338734
483634
5242434
6664634
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(/.f64 1 (tan.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 1 (tan.f64 x))) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 1/2 x) (/.f64 1/2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (/.f64 2 x) (/.f64 2 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (/.f64 4 x) (/.f64 4 (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (tan.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (tan.f64 x)) (/.f64 1/2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (tan.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (tan.f64 x) 2) (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (tan.f64 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 1 (tan.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (tan.f64 x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (tan.f64 x) 1/2) (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 4 (tan.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (tan.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (tan.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (tan.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (tan.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (tan.f64 x)))))))

simplify107.0ms (0.3%)

Algorithm
egg-herbie
Rules
1582×rational.json-simplify-35
1194×rational.json-simplify-2
758×rational.json-simplify-1
620×rational.json-simplify-51
552×rational.json-simplify-46
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01431979
12811835
26041835
317011835
435081833
563931833
Stop Event
node limit
Counts
81 → 88
Calls
Call 1
Inputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/4725 (pow.f64 x 7)))))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x)))
(+.f64 (*.f64 -2/945 (pow.f64 x 5)) (+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x))))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)
(+.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 -1 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)))
(+.f64 (neg.f64 (/.f64 1 (tan.f64 x))) (/.f64 1 x))
(+.f64 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)) -1)
(+.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))
(*.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))
(*.f64 2 (-.f64 (/.f64 1/2 x) (/.f64 1/2 (tan.f64 x))))
(*.f64 4 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 1/2)
(*.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)
(*.f64 -1 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2))
(*.f64 1/2 (-.f64 (/.f64 2 x) (/.f64 2 (tan.f64 x))))
(*.f64 1/4 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))
(*.f64 1/4 (-.f64 (/.f64 4 x) (/.f64 4 (tan.f64 x))))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) 2)
(*.f64 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 2)
(/.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8) 8)
(/.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) 16)
(/.f64 (*.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))))) 4)
(pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(neg.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))
(+.f64 (/.f64 1 (tan.f64 x)) 0)
(+.f64 0 (/.f64 1 (tan.f64 x)))
(+.f64 (/.f64 1/2 (tan.f64 x)) (/.f64 1/2 (tan.f64 x)))
(-.f64 (/.f64 1 (tan.f64 x)) 0)
(*.f64 1 (/.f64 1 (tan.f64 x)))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 1 (tan.f64 x)) 1)
(*.f64 2 (/.f64 1/2 (tan.f64 x)))
(*.f64 (*.f64 (tan.f64 x) 2) (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 2 (tan.f64 x)) 1/2)
(*.f64 4 (/.f64 (/.f64 1 (tan.f64 x)) 4))
(*.f64 (/.f64 4 (tan.f64 x)) 1/4)
(*.f64 1/2 (/.f64 2 (tan.f64 x)))
(*.f64 (*.f64 (tan.f64 x) 1/2) (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 1/4 (/.f64 4 (tan.f64 x)))
(*.f64 (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (tan.f64 x))
(*.f64 (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 1/2))
(*.f64 (/.f64 1/2 (tan.f64 x)) 2)
(*.f64 (/.f64 (/.f64 1 (tan.f64 x)) 4) 4)
(*.f64 (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 2))
(pow.f64 (/.f64 1 (tan.f64 x)) 1)
(neg.f64 (/.f64 -1 (tan.f64 x)))
Outputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/4725 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/4725 (pow.f64 x 7)) (*.f64 2/945 (pow.f64 x 5)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7)))))
(+.f64 (*.f64 1/4725 (pow.f64 x 7)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 2/945 (pow.f64 x 5)))))
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(neg.f64 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x)))
(neg.f64 (/.f64 (cos.f64 x) (sin.f64 x)))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(+.f64 (neg.f64 (/.f64 (cos.f64 x) (sin.f64 x))) (/.f64 1 x))
(/.f64 1 x)
(+.f64 (*.f64 -1/3 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (*.f64 x -1/3))
(+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (*.f64 (pow.f64 x 3) -1/45))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 x -1/3) (*.f64 (pow.f64 x 3) -1/45)))
(+.f64 (*.f64 -2/945 (pow.f64 x 5)) (+.f64 (*.f64 -1/45 (pow.f64 x 3)) (+.f64 (*.f64 -1/3 x) (/.f64 1 x))))
(+.f64 (*.f64 (pow.f64 x 3) -1/45) (+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (*.f64 (pow.f64 x 5) -2/945)))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 x -1/3)) (+.f64 (*.f64 (pow.f64 x 5) -2/945) (*.f64 (pow.f64 x 3) -1/45)))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (*.f64 x -1/3) (*.f64 (pow.f64 x 3) -1/45)) (*.f64 (pow.f64 x 5) -2/945)))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 (pow.f64 x 5) -2/945) (+.f64 (*.f64 x -1/3) (*.f64 (pow.f64 x 3) -1/45))))
(+.f64 (/.f64 1 x) (+.f64 (*.f64 (pow.f64 x 3) -1/45) (+.f64 (*.f64 x -1/3) (*.f64 (pow.f64 x 5) -2/945))))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(/.f64 (cos.f64 x) (sin.f64 x))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 0)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 0 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 -1 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (neg.f64 (/.f64 1 (tan.f64 x))) (/.f64 1 x))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (-.f64 (/.f64 1 x) (+.f64 (/.f64 1 (tan.f64 x)) -1)) -1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 2 (-.f64 (/.f64 1/2 x) (/.f64 1/2 (tan.f64 x))))
(*.f64 4 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 1/2)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 -1 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 1/4)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 1/2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 1/2 (-.f64 (/.f64 2 x) (/.f64 2 (tan.f64 x))))
(*.f64 1/4 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 1/4 (-.f64 (/.f64 4 x) (/.f64 4 (tan.f64 x))))
(*.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1/2) 2)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(*.f64 (/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 2) 2)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) -1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 4) 4)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8) 8)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))) -2)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) 16)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (*.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)) 4) -4)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) 2)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8)) (*.f64 2 (*.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 8))) 32)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))) (neg.f64 (*.f64 2 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x))))) 4)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(pow.f64 (-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x))) 1)
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(neg.f64 (-.f64 (/.f64 1 (tan.f64 x)) (/.f64 1 x)))
(+.f64 (/.f64 1 x) (neg.f64 (/.f64 1 (tan.f64 x))))
(+.f64 (/.f64 1 x) (/.f64 -1 (tan.f64 x)))
(+.f64 (/.f64 1 (tan.f64 x)) 0)
(/.f64 1 (tan.f64 x))
(+.f64 0 (/.f64 1 (tan.f64 x)))
(/.f64 1 (tan.f64 x))
(+.f64 (/.f64 1/2 (tan.f64 x)) (/.f64 1/2 (tan.f64 x)))
(/.f64 (/.f64 (tan.f64 x) (tan.f64 x)) (tan.f64 x))
(/.f64 (tan.f64 x) (*.f64 (tan.f64 x) (tan.f64 x)))
(-.f64 (/.f64 1 (tan.f64 x)) 0)
(/.f64 1 (tan.f64 x))
(*.f64 1 (/.f64 1 (tan.f64 x)))
(/.f64 1 (tan.f64 x))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 1 (tan.f64 x)) 1)
(/.f64 1 (tan.f64 x))
(*.f64 2 (/.f64 1/2 (tan.f64 x)))
(*.f64 (*.f64 (tan.f64 x) 2) (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 2 (tan.f64 x)) 1/2)
(*.f64 1/2 (/.f64 2 (tan.f64 x)))
(*.f64 4 (/.f64 (/.f64 1 (tan.f64 x)) 4))
(/.f64 1 (tan.f64 x))
(*.f64 (/.f64 4 (tan.f64 x)) 1/4)
(*.f64 1/4 (/.f64 4 (tan.f64 x)))
(*.f64 1/2 (/.f64 2 (tan.f64 x)))
(*.f64 (*.f64 (tan.f64 x) 1/2) (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 1/4 (/.f64 4 (tan.f64 x)))
(*.f64 (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (tan.f64 x))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 1/2))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(*.f64 (/.f64 1/2 (tan.f64 x)) 2)
(*.f64 2 (/.f64 1/2 (tan.f64 x)))
(*.f64 (/.f64 (/.f64 1 (tan.f64 x)) 4) 4)
(/.f64 1 (tan.f64 x))
(*.f64 (/.f64 1/2 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (tan.f64 x) 2))
(*.f64 (tan.f64 x) (/.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
(pow.f64 (/.f64 1 (tan.f64 x)) 1)
(/.f64 1 (tan.f64 x))
(neg.f64 (/.f64 -1 (tan.f64 x)))
(/.f64 1 (tan.f64 x))

eval24.0ms (0.1%)

Compiler

Compiled 1149 to 810 computations (29.5% saved)

prune13.0ms (0%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New84488
Fresh000
Picked011
Done000
Total84589
Error
0.3b
Counts
89 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
60.1b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
0.3b
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.5b
(*.f64 1/3 x)
Compiler

Compiled 61 to 49 computations (19.7% saved)

localize2.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/3 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite263.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
2326×rational.json-simplify-35
2086×rational.json-simplify-2
1548×rational.json-simplify-1
1360×rational.json-1
1110×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1337
2787
31587
42787
55827
613817
726487
838437
945367
1056517
1164067
1264067
1367887
1473787
1579887
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(*.f64 1/3 x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/6) (*.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 8/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 x) 1)))))

simplify492.0ms (1.2%)

Algorithm
egg-herbie
Rules
3428×rational.json-simplify-51
2902×rational.json-simplify-2
2046×rational.json-simplify-35
1162×rational.json-simplify-1
748×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048112
1122112
2214112
3537112
41353112
52749112
63574112
73750112
83848112
93920112
103986112
114049112
124109112
134169112
144228112
154287112
164346112
174405112
184464112
194523112
207025112
217106112
227164112
237169112
247169112
Stop Event
node limit
Counts
16 → 17
Calls
Call 1
Inputs
(+.f64 (*.f64 1/3 x) 0)
(+.f64 0 (*.f64 1/3 x))
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6))
(-.f64 (*.f64 1/3 x) 0)
(/.f64 (*.f64 1/3 x) 1)
(/.f64 (*.f64 x 2/3) 2)
(/.f64 (*.f64 x 4/3) 4)
(/.f64 (*.f64 x 8/3) 8)
(/.f64 (*.f64 2 (*.f64 x 8/3)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 8/3))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) 512)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))))) 1024)
(pow.f64 (*.f64 1/3 x) 1)
Outputs
(+.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 1/3 x))
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 1/3 x) 1)
(*.f64 1/3 x)
(/.f64 (*.f64 x 2/3) 2)
(*.f64 1/3 x)
(/.f64 (*.f64 x 4/3) 4)
(*.f64 1/3 x)
(/.f64 (*.f64 x 8/3) 8)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 x 8/3)) 16)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 8/3))) 32)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))) 64)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))) 128)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))) 256)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) 512)
(*.f64 1/3 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8/3)))))))) 1024)
(*.f64 1/3 x)
(pow.f64 (*.f64 1/3 x) 1)
(*.f64 1/3 x)

localize109.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 25 to 19 computations (24% saved)

series2.0ms (0%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 1/45 (pow.f64 x 3))
0.0ms
x
@inf
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.0ms
x
@-inf
(*.f64 1/45 (pow.f64 x 3))
0.0ms
x
@inf
(*.f64 1/45 (pow.f64 x 3))
0.0ms
x
@-inf
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))

rewrite174.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
2418×rational.json-simplify-2
1504×rational.json-simplify-35
1458×rational.json-simplify-1
1186×exponential.json-3
1186×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
16538
212538
324338
445038
599838
6264738
7456838
8519738
9632238
10705938
11705938
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(*.f64 1/45 (pow.f64 x 3))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/45 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/45 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 (pow.f64 x 3) 1/90))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/45 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/45 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 2/45) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 4/45) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 8/45) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)))))

simplify370.0ms (0.9%)

Algorithm
egg-herbie
Rules
3870×rational.json-simplify-41
2678×rational.json-simplify-43
2202×rational.json-simplify-35
1134×rational.json-simplify-2
574×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088802
1197802
2364802
3807802
42036802
52859802
63149802
73318802
83450802
93561802
103666802
113768802
123869802
133970802
144071802
154071802
Stop Event
node limit
Counts
40 → 41
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/45 (pow.f64 x 3))
(*.f64 1/45 (pow.f64 x 3))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(+.f64 0 (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 (pow.f64 x 3) 1/90))
(-.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(/.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(/.f64 (*.f64 (pow.f64 x 3) 2/45) 2)
(/.f64 (*.f64 (pow.f64 x 3) 4/45) 4)
(/.f64 (*.f64 (pow.f64 x 3) 8/45) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))))) 256)
(pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(-.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 0)
(*.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
(*.f64 1 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)))
(*.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)))
(*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 1/8)
(*.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)))
(*.f64 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)) 2)
(*.f64 1/4 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))))
(*.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))
(/.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
(/.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 2)
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))))) 256)
(pow.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
Outputs
(*.f64 1/3 x)
(*.f64 1/45 (pow.f64 x 3))
(*.f64 1/45 (pow.f64 x 3))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(*.f64 1/45 (pow.f64 x 3))
(+.f64 0 (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/45 (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 (pow.f64 x 3) 1/90))
(*.f64 1/45 (pow.f64 x 3))
(-.f64 (*.f64 1/45 (pow.f64 x 3)) 0)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 2/45) 2)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 4/45) 4)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 8/45) 8)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)) 16)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))) 32)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))) 64)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45))))) 128)
(*.f64 1/45 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 8/45)))))) 256)
(*.f64 1/45 (pow.f64 x 3))
(pow.f64 (*.f64 1/45 (pow.f64 x 3)) 1)
(*.f64 1/45 (pow.f64 x 3))
(-.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 0)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 1 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 x 1/6)))
(*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/2)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 4 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 1/4)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 1/8)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 x 1/6)))
(*.f64 1/4 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 1/8) 4)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 2)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45))) 4)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4) 8)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)) 16)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))) 32)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))) 64)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4))))) 128)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x 2/3) (*.f64 (pow.f64 x 3) 2/45)) 4)))))) 256)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(pow.f64 (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x 1/3)) 1)
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))

localize20.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 52 to 41 computations (21.2% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 2/945 (pow.f64 x 5))
0.0ms
x
@inf
(*.f64 2/945 (pow.f64 x 5))
0.0ms
x
@-inf
(*.f64 2/945 (pow.f64 x 5))
0.0ms
x
@inf
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.0ms
x
@0
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))

rewrite224.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
2760×rational.json-simplify-2
1694×rational.json-simplify-35
1474×exponential.json-3
1474×rational.json-1
1474×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01556
19956
218556
336456
474256
5185356
6388256
7545556
8680056
9784356
10784356
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/945 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/945 (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 5) 1/945))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2/945 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/945 (pow.f64 x 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 4/945) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 8/945) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)))))

simplify388.0ms (1%)

Algorithm
egg-herbie
Rules
3768×rational.json-simplify-51
2514×rational.json-simplify-35
1344×rational.json-simplify-2
964×rational.json-simplify-1
596×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041749
12171749
24841749
315581749
434221749
542951749
645021749
745941749
846841749
947721749
1048591749
1149771749
1250611749
1351451749
1451451749
1575141749
1678601749
1779491749
Stop Event
node limit
Counts
51 → 53
Calls
Call 1
Inputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(+.f64 0 (*.f64 2/945 (pow.f64 x 5)))
(+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 5) 1/945))
(-.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(/.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(/.f64 (*.f64 (pow.f64 x 5) 4/945) 2)
(/.f64 (*.f64 (pow.f64 x 5) 8/945) 4)
(/.f64 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))))) 128)
(pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(-.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 0)
(*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
(*.f64 1 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))))
(*.f64 2 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))))
(*.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)))
(*.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))))
(*.f64 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)
(*.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)) 1/2)
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)) 1/2)
(*.f64 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))) 1/2)
(/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))))) 128)
(pow.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
Outputs
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/45 (pow.f64 x 3))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(*.f64 2/945 (pow.f64 x 5))
(+.f64 0 (*.f64 2/945 (pow.f64 x 5)))
(*.f64 2/945 (pow.f64 x 5))
(+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 5) 1/945))
(*.f64 2/945 (pow.f64 x 5))
(-.f64 (*.f64 2/945 (pow.f64 x 5)) 0)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 (pow.f64 x 5) 4/945) 2)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 (pow.f64 x 5) 8/945) 4)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8) 8)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)) 16)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))) 32)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8)))) 64)
(*.f64 2/945 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2/945 (pow.f64 x 5)) 8))))) 128)
(*.f64 2/945 (pow.f64 x 5))
(pow.f64 (*.f64 2/945 (pow.f64 x 5)) 1)
(*.f64 2/945 (pow.f64 x 5))
(-.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 0)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 1 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 2 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 x 1/6))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 5) 1/945))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 x 1/6))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90))))
(*.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 1/2)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 4 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 1/4)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x))) (*.f64 (pow.f64 x 3) 2/45)))
(*.f64 1/2 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))))
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))
(*.f64 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (+.f64 (*.f64 (pow.f64 x 3) 1/90) (*.f64 x 1/6))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 5) 1/945))))
(*.f64 2 (+.f64 (*.f64 x 1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/90) (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 x 1/6))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 3) 1/90))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4))
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 (/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(*.f64 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 x 1/3)) 2) (*.f64 (pow.f64 x 3) 2/45)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x))) (*.f64 (pow.f64 x 3) 2/45)))
(*.f64 (+.f64 (*.f64 x 2/3) (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90)))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 5) 1/945) (*.f64 (pow.f64 x 3) 1/90))) (*.f64 x 2/3)))
(/.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 2) 2)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 4) 4)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8) 8)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)) 16)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))) 32)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8)))) 64)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 8))))) 128)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))
(pow.f64 (+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 x 1/3) (*.f64 1/45 (pow.f64 x 3)))) 1)
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/3 x)))

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4725 (pow.f64 x 7))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 77 to 61 computations (20.8% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 1/4725 (pow.f64 x 7))
0.0ms
x
@inf
(*.f64 1/4725 (pow.f64 x 7))
0.0ms
x
@-inf
(*.f64 1/4725 (pow.f64 x 7))

rewrite268.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
3750×rational.json-simplify-35
1770×rational.json-simplify-2
1064×exponential.json-3
1064×rational.json-1
1064×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
29613
318613
432313
568513
6164313
7277013
8335013
9400013
10477513
11525613
12525613
13570813
14570813
15620913
16705513
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 1/4725 (pow.f64 x 7))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/4725 (pow.f64 x 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 7) 1/9450) (*.f64 (pow.f64 x 7) 1/9450))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) 2/4725) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) 4/4725) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) 8/4725) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))))) 4096)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)))))

simplify220.0ms (0.5%)

Algorithm
egg-herbie
Rules
3680×rational.json-simplify-43
2612×rational.json-simplify-51
2072×rational.json-simplify-35
1144×rational.json-simplify-1
1022×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056234
1144234
2252234
3630234
41551234
52701234
63531234
73779234
83932234
94053234
104163234
114272234
124388234
134496234
144496234
Stop Event
node limit
Counts
18 → 19
Calls
Call 1
Inputs
(+.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(+.f64 0 (*.f64 1/4725 (pow.f64 x 7)))
(+.f64 (*.f64 (pow.f64 x 7) 1/9450) (*.f64 (pow.f64 x 7) 1/9450))
(-.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(/.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(/.f64 (*.f64 (pow.f64 x 7) 2/4725) 2)
(/.f64 (*.f64 (pow.f64 x 7) 4/4725) 4)
(/.f64 (*.f64 (pow.f64 x 7) 8/4725) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))) 512)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))) 1024)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) 2048)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))))) 4096)
(pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
Outputs
(+.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(*.f64 1/4725 (pow.f64 x 7))
(+.f64 0 (*.f64 1/4725 (pow.f64 x 7)))
(*.f64 1/4725 (pow.f64 x 7))
(+.f64 (*.f64 (pow.f64 x 7) 1/9450) (*.f64 (pow.f64 x 7) 1/9450))
(*.f64 1/4725 (pow.f64 x 7))
(-.f64 (*.f64 1/4725 (pow.f64 x 7)) 0)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 (pow.f64 x 7) 2/4725) 2)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 (pow.f64 x 7) 4/4725) 4)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 (pow.f64 x 7) 8/4725) 8)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)) 16)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))) 32)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))) 64)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))) 128)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))) 256)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))) 512)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))) 1024)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) 2048)
(*.f64 1/4725 (pow.f64 x 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 8/4725)))))))))) 4096)
(*.f64 1/4725 (pow.f64 x 7))
(pow.f64 (*.f64 1/4725 (pow.f64 x 7)) 1)
(*.f64 1/4725 (pow.f64 x 7))

eval128.0ms (0.3%)

Compiler

Compiled 4203 to 3561 computations (15.3% saved)

prune27.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New2220222
Fresh000
Picked011
Done044
Total2225227
Error
0.3b
Counts
227 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
60.1b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
0.3b
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
0.3b
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
0.4b
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
0.5b
(*.f64 1/3 x)
Compiler

Compiled 61 to 49 computations (19.7% saved)

regimes8.0ms (0%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
Outputs
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
Calls

2 calls:

4.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 68 to 53 computations (22.1% saved)

regimes8.0ms (0%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Outputs
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
Calls

2 calls:

5.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 47 to 36 computations (23.4% saved)

regimes6.0ms (0%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
Outputs
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
Calls

2 calls:

3.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 32 to 24 computations (25% saved)

regimes5.0ms (0%)

Accuracy

Total -59.7b remaining (-11573.1%)

Threshold costs -59.7b (-11573.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 1/3 x)
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Outputs
(*.f64 1/3 x)
Calls

2 calls:

3.0ms
x
2.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Results
ErrorSegmentsBranch
0.5b1x
0.5b1(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022136
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/3 x)
Outputs
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 1/4725 (pow.f64 x 7))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 2/945 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3)))
(*.f64 1/3 x)
Compiler

Compiled 52 to 42 computations (19.2% saved)

soundness125.0ms (0.3%)

Algorithm
egg-herbie
Rules
1582×rational.json-simplify-35
1194×rational.json-simplify-2
758×rational.json-simplify-1
620×rational.json-simplify-51
552×rational.json-simplify-46
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01431979
12811835
26041835
317011835
435081833
563931833
Stop Event
node limit
Compiler

Compiled 106 to 86 computations (18.9% saved)

end40.0ms (0.1%)

Compiler

Compiled 49 to 39 computations (20.4% saved)

Profiling

Loading profile data...