Details

Time bar (total: 5.2s)

analyze75.0ms (1.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
40.6%40.6%59.3%0.1%0%0%0%7
46%45.3%53.1%0.1%1.6%0%0%8
65.3%63.2%33.6%0.1%3.1%0%0%9
69.5%66%28.9%0.1%5.1%0%0%10
80.9%75.1%17.8%0.1%7%0%0%11
83.6%76.6%15%0.1%8.3%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

sample1.4s (27.5%)

Results
1.4s8256×body256valid
31.0ms419×body256infinite
Bogosity

preprocess1.3s (24.4%)

Algorithm
egg-herbie
Rules
20338×rational.json-simplify-41
2300×rational.json-simplify-1
648×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
11638
22938
35838
414938
543338
658238
758738
859238
959738
1060238
1160738
1261238
1361738
1462238
1562738
1663238
1763738
1864238
1964738
2065238
21223038
22223538
23224038
24224538
25225038
26225538
27312138
28312638
29313138
30313638
31314138
32314638
33315138
34315638
35316138
36316638
37317138
38317638
39318138
40318638
41319138
42319638
43320138
44320638
45321138
46321638
47322138
48322638
49323138
50323638
51324138
52324638
53325138
54325638
55326138
56326638
57327138
58327638
59328138
60328638
61329138
62329638
63330138
64330638
65331138
66331638
67332138
68332638
69333138
70333638
71334138
72334638
73335138
74335638
75336138
76336638
77337138
78337638
79338138
80338638
81339138
82339638
83340138
84340638
85341138
86341638
87342138
88342638
89343138
90343638
91344138
92344638
93345138
94345638
95346138
96346638
97347138
98347638
99348138
100348638
101349138
102349638
103350138
104350638
105351138
106351638
107352138
108352638
109353138
110353638
111354138
112354638
113355138
114355638
115356138
116356638
117357138
118357638
119358138
120358638
121359138
122359638
123360138
124360638
125361138
126361638
127362138
128362638
129363138
130363638
131364138
132364638
133365138
134365638
135366138
136366638
137367138
138367638
139368138
140368638
141369138
142369638
143370138
144370638
145371138
146371638
147372138
148372638
149373138
150373638
151374138
152374638
153375138
154375638
155376138
156376638
157377138
158377638
159378138
160378638
161379138
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 y x) (+.f64 x x))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 y x) (+.f64 x x))
(/.f64 (+.f64 x y) (+.f64 x x))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify1.5s (28.8%)

Algorithm
egg-herbie
Rules
18662×rational.json-simplify-41
1726×rational.json-simplify-1
324×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11119
22019
34219
411219
533219
644419
744719
845019
945319
1045619
11160719
12161019
13161319
14161619
15161919
16162219
17226819
18227119
19227419
20227719
21228019
22228319
23228619
24228919
25229219
26229519
27229819
28230119
29230419
30230719
31231019
32231319
33231619
34231919
35232219
36232519
37232819
38233119
39233419
40233719
41234019
42234319
43234619
44234919
45235219
46235519
47235819
48236119
49236419
50236719
51237019
52237319
53237619
54237919
55238219
56238519
57238819
58239119
59239419
60239719
61240019
62240319
63240619
64240919
65241219
66241519
67241819
68242119
69242419
70242719
71243019
72243319
73243619
74243919
75244219
76244519
77244819
78245119
79245419
80245719
81246019
82246319
83246619
84246919
85247219
86247519
87247819
88248119
89248419
90248719
91249019
92249319
93249619
94249919
95250219
96250519
97250819
98251119
99251419
100251719
101252019
102252319
103252619
104252919
105253219
106253519
107253819
108254119
109254419
110254719
111255019
112255319
113255619
114255919
115256219
116256519
117256819
118257119
119257419
120257719
121258019
122258319
123258619
124258919
125259219
126259519
127259819
128260119
129260419
130260719
131261019
132261319
133261619
134261919
135262219
136262519
137262819
138263119
139263419
140263719
141264019
142264319
143264619
144264919
145265219
146265519
147265819
148266119
149266419
150266719
151267019
152267319
153267619
154267919
155268219
156268519
157268819
158269119
159269419
160269719
161270019
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(/.f64 (+.f64 x y) (+.f64 y 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 y 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 y y))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite86.0ms (1.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
14819
213219
335219
497219
5416219
Stop Event
node limit
Counts
1 → 82
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (*.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) (*.f64 (+.f64 x y) (/.f64 1/4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 x y) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (*.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x y) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/4 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x y) (/.f64 1/4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 4) (*.f64 (/.f64 1/2 y) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 4) (*.f64 1/2 (/.f64 1/4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (/.f64 1 (/.f64 1 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x y)) (neg.f64 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 x y) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x y) (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 y y) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (+.f64 x y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 1/2) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 x y)) (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 y) (*.f64 (+.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) -2) (/.f64 1/2 (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 y y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1/2 y)) (*.f64 (+.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (/.f64 2 y)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (*.f64 y -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 (+.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (+.f64 x y)) (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 x y)) (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 8)) (*.f64 (+.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 y) 1/4) (*.f64 (+.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 2 (/.f64 y (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1/2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 y (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (+.f64 x y))) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 -1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 4 (/.f64 y (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 2 (/.f64 y (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (*.f64 y 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/4 y)) (*.f64 (+.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 y -2)) (*.f64 (+.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 4 (/.f64 y (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 2 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 y y) 8)) (*.f64 (+.f64 x y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 y y) -2)) (*.f64 (+.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (*.f64 y 4))) (*.f64 (+.f64 x y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 x y) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 y -2) (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))))))

simplify164.0ms (3.2%)

Algorithm
egg-herbie
Rules
1286×rational.json-simplify-2
960×rational.json-simplify-41
808×rational.json-simplify-35
806×rational.json-simplify-44
710×rational.json-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01612374
13542314
29622278
339812278
466282278
Stop Event
node limit
Counts
106 → 101
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 1/2 y)))
(+.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (*.f64 y -2))))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) (*.f64 (+.f64 x y) (/.f64 1/4 y)))
(-.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)
(-.f64 0 (/.f64 (+.f64 x y) (*.f64 y -2)))
(*.f64 y (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (+.f64 x y) (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))))
(*.f64 (+.f64 x y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/4 y))
(*.f64 2 (*.f64 (+.f64 x y) (/.f64 1/4 y)))
(*.f64 (/.f64 (+.f64 x y) y) 1/2)
(*.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 y 8)))
(*.f64 (*.f64 (+.f64 x y) 4) (*.f64 (/.f64 1/2 y) 1/4))
(*.f64 (*.f64 (+.f64 x y) 4) (*.f64 1/2 (/.f64 1/4 y)))
(*.f64 (/.f64 1/2 y) (+.f64 x y))
(*.f64 (/.f64 1/2 y) (/.f64 1 (/.f64 1 (+.f64 x y))))
(*.f64 (neg.f64 (+.f64 x y)) (neg.f64 (/.f64 1/2 y)))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 -1 (/.f64 (+.f64 x y) (*.f64 y -2)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))
(*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 4 (/.f64 (+.f64 x y) (*.f64 y 8)))
(*.f64 4 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4))
(*.f64 (*.f64 (+.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 y y) 8)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 x y) 1/2) (/.f64 1 y))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 1/4 y) (*.f64 (+.f64 x y) 2))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1/2 (*.f64 y -2)))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 y y) -2)))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 y 4))))
(*.f64 (*.f64 2 (/.f64 1/2 y)) (*.f64 (+.f64 x y) 1/2))
(*.f64 (*.f64 (+.f64 x y) (/.f64 2 y)) 1/4)
(*.f64 (/.f64 (+.f64 x y) (*.f64 y -2)) -1)
(*.f64 (/.f64 1 y) (*.f64 (+.f64 x y) 1/2))
(*.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) 2)
(*.f64 1/4 (*.f64 (+.f64 x y) (/.f64 2 y)))
(*.f64 (/.f64 -1 (+.f64 x y)) (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 1 (*.f64 y 8)) (*.f64 (+.f64 x y) 4))
(*.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (+.f64 x y)))
(*.f64 (*.f64 (/.f64 1/2 y) 1/4) (*.f64 (+.f64 x y) 4))
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))) (+.f64 x y))
(*.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 x y))
(*.f64 (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 2 (/.f64 y (+.f64 x y))))
(*.f64 (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1/2 (+.f64 x y)))
(*.f64 (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 y (+.f64 x y)))
(*.f64 (/.f64 1 (/.f64 1 (+.f64 x y))) (/.f64 1/2 y))
(*.f64 (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 2 (+.f64 x y)))
(*.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1 (+.f64 x y)))
(*.f64 (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 -1 (+.f64 x y)))
(*.f64 (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (+.f64 y y))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 4 (/.f64 y (+.f64 x y))))
(*.f64 (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 1 (+.f64 x y)))
(*.f64 (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 2 (/.f64 y (+.f64 x y))))
(*.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))) -1)
(*.f64 (/.f64 (+.f64 x y) (*.f64 y 8)) 4)
(*.f64 (*.f64 1/2 (/.f64 1/4 y)) (*.f64 (+.f64 x y) 4))
(*.f64 (/.f64 1/2 (*.f64 y -2)) (*.f64 (+.f64 x y) -2))
(*.f64 (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 4 (/.f64 y (+.f64 x y))))
(*.f64 (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) y)
(*.f64 (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 2 (+.f64 x y)))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4) 4)
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) 8)) (*.f64 (+.f64 x y) 8))
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) -2)) (*.f64 (+.f64 x y) -2))
(*.f64 (/.f64 1 (neg.f64 (*.f64 y 4))) (*.f64 (+.f64 x y) -2))
(pow.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)
(neg.f64 (/.f64 (+.f64 x y) (*.f64 y -2)))
(neg.f64 (/.f64 (/.f64 (*.f64 y -2) (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(neg.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))
Outputs
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 1/2 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(+.f64 -1 (-.f64 1 (/.f64 (+.f64 x y) (*.f64 y -2))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(+.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) (*.f64 (+.f64 x y) (/.f64 1/4 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(-.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 0)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(-.f64 0 (/.f64 (+.f64 x y) (*.f64 y -2)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 y (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 y (/.f64 2 (*.f64 (+.f64 x y) (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y)))))))
(*.f64 y (/.f64 (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/2 (/.f64 y (+.f64 x y))))) (+.f64 x y)))
(*.f64 y (/.f64 1/2 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (+.f64 x y) (/.f64 y (+.f64 x y))))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (+.f64 x y) (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (+.f64 x y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 1/2 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) 2) (/.f64 1/4 y))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 2 (*.f64 (+.f64 x y) (/.f64 1/4 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (+.f64 x y) y) 1/2)
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (*.f64 (+.f64 x y) 4) (/.f64 1 (*.f64 y 8)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) 4) (*.f64 (/.f64 1/2 y) 1/4))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) 4) (*.f64 1/2 (/.f64 1/4 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1/2 y) (+.f64 x y))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1/2 y) (/.f64 1 (/.f64 1 (+.f64 x y))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (neg.f64 (+.f64 x y)) (neg.f64 (/.f64 1/2 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 2 (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 2 (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 -1 (/.f64 (+.f64 x y) (*.f64 y -2)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 4 (/.f64 (+.f64 x y) (*.f64 y 8)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 4 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) 8) (/.f64 1 (*.f64 (+.f64 y y) 8)))
(*.f64 (+.f64 x y) (*.f64 8 (/.f64 (/.f64 1/2 y) 8)))
(*.f64 (+.f64 x y) (*.f64 8 (/.f64 1/16 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 2 (/.f64 1/2 y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) 1/2) (/.f64 1 y))
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 2 (+.f64 x y)) (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1/4 y) (*.f64 (+.f64 x y) 2))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1/2 (*.f64 y -2)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (*.f64 (+.f64 y y) -2)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) -2) (/.f64 1 (neg.f64 (*.f64 y 4))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 2 (/.f64 1/2 y)) (*.f64 (+.f64 x y) 1/2))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (+.f64 x y) (/.f64 2 y)) 1/4)
(*.f64 (+.f64 x y) (*.f64 (/.f64 2 y) 1/4))
(*.f64 (+.f64 x y) (*.f64 1/4 (/.f64 2 y)))
(*.f64 1/4 (*.f64 (+.f64 x y) (/.f64 2 y)))
(*.f64 (/.f64 (+.f64 x y) (*.f64 y -2)) -1)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 y) (*.f64 (+.f64 x y) 1/2))
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 1/2 (+.f64 x y)) (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 2 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/2 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 1/2 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 (*.f64 (+.f64 x y) (/.f64 1/4 y)) 2)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 1/4 (*.f64 (+.f64 x y) (/.f64 2 y)))
(*.f64 (+.f64 x y) (*.f64 (/.f64 2 y) 1/4))
(*.f64 (+.f64 x y) (*.f64 1/4 (/.f64 2 y)))
(*.f64 (/.f64 -1 (+.f64 x y)) (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 (*.f64 y 8)) (*.f64 (+.f64 x y) 4))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (neg.f64 (/.f64 1/2 y)) (neg.f64 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 (/.f64 1/2 y) 1/4) (*.f64 (+.f64 x y) 4))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1/2 y))) (+.f64 x y))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 x y))
(*.f64 1/2 (*.f64 (/.f64 1 y) (+.f64 x y)))
(*.f64 1/2 (*.f64 (+.f64 x y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 1 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 2 (/.f64 y (+.f64 x y))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 2 (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 (*.f64 y 4) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1/2 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 y (+.f64 x y)))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 2 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/2 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 1/2 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 1 (/.f64 1 (+.f64 x y))) (/.f64 1/2 y))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 y (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 2 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 1 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (*.f64 y -2) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (/.f64 -1 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (/.f64 1 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (+.f64 y y))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 4 (/.f64 y (+.f64 x y))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (*.f64 y 4) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 1 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 2 (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (*.f64 2 (/.f64 y (+.f64 x y))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/4 (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 2 (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y))))))
(*.f64 (*.f64 2 (/.f64 y (+.f64 x y))) (/.f64 1/4 (*.f64 (/.f64 y (+.f64 x y)) (/.f64 y (+.f64 x y)))))
(*.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))) -1)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 y 8)) 4)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (*.f64 1/2 (/.f64 1/4 y)) (*.f64 (+.f64 x y) 4))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1/2 (*.f64 y -2)) (*.f64 (+.f64 x y) -2))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1/2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) (*.f64 4 (/.f64 y (+.f64 x y))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (/.f64 2 (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))) y)
(*.f64 y (/.f64 2 (*.f64 (+.f64 x y) (*.f64 (/.f64 y (+.f64 x y)) (*.f64 4 (/.f64 y (+.f64 x y)))))))
(*.f64 y (/.f64 (/.f64 (+.f64 x y) (/.f64 y (/.f64 1/2 (/.f64 y (+.f64 x y))))) (+.f64 x y)))
(*.f64 y (/.f64 1/2 (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (+.f64 x y) (/.f64 y (+.f64 x y))))))
(*.f64 (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y))))) (/.f64 2 (+.f64 x y)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 4) 4)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) 8)) (*.f64 (+.f64 x y) 8))
(*.f64 (+.f64 x y) (*.f64 8 (/.f64 (/.f64 1/2 y) 8)))
(*.f64 (+.f64 x y) (*.f64 8 (/.f64 1/16 y)))
(*.f64 (/.f64 1 (*.f64 (+.f64 y y) -2)) (*.f64 (+.f64 x y) -2))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(*.f64 (/.f64 1 (neg.f64 (*.f64 y 4))) (*.f64 (+.f64 x y) -2))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(pow.f64 (*.f64 (+.f64 x y) (/.f64 1/2 y)) 1)
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(neg.f64 (/.f64 (+.f64 x y) (*.f64 y -2)))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(neg.f64 (/.f64 (/.f64 (*.f64 y -2) (+.f64 x y)) (*.f64 (*.f64 4 (/.f64 y (+.f64 x y))) (/.f64 y (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))
(neg.f64 (/.f64 (*.f64 (+.f64 x y) 2) (neg.f64 (*.f64 y 4))))
(*.f64 (+.f64 x y) (/.f64 1/2 y))

eval20.0ms (0.4%)

Compiler

Compiled 1455 to 649 computations (55.4% saved)

prune17.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New983101
Fresh000
Picked101
Done000
Total993102
Error
0b
Counts
102 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
36.3b
(*.f64 1/2 (/.f64 x y))
26.7b
1/2
Compiler

Compiled 19 to 15 computations (21.1% saved)

localize5.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 20 to 10 computations (50% saved)

series2.0ms (0%)

Counts
1 → 6
Calls

6 calls:

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

rewrite83.0ms (1.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15519
213519
333019
488419
5393919
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 1 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 y x)) (*.f64 1/2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)))))

simplify409.0ms (7.9%)

Algorithm
egg-herbie
Rules
2264×rational.json-simplify-2
2012×rational.json-simplify-1
1900×rational.json-simplify-48
1494×rational.json-simplify-49
1298×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043427
187427
2162427
3322427
4718427
51875427
63091427
73521427
83819427
94060427
104252427
115108427
125603427
135946427
145981427
156011427
166040427
176069427
186110427
196268427
206396427
216474427
227293427
237928427
Stop Event
node limit
Counts
25 → 24
Calls
Call 1
Inputs
1/2
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
1/2
(-.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 0)
(*.f64 1/2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))
(*.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 1 (/.f64 y x)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
(*.f64 1 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))))
(*.f64 2 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))))
(*.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 1/2)
(*.f64 4 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4))
(*.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 1/4)
(*.f64 1/4 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))
(*.f64 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))) 2)
(*.f64 (+.f64 1 (/.f64 y x)) (*.f64 1/2 (/.f64 x y)))
(*.f64 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4) 4)
(/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
(/.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 2)
(/.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 4)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))) 16)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
Outputs
1/2
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
1/2
(-.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 0)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 1 (/.f64 y x)))
(*.f64 1/2 (*.f64 (/.f64 x y) (+.f64 1 (/.f64 y x))))
(*.f64 (/.f64 x y) (*.f64 1/2 (+.f64 1 (/.f64 y x))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 2 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 1/2)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 4 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 1/4)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/4 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 1/2 (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))) 2)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 (+.f64 1 (/.f64 y x)) (*.f64 1/2 (/.f64 x y)))
(*.f64 (*.f64 1/2 (/.f64 x y)) (+.f64 1 (/.f64 y x)))
(*.f64 1/2 (*.f64 (/.f64 x y) (+.f64 1 (/.f64 y x))))
(*.f64 (/.f64 x y) (*.f64 1/2 (+.f64 1 (/.f64 y x))))
(*.f64 (/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 4) 4)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(/.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(/.f64 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))) 2)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(/.f64 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))) 4)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y))))) 8)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 1/2 (+.f64 1/2 (/.f64 x y)))))) 16)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x y))) 1)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))

eval5.0ms (0.1%)

Compiler

Compiled 236 to 157 computations (33.5% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New24024
Fresh011
Picked011
Done011
Total24327
Error
0b
Counts
27 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
36.3b
(*.f64 1/2 (/.f64 x y))
26.7b
1/2
Compiler

Compiled 19 to 15 computations (21.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
36.3b
(*.f64 1/2 (/.f64 x y))
26.7b
1/2
Compiler

Compiled 19 to 15 computations (21.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
36.3b
(*.f64 1/2 (/.f64 x y))
26.7b
1/2
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes12.0ms (0.2%)

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

3 calls:

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

Compiled 37 to 22 computations (40.5% saved)

regimes30.0ms (0.6%)

Accuracy

Total -46.4b remaining (-303.9%)

Threshold costs -46.4b (-303.9%)

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

2 calls:

19.0ms
y
10.0ms
x
Results
ErrorSegmentsBranch
15.3b3x
15.7b7y
Compiler

Compiled 14 to 10 computations (28.6% saved)

bsearch29.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
26114569646275.875
3.512147734111435e+21
14.0ms
-1.3685046716692822e+75
-3.4128979057768245e+71
Results
23.0ms272×body256valid
2.0ms15×body256infinite
Compiler

Compiled 218 to 179 computations (17.9% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01765
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(if (<=.f64 x -102000000000000004860393895242070033426731512823033231390225449522816876544) (*.f64 1/2 (/.f64 x y)) (if (<=.f64 x 34000000000000000000) 1/2 (*.f64 1/2 (/.f64 x y))))
1/2
Outputs
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(if (<=.f64 x -102000000000000004860393895242070033426731512823033231390225449522816876544) (*.f64 1/2 (/.f64 x y)) (if (<=.f64 x 34000000000000000000) 1/2 (*.f64 1/2 (/.f64 x y))))
1/2
Compiler

Compiled 33 to 24 computations (27.3% saved)

soundness0.0ms (0%)

end30.0ms (0.6%)

Compiler

Compiled 29 to 19 computations (34.5% saved)

Profiling

Loading profile data...