Details

Time bar (total: 11.4s)

analyze0.0ms (0%)

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

Compiled 14 to 13 computations (7.1% saved)

sample2.5s (21.7%)

Results
1.3s2172×body2048valid
560.0ms1092×body1024valid
495.0ms4466×body256valid
123.0ms526×body512valid
Bogosity

preprocess707.0ms (6.2%)

Algorithm
egg-herbie
Rules
11846×rational.json-simplify-41
1180×rational.json-simplify-1
328×rational.json-simplify-35
12×rational.json-simplify-2
rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01235
12235
23035
34335
45435
57835
614435
733135
841435
941835
1042235
1142635
1243035
13142135
14183335
15183735
16184135
17184535
18184935
19185335
20185735
21186135
22186535
23186935
24187335
25187735
26188135
27188535
28188935
29189335
30189735
31190135
32190535
33190935
34191335
35191735
36192135
37192535
38192935
39193335
40193735
41194135
42194535
43194935
44195335
45195735
46196135
47196535
48196935
49197335
50197735
51198135
52198535
53198935
54199335
55199735
56200135
57200535
58200935
59201335
60201735
61202135
62202535
63202935
64203335
65203735
66204135
67204535
68204935
69205335
70205735
71206135
72206535
73206935
74207335
75207735
76208135
77208535
78208935
79209335
80209735
81210135
82210535
83210935
84211335
85211735
86212135
87212535
88212935
89213335
90213735
91214135
92214535
93214935
94215335
95215735
96216135
97216535
98216935
99217335
100217735
101218135
102218535
103218935
104219335
105219735
106220135
107220535
108220935
109221335
110221735
111222135
112222535
113222935
114223335
115223735
116224135
117224535
118224935
119225335
120225735
121226135
122226535
123226935
124227335
125227735
126228135
127228535
128228935
129229335
130229735
131230135
132230535
133230935
134231335
135231735
136232135
137232535
138232935
139233335
140233735
141234135
142234535
143234935
144235335
145235735
146236135
147236535
148236935
149237335
150237735
151238135
152238535
153238935
154239335
155239735
156240135
157240535
158240935
159241335
160241735
161242135
162242535
163242935
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
Outputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
Compiler

Compiled 14 to 13 computations (7.1% saved)

simplify708.0ms (6.2%)

Algorithm
egg-herbie
Rules
11846×rational.json-simplify-41
1180×rational.json-simplify-1
328×rational.json-simplify-35
12×rational.json-simplify-2
rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01235
12235
23035
34335
45435
57835
614435
733135
841435
941835
1042235
1142635
1243035
13142135
14183335
15183735
16184135
17184535
18184935
19185335
20185735
21186135
22186535
23186935
24187335
25187735
26188135
27188535
28188935
29189335
30189735
31190135
32190535
33190935
34191335
35191735
36192135
37192535
38192935
39193335
40193735
41194135
42194535
43194935
44195335
45195735
46196135
47196535
48196935
49197335
50197735
51198135
52198535
53198935
54199335
55199735
56200135
57200535
58200935
59201335
60201735
61202135
62202535
63202935
64203335
65203735
66204135
67204535
68204935
69205335
70205735
71206135
72206535
73206935
74207335
75207735
76208135
77208535
78208935
79209335
80209735
81210135
82210535
83210935
84211335
85211735
86212135
87212535
88212935
89213335
90213735
91214135
92214535
93214935
94215335
95215735
96216135
97216535
98216935
99217335
100217735
101218135
102218535
103218935
104219335
105219735
106220135
107220535
108220935
109221335
110221735
111222135
112222535
113222935
114223335
115223735
116224135
117224535
118224935
119225335
120225735
121226135
122226535
123226935
124227335
125227735
126228135
127228535
128228935
129229335
130229735
131230135
132230535
133230935
134231335
135231735
136232135
137232535
138232935
139233335
140233735
141234135
142234535
143234935
144235335
145235735
146236135
147236535
148236935
149237335
150237735
151238135
152238535
153238935
154239335
155239735
156240135
157240535
158240935
159241335
160241735
161242135
162242535
163242935
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
Outputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))

eval0.0ms (0%)

Compiler

Compiled 13 to 12 computations (7.7% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 12 computations (7.7% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
0.0b
(/.f64 1 (hypot.f64 1 x))
0.0b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
2.3b
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
Compiler

Compiled 50 to 43 computations (14% saved)

series4.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite95.0ms (0.8%)

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

Useful iterations: 5 (0.0ms)

IterNodesCost
01296
19296
220496
340796
484496
5255284
6601684
Stop Event
node limit
Counts
4 → 154
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 1 (hypot.f64 1 x))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)) (-.f64 1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (hypot.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (hypot.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 x) (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1/4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (hypot.f64 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (hypot.f64 1 x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (hypot.f64 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (hypot.f64 1 x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (hypot.f64 1 x)) (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (hypot.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (hypot.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (hypot.f64 1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (hypot.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 1/2 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (/.f64 1/4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (/.f64 4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)) 1) (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (hypot.f64 1 x)) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 1/2 (hypot.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 (hypot.f64 1 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))) (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (+.f64 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))) (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (neg.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (hypot.f64 1 x)) (neg.f64 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (*.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 (hypot.f64 1 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (*.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (*.f64 1/2 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))))))

simplify119.0ms (1%)

Algorithm
egg-herbie
Rules
1472×rational.json-simplify-35
1092×rational.json-simplify-46
1090×rational.json-simplify-2
780×rational.json-simplify-50
736×rational.json-simplify-59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03955858
19385822
224665804
355175774
Stop Event
node limit
Counts
202 → 289
Calls
Call 1
Inputs
(-.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) 1) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 (sqrt.f64 2) 2))) 5/16) (pow.f64 x 6))) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2)))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 -3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 2) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 (sqrt.f64 2) 2))) 5/16) (pow.f64 x 6))) (sqrt.f64 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 -3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 (*.f64 -5/16 (pow.f64 x 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4)))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 5/16 (/.f64 1 (pow.f64 x 7))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(/.f64 -1 x)
(-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))
(-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(-.f64 (+.f64 (*.f64 5/16 (/.f64 1 (pow.f64 x 7))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 (*.f64 -5/16 (pow.f64 x 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4)))))
1
(+.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (/.f64 1 x))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(+.f64 (-.f64 -1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)) (-.f64 1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(+.f64 (/.f64 1 (hypot.f64 1 x)) 0)
(+.f64 0 (/.f64 1 (hypot.f64 1 x)))
(+.f64 -1 (-.f64 1 (/.f64 -1 (hypot.f64 1 x))))
(+.f64 (/.f64 1/2 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1 (hypot.f64 1 x)) 0)
(-.f64 0 (/.f64 -1 (hypot.f64 1 x)))
(*.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 1/2 (/.f64 2 (hypot.f64 1 x)))
(*.f64 (hypot.f64 1 x) (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) 1)
(*.f64 2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 4 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 (/.f64 2 (hypot.f64 1 x)) 1/2)
(*.f64 (/.f64 4 (hypot.f64 1 x)) 1/4)
(*.f64 1/4 (/.f64 4 (hypot.f64 1 x)))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) 2)
(*.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))
(*.f64 (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) 4)
(*.f64 (*.f64 1/2 (hypot.f64 1 x)) (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 -1 (hypot.f64 1 x)) -1)
(*.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))
(pow.f64 (/.f64 1 (hypot.f64 1 x)) 1)
(neg.f64 (/.f64 -1 (hypot.f64 1 x)))
(-.f64 (/.f64 1 (hypot.f64 1 x)) -1)
(-.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 0)
(-.f64 0 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))
(*.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 2)
(*.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))
(*.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 4 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 1/2 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(*.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 1/2)
(*.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 1/4)
(*.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4))
(*.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 2 (hypot.f64 1 x)))
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 1/4 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))
(*.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 4)
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (/.f64 4 (hypot.f64 1 x)))
(*.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))
(*.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)
(*.f64 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)) 1) (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))
(/.f64 1 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1/2)
(/.f64 -1 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))))
(/.f64 -1 (neg.f64 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (hypot.f64 1 x))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 1/2 (hypot.f64 1 x)) 1/2))
(/.f64 2 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 4 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 2)
(/.f64 8 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))
(/.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 4)
(/.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 (hypot.f64 1 x) 1/2))
(/.f64 -2 (+.f64 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))) (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x)))))
(/.f64 -2 (neg.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2)))
(/.f64 16 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(/.f64 16 (+.f64 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))) (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))
(/.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8) 8)
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 4))
(/.f64 -4 (neg.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/4)
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (neg.f64 (hypot.f64 1 x)))
(/.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (*.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) 16)
(/.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) -2))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 (hypot.f64 1 x) 8))
(/.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)
(/.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (*.f64 (hypot.f64 1 x) -2))
(/.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (hypot.f64 1 x))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (*.f64 1/2 (hypot.f64 1 x))))
(/.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))
(/.f64 (+.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x))) -2)
(/.f64 (+.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (neg.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))
(pow.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(neg.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))
Outputs
(-.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
0
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) 1) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 1/4 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) 1))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) 0)
(*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))) (-.f64 (*.f64 1/4 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) 1))
(+.f64 (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2))))) 0)
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 (sqrt.f64 2) 2))) 5/16) (pow.f64 x 6))) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2)))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))) (-.f64 (*.f64 1/4 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) 1))
(+.f64 (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))) (*.f64 1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))) 0)
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 6)) (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (sqrt.f64 2)))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2))))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(-.f64 (+.f64 (*.f64 -3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(+.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (-.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16)))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16)) (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 2) (sqrt.f64 1/2))
1
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(+.f64 1 (*.f64 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) -1/4))
(+.f64 1 (*.f64 (pow.f64 x 2) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/4)))
(+.f64 1 (*.f64 (pow.f64 x 2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))
(+.f64 (+.f64 1 (*.f64 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) -1/4)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 x 2) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/4))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 x 2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4))) (sqrt.f64 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 (sqrt.f64 2) 2))) 5/16) (pow.f64 x 6))) (sqrt.f64 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (sqrt.f64 2))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (+.f64 (+.f64 1 (*.f64 (*.f64 (pow.f64 x 2) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) -1/4)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (pow.f64 x 4)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))))
(+.f64 (+.f64 (+.f64 1 (*.f64 (pow.f64 x 2) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/4))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2))))) (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2))))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 6)) (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (sqrt.f64 2))))))
(+.f64 (*.f64 (pow.f64 x 2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) 2)) 5/16) (pow.f64 x 6)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (+.f64 1 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 -3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -3/16))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8))))
(+.f64 (+.f64 (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 3/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (*.f64 (pow.f64 x 2) -1/2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 2) -1/2) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 x 2) -1/2)) (*.f64 3/8 (pow.f64 x 4)))
(+.f64 (*.f64 -5/16 (pow.f64 x 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -1/2) (*.f64 3/8 (pow.f64 x 4))) (*.f64 (pow.f64 x 6) -5/16)))
(+.f64 (*.f64 3/8 (pow.f64 x 4)) (+.f64 (+.f64 1 (*.f64 (pow.f64 x 2) -1/2)) (*.f64 (pow.f64 x 6) -5/16)))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(+.f64 (*.f64 3/8 (/.f64 1 (pow.f64 x 5))) (-.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (/.f64 1 x) (-.f64 (*.f64 3/8 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(-.f64 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 5/16 (/.f64 1 (pow.f64 x 7))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (*.f64 3/8 (/.f64 1 (pow.f64 x 5))) (-.f64 (/.f64 1 x) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (*.f64 5/16 (/.f64 1 (pow.f64 x 7))))))
(/.f64 -1 x)
(-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))
(-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(-.f64 (+.f64 (*.f64 5/16 (/.f64 1 (pow.f64 x 7))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 5/16 (/.f64 1 (pow.f64 x 7))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5))))))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 2 (*.f64 (pow.f64 x 2) -1/2))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 2 (+.f64 (*.f64 (pow.f64 x 2) -1/2) (*.f64 3/8 (pow.f64 x 4))))
(+.f64 (*.f64 3/8 (pow.f64 x 4)) (+.f64 2 (*.f64 (pow.f64 x 2) -1/2)))
(+.f64 (*.f64 -5/16 (pow.f64 x 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 3/8 (pow.f64 x 4)))))
(+.f64 2 (+.f64 (+.f64 (*.f64 (pow.f64 x 2) -1/2) (*.f64 3/8 (pow.f64 x 4))) (*.f64 (pow.f64 x 6) -5/16)))
(+.f64 (+.f64 (*.f64 (pow.f64 x 2) -1/2) (*.f64 3/8 (pow.f64 x 4))) (+.f64 (*.f64 (pow.f64 x 6) -5/16) 2))
(+.f64 (*.f64 3/8 (pow.f64 x 4)) (+.f64 (+.f64 2 (*.f64 (pow.f64 x 2) -1/2)) (*.f64 (pow.f64 x 6) -5/16)))
1
(+.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(+.f64 (/.f64 1 x) (-.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (-.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))) (-.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (/.f64 1 x) (-.f64 (*.f64 3/8 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 (pow.f64 x 3))))))
(+.f64 (-.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (+.f64 1 (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (*.f64 3/8 (/.f64 1 (pow.f64 x 5))) (-.f64 (+.f64 1 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (/.f64 1 x))
(+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (-.f64 1 (/.f64 1 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 1 (pow.f64 x 3)))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (-.f64 1 (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5))))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 x) (*.f64 3/8 (/.f64 1 (pow.f64 x 5))))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (-.f64 -1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)) (-.f64 1 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 2)))
(+.f64 (-.f64 -1 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)) (-.f64 1 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 (/.f64 1 (hypot.f64 1 x)) 0)
(/.f64 1 (hypot.f64 1 x))
(+.f64 0 (/.f64 1 (hypot.f64 1 x)))
(/.f64 1 (hypot.f64 1 x))
(+.f64 -1 (-.f64 1 (/.f64 -1 (hypot.f64 1 x))))
(/.f64 1 (hypot.f64 1 x))
(+.f64 (/.f64 1/2 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 1 (hypot.f64 1 x))
(-.f64 (/.f64 1 (hypot.f64 1 x)) 0)
(/.f64 1 (hypot.f64 1 x))
(-.f64 0 (/.f64 -1 (hypot.f64 1 x)))
(/.f64 1 (hypot.f64 1 x))
(*.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 1 (hypot.f64 1 x))
(*.f64 1/2 (/.f64 2 (hypot.f64 1 x)))
(*.f64 (hypot.f64 1 x) (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) 1)
(/.f64 1 (hypot.f64 1 x))
(*.f64 2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) (hypot.f64 1 x))))
(/.f64 2 (+.f64 (*.f64 2 (hypot.f64 1 x)) (/.f64 0 (hypot.f64 1 x))))
(*.f64 4 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 (/.f64 2 (hypot.f64 1 x)) 1/2)
(*.f64 1/2 (/.f64 2 (hypot.f64 1 x)))
(*.f64 (/.f64 4 (hypot.f64 1 x)) 1/4)
(*.f64 1/4 (/.f64 4 (hypot.f64 1 x)))
(*.f64 1/4 (/.f64 4 (hypot.f64 1 x)))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) 2)
(*.f64 2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))
(*.f64 (hypot.f64 1 x) (/.f64 1 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))
(*.f64 1/2 (*.f64 (hypot.f64 1 x) (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 1/2 (/.f64 (hypot.f64 1 x) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) 2)))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) 4)
(*.f64 4 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 (*.f64 1/2 (hypot.f64 1 x)) (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 1/2 (*.f64 (hypot.f64 1 x) (/.f64 2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 1/2 (/.f64 (hypot.f64 1 x) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) 2)))
(*.f64 (/.f64 -1 (hypot.f64 1 x)) -1)
(/.f64 1 (hypot.f64 1 x))
(*.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) (hypot.f64 1 x))))
(/.f64 2 (+.f64 (*.f64 2 (hypot.f64 1 x)) (/.f64 0 (hypot.f64 1 x))))
(pow.f64 (/.f64 1 (hypot.f64 1 x)) 1)
(/.f64 1 (hypot.f64 1 x))
(neg.f64 (/.f64 -1 (hypot.f64 1 x)))
(/.f64 1 (hypot.f64 1 x))
(-.f64 (/.f64 1 (hypot.f64 1 x)) -1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(-.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 0)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(-.f64 0 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 2)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 4 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 2 (hypot.f64 1 x)) (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 1/2 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 1/2)
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 1/4)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 1/2 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (/.f64 4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 2 (hypot.f64 1 x)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (/.f64 1/4 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 1/4 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 4)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (/.f64 4 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(*.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)) 1) (/.f64 1 (hypot.f64 1 x)))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (+.f64 1 (*.f64 (hypot.f64 1 x) (/.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (+.f64 1 (+.f64 (hypot.f64 1 x) (/.f64 0 (hypot.f64 1 x)))))
(*.f64 (+.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4) (*.f64 (+.f64 1 (hypot.f64 1 x)) 1/4)) (/.f64 2 (hypot.f64 1 x)))
(*.f64 1/2 (+.f64 2 (/.f64 2 (hypot.f64 1 x))))
(/.f64 1 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1/2)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 -1 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 -1 (neg.f64 (/.f64 1 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (hypot.f64 1 x))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 1/2 (hypot.f64 1 x)) 1/2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 2 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 4 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 2 (/.f64 2 (hypot.f64 1 x))) 2)
(/.f64 8 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 4) 4)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (*.f64 (hypot.f64 1 x) 2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2) (/.f64 (hypot.f64 1 x) 1/2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 -2 (+.f64 (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x))) (/.f64 (hypot.f64 1 x) (-.f64 -1 (hypot.f64 1 x)))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 -2 (neg.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (*.f64 1/2 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 16 (+.f64 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 16 (+.f64 (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))) (*.f64 2 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8) 8)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 4))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 -4 (neg.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/4)
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (neg.f64 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (*.f64 (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(/.f64 (/.f64 (/.f64 4 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 (/.f64 (*.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))) (+.f64 (/.f64 2 (+.f64 1 (hypot.f64 1 x))) (/.f64 8 (+.f64 4 (/.f64 4 (hypot.f64 1 x))))))
(+.f64 (/.f64 -1 (/.f64 -8 (+.f64 4 (/.f64 4 (hypot.f64 1 x))))) (/.f64 -1 (/.f64 -8 (+.f64 4 (/.f64 4 (hypot.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) 16)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) -2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 (hypot.f64 1 x) 8))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) -1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (*.f64 (hypot.f64 1 x) -2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (hypot.f64 1 x))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (*.f64 1/2 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2)) (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8)) (*.f64 2 (*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 8))) 32)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 4 (neg.f64 (hypot.f64 1 x))))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)) (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x))) -2)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (+.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x))) (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (hypot.f64 1 x) 2) 2))) (*.f64 (hypot.f64 1 x) 2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 (hypot.f64 1 x) 2))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (-.f64 -1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(pow.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1)
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
(neg.f64 (/.f64 (-.f64 -1 (hypot.f64 1 x)) (hypot.f64 1 x)))
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))

eval129.0ms (1.1%)

Compiler

Compiled 5896 to 5365 computations (9% saved)

prune50.0ms (0.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New27811289
Fresh000
Picked101
Done000
Total27911290
Error
0.5b
Counts
290 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
14.7b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
32.5b
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
32.5b
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 x)))))
31.8b
(-.f64 1 (sqrt.f64 1/2))
14.7b
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
32.2b
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
32.3b
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
32.0b
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))
32.3b
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
31.5b
(*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2))))
45.6b
0
Compiler

Compiled 302 to 278 computations (7.9% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
2.3b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 37 to 31 computations (16.2% saved)

series3.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite96.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1256×rational.json-1
1256×rational.json-2
1256×rational.json-3
1254×rational.json-4
1238×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01184
18384
218684
339084
479084
5226984
6543484
Stop Event
node limit
Counts
4 → 161
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 1/2 (hypot.f64 1 x))
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -1/2 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/4 (hypot.f64 1 x)) (/.f64 1/4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 x) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 1 x) 4) (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (hypot.f64 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (hypot.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) (*.f64 (hypot.f64 1 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1/2 (hypot.f64 1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (hypot.f64 1 x)) (neg.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (/.f64 1/4 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (neg.f64 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (*.f64 (hypot.f64 1 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/4 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (hypot.f64 1 x)) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 2 (*.f64 (hypot.f64 1 x) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/4 (-.f64 0 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (*.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 (hypot.f64 1 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (/.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (/.f64 (*.f64 (hypot.f64 1 x) -2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (*.f64 2 (*.f64 (hypot.f64 1 x) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 (hypot.f64 1 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (-.f64 0 (neg.f64 (*.f64 (hypot.f64 1 x) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 1/2 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (-.f64 0 (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (*.f64 (hypot.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (neg.f64 (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)))))

simplify149.0ms (1.3%)

Algorithm
egg-herbie
Rules
1050×rational.json-simplify-1
1030×rational.json-simplify-2
700×rational.json-simplify-35
696×rational.json-simplify-50
590×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04225831
111175767
230565755
349345743
475375743
Stop Event
node limit
Counts
209 → 288
Calls
Call 1
Inputs
(*.f64 1/8 (pow.f64 x 2))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -11/128 (pow.f64 x 4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 -11/128 (pow.f64 x 4)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
1
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 1 (*.f64 11/128 (pow.f64 x 4))))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -69/1024 (pow.f64 x 6)) (+.f64 1 (*.f64 11/128 (pow.f64 x 4)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 3/16 (pow.f64 x 4))))
(+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -5/32 (pow.f64 x 6)) (*.f64 3/16 (pow.f64 x 4)))))
(/.f64 1/2 x)
(-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 5/32 (/.f64 1 (pow.f64 x 7)))))
(/.f64 -1/2 x)
(-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 5/32 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))))
1
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 3/16 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -5/32 (pow.f64 x 6)) (*.f64 3/16 (pow.f64 x 4)))))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) 1/2) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 1/2 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
1/2
(-.f64 1/2 (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(+.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)
(+.f64 0 (/.f64 1/2 (hypot.f64 1 x)))
(+.f64 -1 (-.f64 1 (/.f64 -1/2 (hypot.f64 1 x))))
(+.f64 (/.f64 1/4 (hypot.f64 1 x)) (/.f64 1/4 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)
(-.f64 0 (/.f64 -1/2 (hypot.f64 1 x)))
(*.f64 1 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 1/2 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (hypot.f64 1 x) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)
(*.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 2 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 2 (*.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x)))
(*.f64 (*.f64 (hypot.f64 1 x) 4) (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) 1/2)
(*.f64 4 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))
(*.f64 4 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))
(*.f64 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 1/4)
(*.f64 1/4 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))
(*.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))
(*.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) 2)
(*.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) 4)
(*.f64 (/.f64 -1/2 (hypot.f64 1 x)) -1)
(*.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) (*.f64 (hypot.f64 1 x) 4))
(*.f64 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 4)
(pow.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)
(neg.f64 (/.f64 -1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) (neg.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2))))
(-.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 0)
(*.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))
(*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
(*.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 2 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))
(*.f64 4 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))
(*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1/2)
(*.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 1/4)
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)))
(*.f64 1/4 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))
(*.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 2)
(*.f64 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)
(/.f64 1 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 1/2 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x))))
(/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
(/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x)))
(/.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 4 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(/.f64 4 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))
(/.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 2)
(/.f64 -1/2 (neg.f64 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x)))))
(/.f64 -1 (neg.f64 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(/.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))
(/.f64 8 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(/.f64 8 (*.f64 2 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(/.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (*.f64 (hypot.f64 1 x) 4))
(/.f64 16 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(/.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8) 8)
(/.f64 -2 (neg.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 8))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (hypot.f64 1 x))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4)))
(/.f64 1/4 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))
(/.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/2)
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) -2))
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x))))
(/.f64 -4 (-.f64 0 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 2 (*.f64 (hypot.f64 1 x) 8)))
(/.f64 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8)) 16)
(/.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))
(/.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 1/2 (hypot.f64 1 x)))
(/.f64 -1/4 (-.f64 0 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))))
(/.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8)) 1/4)
(/.f64 -8 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4))))
(/.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (hypot.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4)))
(/.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8))) 1/2)
(/.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (*.f64 (hypot.f64 1 x) -2))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 8)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 (hypot.f64 1 x) 4))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (/.f64 (hypot.f64 1 x) -2))
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (/.f64 (*.f64 (hypot.f64 1 x) -2) -1/2))
(/.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (hypot.f64 1 x))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (*.f64 2 (*.f64 (hypot.f64 1 x) 8))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 (hypot.f64 1 x) 8))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (-.f64 0 (neg.f64 (*.f64 (hypot.f64 1 x) 8))))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (-.f64 0 (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4))))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (*.f64 (hypot.f64 1 x) 2))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (neg.f64 (hypot.f64 1 x)))
(pow.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
Outputs
(*.f64 1/8 (pow.f64 x 2))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -11/128 (pow.f64 x 4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (*.f64 69/1024 (pow.f64 x 6))))
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 69/1024 (pow.f64 x 6))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 -11/128 (pow.f64 x 4)))))
(+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (*.f64 -1843/32768 (pow.f64 x 8))) (*.f64 1/8 (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 69/1024 (pow.f64 x 6)))))
(+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 1/8 (pow.f64 x 2)))))
(+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -1843/32768 (pow.f64 x 8)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))) (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))))
(+.f64 (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))) (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(+.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2)))
(+.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2)))
(+.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))))
(+.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (sqrt.f64 1/2))))
1
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) 1)
(+.f64 1 (*.f64 (pow.f64 x 2) -1/8))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 1 (*.f64 11/128 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 2) -1/8)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 2) -1/8) (*.f64 (pow.f64 x 4) 11/128)))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -69/1024 (pow.f64 x 6)) (+.f64 1 (*.f64 11/128 (pow.f64 x 4)))))
(+.f64 (*.f64 (pow.f64 x 2) -1/8) (+.f64 1 (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024)) (*.f64 (pow.f64 x 2) -1/8)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 2) -1/8) (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(+.f64 (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
1/2
(+.f64 1/2 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1/2 (*.f64 (pow.f64 x 2) -1/4))
(+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 3/16 (pow.f64 x 4))))
(+.f64 (*.f64 (pow.f64 x 2) -1/4) (+.f64 (*.f64 (pow.f64 x 4) 3/16) 1/2))
(+.f64 1/2 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (*.f64 (pow.f64 x 4) 3/16)))
(+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -5/32 (pow.f64 x 6)) (*.f64 3/16 (pow.f64 x 4)))))
(+.f64 1/2 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (+.f64 (*.f64 (pow.f64 x 4) 3/16) (*.f64 (pow.f64 x 6) -5/32))))
(/.f64 1/2 x)
(-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))))
(-.f64 (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 5/32 (/.f64 1 (pow.f64 x 7)))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 5/32 (/.f64 1 (pow.f64 x 7))))))
(/.f64 -1/2 x)
(-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5)))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 5/32 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 5/32 (/.f64 1 (pow.f64 x 7))) (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5))))))
(+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 5/32 (/.f64 1 (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5))))))
1
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1 (*.f64 (pow.f64 x 2) -1/4))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 3/16 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (*.f64 (pow.f64 x 4) 3/16)))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -5/32 (pow.f64 x 6)) (*.f64 3/16 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (+.f64 (*.f64 (pow.f64 x 4) 3/16) (*.f64 (pow.f64 x 6) -5/32))))
(+.f64 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (*.f64 (pow.f64 x 4) 3/16)) (-.f64 (*.f64 (pow.f64 x 6) -5/32) -1))
(+.f64 (+.f64 (*.f64 (pow.f64 x 2) -1/4) (*.f64 (pow.f64 x 4) 3/16)) (+.f64 1 (*.f64 (pow.f64 x 6) -5/32)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) 1/2) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 x))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(+.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 1/2 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 1/2 (*.f64 3/16 (/.f64 1 (pow.f64 x 5)))) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (+.f64 1/2 (*.f64 3/16 (/.f64 1 (pow.f64 x 5)))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (*.f64 3/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/4 (/.f64 1 (pow.f64 x 3))))))
1/2
(-.f64 1/2 (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (-.f64 1/2 (*.f64 1/2 (/.f64 1 x))))
(+.f64 1/2 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 3))) (-.f64 1/2 (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 3/16 (/.f64 1 (pow.f64 x 5))))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 1/2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)) -2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1) 4) -4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1)))) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 1/2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 1/4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 2) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8) 8)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8)) 16)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 8))) 32)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(+.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)
(/.f64 1/2 (hypot.f64 1 x))
(+.f64 0 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 1/2 (hypot.f64 1 x))
(+.f64 -1 (-.f64 1 (/.f64 -1/2 (hypot.f64 1 x))))
(/.f64 1/2 (hypot.f64 1 x))
(+.f64 (/.f64 1/4 (hypot.f64 1 x)) (/.f64 1/4 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) 0)
(/.f64 1/2 (hypot.f64 1 x))
(-.f64 0 (/.f64 -1/2 (hypot.f64 1 x)))
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 1 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 1/2 (/.f64 1 (hypot.f64 1 x)))
(*.f64 (hypot.f64 1 x) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 (*.f64 (hypot.f64 1 x) 2) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (*.f64 2 (hypot.f64 1 x)) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 2 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 2 (*.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x)))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (*.f64 2 (hypot.f64 1 x)) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (*.f64 (hypot.f64 1 x) 4) (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))
(*.f64 (hypot.f64 1 x) (*.f64 4 (/.f64 (/.f64 1 (hypot.f64 1 x)) (*.f64 8 (hypot.f64 1 x)))))
(*.f64 4 (*.f64 (/.f64 (/.f64 1/8 (hypot.f64 1 x)) (hypot.f64 1 x)) (hypot.f64 1 x)))
(*.f64 4 (*.f64 (hypot.f64 1 x) (/.f64 (/.f64 1/8 (hypot.f64 1 x)) (hypot.f64 1 x))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) 1/2)
(*.f64 1/2 (/.f64 1 (hypot.f64 1 x)))
(*.f64 4 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))))
(*.f64 4 (/.f64 (/.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (*.f64 8 (hypot.f64 1 x))))
(*.f64 4 (/.f64 (hypot.f64 1 x) (*.f64 8 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 4 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 1/4)
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 1/4 (*.f64 (/.f64 1/2 (hypot.f64 1 x)) 4))
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (*.f64 (hypot.f64 1 x) 2))
(*.f64 (hypot.f64 1 x) (*.f64 2 (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (*.f64 2 (hypot.f64 1 x)) (/.f64 1/4 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (hypot.f64 1 x))
(*.f64 (hypot.f64 1 x) (/.f64 1/2 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) 2)
(*.f64 2 (/.f64 1/4 (hypot.f64 1 x)))
(*.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) 4)
(*.f64 4 (/.f64 (/.f64 (hypot.f64 1 x) (hypot.f64 1 x)) (*.f64 8 (hypot.f64 1 x))))
(*.f64 4 (/.f64 (hypot.f64 1 x) (*.f64 8 (*.f64 (hypot.f64 1 x) (hypot.f64 1 x)))))
(*.f64 (/.f64 -1/2 (hypot.f64 1 x)) -1)
(/.f64 1/2 (hypot.f64 1 x))
(*.f64 (/.f64 1 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 8))) (*.f64 (hypot.f64 1 x) 4))
(*.f64 (hypot.f64 1 x) (*.f64 4 (/.f64 (/.f64 1 (hypot.f64 1 x)) (*.f64 8 (hypot.f64 1 x)))))
(*.f64 4 (*.f64 (/.f64 (/.f64 1/8 (hypot.f64 1 x)) (hypot.f64 1 x)) (hypot.f64 1 x)))
(*.f64 4 (*.f64 (hypot.f64 1 x) (/.f64 (/.f64 1/8 (hypot.f64 1 x)) (hypot.f64 1 x))))
(*.f64 (/.f64 (/.f64 1/2 (hypot.f64 1 x)) 4) 4)
(/.f64 1/2 (hypot.f64 1 x))
(pow.f64 (/.f64 1/2 (hypot.f64 1 x)) 1)
(/.f64 1/2 (hypot.f64 1 x))
(neg.f64 (/.f64 -1/2 (hypot.f64 1 x)))
(/.f64 1/2 (hypot.f64 1 x))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) (neg.f64 (/.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) (neg.f64 (/.f64 (hypot.f64 1 x) (*.f64 2 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) (/.f64 (/.f64 (hypot.f64 1 x) (hypot.f64 1 x)) -2))
(-.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 0)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 1/2 (hypot.f64 1 x)) (+.f64 1 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 2 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 4 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 1/2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 1/4)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (/.f64 1/4 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 1/4 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 1/4 (hypot.f64 1 x)) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(*.f64 (/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 1 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 1/2 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (hypot.f64 1 x)) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 4 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 4 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (+.f64 1 (/.f64 1 (hypot.f64 1 x))) 2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -1/2 (neg.f64 (/.f64 (hypot.f64 1 x) (+.f64 1 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -1 (neg.f64 (/.f64 1 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 8 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 8 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 8 (*.f64 2 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 4) 4)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2) (*.f64 (hypot.f64 1 x) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 16 (*.f64 2 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8) 8)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -2 (neg.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 (hypot.f64 1 x) 8))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (hypot.f64 1 x))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4)))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (*.f64 (*.f64 4 (hypot.f64 1 x)) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x)))))
(/.f64 (*.f64 1/4 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x))))
(/.f64 (+.f64 1/8 (/.f64 1/8 (hypot.f64 1 x))) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x))))
(/.f64 1/4 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))) 1/2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) -2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (-.f64 -1 (hypot.f64 1 x)) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 2)) (hypot.f64 1 x))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -4 (-.f64 0 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (+.f64 1 (hypot.f64 1 x)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (*.f64 2 (*.f64 (hypot.f64 1 x) 8)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (*.f64 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(/.f64 (/.f64 (*.f64 2 (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (/.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 2 (/.f64 (*.f64 2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 (/.f64 -1 (/.f64 -2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (/.f64 -1 (/.f64 -2 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 (/.f64 -1 (/.f64 -1 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))) (/.f64 -1 (/.f64 -1 (+.f64 1/4 (/.f64 1/4 (hypot.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8)) 16)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4) (*.f64 1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -1/4 (-.f64 0 (/.f64 (hypot.f64 1 x) (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8)) 1/4)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 -8 (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) 8) (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (neg.f64 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))) (-.f64 0 (/.f64 (*.f64 (hypot.f64 1 x) (*.f64 (hypot.f64 1 x) 4)) (*.f64 (hypot.f64 1 x) 4))))
(/.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))) (*.f64 (*.f64 4 (hypot.f64 1 x)) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x)))))
(/.f64 (*.f64 1/4 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x))))
(/.f64 (+.f64 1/8 (/.f64 1/8 (hypot.f64 1 x))) (/.f64 (hypot.f64 1 x) (*.f64 4 (hypot.f64 1 x))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (hypot.f64 1 x))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 8))) 32)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) (*.f64 (hypot.f64 1 x) 8))) 1/2)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (*.f64 (hypot.f64 1 x) -2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (neg.f64 (*.f64 (hypot.f64 1 x) 8)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2))) (*.f64 (hypot.f64 1 x) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4)) (/.f64 (hypot.f64 1 x) -2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x)))) (/.f64 (*.f64 (hypot.f64 1 x) -2) -1/2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x))))) (hypot.f64 1 x))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (*.f64 2 (*.f64 (hypot.f64 1 x) 8))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 (hypot.f64 1 x) 8))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (-.f64 0 (neg.f64 (*.f64 (hypot.f64 1 x) 8))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 (hypot.f64 1 x) 4)))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (hypot.f64 1 x)) 2)))) (neg.f64 (*.f64 (hypot.f64 1 x) 4)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (neg.f64 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 (hypot.f64 1 x)) 4))) (*.f64 1/2 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (-.f64 0 (*.f64 2 (*.f64 (neg.f64 (hypot.f64 1 x)) 4))))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (*.f64 (hypot.f64 1 x) 2))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (-.f64 -1 (hypot.f64 1 x))))) (*.f64 (neg.f64 (hypot.f64 1 x)) 4))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 1/2 (+.f64 1 (hypot.f64 1 x)))))) (neg.f64 (hypot.f64 1 x)))
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
(pow.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 1)
(-.f64 (/.f64 1/2 (hypot.f64 1 x)) -1/2)
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.0b
(-.f64 1 (sqrt.f64 1/2))
Compiler

Compiled 9 to 9 computations (0% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite238.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
2242×rational.json-simplify-2
1804×rational.json-simplify-35
1228×exponential.json-3
1228×rational.json-1
1228×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
15311
211711
321011
436411
575511
6183511
7308411
8383311
9482211
10588711
11657811
12678811
13701511
14790411
Stop Event
node limit
Counts
1 → 51
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 1/2) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) -64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2))))))

simplify206.0ms (1.8%)

Algorithm
egg-herbie
Rules
2364×rational.json-simplify-35
1532×rational.json-simplify-2
1110×rational.json-simplify-45
956×rational.json-simplify-1
766×rational.json-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0108597
1260597
2597597
31740597
43830597
55027597
65476597
75793597
86124597
96361597
106821597
117943597
Stop Event
node limit
Counts
51 → 54
Calls
Call 1
Inputs
(+.f64 (-.f64 1 (sqrt.f64 1/2)) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 1/2)))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)) -1)
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))
(+.f64 -2 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)) -2)
(*.f64 1 (-.f64 1 (sqrt.f64 1/2)))
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2))
(*.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))
(*.f64 4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4))
(*.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 1/2)
(*.f64 (+.f64 (sqrt.f64 1/2) -1) -1)
(*.f64 -1 (+.f64 (sqrt.f64 1/2) -1))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 1/4)
(*.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -1/2)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 1/8)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) 2)
(*.f64 -2 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)) -2)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4) 4)
(*.f64 1/8 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))
(*.f64 -1/2 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2))
(*.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)
(/.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(/.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 2)
(/.f64 (+.f64 (sqrt.f64 1/2) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 8)
(/.f64 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))) 64)
(/.f64 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))) 128)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) -64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))))) 512)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))))) 64)
(/.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)
(pow.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(neg.f64 (+.f64 (sqrt.f64 1/2) -1))
(neg.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2))
Outputs
(+.f64 (-.f64 1 (sqrt.f64 1/2)) 0)
(-.f64 1 (sqrt.f64 1/2))
(+.f64 0 (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)))
(-.f64 1 (sqrt.f64 1/2))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -2)) -1)
(-.f64 1 (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(+.f64 -2 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)))
(-.f64 1 (sqrt.f64 1/2))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 1/2) -3)) -2)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1 (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 1/2)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (+.f64 (sqrt.f64 1/2) -1) -1)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 -1 (+.f64 (sqrt.f64 1/2) -1))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 1/4)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -1/2)
(*.f64 (+.f64 -2 (*.f64 (sqrt.f64 1/2) 2)) -1/2)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 1/8)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 1/2))) 2)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 -2 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 1/2) -1)) -2)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 1/4) 4)
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/8 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))
(-.f64 1 (sqrt.f64 1/2))
(*.f64 -1/2 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2))
(*.f64 (+.f64 -2 (*.f64 (sqrt.f64 1/2) 2)) -1/2)
(*.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 (+.f64 (sqrt.f64 1/2) -1) -2) 2)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (+.f64 (sqrt.f64 1/2) -1) -1)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 4) 4)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (+.f64 (*.f64 (sqrt.f64 1/2) 2) -2) -2)
(/.f64 (+.f64 -2 (*.f64 (sqrt.f64 1/2) 2)) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8) 8)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)) -4)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)) 16)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))) -8)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))) 32)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) -16)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))) 64)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))) 8)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) -32)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))) 128)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))) 16)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) -64)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8)))))) 256)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1)))))) 32)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 1/2)) 8))))))) 512)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 4 (+.f64 (sqrt.f64 1/2) -1))))))) 64)
(-.f64 1 (sqrt.f64 1/2))
(/.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2) -1)
(-.f64 1 (sqrt.f64 1/2))
(pow.f64 (-.f64 1 (sqrt.f64 1/2)) 1)
(-.f64 1 (sqrt.f64 1/2))
(neg.f64 (+.f64 (sqrt.f64 1/2) -1))
(-.f64 1 (sqrt.f64 1/2))
(neg.f64 (-.f64 (+.f64 (sqrt.f64 1/2) -3) -2))
(-.f64 1 (sqrt.f64 1/2))

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 37 to 31 computations (16.2% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

6 calls:

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

rewrite71.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01152
18152
217652
335752
468152
5178052
6493752
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)))))

simplify359.0ms (3.1%)

Algorithm
egg-herbie
Rules
2684×rational.json-simplify-2
1968×rational.json-simplify-35
1714×rational.json-simplify-1
1564×rational.json-simplify-52
888×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01222052
12492052
26322052
318102052
429862052
536282052
638182052
740452052
843312052
947652052
1055902052
1162842052
1271372052
1373402052
1479612052
1579612052
Stop Event
node limit
Counts
66 → 80
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)) -1)
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))
(*.f64 1 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2))
(*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 1/2)
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))
(*.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)
(*.f64 -1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8) 8)
(/.f64 (*.f64 4 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8))) 32)
(pow.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))
(+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)
(+.f64 0 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(-.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)
(*.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2))
(*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 1/2)
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2)
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)
(/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8))) 32)
(pow.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
Outputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (sqrt.f64 1/2)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 (*.f64 1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (sqrt.f64 1/2)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16)))
(+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16) (sqrt.f64 1/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16)))
(+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8)) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16) (sqrt.f64 1/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) x) -1/2) (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) -1/8) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 3)) -1/16))))
(+.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 0)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 0 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -2)) -1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 1 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 1/2)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 -1 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 1/4)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))) 2)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2) 2)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1) -1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 4) 4)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -2)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8) 8)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 4 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1)) -4)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8)) 16)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 8))) 32)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(pow.f64 (-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 1)
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(neg.f64 (+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) -1))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(+.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(+.f64 0 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(+.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(-.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 0)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 1/2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 1/4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 (*.f64 1/2 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))) 2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 2) 2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 4) 4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8) 8)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8)) 16)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 8))) 32)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))) 1)
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x))))

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.0b
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
2.3b
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
Compiler

Compiled 51 to 44 computations (13.7% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1360×rational.json-1
1360×rational.json-2
1360×rational.json-3
1358×rational.json-4
1342×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01464
110364
221162
343362
488058
5247958
6590758
Stop Event
node limit
Counts
2 → 51
Calls
Call 1
Inputs
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)))))

simplify199.0ms (1.7%)

Algorithm
egg-herbie
Rules
1724×rational.json-simplify-1
1478×rational.json-simplify-35
1022×rational.json-simplify-52
798×rational.json-simplify-48
738×rational.json-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01752981
13872857
28412671
321992671
438522671
543062671
650472671
763122671
873062671
977552671
Stop Event
node limit
Counts
75 → 148
Calls
Call 1
Inputs
(*.f64 1/8 (pow.f64 x 2))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -11/128 (pow.f64 x 4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 -11/128 (pow.f64 x 4)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
-1
(-.f64 (*.f64 -1/8 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 11/128 (pow.f64 x 4))) 1)
(-.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -69/1024 (pow.f64 x 6)) (*.f64 11/128 (pow.f64 x 4)))) 1)
(-.f64 (sqrt.f64 1/2) 2)
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) 2)
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) 2)
(-.f64 (sqrt.f64 1/2) (+.f64 2 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))
(*.f64 -1 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 1/2 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(*.f64 2 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))
(*.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1/2)
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(*.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(/.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(/.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(/.f64 (*.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) 4)
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(neg.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(-.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 0)
(-.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(-.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -3) -1)
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2))
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 1/2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) 2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8))) 32)
(pow.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
Outputs
(*.f64 1/8 (pow.f64 x 2))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -11/128 (pow.f64 x 4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (*.f64 69/1024 (pow.f64 x 6))))
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 69/1024 (pow.f64 x 6))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (*.f64 -11/128 (pow.f64 x 4)))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1843/32768 (pow.f64 x 8)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (*.f64 69/1024 (pow.f64 x 6)))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -1843/32768 (pow.f64 x 8)))))
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -1843/32768 (pow.f64 x 8))) (*.f64 1/8 (pow.f64 x 2))))
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (+.f64 (*.f64 69/1024 (pow.f64 x 6)) (*.f64 -1843/32768 (pow.f64 x 8)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))))
(+.f64 (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))
(+.f64 1 (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)))))
(+.f64 1 (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)))))
(+.f64 1 (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))) (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))))
(+.f64 (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (-.f64 (*.f64 -1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (sqrt.f64 1/2))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(+.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2)))
(+.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))) (-.f64 (*.f64 1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))) (-.f64 (*.f64 1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 (*.f64 1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 1 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 1 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (sqrt.f64 1/2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (sqrt.f64 1/2)))))
-1
(-.f64 (*.f64 -1/8 (pow.f64 x 2)) 1)
(+.f64 (*.f64 (pow.f64 x 2) -1/8) -1)
(+.f64 -1 (*.f64 (pow.f64 x 2) -1/8))
(-.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 11/128 (pow.f64 x 4))) 1)
(+.f64 (*.f64 (pow.f64 x 4) 11/128) (+.f64 (*.f64 (pow.f64 x 2) -1/8) -1))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -1/8) (*.f64 (pow.f64 x 4) 11/128)))
(+.f64 (+.f64 -1 (*.f64 (pow.f64 x 2) -1/8)) (*.f64 (pow.f64 x 4) 11/128))
(-.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -69/1024 (pow.f64 x 6)) (*.f64 11/128 (pow.f64 x 4)))) 1)
(+.f64 (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024)) (+.f64 (*.f64 (pow.f64 x 2) -1/8) -1))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 x 2) -1/8) (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024))))
(+.f64 (+.f64 -1 (*.f64 (pow.f64 x 2) -1/8)) (+.f64 (*.f64 (pow.f64 x 4) 11/128) (*.f64 (pow.f64 x 6) -69/1024)))
(+.f64 (*.f64 (pow.f64 x 4) 11/128) (+.f64 (+.f64 -1 (*.f64 (pow.f64 x 2) -1/8)) (*.f64 (pow.f64 x 6) -69/1024)))
(-.f64 (sqrt.f64 1/2) 2)
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) 2)
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 (sqrt.f64 1/2) 2))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) 2))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) 2))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 (sqrt.f64 1/2) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 2 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))) (*.f64 1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (-.f64 (*.f64 1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))))
(-.f64 (sqrt.f64 1/2) 2)
(-.f64 (sqrt.f64 1/2) (+.f64 2 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 2 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)))))
(-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 4))) 1/4) (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))))) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(+.f64 (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8))))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (+.f64 2 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/2 (/.f64 (/.f64 -3/16 (sqrt.f64 1/2)) (pow.f64 x 3))) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/2 (/.f64 -3/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 2 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 2 (*.f64 1/4 (/.f64 (/.f64 1 (sqrt.f64 1/2)) x))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 3) -3/8))) (+.f64 2 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 x (sqrt.f64 1/2)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 0)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) -1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 -1 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/2 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 2 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1/2)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 1/4)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -2) 2)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 -2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) -1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) 4)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) -2)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8) 8)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8)) 16)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 4) -4)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))) 2)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 8))) 32)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))) 4)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(neg.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(-.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 0)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(-.f64 (+.f64 -1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 1)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(-.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -3) -1)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 1/2)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 1/4)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)) 2)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 2) 2)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 4) 4)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8) 8)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8)) 16)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 8))) 32)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)
(pow.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2) 1)
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2)

localize55.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
0.2b
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
0.4b
(/.f64 (sqrt.f64 1/2) x)
0.5b
(+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)))
Compiler

Compiled 80 to 70 computations (12.5% saved)

series3.0ms (0%)

Counts
4 → 24
Calls

12 calls:

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

rewrite199.0ms (1.7%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
018128
1131128
2284128
3646128
41711126
55325126
Stop Event
node limit
Counts
4 → 112
Calls
Call 1
Inputs
(+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)))
(/.f64 (sqrt.f64 1/2) x)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 1/2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 1/2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 x) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1/2 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1/2 (+.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 (sqrt.f64 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 x x)) (*.f64 (sqrt.f64 1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 x) (neg.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (/.f64 1 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 (pow.f64 x 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (pow.f64 x 2)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 (pow.f64 x 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1 (*.f64 (pow.f64 x 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 (pow.f64 x 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 x 2)) (*.f64 (sqrt.f64 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) (*.f64 (sqrt.f64 1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 x 2)) (neg.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)))))

simplify128.0ms (1.1%)

Algorithm
egg-herbie
Rules
1534×rational.json-simplify-35
1178×rational.json-simplify-2
984×rational.json-simplify-61
926×rational.json-simplify-1
834×rational.json-simplify-46
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02214252
14404234
28494042
319894042
439774042
565214042
Stop Event
node limit
Counts
136 → 142
Calls
Call 1
Inputs
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(-.f64 1 (-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) -1))
(-.f64 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)) -1)
(-.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 0)
(-.f64 0 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(*.f64 1 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(*.f64 1/2 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))
(*.f64 2 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1))
(*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(*.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1/2)
(*.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)
(*.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)
(/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)
(/.f64 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4) 4)
(/.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4))) 16)
(pow.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (/.f64 (sqrt.f64 1/2) x) 0)
(+.f64 0 (/.f64 (sqrt.f64 1/2) x))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(-.f64 (/.f64 (sqrt.f64 1/2) x) 0)
(*.f64 1 (/.f64 (sqrt.f64 1/2) x))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)))
(*.f64 (sqrt.f64 1/2) (/.f64 1 x))
(*.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 x)) 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 x) 1/2))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 1))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) x) 1/2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 x)))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 2 (*.f64 (/.f64 1/2 x) (sqrt.f64 1/2)))
(*.f64 (/.f64 (sqrt.f64 1/2) x) 1)
(*.f64 -1 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 x))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 x)))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 x)) 1))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 x)) 1/2))
(*.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x) -1)
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1/2 (+.f64 x x)))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1/2 (+.f64 x x)) 1))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 x)))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 x)))
(*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)) 1/2)
(*.f64 (/.f64 1 x) (sqrt.f64 1/2))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 x))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 x) 1))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 2)
(*.f64 (/.f64 1/2 (+.f64 x x)) (*.f64 (sqrt.f64 1/2) 4))
(*.f64 (/.f64 -1 x) (neg.f64 (sqrt.f64 1/2)))
(pow.f64 (/.f64 (sqrt.f64 1/2) x) 1)
(neg.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))
(+.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(+.f64 0 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))
(-.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(*.f64 1 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(*.f64 1/2 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (pow.f64 x 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 (pow.f64 x 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 (pow.f64 x 2)) 1/2))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 (pow.f64 x 2))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 (pow.f64 x 2))))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 x 2)) (sqrt.f64 1/2)))
(*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)
(*.f64 -1 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))
(*.f64 -1 (*.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) 1))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 (pow.f64 x 2)))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) 1))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 (pow.f64 x 2))) 1/2))
(*.f64 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1/2)
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1 (*.f64 (pow.f64 x 2) 4)))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) 1))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 x 2))))
(*.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/2))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 (pow.f64 x 2)))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 (pow.f64 x 2)) 1))
(*.f64 (/.f64 1/2 (pow.f64 x 2)) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) -1)
(*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) 2)
(*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) (*.f64 (sqrt.f64 1/2) 4))
(*.f64 (/.f64 -1 (pow.f64 x 2)) (neg.f64 (sqrt.f64 1/2)))
(pow.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)
(neg.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 0)
(-.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1))) -1)
(*.f64 1 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))))
(*.f64 1/2 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))
(*.f64 2 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1))
(*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
(*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1/2)
(*.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)
(/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)
(/.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4))) 16)
(pow.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
Outputs
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1) (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 1 (-.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (sqrt.f64 1/2))))
(-.f64 1 (-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) -1))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)) -1)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 0)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 0 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(-.f64 (+.f64 1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 1 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 1/2 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))
(*.f64 1/2 (+.f64 2 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)))))
(*.f64 2 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(*.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)))))
(*.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)
(neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(*.f64 (/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(/.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 2) 2)
(/.f64 (+.f64 2 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2)))) 2)
(/.f64 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4) 4)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(/.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) -1)
(neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) 8)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 4))) 16)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(pow.f64 (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))) 1)
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2)))
(neg.f64 (+.f64 (sqrt.f64 1/2) (-.f64 -1 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (/.f64 (sqrt.f64 1/2) x) 0)
(/.f64 (sqrt.f64 1/2) x)
(+.f64 0 (/.f64 (sqrt.f64 1/2) x))
(/.f64 (sqrt.f64 1/2) x)
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(-.f64 (/.f64 (sqrt.f64 1/2) x) 0)
(/.f64 (sqrt.f64 1/2) x)
(*.f64 1 (/.f64 (sqrt.f64 1/2) x))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 2 x)))
(*.f64 (sqrt.f64 1/2) (/.f64 1 x))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 x)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 x)) 1/2))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 x) 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 2 x)))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 1))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) x) 1/2))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 x)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 2 (*.f64 (/.f64 1/2 x) (sqrt.f64 1/2)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (/.f64 (sqrt.f64 1/2) x) 1)
(/.f64 (sqrt.f64 1/2) x)
(*.f64 -1 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 x))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 x)))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 x)) 1))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 x)) 1/2))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x) -1)
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1/2 (+.f64 x x)))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/2 (+.f64 x x))))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1/2 (+.f64 x x)) 1))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/2 (+.f64 x x))))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 x)))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 x)))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)) 1/2)
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 2 x)))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 x)))
(*.f64 (/.f64 1 x) (sqrt.f64 1/2))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 x))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 x) 1))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 (sqrt.f64 1/2) 2))
(/.f64 (sqrt.f64 1/2) x)
(*.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) 2)
(+.f64 (/.f64 (sqrt.f64 1/2) (+.f64 x x)) (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (+.f64 x x)))
(*.f64 (/.f64 1/2 x) (*.f64 (sqrt.f64 1/2) 2))
(*.f64 (/.f64 1/2 (+.f64 x x)) (*.f64 (sqrt.f64 1/2) 4))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/2 (+.f64 x x))))
(*.f64 (/.f64 -1 x) (neg.f64 (sqrt.f64 1/2)))
(/.f64 (sqrt.f64 1/2) x)
(pow.f64 (/.f64 (sqrt.f64 1/2) x) 1)
(/.f64 (sqrt.f64 1/2) x)
(neg.f64 (/.f64 (neg.f64 (sqrt.f64 1/2)) x))
(/.f64 (sqrt.f64 1/2) x)
(+.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(+.f64 0 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(+.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(-.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 1 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 1/2 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (sqrt.f64 1/2) (/.f64 1 (pow.f64 x 2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (sqrt.f64 1/2) (*.f64 2 (/.f64 1/2 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) 1/2))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 2 (pow.f64 x 2)) 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (/.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (*.f64 (/.f64 2 (pow.f64 x 2)) (sqrt.f64 1/2)))
(*.f64 (/.f64 2 (pow.f64 x 2)) (*.f64 1/2 (sqrt.f64 1/2)))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (/.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) 2)))
(*.f64 2 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) 2) (/.f64 1 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (/.f64 1/2 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 x 2)) (sqrt.f64 1/2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 -1 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 -1 (*.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) 1))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (/.f64 1/2 (pow.f64 x 2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) 1))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 2) (*.f64 (*.f64 2 (/.f64 1/2 (pow.f64 x 2))) 1/2))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 2 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) 1/2)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (/.f64 1 (*.f64 (pow.f64 x 2) 4)))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1 (*.f64 (pow.f64 x 2) 4))))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/4 (pow.f64 x 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) 1))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1 (*.f64 (pow.f64 x 2) 4))))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/4 (pow.f64 x 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 (sqrt.f64 1/2) 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/2))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (/.f64 -1 (pow.f64 x 2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (neg.f64 (sqrt.f64 1/2)) (*.f64 (/.f64 -1 (pow.f64 x 2)) 1))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 1/2 (pow.f64 x 2)) (*.f64 (sqrt.f64 1/2) 2))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) 2))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))) -1)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 2 (pow.f64 x 2))) 2)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) 4)) (*.f64 (sqrt.f64 1/2) 4))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1 (*.f64 (pow.f64 x 2) 4))))
(*.f64 (sqrt.f64 1/2) (*.f64 4 (/.f64 1/4 (pow.f64 x 2))))
(*.f64 (/.f64 -1 (pow.f64 x 2)) (neg.f64 (sqrt.f64 1/2)))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(pow.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 1)
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(neg.f64 (/.f64 (sqrt.f64 1/2) (neg.f64 (pow.f64 x 2))))
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 0)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(-.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1))) -1)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 1 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 1/2 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 2 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 2 (*.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 1/2)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(*.f64 (/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 2) 2)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4) 4)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) 8)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 4))) 16)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(pow.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) -1)))) 1)
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (/.f64 1 x)) (+.f64 -1 (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (*.f64 -1/2 (/.f64 1 x))))))
(+.f64 1 (*.f64 (sqrt.f64 1/2) (+.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 2)))))))

eval334.0ms (2.9%)

Compiler

Compiled 15715 to 14289 computations (9.1% saved)

prune153.0ms (1.3%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New8184822
Fresh336
Picked011
Done224
Total82310833
Error
0.5b
Counts
833 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
14.7b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
31.8b
(-.f64 1 (sqrt.f64 1/2))
32.2b
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
32.3b
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
31.9b
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
32.3b
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
31.4b
(*.f64 1/8 (pow.f64 x 2))
45.6b
0
Compiler

Compiled 177 to 158 computations (10.7% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 x 2)
Compiler

Compiled 12 to 9 computations (25% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(pow.f64 x 2)
0.0ms
x
@inf
(pow.f64 x 2)
0.0ms
x
@0
(pow.f64 x 2)

rewrite246.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
2400×rational.json-simplify-35
2358×rational.json-simplify-2
1494×rational.json-simplify-1
1132×exponential.json-3
1132×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1327
2777
31477
42537
55317
612187
726347
841937
947707
1058637
1165947
1265947
1376967
1476967
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(pow.f64 x 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 x 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 x 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (pow.f64 x 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 16 (*.f64 (pow.f64 x 2) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x 4) 2) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 x 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (pow.f64 x 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (pow.f64 (*.f64 x 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 1/16) 16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/64 (*.f64 (pow.f64 x 2) 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 64) 1/64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 x 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 x 4) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (*.f64 x 4) 2)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))))) 1024)))))

simplify765.0ms (6.7%)

Algorithm
egg-herbie
Rules
6456×rational.json-simplify-51
2392×rational.json-simplify-49
2380×rational.json-simplify-35
1058×rational.json-simplify-1
926×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069231
1139231
2506231
31222231
41922231
52778231
63245231
73334231
83384231
93419231
103454231
113489231
123525231
133560231
143595231
153630231
163665231
173700231
183735231
193770231
203805231
213840231
223875231
233910231
243945231
253980231
264015231
274050231
284085231
294120231
304155231
314155231
324190231
334225231
345724231
Stop Event
node limit
Counts
33 → 34
Calls
Call 1
Inputs
(+.f64 (pow.f64 x 2) 0)
(+.f64 0 (pow.f64 x 2))
(+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 2) 1/2))
(-.f64 (pow.f64 x 2) 0)
(*.f64 2 (*.f64 (pow.f64 x 2) 1/2))
(*.f64 (pow.f64 x 2) 1)
(*.f64 1 (pow.f64 x 2))
(*.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(*.f64 4 (*.f64 (pow.f64 x 2) 1/4))
(*.f64 (*.f64 (pow.f64 x 2) 4) 1/4)
(*.f64 (*.f64 (pow.f64 x 2) 8) 1/8)
(*.f64 1/2 (*.f64 2 (pow.f64 x 2)))
(*.f64 (*.f64 (pow.f64 x 2) 1/2) 2)
(*.f64 16 (*.f64 (pow.f64 x 2) 1/16))
(*.f64 (pow.f64 (*.f64 x 4) 2) 1/16)
(*.f64 1/4 (*.f64 (pow.f64 x 2) 4))
(*.f64 (*.f64 (pow.f64 x 2) 1/4) 4)
(*.f64 1/8 (*.f64 (pow.f64 x 2) 8))
(*.f64 1/16 (pow.f64 (*.f64 x 4) 2))
(*.f64 (*.f64 (pow.f64 x 2) 1/16) 16)
(*.f64 1/64 (*.f64 (pow.f64 x 2) 64))
(*.f64 (*.f64 (pow.f64 x 2) 64) 1/64)
(/.f64 (pow.f64 x 2) 1)
(/.f64 (*.f64 2 (pow.f64 x 2)) 2)
(/.f64 (*.f64 (pow.f64 x 2) 4) 4)
(/.f64 (*.f64 (pow.f64 x 2) 8) 8)
(/.f64 (pow.f64 (*.f64 x 4) 2) 16)
(/.f64 (*.f64 2 (pow.f64 (*.f64 x 4) 2)) 32)
(/.f64 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) 512)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))))) 1024)
Outputs
(+.f64 (pow.f64 x 2) 0)
(pow.f64 x 2)
(+.f64 0 (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 (pow.f64 x 2) 1/2))
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) 0)
(pow.f64 x 2)
(*.f64 2 (*.f64 (pow.f64 x 2) 1/2))
(pow.f64 x 2)
(*.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(*.f64 1 (pow.f64 x 2))
(pow.f64 x 2)
(*.f64 (*.f64 2 (pow.f64 x 2)) 1/2)
(pow.f64 x 2)
(*.f64 4 (*.f64 (pow.f64 x 2) 1/4))
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 4) 1/4)
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 8) 1/8)
(pow.f64 x 2)
(*.f64 1/2 (*.f64 2 (pow.f64 x 2)))
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 1/2) 2)
(pow.f64 x 2)
(*.f64 16 (*.f64 (pow.f64 x 2) 1/16))
(pow.f64 x 2)
(*.f64 (pow.f64 (*.f64 x 4) 2) 1/16)
(pow.f64 x 2)
(*.f64 1/4 (*.f64 (pow.f64 x 2) 4))
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 1/4) 4)
(pow.f64 x 2)
(*.f64 1/8 (*.f64 (pow.f64 x 2) 8))
(pow.f64 x 2)
(*.f64 1/16 (pow.f64 (*.f64 x 4) 2))
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 1/16) 16)
(pow.f64 x 2)
(*.f64 1/64 (*.f64 (pow.f64 x 2) 64))
(pow.f64 x 2)
(*.f64 (*.f64 (pow.f64 x 2) 64) 1/64)
(pow.f64 x 2)
(/.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(/.f64 (*.f64 2 (pow.f64 x 2)) 2)
(pow.f64 x 2)
(/.f64 (*.f64 (pow.f64 x 2) 4) 4)
(pow.f64 x 2)
(/.f64 (*.f64 (pow.f64 x 2) 8) 8)
(pow.f64 x 2)
(/.f64 (pow.f64 (*.f64 x 4) 2) 16)
(pow.f64 x 2)
(/.f64 (*.f64 2 (pow.f64 (*.f64 x 4) 2)) 32)
(pow.f64 x 2)
(/.f64 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))) 64)
(pow.f64 x 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))) 128)
(pow.f64 x 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))) 256)
(pow.f64 x 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) 512)
(pow.f64 x 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (pow.f64 (*.f64 x 4) 2))))))) 1024)
(pow.f64 x 2)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
0.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
Compiler

Compiled 27 to 22 computations (18.5% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

6 calls:

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

rewrite89.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1902×rational.json-simplify-35
1104×rational.json-1
1104×rational.json-2
1104×rational.json-4
1104×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
18240
218140
336340
475140
5191040
6481440
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)))))

simplify153.0ms (1.3%)

Algorithm
egg-herbie
Rules
1546×rational.json-simplify-35
1402×rational.json-simplify-61
1064×rational.json-simplify-51
1004×rational.json-simplify-1
954×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352028
12892028
27142028
321692028
440292028
547392028
650802028
756452028
870872028
Stop Event
node limit
Counts
72 → 86
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)) -1)
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 1/2)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)) 16)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4)) -8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))))) 8)
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 1/2)
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)))) 64)
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
Outputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3))))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (sqrt.f64 1/2)))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))) (sqrt.f64 1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3))))) (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (sqrt.f64 1/2))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (-.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(+.f64 1 (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (sqrt.f64 1/2)))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8)))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 1 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/32 (/.f64 (/.f64 1 (pow.f64 x 2)) (sqrt.f64 1/8))) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 0)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -2)) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 1/2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 1/4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8) 8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)) -2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)) 16)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4) -4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) 32)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1) 4)) -8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 8)))) 64)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1)))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))))) 8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 1/2)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 1/4)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 2) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8) 8)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)) 16)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) 32)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 8)))) 64)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
0.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
Compiler

Compiled 26 to 21 computations (19.2% saved)

series1.0ms (0%)

Counts
2 → 16
Calls

6 calls:

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

rewrite82.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1226×rational.json-1
1226×rational.json-2
1226×rational.json-3
1224×rational.json-4
1208×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01040
17740
217640
337040
475540
5218140
6528940
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)))))

simplify168.0ms (1.5%)

Algorithm
egg-herbie
Rules
1462×rational.json-simplify-35
1402×rational.json-simplify-61
1216×rational.json-simplify-2
854×rational.json-simplify-51
812×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01221942
12641942
26581942
319261942
433811942
539461942
642771942
748501942
863071942
973961942
Stop Event
node limit
Counts
68 → 76
Calls
Call 1
Inputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 0)
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)) -1)
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 1/2)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) 2)
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)) -2)
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8)) 16)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)))) 4)
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8))) 32)
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
Outputs
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 1 (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))))
(+.f64 (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 1 (-.f64 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))) (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))))
(+.f64 (-.f64 1 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2))))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2)))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3))))))
(-.f64 (+.f64 1 (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x)))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 x 3)))) (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))))) (*.f64 1/32 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 x 2)))))
(+.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (*.f64 1/128 (/.f64 (/.f64 1 (sqrt.f64 1/32)) (pow.f64 x 3)))) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2)))))
(+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (+.f64 (*.f64 1/4 (/.f64 (/.f64 1 x) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 1/2) x))) (+.f64 (*.f64 1/128 (/.f64 1 (*.f64 (sqrt.f64 1/32) (pow.f64 x 3)))) (-.f64 (sqrt.f64 1/2) (*.f64 1/32 (/.f64 (/.f64 1 (sqrt.f64 1/8)) (pow.f64 x 2))))))
(+.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 0)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 0 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 -1 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 (neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 -2 (-.f64 1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -2)))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 1 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 2 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 4 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 1/2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 1/4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 1/4 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (*.f64 1/2 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(*.f64 (/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) -1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 4) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)) -2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8) 8)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8)) 16)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1) 4) -4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))) 2)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 8))) 32)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1)))) 4)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(pow.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 1)
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(neg.f64 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) -1))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(+.f64 0 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(-.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 0)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 1/2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 1/4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 2) 2)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 4) 4)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8) 8)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8)) 16)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 8))) 32)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))
(pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))) 1)
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 x)))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 x 2)
0.1b
(*.f64 -11/128 (pow.f64 x 4))
16.5b
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
Compiler

Compiled 33 to 26 computations (21.2% saved)

series2.0ms (0%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
0.0ms
x
@0
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
0.0ms
x
@inf
(*.f64 -11/128 (pow.f64 x 4))
0.0ms
x
@0
(*.f64 -11/128 (pow.f64 x 4))
0.0ms
x
@-inf
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))

rewrite183.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1698×rational.json-simplify-35
1644×rational.json-simplify-1
1312×exponential.json-3
1312×rational.json-1
1312×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
17744
214244
326344
448144
5109444
6282344
7480744
8550244
9678744
10763244
11763244
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 -11/128 (pow.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -11/128 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 4) -11/256))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) -11/64) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) -11/32) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 4) -11/16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)))))

simplify223.0ms (2%)

Algorithm
egg-herbie
Rules
4152×rational.json-simplify-41
2862×rational.json-simplify-43
2188×rational.json-simplify-35
1192×rational.json-simplify-2
634×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089996
1199996
2372996
3838996
42160996
53039996
63315996
73489996
83623996
93734996
103839996
113941996
124042996
134143996
144244996
154244996
Stop Event
node limit
Counts
42 → 42
Calls
Call 1
Inputs
(*.f64 1/8 (pow.f64 x 2))
(*.f64 -11/128 (pow.f64 x 4))
(*.f64 -11/128 (pow.f64 x 4))
(-.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 0)
(*.f64 1/8 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)))
(*.f64 4 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(*.f64 1 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 1/2)
(*.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 1/4)
(*.f64 1/4 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))))
(*.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 1/8)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)) 2)
(*.f64 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 4)
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)) 1/4)
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 2)
(/.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 4)
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 8)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))))) 256)
(pow.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)
(+.f64 0 (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 4) -11/256))
(-.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)
(/.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)
(/.f64 (*.f64 (pow.f64 x 4) -11/64) 2)
(/.f64 (*.f64 (pow.f64 x 4) -11/32) 4)
(/.f64 (*.f64 (pow.f64 x 4) -11/16) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))))) 256)
(pow.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)
Outputs
(*.f64 1/8 (pow.f64 x 2))
(*.f64 -11/128 (pow.f64 x 4))
(*.f64 -11/128 (pow.f64 x 4))
(-.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 0)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 1/8 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 4 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 1 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 1/2)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 1/4)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 1/4 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 1/8)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16)) 2)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (*.f64 1/8 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 4)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/32) (*.f64 (pow.f64 x 2) 1/2)) 1/4)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)) 2)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 8 (+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 2) 1/16))) 4)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))) 8)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))) 16)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))) 32)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))) 64)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4))))))) 128)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 x 4) -11/64) (*.f64 (pow.f64 x 2) 1/4)))))))) 256)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(pow.f64 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) 1)
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)
(*.f64 -11/128 (pow.f64 x 4))
(+.f64 0 (*.f64 -11/128 (pow.f64 x 4)))
(*.f64 -11/128 (pow.f64 x 4))
(+.f64 (*.f64 (pow.f64 x 4) -11/256) (*.f64 (pow.f64 x 4) -11/256))
(*.f64 -11/128 (pow.f64 x 4))
(-.f64 (*.f64 -11/128 (pow.f64 x 4)) 0)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) -11/64) 2)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) -11/32) 4)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 (pow.f64 x 4) -11/16) 8)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)) 16)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))) 32)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))) 64)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16))))) 128)
(*.f64 -11/128 (pow.f64 x 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 4) -11/16)))))) 256)
(*.f64 -11/128 (pow.f64 x 4))
(pow.f64 (*.f64 -11/128 (pow.f64 x 4)) 1)
(*.f64 -11/128 (pow.f64 x 4))

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
0.4b
(/.f64 (sqrt.f64 1/2) x)
1.0b
(-.f64 1 (sqrt.f64 1/2))
Compiler

Compiled 31 to 27 computations (12.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite81.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
18233
218533
340533
4101333
5425333
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)))))

simplify184.0ms (1.6%)

Algorithm
egg-herbie
Rules
1504×rational.json-simplify-46
1106×rational.json-simplify-1
1054×rational.json-simplify-35
970×rational.json-simplify-2
872×rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048975
190975
2266975
3593975
41285975
52517975
63236975
73305975
83368975
93477975
103857975
115463975
127795975
Stop Event
node limit
Counts
31 → 24
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 0)
(*.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2))
(*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)))
(*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
(*.f64 2 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))))
(*.f64 4 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))
(*.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))
(*.f64 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))) 2)
(*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)
(*.f64 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)) 1/2)
(/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 2)
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))) 16)
(pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
Outputs
(*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 0)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)))
(*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 2 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 4 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 1/2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 1/4)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 (*.f64 1/2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))) 2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(*.f64 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)) 1/2)
(*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 (-.f64 1 (sqrt.f64 1/2)) 2)))
(/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 2) 2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4) 4)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) 8)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 4))) 16)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))
(pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (/.f64 1/2 x)))

eval131.0ms (1.2%)

Compiler

Compiled 5982 to 5435 computations (9.1% saved)

prune56.0ms (0.5%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New3910391
Fresh022
Picked011
Done077
Total39110401
Error
0.5b
Counts
401 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
14.7b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
31.8b
(-.f64 1 (sqrt.f64 1/2))
32.2b
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
32.3b
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
31.9b
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
32.3b
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
31.4b
(*.f64 1/8 (pow.f64 x 2))
45.6b
0
Compiler

Compiled 108 to 97 computations (10.2% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
0.2b
(/.f64 (sqrt.f64 1/2) (pow.f64 x 2))
0.4b
(/.f64 (sqrt.f64 1/2) x)
1.0b
(-.f64 1 (sqrt.f64 1/2))
Compiler

Compiled 72 to 63 computations (12.5% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite74.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01761
112361
226661
361561
4166657
5468857
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 2 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)))))

simplify754.0ms (6.6%)

Algorithm
egg-herbie
Rules
4212×rational.json-simplify-51
2424×rational.json-simplify-35
1186×rational.json-simplify-1
1090×rational.json-simplify-49
1070×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0541387
11191387
22151387
34981387
412551387
523921387
630201387
730781387
831291387
931671387
1032001387
1132331387
1232661387
1332991387
1433321387
1533651387
1633981387
1734311387
1834641387
1934971387
2041851387
2143481387
2244021387
2344531387
2445031387
2545531387
2647321387
2747821387
2848321387
2948821387
3049321387
3149321387
3249821387
3350321387
3450821387
3551321387
3679421387
Stop Event
node limit
Counts
27 → 24
Calls
Call 1
Inputs
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(-.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 0)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))))
(*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 2 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))))
(*.f64 2 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 1))
(*.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))))
(*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
(*.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 1/2)
(*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 2)
(/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
(/.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4))) 16)
(pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
Outputs
(*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 1 (sqrt.f64 1/2))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))) (sqrt.f64 1/2))
(+.f64 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x))) (-.f64 1 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (-.f64 1 (sqrt.f64 1/2))))
(-.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 0)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 1/2) x) (*.f64 2 (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))))
(*.f64 2 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 2 (*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 1))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 1 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 1/2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(*.f64 (/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 2) 2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(/.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(/.f64 (*.f64 2 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))) 2)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4) 4)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4)) 8)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 4))) 16)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))
(pow.f64 (+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x)))) 1)
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 2))) (/.f64 1/2 x))))

eval78.0ms (0.7%)

Compiler

Compiled 3917 to 3575 computations (8.7% saved)

prune101.0ms (0.9%)

Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New1640164
Fresh011
Picked011
Done088
Total16410174
Error
0.5b
Counts
174 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
14.7b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
32.5b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
31.8b
(-.f64 1 (sqrt.f64 1/2))
32.2b
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
32.3b
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
31.9b
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
32.3b
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
31.4b
(*.f64 1/8 (pow.f64 x 2))
45.6b
0
Compiler

Compiled 108 to 97 computations (10.2% saved)

regimes272.0ms (2.4%)

Counts
16 → 2
Calls
Call 1
Inputs
0
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/8 (pow.f64 x 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 x)))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(+.f64 (-.f64 1 (sqrt.f64 1/2)) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)))
(-.f64 -1 (+.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) -2))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
(*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 1 (-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) x)) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (-.f64 1 (sqrt.f64 1/2))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 x 2) (sqrt.f64 2)))) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 4)) (/.f64 (-.f64 3/8 (pow.f64 (/.f64 -1/4 (sqrt.f64 2)) 2)) (sqrt.f64 2)))))
Outputs
(+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4)))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Calls

7 calls:

212.0ms
(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
22.0ms
x
12.0ms
(/.f64 1 (hypot.f64 1 x))
9.0ms
(hypot.f64 1 x)
4.0ms
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
Results
ErrorSegmentsBranch
0.5b3x
0.5b2(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))))
0.5b2(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x)))))
0.5b2(*.f64 1/2 (+.f64 1 (/.f64 1 (hypot.f64 1 x))))
0.5b2(+.f64 1 (/.f64 1 (hypot.f64 1 x)))
0.5b2(/.f64 1 (hypot.f64 1 x))
0.5b2(hypot.f64 1 x)
Compiler

Compiled 240 to 215 computations (10.4% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000000001693296
360.81934864074196
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes21.0ms (0.2%)

Counts
8 → 3
Calls
Call 1
Inputs
0
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/8 (pow.f64 x 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 1 x)))))
(-.f64 1 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 1 x)))))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Outputs
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
(*.f64 1/8 (pow.f64 x 2))
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))
Calls

2 calls:

14.0ms
x
5.0ms
(hypot.f64 1 x)
Results
ErrorSegmentsBranch
0.8b3x
0.8b2(hypot.f64 1 x)
Compiler

Compiled 63 to 55 computations (12.7% saved)

bsearch38.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
7.580508083094249e-6
1522170.581393448
19.0ms
-360.81796290308125
-5.819443283954906e-5
Results
34.0ms304×body256valid
Compiler

Compiled 358 to 318 computations (11.2% saved)

regimes16.0ms (0.1%)

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

1 calls:

14.0ms
x
Results
ErrorSegmentsBranch
0.9b3x
Compiler

Compiled 49 to 43 computations (12.2% saved)

bsearch38.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
7.580508083094249e-6
1522170.581393448
19.0ms
-360.81796290308125
-5.819443283954906e-5
Results
33.0ms304×body256valid
Compiler

Compiled 340 to 300 computations (11.8% saved)

regimes85.0ms (0.7%)

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

1 calls:

83.0ms
x
Results
ErrorSegmentsBranch
1.2b3x
Compiler

Compiled 21 to 18 computations (14.3% saved)

bsearch133.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
115.0ms
7.580508083094249e-6
1522170.581393448
18.0ms
-360.81796290308125
-5.819443283954906e-5
Results
129.0ms304×body256valid
Compiler

Compiled 300 to 270 computations (10% saved)

regimes111.0ms (1%)

Counts
3 → 3
Calls
Call 1
Inputs
0
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/8 (pow.f64 x 2))
Outputs
(-.f64 1 (sqrt.f64 1/2))
(*.f64 1/8 (pow.f64 x 2))
(-.f64 1 (sqrt.f64 1/2))
Calls

1 calls:

110.0ms
x
Results
ErrorSegmentsBranch
1.4b3x
Compiler

Compiled 13 to 11 computations (15.4% saved)

bsearch37.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
7.580508083094249e-6
1522170.581393448
17.0ms
-360.81796290308125
-5.819443283954906e-5
Results
33.0ms304×body256valid
Compiler

Compiled 264 to 243 computations (8% saved)

regimes9.0ms (0.1%)

Accuracy

Total -46.4b remaining (-298.9%)

Threshold costs -46.4b (-298.9%)

Counts
2 → 3
Calls
Call 1
Inputs
0
(-.f64 1 (sqrt.f64 1/2))
Outputs
(-.f64 1 (sqrt.f64 1/2))
0
(-.f64 1 (sqrt.f64 1/2))
Calls

1 calls:

8.0ms
x
Results
ErrorSegmentsBranch
15.5b3x
Compiler

Compiled 8 to 7 computations (12.5% saved)

bsearch161.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
6.718509491171711e-81
9.015625214125557e-75
87.0ms
-8.278430860683106e-70
-3.829953368812128e-80
Results
157.0ms304×body1024valid
Compiler

Compiled 188 to 186 computations (1.1% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059395
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (hypot.f64 1 x) 2) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(if (<=.f64 x -8264141345021879/73786976294838206464) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (if (<=.f64 x 5/4) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(if (<=.f64 x -5/4) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (if (<=.f64 x 5/4) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(if (<=.f64 x -5/4) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (if (<=.f64 x 3422735716801577/2251799813685248) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 1/2))))
(if (<=.f64 x -3/2) (-.f64 1 (sqrt.f64 1/2)) (if (<=.f64 x 3422735716801577/2251799813685248) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 1/2))))
(if (<=.f64 x -5736293309357913/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) (-.f64 1 (sqrt.f64 1/2)) (if (<=.f64 x 5736293309357913/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) 0 (-.f64 1 (sqrt.f64 1/2))))
0
Outputs
(if (<=.f64 (hypot.f64 1 x) 2) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -11/128 (pow.f64 x 4))) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
(if (<=.f64 x -8264141345021879/73786976294838206464) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (if (<=.f64 x 5/4) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(if (<=.f64 x -5/4) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (if (<=.f64 x 5/4) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 x))))))
(if (<=.f64 x -5/4) (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 -1/2 x)))) (if (<=.f64 x 3422735716801577/2251799813685248) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 1/2))))
(if (<=.f64 x -3/2) (-.f64 1 (sqrt.f64 1/2)) (if (<=.f64 x 3422735716801577/2251799813685248) (*.f64 1/8 (pow.f64 x 2)) (-.f64 1 (sqrt.f64 1/2))))
(if (<=.f64 x -5736293309357913/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) (-.f64 1 (sqrt.f64 1/2)) (if (<=.f64 x 5736293309357913/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) 0 (-.f64 1 (sqrt.f64 1/2))))
0
Compiler

Compiled 158 to 135 computations (14.6% saved)

soundness236.0ms (2.1%)

Algorithm
egg-herbie
Rules
1472×rational.json-simplify-35
1472×rational.json-simplify-35
1092×rational.json-simplify-46
1092×rational.json-simplify-46
1090×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03955858
19385822
224665804
355175774
03955858
19385822
224665804
355175774
Stop Event
node limit
node limit
Compiler

Compiled 46 to 42 computations (8.7% saved)

end136.0ms (1.2%)

Compiler

Compiled 152 to 129 computations (15.1% saved)

Profiling

Loading profile data...