Details

Time bar (total: 9.7s)

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)

sample2.6s (27.4%)

Results
1.3s2169×body1024valid
778.0ms4869×body256valid
504.0ms1000×body512valid
79.0ms218×body2048valid
Bogosity

preprocess2.8s (28.7%)

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.1s (11.6%)

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

Compiled 12 to 11 computations (8.3% saved)

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 37 to 31 computations (16.2% saved)

series3.0ms (0%)

Counts
2 → 16
Calls

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

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1242×bool.json-1
1242×bool.json-2
1204×rational.json-simplify-35
1198×rational.json-1
1198×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01252
112852
235752
375552
4158852
5391052
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
Outputs
((#(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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))))) (#(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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 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 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -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)))) 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 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 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 1/2 (*.f64 (+.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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 1/2 (*.f64 (+.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 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 1 (*.f64 (+.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 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 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.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 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 2 (*.f64 (+.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 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.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))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (+.f64 1 (exp.f64 (*.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.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 or (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))))

simplify105.0ms (1.1%)

Algorithm
egg-herbie
Rules
1256×rational.json-simplify-59
1036×rational.json-simplify-55
976×rational.json-simplify-35
856×rational.json-simplify-2
800×rational.json-simplify-50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01162407
12252407
25532359
316362359
434752167
554202167
Stop Event
node limit
Counts
65 → 91
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)
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 (/.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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))
(*.f64 (*.f64 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)) 1/2)
(*.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))
(*.f64 1/4 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))
(*.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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 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 2 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)) 2)
(/.f64 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)))) 32)
(+.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 1 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(*.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 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(*.f64 4 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))))
(*.f64 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1/2)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2) (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))
(*.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 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))
(*.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) 1/4)
(*.f64 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4) 4)
(*.f64 (/.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(*.f64 (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(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 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.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 -17/315 (pow.f64 x 7)) (+.f64 x (+.f64 (*.f64 2/15 (pow.f64 x 5)) (*.f64 -1/3 (pow.f64 x 3)))))
(+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) (*.f64 -17/315 (pow.f64 x 7))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) -1)
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 1 (+.f64 x (+.f64 (*.f64 2/15 (pow.f64 x 5)) (*.f64 -1/3 (pow.f64 x 3)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (+.f64 1 (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (+.f64 (*.f64 2/15 (pow.f64 x 5)) 1)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x 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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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) 4) 1/4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 2 (+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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) 4) 4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)) 2)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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) 4) 4)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)) 8)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) 16)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 4)))) 32)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(+.f64 -1 (*.f64 1/2 (/.f64 4 (+.f64 1 (exp.f64 (*.f64 x -2))))))
(+.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)))) 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 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 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 1/2 (*.f64 (+.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 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -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 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/2))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/2)) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.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 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 1 (*.f64 (+.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 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.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 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))))
(*.f64 1/4 (/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 1/4 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 1/4 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4) (/.f64 2 (*.f64 (+.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 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) 1/4)
(*.f64 1/4 (/.f64 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 1/4 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2)))))))
(*.f64 1/4 (/.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4))))
(*.f64 (/.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4) 4)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 1 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/4))) (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 1/2 (+.f64 1 (exp.f64 (*.f64 x -2)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/4)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 1/2 (*.f64 1/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 2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (+.f64 1 (exp.f64 (*.f64 x -2))))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (/.f64 (/.f64 -2 (-.f64 -1 (exp.f64 (*.f64 x -2)))) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) (*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1/2))) (+.f64 2 (*.f64 2 (exp.f64 (*.f64 -2 x)))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/2))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (*.f64 x -2)))) (/.f64 (/.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 x -2))) 1/2)) (+.f64 1 (exp.f64 (*.f64 x -2)))))
(*.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))))))
(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))))

eval34.0ms (0.4%)

Compiler

Compiled 1506 to 1329 computations (11.8% saved)

prune13.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New88391
Fresh000
Picked011
Done000
Total88492
Error
0b
Counts
92 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(-.f64 (+.f64 x 1) 1)
31.1b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
29.7b
x
Compiler

Compiled 31 to 26 computations (16.1% saved)

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

rewrite109.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1730×bool.json-1
1730×bool.json-2
1674×rational.json-1
1146×rational.json-simplify-35
1082×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
17932
220832
342232
486632
5186832
6422332
7701932
Stop Event
node limit
Counts
2 → 32
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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/3 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1/3 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1/3 (pow.f64 x 3)))))))
((#(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 x (*.f64 -1/3 (pow.f64 x 3))) 1/2))))) (#(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 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))))))) (#(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 x (*.f64 -1/3 (pow.f64 x 3))) 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 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) (+.f64 x (*.f64 -1/3 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) (+.f64 x (*.f64 -1/3 (pow.f64 x 3))))))))

simplify723.0ms (7.5%)

Algorithm
egg-herbie
Rules
3298×rational.json-simplify-35
2760×rational.json-simplify-2
2640×rational.json-simplify-51
1358×rational.json-simplify-49
1122×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075581
1156581
2387581
31072581
42119581
52759581
62876581
72962581
83027581
93091581
103155581
113219581
123284581
133349581
143414581
153479581
163544581
173609581
183674581
194645581
206455581
216541581
226545581
236545581
246545581
256576581
266638581
276700581
286761581
296822581
306883581
316944581
327005581
337066581
347127581
Stop Event
node limit
Counts
35 → 35
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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)
(-.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 x (*.f64 -1/3 (pow.f64 x 3))) 1/2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 x 1/2)))
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -2/3) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 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 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8)))) 64)
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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -8/3)))) 64)
(*.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 x (*.f64 -1/3 (pow.f64 x 3))) 1/2))
(+.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 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))))
(+.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 x (*.f64 -1/3 (pow.f64 x 3))) 1/2) 2)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.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 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -2/3))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 8))) (*.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)))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.0b
(-.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)

rewrite105.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1840×bool.json-1
1840×bool.json-2
1184×rational.json-simplify-35
1148×rational.json-1
1148×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0613
1721
22451
34781
49841
522501
648101
773971
Stop Event
node limit
Counts
1 → 33
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 (+.f64 x -3) 3)))) (#(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 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 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 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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x . x)))) (#(struct:change #<rule egg-rr> (2) ((x not (not x))))) (#(struct:change #<rule egg-rr> (2) ((x and x x)))) (#(struct:change #<rule egg-rr> (2) ((x or x x)))))

simplify376.0ms (3.9%)

Algorithm
egg-herbie
Rules
3576×rational.json-simplify-48
2418×rational.json-simplify-51
1914×rational.json-simplify-2
1646×rational.json-simplify-1
1498×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06545
111845
245945
3136645
4216545
5289745
6319745
7327445
8333145
9339545
10389345
11505345
12551945
13558745
14565145
15572245
16596545
17631945
18641245
19650545
20659845
21669145
22749145
Stop Event
node limit
Counts
45 → 34
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 (+.f64 x -3) 3)
(+.f64 3 (+.f64 x -3))
(+.f64 (+.f64 x 3) -3)
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
(+.f64 -3 (+.f64 x 3))
(*.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 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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
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 (+.f64 x -3) 3)
x
(+.f64 3 (+.f64 x -3))
x
(+.f64 (+.f64 x 3) -3)
x
(+.f64 (*.f64 x 1/2) (*.f64 x 1/2))
x
(+.f64 -3 (+.f64 x 3))
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 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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
x

eval14.0ms (0.1%)

Compiler

Compiled 561 to 443 computations (21% saved)

prune10.0ms (0.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New68169
Fresh011
Picked101
Done022
Total69473
Error
0b
Counts
73 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(+.f64 (+.f64 x 2) -2)
31.1b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
29.7b
x
Compiler

Compiled 31 to 26 computations (16.1% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.0b
(+.f64 (+.f64 x 2) -2)
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 2) -2)
0.0ms
x
@inf
(+.f64 (+.f64 x 2) -2)
0.0ms
x
@-inf
(+.f64 (+.f64 x 2) -2)

rewrite88.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1510×bool.json-1
1510×bool.json-2
1468×rational.json-1
1468×rational.json-2
1468×rational.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0713
1701
21921
33781
47891
517591
638261
764571
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (+.f64 x 2) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(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 (*.f64 x 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 4))))) (#(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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x . x)))) (#(struct:change #<rule egg-rr> (2) ((x not (not x))))) (#(struct:change #<rule egg-rr> (2) ((x and x x)))) (#(struct:change #<rule egg-rr> (2) ((x or x x)))))

simplify1.3s (13.4%)

Algorithm
egg-herbie
Rules
4456×rational.json-simplify-51
3988×rational.json-simplify-2
2956×rational.json-simplify-35
1012×rational.json-simplify-1
946×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04232
18032
229032
382932
4137732
5204932
6239832
7247132
8251732
9254832
10257832
11260832
12263832
13266832
14269832
15272832
16275832
17278832
18281832
19347032
20383332
21387932
22392532
23396832
24401032
25405232
26409432
27413632
28417832
29422032
30426232
31430432
32434632
33434632
34438832
35748032
36753732
37756532
38759332
39762132
40764932
41767732
42770532
43773332
44776132
45778932
46781732
47784532
48787332
49790132
50792932
Stop Event
node limit
Counts
32 → 21
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(-.f64 x 0)
(*.f64 x 1)
(*.f64 2 (*.f64 x 1/2))
(*.f64 1 x)
(*.f64 (+.f64 x x) 1/2)
(*.f64 4 (*.f64 x 1/4))
(*.f64 (*.f64 x 4) 1/4)
(*.f64 (*.f64 x 8) 1/8)
(*.f64 1/2 (+.f64 x x))
(*.f64 (*.f64 x 1/2) 2)
(*.f64 1/4 (*.f64 x 4))
(*.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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(-.f64 x 0)
x
(*.f64 x 1)
x
(*.f64 2 (*.f64 x 1/2))
x
(*.f64 1 x)
x
(*.f64 (+.f64 x x) 1/2)
x
(*.f64 4 (*.f64 x 1/4))
x
(*.f64 (*.f64 x 4) 1/4)
x
(*.f64 (*.f64 x 8) 1/8)
x
(*.f64 1/2 (+.f64 x x))
x
(*.f64 (*.f64 x 1/2) 2)
x
(*.f64 1/4 (*.f64 x 4))
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 (*.f64 2 (*.f64 2 (*.f64 x 8))) (*.f64 2 (*.f64 2 (*.f64 x 8)))) 64)
x

eval3.0ms (0%)

Compiler

Compiled 113 to 86 computations (23.9% saved)

prune4.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New21021
Fresh011
Picked011
Done022
Total21425
Error
0b
Counts
25 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(+.f64 (+.f64 x 2) -2)
31.1b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
29.7b
x
Compiler

Compiled 31 to 26 computations (16.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
60.0b
(+.f64 (+.f64 x 2) -2)
31.1b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
29.7b
x
Compiler

Compiled 31 to 26 computations (16.1% saved)

regimes77.0ms (0.8%)

Counts
5 → 3
Calls
Call 1
Inputs
x
(+.f64 (+.f64 x 2) -2)
(-.f64 (+.f64 x 1) 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)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Calls

7 calls:

31.0ms
y
12.0ms
x
11.0ms
(*.f64 -2 x)
6.0ms
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
6.0ms
(exp.f64 (*.f64 -2 x))
Results
ErrorSegmentsBranch
0b3x
21.3b8y
0b3(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
0b3(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
0b3(+.f64 1 (exp.f64 (*.f64 -2 x)))
0b3(exp.f64 (*.f64 -2 x))
0b3(*.f64 -2 x)
Compiler

Compiled 77 to 64 computations (16.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00017612212955035392
13429.957546548776
0.0ms
-144.81795298441727
-1.664745153831437e-5
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes10.0ms (0.1%)

Accuracy

Total -31.8b remaining (-107.1%)

Threshold costs -31.8b (-107.1%)

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

2 calls:

4.0ms
x
3.0ms
y
Results
ErrorSegmentsBranch
29.7b1x
29.7b1y
Compiler

Compiled 26 to 19 computations (26.9% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026108
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 -2 x) -100) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 7378697629483821/36893488147419103232) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
x
Outputs
(if (<=.f64 (*.f64 -2 x) -100) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 7378697629483821/36893488147419103232) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
x
Compiler

Compiled 44 to 37 computations (15.9% saved)

soundness0.0ms (0%)

end29.0ms (0.3%)

Compiler

Compiled 42 to 35 computations (16.7% saved)

Profiling

Loading profile data...