Details

Time bar (total: 13.1s)

analyze172.0ms (1.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
29.7%29.6%70.2%0.1%0%0%0%9
42.2%42.1%57.7%0.1%0%0%0%10
47.7%47.6%52.1%0.1%0.2%0%0%11
54.7%53.8%44.6%0.1%1.5%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample2.7s (20.4%)

Results
2.2s8256×body256valid
477.0ms1930×body256infinite
Bogosity

preprocess2.3s (17.8%)

Algorithm
egg-herbie
Rules
23490×rational.json-simplify-41
3388×rational.json-simplify-1
1304×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
13276
24376
36876
412176
527476
671176
794976
896076
997176
1098276
1199376
12100476
13101576
14102676
15103776
16104876
17105976
18107076
19108176
20109276
21110376
22318176
23319276
24320376
25321476
26322576
27323676
28324776
29325876
30326976
31328076
32329176
33330276
34331376
35332476
36333576
37334676
38462276
39463376
40464476
41465576
42466676
43467776
44468876
45469976
46471076
47472176
48473276
49474376
50475476
51476576
52477676
53478776
54479876
55480976
56482076
57483176
58484276
59485376
60486476
61487576
62488676
63489776
64490876
65491976
66493076
67494176
68495276
69496376
70497476
71498576
72499676
73500776
74501876
75502976
76504076
77505176
78506276
79507376
80508476
81509576
82510676
83511776
84512876
85513976
86515076
87516176
88517276
89518376
90519476
91520576
92521676
93522776
94523876
95524976
96526076
97527176
98528276
99529376
100530476
101531576
102532676
103533776
104534876
105535976
106537076
107538176
108539276
109540376
110541476
111542576
112543676
113544776
114545876
115546976
116548076
117549176
118550276
119551376
120552476
121553576
122554676
123555776
124556876
125557976
126559076
127560176
128561276
129562376
130563476
131564576
132565676
133566776
134567876
135568976
136570076
137571176
138572276
139573376
140574476
141575576
142576676
143577776
144578876
145579976
146581076
147582176
148583276
149584376
150585476
151586576
152587676
153588776
154589876
155590976
156592076
157593176
158594276
159595376
160596476
161597576
162598676
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
(+.f64 y (/.f64 (-.f64 x y) z))
(+.f64 z (/.f64 (-.f64 y z) x))
(+.f64 x (/.f64 (-.f64 z x) y))
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))
(+.f64 y (/.f64 (-.f64 x y) z))
(+.f64 z (/.f64 (-.f64 y z) x))
(+.f64 x (/.f64 (-.f64 z x) y))
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify6.3s (47.8%)

Algorithm
egg-herbie
Rules
25424×rational.json-simplify-41
2290×rational.json-simplify-1
648×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11219
21519
32219
43719
58119
620619
760819
876819
977119
1077419
1177719
1278019
1378319
1478619
1578919
1679219
1779519
1879819
1980119
2080419
2180719
2281019
23261919
24262219
25262519
26262819
27263119
28263419
29342319
30342619
31342919
32343219
33343519
34343819
35344119
36344419
37344719
38345019
39345319
40345619
41345919
42346219
43346519
44346819
45347119
46347419
47347719
48348019
49348319
50348619
51348919
52349219
53349519
54349819
55350119
56350419
57350719
58351019
59351319
60351619
61351919
62352219
63352519
64352819
65353119
66353419
67353719
68354019
69354319
70354619
71354919
72355219
73355519
74355819
75356119
76356419
77356719
78357019
79357319
80357619
81357919
82358219
83358519
84358819
85359119
86359419
87359719
88360019
89360319
90360619
91360919
92361219
93361519
94361819
95362119
96362419
97362719
98363019
99363319
100363619
101363919
102364219
103364519
104364819
105365119
106365419
107365719
108366019
109366319
110366619
111366919
112367219
113367519
114367819
115368119
116368419
117368719
118369019
119369319
120369619
121369919
122370219
123370519
124370819
125371119
126371419
127371719
128372019
129372319
130372619
131372919
132373219
133373519
134373819
135374119
136374419
137374719
138375019
139375319
140375619
141375919
142376219
143376519
144376819
145377119
146377419
147377719
148378019
149378319
150378619
151378919
152379219
153379519
154379819
155380119
156380419
157380719
158381019
159381319
160381619
161381919
162382219
163382519
164382819
165383119
166383419
167383719
168384019
169384319
170384619
171384919
172385219
173385519
174385819
175386119
176386419
177386719
178387019
179387319
180387619
181387919
182388219
183388519
184388819
185389119
186389419
187389719
188390019
189390319
190390619
191390919
192391219
193391519
194391819
195392119
196392419
197392719
198393019
199393319
200393619
201393919
202394219
203394519
204394819
205395119
206395419
207395719
208396019
209396319
210396619
211396919
212397219
213397519
214397819
215398119
216398419
217398719
218399019
219399319
220399619
221399919
222400219
223400519
224400819
225401119
226401419
227401719
228402019
229402319
230402619
231402919
232403219
233403519
234403819
235404119
236404419
237404719
238405019
239405319
240405619
241405919
242406219
243406519
244406819
245407119
246407419
247407719
248408019
249408319
250408619
251408919
252409219
253409519
254409819
255410119
256410419
257410719
258411019
259411319
260411619
261411919
262412219
263412519
264412819
265413119
266413419
267413719
268414019
269414319
270414619
271414919
272415219
273415519
274415819
275416119
276416419
277416719
278417019
279417319
280417619
281417919
282418219
283418519
284418819
285419119
286419419
287419719
288420019
289420319
290420619
291420919
292421219
293421519
294421819
295422119
296422419
297422719
298423019
299423319
300423619
301423919
302424219
303424519
304424819
305425119
306425419
307425719
308426019
309426319
310426619
311426919
312427219
313427519
314427819
315428119
316428419
317428719
318429019
319429319
320429619
321429919
322430219
323430519
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))

eval0.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 10 to 6 computations (40% saved)

localize80.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 21 to 6 computations (71.4% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 x (/.f64 (-.f64 y x) z))
0.0ms
y
@inf
(+.f64 x (/.f64 (-.f64 y x) z))
0.0ms
x
@0
(+.f64 x (/.f64 (-.f64 y x) z))
0.0ms
y
@-inf
(+.f64 x (/.f64 (-.f64 y x) z))
0.0ms
z
@0
(+.f64 x (/.f64 (-.f64 y x) z))

rewrite70.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15419
213819
335119
487819
5346919
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))))

simplify204.0ms (1.6%)

Algorithm
egg-herbie
Rules
1484×rational.json-simplify-1
1348×rational.json-simplify-46
1224×rational.json-simplify-35
1020×rational.json-simplify-2
984×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0691250
11371244
23271244
38001244
413021244
528411244
632841244
734491244
836111244
939381244
1051621244
1166551244
1277231244
Stop Event
node limit
Counts
56 → 42
Calls
Call 1
Inputs
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(-.f64 x (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))
(*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2))
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z))))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4)))
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2)
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16)
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
Outputs
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(-.f64 x (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z)))
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z)))
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z))))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z)))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z))))
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z)))
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z)))
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z))))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z)))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z))))
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z)))
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z)))
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z))))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z)))
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z))))
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z)))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z)))
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z))))
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4)))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16)
(+.f64 x (/.f64 (-.f64 y x) z))
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))

eval8.0ms (0.1%)

Compiler

Compiled 410 to 160 computations (61% saved)

prune7.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New38442
Fresh000
Picked011
Done000
Total38543
Error
0.0b
Counts
43 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
29.0b
(/.f64 (-.f64 y x) z)
38.0b
(/.f64 y z)
24.6b
(-.f64 x (/.f64 x z))
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
33.9b
x
Compiler

Compiled 36 to 23 computations (36.1% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 x z))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
14113
211713
330613
480613
5337513
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(-.f64 x (/.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (neg.f64 x) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (-.f64 1 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (/.f64 -1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 x z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 1 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) x))))))

simplify122.0ms (0.9%)

Algorithm
egg-herbie
Rules
1478×rational.json-simplify-35
1090×rational.json-simplify-2
918×rational.json-simplify-1
826×rational.json-simplify-26
798×rational.json-simplify-46
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01091343
12211341
25041341
312241341
424571341
537301341
657031341
77120963
Stop Event
node limit
Counts
71 → 57
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (/.f64 (neg.f64 x) z))
(+.f64 (-.f64 x (/.f64 x z)) 0)
(+.f64 0 (-.f64 x (/.f64 x z)))
(+.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1))
(+.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x))
(+.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z)))
(+.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1)
(+.f64 (/.f64 (neg.f64 x) z) x)
(+.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2))
(+.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z)))
(+.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 x (+.f64 1 (/.f64 -1 z)))
(*.f64 (-.f64 x (/.f64 x z)) 1)
(*.f64 1 (-.f64 x (/.f64 x z)))
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z)))
(*.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z)))
(*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2)
(*.f64 (-.f64 (/.f64 x z) x) -1)
(*.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1))
(*.f64 -1 (-.f64 (/.f64 x z) x))
(*.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2))
(*.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))))
(*.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z)))
(*.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x))
(*.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z))
(*.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4))
(*.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z))))
(*.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z)))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4)
(*.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x))
(*.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2)
(/.f64 (-.f64 x (/.f64 x z)) 1)
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2)
(/.f64 (-.f64 (/.f64 x z) x) -1)
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2)
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2)
(pow.f64 (-.f64 x (/.f64 x z)) 1)
(neg.f64 (-.f64 (/.f64 x z) x))
Outputs
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(/.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 x (/.f64 (neg.f64 x) z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (-.f64 x (/.f64 x z)) 0)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 0 (-.f64 x (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (/.f64 (neg.f64 x) z) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(+.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(-.f64 x (/.f64 x z))
(*.f64 x (+.f64 1 (/.f64 -1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 x (/.f64 x z)) 1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1 (-.f64 x (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z)))
(*.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z)))
(*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 (/.f64 x z) x) -1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 -1 (-.f64 (/.f64 x z) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 -2 (/.f64 x z))))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (/.f64 x z) -2))))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 x (/.f64 -2 z)))))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 x (/.f64 -2 z))))
(*.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z))))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z)))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x))
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z)))
(*.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 x (/.f64 x z)) 1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 (/.f64 x z) x) -1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(pow.f64 (-.f64 x (/.f64 x z)) 1)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))
(neg.f64 (-.f64 (/.f64 x z) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 x (/.f64 x z))

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize60.0ms (0.5%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

eval8.0ms (0.1%)

Compiler

Compiled 484 to 236 computations (51.2% saved)

prune9.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New56157
Fresh011
Picked011
Done033
Total56662
Error
0.0b
Counts
62 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.0b
(/.f64 (-.f64 y x) z)
38.0b
(/.f64 y z)
53.1b
(/.f64 x (neg.f64 z))
24.6b
(-.f64 x (/.f64 x z))
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
33.9b
x
Compiler

Compiled 43 to 28 computations (34.9% saved)

localize71.0ms (0.5%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done044
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.0b
(/.f64 (-.f64 y x) z)
38.0b
(/.f64 y z)
53.1b
(/.f64 x (neg.f64 z))
24.6b
(-.f64 x (/.f64 x z))
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
33.9b
x
Compiler

Compiled 43 to 28 computations (34.9% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done055
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
29.0b
(/.f64 (-.f64 y x) z)
38.0b
(/.f64 y z)
53.1b
(/.f64 x (neg.f64 z))
24.6b
(-.f64 x (/.f64 x z))
0.0b
(+.f64 x (/.f64 (-.f64 y x) z))
33.9b
x
Compiler

Compiled 43 to 28 computations (34.9% saved)

regimes22.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
x
(/.f64 y z)
(/.f64 x (neg.f64 z))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 y x) z)
(+.f64 x (/.f64 (-.f64 y x) z))
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))
Calls

4 calls:

7.0ms
y
5.0ms
(+.f64 x (/.f64 (-.f64 y x) z))
5.0ms
z
4.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 50 to 26 computations (48% saved)

regimes170.0ms (1.3%)

Counts
5 → 5
Calls
Call 1
Inputs
x
(/.f64 y z)
(/.f64 x (neg.f64 z))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 y x) z)
Outputs
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 y x) z)
(-.f64 x (/.f64 x z))
(/.f64 y z)
(-.f64 x (/.f64 x z))
Calls

3 calls:

81.0ms
z
71.0ms
x
17.0ms
y
Results
ErrorSegmentsBranch
13.3b3x
13.4b3y
11.0b5z
Compiler

Compiled 33 to 19 computations (42.4% saved)

bsearch51.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
2.212345309128317e+100
4.261238450691281e+102
12.0ms
1.089133543556185e+85
8.81527779694712e+86
15.0ms
1172061.9095782193
12016525373.645027
12.0ms
-1800797179440.5051
-553170647.9983349
Results
43.0ms480×body256valid
Compiler

Compiled 528 to 357 computations (32.4% saved)

regimes127.0ms (1%)

Counts
4 → 3
Calls
Call 1
Inputs
x
(/.f64 y z)
(/.f64 x (neg.f64 z))
(-.f64 x (/.f64 x z))
Outputs
(/.f64 y z)
(-.f64 x (/.f64 x z))
(/.f64 y z)
Calls

3 calls:

91.0ms
x
21.0ms
z
15.0ms
y
Results
ErrorSegmentsBranch
15.7b3x
14.1b3y
18.5b5z
Compiler

Compiled 28 to 17 computations (39.3% saved)

bsearch17.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
2.439194587755783e+77
4.435491455030104e+79
3.0ms
-2.640412762379515e-39
-2.4498813418404083e-39
Results
14.0ms144×body256valid
1.0msbody256infinite
Compiler

Compiled 160 to 110 computations (31.3% saved)

regimes160.0ms (1.2%)

Counts
3 → 5
Calls
Call 1
Inputs
x
(/.f64 y z)
(/.f64 x (neg.f64 z))
Outputs
x
(/.f64 y z)
(/.f64 x (neg.f64 z))
(/.f64 y z)
x
Calls

3 calls:

140.0ms
z
10.0ms
y
10.0ms
x
Results
ErrorSegmentsBranch
22.4b3x
22.6b3y
18.5b5z
Compiler

Compiled 23 to 15 computations (34.8% saved)

bsearch122.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
2.212345309128317e+100
4.261238450691281e+102
37.0ms
2.091854242730796e-279
1.8910121858845132e-272
12.0ms
-3.5803351115067446e-45
-1.8040175538538545e-46
13.0ms
-1800797179440.5051
-553170647.9983349
Results
91.0ms496×body256valid
24.0ms294×body256infinite
Compiler

Compiled 436 to 322 computations (26.1% saved)

regimes117.0ms (0.9%)

Accuracy

Total -41.3b remaining (-199.4%)

Threshold costs -41.3b (-199.4%)

Counts
2 → 3
Calls
Call 1
Inputs
x
(/.f64 y z)
Outputs
x
(/.f64 y z)
x
Calls

3 calls:

100.0ms
y
8.0ms
z
8.0ms
x
Results
ErrorSegmentsBranch
22.4b3x
22.6b3y
20.7b3z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch69.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
2.212345309128317e+100
4.261238450691281e+102
58.0ms
-1800797179440.5051
-553170647.9983349
Results
66.0ms240×body256valid
Compiler

Compiled 196 to 146 computations (25.5% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051250
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
(if (<=.f64 z -1750000000000) (-.f64 x (/.f64 x z)) (if (<=.f64 z 7200000) (/.f64 (-.f64 y x) z) (if (<=.f64 z 759999999999999955905357600988393204059185772560934225442872420885952795530678853697536) (-.f64 x (/.f64 x z)) (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) (-.f64 x (/.f64 x z))))))
(if (<=.f64 y -7815727258416033/3064991081731777716716694054300618367237478244367204352) (/.f64 y z) (if (<=.f64 y 1450000000000000084306575461652833659695763127552287486042442820388174535065600) (-.f64 x (/.f64 x z)) (/.f64 y z)))
(if (<=.f64 z -31000000000) x (if (<=.f64 z -5784976959332365/3213876088517980551083924184682325205044405987565585670602752) (/.f64 y z) (if (<=.f64 z 7016626088207999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (/.f64 x (neg.f64 z)) (if (<=.f64 z 90000000000000007259266876555579836973632997546064252435252465176149112704970658764034085488336830464) (/.f64 y z) x))))
(if (<=.f64 z -520000000000) x (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) x))
x
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))
(if (<=.f64 z -1750000000000) (-.f64 x (/.f64 x z)) (if (<=.f64 z 7200000) (/.f64 (-.f64 y x) z) (if (<=.f64 z 759999999999999955905357600988393204059185772560934225442872420885952795530678853697536) (-.f64 x (/.f64 x z)) (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) (-.f64 x (/.f64 x z))))))
(if (<=.f64 y -7815727258416033/3064991081731777716716694054300618367237478244367204352) (/.f64 y z) (if (<=.f64 y 1450000000000000084306575461652833659695763127552287486042442820388174535065600) (-.f64 x (/.f64 x z)) (/.f64 y z)))
(if (<=.f64 z -31000000000) x (if (<=.f64 z -5784976959332365/3213876088517980551083924184682325205044405987565585670602752) (/.f64 y z) (if (<=.f64 z 7016626088207999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (/.f64 x (neg.f64 z)) (if (<=.f64 z 90000000000000007259266876555579836973632997546064252435252465176149112704970658764034085488336830464) (/.f64 y z) x))))
(if (<=.f64 z -520000000000) x (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) x))
x
Compiler

Compiled 125 to 69 computations (44.8% saved)

soundness0.0ms (0%)

end80.0ms (0.6%)

Compiler

Compiled 110 to 47 computations (57.3% saved)

Profiling

Loading profile data...