Details

Time bar (total: 25.9s)

analyze5.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
50%25%25%0%0%50%0%4
75%37.5%12.5%0%0%50%0%5
87.5%43.7%6.2%0%0%50%0%6
93.8%46.9%3.1%0%0%50%0%7
96.9%48.4%1.6%0%0%50%0%8
98.4%49.2%0.8%0%0%50%0%9
99.2%49.6%0.4%0%0%50%0%10
99.6%49.8%0.2%0%0%50%0%11
99.8%49.9%0.1%0%0%50%0%12
Compiler

Compiled 15 to 14 computations (6.7% saved)

sample7.2s (27.9%)

Results
5.7s4133×body1024valid
774.0ms2084×body512valid
513.0ms442×body2048valid
238.0ms1597×body256valid
0.0msbody256invalid
Bogosity

preprocess3.9s (15%)

Algorithm
egg-herbie
Rules
20798×rational.json-simplify-41
2308×rational.json-simplify-1
1296×rational.json-simplify-35
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
12241
22841
33841
45641
510341
623841
761141
877441
978041
1078641
1179241
1279841
1380441
1481041
1581641
1682241
1782841
1883441
1984041
2084641
2185241
2285841
23271041
24271641
25272241
26272841
27273441
28274041
29353341
30353941
31354541
32355141
33355741
34356341
35356941
36357541
37358141
38358741
39359341
40359941
41360541
42361141
43361741
44362341
45362941
46363541
47364141
48364741
49365341
50365941
51366541
52367141
53367741
54368341
55368941
56369541
57370141
58370741
59371341
60371941
61372541
62373141
63373741
64374341
65374941
66375541
67376141
68376741
69377341
70377941
71378541
72379141
73379741
74380341
75380941
76381541
77382141
78382741
79383341
80383941
81384541
82385141
83385741
84386341
85386941
86387541
87388141
88388741
89389341
90389941
91390541
92391141
93391741
94392341
95392941
96393541
97394141
98394741
99395341
100395941
101396541
102397141
103397741
104398341
105398941
106399541
107400141
108400741
109401341
110401941
111402541
112403141
113403741
114404341
115404941
116405541
117406141
118406741
119407341
120407941
121408541
122409141
123409741
124410341
125410941
126411541
127412141
128412741
129413341
130413941
131414541
132415141
133415741
134416341
135416941
136417541
137418141
138418741
139419341
140419941
141420541
142421141
143421741
144422341
145422941
146423541
147424141
148424741
149425341
150425941
151426541
152427141
153427741
154428341
155428941
156429541
157430141
158430741
159431341
160431941
161432541
162433141
163433741
164434341
165434941
166435541
167436141
168436741
169437341
170437941
171438541
172439141
173439741
174440341
175440941
176441541
177442141
178442741
179443341
180443941
181444541
182445141
183445741
184446341
185446941
186447541
187448141
188448741
189449341
190449941
191450541
192451141
193451741
194452341
195452941
196453541
197454141
198454741
199455341
200455941
201456541
202457141
203457741
204458341
205458941
206459541
207460141
208460741
209461341
210461941
211462541
212463141
213463741
214464341
215464941
216465541
217466141
218466741
219467341
220467941
221468541
222469141
223469741
224470341
225470941
226471541
227472141
228472741
229473341
230473941
231474541
232475141
233475741
234476341
235476941
236477541
237478141
238478741
239479341
240479941
241480541
242481141
243481741
244482341
245482941
246483541
247484141
248484741
249485341
250485941
251486541
252487141
253487741
254488341
255488941
256489541
257490141
258490741
259491341
260491941
261492541
262493141
263493741
264494341
265494941
266495541
267496141
268496741
269497341
270497941
271498541
272499141
273499741
274500341
275500941
276501541
277502141
278502741
279503341
280503941
281504541
282505141
283505741
284506341
285506941
286507541
287508141
288508741
289509341
290509941
291510541
292511141
293511741
294512341
295512941
296513541
297514141
298514741
299515341
300515941
301516541
302517141
303517741
304518341
305518941
306519541
307520141
308520741
309521341
310521941
311522541
312523141
313523741
314524341
315524941
316525541
317526141
318526741
319527341
320527941
321528541
322529141
323529741
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Compiler

Compiled 15 to 14 computations (6.7% saved)

simplify9.9s (38.3%)

Algorithm
egg-herbie
Rules
20798×rational.json-simplify-41
2308×rational.json-simplify-1
1296×rational.json-simplify-35
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
12241
22841
33841
45641
510341
623841
761141
877441
978041
1078641
1179241
1279841
1380441
1481041
1581641
1682241
1782841
1883441
1984041
2084641
2185241
2285841
23271041
24271641
25272241
26272841
27273441
28274041
29353341
30353941
31354541
32355141
33355741
34356341
35356941
36357541
37358141
38358741
39359341
40359941
41360541
42361141
43361741
44362341
45362941
46363541
47364141
48364741
49365341
50365941
51366541
52367141
53367741
54368341
55368941
56369541
57370141
58370741
59371341
60371941
61372541
62373141
63373741
64374341
65374941
66375541
67376141
68376741
69377341
70377941
71378541
72379141
73379741
74380341
75380941
76381541
77382141
78382741
79383341
80383941
81384541
82385141
83385741
84386341
85386941
86387541
87388141
88388741
89389341
90389941
91390541
92391141
93391741
94392341
95392941
96393541
97394141
98394741
99395341
100395941
101396541
102397141
103397741
104398341
105398941
106399541
107400141
108400741
109401341
110401941
111402541
112403141
113403741
114404341
115404941
116405541
117406141
118406741
119407341
120407941
121408541
122409141
123409741
124410341
125410941
126411541
127412141
128412741
129413341
130413941
131414541
132415141
133415741
134416341
135416941
136417541
137418141
138418741
139419341
140419941
141420541
142421141
143421741
144422341
145422941
146423541
147424141
148424741
149425341
150425941
151426541
152427141
153427741
154428341
155428941
156429541
157430141
158430741
159431341
160431941
161432541
162433141
163433741
164434341
165434941
166435541
167436141
168436741
169437341
170437941
171438541
172439141
173439741
174440341
175440941
176441541
177442141
178442741
179443341
180443941
181444541
182445141
183445741
184446341
185446941
186447541
187448141
188448741
189449341
190449941
191450541
192451141
193451741
194452341
195452941
196453541
197454141
198454741
199455341
200455941
201456541
202457141
203457741
204458341
205458941
206459541
207460141
208460741
209461341
210461941
211462541
212463141
213463741
214464341
215464941
216465541
217466141
218466741
219467341
220467941
221468541
222469141
223469741
224470341
225470941
226471541
227472141
228472741
229473341
230473941
231474541
232475141
233475741
234476341
235476941
236477541
237478141
238478741
239479341
240479941
241480541
242481141
243481741
244482341
245482941
246483541
247484141
248484741
249485341
250485941
251486541
252487141
253487741
254488341
255488941
256489541
257490141
258490741
259491341
260491941
261492541
262493141
263493741
264494341
265494941
266495541
267496141
268496741
269497341
270497941
271498541
272499141
273499741
274500341
275500941
276501541
277502141
278502741
279503341
280503941
281504541
282505141
283505741
284506341
285506941
286507541
287508141
288508741
289509341
290509941
291510541
292511141
293511741
294512341
295512941
296513541
297514141
298514741
299515341
300515941
301516541
302517141
303517741
304518341
305518941
306519541
307520141
308520741
309521341
310521941
311522541
312523141
313523741
314524341
315524941
316525541
317526141
318526741
319527341
320527941
321528541
322529141
323529741
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))

eval1.0ms (0%)

Compiler

Compiled 14 to 13 computations (7.1% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 14 to 13 computations (7.1% saved)

localize27.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
1.0b
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
6.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Compiler

Compiled 51 to 42 computations (17.6% saved)

series3.0ms (0%)

Counts
3 → 28
Calls

9 calls:

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

rewrite1.3s (5.1%)

Algorithm
batch-egg-rewrite
Rules
1632×bool.json-1
1632×bool.json-2
1580×rational.json-1
1580×rational.json-2
1580×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01579
115079
238079
373279
4147279
5333579
6638479
Stop Event
node limit
Counts
3 → 76
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) (*.f64 (PI.f64) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))

simplify309.0ms (1.2%)

Algorithm
egg-herbie
Rules
2046×rational.json-simplify-1
1910×rational.json-simplify-35
1174×rational.json-simplify-48
1172×rational.json-simplify-2
1074×rational.json-simplify-52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01663354
13133258
27633238
317493222
431863222
541093222
647363222
759193222
870653222
974533222
1074623222
Stop Event
node limit
Counts
104 → 100
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 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 (*.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 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 0)
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 -1 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) (*.f64 (PI.f64) 1/2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) -1)
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 1/2)
(*.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 1/4)
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8) 4)
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 2)
(/.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 4)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))) 8)
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)
(+.f64 0 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))
(-.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)
(*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))
(*.f64 1 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)
(*.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 1/2)
(*.f64 4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 1/8)
(*.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) 2)
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4) 4)
(*.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))
(/.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)
(/.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)
(/.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 4)
(/.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))) 32)
(+.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))
(-.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)
(/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)))) 32)
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 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 (sqrt.f64 1/2) (*.f64 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 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 2) -1/8))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 -1/8 (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 x -1/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 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 2) -1/8))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 3) -1/16))))
(+.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 -1/8 (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 x -1/2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/16 (pow.f64 x 3)) (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 x -1/2)))))
(+.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 0)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 -1 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) (*.f64 (PI.f64) 1/2))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(*.f64 1/4 (+.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) 8))))
(+.f64 (+.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))) -1)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 1/2)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 1/4)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 8) 4)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))) 1)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)) 2)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))) 4)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))) 8)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))) -2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) 16)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) -4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) 2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4)))))) 32)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x)))) -2))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(+.f64 0 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(-.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 0)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 1 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 1/2)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 1/4)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 1/2 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 1/8)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2) 2)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/4) 4)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(*.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (*.f64 2 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))) 2)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 4) 4)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8) 8)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8)) 16)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 8))) 32)
(asin.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 x))))
(+.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(-.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 0)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 1/2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 1/4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1/2) 2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 1)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2))) 2)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4) 4)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)) 8)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) 16)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 x) 1/2)) 4)))) 32)
(sqrt.f64 (*.f64 1/2 (-.f64 1 x)))

eval108.0ms (0.4%)

Compiler

Compiled 1776 to 1552 computations (12.6% saved)

prune13.0ms (0%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New982100
Fresh000
Picked011
Done000
Total983101
Error
59.1b
Counts
101 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
59.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
59.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 39 to 37 computations (5.1% saved)

localize20.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 26 to 24 computations (7.7% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite113.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1964×bool.json-1
1654×rational.json-simplify-35
1330×bool.json-2
1292×rational.json-1
1292×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
1519
21609
33309
46449
513279
630459
755999
879669
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(asin.f64 (sqrt.f64 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (asin.f64 (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (asin.f64 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (asin.f64 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (asin.f64 (sqrt.f64 1/2)) (asin.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (sqrt.f64 1/2)) (asin.f64 (sqrt.f64 1/2)))))))

simplify856.0ms (3.3%)

Algorithm
egg-herbie
Rules
4920×rational.json-simplify-51
2968×rational.json-simplify-35
1076×rational.json-simplify-49
930×rational.json-simplify-1
912×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050216
1100216
2364216
3844216
41329216
51983216
62337216
72414216
82465216
92497216
102528216
112559216
122590216
132621216
142652216
152683216
162714216
172745216
182776216
193519216
203583216
213645216
223705216
233763216
243820216
254048216
264105216
274162216
284219216
294219216
304276216
314333216
324390216
334447216
344504216
357805216
367857216
377886216
387915216
397944216
407973216
Stop Event
node limit
Counts
24 → 25
Calls
Call 1
Inputs
(+.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(+.f64 0 (asin.f64 (sqrt.f64 1/2)))
(+.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))
(-.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(*.f64 1/2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2))
(*.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(*.f64 1 (asin.f64 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 1/2)
(*.f64 4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 1/4)
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 1/8)
(*.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) 2)
(*.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4) 4)
(*.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))
(/.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 2)
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 4)
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))))) 128)
Outputs
(+.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(asin.f64 (sqrt.f64 1/2))
(+.f64 0 (asin.f64 (sqrt.f64 1/2)))
(asin.f64 (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))
(asin.f64 (sqrt.f64 1/2))
(-.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(asin.f64 (sqrt.f64 1/2))
(*.f64 1/2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2))
(asin.f64 (sqrt.f64 1/2))
(*.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(asin.f64 (sqrt.f64 1/2))
(*.f64 1 (asin.f64 (sqrt.f64 1/2)))
(asin.f64 (sqrt.f64 1/2))
(*.f64 2 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))))
(asin.f64 (sqrt.f64 1/2))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 1/2)
(asin.f64 (sqrt.f64 1/2))
(*.f64 4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4))
(asin.f64 (sqrt.f64 1/2))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 1/4)
(asin.f64 (sqrt.f64 1/2))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 1/8)
(asin.f64 (sqrt.f64 1/2))
(*.f64 (*.f64 1/2 (asin.f64 (sqrt.f64 1/2))) 2)
(asin.f64 (sqrt.f64 1/2))
(*.f64 1/4 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4))
(asin.f64 (sqrt.f64 1/2))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 1/4) 4)
(asin.f64 (sqrt.f64 1/2))
(*.f64 1/8 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))
(asin.f64 (sqrt.f64 1/2))
(/.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 2) 2)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 4) 4)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8) 8)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)) 16)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))) 32)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) 64)
(asin.f64 (sqrt.f64 1/2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (sqrt.f64 1/2)) 8))))) 128)
(asin.f64 (sqrt.f64 1/2))

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 1 x))
0.0b
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
1.0b
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
6.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
Compiler

Compiled 57 to 48 computations (15.8% saved)

series2.0ms (0%)

Counts
4 → 24
Calls

12 calls:

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

rewrite101.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1692×bool.json-1
1692×bool.json-2
1644×rational.json-1
1644×rational.json-2
1016×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017102
1167102
2401102
3754102
41518102
53465102
66597102
Stop Event
node limit
Counts
4 → 86
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(sqrt.f64 (-.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) (*.f64 (PI.f64) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (-.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (-.f64 1 x)) (sqrt.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (-.f64 1 x)) (sqrt.f64 (-.f64 1 x)))))))

simplify592.0ms (2.3%)

Algorithm
egg-herbie
Rules
3240×rational.json-simplify-2
2990×rational.json-simplify-35
2102×rational.json-simplify-53
1070×rational.json-simplify-1
876×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01883638
13663570
28363550
321663422
437143422
547263422
649183422
750853422
852373422
953853422
1063433422
1167723422
1267873422
1367873422
1469193422
1570513422
1671833422
1773153422
1877353422
Stop Event
node limit
Counts
110 → 123
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 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 (*.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))))))
1
(+.f64 (*.f64 -1/2 x) 1)
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 x) 1))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/16 (pow.f64 x 3)) 1)))
(+.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 0)
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 -1 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) (*.f64 (PI.f64) 1/2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))) -1)
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 1/2)
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 1/4)
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8) 4)
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 2)
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 4)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))) 8)
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 1/2)
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 1/4)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 1/8)
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4) 4)
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 4)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))) 32)
(+.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(+.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))))
(-.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 1)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)))) 32)
(+.f64 (sqrt.f64 (-.f64 1 x)) 0)
(+.f64 0 (sqrt.f64 (-.f64 1 x)))
(+.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))
(-.f64 (sqrt.f64 (-.f64 1 x)) 0)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (-.f64 1 x))))
(*.f64 1 (sqrt.f64 (-.f64 1 x)))
(*.f64 (sqrt.f64 (-.f64 1 x)) 1)
(*.f64 4 (/.f64 (sqrt.f64 (-.f64 1 x)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) 2)
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)
(/.f64 (sqrt.f64 (-.f64 1 x)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 2)
(/.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)))) 32)
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 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 (sqrt.f64 1/2) (*.f64 x -1/2)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 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 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 -1/8 (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2)))))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (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 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 -1/8 (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/16 (pow.f64 x 3)) (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2))))))
1
(+.f64 (*.f64 -1/2 x) 1)
(+.f64 1 (*.f64 x -1/2))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 x) 1))
(+.f64 (*.f64 x -1/2) (+.f64 1 (*.f64 -1/8 (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 x -1/2)))
(+.f64 1 (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2))))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/16 (pow.f64 x 3)) 1)))
(+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 -1/16 (pow.f64 x 3)) (+.f64 1 (*.f64 x -1/2))))
(+.f64 (*.f64 x -1/2) (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/16 (pow.f64 x 3)))))
(+.f64 (+.f64 1 (*.f64 -1/16 (pow.f64 x 3))) (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -1/16 (pow.f64 x 3)) (+.f64 (*.f64 x -1/2) (*.f64 -1/8 (pow.f64 x 2)))))
(+.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 0)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(+.f64 -1 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) -2))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) (*.f64 (PI.f64) 1/2))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) -2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(*.f64 1/4 (+.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))))
(+.f64 (+.f64 (*.f64 (PI.f64) 1/2) (-.f64 1 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))) -1)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 1/2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 1/4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 8) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))) 8)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))) -2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) 16)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) -4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) 2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4)))))) 32)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 0)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 1/2)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 1/4)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 1/8)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1/4) 4)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 1)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))) 2)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 4) 4)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8) 8)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8)) 16)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 8))) 32)
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 x -1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (neg.f64 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(+.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(+.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(+.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 1/2 (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(-.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 1)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))) 2)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4) 4)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)) 8)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) 16)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))) 4)))) 32)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x)))
(+.f64 (sqrt.f64 (-.f64 1 x)) 0)
(sqrt.f64 (-.f64 1 x))
(+.f64 0 (sqrt.f64 (-.f64 1 x)))
(sqrt.f64 (-.f64 1 x))
(+.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))
(sqrt.f64 (-.f64 1 x))
(-.f64 (sqrt.f64 (-.f64 1 x)) 0)
(sqrt.f64 (-.f64 1 x))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))))
(sqrt.f64 (-.f64 1 x))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (-.f64 1 x))))
(sqrt.f64 (-.f64 1 x))
(*.f64 1 (sqrt.f64 (-.f64 1 x)))
(sqrt.f64 (-.f64 1 x))
(*.f64 (sqrt.f64 (-.f64 1 x)) 1)
(sqrt.f64 (-.f64 1 x))
(*.f64 4 (/.f64 (sqrt.f64 (-.f64 1 x)) 4))
(sqrt.f64 (-.f64 1 x))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 1/2)
(sqrt.f64 (-.f64 1 x))
(*.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 1/4)
(sqrt.f64 (-.f64 1 x))
(*.f64 1/4 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))
(sqrt.f64 (-.f64 1 x))
(*.f64 (*.f64 1/2 (sqrt.f64 (-.f64 1 x))) 2)
(sqrt.f64 (-.f64 1 x))
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)
(sqrt.f64 (-.f64 1 x))
(/.f64 (sqrt.f64 (-.f64 1 x)) 1)
(sqrt.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (sqrt.f64 (-.f64 1 x))) 2)
(sqrt.f64 (-.f64 1 x))
(/.f64 (*.f64 (sqrt.f64 (-.f64 1 x)) 4) 4)
(sqrt.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)) 8)
(sqrt.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) 16)
(sqrt.f64 (-.f64 1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 1 x)) 4)))) 32)
(sqrt.f64 (-.f64 1 x))

eval160.0ms (0.6%)

Compiler

Compiled 2685 to 2375 computations (11.5% saved)

prune78.0ms (0.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1471148
Fresh000
Picked101
Done022
Total1483151
Error
59.1b
Counts
151 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
60.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
59.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 40 to 38 computations (5% saved)

localize85.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 63 to 54 computations (14.3% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite108.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1764×bool.json-1
1764×bool.json-2
1708×rational.json-1
1060×bool.json-3
1042×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01897
117897
242097
378197
4158197
5362197
6691997
Stop Event
node limit
Counts
3 → 66
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) (*.f64 (PI.f64) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4) (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))))

simplify274.0ms (1.1%)

Algorithm
egg-herbie
Rules
1744×rational.json-simplify-35
1106×rational.json-simplify-2
1096×rational.json-simplify-52
958×rational.json-simplify-26
892×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01503860
12913860
26453764
315763662
429093662
537793662
643413662
751353662
865253662
977873662
Stop Event
node limit
Counts
102 → 90
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.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 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 0)
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(+.f64 -1 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) (*.f64 (PI.f64) 1/2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(+.f64 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) -1)
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 1/2)
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 1/4)
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8) 4)
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 2)
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 4)
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))) -2)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 1/2)
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 1/4)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 1/8)
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4) 4)
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 4)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))) 32)
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4) (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4))
(-.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))))) 32)
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (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 -1/2 (*.f64 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 -1/2 (*.f64 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 -1/2 (*.f64 x (sqrt.f64 1/2))))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 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 -1/2 (*.f64 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 -1/2 (*.f64 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 -1/2 (*.f64 x (sqrt.f64 1/2))))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 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 -1/2 (*.f64 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 -1/2 (*.f64 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 -1/2 (*.f64 x (sqrt.f64 1/2))))
(+.f64 (*.f64 (PI.f64) 1/2) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 0)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 0 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 -1 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) (*.f64 (PI.f64) 1/2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(+.f64 (*.f64 (PI.f64) 1/4) (-.f64 (*.f64 (PI.f64) 1/4) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))))))
(*.f64 1/4 (+.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) 8))))
(+.f64 (-.f64 (-.f64 (*.f64 (PI.f64) 1/2) -1) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) -1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 1 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))))
(*.f64 4 (-.f64 (*.f64 (PI.f64) 1/8) (*.f64 1/2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))))))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 1/2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 1/4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 8) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (-.f64 (*.f64 (PI.f64) 1/2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))) -2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))) 8)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) -4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) 16)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) 2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4)))))) 32)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))) -2))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 0)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 1/2)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 1/4)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 1/8)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1/4) 4)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 1)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))) 2)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 4) 4)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8) 8)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8)) 16)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1))) 8))) 32)
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)
(*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))
(+.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))
(*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4) (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 4))
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))
(-.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 0)
(*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)) 1)
(*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2))
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))) 2)
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))) 4)
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))) 8)
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) 16)
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 2 (+.f64 2 (neg.f64 x))))))) 32)
(+.f64 (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)) (*.f64 (+.f64 2 (neg.f64 x)) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (+.f64 2 (neg.f64 x)) (+.f64 (/.f64 (sqrt.f64 1/2) 4) (/.f64 (sqrt.f64 1/2) 4)))
(*.f64 (sqrt.f64 1/2) (/.f64 (+.f64 2 (neg.f64 x)) 2))
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (+.f64 2 (neg.f64 x))))

eval102.0ms (0.4%)

Compiler

Compiled 1651 to 1448 computations (12.3% saved)

prune14.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New89190
Fresh000
Picked011
Done022
Total89493
Error
58.3b
Counts
93 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
60.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
61.6b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
59.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 54 to 51 computations (5.6% saved)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 50 to 42 computations (16% saved)

series35.0ms (0.1%)

Counts
3 → 12
Calls

9 calls:

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

rewrite108.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1678×bool.json-1
1678×bool.json-2
1626×rational.json-1
1626×rational.json-2
1074×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01673
115873
240073
377973
4155173
5348473
6661173
Stop Event
node limit
Counts
3 → 65
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) x)
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
Outputs
((#(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 1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) x) 1)))) (#(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 (sqrt.f64 1/2) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) x) (*.f64 (sqrt.f64 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) x) (*.f64 (sqrt.f64 1/2) x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) (*.f64 1/2 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (PI.f64) 8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))))

simplify267.0ms (1%)

Algorithm
egg-herbie
Rules
2018×rational.json-simplify-1
1842×rational.json-simplify-35
1260×rational.json-simplify-2
1254×rational.json-simplify-48
1014×rational.json-simplify-52
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01312463
12632455
26232455
316062455
431972455
541992455
649862455
762692455
873892455
975802455
1075862455
Stop Event
node limit
Counts
77 → 73
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(+.f64 (*.f64 (sqrt.f64 1/2) x) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) x))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) x)))
(-.f64 (*.f64 (sqrt.f64 1/2) x) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) x) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 x x)) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))))) 32)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 0)
(+.f64 0 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) (*.f64 1/2 (PI.f64)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1))
(+.f64 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1) -1)
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(*.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)
(*.f64 1 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8))
(*.f64 4 (-.f64 (/.f64 (PI.f64) 8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 1/2)
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 1/4)
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8) 4)
(/.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 2)
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 4)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))) 8)
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))) -2)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 1/2)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 1/4)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 1/8)
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4) 4)
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 4)
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))) 32)
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.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 1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (sqrt.f64 1/2) x)
(-.f64 (*.f64 (sqrt.f64 1/2) x) 0)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (*.f64 (sqrt.f64 1/2) x) 1)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 x x)) 2)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)) 4)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))) 8)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) 16)
(*.f64 (sqrt.f64 1/2) x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 x 4))))) 32)
(*.f64 (sqrt.f64 1/2) x)
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 0)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 0 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 (neg.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) (*.f64 1/2 (PI.f64)))
(+.f64 (*.f64 1/2 (PI.f64)) (neg.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(+.f64 -1 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 (+.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1) -1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(+.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 2 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 1 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 4 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 4 (-.f64 (/.f64 (PI.f64) 8) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))))
(*.f64 4 (-.f64 (/.f64 (PI.f64) 8) (*.f64 1/2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 1/2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(*.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 1/4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 1/4 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 1/4 (-.f64 (*.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 -1 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(*.f64 (-.f64 (*.f64 (PI.f64) 1/4) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(*.f64 (/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 8) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))) 1)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)) 2)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)) -1)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))) 4)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))) 8)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))) -2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) -4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) 16)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) 2)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (PI.f64) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4)))))) 32)
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(*.f64 1/2 (-.f64 (PI.f64) (*.f64 4 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))) (neg.f64 (*.f64 2 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2))))) 4)
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (/.f64 (PI.f64) -2)))
(neg.f64 (+.f64 (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))) (/.f64 (PI.f64) -2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(-.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 0)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 1/2 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 2 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 1/2)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 1/4)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 1/8)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 1/4 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (*.f64 1/2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1/4) 4)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 1/8 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 1)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)))) 2)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 4) 4)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8) 8)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8)) 16)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2))) 8))) 32)
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))

eval61.0ms (0.2%)

Compiler

Compiled 1224 to 1069 computations (12.7% saved)

prune13.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New73073
Fresh000
Picked011
Done033
Total73477
Error
58.3b
Counts
77 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
60.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 x) 1)))))
61.6b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
59.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 54 to 51 computations (5.6% saved)

regimes20.0ms (0.1%)

Accuracy

Total -3.4b remaining (-5.8%)

Threshold costs -3.4b (-5.8%)

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

7 calls:

4.0ms
x
3.0ms
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
2.0ms
(*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
2.0ms
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
2.0ms
(-.f64 1 x)
Results
ErrorSegmentsBranch
59.1b1x
59.1b1(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
59.1b1(*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
59.1b1(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
59.1b1(sqrt.f64 (/.f64 (-.f64 1 x) 2))
59.1b1(/.f64 (-.f64 1 x) 2)
59.1b1(-.f64 1 x)
Compiler

Compiled 116 to 101 computations (12.9% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 24 to 23 computations (4.2% saved)

soundness0.0ms (0%)

end24.0ms (0.1%)

Compiler

Compiled 23 to 21 computations (8.7% saved)

Profiling

Loading profile data...