Details

Time bar (total: 11.5s)

analyze71.0ms (0.6%)

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
15.6%15.6%84.3%0.1%0%0%0%6
39.1%39%60.9%0.1%0%0%0%7
51.6%51.5%48.4%0.1%0%0%0%8
66%66%34%0.1%0%0%0%9
73.8%73.8%26.1%0.1%0%0%0%10
82.1%82%17.9%0.1%0%0%0%11
86.4%86.3%13.6%0.1%0%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

sample7.4s (64.8%)

Results
7.4s8256×body256valid
Bogosity

preprocess921.0ms (8%)

Algorithm
egg-herbie
Rules
16374×rational.json-simplify-41
1646×rational.json-simplify-1
648×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
11638
22538
34838
410938
531938
643038
743538
844038
944538
1045038
11162338
12162838
13163338
14163838
15164338
16164838
17227938
18228438
19228938
20229438
21229938
22230438
23230938
24231438
25231938
26232438
27232938
28233438
29233938
30234438
31234938
32235438
33235938
34236438
35236938
36237438
37237938
38238438
39238938
40239438
41239938
42240438
43240938
44241438
45241938
46242438
47242938
48243438
49243938
50244438
51244938
52245438
53245938
54246438
55246938
56247438
57247938
58248438
59248938
60249438
61249938
62250438
63250938
64251438
65251938
66252438
67252938
68253438
69253938
70254438
71254938
72255438
73255938
74256438
75256938
76257438
77257938
78258438
79258938
80259438
81259938
82260438
83260938
84261438
85261938
86262438
87262938
88263438
89263938
90264438
91264938
92265438
93265938
94266438
95266938
96267438
97267938
98268438
99268938
100269438
101269938
102270438
103270938
104271438
105271938
106272438
107272938
108273438
109273938
110274438
111274938
112275438
113275938
114276438
115276938
116277438
117277938
118278438
119278938
120279438
121279938
122280438
123280938
124281438
125281938
126282438
127282938
128283438
129283938
130284438
131284938
132285438
133285938
134286438
135286938
136287438
137287938
138288438
139288938
140289438
141289938
142290438
143290938
144291438
145291938
146292438
147292938
148293438
149293938
150294438
151294938
152295438
153295938
154296438
155296938
156297438
157297938
158298438
159298938
160299438
161299938
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (-.f64 x y) (+.f64 x y))
(/.f64 (-.f64 y x) (+.f64 y x))
Outputs
(/.f64 (-.f64 x y) (+.f64 x y))
(/.f64 (-.f64 y x) (+.f64 y x))
(/.f64 (-.f64 y x) (+.f64 x y))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify1.2s (10.5%)

Algorithm
egg-herbie
Rules
14546×rational.json-simplify-41
1432×rational.json-simplify-1
324×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11119
21819
33719
49219
528419
637519
737819
838119
938419
1038719
11136519
12136819
13137119
14137419
15137719
16138019
17192219
18192519
19192819
20193119
21193419
22193719
23194019
24194319
25194619
26194919
27195219
28195519
29195819
30196119
31196419
32196719
33197019
34197319
35197619
36197919
37198219
38198519
39198819
40199119
41199419
42199719
43200019
44200319
45200619
46200919
47201219
48201519
49201819
50202119
51202419
52202719
53203019
54203319
55203619
56203919
57204219
58204519
59204819
60205119
61205419
62205719
63206019
64206319
65206619
66206919
67207219
68207519
69207819
70208119
71208419
72208719
73209019
74209319
75209619
76209919
77210219
78210519
79210819
80211119
81211419
82211719
83212019
84212319
85212619
86212919
87213219
88213519
89213819
90214119
91214419
92214719
93215019
94215319
95215619
96215919
97216219
98216519
99216819
100217119
101217419
102217719
103218019
104218319
105218619
106218919
107219219
108219519
109219819
110220119
111220419
112220719
113221019
114221319
115221619
116221919
117222219
118222519
119222819
120223119
121223419
122223719
123224019
124224319
125224619
126224919
127225219
128225519
129225819
130226119
131226419
132226719
133227019
134227319
135227619
136227919
137228219
138228519
139228819
140229119
141229419
142229719
143230019
144230319
145230619
146230919
147231219
148231519
149231819
150232119
151232419
152232719
153233019
154233319
155233619
156233919
157234219
158234519
159234819
160235119
161235419
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (+.f64 x y))
Outputs
(/.f64 (-.f64 x y) (+.f64 x y))

eval0.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% 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 (-.f64 x y) (+.f64 x y))
Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 5 computations (70.6% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite85.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1894×bool.json-1
1894×bool.json-2
1858×rational.json-1
1592×bool.json-3
556×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
17219
223219
359719
4150419
5509219
Stop Event
node limit
Counts
1 → 53
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (+.f64 x y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (-.f64 x y) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x y) (*.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x y) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (/.f64 (/.f64 1 (-.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 x y) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 2) (/.f64 1/2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 4) (/.f64 1 (*.f64 (+.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 4) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/4 (/.f64 1 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/2 (/.f64 1/2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x y)) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) (/.f64 -1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) (*.f64 (/.f64 -1 (+.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) (*.f64 -1 (/.f64 1 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 2 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (-.f64 y x) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (-.f64 y x) (+.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (-.f64 x y) 2) (neg.f64 (*.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1/2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 x y) (*.f64 (+.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 x y) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 x y)) (*.f64 (-.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) -2) (/.f64 1/2 (neg.f64 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 x y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) (*.f64 (-.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 y x) (+.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (+.f64 x y) (-.f64 x y))) (/.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 1/2) (/.f64 2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 x y)) (/.f64 (neg.f64 (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 x y)) (-.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 1/2 (+.f64 x y))) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 y x) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (-.f64 x y) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (-.f64 x y) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (-.f64 x y) (+.f64 x y)))))))

simplify171.0ms (1.5%)

Algorithm
egg-herbie
Rules
1366×rational.json-simplify-2
846×rational.json-simplify-53
762×rational.json-simplify-35
728×rational.json-simplify-61
704×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01992585
14872497
211752441
345032333
Stop Event
node limit
Counts
77 → 137
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 2 (/.f64 x y)) 1)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 2 (/.f64 x y))) 1)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 2 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 2 (/.f64 x y)))) 1)
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 y x))) (/.f64 y x))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x)))) (/.f64 y x))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))) (/.f64 y x))
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 y x))) (/.f64 y x))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x)))) (/.f64 y x))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))) (/.f64 y x))
1
(+.f64 1 (*.f64 -2 (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
-1
(-.f64 (/.f64 x y) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(-.f64 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2)))) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3)) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))))) (+.f64 1 (*.f64 -1 (/.f64 x y))))
-1
(-.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 1)
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2))) 1)
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)))) 1)
(+.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)
(+.f64 0 (/.f64 (-.f64 x y) (+.f64 x y)))
(-.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
(*.f64 (-.f64 x y) (*.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) 1/2))
(*.f64 (-.f64 x y) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))
(*.f64 (+.f64 x y) (/.f64 (/.f64 1 (-.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1)
(*.f64 1 (/.f64 (-.f64 x y) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 2) (/.f64 1/2 (+.f64 x y)))
(*.f64 2 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2))
(*.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1/2)
(*.f64 (*.f64 (-.f64 x y) 4) (/.f64 1 (*.f64 (+.f64 x y) 4)))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) 1))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/4 (/.f64 1 (+.f64 x y))))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/2 (/.f64 1/2 (+.f64 x y))))
(*.f64 (/.f64 1 (+.f64 x y)) (-.f64 x y))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))
(*.f64 (-.f64 y x) (/.f64 -1 (+.f64 x y)))
(*.f64 (-.f64 y x) (*.f64 (/.f64 -1 (+.f64 x y)) 1))
(*.f64 (-.f64 y x) (*.f64 -1 (/.f64 1 (+.f64 x y))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 2 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 -1 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 -1 (*.f64 (/.f64 (-.f64 y x) (+.f64 x y)) 1))
(*.f64 -1 (/.f64 (*.f64 (-.f64 x y) 2) (neg.f64 (*.f64 (+.f64 x y) 2))))
(*.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1/2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 4 (/.f64 (-.f64 x y) (*.f64 (+.f64 x y) 4)))
(*.f64 4 (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))
(*.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4) 1/4)
(*.f64 (*.f64 (-.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 x y) 8)))
(*.f64 (/.f64 1/2 (+.f64 x y)) (*.f64 (-.f64 x y) 2))
(*.f64 1/2 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(*.f64 (/.f64 1 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 1 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1/2 (neg.f64 (+.f64 x y))))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 x y) -2)))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 (+.f64 x y) 2))))
(*.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) (*.f64 (-.f64 x y) 1/2))
(*.f64 (/.f64 (-.f64 y x) (+.f64 x y)) -1)
(*.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (*.f64 1/2 (/.f64 (+.f64 x y) (-.f64 x y))) (/.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2) 2)
(*.f64 (/.f64 2 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 (*.f64 (-.f64 x y) 1/2) (/.f64 2 (+.f64 x y)))
(*.f64 1/4 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))
(*.f64 (/.f64 -1 (-.f64 x y)) (/.f64 (neg.f64 (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))
(*.f64 (/.f64 -1 (+.f64 x y)) (-.f64 y x))
(*.f64 (+.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 1/2 (+.f64 x y))) (-.f64 x y))
(neg.f64 (/.f64 (-.f64 y x) (+.f64 x y)))
Outputs
-1
(-.f64 (*.f64 2 (/.f64 x y)) 1)
(+.f64 (*.f64 2 (/.f64 x y)) -1)
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 2 (/.f64 x y))) 1)
(+.f64 (*.f64 2 (/.f64 x y)) (-.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 -1 (*.f64 2 (/.f64 x y))))
(+.f64 -1 (+.f64 (*.f64 2 (/.f64 x y)) (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))))
(+.f64 (+.f64 -1 (*.f64 2 (/.f64 x y))) (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 2 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 2 (/.f64 x y)))) 1)
(+.f64 (+.f64 (*.f64 2 (/.f64 x y)) (*.f64 2 (/.f64 (pow.f64 x 3) (pow.f64 y 3)))) (-.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (*.f64 2 (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 x y))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) -1))
(+.f64 -1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 2 (+.f64 (/.f64 x y) (/.f64 (pow.f64 x 3) (pow.f64 y 3))))))
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 y x))) (/.f64 y x))
(+.f64 (*.f64 -1 (/.f64 y x)) (-.f64 1 (/.f64 y x)))
(+.f64 (neg.f64 (/.f64 y x)) (-.f64 1 (/.f64 y x)))
(+.f64 1 (-.f64 (neg.f64 (/.f64 y x)) (/.f64 y x)))
(-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x)))) (/.f64 y x))
(+.f64 (+.f64 (*.f64 -1 (/.f64 y x)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2))))) (-.f64 1 (/.f64 y x)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))) (/.f64 y x))) (-.f64 1 (/.f64 y x)))
(+.f64 (*.f64 -1 (+.f64 (/.f64 y x) (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))) (-.f64 1 (/.f64 y x)))
(+.f64 (-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)) (*.f64 y (neg.f64 (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))) (/.f64 y x))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 y x)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2)))))) (-.f64 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 y x)))
(+.f64 (+.f64 1 (*.f64 -1 (+.f64 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))) (/.f64 y x)))) (-.f64 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 (/.f64 y x) (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))) (-.f64 (*.f64 (pow.f64 y 2) (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 3))) (/.f64 y x))))
(+.f64 (*.f64 (-.f64 (neg.f64 y) y) (+.f64 (neg.f64 (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 3)))) (-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)))
1
(-.f64 (+.f64 1 (*.f64 -1 (/.f64 y x))) (/.f64 y x))
(+.f64 (*.f64 -1 (/.f64 y x)) (-.f64 1 (/.f64 y x)))
(+.f64 (neg.f64 (/.f64 y x)) (-.f64 1 (/.f64 y x)))
(+.f64 1 (-.f64 (neg.f64 (/.f64 y x)) (/.f64 y x)))
(-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x)))) (/.f64 y x))
(+.f64 (+.f64 (*.f64 -1 (/.f64 y x)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2))))) (-.f64 1 (/.f64 y x)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))) (/.f64 y x))) (-.f64 1 (/.f64 y x)))
(+.f64 (*.f64 -1 (+.f64 (/.f64 y x) (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))) (-.f64 1 (/.f64 y x)))
(+.f64 (-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)) (*.f64 y (neg.f64 (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))) (/.f64 y x))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1 (/.f64 y x)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2)))))) (-.f64 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 y x)))
(+.f64 (+.f64 1 (*.f64 -1 (+.f64 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))) (/.f64 y x)))) (-.f64 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 -1 (+.f64 (/.f64 y x) (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))) (-.f64 (*.f64 (pow.f64 y 2) (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 3))) (/.f64 y x))))
(+.f64 (*.f64 (-.f64 (neg.f64 y) y) (+.f64 (neg.f64 (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 3)))) (-.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)))
1
(+.f64 1 (*.f64 -2 (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (+.f64 1 (*.f64 -2 (/.f64 y x))))
(+.f64 (+.f64 1 (*.f64 -2 (/.f64 y x))) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 y 3) (pow.f64 x 3)))))
(+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (/.f64 y x)) (*.f64 -2 (/.f64 (pow.f64 y 3) (pow.f64 x 3))))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 y x))) 1))
-1
(-.f64 (/.f64 x y) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(-.f64 -1 (-.f64 (neg.f64 (/.f64 x y)) (/.f64 x y)))
(-.f64 (/.f64 x y) (+.f64 1 (neg.f64 (/.f64 x y))))
(-.f64 (/.f64 x y) (-.f64 1 (/.f64 x y)))
(-.f64 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2)))) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (*.f64 -1 (*.f64 x (/.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 y 2)))) (-.f64 (/.f64 x y) (+.f64 1 (*.f64 -1 (/.f64 x y)))))
(+.f64 (/.f64 x y) (-.f64 (neg.f64 (*.f64 x (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 2)))) (+.f64 1 (neg.f64 (/.f64 x y)))))
(+.f64 (-.f64 (/.f64 x y) (+.f64 1 (neg.f64 (/.f64 x y)))) (*.f64 (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 2)) (neg.f64 x)))
(+.f64 (/.f64 x y) (-.f64 (*.f64 (neg.f64 x) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 2))) (-.f64 1 (/.f64 x y))))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3)) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))))) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (+.f64 (/.f64 x y) (*.f64 -1 (*.f64 x (/.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 y 2))))) (-.f64 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 y 3))) (+.f64 1 (*.f64 -1 (/.f64 x y)))))
(+.f64 (+.f64 (/.f64 x y) (neg.f64 (*.f64 x (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 2))))) (-.f64 -1 (-.f64 (neg.f64 (/.f64 x y)) (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3))))))
(+.f64 (/.f64 x y) (-.f64 (+.f64 (*.f64 (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 2)) (neg.f64 x)) (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3)))) (+.f64 1 (neg.f64 (/.f64 x y)))))
(+.f64 (-.f64 (/.f64 x y) (-.f64 1 (/.f64 x y))) (*.f64 (-.f64 x (neg.f64 x)) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (neg.f64 (/.f64 x (pow.f64 y 2))))))
-1
(-.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 1)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) -1)
(+.f64 -1 (neg.f64 (/.f64 (-.f64 (neg.f64 x) x) y)))
(-.f64 -1 (/.f64 (-.f64 (neg.f64 x) x) y))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2))) 1)
(+.f64 (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2)) (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) -1))
(+.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 x) x) y)) (+.f64 -1 (*.f64 x (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)))))
(+.f64 -1 (+.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 x) x) y)) (/.f64 (*.f64 x (-.f64 (neg.f64 x) x)) (pow.f64 y 2))))
(+.f64 (-.f64 -1 (/.f64 (-.f64 (neg.f64 x) x) y)) (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2))))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)))) 1)
(+.f64 (+.f64 (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 x) x)) (pow.f64 y 3)))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 x) x) y)) -1))
(+.f64 -1 (+.f64 (+.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 x) x) y)) (*.f64 x (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)))) (neg.f64 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 (pow.f64 x 2) (pow.f64 y 3))))))
(+.f64 -1 (+.f64 (/.f64 (*.f64 x (-.f64 (neg.f64 x) x)) (pow.f64 y 2)) (*.f64 -1 (+.f64 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 (pow.f64 x 2) (pow.f64 y 3))) (/.f64 (-.f64 (neg.f64 x) x) y)))))
(+.f64 (-.f64 -1 (/.f64 (-.f64 (neg.f64 x) x) y)) (*.f64 (-.f64 (neg.f64 x) x) (+.f64 (/.f64 x (pow.f64 y 2)) (neg.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3))))))
(+.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)
(/.f64 (-.f64 x y) (+.f64 x y))
(+.f64 0 (/.f64 (-.f64 x y) (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(-.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 0)
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 x y) (*.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) 1/2))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 x y) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))
(*.f64 (-.f64 x y) (*.f64 1/2 (/.f64 2 (+.f64 x y))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 1/2 (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 (/.f64 1 (-.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 (/.f64 -1 (-.f64 y x)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 -1 (*.f64 (-.f64 y x) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 (+.f64 x y) (/.f64 (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 (-.f64 x y) (/.f64 (+.f64 x y) (/.f64 (-.f64 x y) (-.f64 (*.f64 x x) (*.f64 y y))))))
(*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1)
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 1 (/.f64 (-.f64 x y) (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 2) (/.f64 1/2 (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 2 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1/2)
(*.f64 (-.f64 x y) (*.f64 1/2 (/.f64 2 (+.f64 x y))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 1/2 (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 4) (/.f64 1 (*.f64 (+.f64 x y) 4)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) 1))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/4 (/.f64 1 (+.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 4) (*.f64 1/2 (/.f64 1/2 (+.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 1 (+.f64 x y)) (-.f64 x y))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 y x) (/.f64 -1 (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 y x) (*.f64 (/.f64 -1 (+.f64 x y)) 1))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (-.f64 y x) (*.f64 -1 (/.f64 1 (+.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 2 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 -1 (/.f64 (-.f64 y x) (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 -1 (*.f64 (/.f64 (-.f64 y x) (+.f64 x y)) 1))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 -1 (/.f64 (*.f64 (-.f64 x y) 2) (neg.f64 (*.f64 (+.f64 x y) 2))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1 (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 (-.f64 x y) 1/2)) (/.f64 1/2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 4 (/.f64 (-.f64 x y) (*.f64 (+.f64 x y) 4)))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 4 (/.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4) 1/4)
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 x y) 8)))
(*.f64 (-.f64 x y) (*.f64 8 (/.f64 1/8 (+.f64 x y))))
(*.f64 (/.f64 1/2 (+.f64 x y)) (*.f64 (-.f64 x y) 2))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 1/2 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(*.f64 (-.f64 x y) (*.f64 1/2 (/.f64 2 (+.f64 x y))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 1/2 (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y)))
(*.f64 (/.f64 1 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 1 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1/2 (neg.f64 (+.f64 x y))))
(*.f64 (*.f64 -2 (-.f64 x y)) (/.f64 1/2 (neg.f64 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 1/2 (neg.f64 (+.f64 x y)))))
(*.f64 (-.f64 x y) (*.f64 -2 (/.f64 -1/2 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 -1/2 (+.f64 x y))))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 x y) -2)))
(*.f64 (*.f64 -2 (-.f64 x y)) (/.f64 1/2 (neg.f64 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 1/2 (neg.f64 (+.f64 x y)))))
(*.f64 (-.f64 x y) (*.f64 -2 (/.f64 -1/2 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 -1/2 (+.f64 x y))))
(*.f64 (*.f64 (-.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 (+.f64 x y) 2))))
(*.f64 (*.f64 -2 (-.f64 x y)) (/.f64 1/2 (neg.f64 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 1/2 (neg.f64 (+.f64 x y)))))
(*.f64 (-.f64 x y) (*.f64 -2 (/.f64 -1/2 (+.f64 x y))))
(*.f64 -2 (*.f64 (-.f64 x y) (/.f64 -1/2 (+.f64 x y))))
(*.f64 (*.f64 2 (/.f64 1 (+.f64 x y))) (*.f64 (-.f64 x y) 1/2))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 (-.f64 y x) (+.f64 x y)) -1)
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 (*.f64 (+.f64 x y) 2) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 (*.f64 2 (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 2 (*.f64 (/.f64 (-.f64 x y) (/.f64 (+.f64 x y) (/.f64 (-.f64 x y) (/.f64 (+.f64 x y) (+.f64 x y))))) (/.f64 1/2 (-.f64 x y))))
(*.f64 2 (*.f64 (*.f64 (-.f64 y x) (/.f64 (-.f64 y x) (+.f64 x y))) (/.f64 1/2 (-.f64 x y))))
(*.f64 (*.f64 1/2 (/.f64 (+.f64 x y) (-.f64 x y))) (/.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(*.f64 1/2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(*.f64 1/2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (/.f64 (+.f64 x y) (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y))))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 (-.f64 x y) (*.f64 1/2 (/.f64 2 (+.f64 x y))))
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 1/2 (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y)))
(*.f64 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 1/2) 2)
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 2 (-.f64 x y)) (/.f64 (+.f64 x y) (*.f64 2 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y))))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (*.f64 (-.f64 x y) 1/2) (/.f64 2 (+.f64 x y)))
(*.f64 (-.f64 x y) (*.f64 1/2 (/.f64 2 (+.f64 x y))))
(*.f64 (/.f64 2 (+.f64 x y)) (*.f64 (-.f64 x y) 1/2))
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(*.f64 1/2 (/.f64 (*.f64 2 (-.f64 x y)) (+.f64 x y)))
(*.f64 1/4 (*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 4))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 -1 (-.f64 x y)) (/.f64 (neg.f64 (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 1 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (/.f64 -1 (+.f64 x y)) (-.f64 y x))
(/.f64 (-.f64 x y) (+.f64 x y))
(*.f64 (+.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 1/2 (+.f64 x y))) (-.f64 x y))
(/.f64 (-.f64 x y) (+.f64 x y))
(neg.f64 (/.f64 (-.f64 y x) (+.f64 x y)))
(/.f64 (-.f64 x y) (+.f64 x y))

eval144.0ms (1.3%)

Compiler

Compiled 2478 to 1155 computations (53.4% saved)

prune87.0ms (0.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1334137
Fresh000
Picked011
Done000
Total1335138
Error
0b
Counts
138 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 x y))
32.4b
(-.f64 (*.f64 2 (/.f64 x y)) 1)
0.0b
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
31.4b
1
32.9b
-1
Compiler

Compiled 37 to 27 computations (27% saved)

localize61.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 13 computations (66.7% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite89.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
2080×bool.json-1
2080×bool.json-2
1144×rational.json-simplify-35
866×rational.json-1
866×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0944
110044
235644
398944
4291044
5685844
Stop Event
node limit
Counts
2 → 63
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (-.f64 x y))
(/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 x y) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 x y) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (/.f64 1 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 1/2 (/.f64 1 (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 x y) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/2 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 2) (*.f64 1/2 (/.f64 1 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x y)) (/.f64 1 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 x y) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 (-.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 x y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) -1/2) (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 (+.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 y x)) (neg.f64 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 2 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (-.f64 x y) 4)) (*.f64 (+.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (-.f64 y x))) (*.f64 (+.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))) (*.f64 (+.f64 x y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 x y) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (+.f64 x y) (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (+.f64 x y) (-.f64 x y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (-.f64 x y) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 x y) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 2) (/.f64 1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 2) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) (/.f64 -2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) 4) (/.f64 2 (*.f64 (+.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 y x)) (/.f64 -1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 x y)) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x y)) (*.f64 (-.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (+.f64 x y)) (-.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 2 (+.f64 x y)) 1/2) (*.f64 (-.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (-.f64 x y))) (/.f64 2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 x y)) (*.f64 2 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 2 (-.f64 y x)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))))))

simplify104.0ms (0.9%)

Algorithm
egg-herbie
Rules
990×rational.json-simplify-43
890×rational.json-simplify-35
888×rational.json-simplify-44
876×rational.json-simplify-47
782×rational.json-simplify-53
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02373759
15373599
211033527
321423445
464013443
Stop Event
node limit
Counts
111 → 192
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 -2 (/.f64 x y)) 1)
(-.f64 (+.f64 (*.f64 -2 (/.f64 x y)) (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) 1)
(-.f64 (+.f64 (*.f64 -2 (/.f64 x y)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 3))))) 1)
1
(-.f64 (+.f64 (/.f64 y x) 1) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2)))) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (*.f64 -1 y))) (pow.f64 x 3)) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2))))) (*.f64 -1 (/.f64 y x)))
1
(-.f64 (+.f64 (/.f64 y x) 1) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2)))) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (*.f64 -1 y))) (pow.f64 x 3)) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2))))) (*.f64 -1 (/.f64 y x)))
1
(+.f64 1 (*.f64 2 (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
-1
(-.f64 (*.f64 -1 (/.f64 x y)) (+.f64 1 (/.f64 x y)))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)) (*.f64 -1 (/.f64 x y))) (+.f64 1 (/.f64 x y)))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)) (*.f64 -1 (/.f64 x y)))) (+.f64 1 (/.f64 x y)))
-1
(-.f64 (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)) 1)
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y))) 1)
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)))) 1)
-2
(-.f64 (*.f64 4 (/.f64 x y)) 2)
(-.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 4 (/.f64 x y))) 2)
(-.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 4 (/.f64 x y)) (*.f64 4 (/.f64 (pow.f64 x 3) (pow.f64 y 3))))) 2)
2
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) 2)
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))))))
2
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) 2)
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))))))
2
(+.f64 2 (*.f64 -4 (/.f64 y x)))
(+.f64 2 (+.f64 (*.f64 -4 (/.f64 y x)) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 2 (+.f64 (*.f64 -4 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 (*.f64 -4 (/.f64 y x)) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
-2
(-.f64 (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y))) 2)
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)))) 2)
-2
(-.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)))) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3))) (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2))))) 2)
(+.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)
(+.f64 0 (/.f64 (+.f64 x y) (-.f64 x y)))
(+.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (-.f64 y x))))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))
(-.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)
(-.f64 0 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
(-.f64 0 (/.f64 (+.f64 x y) (-.f64 y x)))
(*.f64 (+.f64 x y) (/.f64 1 (-.f64 x y)))
(*.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))))
(*.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 1/2 (/.f64 1 (-.f64 x y)))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 1)
(*.f64 2 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))
(*.f64 1 (/.f64 (+.f64 x y) (-.f64 x y)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))) 1/2)
(*.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/2 (-.f64 x y)))
(*.f64 (*.f64 (+.f64 x y) 2) (*.f64 1/2 (/.f64 1 (-.f64 x y))))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 1 (-.f64 y x)))
(*.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1 (-.f64 x y))))
(*.f64 -1 (/.f64 (+.f64 x y) (-.f64 y x)))
(*.f64 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4) 1/4)
(*.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 (-.f64 x y) 4)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))))
(*.f64 (/.f64 1 (-.f64 x y)) (+.f64 x y))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) 2)
(*.f64 (*.f64 (+.f64 x y) -1/2) (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))))
(*.f64 (*.f64 2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 1/2))
(*.f64 (/.f64 (+.f64 x y) (-.f64 y x)) -1)
(*.f64 1/4 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4))
(*.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 (+.f64 x y) 2))
(*.f64 (/.f64 1 (-.f64 y x)) (neg.f64 (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 2 (-.f64 y x))))
(*.f64 (*.f64 1/2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 2))
(*.f64 (/.f64 1 (*.f64 (-.f64 x y) 4)) (*.f64 (+.f64 x y) 4))
(*.f64 (/.f64 1 (*.f64 2 (-.f64 y x))) (*.f64 (+.f64 x y) -2))
(*.f64 (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))) (+.f64 x y))
(*.f64 (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))) (*.f64 (+.f64 x y) -1/2))
(neg.f64 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
(neg.f64 (/.f64 (+.f64 x y) (-.f64 y x)))
(+.f64 0 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(+.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (-.f64 x y) (+.f64 x y)))
(+.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)
(-.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 2 (/.f64 (-.f64 x y) (+.f64 x y)))
(*.f64 1 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(*.f64 (*.f64 (-.f64 x y) 2) (/.f64 1 (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 2) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))
(*.f64 (-.f64 y x) (/.f64 -2 (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 4) (/.f64 2 (*.f64 (+.f64 x y) 4)))
(*.f64 (*.f64 2 (-.f64 y x)) (/.f64 -1 (+.f64 x y)))
(*.f64 (/.f64 2 (+.f64 x y)) (-.f64 x y))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))
(*.f64 1/2 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))))
(*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 2)
(*.f64 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))) 1/2)
(*.f64 (/.f64 1 (+.f64 x y)) (*.f64 (-.f64 x y) 2))
(*.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1)
(*.f64 (/.f64 -2 (+.f64 x y)) (-.f64 y x))
(*.f64 (*.f64 (/.f64 2 (+.f64 x y)) 1/2) (*.f64 (-.f64 x y) 2))
(*.f64 (/.f64 1 (/.f64 1 (-.f64 x y))) (/.f64 2 (+.f64 x y)))
(*.f64 (/.f64 -1 (+.f64 x y)) (*.f64 2 (-.f64 y x)))
(*.f64 (/.f64 2 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))
(neg.f64 (/.f64 (*.f64 2 (-.f64 y x)) (+.f64 x y)))
Outputs
-1
(-.f64 (*.f64 -2 (/.f64 x y)) 1)
(+.f64 (*.f64 -2 (/.f64 x y)) -1)
(+.f64 -1 (*.f64 -2 (/.f64 x y)))
(-.f64 (+.f64 (*.f64 -2 (/.f64 x y)) (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) 1)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 x y)) -1))
(+.f64 -1 (*.f64 -2 (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (/.f64 x y))))
(+.f64 -1 (*.f64 -2 (+.f64 (/.f64 x y) (/.f64 (pow.f64 x 2) (pow.f64 y 2)))))
(-.f64 (+.f64 (*.f64 -2 (/.f64 x y)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 3))))) 1)
(+.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 3)))) (+.f64 (*.f64 -2 (/.f64 x y)) -1))
(+.f64 -1 (+.f64 (*.f64 -2 (/.f64 x y)) (*.f64 -2 (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (pow.f64 x 2) (pow.f64 y 2))))))
(+.f64 -1 (*.f64 -2 (+.f64 (/.f64 x y) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (/.f64 (pow.f64 x 3) (pow.f64 y 3))))))
1
(-.f64 (+.f64 (/.f64 y x) 1) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 1 (/.f64 y x)) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 1 (/.f64 y x)) (neg.f64 (/.f64 y x)))
(+.f64 (/.f64 y x) (+.f64 1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2)))) (*.f64 -1 (/.f64 y x)))
(+.f64 (+.f64 1 (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 y (pow.f64 x 2)))) (-.f64 (/.f64 y x) (*.f64 -1 (/.f64 y x))))
(+.f64 (/.f64 y x) (-.f64 (+.f64 1 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2)))) (neg.f64 (/.f64 y x))))
(+.f64 (/.f64 y x) (+.f64 1 (-.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (neg.f64 (/.f64 y x)))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (+.f64 1 (/.f64 y x))))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (*.f64 -1 y))) (pow.f64 x 3)) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2))))) (*.f64 -1 (/.f64 y x)))
(+.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 y (pow.f64 x 2))) (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 (pow.f64 y 2) (pow.f64 x 3))))) (-.f64 (/.f64 y x) (*.f64 -1 (/.f64 y x))))
(+.f64 (/.f64 y x) (-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (*.f64 (pow.f64 y 2) (/.f64 (-.f64 y (neg.f64 y)) (pow.f64 x 3))))) (neg.f64 (/.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (-.f64 y (neg.f64 y)) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 3)) (/.f64 y (pow.f64 x 2))))) (-.f64 (/.f64 y x) (neg.f64 (/.f64 y x))))
(+.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 y x))) (*.f64 (-.f64 y (neg.f64 y)) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 3)) (/.f64 y (pow.f64 x 2)))))
1
(-.f64 (+.f64 (/.f64 y x) 1) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 1 (/.f64 y x)) (*.f64 -1 (/.f64 y x)))
(-.f64 (+.f64 1 (/.f64 y x)) (neg.f64 (/.f64 y x)))
(+.f64 (/.f64 y x) (+.f64 1 (/.f64 y x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2)))) (*.f64 -1 (/.f64 y x)))
(+.f64 (+.f64 1 (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 y (pow.f64 x 2)))) (-.f64 (/.f64 y x) (*.f64 -1 (/.f64 y x))))
(+.f64 (/.f64 y x) (-.f64 (+.f64 1 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2)))) (neg.f64 (/.f64 y x))))
(+.f64 (/.f64 y x) (+.f64 1 (-.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (neg.f64 (/.f64 y x)))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (+.f64 1 (/.f64 y x))))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (*.f64 -1 y))) (pow.f64 x 3)) (+.f64 1 (/.f64 (*.f64 y (-.f64 y (*.f64 -1 y))) (pow.f64 x 2))))) (*.f64 -1 (/.f64 y x)))
(+.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 y (pow.f64 x 2))) (*.f64 (-.f64 y (*.f64 -1 y)) (/.f64 (pow.f64 y 2) (pow.f64 x 3))))) (-.f64 (/.f64 y x) (*.f64 -1 (/.f64 y x))))
(+.f64 (/.f64 y x) (-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 y (neg.f64 y)) (/.f64 y (pow.f64 x 2))) (*.f64 (pow.f64 y 2) (/.f64 (-.f64 y (neg.f64 y)) (pow.f64 x 3))))) (neg.f64 (/.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (-.f64 y (neg.f64 y)) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 3)) (/.f64 y (pow.f64 x 2))))) (-.f64 (/.f64 y x) (neg.f64 (/.f64 y x))))
(+.f64 (+.f64 (/.f64 y x) (+.f64 1 (/.f64 y x))) (*.f64 (-.f64 y (neg.f64 y)) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 3)) (/.f64 y (pow.f64 x 2)))))
1
(+.f64 1 (*.f64 2 (/.f64 y x)))
(+.f64 1 (+.f64 (*.f64 2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 1 (*.f64 2 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) (/.f64 y x))))
(+.f64 1 (*.f64 2 (+.f64 (/.f64 y x) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 2 (/.f64 y x)) (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 3)))))
(+.f64 1 (+.f64 (*.f64 2 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) (/.f64 y x))) (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 3)))))
(+.f64 1 (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
(+.f64 1 (*.f64 2 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) (+.f64 (/.f64 y x) (/.f64 (pow.f64 y 3) (pow.f64 x 3))))))
-1
(-.f64 (*.f64 -1 (/.f64 x y)) (+.f64 1 (/.f64 x y)))
(-.f64 (*.f64 -1 (/.f64 x y)) (+.f64 (/.f64 x y) 1))
(-.f64 (neg.f64 (/.f64 x y)) (+.f64 (/.f64 x y) 1))
(-.f64 -1 (-.f64 (/.f64 x y) (neg.f64 (/.f64 x y))))
(-.f64 -1 (-.f64 (/.f64 x y) (/.f64 (neg.f64 x) y)))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)) (*.f64 -1 (/.f64 x y))) (+.f64 1 (/.f64 x y)))
(+.f64 (*.f64 -1 (/.f64 x y)) (-.f64 (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2)) (+.f64 (/.f64 x y) 1)))
(+.f64 (neg.f64 (/.f64 x y)) (-.f64 -1 (-.f64 (/.f64 x y) (/.f64 (*.f64 x (-.f64 (neg.f64 x) x)) (pow.f64 y 2)))))
(+.f64 (neg.f64 (/.f64 x y)) (-.f64 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2))) (+.f64 (/.f64 x y) 1)))
(+.f64 (/.f64 (neg.f64 x) y) (-.f64 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2))) (+.f64 (/.f64 x y) 1)))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)) (*.f64 -1 (/.f64 x y)))) (+.f64 1 (/.f64 x y)))
(+.f64 (+.f64 (*.f64 -1 (/.f64 x y)) (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2))) (-.f64 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 x) x)) (pow.f64 y 3)) (+.f64 (/.f64 x y) 1)))
(+.f64 (+.f64 (neg.f64 (/.f64 x y)) (/.f64 (*.f64 x (-.f64 (neg.f64 x) x)) (pow.f64 y 2))) (-.f64 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (neg.f64 x) x)) (pow.f64 y 3)) (+.f64 (/.f64 x y) 1)))
(+.f64 (neg.f64 (/.f64 x y)) (+.f64 (-.f64 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2))) (+.f64 (/.f64 x y) 1)) (*.f64 (pow.f64 x 2) (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 3)))))
(+.f64 (/.f64 (neg.f64 x) y) (-.f64 (*.f64 (-.f64 (neg.f64 x) x) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 x y) 1)))
(+.f64 (-.f64 -1 (-.f64 (/.f64 x y) (/.f64 (neg.f64 x) y))) (*.f64 (-.f64 (neg.f64 x) x) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))))
-1
(-.f64 (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)) 1)
(+.f64 (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)) -1)
(+.f64 -1 (neg.f64 (/.f64 (-.f64 x (neg.f64 x)) y)))
(-.f64 -1 (/.f64 (-.f64 x (neg.f64 x)) y))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y))) 1)
(+.f64 (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)) (-.f64 (*.f64 -1 (/.f64 (*.f64 x (-.f64 x (*.f64 -1 x))) (pow.f64 y 2))) 1))
(+.f64 -1 (*.f64 -1 (+.f64 (/.f64 (*.f64 x (-.f64 x (neg.f64 x))) (pow.f64 y 2)) (/.f64 (-.f64 x (neg.f64 x)) y))))
(+.f64 -1 (*.f64 -1 (+.f64 (/.f64 (-.f64 x (neg.f64 x)) y) (*.f64 (-.f64 x (neg.f64 x)) (/.f64 x (pow.f64 y 2))))))
(+.f64 (/.f64 (-.f64 x (neg.f64 x)) (neg.f64 y)) (-.f64 -1 (*.f64 (-.f64 x (neg.f64 x)) (/.f64 x (pow.f64 y 2)))))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)))) 1)
(+.f64 (+.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 x (*.f64 -1 x)) y)) (*.f64 -1 (/.f64 (*.f64 x (-.f64 x (*.f64 -1 x))) (pow.f64 y 2)))) (*.f64 -1 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 y 3))))) -1)
(+.f64 -1 (+.f64 (*.f64 -1 (+.f64 (/.f64 (*.f64 x (-.f64 x (neg.f64 x))) (pow.f64 y 2)) (/.f64 (-.f64 x (neg.f64 x)) y))) (neg.f64 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3))))))
(+.f64 -1 (*.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3))) (+.f64 (/.f64 (-.f64 x (neg.f64 x)) y) (*.f64 (-.f64 x (neg.f64 x)) (/.f64 x (pow.f64 y 2)))))))
(+.f64 (-.f64 -1 (/.f64 (-.f64 x (neg.f64 x)) y)) (*.f64 -1 (*.f64 (-.f64 x (neg.f64 x)) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (/.f64 x (pow.f64 y 2))))))
(+.f64 (-.f64 -1 (/.f64 (-.f64 x (neg.f64 x)) y)) (neg.f64 (*.f64 (-.f64 x (neg.f64 x)) (+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (/.f64 x (pow.f64 y 2))))))
-2
(-.f64 (*.f64 4 (/.f64 x y)) 2)
(-.f64 (*.f64 (/.f64 x y) 4) 2)
(-.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 4 (/.f64 x y))) 2)
(-.f64 (+.f64 (*.f64 (/.f64 x y) 4) (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4)) 2)
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4) (-.f64 (*.f64 (/.f64 x y) 4) 2))
(+.f64 (-.f64 (*.f64 (/.f64 x y) 4) 2) (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4))
(+.f64 (*.f64 (/.f64 x y) 4) (-.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4) 2))
(-.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 4 (/.f64 x y)) (*.f64 4 (/.f64 (pow.f64 x 3) (pow.f64 y 3))))) 2)
(+.f64 (+.f64 (*.f64 (/.f64 x y) 4) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) 4)) (-.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4) 2))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) -4) (-.f64 (*.f64 4 (+.f64 (/.f64 x y) (/.f64 (pow.f64 x 3) (pow.f64 y 3)))) 2))
2
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) 2)
(+.f64 2 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)))
(+.f64 2 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)))
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2)))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 2 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2)))))) (*.f64 2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3)))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2)))))) (*.f64 2 (*.f64 (pow.f64 y 2) (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 3)))))
(+.f64 (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))) (*.f64 2 (+.f64 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 (-.f64 (neg.f64 y) y) x))))
(+.f64 2 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (*.f64 (-.f64 (neg.f64 y) y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 -2 (/.f64 y (pow.f64 x 2)))))))
2
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) 2)
(+.f64 2 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)))
(+.f64 2 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)))
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2)))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 2 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1 y) y)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (/.f64 (*.f64 y (-.f64 (*.f64 -1 y) y)) (pow.f64 x 2))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 -1 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 y (pow.f64 x 2)))))) (*.f64 2 (*.f64 (-.f64 (*.f64 -1 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3)))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (+.f64 2 (*.f64 -2 (*.f64 y (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 2)))))) (*.f64 2 (*.f64 (pow.f64 y 2) (/.f64 (-.f64 (neg.f64 y) y) (pow.f64 x 3)))))
(+.f64 (+.f64 2 (*.f64 -2 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 y (pow.f64 x 2))))) (*.f64 2 (+.f64 (*.f64 (-.f64 (neg.f64 y) y) (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (/.f64 (-.f64 (neg.f64 y) y) x))))
(+.f64 2 (+.f64 (*.f64 2 (/.f64 (-.f64 (neg.f64 y) y) x)) (*.f64 (-.f64 (neg.f64 y) y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 -2 (/.f64 y (pow.f64 x 2)))))))
2
(+.f64 2 (*.f64 -4 (/.f64 y x)))
(+.f64 2 (*.f64 (/.f64 y x) -4))
(+.f64 2 (+.f64 (*.f64 -4 (/.f64 y x)) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 2 (+.f64 (*.f64 (/.f64 y x) -4) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) 4)))
(+.f64 (*.f64 (/.f64 y x) -4) (+.f64 2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) 4)))
(+.f64 2 (+.f64 (*.f64 -4 (/.f64 (pow.f64 y 3) (pow.f64 x 3))) (+.f64 (*.f64 -4 (/.f64 y x)) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))))
(+.f64 2 (+.f64 (*.f64 (/.f64 y x) -4) (+.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) 4) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) -4))))
(+.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) 4) (*.f64 -4 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 y x)))))
(+.f64 (+.f64 2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) 4)) (*.f64 -4 (+.f64 (/.f64 y x) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))))
-2
(-.f64 (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)) 2)
(-.f64 (*.f64 2 (/.f64 (-.f64 x (neg.f64 x)) y)) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y))) 2)
(+.f64 (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)) (-.f64 (*.f64 -2 (/.f64 (*.f64 x (-.f64 x (*.f64 -1 x))) (pow.f64 y 2))) 2))
(+.f64 (*.f64 2 (/.f64 (-.f64 x (neg.f64 x)) y)) (-.f64 (*.f64 -2 (/.f64 (*.f64 x (-.f64 x (neg.f64 x))) (pow.f64 y 2))) 2))
(+.f64 (*.f64 2 (/.f64 (-.f64 x (neg.f64 x)) y)) (-.f64 (*.f64 -2 (*.f64 (-.f64 x (neg.f64 x)) (/.f64 x (pow.f64 y 2)))) 2))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 x 2)) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1 x)) x) (pow.f64 y 2))) (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)))) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 x (-.f64 x (*.f64 -1 x))) (pow.f64 y 2))) (+.f64 (*.f64 2 (/.f64 (-.f64 x (*.f64 -1 x)) y)) (*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (*.f64 -1 x)) (pow.f64 y 3)))))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3))) (/.f64 (-.f64 x (neg.f64 x)) y))) (-.f64 (*.f64 -2 (/.f64 (*.f64 x (-.f64 x (neg.f64 x))) (pow.f64 y 2))) 2))
(+.f64 (*.f64 -2 (*.f64 (-.f64 x (neg.f64 x)) (/.f64 x (pow.f64 y 2)))) (-.f64 (*.f64 2 (+.f64 (/.f64 (-.f64 x (neg.f64 x)) y) (*.f64 (pow.f64 x 2) (/.f64 (-.f64 x (neg.f64 x)) (pow.f64 y 3))))) 2))
-2
(-.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 2)
(-.f64 (*.f64 -2 (/.f64 (-.f64 (neg.f64 x) x) y)) 2)
(-.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2)))) 2)
(+.f64 (*.f64 2 (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2))) (-.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 2))
(+.f64 (*.f64 -2 (/.f64 (-.f64 (neg.f64 x) x) y)) (-.f64 (*.f64 x (*.f64 (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)) 2)) 2))
(+.f64 (*.f64 -2 (/.f64 (-.f64 (neg.f64 x) x) y)) (-.f64 (*.f64 x (*.f64 2 (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)))) 2))
(+.f64 (*.f64 -2 (/.f64 (-.f64 (neg.f64 x) x) y)) (-.f64 (*.f64 2 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2)))) 2))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) (pow.f64 x 2)) (pow.f64 y 3))) (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 -1 x) x) x) (pow.f64 y 2))))) 2)
(+.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 x (-.f64 (*.f64 -1 x) x)) (pow.f64 y 2))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 x) x)) (pow.f64 y 3)))) (-.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 -1 x) x) y)) 2))
(+.f64 (*.f64 -2 (/.f64 (-.f64 (neg.f64 x) x) y)) (-.f64 (+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)) 2)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (neg.f64 x) x)) (pow.f64 y 3)))) 2))
(+.f64 (*.f64 -2 (+.f64 (/.f64 (-.f64 (neg.f64 x) x) y) (*.f64 (pow.f64 x 2) (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 3))))) (-.f64 (*.f64 x (*.f64 2 (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 2)))) 2))
(+.f64 (*.f64 -2 (+.f64 (*.f64 (pow.f64 x 2) (/.f64 (-.f64 (neg.f64 x) x) (pow.f64 y 3))) (/.f64 (-.f64 (neg.f64 x) x) y))) (-.f64 (*.f64 2 (*.f64 (-.f64 (neg.f64 x) x) (/.f64 x (pow.f64 y 2)))) 2))
(+.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)
(/.f64 (+.f64 x y) (-.f64 x y))
(+.f64 0 (/.f64 (+.f64 x y) (-.f64 x y)))
(/.f64 (+.f64 x y) (-.f64 x y))
(+.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (-.f64 y x))))
(/.f64 (+.f64 x y) (-.f64 x y))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(-.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 0)
(/.f64 (+.f64 x y) (-.f64 x y))
(-.f64 0 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(-.f64 0 (/.f64 (+.f64 x y) (-.f64 y x)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (+.f64 x y) (/.f64 1 (-.f64 x y)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (+.f64 x y) (+.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 1/2 (/.f64 1 (-.f64 x y)))))
(*.f64 (+.f64 x y) (+.f64 (/.f64 -1/2 (-.f64 y x)) (*.f64 1/2 (/.f64 -1 (-.f64 y x)))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 1)
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 2 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 1 (/.f64 (+.f64 x y) (-.f64 x y)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))) 1/2)
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/2 (-.f64 x y)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) 2) (*.f64 1/2 (/.f64 1 (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 1 (-.f64 y x)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1 (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 -1 (/.f64 (+.f64 x y) (-.f64 y x)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4) 1/4)
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 (-.f64 x y) 4)))
(*.f64 (+.f64 x y) (*.f64 4 (/.f64 1 (*.f64 4 (-.f64 x y)))))
(*.f64 4 (*.f64 (/.f64 1/4 (-.f64 x y)) (+.f64 x y)))
(*.f64 4 (*.f64 (+.f64 x y) (/.f64 -1/4 (-.f64 y x))))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 -2 (-.f64 y x))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (/.f64 1 (-.f64 x y)) (+.f64 x y))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/2 (-.f64 x y))) 2)
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) -1/2) (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 1/2))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (/.f64 (+.f64 x y) (-.f64 y x)) -1)
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 1/4 (*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) 4))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (/.f64 1/2 (-.f64 x y)) (*.f64 (+.f64 x y) 2))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (/.f64 1 (-.f64 y x)) (neg.f64 (+.f64 x y)))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 2 (-.f64 y x))))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (*.f64 1/2 (/.f64 1 (-.f64 x y))) (*.f64 (+.f64 x y) 2))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (/.f64 1 (*.f64 (-.f64 x y) 4)) (*.f64 (+.f64 x y) 4))
(*.f64 (+.f64 x y) (*.f64 4 (/.f64 1 (*.f64 4 (-.f64 x y)))))
(*.f64 4 (*.f64 (/.f64 1/4 (-.f64 x y)) (+.f64 x y)))
(*.f64 4 (*.f64 (+.f64 x y) (/.f64 -1/4 (-.f64 y x))))
(*.f64 (/.f64 1 (*.f64 2 (-.f64 y x))) (*.f64 (+.f64 x y) -2))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (+.f64 (/.f64 1/2 (-.f64 x y)) (/.f64 1/2 (-.f64 x y))) (+.f64 x y))
(/.f64 (+.f64 x y) (-.f64 x y))
(*.f64 (+.f64 (/.f64 1 (-.f64 y x)) (/.f64 1 (-.f64 y x))) (*.f64 (+.f64 x y) -1/2))
(/.f64 (+.f64 x y) (-.f64 x y))
(neg.f64 (neg.f64 (/.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (+.f64 x y) (-.f64 x y))
(neg.f64 (/.f64 (+.f64 x y) (-.f64 y x)))
(/.f64 (+.f64 x y) (-.f64 x y))
(+.f64 0 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(+.f64 (/.f64 (-.f64 x y) (+.f64 x y)) (/.f64 (-.f64 x y) (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(+.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(-.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 0)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 2 (/.f64 (-.f64 x y) (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 1 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 2) (/.f64 1 (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 2) (*.f64 (/.f64 2 (+.f64 x y)) 1/2))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (-.f64 y x) (/.f64 -2 (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) 4) (/.f64 2 (*.f64 (+.f64 x y) 4)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 2 (-.f64 y x)) (/.f64 -1 (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 2 (+.f64 x y)) (-.f64 x y))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 1 (/.f64 1 (-.f64 x y))))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 1/2 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 2)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) (/.f64 4 (+.f64 x y))) 1/2)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 1 (+.f64 x y)) (*.f64 (-.f64 x y) 2))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y))) 1)
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 -2 (+.f64 x y)) (-.f64 y x))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (*.f64 (/.f64 2 (+.f64 x y)) 1/2) (*.f64 (-.f64 x y) 2))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 1 (/.f64 1 (-.f64 x y))) (/.f64 2 (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 -1 (+.f64 x y)) (*.f64 2 (-.f64 y x)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(*.f64 (/.f64 2 (*.f64 (+.f64 x y) 4)) (*.f64 (-.f64 x y) 4))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))
(neg.f64 (/.f64 (*.f64 2 (-.f64 y x)) (+.f64 x y)))
(*.f64 (-.f64 x y) (/.f64 2 (+.f64 x y)))
(*.f64 -2 (/.f64 (-.f64 y x) (+.f64 x y)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 11 computations (47.6% saved)

series3.0ms (0%)

Counts
2 → 6
Calls

12 calls:

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

rewrite98.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1922×bool.json-1
1922×bool.json-2
1882×rational.json-1
1616×bool.json-3
610×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
19932
230432
365632
4156032
5531232
Stop Event
node limit
Counts
2 → 142
Calls
Call 1
Inputs
(*.f64 2 (/.f64 x y))
(-.f64 (*.f64 2 (/.f64 x y)) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 y (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 x y) (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 (+.f64 y y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 y (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (/.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) (/.f64 1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x y)) (*.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x y)) (/.f64 2 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 y (/.f64 1/2 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 y x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 y (/.f64 (/.f64 y x) x)) (/.f64 (+.f64 y y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 y x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 y (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (/.f64 (+.f64 y y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 x (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (+.f64 y y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (/.f64 (*.f64 y 4) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 (+.f64 x x) (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (*.f64 (neg.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (*.f64 (*.f64 y (/.f64 (/.f64 y x) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y x) (*.f64 1/2 (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) x) (*.f64 y (/.f64 (/.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 y 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 y y)) (*.f64 (neg.f64 x) (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 y) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (/.f64 (+.f64 y y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 y)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x y)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (neg.f64 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x -2)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 y 4) x) (/.f64 (*.f64 y 4) x)) (+.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) (*.f64 2 (*.f64 (/.f64 x y) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (/.f64 (+.f64 y y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) y) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 1/2) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) 1/2) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 x y) 4) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 x) 1/2) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 x y) 8) 1/2) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) 1/2) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) 1/2) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) 1/2) (neg.f64 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x 8)) 1/2) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 x (neg.f64 y)) 1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (neg.f64 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 x -2)) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 y (/.f64 (/.f64 y x) x))) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 (/.f64 x y) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (*.f64 y (/.f64 (/.f64 y x) x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (*.f64 y (/.f64 (/.f64 y x) x))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (+.f64 y y)) (*.f64 y (/.f64 (/.f64 y x) x))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 y (/.f64 (/.f64 y x) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 2) (*.f64 y (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 y) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (neg.f64 y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 y y) x) y) (/.f64 (/.f64 y x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) y) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (+.f64 y y)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (neg.f64 y)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 1 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 1/2) (/.f64 (+.f64 y y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 y y) x)) (-.f64 0 (*.f64 y (/.f64 (/.f64 y x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (/.f64 x y)) (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (/.f64 x y)) (*.f64 2 (/.f64 x y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 2 (/.f64 x y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 x y) -1) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 2 (/.f64 x y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 2 (/.f64 x y)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 2 (/.f64 x y)) -1) (+.f64 (*.f64 2 (/.f64 x y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 2 (/.f64 x y)) -1) (+.f64 (*.f64 2 (/.f64 x y)) -1))))))

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
1488×rational.json-simplify-35
1124×rational.json-simplify-2
976×rational.json-simplify-41
688×rational.json-simplify-61
686×rational.json-simplify-44
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03012116
111682002
243622002
365092002
Stop Event
node limit
Counts
148 → 146
Calls
Call 1
Inputs
-1
(*.f64 2 (/.f64 x y))
(*.f64 2 (/.f64 x y))
(*.f64 2 (/.f64 x y))
-1
-1
(+.f64 (/.f64 x y) (/.f64 x y))
(+.f64 (*.f64 2 (/.f64 x y)) 0)
(+.f64 0 (*.f64 2 (/.f64 x y)))
(-.f64 (*.f64 2 (/.f64 x y)) 0)
(/.f64 2 (/.f64 y x))
(/.f64 2 (+.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 y (/.f64 1/2 x))))
(/.f64 2 (*.f64 (/.f64 x y) (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 2 (/.f64 (/.f64 (+.f64 y y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 x (*.f64 y 1/2))
(/.f64 x (/.f64 y (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (/.f64 x y) 1/2)
(/.f64 (/.f64 x y) (/.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))
(/.f64 (/.f64 x y) (/.f64 1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 2 (/.f64 x y)) 1)
(/.f64 (*.f64 2 (/.f64 x y)) (*.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 (*.f64 2 (/.f64 x y)) (/.f64 2 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 1 (*.f64 y (/.f64 1/2 x)))
(/.f64 1 (*.f64 (*.f64 y (/.f64 1/2 x)) 1))
(/.f64 1 (*.f64 (/.f64 y x) 1/2))
(/.f64 1 (*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 1 (/.f64 (*.f64 y (/.f64 (/.f64 y x) x)) (/.f64 (+.f64 y y) x)))
(/.f64 1 (/.f64 (/.f64 y x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) 1/2))
(/.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) 2))
(/.f64 -1 (/.f64 y (*.f64 x -2)))
(/.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (+.f64 x x) y)
(/.f64 (+.f64 x x) (/.f64 (+.f64 y y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (+.f64 y y) (*.f64 x (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 4 (/.f64 (+.f64 y y) x))
(/.f64 4 (*.f64 (/.f64 (*.f64 y 4) x) 1/2))
(/.f64 4 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 x 4) (+.f64 y y))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 y 4) (*.f64 (+.f64 x x) (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 (*.f64 (/.f64 x y) 4) 2)
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)))
(/.f64 (/.f64 1 y) (/.f64 1/2 x))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) 1/2))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 y) 2))
(/.f64 (neg.f64 x) (*.f64 (neg.f64 y) 1/2))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) 4))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (/.f64 y x) (*.f64 (*.f64 y (/.f64 (/.f64 y x) x)) 1/2))
(/.f64 (/.f64 y x) (*.f64 1/2 (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 (/.f64 (+.f64 y y) x) (*.f64 y (/.f64 (/.f64 y x) x)))
(/.f64 (/.f64 (+.f64 y y) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1/2))
(/.f64 (*.f64 (/.f64 x y) 8) 4)
(/.f64 (*.f64 x 8) (*.f64 y 4))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 8 (/.f64 (*.f64 y 4) x))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) 2))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 1/2 (/.f64 (/.f64 y x) 4))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) 2))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 x -2) (neg.f64 y))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) 1/2))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (neg.f64 (+.f64 y y)) (*.f64 (neg.f64 x) (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 x (/.f64 1/2 y)))
(/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))
(/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) 1/2))
(/.f64 -2 (neg.f64 (/.f64 y x)))
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) 8)
(/.f64 (/.f64 x (neg.f64 y)) -1/2)
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (/.f64 2 y) (/.f64 1 x))
(/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 y x))
(/.f64 -4 (-.f64 0 (/.f64 (+.f64 y y) x)))
(/.f64 (*.f64 x (/.f64 1/2 y)) 1/4)
(/.f64 (neg.f64 (/.f64 x y)) -1/2)
(/.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 y -2))
(/.f64 (*.f64 4 (neg.f64 x)) (neg.f64 (+.f64 y y)))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) 1/2))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) 1/2))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) 1/2))
(/.f64 (neg.f64 (*.f64 x -2)) y)
(/.f64 (+.f64 (/.f64 (*.f64 y 4) x) (/.f64 (*.f64 y 4) x)) (+.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) (*.f64 2 (*.f64 (/.f64 x y) 8))) 16)
(/.f64 (+.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (/.f64 (+.f64 y y) x))
(/.f64 (/.f64 (*.f64 x 8) y) 4)
(/.f64 (/.f64 x 1/2) y)
(/.f64 (/.f64 (+.f64 x x) 1/2) (+.f64 y y))
(/.f64 (/.f64 (*.f64 x 4) 1/2) (*.f64 y 4))
(/.f64 (/.f64 (*.f64 (/.f64 x y) 4) 1/2) 4)
(/.f64 (/.f64 (neg.f64 x) 1/2) (neg.f64 y))
(/.f64 (/.f64 (*.f64 (/.f64 x y) 8) 1/2) 8)
(/.f64 (/.f64 (*.f64 x 8) 1/2) (*.f64 y 8))
(/.f64 (/.f64 (*.f64 x -2) 1/2) (*.f64 y -2))
(/.f64 (/.f64 (*.f64 x -2) 1/2) (neg.f64 (+.f64 y y)))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) 1/2) (*.f64 2 (*.f64 y 8)))
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) 1/2) -1)
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (*.f64 y -2)))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (neg.f64 (+.f64 y y))))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (neg.f64 (*.f64 y 4)))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) 1/2) (+.f64 y y))
(/.f64 (/.f64 2 (*.f64 y (/.f64 (/.f64 y x) x))) (/.f64 x y))
(/.f64 (/.f64 (*.f64 2 (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 (/.f64 x y) (/.f64 x y)))
(/.f64 (/.f64 1 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 x (/.f64 1/2 y)))
(/.f64 (/.f64 (+.f64 y y) (*.f64 y (/.f64 (/.f64 y x) x))) x)
(/.f64 (/.f64 4 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 2 (/.f64 x y)))
(/.f64 (/.f64 (*.f64 y 4) (*.f64 y (/.f64 (/.f64 y x) x))) (+.f64 x x))
(/.f64 (/.f64 (neg.f64 (+.f64 y y)) (*.f64 y (/.f64 (/.f64 y x) x))) (neg.f64 x))
(/.f64 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 y (/.f64 (/.f64 y x) x))) 2)
(/.f64 (/.f64 (+.f64 x x) (neg.f64 y)) -1)
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 2) (*.f64 y (/.f64 1/2 x)))
(/.f64 (/.f64 2 (/.f64 1 x)) y)
(/.f64 (/.f64 4 y) (/.f64 2 x))
(/.f64 (/.f64 2 (neg.f64 y)) (/.f64 -1 x))
(/.f64 (/.f64 (/.f64 (+.f64 y y) x) y) (/.f64 (/.f64 y x) x))
(/.f64 (/.f64 (*.f64 x -2) y) -1)
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) y) (/.f64 1 x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (+.f64 y y)) (/.f64 1/2 x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (neg.f64 y)) (/.f64 -1 x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 1 x)) y)
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 1/2) (/.f64 (+.f64 y y) x))
(/.f64 (neg.f64 (/.f64 (+.f64 y y) x)) (-.f64 0 (*.f64 y (/.f64 (/.f64 y x) x))))
(/.f64 (neg.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (neg.f64 (/.f64 y x)))
(+.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1))
(+.f64 (*.f64 2 (/.f64 x y)) -1)
(+.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 0)
(+.f64 0 (+.f64 (*.f64 2 (/.f64 x y)) -1))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 (+.f64 (/.f64 x y) -1) (/.f64 x y))
(*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2))
(*.f64 1 (+.f64 (*.f64 2 (/.f64 x y)) -1))
(*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)
(*.f64 4 (/.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))
(*.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 1/4)
(*.f64 1/2 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))))
(*.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2) 2)
(/.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)
(/.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))) 16)
Outputs
-1
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
-1
-1
(+.f64 (/.f64 x y) (/.f64 x y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(+.f64 (*.f64 2 (/.f64 x y)) 0)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(+.f64 0 (*.f64 2 (/.f64 x y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(-.f64 (*.f64 2 (/.f64 x y)) 0)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 2 (/.f64 y x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (+.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 y (/.f64 1/2 x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 2 (*.f64 (/.f64 x y) (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 2 (/.f64 (/.f64 (+.f64 y y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 x (*.f64 y 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 x (/.f64 y (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x y) 1/2)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x y) (/.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x y) (/.f64 1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 2 (/.f64 x y)) 1)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 2 (/.f64 x y)) (*.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 2 (/.f64 x y)) (/.f64 2 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (*.f64 y (/.f64 1/2 x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (*.f64 (*.f64 y (/.f64 1/2 x)) 1))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (*.f64 (/.f64 y x) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (*.f64 (*.f64 x (/.f64 1/2 y)) (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (/.f64 (*.f64 y (/.f64 (/.f64 y x) x)) (/.f64 (+.f64 y y) x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1 (/.f64 (/.f64 y x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 y x)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) 2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -1 (/.f64 y (*.f64 x -2)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -1 (/.f64 (/.f64 (neg.f64 y) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 x x) y)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 x x) (/.f64 (+.f64 y y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 y y) (*.f64 x (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 4 (/.f64 (+.f64 y y) x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 4 (*.f64 (/.f64 (*.f64 y 4) x) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 4 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x 4) (+.f64 y y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 y 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 y 4) (*.f64 (+.f64 x x) (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 (/.f64 x y) 4) 2)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 (/.f64 x y) 4) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1 y) (/.f64 1/2 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1 y) (*.f64 (/.f64 1 x) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 y) 2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 x) (*.f64 (neg.f64 y) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 y y)) 4))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 y) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 y x) (*.f64 (*.f64 y (/.f64 (/.f64 y x) x)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 y x) (*.f64 1/2 (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (+.f64 y y) x) (*.f64 y (/.f64 (/.f64 y x) x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (+.f64 y y) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 (/.f64 x y) 8) 4)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x 8) (*.f64 y 4))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 y 8) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 8 (/.f64 (*.f64 y 4) x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) 2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1/2 y) (/.f64 (/.f64 1/2 x) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1/2 (/.f64 (/.f64 y x) 4))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) 2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 1/2 (/.f64 (*.f64 y (/.f64 1/2 x)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x -2) (neg.f64 y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 y y)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 y -2) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 y y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (+.f64 y y)) (*.f64 (neg.f64 x) (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 x (/.f64 1/2 y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 y 4) x) (*.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) 1))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 y 8)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -2 (neg.f64 (/.f64 y x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) 8)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x (neg.f64 y)) -1/2)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x (neg.f64 y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 2 y) (/.f64 1 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 y x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 -4 (-.f64 0 (/.f64 (+.f64 y y) x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 x (/.f64 1/2 y)) 1/4)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (/.f64 x y)) -1/2)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (/.f64 x y)) (/.f64 -1 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 y -2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 4 (neg.f64 x)) (neg.f64 (+.f64 y y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (*.f64 y -2)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (*.f64 2 (neg.f64 (+.f64 y y))) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (*.f64 4 (neg.f64 x)) (*.f64 (neg.f64 (*.f64 y 4)) 1/2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (*.f64 x -2)) y)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 (/.f64 (*.f64 y 4) x) (/.f64 (*.f64 y 4) x)) (+.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x)) (*.f64 (/.f64 y x) (/.f64 (+.f64 y y) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8)) (*.f64 2 (*.f64 (/.f64 x y) 8))) 16)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (+.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (/.f64 (+.f64 y y) x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x 8) y) 4)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 x 1/2) y)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (+.f64 x x) 1/2) (+.f64 y y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x 4) 1/2) (*.f64 y 4))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 x y) 4) 1/2) 4)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (neg.f64 x) 1/2) (neg.f64 y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 x y) 8) 1/2) 8)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x 8) 1/2) (*.f64 y 8))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x -2) 1/2) (*.f64 y -2))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x -2) 1/2) (neg.f64 (+.f64 y y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) 1/2) (*.f64 2 (*.f64 y 8)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) 1/2) -1)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (*.f64 y -2)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (*.f64 2 (neg.f64 (+.f64 y y))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 4 (neg.f64 x)) 1/2) (neg.f64 (*.f64 y 4)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) 1/2) (+.f64 y y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 2 (*.f64 y (/.f64 (/.f64 y x) x))) (/.f64 x y))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 2 (/.f64 x y)) (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 (/.f64 x y) (/.f64 x y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 1 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 x (/.f64 1/2 y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (+.f64 y y) (*.f64 y (/.f64 (/.f64 y x) x))) x)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 4 (*.f64 y (/.f64 (/.f64 y x) x))) (*.f64 2 (/.f64 x y)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 y 4) (*.f64 y (/.f64 (/.f64 y x) x))) (+.f64 x x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (neg.f64 (+.f64 y y)) (*.f64 y (/.f64 (/.f64 y x) x))) (neg.f64 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (/.f64 (*.f64 y 4) x) (*.f64 y (/.f64 (/.f64 y x) x))) 2)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (+.f64 x x) (neg.f64 y)) -1)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 2) (*.f64 y (/.f64 1/2 x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 2 (/.f64 1 x)) y)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 4 y) (/.f64 2 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 2 (neg.f64 y)) (/.f64 -1 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (/.f64 (+.f64 y y) x) y) (/.f64 (/.f64 y x) x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 x -2) y) -1)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) y) (/.f64 1 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (+.f64 y y)) (/.f64 1/2 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (neg.f64 y)) (/.f64 -1 x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) (/.f64 1 x)) y)
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (/.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y)) 1/2) (/.f64 (+.f64 y y) x))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (/.f64 (+.f64 y y) x)) (-.f64 0 (*.f64 y (/.f64 (/.f64 y x) x))))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(/.f64 (neg.f64 (*.f64 (/.f64 (+.f64 y y) x) (/.f64 x y))) (neg.f64 (/.f64 y x)))
(*.f64 2 (/.f64 x y))
(/.f64 2 (/.f64 y x))
(+.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(+.f64 (*.f64 2 (/.f64 x y)) -1)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(+.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 0)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(+.f64 0 (+.f64 (*.f64 2 (/.f64 x y)) -1))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(+.f64 (+.f64 (/.f64 x y) -1) (/.f64 x y))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 1 (+.f64 (*.f64 2 (/.f64 x y)) -1))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 4 (/.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 1/2)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 1/4)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 1/2 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))))
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(*.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1/2) 2)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(/.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 1)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(/.f64 (+.f64 -1 (+.f64 -1 (*.f64 (/.f64 x y) 4))) 2)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(/.f64 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4) 4)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) 8)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (/.f64 x y)) -1) 4))) 16)
(+.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y)))
(+.f64 -1 (*.f64 2 (/.f64 x y)))
(+.f64 -1 (/.f64 2 (/.f64 y x)))

eval197.0ms (1.7%)

Compiler

Compiled 5988 to 3501 computations (41.5% saved)

prune123.0ms (1.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3380338
Fresh022
Picked011
Done022
Total3385343
Error
0b
Counts
343 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 x y))
32.4b
(-.f64 (*.f64 2 (/.f64 x y)) 1)
0.0b
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
31.4b
1
32.9b
-1
Compiler

Compiled 37 to 27 computations (27% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done033
Total055
Error
0b
Counts
5 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 x y))
32.4b
(-.f64 (*.f64 2 (/.f64 x y)) 1)
0.0b
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
31.4b
1
32.9b
-1
Compiler

Compiled 37 to 27 computations (27% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune71.0ms (0.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done033
Total055
Error
0b
Counts
5 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 x y))
32.4b
(-.f64 (*.f64 2 (/.f64 x y)) 1)
0.0b
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
31.4b
1
32.9b
-1
Compiler

Compiled 37 to 27 computations (27% saved)

regimes12.0ms (0.1%)

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

3 calls:

4.0ms
x
4.0ms
y
2.0ms
(/.f64 (-.f64 x y) (+.f64 x y))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(/.f64 (-.f64 x y) (+.f64 x y))
Compiler

Compiled 44 to 26 computations (40.9% saved)

regimes11.0ms (0.1%)

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

3 calls:

4.0ms
y
4.0ms
x
2.0ms
(/.f64 (-.f64 x y) (+.f64 x y))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(/.f64 (-.f64 x y) (+.f64 x y))
Compiler

Compiled 33 to 21 computations (36.4% saved)

regimes93.0ms (0.8%)

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

2 calls:

83.0ms
y
9.0ms
x
Results
ErrorSegmentsBranch
14.6b3x
14.9b3y
Compiler

Compiled 17 to 13 computations (23.5% saved)

bsearch25.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
6.026151807516219e+48
4.3639484564807135e+56
10.0ms
-7.430059031336316e-87
-1.79575293015583e-87
Results
22.0ms240×body256valid
Compiler

Compiled 224 to 189 computations (15.6% saved)

regimes78.0ms (0.7%)

Accuracy

Total -48.1b remaining (-322.9%)

Threshold costs -48.1b (-322.9%)

Counts
2 → 3
Calls
Call 1
Inputs
-1
1
Outputs
1
-1
1
Calls

2 calls:

65.0ms
x
12.0ms
y
Results
ErrorSegmentsBranch
14.9b3x
15.1b3y
Compiler

Compiled 10 to 8 computations (20% saved)

bsearch23.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
2.2534190759770301e-13
1.5547152546767562
14.0ms
-3.417265742102553e-113
-1.1839955483122959e-122
Results
20.0ms224×body256valid
Compiler

Compiled 126 to 121 computations (4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032111
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(if (<=.f64 x -7839106597622315/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) 1 (if (<=.f64 x 1150000000000000025434790870138768995526141215244288) (-.f64 (*.f64 2 (/.f64 x y)) 1) 1))
(if (<=.f64 x -2772669694120815/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) 1 (if (<=.f64 x 6189700196426901/618970019642690137449562112) -1 1))
-1
Outputs
(*.f64 1/2 (/.f64 2 (/.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (-.f64 x y) (+.f64 x y))
(if (<=.f64 x -7839106597622315/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) 1 (if (<=.f64 x 1150000000000000025434790870138768995526141215244288) (-.f64 (*.f64 2 (/.f64 x y)) 1) 1))
(if (<=.f64 x -2772669694120815/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) 1 (if (<=.f64 x 6189700196426901/618970019642690137449562112) -1 1))
-1
Compiler

Compiled 57 to 43 computations (24.6% saved)

soundness197.0ms (1.7%)

Algorithm
egg-herbie
Rules
1366×rational.json-simplify-2
846×rational.json-simplify-53
762×rational.json-simplify-35
728×rational.json-simplify-61
704×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01992585
14872497
211752441
345032333
Stop Event
node limit
Compiler

Compiled 155 to 76 computations (51% saved)

end34.0ms (0.3%)

Compiler

Compiled 49 to 33 computations (32.7% saved)

Profiling

Loading profile data...