Details

Time bar (total: 8.5s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample1.6s (18.3%)

Results
671.0ms2041×body1024valid
580.0ms4909×body256valid
200.0ms1068×body512valid
95.0ms238×body2048valid
Bogosity

preprocess2.9s (33.8%)

Algorithm
egg-herbie
Rules
9280×rational.json-simplify-41
3624×rational.json-simplify-35
2062×rational.json-simplify-48
1252×rational.json-simplify-1
120×rational.json-simplify-18
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
13358
25458
39858
421458
559058
683158
7100258
8127258
9158258
10173858
11183058
12186258
13189058
14191858
15203858
16211858
17219658
18223258
19226058
20228858
21231658
22253658
23271658
24276558
25281958
26284758
27287558
28290358
29293158
30295958
31298758
32301558
33304358
34309958
35313358
36316758
37319758
38322758
39325558
40328358
41331158
42333958
43336758
44339558
45342358
46345158
47347958
48350758
49353558
50356358
51359158
52361958
53364758
54367558
55370358
56373158
57375958
58378758
59381558
60384358
61387158
62389958
63392758
64395558
65398358
66401158
67403958
68406758
69409558
70412358
71415158
72417958
73420758
74423558
75426358
76429158
77431958
78434758
79437558
80440358
81443158
82445958
83448758
84451558
85454358
86457158
87459958
88459958
89462758
90465558
91468358
92471158
93473958
94476758
95479558
96482358
97485158
98487958
99490758
100493558
101496358
102499158
103501958
104504758
105507558
106510358
107513158
108515958
109518758
110521558
111524358
112527158
113529958
114532758
115535558
116538358
117541158
118543958
119546758
120549558
121552358
122555158
123557958
124560758
125563558
126566358
127569158
128571958
129574758
130577558
131580358
132583158
133585958
134588758
135591558
136594358
137597158
138599958
139602758
140605558
141608358
142611158
143613958
144616758
145619558
146622358
147625158
148627958
149630758
150633558
151636358
152639158
153641958
154644758
155647558
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) 1)
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) -1)
Compiler

Compiled 14 to 13 computations (7.1% saved)

simplify1.2s (13.8%)

Algorithm
egg-herbie
Rules
5342×rational.json-simplify-48
4578×rational.json-simplify-1
3836×rational.json-simplify-41
1340×rational.json-simplify-35
388×rational.json-simplify-18
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
12129
23329
35829
411729
530429
642929
751829
866329
981929
1092729
11100829
12109329
13119129
14127629
15131829
16134129
17135929
18137529
19139129
20140729
21142329
22144429
23146129
24147829
25149429
26151029
27152629
28154229
29155829
30157429
31159029
32160629
33162229
34163829
35165429
36167029
37168629
38170229
39171829
40173429
41175029
42176629
43178229
44179829
45181429
46183029
47184629
48186229
49187829
50189429
51191029
52192629
53194229
54195829
55197429
56199029
57200629
58202229
59203829
60205429
61207029
62208629
63210229
64211829
65213429
66215029
67216629
68218229
69219829
70221429
71223029
72224629
73226229
74227829
75229429
76231029
77232629
78234229
79235829
80237429
81501829
82507129
83509029
84510929
85512729
86514529
87582529
88584929
89586729
90588529
91590329
92592129
93593929
94595729
95597529
96599329
97601129
98660829
99717129
100742429
101766529
102780929
103785029
104786829
105788629
106790429
107792229
108794029
109795829
110797629
111799429
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 -2 x)))) -1)

eval1.0ms (0%)

Compiler

Compiled 32 to 29 computations (9.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
29.8b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Compiler

Compiled 12 to 11 computations (8.3% saved)

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 31 computations (16.2% saved)

series3.0ms (0%)

Counts
3 → 20
Calls

9 calls:

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

rewrite86.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01269
19169
220069
341869
484669
5223369
6558669
Stop Event
node limit
Counts
3 → 101
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 1 (exp.f64 (*.f64 -2 x)))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2) 1) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 -2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 -1 (exp.f64 (*.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 2 (exp.f64 (*.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 x x)) 1) (exp.f64 (*.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/4 (/.f64 1/4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 -2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (-.f64 -1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))))

simplify107.0ms (1.2%)

Algorithm
egg-herbie
Rules
1270×rational.json-simplify-53
1208×rational.json-simplify-51
864×rational.json-simplify-2
826×rational.json-simplify-41
822×rational.json-simplify-39
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02003367
14423367
227213163
350453163
Stop Event
node limit
Counts
121 → 155
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
2
(+.f64 2 (*.f64 -2 x))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 -2 x)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 -2 x) (*.f64 -4/3 (pow.f64 x 3)))))
1
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))
(*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)))
(*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(*.f64 4 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8))
(*.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 1/2)
(*.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 1/4)
(*.f64 1/2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))
(*.f64 1/4 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))
(*.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) 2)
(*.f64 (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8) 4)
(*.f64 (+.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2) 1) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 2)
(/.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 4)
(/.f64 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 8)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))) 32)
(pow.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(-.f64 (exp.f64 (*.f64 -2 x)) -1)
(-.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 0)
(-.f64 0 (-.f64 -1 (exp.f64 (*.f64 -2 x))))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -2 x))) 1)
(-.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(*.f64 4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 1/4)
(*.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 2)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 1/8)
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))
(*.f64 (+.f64 (exp.f64 (+.f64 x x)) 1) (exp.f64 (*.f64 -2 x)))
(/.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 1 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(/.f64 4 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 2)
(/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 8 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 4)
(/.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 1/2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 8)
(/.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (*.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) 4) -4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8)) 16)
(/.f64 1/4 (/.f64 1/4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))) 32)
(/.f64 (*.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) 4)
(/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2) 4)
(/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/4) 8)
(/.f64 (/.f64 4 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 4)
(pow.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(neg.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(+.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(-.f64 0 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(-.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 -2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))
(-.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (-.f64 -1 (exp.f64 (*.f64 -2 x)))))
(*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(*.f64 4 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/2)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 2)
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(*.f64 1/4 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/4)
(*.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4)
(*.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(*.f64 (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(*.f64 (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(*.f64 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(pow.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(neg.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
Outputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 x (+.f64 (*.f64 2/15 (pow.f64 x 5)) (*.f64 -1/3 (pow.f64 x 3))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (+.f64 x (*.f64 2/15 (pow.f64 x 5))) (*.f64 -17/315 (pow.f64 x 7))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -17/315 (pow.f64 x 7)))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) (*.f64 -17/315 (pow.f64 x 7)))))
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
2
(+.f64 2 (*.f64 -2 x))
(+.f64 2 (*.f64 x -2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 -2 x)))
(+.f64 2 (+.f64 (*.f64 x -2) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 -2 x) (*.f64 -4/3 (pow.f64 x 3)))))
(+.f64 2 (+.f64 (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) -4/3)) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 3) -4/3) (+.f64 2 (*.f64 x -2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) -4/3))))
(+.f64 (*.f64 x -2) (+.f64 (*.f64 (pow.f64 x 3) -4/3) (+.f64 2 (*.f64 2 (pow.f64 x 2)))))
1
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x 1))
(+.f64 x (+.f64 1 (*.f64 -1/3 (pow.f64 x 3))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) 1))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (+.f64 x (*.f64 2/15 (pow.f64 x 5))) 1))
(+.f64 (+.f64 x (*.f64 2/15 (pow.f64 x 5))) (+.f64 1 (*.f64 -1/3 (pow.f64 x 3))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (+.f64 (*.f64 2/15 (pow.f64 x 5)) 1)))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) 1)))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 4 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 1/2)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 1/4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 1/2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 1/4 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1/2) 2)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 8) 4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (+.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2) 1) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2) 2)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (*.f64 2 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)) 8)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2))) 16)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)))) 32)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(pow.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (*.f64 2 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
(-.f64 (exp.f64 (*.f64 -2 x)) -1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 0)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 0 (-.f64 -1 (exp.f64 (*.f64 -2 x))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -2 x))) 1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(-.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) -2))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 1/4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 2)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 1/8)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) 4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 1/8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(*.f64 (+.f64 (exp.f64 (+.f64 x x)) 1) (exp.f64 (*.f64 -2 x)))
(*.f64 (exp.f64 (*.f64 x -2)) (+.f64 1 (exp.f64 (+.f64 x x))))
(/.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 1 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 4 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 2)
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) 2)
(/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 8 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4) 4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) -1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) 1/2)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8) 8)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -2)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) 4) -4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8)) 16)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 1/4 (/.f64 1/4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 4)))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) (/.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 8))) 32)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (*.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2)) 4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/2) 4)
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) 2)
(/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) 1/4) 8)
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) 2)
(/.f64 (/.f64 4 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 4)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(pow.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(+.f64 1 (exp.f64 (*.f64 x -2)))
(neg.f64 (-.f64 -1 (exp.f64 (*.f64 -2 x))))
(+.f64 1 (exp.f64 (*.f64 x -2)))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(+.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(+.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(-.f64 0 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(-.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 -2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x))))))
(-.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2)))) (/.f64 -2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(-.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (*.f64 x -2)))) (/.f64 -2 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2))))))
(-.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 1 (-.f64 -1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 4 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 4 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 4 (/.f64 -1/2 (-.f64 -1 (exp.f64 (*.f64 x -2)))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/2)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/2 (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1/4)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 2)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 1/4 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4) (/.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/4)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4)
(*.f64 4 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 4 (/.f64 -1/2 (-.f64 -1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 (/.f64 8 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4) (/.f64 8 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 1/2 (/.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 1 (exp.f64 (*.f64 -2 x)))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(pow.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(neg.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))

eval49.0ms (0.6%)

Compiler

Compiled 2336 to 2084 computations (10.8% saved)

prune24.0ms (0.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1514155
Fresh000
Picked011
Done000
Total1515156
Error
0.0b
Counts
156 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
47.3b
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
29.8b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(-.f64 (+.f64 x 1) 1)
31.7b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
30.3b
x
Compiler

Compiled 42 to 36 computations (14.3% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 15 computations (25% saved)

series2.0ms (0%)

Counts
2 → 3
Calls

6 calls:

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

rewrite251.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
2294×rational.json-simplify-35
2106×rational.json-simplify-2
1412×rational.json-simplify-1
1088×exponential.json-3
1088×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15232
210732
321132
438732
585432
6221532
7387832
8461532
9561532
10629632
11631532
12635032
13702732
14733832
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 x 3))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
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 (pow.f64 x 3) -8/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))))) 512)))) (#(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 x (*.f64 -1/3 (pow.f64 x 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)))))

simplify509.0ms (6%)

Algorithm
egg-herbie
Rules
3778×rational.json-simplify-51
2878×rational.json-simplify-35
1428×rational.json-simplify-1
1236×rational.json-simplify-2
536×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088702
1201702
2502702
31608702
43270702
54075702
64225702
74334702
84444702
94529702
104614702
114700702
124800702
134886702
144972702
154972702
167275702
177540702
187627702
197710702
207788702
217866702
227944702
Stop Event
node limit
Counts
42 → 43
Calls
Call 1
Inputs
x
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(+.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 (pow.f64 x 3) -8/3) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))))) 512)
(pow.f64 (*.f64 -1/3 (pow.f64 x 3)) 1)
(-.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 0)
(*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(*.f64 1 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 1/2)
(*.f64 4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 1/4)
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 1/8)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))
(/.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))))) 512)
(pow.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
Outputs
x
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(+.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 (pow.f64 x 3) -8/3) 8)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)) 16)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) 32)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))) 128)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) 256)
(*.f64 -1/3 (pow.f64 x 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))))))) 512)
(*.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 x (*.f64 -1/3 (pow.f64 x 3))) 0)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 1 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))))
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 1/2)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4))
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 1/4)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 1/8)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)))
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4))
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1/4) 4)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)) 2)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 4) 4)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8) 8)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)) 16)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) 32)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))) 64)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))) 128)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) 256)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))))))) 512)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(pow.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.7b
(-.f64 (+.f64 x 1) 1)
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite225.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
2190×rational.json-simplify-35
1786×rational.json-simplify-2
1502×rational.json-simplify-1
1216×exponential.json-3
1216×rational.json-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0613
1531
21391
32501
45191
511941
624321
735051
843311
951761
1057511
1158771
1259751
1359751
1473611
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(-.f64 (+.f64 x 1) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (+.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 3) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (+.f64 x -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (+.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -1) 1/2) (*.f64 (+.f64 x 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify371.0ms (4.3%)

Algorithm
egg-herbie
Rules
3108×rational.json-simplify-51
2222×rational.json-simplify-1
1826×rational.json-simplify-48
1460×rational.json-simplify-2
1248×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08052
115652
259152
3195352
4327952
5408852
6421052
7426452
8432252
9438352
10505852
11599552
12629752
13642752
14655452
15670052
16716952
17730252
18743552
19756852
20764952
Stop Event
node limit
Counts
52 → 41
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
(+.f64 1 (+.f64 x -1))
(+.f64 (+.f64 x 1) -1)
(+.f64 0 x)
(+.f64 -1 (+.f64 x 1))
(+.f64 (+.f64 x -1) 1)
(+.f64 2 (+.f64 x -2))
(+.f64 (+.f64 x 2) -2)
(+.f64 (+.f64 x -2) 2)
(+.f64 -2 (+.f64 x 2))
(+.f64 3 (+.f64 x -3))
(+.f64 (+.f64 x -3) 3)
(+.f64 (+.f64 x 3) -3)
(+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (+.f64 x -1) 1/2))
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
(+.f64 -3 (+.f64 x 3))
(+.f64 (*.f64 (+.f64 x -1) 1/2) (*.f64 (+.f64 x 1) 1/2))
(*.f64 x 1)
(*.f64 1 x)
(*.f64 2 (*.f64 x 1/2))
(*.f64 (+.f64 x x) 1/2)
(*.f64 4 (*.f64 x 1/4))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 1/2 (+.f64 x x))
(*.f64 (*.f64 x 8) 1/8)
(*.f64 1/4 (*.f64 x 4))
(*.f64 (*.f64 x 1/2) 2)
(*.f64 (*.f64 x 1/4) 4)
(*.f64 1/8 (*.f64 x 8))
(/.f64 x 1)
(/.f64 (+.f64 x x) 2)
(/.f64 (*.f64 x 4) 4)
(/.f64 (*.f64 x 8) 8)
(/.f64 (*.f64 2 (*.f64 x 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))))) 512)
(pow.f64 x 1)
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 x 0)
x
(+.f64 1 (+.f64 x -1))
x
(+.f64 (+.f64 x 1) -1)
x
(+.f64 0 x)
x
(+.f64 -1 (+.f64 x 1))
x
(+.f64 (+.f64 x -1) 1)
x
(+.f64 2 (+.f64 x -2))
x
(+.f64 (+.f64 x 2) -2)
x
(+.f64 (+.f64 x -2) 2)
x
(+.f64 -2 (+.f64 x 2))
x
(+.f64 3 (+.f64 x -3))
x
(+.f64 (+.f64 x -3) 3)
x
(+.f64 (+.f64 x 3) -3)
x
(+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (+.f64 x -1) 1/2))
x
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
x
(+.f64 -3 (+.f64 x 3))
x
(+.f64 (*.f64 (+.f64 x -1) 1/2) (*.f64 (+.f64 x 1) 1/2))
x
(*.f64 x 1)
x
(*.f64 1 x)
x
(*.f64 2 (*.f64 x 1/2))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 4 (*.f64 x 1/4))
x
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (*.f64 x 8) 1/8)
x
(*.f64 1/4 (*.f64 x 4))
x
(*.f64 (*.f64 x 1/2) 2)
x
(*.f64 (*.f64 x 1/4) 4)
x
(*.f64 1/8 (*.f64 x 8))
x
(/.f64 x 1)
x
(/.f64 (+.f64 x x) 2)
x
(/.f64 (*.f64 x 4) 4)
x
(/.f64 (*.f64 x 8) 8)
x
(/.f64 (*.f64 2 (*.f64 x 8)) 16)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 8))) 32)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))) 128)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) 256)
x
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 8))))))) 512)
x
(pow.f64 x 1)
x

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 2 (+.f64 2 (*.f64 x -2)))
2.7b
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
Compiler

Compiled 30 to 25 computations (16.7% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite82.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
17944
218144
336344
476444
5205544
6527744
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (-.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 (+.f64 2 (*.f64 x -2)) -2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (/.f64 1 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 x -2)) (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1 (+.f64 4 (*.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 4 (*.f64 x -4)) (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 8 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 4 (*.f64 x -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 4 (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))))))))

simplify118.0ms (1.4%)

Algorithm
egg-herbie
Rules
1456×rational.json-simplify-57
1214×rational.json-simplify-35
854×rational.json-simplify-51
836×rational.json-simplify-2
814×rational.json-simplify-46
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01332480
12932480
26132348
314882348
430482348
546142348
658712348
Stop Event
node limit
Counts
80 → 119
Calls
Call 1
Inputs
x
(+.f64 (pow.f64 x 2) x)
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 3) x)))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
1
(+.f64 1 x)
(+.f64 1 (+.f64 (pow.f64 x 2) x))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x)))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (-.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 1))
(+.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))
(*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(*.f64 4 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4))
(*.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/2)
(*.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 1/4)
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))))
(*.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) 2)
(*.f64 (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4) 4)
(*.f64 (+.f64 1 (/.f64 (+.f64 2 (*.f64 x -2)) -2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(/.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 2)
(/.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 4)
(/.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8))) 32)
(pow.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(+.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (/.f64 1 (+.f64 2 (*.f64 x -2))))
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(-.f64 0 (/.f64 -2 (+.f64 2 (*.f64 x -2))))
(*.f64 2 (/.f64 1 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(*.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 4 (/.f64 1 (+.f64 4 (*.f64 x -4))))
(*.f64 (+.f64 4 (*.f64 x -4)) (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) 1/2)
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 2)
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 1/4 (/.f64 8 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) 1/4)
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x -4))) 4)
(*.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))) -1)
(*.f64 (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 4 (*.f64 x -4)))
(*.f64 (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/4))
(*.f64 (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/2))
(*.f64 (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2)))
(pow.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(neg.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))))
Outputs
x
(+.f64 (pow.f64 x 2) x)
(+.f64 x (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x))
(+.f64 (pow.f64 x 3) (+.f64 x (pow.f64 x 2)))
(+.f64 x (+.f64 (pow.f64 x 3) (pow.f64 x 2)))
(+.f64 x (+.f64 (pow.f64 x 2) (pow.f64 x 3)))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 3) x)))
(+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 3) (+.f64 x (pow.f64 x 2))))
(+.f64 (pow.f64 x 2) (+.f64 x (+.f64 (pow.f64 x 4) (pow.f64 x 3))))
(+.f64 (+.f64 x (+.f64 (pow.f64 x 2) (pow.f64 x 3))) (pow.f64 x 4))
(+.f64 x (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 2) (pow.f64 x 3))))
(+.f64 (+.f64 x (pow.f64 x 3)) (+.f64 (pow.f64 x 2) (pow.f64 x 4)))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(-.f64 -1 (/.f64 1 x))
(+.f64 -1 (/.f64 -1 x))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(-.f64 -1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(-.f64 -1 (/.f64 1 x))
(+.f64 -1 (/.f64 -1 x))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(-.f64 -1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
1
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (pow.f64 x 2) x))
(+.f64 (pow.f64 x 2) (+.f64 x 1))
(+.f64 x (+.f64 (pow.f64 x 2) 1))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x)))
(+.f64 (+.f64 (pow.f64 x 3) (+.f64 x (pow.f64 x 2))) 1)
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 x (pow.f64 x 3)) 1))
(+.f64 x (+.f64 (+.f64 (pow.f64 x 2) 1) (pow.f64 x 3)))
(+.f64 x (+.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 2) 1)))
(+.f64 (+.f64 x (+.f64 (pow.f64 x 2) (pow.f64 x 3))) 1)
(+.f64 x (+.f64 1 (+.f64 (pow.f64 x 2) (pow.f64 x 3))))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) (+.f64 x 1)))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(neg.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 4)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 4)))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 4)))))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(neg.f64 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 4)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 4)))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (-.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 1))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 -1 (/.f64 1 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (/.f64 1 (+.f64 2 (*.f64 x -2)))))
(+.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)))
(*.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))) (-.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2) 1))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 4 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/2)
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 1/4)
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))))
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1/2) 2)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (-.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2)))
(*.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))) (-.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2) 1))
(*.f64 (/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 4) 4)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 1 (/.f64 (+.f64 2 (*.f64 x -2)) -2)) (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 2)
(/.f64 (*.f64 2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2))))) 4)
(*.f64 1/2 (+.f64 -2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(/.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8) 8)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8)) 16)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 8))) 32)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(pow.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(+.f64 -2 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(+.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(+.f64 -1 (-.f64 1 (/.f64 -2 (+.f64 2 (*.f64 x -2)))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(+.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (/.f64 1 (+.f64 2 (*.f64 x -2))))
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(-.f64 0 (/.f64 -2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 2 (/.f64 1 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 2 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 4 (/.f64 1 (+.f64 4 (*.f64 x -4))))
(*.f64 (+.f64 4 (*.f64 x -4)) (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 4 (*.f64 x -4)) (/.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(*.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) 1/2)
(*.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))
(*.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) 2)
(*.f64 2 (/.f64 1 (+.f64 2 (*.f64 x -2))))
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/4) (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (*.f64 x -2)))))
(*.f64 1/2 (/.f64 4 (+.f64 2 (*.f64 x -2))))
(*.f64 1/4 (/.f64 8 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) 1/4)
(*.f64 1/4 (/.f64 8 (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x -4))) 4)
(*.f64 4 (/.f64 1 (+.f64 4 (*.f64 x -4))))
(*.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))) -1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 4 (*.f64 x -4)))
(*.f64 (+.f64 4 (*.f64 x -4)) (/.f64 1 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(*.f64 (+.f64 4 (*.f64 x -4)) (/.f64 (/.f64 1 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))))
(*.f64 (/.f64 (/.f64 8 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/4))
(*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 (*.f64 (+.f64 2 (*.f64 x -2)) 1/4) (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(*.f64 1/4 (*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 8 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 (/.f64 (/.f64 4 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (*.f64 (+.f64 2 (*.f64 x -2)) 1/2))
(*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2))))))
(*.f64 (/.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2))) (+.f64 2 (*.f64 x -2)))
(*.f64 (+.f64 2 (*.f64 x -2)) (/.f64 2 (*.f64 (+.f64 2 (*.f64 x -2)) (+.f64 2 (*.f64 x -2)))))
(pow.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(neg.f64 (/.f64 -2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))

eval52.0ms (0.6%)

Compiler

Compiled 2417 to 2032 computations (15.9% saved)

prune33.0ms (0.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2012203
Fresh011
Picked101
Done033
Total2026208
Error
0.0b
Counts
208 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(-.f64 (+.f64 x 1) 1)
60.0b
(+.f64 (+.f64 x -1) 1)
31.7b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
30.3b
x
47.5b
-1
Compiler

Compiled 41 to 35 computations (14.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.7b
(+.f64 (+.f64 x -1) 1)
Compiler

Compiled 13 to 10 computations (23.1% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite180.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1788×rational.json-simplify-35
1476×rational.json-simplify-51
1374×exponential.json-3
1374×rational.json-1
1374×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0713
1581
21311
32411
44861
511121
622651
732391
839951
947821
1057261
1163851
1273401
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(+.f64 (+.f64 x -1) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 16) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 16)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 16) 4) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x 16) 4)) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4)))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x . x)))))

simplify459.0ms (5.4%)

Algorithm
egg-herbie
Rules
3496×rational.json-simplify-48
2376×rational.json-simplify-1
1162×rational.json-simplify-35
1090×rational.json-simplify-41
942×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06140
113540
250040
3138740
4225440
5347240
6371940
7423240
8440540
9451840
10462040
11546940
12558940
13571840
14584140
15594740
16605840
17612340
18614840
19617340
20619840
21622340
22655840
Stop Event
node limit
Counts
40 → 29
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(-.f64 x 0)
(-.f64 (+.f64 x -1) -1)
(-.f64 (+.f64 x 1) 1)
(*.f64 x 1)
(*.f64 1 x)
(*.f64 2 (*.f64 x 1/2))
(*.f64 (+.f64 x x) 1/2)
(*.f64 4 (*.f64 x 1/4))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 1/2 (+.f64 x x))
(*.f64 (*.f64 x 8) 1/8)
(*.f64 1/4 (*.f64 x 4))
(*.f64 (*.f64 x 1/2) 2)
(*.f64 1/8 (*.f64 x 8))
(*.f64 (*.f64 x 1/4) 4)
(*.f64 1/16 (*.f64 x 16))
(*.f64 (/.f64 x 8) 8)
(/.f64 x 1)
(/.f64 (+.f64 x x) 2)
(/.f64 (*.f64 x 4) 4)
(/.f64 (*.f64 x 8) 8)
(/.f64 (*.f64 x 16) 16)
(/.f64 (*.f64 2 (*.f64 x 16)) 32)
(/.f64 (*.f64 (*.f64 x 16) 4) 64)
(/.f64 (*.f64 2 (*.f64 (*.f64 x 16) 4)) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4)))) 512)
(pow.f64 x 1)
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(-.f64 x 0)
x
(-.f64 (+.f64 x -1) -1)
x
(-.f64 (+.f64 x 1) 1)
x
(*.f64 x 1)
x
(*.f64 1 x)
x
(*.f64 2 (*.f64 x 1/2))
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 4 (*.f64 x 1/4))
x
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (*.f64 x 8) 1/8)
x
(*.f64 1/4 (*.f64 x 4))
x
(*.f64 (*.f64 x 1/2) 2)
x
(*.f64 1/8 (*.f64 x 8))
x
(*.f64 (*.f64 x 1/4) 4)
x
(*.f64 1/16 (*.f64 x 16))
x
(*.f64 (/.f64 x 8) 8)
x
(/.f64 x 1)
x
(/.f64 (+.f64 x x) 2)
x
(/.f64 (*.f64 x 4) 4)
x
(/.f64 (*.f64 x 8) 8)
x
(/.f64 (*.f64 x 16) 16)
x
(/.f64 (*.f64 2 (*.f64 x 16)) 32)
x
(/.f64 (*.f64 (*.f64 x 16) 4) 64)
x
(/.f64 (*.f64 2 (*.f64 (*.f64 x 16) 4)) 128)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4))) 256)
x
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 16) 4)))) 512)
x
(pow.f64 x 1)
x

eval4.0ms (0%)

Compiler

Compiled 155 to 121 computations (21.9% saved)

prune6.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New29029
Fresh022
Picked011
Done033
Total29635
Error
0.0b
Counts
35 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(-.f64 (+.f64 x 1) 1)
60.0b
(+.f64 (+.f64 x -1) 1)
31.7b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
30.3b
x
47.5b
-1
Compiler

Compiled 41 to 35 computations (14.6% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done044
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(-.f64 (+.f64 x 1) 1)
60.0b
(+.f64 (+.f64 x -1) 1)
31.7b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
30.3b
x
47.5b
-1
Compiler

Compiled 41 to 35 computations (14.6% saved)

regimes84.0ms (1%)

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

7 calls:

32.0ms
y
13.0ms
(*.f64 -2 x)
13.0ms
x
6.0ms
(exp.f64 (*.f64 -2 x))
5.0ms
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Results
ErrorSegmentsBranch
0.0b3x
21.5b6y
0.0b3(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
0.0b3(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
0.0b3(+.f64 1 (exp.f64 (*.f64 -2 x)))
0.0b3(exp.f64 (*.f64 -2 x))
0.0b3(*.f64 -2 x)
Compiler

Compiled 87 to 73 computations (16.1% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.3503074277619776e-5
836.1959645353862
0.0ms
-0.10950459956686977
-6.336826022550782e-5
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes51.0ms (0.6%)

Accuracy

Total -46.7b remaining (-289.1%)

Threshold costs -46.7b (-289.1%)

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

2 calls:

39.0ms
y
9.0ms
x
Results
ErrorSegmentsBranch
16.2b2x
27.8b5y
Compiler

Compiled 36 to 28 computations (22.2% saved)

bsearch19.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
-418.0979822676931
-1.1751537138809888e-5
Results
17.0ms144×body256valid
Compiler

Compiled 89 to 78 computations (12.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02991
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 -2 x) -3602879701896397/36028797018963968) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 5902958103587057/147573952589676412928) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) -1))
(if (<=.f64 x -1) -1 x)
-1
Outputs
(if (<=.f64 (*.f64 -2 x) -3602879701896397/36028797018963968) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 5902958103587057/147573952589676412928) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) -1))
(if (<=.f64 x -1) -1 x)
-1
Compiler

Compiled 43 to 36 computations (16.3% saved)

soundness114.0ms (1.3%)

Algorithm
egg-herbie
Rules
1270×rational.json-simplify-53
1208×rational.json-simplify-51
864×rational.json-simplify-2
826×rational.json-simplify-41
822×rational.json-simplify-39
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02003367
14423367
227213163
350453163
Stop Event
node limit
Compiler

Compiled 20 to 18 computations (10% saved)

end29.0ms (0.3%)

Compiler

Compiled 39 to 32 computations (17.9% saved)

Profiling

Loading profile data...