Details

Time bar (total: 16.1s)

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

sample6.2s (38.6%)

Results
3.9s4013×body1024valid
1.7s2089×body512valid
331.0ms1739×body256valid
285.0ms415×body2048valid
1.0ms14×body256infinite
Bogosity

preprocess2.0s (12.3%)

Algorithm
egg-herbie
Rules
15824×rational.json-simplify-41
2168×rational.json-simplify-1
980×rational.json-simplify-35
rational.json-simplify-12
rational.json-simplify-10
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12125
23325
34525
46525
510725
621925
756425
871825
972825
1073825
1174825
1275825
1376825
1477825
1578825
1679825
1780825
1881825
1982825
2083825
2184825
2285825
23248525
24249525
25250525
26251525
27252525
28253525
29331625
30332625
31333625
32334625
33335625
34336625
35337625
36338625
37339625
38340625
39341625
40342625
41343625
42344625
43345625
44346625
45347625
46348625
47349625
48350625
49351625
50352625
51353625
52354625
53355625
54356625
55357625
56358625
57359625
58360625
59361625
60362625
61363625
62364625
63365625
64366625
65367625
66368625
67369625
68370625
69371625
70372625
71373625
72374625
73375625
74376625
75377625
76378625
77379625
78380625
79381625
80382625
81383625
82384625
83385625
84386625
85387625
86388625
87389625
88390625
89391625
90392625
91393625
92394625
93395625
94396625
95397625
96398625
97399625
98400625
99401625
100402625
101403625
102404625
103405625
104406625
105407625
106408625
107409625
108410625
109411625
110412625
111413625
112414625
113415625
114416625
115417625
116418625
117419625
118420625
119421625
120422625
121423625
122424625
123425625
124426625
125427625
126428625
127429625
128430625
129431625
130432625
131433625
132434625
133435625
134436625
135437625
136438625
137439625
138440625
139441625
140442625
141443625
142444625
143445625
144446625
145447625
146448625
147449625
148450625
149451625
150452625
151453625
152454625
153455625
154456625
155457625
156458625
157459625
158460625
159461625
160462625
161463625
162464625
163465625
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Compiler

Compiled 10 to 8 computations (20% saved)

simplify2.0s (12.3%)

Algorithm
egg-herbie
Rules
15824×rational.json-simplify-41
2168×rational.json-simplify-1
980×rational.json-simplify-35
rational.json-simplify-12
rational.json-simplify-10
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12125
23325
34525
46525
510725
621925
756425
871825
972825
1073825
1174825
1275825
1376825
1477825
1578825
1679825
1780825
1881825
1982825
2083825
2184825
2285825
23248525
24249525
25250525
26251525
27252525
28253525
29331625
30332625
31333625
32334625
33335625
34336625
35337625
36338625
37339625
38340625
39341625
40342625
41343625
42344625
43345625
44346625
45347625
46348625
47349625
48350625
49351625
50352625
51353625
52354625
53355625
54356625
55357625
56358625
57359625
58360625
59361625
60362625
61363625
62364625
63365625
64366625
65367625
66368625
67369625
68370625
69371625
70372625
71373625
72374625
73375625
74376625
75377625
76378625
77379625
78380625
79381625
80382625
81383625
82384625
83385625
84386625
85387625
86388625
87389625
88390625
89391625
90392625
91393625
92394625
93395625
94396625
95397625
96398625
97399625
98400625
99401625
100402625
101403625
102404625
103405625
104406625
105407625
106408625
107409625
108410625
109411625
110412625
111413625
112414625
113415625
114416625
115417625
116418625
117419625
118420625
119421625
120422625
121423625
122424625
123425625
124426625
125427625
126428625
127429625
128430625
129431625
130432625
131433625
132434625
133435625
134436625
135437625
136438625
137439625
138440625
139441625
140442625
141443625
142444625
143445625
144446625
145447625
146448625
147449625
148450625
149451625
150452625
151453625
152454625
153455625
154456625
155457625
156458625
157459625
158460625
159461625
160462625
161463625
162464625
163465625
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)

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

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.7b
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 24 to 8 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

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

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1764×rational.json-simplify-35
1310×exponential.json-3
1310×rational.json-1
1310×rational.json-2
1310×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15519
213719
331619
464019
5162819
6445719
Stop Event
node limit
Counts
1 → 46
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (-.f64 -1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))) (#(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 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 x) -1) (-.f64 1 (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (exp.f64 (neg.f64 x))) (-.f64 1 (neg.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 (exp.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))))))

simplify123.0ms (0.8%)

Algorithm
egg-herbie
Rules
1122×rational.json-simplify-2
966×rational.json-simplify-41
944×rational.json-simplify-54
638×rational.json-simplify-42
520×rational.json-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01251202
12441202
25101202
312781202
434211202
550051202
668041202
Stop Event
node limit
Counts
54 → 63
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x)))
(+.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)
(+.f64 0 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 -1 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))))
(+.f64 -1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))
(+.f64 -2 (-.f64 1 (-.f64 -1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(+.f64 (/.f64 -1 (exp.f64 x)) (exp.f64 x))
(+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1)
(+.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(+.f64 (+.f64 (exp.f64 x) -1) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 (-.f64 -1 (exp.f64 (neg.f64 x))) (-.f64 1 (neg.f64 (exp.f64 x))))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(*.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 -1 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(*.f64 2 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 1/2)
(*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)
(*.f64 4 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2))
(*.f64 1/2 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)
(*.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(*.f64 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
(*.f64 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))) 2)
(*.f64 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))) 1/2)
(*.f64 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 (exp.f64 x) 1/2))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 2)
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))) -2)
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4)) -8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)))) 64)
(pow.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(neg.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 2 x)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 2 x) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/2520 (pow.f64 x 7)))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x)))
(+.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 0 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 -1 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 -1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 -2 (-.f64 1 (-.f64 -1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (/.f64 -1 (exp.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x)))
(+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) -1) (-.f64 1 (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (-.f64 -1 (exp.f64 (neg.f64 x))) (-.f64 1 (neg.f64 (exp.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 -1 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 2 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 1/2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 4 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1/2 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))))
(*.f64 1/2 (-.f64 (*.f64 2 (exp.f64 x)) (/.f64 2 (exp.f64 x))))
(*.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))
(*.f64 1/2 (*.f64 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (exp.f64 x)))
(*.f64 (exp.f64 x) (*.f64 1/2 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(*.f64 1/2 (*.f64 (exp.f64 x) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))) 2)
(*.f64 2 (-.f64 (*.f64 (exp.f64 x) 1/2) (/.f64 1/2 (exp.f64 x))))
(*.f64 (-.f64 (*.f64 (exp.f64 x) 2) (/.f64 2 (exp.f64 x))) 1/2)
(*.f64 1/2 (-.f64 (*.f64 2 (exp.f64 x)) (/.f64 2 (exp.f64 x))))
(*.f64 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 (exp.f64 x) 1/2))
(*.f64 (*.f64 (exp.f64 x) 1/2) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))
(*.f64 1/2 (*.f64 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (exp.f64 x)))
(*.f64 (exp.f64 x) (*.f64 1/2 (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(*.f64 1/2 (*.f64 (exp.f64 x) (-.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) 2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) -1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))) -2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4) -4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) 32)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 4)) -8)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)))) 64)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(pow.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(neg.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

eval14.0ms (0.1%)

Compiler

Compiled 857 to 533 computations (37.8% saved)

prune15.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New57663
Fresh000
Picked011
Done000
Total57764
Error
0.0b
Counts
64 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
59.1b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
0.2b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
59.1b
(/.f64 (+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1) 2)
0.2b
(/.f64 (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))) 2)
0.3b
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
59.1b
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 2)
0.7b
(/.f64 (*.f64 2 x) 2)
Compiler

Compiled 179 to 149 computations (16.8% saved)

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
0.1b
(*.f64 1/2520 (pow.f64 x 7))
0.1b
(*.f64 1/60 (pow.f64 x 5))
0.2b
(*.f64 1/3 (pow.f64 x 3))
Compiler

Compiled 100 to 80 computations (20% saved)

series4.0ms (0%)

Counts
4 → 12
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 1/2520 (pow.f64 x 7))
1.0ms
x
@0
(*.f64 1/2520 (pow.f64 x 7))
0.0ms
x
@0
(*.f64 1/3 (pow.f64 x 3))
0.0ms
x
@0
(*.f64 1/60 (pow.f64 x 5))
0.0ms
x
@inf
(*.f64 1/3 (pow.f64 x 3))

rewrite240.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
2912×rational.json-simplify-35
2240×rational.json-simplify-2
1320×rational.json-simplify-1
1164×exponential.json-3
1164×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020100
1131100
2239100
3494100
41112100
52476100
63808100
74837100
85967100
96662100
106662100
117762100
127772100
Stop Event
node limit
Counts
4 → 63
Calls
Call 1
Inputs
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/60 (pow.f64 x 5))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/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 3) 4/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/60 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/60 (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 5) 1/120))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/60 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/60 (pow.f64 x 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 1/30) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 1/15) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/60 (pow.f64 x 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2520 (pow.f64 x 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 7) 1/5040) (*.f64 (pow.f64 x 7) 1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) 1/1260) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) 1/630) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)))))

simplify383.0ms (2.4%)

Algorithm
egg-herbie
Rules
4958×rational.json-simplify-41
2916×rational.json-simplify-35
2760×rational.json-simplify-2
2462×rational.json-simplify-51
1156×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01472271
13442271
27822271
322542271
432382271
535762271
638972271
740622271
842062271
960462271
1062062271
1162142271
1262142271
1362142271
1473612271
1574982271
1676322271
Stop Event
node limit
Counts
75 → 86
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) 0)
(+.f64 0 (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))
(-.f64 (*.f64 1/3 (pow.f64 x 3)) 0)
(/.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(/.f64 (*.f64 (pow.f64 x 3) 2/3) 2)
(/.f64 (*.f64 (pow.f64 x 3) 4/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))))) 256)
(pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) 0)
(+.f64 0 (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 5) 1/120))
(-.f64 (*.f64 1/60 (pow.f64 x 5)) 0)
(/.f64 (*.f64 1/60 (pow.f64 x 5)) 1)
(/.f64 (*.f64 (pow.f64 x 5) 1/30) 2)
(/.f64 (*.f64 (pow.f64 x 5) 1/15) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))))) 256)
(pow.f64 (*.f64 1/60 (pow.f64 x 5)) 1)
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)
(+.f64 0 (*.f64 1/2520 (pow.f64 x 7)))
(+.f64 (*.f64 (pow.f64 x 7) 1/5040) (*.f64 (pow.f64 x 7) 1/5040))
(-.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)
(/.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)
(/.f64 (*.f64 (pow.f64 x 7) 1/1260) 2)
(/.f64 (*.f64 (pow.f64 x 7) 1/630) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))))) 256)
(pow.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)
(-.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 0)
(*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2))
(*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
(*.f64 1 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)
(/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))))) 256)
(pow.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(*.f64 2 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 5) 1/120))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/60 (pow.f64 x 5))) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/60 (pow.f64 x 5))) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/60 (pow.f64 x 5))) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) 0)
(*.f64 1/3 (pow.f64 x 3))
(+.f64 0 (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))
(*.f64 1/3 (pow.f64 x 3))
(-.f64 (*.f64 1/3 (pow.f64 x 3)) 0)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 2/3) 2)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 4/3) 4)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) 128)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))))) 256)
(*.f64 1/3 (pow.f64 x 3))
(pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) 0)
(*.f64 1/60 (pow.f64 x 5))
(+.f64 0 (*.f64 1/60 (pow.f64 x 5)))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 5) 1/120))
(*.f64 1/60 (pow.f64 x 5))
(-.f64 (*.f64 1/60 (pow.f64 x 5)) 0)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 1/60 (pow.f64 x 5)) 1)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 (pow.f64 x 5) 1/30) 2)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 (pow.f64 x 5) 1/15) 4)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)) 8)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))) 16)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))) 32)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))) 64)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) 128)
(*.f64 1/60 (pow.f64 x 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 1/15))))))) 256)
(*.f64 1/60 (pow.f64 x 5))
(pow.f64 (*.f64 1/60 (pow.f64 x 5)) 1)
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 0 (*.f64 1/2520 (pow.f64 x 7)))
(*.f64 1/2520 (pow.f64 x 7))
(+.f64 (*.f64 (pow.f64 x 7) 1/5040) (*.f64 (pow.f64 x 7) 1/5040))
(*.f64 1/2520 (pow.f64 x 7))
(-.f64 (*.f64 1/2520 (pow.f64 x 7)) 0)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 (pow.f64 x 7) 1/1260) 2)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 (pow.f64 x 7) 1/630) 4)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)) 8)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))) 16)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))) 32)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))) 64)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) 128)
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) 1/630))))))) 256)
(*.f64 1/2520 (pow.f64 x 7))
(pow.f64 (*.f64 1/2520 (pow.f64 x 7)) 1)
(*.f64 1/2520 (pow.f64 x 7))
(-.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 0)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 1 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 1/2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 1/4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1/2) 2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(*.f64 (/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))))) 2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)) 8)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))) 16)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))) 32)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))) 64)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) 128)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 4))))))) 256)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(pow.f64 (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 x x) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x x)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (+.f64 x (*.f64 1/3 (pow.f64 x 3))) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))
(+.f64 x (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x (*.f64 1/3 (pow.f64 x 3))))))

localize5.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 36 to 28 computations (22.2% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
6.7b
(-.f64 1 (exp.f64 (*.f64 x -2)))
Compiler

Compiled 40 to 29 computations (27.5% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
0.0ms
x
@inf
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
0.0ms
x
@0
(-.f64 1 (exp.f64 (*.f64 x -2)))
0.0ms
x
@0
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
0.0ms
x
@inf
(-.f64 1 (exp.f64 (*.f64 x -2)))

rewrite133.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1518×rational.json-1
1518×rational.json-2
1518×rational.json-3
1516×exponential.json-3
1516×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01144
17944
216344
331844
456244
5120244
6251244
7409844
8535044
9712644
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (*.f64 x -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 x) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)))))

simplify212.0ms (1.3%)

Algorithm
egg-herbie
Rules
2550×rational.json-simplify-2
1988×rational.json-simplify-35
1134×rational.json-simplify-51
1100×rational.json-simplify-1
922×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01401604
13281604
27691604
316911604
444191604
551641604
658231604
766251604
869741604
972681604
Stop Event
node limit
Counts
74 → 73
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x))
(+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x)))
(+.f64 (*.f64 -2/3 (pow.f64 x 4)) (+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x))))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(+.f64 -2 (-.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(+.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (*.f64 x -2))))
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(+.f64 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))
(*.f64 1 (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 1/2)
(*.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)
(*.f64 -1 (+.f64 (exp.f64 (*.f64 x -2)) -1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)
(/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 2)
(/.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -2)
(/.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) -8)
(/.f64 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))))) 16)
(pow.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(neg.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1))
(neg.f64 (+.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)
(/.f64 (*.f64 (exp.f64 x) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2)) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 4)) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 8)) 8)
(/.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))))) 128)
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)
Outputs
(*.f64 2 x)
(+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 -2 (pow.f64 x 2)))
(+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x)))
(+.f64 (*.f64 -2 (pow.f64 x 2)) (+.f64 (*.f64 2 x) (*.f64 4/3 (pow.f64 x 3))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 4/3 (pow.f64 x 3))))
(+.f64 (*.f64 -2/3 (pow.f64 x 4)) (+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (*.f64 -2 (pow.f64 x 2)) (*.f64 2 x))))
(+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (+.f64 (*.f64 2 x) (*.f64 -2 (pow.f64 x 2))) (*.f64 -2/3 (pow.f64 x 4))))
(+.f64 (*.f64 -2 (pow.f64 x 2)) (+.f64 (+.f64 (*.f64 2 x) (*.f64 4/3 (pow.f64 x 3))) (*.f64 -2/3 (pow.f64 x 4))))
(+.f64 (*.f64 4/3 (pow.f64 x 3)) (+.f64 (*.f64 -2 (pow.f64 x 2)) (+.f64 (*.f64 2 x) (*.f64 -2/3 (pow.f64 x 4)))))
(+.f64 (*.f64 -2 (pow.f64 x 2)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 4/3 (pow.f64 x 3)) (*.f64 -2/3 (pow.f64 x 4)))))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 1 (exp.f64 (*.f64 -2 x)))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 2 x) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 -2 x))) (exp.f64 x))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(+.f64 -2 (-.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 0)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 0 (-.f64 1 (exp.f64 (*.f64 x -2))))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 (neg.f64 (+.f64 -2 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1 (-.f64 1 (exp.f64 (*.f64 x -2))))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 1/2)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 -1 (+.f64 (exp.f64 (*.f64 x -2)) -1))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 1/4)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1/2) 2)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) 2)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1) -1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 4) 4)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8) 8)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -2)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)) -4)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)) 16)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))) 32)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) -8)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))) 4)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8)))) 64)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) 8)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1)))) -16)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 8))))) 128)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 4 (+.f64 (exp.f64 (*.f64 x -2)) -1))))) 16)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(pow.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 1)
(-.f64 1 (exp.f64 (*.f64 x -2)))
(neg.f64 (+.f64 (exp.f64 (*.f64 x -2)) -1))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(neg.f64 (+.f64 1 (+.f64 -2 (exp.f64 (*.f64 x -2)))))
(-.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 1/2)))
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 0)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 (exp.f64 x) (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2)) 2)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 4)) 4)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (exp.f64 x) 8)) 8)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)) 16)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))) 32)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8)))) 64)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) 2) (*.f64 (exp.f64 x) 8))))) 128)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 1)
(*.f64 (exp.f64 x) (-.f64 1 (exp.f64 (*.f64 x -2))))

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 47 to 24 computations (48.9% saved)

series1.0ms (0%)

Counts
3 → 32
Calls

9 calls:

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

rewrite86.0ms (0.5%)

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

Useful iterations: 5 (0.0ms)

IterNodesCost
01271
19171
219965
344263
492763
5246161
6576661
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (exp.f64 (neg.f64 x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 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 -1 (+.f64 (exp.f64 (neg.f64 x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 1/2)))) (#(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 (exp.f64 (neg.f64 x)) -1) -1)))) (#(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 (-.f64 1 (exp.f64 (neg.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) 2)))) (#(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 1 (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) -1)))) (#(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 (-.f64 1 (exp.f64 (neg.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)) -2)))) (#(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 (+.f64 (exp.f64 (neg.f64 x)) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1))) 2)))) (#(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 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (exp.f64 x) -1) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 x) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 (exp.f64 x)) (+.f64 (exp.f64 (neg.f64 x)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) (neg.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (exp.f64 x) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (exp.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (exp.f64 x) 2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) (*.f64 (exp.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)))))

simplify216.0ms (1.3%)

Algorithm
egg-herbie
Rules
1538×rational.json-simplify-35
1226×rational.json-simplify-51
946×rational.json-simplify-41
866×rational.json-simplify-48
758×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01922281
14072281
29992281
323592281
448652281
563582281
674502281
Stop Event
node limit
Counts
111 → 119
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) 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)) x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
1
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) (+.f64 1 (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 2 x) (+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 0)
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)))
(+.f64 0 (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 -2 (-.f64 1 (+.f64 (exp.f64 (neg.f64 x)) -2)))
(+.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))
(*.f64 1 (-.f64 1 (exp.f64 (neg.f64 x))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1)
(*.f64 -1 (+.f64 (exp.f64 (neg.f64 x)) -1))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 1/2)
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 4))
(*.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) 2)
(*.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 1 (exp.f64 (neg.f64 x))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 2)
(/.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 8)) 16)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)))) 4)
(pow.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1)
(neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -1))
(-.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(-.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 0)
(-.f64 (+.f64 (+.f64 (exp.f64 x) -1) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)
(*.f64 1 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))))
(*.f64 -1 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))
(*.f64 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)
(/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8))) 32)
(/.f64 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(/.f64 (+.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))
(pow.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(-.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 0)
(-.f64 (+.f64 (exp.f64 x) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)
(*.f64 1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))
(*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(*.f64 -1 (+.f64 (neg.f64 (exp.f64 x)) (+.f64 (exp.f64 (neg.f64 x)) -1)))
(*.f64 -1 (+.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) (neg.f64 (exp.f64 x))))
(*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2))
(*.f64 2 (+.f64 (*.f64 (exp.f64 x) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (exp.f64 x) 1/2)))
(*.f64 4 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 1/2)
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 x) 2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) (*.f64 (exp.f64 x) 2)))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)
(/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 2)
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8))) 32)
(pow.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
Outputs
x
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) x)
(+.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)) x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 x (*.f64 1/6 (pow.f64 x 3))))
(+.f64 x (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 x (+.f64 (*.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)) x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (+.f64 x (*.f64 -1/24 (pow.f64 x 4))) (*.f64 1/6 (pow.f64 x 3))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 x (*.f64 -1/24 (pow.f64 x 4)))))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(-.f64 1 (exp.f64 (*.f64 -1 x)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 x 2) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) 1/3)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
1
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (*.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 1 (*.f64 1/3 (pow.f64 x 3))))
(+.f64 1 (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) 1/3)))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) 1)))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 1/60 (pow.f64 x 5)))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 x 2) (*.f64 1/60 (pow.f64 x 5)))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 1 (exp.f64 x)) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 0)
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 0 (-.f64 1 (exp.f64 (neg.f64 x))))
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 -2 (-.f64 1 (+.f64 (exp.f64 (neg.f64 x)) -2)))
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2)) -1)
(-.f64 1 (exp.f64 (neg.f64 x)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))
(-.f64 1 (exp.f64 (neg.f64 x)))
(*.f64 1 (-.f64 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 -1 (+.f64 (exp.f64 (neg.f64 x)) -1))
(-.f64 1 (exp.f64 (neg.f64 x)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2))
(-.f64 1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 1/2)
(-.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 (exp.f64 (neg.f64 x)) -1) -1)
(-.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 (-.f64 1 (exp.f64 (neg.f64 x))) 2))
(-.f64 1 (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) 2)
(-.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 1 (exp.f64 (neg.f64 x))) 1)
(-.f64 1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) 2)
(-.f64 1 (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) -1)
(-.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 (-.f64 1 (exp.f64 (neg.f64 x))) 8) 8)
(-.f64 1 (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)) -2)
(-.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 (+.f64 (exp.f64 (neg.f64 x)) -1) 4) -4)
(-.f64 1 (exp.f64 (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1))) 2)
(-.f64 1 (exp.f64 (neg.f64 x)))
(/.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 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 x)) -1)))) 4)
(-.f64 1 (exp.f64 (neg.f64 x)))
(pow.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1)
(-.f64 1 (exp.f64 (neg.f64 x)))
(neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -1))
(-.f64 1 (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 0)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (+.f64 (exp.f64 x) -1) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 -1 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 1/2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 4 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 1/4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1/2) 2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(*.f64 (/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 2) 2)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 4) 4)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8) 8)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8)) 16)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 8))) 32)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))) (*.f64 (exp.f64 (neg.f64 x)) (neg.f64 (exp.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (+.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))) (*.f64 (neg.f64 (exp.f64 x)) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(pow.f64 (+.f64 (exp.f64 x) (/.f64 -1 (exp.f64 x))) 1)
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 0)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (+.f64 (exp.f64 x) (neg.f64 (+.f64 (exp.f64 (neg.f64 x)) -2))) 1)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 1 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 -1 (+.f64 (neg.f64 (exp.f64 x)) (+.f64 (exp.f64 (neg.f64 x)) -1)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 -1 (+.f64 (+.f64 (exp.f64 (neg.f64 x)) -1) (neg.f64 (exp.f64 x))))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (*.f64 (exp.f64 x) 1/2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 1/2) (*.f64 (exp.f64 x) 1/2)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 4 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 1/2)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 1/4)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 x) 2) (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 x))) 2) (*.f64 (exp.f64 x) 2)))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4))
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1/2) 2)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 2) 2)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 4) 4)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8) 8)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8)) 16)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 8))) 32)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(pow.f64 (+.f64 (-.f64 1 (exp.f64 (neg.f64 x))) (exp.f64 x)) 1)
(+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x))))
(+.f64 1 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))

eval232.0ms (1.4%)

Compiler

Compiled 5579 to 4380 computations (21.5% saved)

prune45.0ms (0.3%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New2903293
Fresh101
Picked011
Done055
Total2919300
Error
0.0b
Counts
300 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
59.1b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
59.4b
(/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2))) -1) 2)
0.2b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
59.6b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) 1) -1) 2)
59.1b
(/.f64 (+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1) 2)
0.2b
(/.f64 (+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))) 2)
0.3b
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
59.1b
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 2)
0.7b
(/.f64 (*.f64 2 x) 2)
Compiler

Compiled 120 to 101 computations (15.8% saved)

localize81.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
0.0b
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))
0.1b
(*.f64 1/60 (pow.f64 x 5))
0.2b
(*.f64 (pow.f64 x 3) 1/3)
Compiler

Compiled 69 to 55 computations (20.3% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite200.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
2338×rational.json-simplify-2
1806×rational.json-simplify-1
1516×rational.json-simplify-35
1310×exponential.json-3
1310×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01587
19987
218487
335087
471987
5190387
6363087
7455887
8598587
9695187
10695187
11746887
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(*.f64 (pow.f64 x 3) 1/3)
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x 3) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 1/3) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)))))

simplify632.0ms (3.9%)

Algorithm
egg-herbie
Rules
3642×rational.json-simplify-1
2570×rational.json-simplify-35
2432×rational.json-simplify-41
1438×rational.json-simplify-2
1222×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132501
12592501
26372501
318552501
434492501
540642501
642102501
743372501
844312501
963982501
1065042501
1166512501
1267482501
1368472501
1468532501
1568582501
1668622501
1768622501
1869512501
1970402501
2071292501
2172182501
2273072501
Stop Event
node limit
Counts
89 → 66
Calls
Call 1
Inputs
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) 0)
(+.f64 0 (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))
(-.f64 (*.f64 (pow.f64 x 3) 1/3) 0)
(/.f64 (*.f64 (pow.f64 x 3) 1/3) 1)
(/.f64 (*.f64 (pow.f64 x 3) 2/3) 2)
(/.f64 (*.f64 (pow.f64 x 3) 4/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) 128)
(pow.f64 (*.f64 (pow.f64 x 3) 1/3) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 0)
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2))
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 0)
(*.f64 2 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))))
(*.f64 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
Outputs
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/60 (pow.f64 x 5))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) 0)
(*.f64 1/3 (pow.f64 x 3))
(+.f64 0 (*.f64 (pow.f64 x 3) 1/3))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (*.f64 (pow.f64 x 3) 1/6))
(*.f64 1/3 (pow.f64 x 3))
(-.f64 (*.f64 (pow.f64 x 3) 1/3) 0)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 1/3) 1)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 2/3) 2)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 (pow.f64 x 3) 4/3) 4)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)) 8)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))) 16)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))) 32)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3))))) 64)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) 4/3)))))) 128)
(*.f64 1/3 (pow.f64 x 3))
(pow.f64 (*.f64 (pow.f64 x 3) 1/3) 1)
(*.f64 1/3 (pow.f64 x 3))
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 0)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 1/2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 1/4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2) 2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 2) 2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)) 8)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))) 16)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))) 32)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4))))) 64)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 4)))))) 128)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3)))
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 0)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 2 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)))
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 1/2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 1/4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 (+.f64 x (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5))) 1/2)) 2)
(+.f64 (*.f64 x 2) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 x 2) (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x)))) 2)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4) 4)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)) 8)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))) 16)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))) 32)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4))))) 64)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 4)))))) 128)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 x x))) 1)
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (+.f64 x x) (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.9b
(+.f64 (+.f64 (*.f64 2 x) 1) -1)
Compiler

Compiled 29 to 24 computations (17.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (+.f64 (*.f64 2 x) 1) -1)
0.0ms
x
@0
(+.f64 (+.f64 (*.f64 2 x) 1) -1)
0.0ms
x
@-inf
(+.f64 (+.f64 (*.f64 2 x) 1) -1)

rewrite197.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
2120×rational.json-simplify-2
1810×rational.json-simplify-1
1520×rational.json-simplify-35
1168×exponential.json-3
1168×rational.json-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0919
1707
21467
32697
45317
513447
628467
741507
849667
960017
1067507
1169047
1269047
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 2 x) 1) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 16) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x x) 1)))))

simplify482.0ms (3%)

Algorithm
egg-herbie
Rules
3202×rational.json-simplify-48
2516×rational.json-simplify-51
1920×rational.json-simplify-1
1250×rational.json-simplify-35
870×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059273
1135273
2224273
3467273
41654273
52634273
63169273
73388273
83700273
93786273
103869273
113952273
124041273
134312273
144930273
155315273
165401273
175487273
185578273
195632273
207553273
217684273
227710273
237736273
247799273
Stop Event
node limit
Counts
39 → 28
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(-.f64 (+.f64 x x) 0)
(-.f64 (+.f64 x (+.f64 x 1)) 1)
(-.f64 (+.f64 x (+.f64 x -1)) -1)
(*.f64 2 x)
(*.f64 x 2)
(*.f64 (+.f64 x x) 1)
(*.f64 1 (+.f64 x x))
(*.f64 4 (*.f64 x 1/2))
(*.f64 (*.f64 x 4) 1/2)
(*.f64 8 (*.f64 x 1/4))
(*.f64 (*.f64 x 8) 1/4)
(*.f64 1/2 (*.f64 x 4))
(*.f64 (*.f64 x 16) 1/8)
(*.f64 1/4 (*.f64 x 8))
(*.f64 (*.f64 x 1/2) 4)
(*.f64 (*.f64 x 1/4) 8)
(*.f64 1/8 (*.f64 x 16))
(/.f64 (+.f64 x x) 1)
(/.f64 (*.f64 x 4) 2)
(/.f64 (*.f64 x 8) 4)
(/.f64 (*.f64 x 16) 8)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)
(pow.f64 (+.f64 x x) 1)
Outputs
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x x) 0)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x (+.f64 x 1)) 1)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x (+.f64 x -1)) -1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 x 2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 8 (*.f64 x 1/4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (*.f64 x 4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 16) 1/8)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/4 (*.f64 x 8))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/4) 8)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/8 (*.f64 x 16))
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 4) 2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 8) 4)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 16) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)
(*.f64 2 x)
(+.f64 x x)
(pow.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)

localize23.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (pow.f64 x 3) 1/3)
6.9b
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2))) -1)
Compiler

Compiled 62 to 51 computations (17.7% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite189.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
2280×rational.json-simplify-2
1918×rational.json-simplify-1
1532×rational.json-simplify-35
1306×exponential.json-3
1306×rational.json-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01437
110525
221725
344825
4109825
5245625
6374225
7517725
8627625
9720925
10732825
11732825
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2))) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (+.f64 x x) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)))))

simplify518.0ms (3.2%)

Algorithm
egg-herbie
Rules
2810×rational.json-simplify-51
2656×rational.json-simplify-2
1404×rational.json-simplify-1
1190×rational.json-simplify-35
818×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0741208
11661196
23151064
3827932
42680932
53876932
64223932
74561932
84796932
94886932
104974932
115314932
125403932
135489932
145709932
155817932
165888932
175939932
185970932
196001932
206032932
217324932
Stop Event
node limit
Counts
38 → 35
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1)
(-.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (+.f64 x x) -1)) -1)
(*.f64 1 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))))
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
(*.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))
(*.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)
(*.f64 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)) 4)
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
(/.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 4)
(/.f64 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))))) 128)
(pow.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(-.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 0)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (+.f64 x x) -1)) -1)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 1 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))))
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)))
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 1/3 (/.f64 (pow.f64 x 3) 4))))
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 3) 1/12)))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 1/4)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(*.f64 (+.f64 (*.f64 x 1/2) (/.f64 (*.f64 (pow.f64 x 3) 1/3) 4)) 4)
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 1/3 (/.f64 (pow.f64 x 3) 4))))
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 3) 1/12)))
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))) 4)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8) 8)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)) 16)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))) 32)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8)))) 64)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 8))))) 128)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(pow.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3))) 1)
(+.f64 (+.f64 x (+.f64 x 1)) (-.f64 (*.f64 1/3 (pow.f64 x 3)) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (-.f64 (+.f64 x (+.f64 x 1)) 1))
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))

eval53.0ms (0.3%)

Compiler

Compiled 2657 to 2221 computations (16.4% saved)

prune23.0ms (0.1%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New1562158
Fresh000
Picked101
Done088
Total15710167
Error
0.0b
Counts
167 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
59.4b
(/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1) 2)
59.6b
(/.f64 (-.f64 (+.f64 x (+.f64 x 1)) 1) 2)
59.1b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
0.2b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
59.6b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) 1) -1) 2)
59.1b
(/.f64 (+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1) 2)
0.2b
(/.f64 (+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))) 2)
0.3b
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
59.1b
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 2)
0.7b
(/.f64 (*.f64 2 x) 2)
Compiler

Compiled 130 to 108 computations (16.9% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x 1))
6.4b
(-.f64 (+.f64 x (+.f64 x 1)) 1)
Compiler

Compiled 28 to 20 computations (28.6% saved)

series0.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite272.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
2354×rational.json-simplify-35
1896×rational.json-simplify-2
1510×rational.json-simplify-1
1272×rational.json-1
1272×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0732
16032
215120
330220
466520
5125120
6236020
7370120
8442220
9528320
10586420
11595420
12604420
13667120
14704520
15762220
Stop Event
node limit
Counts
2 → 74
Calls
Call 1
Inputs
(-.f64 (+.f64 x (+.f64 x 1)) 1)
(+.f64 x (+.f64 x 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 x x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 x (+.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 2) (+.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -2) (+.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 x (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (*.f64 x 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 1) 1/2) (+.f64 x (*.f64 (+.f64 x -1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3/2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 (+.f64 x 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 16) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 1 (+.f64 x x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (+.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 1 (+.f64 x x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (+.f64 x x)) 1)))))

simplify380.0ms (2.4%)

Algorithm
egg-herbie
Rules
2888×rational.json-simplify-51
1916×rational.json-simplify-35
1750×rational.json-simplify-1
1176×rational.json-simplify-2
620×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0133902
1285902
2687902
32151902
43876902
54731902
65032902
75162902
85277902
95405902
105534902
115664902
125941902
136098902
146254902
156410902
166529902
176557902
186557902
Stop Event
node limit
Counts
98 → 78
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
1
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) 1)
(*.f64 2 x)
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(*.f64 2 x)
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(+.f64 x x)
(+.f64 1 (+.f64 (+.f64 x x) -1))
(+.f64 (+.f64 x 1) (+.f64 x -1))
(+.f64 (+.f64 1 (+.f64 x x)) -1)
(+.f64 (+.f64 x x) 0)
(+.f64 0 (+.f64 x x))
(+.f64 -1 (+.f64 1 (+.f64 x x)))
(+.f64 (+.f64 x -1) (+.f64 x 1))
(+.f64 2 (+.f64 x (+.f64 x -2)))
(+.f64 (+.f64 x (+.f64 x 2)) -2)
(+.f64 (+.f64 x (+.f64 x -2)) 2)
(+.f64 (+.f64 (+.f64 x x) -1) 1)
(+.f64 (+.f64 x 2) (+.f64 x -2))
(+.f64 (+.f64 x -2) (+.f64 x 2))
(+.f64 -2 (+.f64 x (+.f64 x 2)))
(+.f64 (*.f64 x 1/2) (*.f64 x 3/2))
(+.f64 (*.f64 (+.f64 x 1) 1/2) (+.f64 x (*.f64 (+.f64 x -1) 1/2)))
(+.f64 (*.f64 x 3/2) (*.f64 x 1/2))
(+.f64 (+.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 (+.f64 x 1) 1/2))
(*.f64 x 2)
(*.f64 1 (+.f64 x x))
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 (*.f64 x 4) 1/2)
(*.f64 8 (*.f64 x 1/4))
(*.f64 (*.f64 x 8) 1/4)
(*.f64 1/2 (*.f64 x 4))
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))))
(*.f64 (*.f64 x 16) 1/8)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 1/4 (*.f64 x 8))
(*.f64 (*.f64 x 1/4) 8)
(*.f64 1/8 (*.f64 x 16))
(*.f64 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))) 1/2)
(/.f64 (+.f64 x x) 1)
(/.f64 (*.f64 x 4) 2)
(/.f64 (*.f64 x 8) 4)
(/.f64 (*.f64 x 16) 8)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))))) 512)
(pow.f64 (+.f64 x x) 1)
(-.f64 (+.f64 1 (+.f64 x x)) 0)
(-.f64 (+.f64 x x) -1)
(-.f64 (+.f64 x (+.f64 x 2)) 1)
(*.f64 1 (+.f64 1 (+.f64 x x)))
(*.f64 (+.f64 1 (+.f64 x x)) 1)
(*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 1/2))
(*.f64 (+.f64 2 (*.f64 x 4)) 1/2)
(*.f64 4 (*.f64 (+.f64 1 (+.f64 x x)) 1/4))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 x 4)))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 1/8)
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 1 (+.f64 x x)) 4))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))
(*.f64 1/8 (*.f64 (+.f64 1 (+.f64 x x)) 8))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/4) 4)
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)
(/.f64 (+.f64 1 (+.f64 x x)) 1)
(/.f64 (+.f64 2 (*.f64 x 4)) 2)
(/.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 4)
(/.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))))) 512)
(pow.f64 (+.f64 1 (+.f64 x x)) 1)
Outputs
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
1
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(+.f64 x x)
(*.f64 2 x)
(+.f64 1 (+.f64 (+.f64 x x) -1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x 1) (+.f64 x -1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 1 (+.f64 x x)) -1)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x x) 0)
(*.f64 2 x)
(+.f64 x x)
(+.f64 0 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(+.f64 -1 (+.f64 1 (+.f64 x x)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x -1) (+.f64 x 1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 2 (+.f64 x (+.f64 x -2)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x (+.f64 x 2)) -2)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x (+.f64 x -2)) 2)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 (+.f64 x x) -1) 1)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x 2) (+.f64 x -2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x -2) (+.f64 x 2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 -2 (+.f64 x (+.f64 x 2)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (*.f64 x 1/2) (*.f64 x 3/2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (*.f64 (+.f64 x 1) 1/2) (+.f64 x (*.f64 (+.f64 x -1) 1/2)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (*.f64 x 3/2) (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 (+.f64 x 1) 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 x 2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 8 (*.f64 x 1/4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (*.f64 x 4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 16) 1/8)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/4 (*.f64 x 8))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/4) 8)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/8 (*.f64 x 16))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x -2))) 1/2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 4) 2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 8) 4)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 16) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))) 128)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) 256)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 16))))))) 512)
(*.f64 2 x)
(+.f64 x x)
(pow.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 1 (+.f64 x x)) 0)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(-.f64 (+.f64 x x) -1)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(-.f64 (+.f64 x (+.f64 x 2)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 1 (+.f64 1 (+.f64 x x)))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (+.f64 1 (+.f64 x x)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 1/2))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (+.f64 2 (*.f64 x 4)) 1/2)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 4 (*.f64 (+.f64 1 (+.f64 x x)) 1/4))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 1/4)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 1/2 (+.f64 2 (*.f64 x 4)))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 1/8)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) 2)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 1/4 (*.f64 (+.f64 1 (+.f64 x x)) 4))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 1/8 (*.f64 (+.f64 1 (+.f64 x x)) 8))
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/4) 4)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (+.f64 1 (+.f64 x x)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (+.f64 2 (*.f64 x 4)) 2)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 (+.f64 1 (+.f64 x x)) 4) 4)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 (+.f64 1 (+.f64 x x)) 8) 8)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)) 16)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))) 32)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))) 64)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))) 128)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) 256)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 x x)) 8))))))) 512)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))
(pow.f64 (+.f64 1 (+.f64 x x)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 1 (+.f64 x x))

localize25.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x 1))
0.2b
(*.f64 (pow.f64 x 3) 1/3)
6.5b
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1)
Compiler

Compiled 61 to 46 computations (24.6% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite210.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
2382×rational.json-simplify-2
2230×rational.json-simplify-35
1294×exponential.json-3
1294×rational.json-1
1294×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01237
19437
221325
344425
4122925
5256425
6415025
7594825
8679525
9689325
10689325
11779225
Stop Event
node limit
Counts
1 → 56
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 x x)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (+.f64 1 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (+.f64 x x)) (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (*.f64 (pow.f64 x 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/3)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 2) (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1) (+.f64 x (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x -1)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) (+.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 x -1)) (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 2 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) (+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (*.f64 (+.f64 1 (+.f64 x x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) 1/6) (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))) (+.f64 -1 (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)))))

simplify390.0ms (2.4%)

Algorithm
egg-herbie
Rules
3916×rational.json-simplify-48
1900×rational.json-simplify-51
1818×rational.json-simplify-1
1684×rational.json-simplify-35
1358×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01211718
12811718
25961718
312751718
421351718
529171718
633781718
736571718
837671718
938581718
1044431718
1151571718
1260031718
1361861718
1462671718
1563491718
1668221718
1769041718
1872381718
1973201718
2074021718
2174841718
Stop Event
node limit
Counts
68 → 62
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3)))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x))
(+.f64 1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))
(+.f64 (+.f64 x 1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (+.f64 1 (+.f64 x x)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))) -1)
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 0)
(+.f64 0 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))))
(+.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)) (+.f64 x -1))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (+.f64 1 (+.f64 x x)))
(+.f64 2 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))
(+.f64 (+.f64 2 (+.f64 x x)) (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (+.f64 x x) (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (+.f64 x x) (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/3)) x)
(+.f64 (+.f64 x -1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)))
(+.f64 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) 1)
(+.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x 1))
(+.f64 (+.f64 x 2) (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1) (+.f64 x (+.f64 x -1)))
(+.f64 (+.f64 x (+.f64 x -1)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))
(+.f64 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))) 2)
(+.f64 (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) (+.f64 x 2))
(+.f64 -2 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))))
(+.f64 (+.f64 -1 (+.f64 x -1)) (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))))
(+.f64 (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 2 (+.f64 x x)))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x x))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))) -2)
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(+.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) (+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (*.f64 (+.f64 1 (+.f64 x x)) 1/2)))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(+.f64 (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))) (+.f64 -1 (+.f64 x -1)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))
(*.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))) 1/2)
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
(/.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))))) 128)
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3)))
(+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/3)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x 1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 1 (+.f64 x x)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))) -1)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 0)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 0 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)) (+.f64 x -1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (+.f64 1 (+.f64 x x)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 2 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 2 (+.f64 x x)) (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x x) (*.f64 (pow.f64 x 3) 1/3))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x x) (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/3)) x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x -1) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) 1)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x 2) (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1) (+.f64 x (+.f64 x -1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (+.f64 x -1)) (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 -1 (+.f64 x (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))) 2)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1))) (+.f64 x 2))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 -2 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 -1 (+.f64 x -1)) (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 -1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 2 (+.f64 x x)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)) (+.f64 x x))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (+.f64 x x)))) -2)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 (+.f64 1 (+.f64 x x)) 1/2) (+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) (*.f64 (+.f64 1 (+.f64 x x)) 1/2)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (*.f64 (pow.f64 x 3) 1/6) (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(+.f64 (+.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) 1))) (+.f64 -1 (+.f64 x -1)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 1/2)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 1/4)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/3 (pow.f64 x 3)) -1)) (+.f64 2 (*.f64 x 4))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4))
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) 1/6)) 2) 4)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 (pow.f64 x 3) 2/3)))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1) 2) (+.f64 2 (*.f64 x 4))) 1/2)
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/3 (pow.f64 x 3)) -1)) (+.f64 2 (*.f64 x 4))))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 4 (+.f64 x (*.f64 (pow.f64 x 3) 1/6))) 2)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 4) 4)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8) 8)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)) 16)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))) 32)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) 64)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 8))))) 128)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))
(pow.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x x)) 1)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x x))
(+.f64 x (+.f64 x (*.f64 1/3 (pow.f64 x 3))))

eval56.0ms (0.3%)

Compiler

Compiled 2701 to 2166 computations (19.8% saved)

prune31.0ms (0.2%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1842186
Fresh000
Picked011
Done099
Total18412196
Error
0.0b
Counts
196 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
59.4b
(/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1) 2)
59.6b
(/.f64 (-.f64 (+.f64 x (+.f64 x 1)) 1) 2)
59.1b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
0.2b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
59.6b
(/.f64 (+.f64 (+.f64 (*.f64 2 x) 1) -1) 2)
59.1b
(/.f64 (+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1) 2)
59.6b
(/.f64 (+.f64 (+.f64 x (+.f64 x 2)) -2) 2)
59.5b
(/.f64 (+.f64 (+.f64 x 2) (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))) 2)
0.2b
(/.f64 (+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))) 2)
0.3b
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
59.1b
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 2)
0.7b
(/.f64 (*.f64 2 x) 2)
Compiler

Compiled 158 to 131 computations (17.1% saved)

regimes19.0ms (0.1%)

Counts
14 → 1
Calls
Call 1
Inputs
(/.f64 (*.f64 2 x) 2)
(/.f64 (+.f64 (+.f64 x (+.f64 x 2)) -2) 2)
(/.f64 (+.f64 (+.f64 (*.f64 2 x) 1) -1) 2)
(/.f64 (-.f64 (+.f64 x (+.f64 x 1)) 1) 2)
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
(/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 1 (*.f64 x 2))) -1) 2)
(/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 x (+.f64 x 1))) 1) 2)
(/.f64 (+.f64 (+.f64 x 2) (+.f64 -1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) 1/3) -1)))) 2)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 x -2))) (exp.f64 x)) 2)
(/.f64 (+.f64 (+.f64 (exp.f64 x) (-.f64 1 (exp.f64 (neg.f64 x)))) -1) 2)
(/.f64 (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))) 2)
(/.f64 (+.f64 (*.f64 x 2) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 1/60 (pow.f64 x 5)))) 2)
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
Outputs
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
Calls

3 calls:

9.0ms
x
3.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
3.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
0.2b1(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 197 to 156 computations (20.8% saved)

regimes17.0ms (0.1%)

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

3 calls:

8.0ms
x
3.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
2.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
0.2b1(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 174 to 137 computations (21.3% saved)

regimes15.0ms (0.1%)

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

3 calls:

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

Compiled 140 to 109 computations (22.1% saved)

regimes5.0ms (0%)

Accuracy

Total -59.0b remaining (-8937.9%)

Threshold costs -59.0b (-8937.9%)

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

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
0.7b1x
Compiler

Compiled 35 to 28 computations (20% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026160
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
(/.f64 (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))) 2)
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
(/.f64 (*.f64 2 x) 2)
Outputs
(/.f64 (+.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (*.f64 1/2520 (pow.f64 x 7)))) 2)
(/.f64 (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 1/60 (pow.f64 x 5)))) 2)
(/.f64 (+.f64 (*.f64 2 x) (*.f64 1/3 (pow.f64 x 3))) 2)
(/.f64 (*.f64 2 x) 2)
Compiler

Compiled 60 to 50 computations (16.7% saved)

soundness166.0ms (1%)

Algorithm
egg-herbie
Rules
1122×rational.json-simplify-2
966×rational.json-simplify-41
944×rational.json-simplify-54
638×rational.json-simplify-42
520×rational.json-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01251202
12441202
25101202
312781202
434211202
550051202
668041202
Stop Event
node limit
Compiler

Compiled 93 to 77 computations (17.2% saved)

end40.0ms (0.2%)

Compiler

Compiled 57 to 47 computations (17.5% saved)

Profiling

Loading profile data...