1 #include "sleef.h"
2 
3 #include "sleef_cl.h"
4 
5 
6 #ifdef SLEEF_VEC_128_AVAILABLE
7 
Sleef_sinf4_u10(float4 x)8 _CL_ALWAYSINLINE float4 Sleef_sinf4_u10(float4 x)
9 {
10   union { float4 t; reg128f r; } x_in;
11   x_in.t = x;
12   union { float4 t; reg128f r; } ret;
13   ret.r = Sleef_sinf4_u10_intrin(x_in.r);
14   return ret.t;
15 }
16 
Sleef_sinf4_u35(float4 x)17 _CL_ALWAYSINLINE float4 Sleef_sinf4_u35(float4 x)
18 {
19   union { float4 t; reg128f r; } x_in;
20   x_in.t = x;
21   union { float4 t; reg128f r; } ret;
22   ret.r = Sleef_sinf4_u35_intrin(x_in.r);
23   return ret.t;
24 }
25 
26 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
27 
Sleef_sind2_u10(double2 x)28 _CL_ALWAYSINLINE double2 Sleef_sind2_u10(double2 x)
29 {
30   union { double2 t; reg128d r; } x_in;
31   x_in.t = x;
32   union { double2 t; reg128d r; } ret;
33   ret.r = Sleef_sind2_u10_intrin(x_in.r);
34   return ret.t;
35 }
36 
Sleef_sind2_u35(double2 x)37 _CL_ALWAYSINLINE double2 Sleef_sind2_u35(double2 x)
38 {
39   union { double2 t; reg128d r; } x_in;
40   x_in.t = x;
41   union { double2 t; reg128d r; } ret;
42   ret.r = Sleef_sind2_u35_intrin(x_in.r);
43   return ret.t;
44 }
45 #endif
46 
47 
Sleef_cosf4_u10(float4 x)48 _CL_ALWAYSINLINE float4 Sleef_cosf4_u10(float4 x)
49 {
50   union { float4 t; reg128f r; } x_in;
51   x_in.t = x;
52   union { float4 t; reg128f r; } ret;
53   ret.r = Sleef_cosf4_u10_intrin(x_in.r);
54   return ret.t;
55 }
56 
Sleef_cosf4_u35(float4 x)57 _CL_ALWAYSINLINE float4 Sleef_cosf4_u35(float4 x)
58 {
59   union { float4 t; reg128f r; } x_in;
60   x_in.t = x;
61   union { float4 t; reg128f r; } ret;
62   ret.r = Sleef_cosf4_u35_intrin(x_in.r);
63   return ret.t;
64 }
65 
66 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
67 
Sleef_cosd2_u10(double2 x)68 _CL_ALWAYSINLINE double2 Sleef_cosd2_u10(double2 x)
69 {
70   union { double2 t; reg128d r; } x_in;
71   x_in.t = x;
72   union { double2 t; reg128d r; } ret;
73   ret.r = Sleef_cosd2_u10_intrin(x_in.r);
74   return ret.t;
75 }
76 
Sleef_cosd2_u35(double2 x)77 _CL_ALWAYSINLINE double2 Sleef_cosd2_u35(double2 x)
78 {
79   union { double2 t; reg128d r; } x_in;
80   x_in.t = x;
81   union { double2 t; reg128d r; } ret;
82   ret.r = Sleef_cosd2_u35_intrin(x_in.r);
83   return ret.t;
84 }
85 #endif
86 
87 
Sleef_tanf4_u10(float4 x)88 _CL_ALWAYSINLINE float4 Sleef_tanf4_u10(float4 x)
89 {
90   union { float4 t; reg128f r; } x_in;
91   x_in.t = x;
92   union { float4 t; reg128f r; } ret;
93   ret.r = Sleef_tanf4_u10_intrin(x_in.r);
94   return ret.t;
95 }
96 
Sleef_tanf4_u35(float4 x)97 _CL_ALWAYSINLINE float4 Sleef_tanf4_u35(float4 x)
98 {
99   union { float4 t; reg128f r; } x_in;
100   x_in.t = x;
101   union { float4 t; reg128f r; } ret;
102   ret.r = Sleef_tanf4_u35_intrin(x_in.r);
103   return ret.t;
104 }
105 
106 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
107 
Sleef_tand2_u10(double2 x)108 _CL_ALWAYSINLINE double2 Sleef_tand2_u10(double2 x)
109 {
110   union { double2 t; reg128d r; } x_in;
111   x_in.t = x;
112   union { double2 t; reg128d r; } ret;
113   ret.r = Sleef_tand2_u10_intrin(x_in.r);
114   return ret.t;
115 }
116 
Sleef_tand2_u35(double2 x)117 _CL_ALWAYSINLINE double2 Sleef_tand2_u35(double2 x)
118 {
119   union { double2 t; reg128d r; } x_in;
120   x_in.t = x;
121   union { double2 t; reg128d r; } ret;
122   ret.r = Sleef_tand2_u35_intrin(x_in.r);
123   return ret.t;
124 }
125 #endif
126 
127 
Sleef_asinf4_u10(float4 x)128 _CL_ALWAYSINLINE float4 Sleef_asinf4_u10(float4 x)
129 {
130   union { float4 t; reg128f r; } x_in;
131   x_in.t = x;
132   union { float4 t; reg128f r; } ret;
133   ret.r = Sleef_asinf4_u10_intrin(x_in.r);
134   return ret.t;
135 }
136 
Sleef_asinf4_u35(float4 x)137 _CL_ALWAYSINLINE float4 Sleef_asinf4_u35(float4 x)
138 {
139   union { float4 t; reg128f r; } x_in;
140   x_in.t = x;
141   union { float4 t; reg128f r; } ret;
142   ret.r = Sleef_asinf4_u35_intrin(x_in.r);
143   return ret.t;
144 }
145 
146 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
147 
Sleef_asind2_u10(double2 x)148 _CL_ALWAYSINLINE double2 Sleef_asind2_u10(double2 x)
149 {
150   union { double2 t; reg128d r; } x_in;
151   x_in.t = x;
152   union { double2 t; reg128d r; } ret;
153   ret.r = Sleef_asind2_u10_intrin(x_in.r);
154   return ret.t;
155 }
156 
Sleef_asind2_u35(double2 x)157 _CL_ALWAYSINLINE double2 Sleef_asind2_u35(double2 x)
158 {
159   union { double2 t; reg128d r; } x_in;
160   x_in.t = x;
161   union { double2 t; reg128d r; } ret;
162   ret.r = Sleef_asind2_u35_intrin(x_in.r);
163   return ret.t;
164 }
165 #endif
166 
167 
Sleef_acosf4_u10(float4 x)168 _CL_ALWAYSINLINE float4 Sleef_acosf4_u10(float4 x)
169 {
170   union { float4 t; reg128f r; } x_in;
171   x_in.t = x;
172   union { float4 t; reg128f r; } ret;
173   ret.r = Sleef_acosf4_u10_intrin(x_in.r);
174   return ret.t;
175 }
176 
Sleef_acosf4_u35(float4 x)177 _CL_ALWAYSINLINE float4 Sleef_acosf4_u35(float4 x)
178 {
179   union { float4 t; reg128f r; } x_in;
180   x_in.t = x;
181   union { float4 t; reg128f r; } ret;
182   ret.r = Sleef_acosf4_u35_intrin(x_in.r);
183   return ret.t;
184 }
185 
186 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
187 
Sleef_acosd2_u10(double2 x)188 _CL_ALWAYSINLINE double2 Sleef_acosd2_u10(double2 x)
189 {
190   union { double2 t; reg128d r; } x_in;
191   x_in.t = x;
192   union { double2 t; reg128d r; } ret;
193   ret.r = Sleef_acosd2_u10_intrin(x_in.r);
194   return ret.t;
195 }
196 
Sleef_acosd2_u35(double2 x)197 _CL_ALWAYSINLINE double2 Sleef_acosd2_u35(double2 x)
198 {
199   union { double2 t; reg128d r; } x_in;
200   x_in.t = x;
201   union { double2 t; reg128d r; } ret;
202   ret.r = Sleef_acosd2_u35_intrin(x_in.r);
203   return ret.t;
204 }
205 #endif
206 
207 
Sleef_atanf4_u10(float4 x)208 _CL_ALWAYSINLINE float4 Sleef_atanf4_u10(float4 x)
209 {
210   union { float4 t; reg128f r; } x_in;
211   x_in.t = x;
212   union { float4 t; reg128f r; } ret;
213   ret.r = Sleef_atanf4_u10_intrin(x_in.r);
214   return ret.t;
215 }
216 
Sleef_atanf4_u35(float4 x)217 _CL_ALWAYSINLINE float4 Sleef_atanf4_u35(float4 x)
218 {
219   union { float4 t; reg128f r; } x_in;
220   x_in.t = x;
221   union { float4 t; reg128f r; } ret;
222   ret.r = Sleef_atanf4_u35_intrin(x_in.r);
223   return ret.t;
224 }
225 
226 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
227 
Sleef_atand2_u10(double2 x)228 _CL_ALWAYSINLINE double2 Sleef_atand2_u10(double2 x)
229 {
230   union { double2 t; reg128d r; } x_in;
231   x_in.t = x;
232   union { double2 t; reg128d r; } ret;
233   ret.r = Sleef_atand2_u10_intrin(x_in.r);
234   return ret.t;
235 }
236 
Sleef_atand2_u35(double2 x)237 _CL_ALWAYSINLINE double2 Sleef_atand2_u35(double2 x)
238 {
239   union { double2 t; reg128d r; } x_in;
240   x_in.t = x;
241   union { double2 t; reg128d r; } ret;
242   ret.r = Sleef_atand2_u35_intrin(x_in.r);
243   return ret.t;
244 }
245 #endif
246 
247 
Sleef_atan2f4_u10(float4 x,float4 y)248 _CL_ALWAYSINLINE float4 Sleef_atan2f4_u10(float4 x, float4 y)
249 {
250   union { float4 t; reg128f r; } x_in;
251   x_in.t = x;
252   union { float4 t; reg128f r; } y_in;
253   y_in.t = y;
254   union { float4 t; reg128f r; } ret;
255   ret.r = Sleef_atan2f4_u10_intrin(x_in.r, y_in.r);
256   return ret.t;
257 }
258 
Sleef_atan2f4_u35(float4 x,float4 y)259 _CL_ALWAYSINLINE float4 Sleef_atan2f4_u35(float4 x, float4 y)
260 {
261   union { float4 t; reg128f r; } x_in;
262   x_in.t = x;
263   union { float4 t; reg128f r; } y_in;
264   y_in.t = y;
265   union { float4 t; reg128f r; } ret;
266   ret.r = Sleef_atan2f4_u35_intrin(x_in.r, y_in.r);
267   return ret.t;
268 }
269 
270 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
271 
Sleef_atan2d2_u10(double2 x,double2 y)272 _CL_ALWAYSINLINE double2 Sleef_atan2d2_u10(double2 x, double2 y)
273 {
274   union { double2 t; reg128d r; } x_in;
275   x_in.t = x;
276   union { double2 t; reg128d r; } y_in;
277   y_in.t = y;
278   union { double2 t; reg128d r; } ret;
279   ret.r = Sleef_atan2d2_u10_intrin(x_in.r, y_in.r);
280   return ret.t;
281 }
282 
Sleef_atan2d2_u35(double2 x,double2 y)283 _CL_ALWAYSINLINE double2 Sleef_atan2d2_u35(double2 x, double2 y)
284 {
285   union { double2 t; reg128d r; } x_in;
286   x_in.t = x;
287   union { double2 t; reg128d r; } y_in;
288   y_in.t = y;
289   union { double2 t; reg128d r; } ret;
290   ret.r = Sleef_atan2d2_u35_intrin(x_in.r, y_in.r);
291   return ret.t;
292 }
293 #endif
294 
295 
Sleef_cbrtf4_u10(float4 x)296 _CL_ALWAYSINLINE float4 Sleef_cbrtf4_u10(float4 x)
297 {
298   union { float4 t; reg128f r; } x_in;
299   x_in.t = x;
300   union { float4 t; reg128f r; } ret;
301   ret.r = Sleef_cbrtf4_u10_intrin(x_in.r);
302   return ret.t;
303 }
304 
Sleef_cbrtf4_u35(float4 x)305 _CL_ALWAYSINLINE float4 Sleef_cbrtf4_u35(float4 x)
306 {
307   union { float4 t; reg128f r; } x_in;
308   x_in.t = x;
309   union { float4 t; reg128f r; } ret;
310   ret.r = Sleef_cbrtf4_u35_intrin(x_in.r);
311   return ret.t;
312 }
313 
314 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
315 
Sleef_cbrtd2_u10(double2 x)316 _CL_ALWAYSINLINE double2 Sleef_cbrtd2_u10(double2 x)
317 {
318   union { double2 t; reg128d r; } x_in;
319   x_in.t = x;
320   union { double2 t; reg128d r; } ret;
321   ret.r = Sleef_cbrtd2_u10_intrin(x_in.r);
322   return ret.t;
323 }
324 
Sleef_cbrtd2_u35(double2 x)325 _CL_ALWAYSINLINE double2 Sleef_cbrtd2_u35(double2 x)
326 {
327   union { double2 t; reg128d r; } x_in;
328   x_in.t = x;
329   union { double2 t; reg128d r; } ret;
330   ret.r = Sleef_cbrtd2_u35_intrin(x_in.r);
331   return ret.t;
332 }
333 #endif
334 
335 
Sleef_logf4_u10(float4 x)336 _CL_ALWAYSINLINE float4 Sleef_logf4_u10(float4 x)
337 {
338   union { float4 t; reg128f r; } x_in;
339   x_in.t = x;
340   union { float4 t; reg128f r; } ret;
341   ret.r = Sleef_logf4_u10_intrin(x_in.r);
342   return ret.t;
343 }
344 
Sleef_logf4_u35(float4 x)345 _CL_ALWAYSINLINE float4 Sleef_logf4_u35(float4 x)
346 {
347   union { float4 t; reg128f r; } x_in;
348   x_in.t = x;
349   union { float4 t; reg128f r; } ret;
350   ret.r = Sleef_logf4_u35_intrin(x_in.r);
351   return ret.t;
352 }
353 
354 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
355 
Sleef_logd2_u10(double2 x)356 _CL_ALWAYSINLINE double2 Sleef_logd2_u10(double2 x)
357 {
358   union { double2 t; reg128d r; } x_in;
359   x_in.t = x;
360   union { double2 t; reg128d r; } ret;
361   ret.r = Sleef_logd2_u10_intrin(x_in.r);
362   return ret.t;
363 }
364 
Sleef_logd2_u35(double2 x)365 _CL_ALWAYSINLINE double2 Sleef_logd2_u35(double2 x)
366 {
367   union { double2 t; reg128d r; } x_in;
368   x_in.t = x;
369   union { double2 t; reg128d r; } ret;
370   ret.r = Sleef_logd2_u35_intrin(x_in.r);
371   return ret.t;
372 }
373 #endif
374 
375 
Sleef_expf4_u10(float4 x)376 _CL_ALWAYSINLINE float4 Sleef_expf4_u10(float4 x)
377 {
378   union { float4 t; reg128f r; } x_in;
379   x_in.t = x;
380   union { float4 t; reg128f r; } ret;
381   ret.r = Sleef_expf4_u10_intrin(x_in.r);
382   return ret.t;
383 }
384 
385 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
386 
Sleef_expd2_u10(double2 x)387 _CL_ALWAYSINLINE double2 Sleef_expd2_u10(double2 x)
388 {
389   union { double2 t; reg128d r; } x_in;
390   x_in.t = x;
391   union { double2 t; reg128d r; } ret;
392   ret.r = Sleef_expd2_u10_intrin(x_in.r);
393   return ret.t;
394 }
395 #endif
396 
397 
Sleef_powf4_u10(float4 x,float4 y)398 _CL_ALWAYSINLINE float4 Sleef_powf4_u10(float4 x, float4 y)
399 {
400   union { float4 t; reg128f r; } x_in;
401   x_in.t = x;
402   union { float4 t; reg128f r; } y_in;
403   y_in.t = y;
404   union { float4 t; reg128f r; } ret;
405   ret.r = Sleef_powf4_u10_intrin(x_in.r, y_in.r);
406   return ret.t;
407 }
408 
409 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
410 
Sleef_powd2_u10(double2 x,double2 y)411 _CL_ALWAYSINLINE double2 Sleef_powd2_u10(double2 x, double2 y)
412 {
413   union { double2 t; reg128d r; } x_in;
414   x_in.t = x;
415   union { double2 t; reg128d r; } y_in;
416   y_in.t = y;
417   union { double2 t; reg128d r; } ret;
418   ret.r = Sleef_powd2_u10_intrin(x_in.r, y_in.r);
419   return ret.t;
420 }
421 #endif
422 
423 
Sleef_pownf4_u10(float4 x,int4 y)424 _CL_ALWAYSINLINE float4 Sleef_pownf4_u10(float4 x, int4 y)
425 {
426   union { float4 t; reg128f r; } x_in;
427   x_in.t = x;
428   union { int4 t; reg128i r; } y_in;
429   y_in.t = y;
430   union { float4 t; reg128f r; } ret;
431   ret.r = Sleef_pownf4_u10_intrin(x_in.r, y_in.r);
432   return ret.t;
433 }
434 
435 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
436 
437 #ifdef  SLEEF_VINT_IS_VLONG
438 
Sleef_pownd2_u10_long(double2 x,long2 y)439 _CL_ALWAYSINLINE double2 Sleef_pownd2_u10_long(double2 x, long2 y)
440 {
441   union { double2 t; reg128d r; } x_in;
442   x_in.t = x;
443   union { long2 t; reg128i r; } y_in;
444   y_in.t = y;
445   union { double2 t; reg128d r; } ret;
446   ret.r = Sleef_pownd2_u10_intrin(x_in.r, y_in.r);
447   return ret.t;
448 }
449 
450 #else
451 
Sleef_pownd2_u10(double2 x,int2 y)452 _CL_ALWAYSINLINE double2 Sleef_pownd2_u10(double2 x, int2 y)
453 {
454   union { double2 t; reg128d r; } x_in;
455   x_in.t = x;
456   union { int2 t; reg64i r; } y_in;
457   y_in.t = y;
458   union { double2 t; reg128d r; } ret;
459   ret.r = Sleef_pownd2_u10_intrin(x_in.r, y_in.r);
460   return ret.t;
461 }
462 
463 #endif
464 
465 #endif
466 
467 
Sleef_powrf4_u10(float4 x,float4 y)468 _CL_ALWAYSINLINE float4 Sleef_powrf4_u10(float4 x, float4 y)
469 {
470   union { float4 t; reg128f r; } x_in;
471   x_in.t = x;
472   union { float4 t; reg128f r; } y_in;
473   y_in.t = y;
474   union { float4 t; reg128f r; } ret;
475   ret.r = Sleef_powrf4_u10_intrin(x_in.r, y_in.r);
476   return ret.t;
477 }
478 
479 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
480 
Sleef_powrd2_u10(double2 x,double2 y)481 _CL_ALWAYSINLINE double2 Sleef_powrd2_u10(double2 x, double2 y)
482 {
483   union { double2 t; reg128d r; } x_in;
484   x_in.t = x;
485   union { double2 t; reg128d r; } y_in;
486   y_in.t = y;
487   union { double2 t; reg128d r; } ret;
488   ret.r = Sleef_powrd2_u10_intrin(x_in.r, y_in.r);
489   return ret.t;
490 }
491 #endif
492 
493 
Sleef_sinhf4_u10(float4 x)494 _CL_ALWAYSINLINE float4 Sleef_sinhf4_u10(float4 x)
495 {
496   union { float4 t; reg128f r; } x_in;
497   x_in.t = x;
498   union { float4 t; reg128f r; } ret;
499   ret.r = Sleef_sinhf4_u10_intrin(x_in.r);
500   return ret.t;
501 }
502 
503 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
504 
Sleef_sinhd2_u10(double2 x)505 _CL_ALWAYSINLINE double2 Sleef_sinhd2_u10(double2 x)
506 {
507   union { double2 t; reg128d r; } x_in;
508   x_in.t = x;
509   union { double2 t; reg128d r; } ret;
510   ret.r = Sleef_sinhd2_u10_intrin(x_in.r);
511   return ret.t;
512 }
513 #endif
514 
515 
Sleef_coshf4_u10(float4 x)516 _CL_ALWAYSINLINE float4 Sleef_coshf4_u10(float4 x)
517 {
518   union { float4 t; reg128f r; } x_in;
519   x_in.t = x;
520   union { float4 t; reg128f r; } ret;
521   ret.r = Sleef_coshf4_u10_intrin(x_in.r);
522   return ret.t;
523 }
524 
525 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
526 
Sleef_coshd2_u10(double2 x)527 _CL_ALWAYSINLINE double2 Sleef_coshd2_u10(double2 x)
528 {
529   union { double2 t; reg128d r; } x_in;
530   x_in.t = x;
531   union { double2 t; reg128d r; } ret;
532   ret.r = Sleef_coshd2_u10_intrin(x_in.r);
533   return ret.t;
534 }
535 #endif
536 
537 
Sleef_tanhf4_u10(float4 x)538 _CL_ALWAYSINLINE float4 Sleef_tanhf4_u10(float4 x)
539 {
540   union { float4 t; reg128f r; } x_in;
541   x_in.t = x;
542   union { float4 t; reg128f r; } ret;
543   ret.r = Sleef_tanhf4_u10_intrin(x_in.r);
544   return ret.t;
545 }
546 
547 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
548 
Sleef_tanhd2_u10(double2 x)549 _CL_ALWAYSINLINE double2 Sleef_tanhd2_u10(double2 x)
550 {
551   union { double2 t; reg128d r; } x_in;
552   x_in.t = x;
553   union { double2 t; reg128d r; } ret;
554   ret.r = Sleef_tanhd2_u10_intrin(x_in.r);
555   return ret.t;
556 }
557 #endif
558 
559 
Sleef_asinhf4_u10(float4 x)560 _CL_ALWAYSINLINE float4 Sleef_asinhf4_u10(float4 x)
561 {
562   union { float4 t; reg128f r; } x_in;
563   x_in.t = x;
564   union { float4 t; reg128f r; } ret;
565   ret.r = Sleef_asinhf4_u10_intrin(x_in.r);
566   return ret.t;
567 }
568 
569 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
570 
Sleef_asinhd2_u10(double2 x)571 _CL_ALWAYSINLINE double2 Sleef_asinhd2_u10(double2 x)
572 {
573   union { double2 t; reg128d r; } x_in;
574   x_in.t = x;
575   union { double2 t; reg128d r; } ret;
576   ret.r = Sleef_asinhd2_u10_intrin(x_in.r);
577   return ret.t;
578 }
579 #endif
580 
581 
Sleef_acoshf4_u10(float4 x)582 _CL_ALWAYSINLINE float4 Sleef_acoshf4_u10(float4 x)
583 {
584   union { float4 t; reg128f r; } x_in;
585   x_in.t = x;
586   union { float4 t; reg128f r; } ret;
587   ret.r = Sleef_acoshf4_u10_intrin(x_in.r);
588   return ret.t;
589 }
590 
591 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
592 
Sleef_acoshd2_u10(double2 x)593 _CL_ALWAYSINLINE double2 Sleef_acoshd2_u10(double2 x)
594 {
595   union { double2 t; reg128d r; } x_in;
596   x_in.t = x;
597   union { double2 t; reg128d r; } ret;
598   ret.r = Sleef_acoshd2_u10_intrin(x_in.r);
599   return ret.t;
600 }
601 #endif
602 
603 
Sleef_atanhf4_u10(float4 x)604 _CL_ALWAYSINLINE float4 Sleef_atanhf4_u10(float4 x)
605 {
606   union { float4 t; reg128f r; } x_in;
607   x_in.t = x;
608   union { float4 t; reg128f r; } ret;
609   ret.r = Sleef_atanhf4_u10_intrin(x_in.r);
610   return ret.t;
611 }
612 
613 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
614 
Sleef_atanhd2_u10(double2 x)615 _CL_ALWAYSINLINE double2 Sleef_atanhd2_u10(double2 x)
616 {
617   union { double2 t; reg128d r; } x_in;
618   x_in.t = x;
619   union { double2 t; reg128d r; } ret;
620   ret.r = Sleef_atanhd2_u10_intrin(x_in.r);
621   return ret.t;
622 }
623 #endif
624 
625 
Sleef_exp2f4_u10(float4 x)626 _CL_ALWAYSINLINE float4 Sleef_exp2f4_u10(float4 x)
627 {
628   union { float4 t; reg128f r; } x_in;
629   x_in.t = x;
630   union { float4 t; reg128f r; } ret;
631   ret.r = Sleef_exp2f4_u10_intrin(x_in.r);
632   return ret.t;
633 }
634 
635 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
636 
Sleef_exp2d2_u10(double2 x)637 _CL_ALWAYSINLINE double2 Sleef_exp2d2_u10(double2 x)
638 {
639   union { double2 t; reg128d r; } x_in;
640   x_in.t = x;
641   union { double2 t; reg128d r; } ret;
642   ret.r = Sleef_exp2d2_u10_intrin(x_in.r);
643   return ret.t;
644 }
645 #endif
646 
647 
Sleef_exp10f4_u10(float4 x)648 _CL_ALWAYSINLINE float4 Sleef_exp10f4_u10(float4 x)
649 {
650   union { float4 t; reg128f r; } x_in;
651   x_in.t = x;
652   union { float4 t; reg128f r; } ret;
653   ret.r = Sleef_exp10f4_u10_intrin(x_in.r);
654   return ret.t;
655 }
656 
657 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
658 
Sleef_exp10d2_u10(double2 x)659 _CL_ALWAYSINLINE double2 Sleef_exp10d2_u10(double2 x)
660 {
661   union { double2 t; reg128d r; } x_in;
662   x_in.t = x;
663   union { double2 t; reg128d r; } ret;
664   ret.r = Sleef_exp10d2_u10_intrin(x_in.r);
665   return ret.t;
666 }
667 #endif
668 
669 
Sleef_expm1f4_u10(float4 x)670 _CL_ALWAYSINLINE float4 Sleef_expm1f4_u10(float4 x)
671 {
672   union { float4 t; reg128f r; } x_in;
673   x_in.t = x;
674   union { float4 t; reg128f r; } ret;
675   ret.r = Sleef_expm1f4_u10_intrin(x_in.r);
676   return ret.t;
677 }
678 
679 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
680 
Sleef_expm1d2_u10(double2 x)681 _CL_ALWAYSINLINE double2 Sleef_expm1d2_u10(double2 x)
682 {
683   union { double2 t; reg128d r; } x_in;
684   x_in.t = x;
685   union { double2 t; reg128d r; } ret;
686   ret.r = Sleef_expm1d2_u10_intrin(x_in.r);
687   return ret.t;
688 }
689 #endif
690 
691 
Sleef_log10f4_u10(float4 x)692 _CL_ALWAYSINLINE float4 Sleef_log10f4_u10(float4 x)
693 {
694   union { float4 t; reg128f r; } x_in;
695   x_in.t = x;
696   union { float4 t; reg128f r; } ret;
697   ret.r = Sleef_log10f4_u10_intrin(x_in.r);
698   return ret.t;
699 }
700 
701 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
702 
Sleef_log10d2_u10(double2 x)703 _CL_ALWAYSINLINE double2 Sleef_log10d2_u10(double2 x)
704 {
705   union { double2 t; reg128d r; } x_in;
706   x_in.t = x;
707   union { double2 t; reg128d r; } ret;
708   ret.r = Sleef_log10d2_u10_intrin(x_in.r);
709   return ret.t;
710 }
711 #endif
712 
713 
Sleef_log1pf4_u10(float4 x)714 _CL_ALWAYSINLINE float4 Sleef_log1pf4_u10(float4 x)
715 {
716   union { float4 t; reg128f r; } x_in;
717   x_in.t = x;
718   union { float4 t; reg128f r; } ret;
719   ret.r = Sleef_log1pf4_u10_intrin(x_in.r);
720   return ret.t;
721 }
722 
723 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
724 
Sleef_log1pd2_u10(double2 x)725 _CL_ALWAYSINLINE double2 Sleef_log1pd2_u10(double2 x)
726 {
727   union { double2 t; reg128d r; } x_in;
728   x_in.t = x;
729   union { double2 t; reg128d r; } ret;
730   ret.r = Sleef_log1pd2_u10_intrin(x_in.r);
731   return ret.t;
732 }
733 #endif
734 
735 
Sleef_sinpif4_u05(float4 x)736 _CL_ALWAYSINLINE float4 Sleef_sinpif4_u05(float4 x)
737 {
738   union { float4 t; reg128f r; } x_in;
739   x_in.t = x;
740   union { float4 t; reg128f r; } ret;
741   ret.r = Sleef_sinpif4_u05_intrin(x_in.r);
742   return ret.t;
743 }
744 
745 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
746 
Sleef_sinpid2_u05(double2 x)747 _CL_ALWAYSINLINE double2 Sleef_sinpid2_u05(double2 x)
748 {
749   union { double2 t; reg128d r; } x_in;
750   x_in.t = x;
751   union { double2 t; reg128d r; } ret;
752   ret.r = Sleef_sinpid2_u05_intrin(x_in.r);
753   return ret.t;
754 }
755 #endif
756 
757 
Sleef_cospif4_u05(float4 x)758 _CL_ALWAYSINLINE float4 Sleef_cospif4_u05(float4 x)
759 {
760   union { float4 t; reg128f r; } x_in;
761   x_in.t = x;
762   union { float4 t; reg128f r; } ret;
763   ret.r = Sleef_cospif4_u05_intrin(x_in.r);
764   return ret.t;
765 }
766 
767 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
768 
Sleef_cospid2_u05(double2 x)769 _CL_ALWAYSINLINE double2 Sleef_cospid2_u05(double2 x)
770 {
771   union { double2 t; reg128d r; } x_in;
772   x_in.t = x;
773   union { double2 t; reg128d r; } ret;
774   ret.r = Sleef_cospid2_u05_intrin(x_in.r);
775   return ret.t;
776 }
777 #endif
778 
779 
Sleef_fmaf4(float4 x,float4 y,float4 z)780 _CL_ALWAYSINLINE float4 Sleef_fmaf4(float4 x, float4 y, float4 z)
781 {
782   union { float4 t; reg128f r; } x_in;
783   x_in.t = x;
784   union { float4 t; reg128f r; } y_in;
785   y_in.t = y;
786   union { float4 t; reg128f r; } z_in;
787   z_in.t = z;
788   union { float4 t; reg128f r; } ret;
789   ret.r = Sleef_fmaf4_intrin(x_in.r, y_in.r, z_in.r);
790   return ret.t;
791 }
792 
793 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
794 
Sleef_fmad2(double2 x,double2 y,double2 z)795 _CL_ALWAYSINLINE double2 Sleef_fmad2(double2 x, double2 y, double2 z)
796 {
797   union { double2 t; reg128d r; } x_in;
798   x_in.t = x;
799   union { double2 t; reg128d r; } y_in;
800   y_in.t = y;
801   union { double2 t; reg128d r; } z_in;
802   z_in.t = z;
803   union { double2 t; reg128d r; } ret;
804   ret.r = Sleef_fmad2_intrin(x_in.r, y_in.r, z_in.r);
805   return ret.t;
806 }
807 #endif
808 
809 
Sleef_sqrtf4_u05(float4 x)810 _CL_ALWAYSINLINE float4 Sleef_sqrtf4_u05(float4 x)
811 {
812   union { float4 t; reg128f r; } x_in;
813   x_in.t = x;
814   union { float4 t; reg128f r; } ret;
815   ret.r = Sleef_sqrtf4_u05_intrin(x_in.r);
816   return ret.t;
817 }
818 
819 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
820 
Sleef_sqrtd2_u05(double2 x)821 _CL_ALWAYSINLINE double2 Sleef_sqrtd2_u05(double2 x)
822 {
823   union { double2 t; reg128d r; } x_in;
824   x_in.t = x;
825   union { double2 t; reg128d r; } ret;
826   ret.r = Sleef_sqrtd2_u05_intrin(x_in.r);
827   return ret.t;
828 }
829 #endif
830 
831 
Sleef_hypotf4_u05(float4 x,float4 y)832 _CL_ALWAYSINLINE float4 Sleef_hypotf4_u05(float4 x, float4 y)
833 {
834   union { float4 t; reg128f r; } x_in;
835   x_in.t = x;
836   union { float4 t; reg128f r; } y_in;
837   y_in.t = y;
838   union { float4 t; reg128f r; } ret;
839   ret.r = Sleef_hypotf4_u05_intrin(x_in.r, y_in.r);
840   return ret.t;
841 }
842 
Sleef_hypotf4_u35(float4 x,float4 y)843 _CL_ALWAYSINLINE float4 Sleef_hypotf4_u35(float4 x, float4 y)
844 {
845   union { float4 t; reg128f r; } x_in;
846   x_in.t = x;
847   union { float4 t; reg128f r; } y_in;
848   y_in.t = y;
849   union { float4 t; reg128f r; } ret;
850   ret.r = Sleef_hypotf4_u35_intrin(x_in.r, y_in.r);
851   return ret.t;
852 }
853 
854 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
855 
Sleef_hypotd2_u05(double2 x,double2 y)856 _CL_ALWAYSINLINE double2 Sleef_hypotd2_u05(double2 x, double2 y)
857 {
858   union { double2 t; reg128d r; } x_in;
859   x_in.t = x;
860   union { double2 t; reg128d r; } y_in;
861   y_in.t = y;
862   union { double2 t; reg128d r; } ret;
863   ret.r = Sleef_hypotd2_u05_intrin(x_in.r, y_in.r);
864   return ret.t;
865 }
866 
Sleef_hypotd2_u35(double2 x,double2 y)867 _CL_ALWAYSINLINE double2 Sleef_hypotd2_u35(double2 x, double2 y)
868 {
869   union { double2 t; reg128d r; } x_in;
870   x_in.t = x;
871   union { double2 t; reg128d r; } y_in;
872   y_in.t = y;
873   union { double2 t; reg128d r; } ret;
874   ret.r = Sleef_hypotd2_u35_intrin(x_in.r, y_in.r);
875   return ret.t;
876 }
877 #endif
878 
879 
Sleef_fabsf4(float4 x)880 _CL_ALWAYSINLINE float4 Sleef_fabsf4(float4 x)
881 {
882   union { float4 t; reg128f r; } x_in;
883   x_in.t = x;
884   union { float4 t; reg128f r; } ret;
885   ret.r = Sleef_fabsf4_intrin(x_in.r);
886   return ret.t;
887 }
888 
889 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
890 
Sleef_fabsd2(double2 x)891 _CL_ALWAYSINLINE double2 Sleef_fabsd2(double2 x)
892 {
893   union { double2 t; reg128d r; } x_in;
894   x_in.t = x;
895   union { double2 t; reg128d r; } ret;
896   ret.r = Sleef_fabsd2_intrin(x_in.r);
897   return ret.t;
898 }
899 #endif
900 
901 
Sleef_copysignf4(float4 x,float4 y)902 _CL_ALWAYSINLINE float4 Sleef_copysignf4(float4 x, float4 y)
903 {
904   union { float4 t; reg128f r; } x_in;
905   x_in.t = x;
906   union { float4 t; reg128f r; } y_in;
907   y_in.t = y;
908   union { float4 t; reg128f r; } ret;
909   ret.r = Sleef_copysignf4_intrin(x_in.r, y_in.r);
910   return ret.t;
911 }
912 
913 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
914 
Sleef_copysignd2(double2 x,double2 y)915 _CL_ALWAYSINLINE double2 Sleef_copysignd2(double2 x, double2 y)
916 {
917   union { double2 t; reg128d r; } x_in;
918   x_in.t = x;
919   union { double2 t; reg128d r; } y_in;
920   y_in.t = y;
921   union { double2 t; reg128d r; } ret;
922   ret.r = Sleef_copysignd2_intrin(x_in.r, y_in.r);
923   return ret.t;
924 }
925 #endif
926 
927 
Sleef_fmaxf4(float4 x,float4 y)928 _CL_ALWAYSINLINE float4 Sleef_fmaxf4(float4 x, float4 y)
929 {
930   union { float4 t; reg128f r; } x_in;
931   x_in.t = x;
932   union { float4 t; reg128f r; } y_in;
933   y_in.t = y;
934   union { float4 t; reg128f r; } ret;
935   ret.r = Sleef_fmaxf4_intrin(x_in.r, y_in.r);
936   return ret.t;
937 }
938 
939 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
940 
Sleef_fmaxd2(double2 x,double2 y)941 _CL_ALWAYSINLINE double2 Sleef_fmaxd2(double2 x, double2 y)
942 {
943   union { double2 t; reg128d r; } x_in;
944   x_in.t = x;
945   union { double2 t; reg128d r; } y_in;
946   y_in.t = y;
947   union { double2 t; reg128d r; } ret;
948   ret.r = Sleef_fmaxd2_intrin(x_in.r, y_in.r);
949   return ret.t;
950 }
951 #endif
952 
953 
Sleef_fminf4(float4 x,float4 y)954 _CL_ALWAYSINLINE float4 Sleef_fminf4(float4 x, float4 y)
955 {
956   union { float4 t; reg128f r; } x_in;
957   x_in.t = x;
958   union { float4 t; reg128f r; } y_in;
959   y_in.t = y;
960   union { float4 t; reg128f r; } ret;
961   ret.r = Sleef_fminf4_intrin(x_in.r, y_in.r);
962   return ret.t;
963 }
964 
965 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
966 
Sleef_fmind2(double2 x,double2 y)967 _CL_ALWAYSINLINE double2 Sleef_fmind2(double2 x, double2 y)
968 {
969   union { double2 t; reg128d r; } x_in;
970   x_in.t = x;
971   union { double2 t; reg128d r; } y_in;
972   y_in.t = y;
973   union { double2 t; reg128d r; } ret;
974   ret.r = Sleef_fmind2_intrin(x_in.r, y_in.r);
975   return ret.t;
976 }
977 #endif
978 
979 
Sleef_fdimf4(float4 x,float4 y)980 _CL_ALWAYSINLINE float4 Sleef_fdimf4(float4 x, float4 y)
981 {
982   union { float4 t; reg128f r; } x_in;
983   x_in.t = x;
984   union { float4 t; reg128f r; } y_in;
985   y_in.t = y;
986   union { float4 t; reg128f r; } ret;
987   ret.r = Sleef_fdimf4_intrin(x_in.r, y_in.r);
988   return ret.t;
989 }
990 
991 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
992 
Sleef_fdimd2(double2 x,double2 y)993 _CL_ALWAYSINLINE double2 Sleef_fdimd2(double2 x, double2 y)
994 {
995   union { double2 t; reg128d r; } x_in;
996   x_in.t = x;
997   union { double2 t; reg128d r; } y_in;
998   y_in.t = y;
999   union { double2 t; reg128d r; } ret;
1000   ret.r = Sleef_fdimd2_intrin(x_in.r, y_in.r);
1001   return ret.t;
1002 }
1003 #endif
1004 
1005 
Sleef_truncf4(float4 x)1006 _CL_ALWAYSINLINE float4 Sleef_truncf4(float4 x)
1007 {
1008   union { float4 t; reg128f r; } x_in;
1009   x_in.t = x;
1010   union { float4 t; reg128f r; } ret;
1011   ret.r = Sleef_truncf4_intrin(x_in.r);
1012   return ret.t;
1013 }
1014 
1015 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1016 
Sleef_truncd2(double2 x)1017 _CL_ALWAYSINLINE double2 Sleef_truncd2(double2 x)
1018 {
1019   union { double2 t; reg128d r; } x_in;
1020   x_in.t = x;
1021   union { double2 t; reg128d r; } ret;
1022   ret.r = Sleef_truncd2_intrin(x_in.r);
1023   return ret.t;
1024 }
1025 #endif
1026 
1027 
Sleef_floorf4(float4 x)1028 _CL_ALWAYSINLINE float4 Sleef_floorf4(float4 x)
1029 {
1030   union { float4 t; reg128f r; } x_in;
1031   x_in.t = x;
1032   union { float4 t; reg128f r; } ret;
1033   ret.r = Sleef_floorf4_intrin(x_in.r);
1034   return ret.t;
1035 }
1036 
1037 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1038 
Sleef_floord2(double2 x)1039 _CL_ALWAYSINLINE double2 Sleef_floord2(double2 x)
1040 {
1041   union { double2 t; reg128d r; } x_in;
1042   x_in.t = x;
1043   union { double2 t; reg128d r; } ret;
1044   ret.r = Sleef_floord2_intrin(x_in.r);
1045   return ret.t;
1046 }
1047 #endif
1048 
1049 
Sleef_ceilf4(float4 x)1050 _CL_ALWAYSINLINE float4 Sleef_ceilf4(float4 x)
1051 {
1052   union { float4 t; reg128f r; } x_in;
1053   x_in.t = x;
1054   union { float4 t; reg128f r; } ret;
1055   ret.r = Sleef_ceilf4_intrin(x_in.r);
1056   return ret.t;
1057 }
1058 
1059 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1060 
Sleef_ceild2(double2 x)1061 _CL_ALWAYSINLINE double2 Sleef_ceild2(double2 x)
1062 {
1063   union { double2 t; reg128d r; } x_in;
1064   x_in.t = x;
1065   union { double2 t; reg128d r; } ret;
1066   ret.r = Sleef_ceild2_intrin(x_in.r);
1067   return ret.t;
1068 }
1069 #endif
1070 
1071 
Sleef_roundf4(float4 x)1072 _CL_ALWAYSINLINE float4 Sleef_roundf4(float4 x)
1073 {
1074   union { float4 t; reg128f r; } x_in;
1075   x_in.t = x;
1076   union { float4 t; reg128f r; } ret;
1077   ret.r = Sleef_roundf4_intrin(x_in.r);
1078   return ret.t;
1079 }
1080 
1081 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1082 
Sleef_roundd2(double2 x)1083 _CL_ALWAYSINLINE double2 Sleef_roundd2(double2 x)
1084 {
1085   union { double2 t; reg128d r; } x_in;
1086   x_in.t = x;
1087   union { double2 t; reg128d r; } ret;
1088   ret.r = Sleef_roundd2_intrin(x_in.r);
1089   return ret.t;
1090 }
1091 #endif
1092 
1093 
Sleef_rintf4(float4 x)1094 _CL_ALWAYSINLINE float4 Sleef_rintf4(float4 x)
1095 {
1096   union { float4 t; reg128f r; } x_in;
1097   x_in.t = x;
1098   union { float4 t; reg128f r; } ret;
1099   ret.r = Sleef_rintf4_intrin(x_in.r);
1100   return ret.t;
1101 }
1102 
1103 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1104 
Sleef_rintd2(double2 x)1105 _CL_ALWAYSINLINE double2 Sleef_rintd2(double2 x)
1106 {
1107   union { double2 t; reg128d r; } x_in;
1108   x_in.t = x;
1109   union { double2 t; reg128d r; } ret;
1110   ret.r = Sleef_rintd2_intrin(x_in.r);
1111   return ret.t;
1112 }
1113 #endif
1114 
1115 
Sleef_nextafterf4(float4 x,float4 y)1116 _CL_ALWAYSINLINE float4 Sleef_nextafterf4(float4 x, float4 y)
1117 {
1118   union { float4 t; reg128f r; } x_in;
1119   x_in.t = x;
1120   union { float4 t; reg128f r; } y_in;
1121   y_in.t = y;
1122   union { float4 t; reg128f r; } ret;
1123   ret.r = Sleef_nextafterf4_intrin(x_in.r, y_in.r);
1124   return ret.t;
1125 }
1126 
1127 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1128 
Sleef_nextafterd2(double2 x,double2 y)1129 _CL_ALWAYSINLINE double2 Sleef_nextafterd2(double2 x, double2 y)
1130 {
1131   union { double2 t; reg128d r; } x_in;
1132   x_in.t = x;
1133   union { double2 t; reg128d r; } y_in;
1134   y_in.t = y;
1135   union { double2 t; reg128d r; } ret;
1136   ret.r = Sleef_nextafterd2_intrin(x_in.r, y_in.r);
1137   return ret.t;
1138 }
1139 #endif
1140 
1141 
Sleef_fmodf4(float4 x,float4 y)1142 _CL_ALWAYSINLINE float4 Sleef_fmodf4(float4 x, float4 y)
1143 {
1144   union { float4 t; reg128f r; } x_in;
1145   x_in.t = x;
1146   union { float4 t; reg128f r; } y_in;
1147   y_in.t = y;
1148   union { float4 t; reg128f r; } ret;
1149   ret.r = Sleef_fmodf4_intrin(x_in.r, y_in.r);
1150   return ret.t;
1151 }
1152 
1153 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1154 
Sleef_fmodd2(double2 x,double2 y)1155 _CL_ALWAYSINLINE double2 Sleef_fmodd2(double2 x, double2 y)
1156 {
1157   union { double2 t; reg128d r; } x_in;
1158   x_in.t = x;
1159   union { double2 t; reg128d r; } y_in;
1160   y_in.t = y;
1161   union { double2 t; reg128d r; } ret;
1162   ret.r = Sleef_fmodd2_intrin(x_in.r, y_in.r);
1163   return ret.t;
1164 }
1165 #endif
1166 
1167 
Sleef_lgammaf4_u10(float4 x)1168 _CL_ALWAYSINLINE float4 Sleef_lgammaf4_u10(float4 x)
1169 {
1170   union { float4 t; reg128f r; } x_in;
1171   x_in.t = x;
1172   union { float4 t; reg128f r; } ret;
1173   ret.r = Sleef_lgammaf4_u10_intrin(x_in.r);
1174   return ret.t;
1175 }
1176 
1177 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1178 
Sleef_lgammad2_u10(double2 x)1179 _CL_ALWAYSINLINE double2 Sleef_lgammad2_u10(double2 x)
1180 {
1181   union { double2 t; reg128d r; } x_in;
1182   x_in.t = x;
1183   union { double2 t; reg128d r; } ret;
1184   ret.r = Sleef_lgammad2_u10_intrin(x_in.r);
1185   return ret.t;
1186 }
1187 #endif
1188 
1189 
Sleef_lgamma_rf4_u10(float4 x)1190 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_lgamma_rf4_u10(float4 x)
1191 {
1192   union { float4 t; reg128f r; } x_in;
1193   x_in.t = x;
1194   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1195   ret.r = Sleef_lgamma_rf4_u10_intrin(x_in.r);
1196   return ret.t;
1197 }
1198 
1199 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1200 
Sleef_lgamma_rd2_u10(double2 x)1201 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_lgamma_rd2_u10(double2 x)
1202 {
1203   union { double2 t; reg128d r; } x_in;
1204   x_in.t = x;
1205   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1206   ret.r = Sleef_lgamma_rd2_u10_intrin(x_in.r);
1207   return ret.t;
1208 }
1209 #endif
1210 
1211 
Sleef_tgammaf4_u10(float4 x)1212 _CL_ALWAYSINLINE float4 Sleef_tgammaf4_u10(float4 x)
1213 {
1214   union { float4 t; reg128f r; } x_in;
1215   x_in.t = x;
1216   union { float4 t; reg128f r; } ret;
1217   ret.r = Sleef_tgammaf4_u10_intrin(x_in.r);
1218   return ret.t;
1219 }
1220 
1221 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1222 
Sleef_tgammad2_u10(double2 x)1223 _CL_ALWAYSINLINE double2 Sleef_tgammad2_u10(double2 x)
1224 {
1225   union { double2 t; reg128d r; } x_in;
1226   x_in.t = x;
1227   union { double2 t; reg128d r; } ret;
1228   ret.r = Sleef_tgammad2_u10_intrin(x_in.r);
1229   return ret.t;
1230 }
1231 #endif
1232 
1233 
Sleef_erff4_u10(float4 x)1234 _CL_ALWAYSINLINE float4 Sleef_erff4_u10(float4 x)
1235 {
1236   union { float4 t; reg128f r; } x_in;
1237   x_in.t = x;
1238   union { float4 t; reg128f r; } ret;
1239   ret.r = Sleef_erff4_u10_intrin(x_in.r);
1240   return ret.t;
1241 }
1242 
1243 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1244 
Sleef_erfd2_u10(double2 x)1245 _CL_ALWAYSINLINE double2 Sleef_erfd2_u10(double2 x)
1246 {
1247   union { double2 t; reg128d r; } x_in;
1248   x_in.t = x;
1249   union { double2 t; reg128d r; } ret;
1250   ret.r = Sleef_erfd2_u10_intrin(x_in.r);
1251   return ret.t;
1252 }
1253 #endif
1254 
1255 
Sleef_erfcf4_u15(float4 x)1256 _CL_ALWAYSINLINE float4 Sleef_erfcf4_u15(float4 x)
1257 {
1258   union { float4 t; reg128f r; } x_in;
1259   x_in.t = x;
1260   union { float4 t; reg128f r; } ret;
1261   ret.r = Sleef_erfcf4_u15_intrin(x_in.r);
1262   return ret.t;
1263 }
1264 
1265 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1266 
Sleef_erfcd2_u15(double2 x)1267 _CL_ALWAYSINLINE double2 Sleef_erfcd2_u15(double2 x)
1268 {
1269   union { double2 t; reg128d r; } x_in;
1270   x_in.t = x;
1271   union { double2 t; reg128d r; } ret;
1272   ret.r = Sleef_erfcd2_u15_intrin(x_in.r);
1273   return ret.t;
1274 }
1275 #endif
1276 
1277 
Sleef_frfrexpf4(float4 x)1278 _CL_ALWAYSINLINE float4 Sleef_frfrexpf4(float4 x)
1279 {
1280   union { float4 t; reg128f r; } x_in;
1281   x_in.t = x;
1282   union { float4 t; reg128f r; } ret;
1283   ret.r = Sleef_frfrexpf4_intrin(x_in.r);
1284   return ret.t;
1285 }
1286 
1287 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1288 
Sleef_frfrexpd2(double2 x)1289 _CL_ALWAYSINLINE double2 Sleef_frfrexpd2(double2 x)
1290 {
1291   union { double2 t; reg128d r; } x_in;
1292   x_in.t = x;
1293   union { double2 t; reg128d r; } ret;
1294   ret.r = Sleef_frfrexpd2_intrin(x_in.r);
1295   return ret.t;
1296 }
1297 #endif
1298 
1299 
Sleef_sincosf4_u10(float4 x)1300 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincosf4_u10(float4 x)
1301 {
1302   union { float4 t; reg128f r; } x_in;
1303   x_in.t = x;
1304   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1305   ret.r = Sleef_sincosf4_u10_intrin(x_in.r);
1306   return ret.t;
1307 }
1308 
Sleef_sincosf4_u35(float4 x)1309 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincosf4_u35(float4 x)
1310 {
1311   union { float4 t; reg128f r; } x_in;
1312   x_in.t = x;
1313   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1314   ret.r = Sleef_sincosf4_u35_intrin(x_in.r);
1315   return ret.t;
1316 }
1317 
1318 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1319 
Sleef_sincosd2_u10(double2 x)1320 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincosd2_u10(double2 x)
1321 {
1322   union { double2 t; reg128d r; } x_in;
1323   x_in.t = x;
1324   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1325   ret.r = Sleef_sincosd2_u10_intrin(x_in.r);
1326   return ret.t;
1327 }
1328 
Sleef_sincosd2_u35(double2 x)1329 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincosd2_u35(double2 x)
1330 {
1331   union { double2 t; reg128d r; } x_in;
1332   x_in.t = x;
1333   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1334   ret.r = Sleef_sincosd2_u35_intrin(x_in.r);
1335   return ret.t;
1336 }
1337 #endif
1338 
1339 
Sleef_sincospif4_u05(float4 x)1340 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincospif4_u05(float4 x)
1341 {
1342   union { float4 t; reg128f r; } x_in;
1343   x_in.t = x;
1344   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1345   ret.r = Sleef_sincospif4_u05_intrin(x_in.r);
1346   return ret.t;
1347 }
1348 
Sleef_sincospif4_u35(float4 x)1349 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincospif4_u35(float4 x)
1350 {
1351   union { float4 t; reg128f r; } x_in;
1352   x_in.t = x;
1353   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1354   ret.r = Sleef_sincospif4_u35_intrin(x_in.r);
1355   return ret.t;
1356 }
1357 
1358 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1359 
Sleef_sincospid2_u05(double2 x)1360 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincospid2_u05(double2 x)
1361 {
1362   union { double2 t; reg128d r; } x_in;
1363   x_in.t = x;
1364   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1365   ret.r = Sleef_sincospid2_u05_intrin(x_in.r);
1366   return ret.t;
1367 }
1368 
Sleef_sincospid2_u35(double2 x)1369 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincospid2_u35(double2 x)
1370 {
1371   union { double2 t; reg128d r; } x_in;
1372   x_in.t = x;
1373   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1374   ret.r = Sleef_sincospid2_u35_intrin(x_in.r);
1375   return ret.t;
1376 }
1377 #endif
1378 
1379 
Sleef_modff4(float4 x)1380 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_modff4(float4 x)
1381 {
1382   union { float4 t; reg128f r; } x_in;
1383   x_in.t = x;
1384   union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1385   ret.r = Sleef_modff4_intrin(x_in.r);
1386   return ret.t;
1387 }
1388 
1389 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1390 
Sleef_modfd2(double2 x)1391 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_modfd2(double2 x)
1392 {
1393   union { double2 t; reg128d r; } x_in;
1394   x_in.t = x;
1395   union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1396   ret.r = Sleef_modfd2_intrin(x_in.r);
1397   return ret.t;
1398 }
1399 #endif
1400 
1401 
Sleef_ldexpf4(float4 x,int4 k)1402 _CL_ALWAYSINLINE float4 Sleef_ldexpf4(float4 x, int4 k)
1403 {
1404   union { float4 t; reg128f r; } x_in;
1405   x_in.t = x;
1406   union { int4 t; reg128i r; } k_in;
1407   k_in.t = k;
1408   union { float4 t; reg128f r; } ret;
1409   ret.r = Sleef_ldexpf4_intrin(x_in.r, k_in.r);
1410   return ret.t;
1411 }
1412 
1413 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1414 
1415 #ifdef  SLEEF_VINT_IS_VLONG
Sleef_ldexpd2_long(double2 x,long2 k)1416 _CL_ALWAYSINLINE double2 Sleef_ldexpd2_long(double2 x, long2 k)
1417 {
1418   union { double2 t; reg128d r; } x_in;
1419   x_in.t = x;
1420   union { long2 t; reg128i r; } k_in;
1421   k_in.t = k;
1422   union { double2 t; reg128d r; } ret;
1423   ret.r = Sleef_ldexpd2_intrin(x_in.r, k_in.r);
1424   return ret.t;
1425 }
1426 #else
1427 
Sleef_ldexpd2(double2 x,int2 k)1428 _CL_ALWAYSINLINE double2 Sleef_ldexpd2(double2 x, int2 k)
1429 {
1430   union { double2 t; reg128d r; } x_in;
1431   x_in.t = x;
1432   union { int2 t; reg64i r; } k_in;
1433   k_in.t = k;
1434   union { double2 t; reg128d r; } ret;
1435   ret.r = Sleef_ldexpd2_intrin(x_in.r, k_in.r);
1436   return ret.t;
1437 }
1438 
1439 #endif
1440 
1441 #endif
1442 
1443 
Sleef_expfrexpf4(float4 x)1444 _CL_ALWAYSINLINE int4 Sleef_expfrexpf4(float4 x)
1445 {
1446   union { float4 t; reg128f r; } x_in;
1447   x_in.t = x;
1448   union { int4 t; reg128i r; } ret;
1449   ret.r = Sleef_expfrexpf4_intrin(x_in.r);
1450   return ret.t;
1451 }
1452 
1453 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1454 
Sleef_expfrexpd2_long(double2 x)1455 _CL_ALWAYSINLINE long2 Sleef_expfrexpd2_long(double2 x)
1456 {
1457   union { double2 t; reg128d r; } x_in;
1458   x_in.t = x;
1459   union { long2 t; reg128i r; } ret;
1460   ret.r = Sleef_expfrexpd2_intrin(x_in.r);
1461   return ret.t;
1462 }
1463 #endif
1464 
1465 
Sleef_ilogbf4(float4 x)1466 _CL_ALWAYSINLINE int4 Sleef_ilogbf4(float4 x)
1467 {
1468   union { float4 t; reg128f r; } x_in;
1469   x_in.t = x;
1470   union { int4 t; reg128i r; } ret;
1471   ret.r = Sleef_ilogbf4_intrin(x_in.r);
1472   return ret.t;
1473 }
1474 
1475 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1476 
1477 #ifdef  SLEEF_VINT_IS_VLONG
1478 
Sleef_ilogbd2_long(double2 x)1479 _CL_ALWAYSINLINE long2 Sleef_ilogbd2_long(double2 x)
1480 {
1481   union { double2 t; reg128d r; } x_in;
1482   x_in.t = x;
1483   union { long2 t; reg128i r; } ret;
1484   ret.r = Sleef_ilogbd2_intrin(x_in.r);
1485   return ret.t;
1486 }
1487 
1488 #else
1489 
Sleef_ilogbd2(double2 x)1490 _CL_ALWAYSINLINE int2 Sleef_ilogbd2(double2 x)
1491 {
1492   union { double2 t; reg128d r; } x_in;
1493   x_in.t = x;
1494   union { int2 t; reg64i r; } ret;
1495   ret.r = Sleef_ilogbd2_intrin(x_in.r);
1496   return ret.t;
1497 }
1498 
1499 #endif
1500 
1501 #endif
1502 
1503 #endif
1504 
1505 
1506 
1507 #ifdef SLEEF_VEC_256_AVAILABLE
1508 
Sleef_sinf8_u10(float8 x)1509 _CL_ALWAYSINLINE float8 Sleef_sinf8_u10(float8 x)
1510 {
1511   union { float8 t; reg256f r; } x_in;
1512   x_in.t = x;
1513   union { float8 t; reg256f r; } ret;
1514   ret.r = Sleef_sinf8_u10_intrin(x_in.r);
1515   return ret.t;
1516 }
1517 
Sleef_sinf8_u35(float8 x)1518 _CL_ALWAYSINLINE float8 Sleef_sinf8_u35(float8 x)
1519 {
1520   union { float8 t; reg256f r; } x_in;
1521   x_in.t = x;
1522   union { float8 t; reg256f r; } ret;
1523   ret.r = Sleef_sinf8_u35_intrin(x_in.r);
1524   return ret.t;
1525 }
1526 
1527 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1528 
Sleef_sind4_u10(double4 x)1529 _CL_ALWAYSINLINE double4 Sleef_sind4_u10(double4 x)
1530 {
1531   union { double4 t; reg256d r; } x_in;
1532   x_in.t = x;
1533   union { double4 t; reg256d r; } ret;
1534   ret.r = Sleef_sind4_u10_intrin(x_in.r);
1535   return ret.t;
1536 }
1537 
Sleef_sind4_u35(double4 x)1538 _CL_ALWAYSINLINE double4 Sleef_sind4_u35(double4 x)
1539 {
1540   union { double4 t; reg256d r; } x_in;
1541   x_in.t = x;
1542   union { double4 t; reg256d r; } ret;
1543   ret.r = Sleef_sind4_u35_intrin(x_in.r);
1544   return ret.t;
1545 }
1546 #endif
1547 
1548 
Sleef_cosf8_u10(float8 x)1549 _CL_ALWAYSINLINE float8 Sleef_cosf8_u10(float8 x)
1550 {
1551   union { float8 t; reg256f r; } x_in;
1552   x_in.t = x;
1553   union { float8 t; reg256f r; } ret;
1554   ret.r = Sleef_cosf8_u10_intrin(x_in.r);
1555   return ret.t;
1556 }
1557 
Sleef_cosf8_u35(float8 x)1558 _CL_ALWAYSINLINE float8 Sleef_cosf8_u35(float8 x)
1559 {
1560   union { float8 t; reg256f r; } x_in;
1561   x_in.t = x;
1562   union { float8 t; reg256f r; } ret;
1563   ret.r = Sleef_cosf8_u35_intrin(x_in.r);
1564   return ret.t;
1565 }
1566 
1567 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1568 
Sleef_cosd4_u10(double4 x)1569 _CL_ALWAYSINLINE double4 Sleef_cosd4_u10(double4 x)
1570 {
1571   union { double4 t; reg256d r; } x_in;
1572   x_in.t = x;
1573   union { double4 t; reg256d r; } ret;
1574   ret.r = Sleef_cosd4_u10_intrin(x_in.r);
1575   return ret.t;
1576 }
1577 
Sleef_cosd4_u35(double4 x)1578 _CL_ALWAYSINLINE double4 Sleef_cosd4_u35(double4 x)
1579 {
1580   union { double4 t; reg256d r; } x_in;
1581   x_in.t = x;
1582   union { double4 t; reg256d r; } ret;
1583   ret.r = Sleef_cosd4_u35_intrin(x_in.r);
1584   return ret.t;
1585 }
1586 #endif
1587 
1588 
Sleef_tanf8_u10(float8 x)1589 _CL_ALWAYSINLINE float8 Sleef_tanf8_u10(float8 x)
1590 {
1591   union { float8 t; reg256f r; } x_in;
1592   x_in.t = x;
1593   union { float8 t; reg256f r; } ret;
1594   ret.r = Sleef_tanf8_u10_intrin(x_in.r);
1595   return ret.t;
1596 }
1597 
Sleef_tanf8_u35(float8 x)1598 _CL_ALWAYSINLINE float8 Sleef_tanf8_u35(float8 x)
1599 {
1600   union { float8 t; reg256f r; } x_in;
1601   x_in.t = x;
1602   union { float8 t; reg256f r; } ret;
1603   ret.r = Sleef_tanf8_u35_intrin(x_in.r);
1604   return ret.t;
1605 }
1606 
1607 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1608 
Sleef_tand4_u10(double4 x)1609 _CL_ALWAYSINLINE double4 Sleef_tand4_u10(double4 x)
1610 {
1611   union { double4 t; reg256d r; } x_in;
1612   x_in.t = x;
1613   union { double4 t; reg256d r; } ret;
1614   ret.r = Sleef_tand4_u10_intrin(x_in.r);
1615   return ret.t;
1616 }
1617 
Sleef_tand4_u35(double4 x)1618 _CL_ALWAYSINLINE double4 Sleef_tand4_u35(double4 x)
1619 {
1620   union { double4 t; reg256d r; } x_in;
1621   x_in.t = x;
1622   union { double4 t; reg256d r; } ret;
1623   ret.r = Sleef_tand4_u35_intrin(x_in.r);
1624   return ret.t;
1625 }
1626 #endif
1627 
1628 
Sleef_asinf8_u10(float8 x)1629 _CL_ALWAYSINLINE float8 Sleef_asinf8_u10(float8 x)
1630 {
1631   union { float8 t; reg256f r; } x_in;
1632   x_in.t = x;
1633   union { float8 t; reg256f r; } ret;
1634   ret.r = Sleef_asinf8_u10_intrin(x_in.r);
1635   return ret.t;
1636 }
1637 
Sleef_asinf8_u35(float8 x)1638 _CL_ALWAYSINLINE float8 Sleef_asinf8_u35(float8 x)
1639 {
1640   union { float8 t; reg256f r; } x_in;
1641   x_in.t = x;
1642   union { float8 t; reg256f r; } ret;
1643   ret.r = Sleef_asinf8_u35_intrin(x_in.r);
1644   return ret.t;
1645 }
1646 
1647 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1648 
Sleef_asind4_u10(double4 x)1649 _CL_ALWAYSINLINE double4 Sleef_asind4_u10(double4 x)
1650 {
1651   union { double4 t; reg256d r; } x_in;
1652   x_in.t = x;
1653   union { double4 t; reg256d r; } ret;
1654   ret.r = Sleef_asind4_u10_intrin(x_in.r);
1655   return ret.t;
1656 }
1657 
Sleef_asind4_u35(double4 x)1658 _CL_ALWAYSINLINE double4 Sleef_asind4_u35(double4 x)
1659 {
1660   union { double4 t; reg256d r; } x_in;
1661   x_in.t = x;
1662   union { double4 t; reg256d r; } ret;
1663   ret.r = Sleef_asind4_u35_intrin(x_in.r);
1664   return ret.t;
1665 }
1666 #endif
1667 
1668 
Sleef_acosf8_u10(float8 x)1669 _CL_ALWAYSINLINE float8 Sleef_acosf8_u10(float8 x)
1670 {
1671   union { float8 t; reg256f r; } x_in;
1672   x_in.t = x;
1673   union { float8 t; reg256f r; } ret;
1674   ret.r = Sleef_acosf8_u10_intrin(x_in.r);
1675   return ret.t;
1676 }
1677 
Sleef_acosf8_u35(float8 x)1678 _CL_ALWAYSINLINE float8 Sleef_acosf8_u35(float8 x)
1679 {
1680   union { float8 t; reg256f r; } x_in;
1681   x_in.t = x;
1682   union { float8 t; reg256f r; } ret;
1683   ret.r = Sleef_acosf8_u35_intrin(x_in.r);
1684   return ret.t;
1685 }
1686 
1687 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1688 
Sleef_acosd4_u10(double4 x)1689 _CL_ALWAYSINLINE double4 Sleef_acosd4_u10(double4 x)
1690 {
1691   union { double4 t; reg256d r; } x_in;
1692   x_in.t = x;
1693   union { double4 t; reg256d r; } ret;
1694   ret.r = Sleef_acosd4_u10_intrin(x_in.r);
1695   return ret.t;
1696 }
1697 
Sleef_acosd4_u35(double4 x)1698 _CL_ALWAYSINLINE double4 Sleef_acosd4_u35(double4 x)
1699 {
1700   union { double4 t; reg256d r; } x_in;
1701   x_in.t = x;
1702   union { double4 t; reg256d r; } ret;
1703   ret.r = Sleef_acosd4_u35_intrin(x_in.r);
1704   return ret.t;
1705 }
1706 #endif
1707 
1708 
Sleef_atanf8_u10(float8 x)1709 _CL_ALWAYSINLINE float8 Sleef_atanf8_u10(float8 x)
1710 {
1711   union { float8 t; reg256f r; } x_in;
1712   x_in.t = x;
1713   union { float8 t; reg256f r; } ret;
1714   ret.r = Sleef_atanf8_u10_intrin(x_in.r);
1715   return ret.t;
1716 }
1717 
Sleef_atanf8_u35(float8 x)1718 _CL_ALWAYSINLINE float8 Sleef_atanf8_u35(float8 x)
1719 {
1720   union { float8 t; reg256f r; } x_in;
1721   x_in.t = x;
1722   union { float8 t; reg256f r; } ret;
1723   ret.r = Sleef_atanf8_u35_intrin(x_in.r);
1724   return ret.t;
1725 }
1726 
1727 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1728 
Sleef_atand4_u10(double4 x)1729 _CL_ALWAYSINLINE double4 Sleef_atand4_u10(double4 x)
1730 {
1731   union { double4 t; reg256d r; } x_in;
1732   x_in.t = x;
1733   union { double4 t; reg256d r; } ret;
1734   ret.r = Sleef_atand4_u10_intrin(x_in.r);
1735   return ret.t;
1736 }
1737 
Sleef_atand4_u35(double4 x)1738 _CL_ALWAYSINLINE double4 Sleef_atand4_u35(double4 x)
1739 {
1740   union { double4 t; reg256d r; } x_in;
1741   x_in.t = x;
1742   union { double4 t; reg256d r; } ret;
1743   ret.r = Sleef_atand4_u35_intrin(x_in.r);
1744   return ret.t;
1745 }
1746 #endif
1747 
1748 
Sleef_atan2f8_u10(float8 x,float8 y)1749 _CL_ALWAYSINLINE float8 Sleef_atan2f8_u10(float8 x, float8 y)
1750 {
1751   union { float8 t; reg256f r; } x_in;
1752   x_in.t = x;
1753   union { float8 t; reg256f r; } y_in;
1754   y_in.t = y;
1755   union { float8 t; reg256f r; } ret;
1756   ret.r = Sleef_atan2f8_u10_intrin(x_in.r, y_in.r);
1757   return ret.t;
1758 }
1759 
Sleef_atan2f8_u35(float8 x,float8 y)1760 _CL_ALWAYSINLINE float8 Sleef_atan2f8_u35(float8 x, float8 y)
1761 {
1762   union { float8 t; reg256f r; } x_in;
1763   x_in.t = x;
1764   union { float8 t; reg256f r; } y_in;
1765   y_in.t = y;
1766   union { float8 t; reg256f r; } ret;
1767   ret.r = Sleef_atan2f8_u35_intrin(x_in.r, y_in.r);
1768   return ret.t;
1769 }
1770 
1771 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1772 
Sleef_atan2d4_u10(double4 x,double4 y)1773 _CL_ALWAYSINLINE double4 Sleef_atan2d4_u10(double4 x, double4 y)
1774 {
1775   union { double4 t; reg256d r; } x_in;
1776   x_in.t = x;
1777   union { double4 t; reg256d r; } y_in;
1778   y_in.t = y;
1779   union { double4 t; reg256d r; } ret;
1780   ret.r = Sleef_atan2d4_u10_intrin(x_in.r, y_in.r);
1781   return ret.t;
1782 }
1783 
Sleef_atan2d4_u35(double4 x,double4 y)1784 _CL_ALWAYSINLINE double4 Sleef_atan2d4_u35(double4 x, double4 y)
1785 {
1786   union { double4 t; reg256d r; } x_in;
1787   x_in.t = x;
1788   union { double4 t; reg256d r; } y_in;
1789   y_in.t = y;
1790   union { double4 t; reg256d r; } ret;
1791   ret.r = Sleef_atan2d4_u35_intrin(x_in.r, y_in.r);
1792   return ret.t;
1793 }
1794 #endif
1795 
1796 
Sleef_cbrtf8_u10(float8 x)1797 _CL_ALWAYSINLINE float8 Sleef_cbrtf8_u10(float8 x)
1798 {
1799   union { float8 t; reg256f r; } x_in;
1800   x_in.t = x;
1801   union { float8 t; reg256f r; } ret;
1802   ret.r = Sleef_cbrtf8_u10_intrin(x_in.r);
1803   return ret.t;
1804 }
1805 
Sleef_cbrtf8_u35(float8 x)1806 _CL_ALWAYSINLINE float8 Sleef_cbrtf8_u35(float8 x)
1807 {
1808   union { float8 t; reg256f r; } x_in;
1809   x_in.t = x;
1810   union { float8 t; reg256f r; } ret;
1811   ret.r = Sleef_cbrtf8_u35_intrin(x_in.r);
1812   return ret.t;
1813 }
1814 
1815 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1816 
Sleef_cbrtd4_u10(double4 x)1817 _CL_ALWAYSINLINE double4 Sleef_cbrtd4_u10(double4 x)
1818 {
1819   union { double4 t; reg256d r; } x_in;
1820   x_in.t = x;
1821   union { double4 t; reg256d r; } ret;
1822   ret.r = Sleef_cbrtd4_u10_intrin(x_in.r);
1823   return ret.t;
1824 }
1825 
Sleef_cbrtd4_u35(double4 x)1826 _CL_ALWAYSINLINE double4 Sleef_cbrtd4_u35(double4 x)
1827 {
1828   union { double4 t; reg256d r; } x_in;
1829   x_in.t = x;
1830   union { double4 t; reg256d r; } ret;
1831   ret.r = Sleef_cbrtd4_u35_intrin(x_in.r);
1832   return ret.t;
1833 }
1834 #endif
1835 
1836 
Sleef_logf8_u10(float8 x)1837 _CL_ALWAYSINLINE float8 Sleef_logf8_u10(float8 x)
1838 {
1839   union { float8 t; reg256f r; } x_in;
1840   x_in.t = x;
1841   union { float8 t; reg256f r; } ret;
1842   ret.r = Sleef_logf8_u10_intrin(x_in.r);
1843   return ret.t;
1844 }
1845 
Sleef_logf8_u35(float8 x)1846 _CL_ALWAYSINLINE float8 Sleef_logf8_u35(float8 x)
1847 {
1848   union { float8 t; reg256f r; } x_in;
1849   x_in.t = x;
1850   union { float8 t; reg256f r; } ret;
1851   ret.r = Sleef_logf8_u35_intrin(x_in.r);
1852   return ret.t;
1853 }
1854 
1855 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1856 
Sleef_logd4_u10(double4 x)1857 _CL_ALWAYSINLINE double4 Sleef_logd4_u10(double4 x)
1858 {
1859   union { double4 t; reg256d r; } x_in;
1860   x_in.t = x;
1861   union { double4 t; reg256d r; } ret;
1862   ret.r = Sleef_logd4_u10_intrin(x_in.r);
1863   return ret.t;
1864 }
1865 
Sleef_logd4_u35(double4 x)1866 _CL_ALWAYSINLINE double4 Sleef_logd4_u35(double4 x)
1867 {
1868   union { double4 t; reg256d r; } x_in;
1869   x_in.t = x;
1870   union { double4 t; reg256d r; } ret;
1871   ret.r = Sleef_logd4_u35_intrin(x_in.r);
1872   return ret.t;
1873 }
1874 #endif
1875 
1876 
Sleef_expf8_u10(float8 x)1877 _CL_ALWAYSINLINE float8 Sleef_expf8_u10(float8 x)
1878 {
1879   union { float8 t; reg256f r; } x_in;
1880   x_in.t = x;
1881   union { float8 t; reg256f r; } ret;
1882   ret.r = Sleef_expf8_u10_intrin(x_in.r);
1883   return ret.t;
1884 }
1885 
1886 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1887 
Sleef_expd4_u10(double4 x)1888 _CL_ALWAYSINLINE double4 Sleef_expd4_u10(double4 x)
1889 {
1890   union { double4 t; reg256d r; } x_in;
1891   x_in.t = x;
1892   union { double4 t; reg256d r; } ret;
1893   ret.r = Sleef_expd4_u10_intrin(x_in.r);
1894   return ret.t;
1895 }
1896 #endif
1897 
1898 
Sleef_powf8_u10(float8 x,float8 y)1899 _CL_ALWAYSINLINE float8 Sleef_powf8_u10(float8 x, float8 y)
1900 {
1901   union { float8 t; reg256f r; } x_in;
1902   x_in.t = x;
1903   union { float8 t; reg256f r; } y_in;
1904   y_in.t = y;
1905   union { float8 t; reg256f r; } ret;
1906   ret.r = Sleef_powf8_u10_intrin(x_in.r, y_in.r);
1907   return ret.t;
1908 }
1909 
1910 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1911 
Sleef_powd4_u10(double4 x,double4 y)1912 _CL_ALWAYSINLINE double4 Sleef_powd4_u10(double4 x, double4 y)
1913 {
1914   union { double4 t; reg256d r; } x_in;
1915   x_in.t = x;
1916   union { double4 t; reg256d r; } y_in;
1917   y_in.t = y;
1918   union { double4 t; reg256d r; } ret;
1919   ret.r = Sleef_powd4_u10_intrin(x_in.r, y_in.r);
1920   return ret.t;
1921 }
1922 #endif
1923 
1924 
Sleef_pownf8_u10(float8 x,int8 y)1925 _CL_ALWAYSINLINE float8 Sleef_pownf8_u10(float8 x, int8 y)
1926 {
1927   union { float8 t; reg256f r; } x_in;
1928   x_in.t = x;
1929   union { int8 t; reg256i r; } y_in;
1930   y_in.t = y;
1931   union { float8 t; reg256f r; } ret;
1932   ret.r = Sleef_pownf8_u10_intrin(x_in.r, y_in.r);
1933   return ret.t;
1934 }
1935 
1936 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1937 
Sleef_pownd4_u10(double4 x,int4 y)1938 _CL_ALWAYSINLINE double4 Sleef_pownd4_u10(double4 x, int4 y)
1939 {
1940   union { double4 t; reg256d r; } x_in;
1941   x_in.t = x;
1942   union { int4 t; reg128i r; } y_in;
1943   y_in.t = y;
1944   union { double4 t; reg256d r; } ret;
1945   ret.r = Sleef_pownd4_u10_intrin(x_in.r, y_in.r);
1946   return ret.t;
1947 }
1948 #endif
1949 
1950 
Sleef_powrf8_u10(float8 x,float8 y)1951 _CL_ALWAYSINLINE float8 Sleef_powrf8_u10(float8 x, float8 y)
1952 {
1953   union { float8 t; reg256f r; } x_in;
1954   x_in.t = x;
1955   union { float8 t; reg256f r; } y_in;
1956   y_in.t = y;
1957   union { float8 t; reg256f r; } ret;
1958   ret.r = Sleef_powrf8_u10_intrin(x_in.r, y_in.r);
1959   return ret.t;
1960 }
1961 
1962 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1963 
Sleef_powrd4_u10(double4 x,double4 y)1964 _CL_ALWAYSINLINE double4 Sleef_powrd4_u10(double4 x, double4 y)
1965 {
1966   union { double4 t; reg256d r; } x_in;
1967   x_in.t = x;
1968   union { double4 t; reg256d r; } y_in;
1969   y_in.t = y;
1970   union { double4 t; reg256d r; } ret;
1971   ret.r = Sleef_powrd4_u10_intrin(x_in.r, y_in.r);
1972   return ret.t;
1973 }
1974 #endif
1975 
1976 
Sleef_sinhf8_u10(float8 x)1977 _CL_ALWAYSINLINE float8 Sleef_sinhf8_u10(float8 x)
1978 {
1979   union { float8 t; reg256f r; } x_in;
1980   x_in.t = x;
1981   union { float8 t; reg256f r; } ret;
1982   ret.r = Sleef_sinhf8_u10_intrin(x_in.r);
1983   return ret.t;
1984 }
1985 
1986 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1987 
Sleef_sinhd4_u10(double4 x)1988 _CL_ALWAYSINLINE double4 Sleef_sinhd4_u10(double4 x)
1989 {
1990   union { double4 t; reg256d r; } x_in;
1991   x_in.t = x;
1992   union { double4 t; reg256d r; } ret;
1993   ret.r = Sleef_sinhd4_u10_intrin(x_in.r);
1994   return ret.t;
1995 }
1996 #endif
1997 
1998 
Sleef_coshf8_u10(float8 x)1999 _CL_ALWAYSINLINE float8 Sleef_coshf8_u10(float8 x)
2000 {
2001   union { float8 t; reg256f r; } x_in;
2002   x_in.t = x;
2003   union { float8 t; reg256f r; } ret;
2004   ret.r = Sleef_coshf8_u10_intrin(x_in.r);
2005   return ret.t;
2006 }
2007 
2008 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2009 
Sleef_coshd4_u10(double4 x)2010 _CL_ALWAYSINLINE double4 Sleef_coshd4_u10(double4 x)
2011 {
2012   union { double4 t; reg256d r; } x_in;
2013   x_in.t = x;
2014   union { double4 t; reg256d r; } ret;
2015   ret.r = Sleef_coshd4_u10_intrin(x_in.r);
2016   return ret.t;
2017 }
2018 #endif
2019 
2020 
Sleef_tanhf8_u10(float8 x)2021 _CL_ALWAYSINLINE float8 Sleef_tanhf8_u10(float8 x)
2022 {
2023   union { float8 t; reg256f r; } x_in;
2024   x_in.t = x;
2025   union { float8 t; reg256f r; } ret;
2026   ret.r = Sleef_tanhf8_u10_intrin(x_in.r);
2027   return ret.t;
2028 }
2029 
2030 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2031 
Sleef_tanhd4_u10(double4 x)2032 _CL_ALWAYSINLINE double4 Sleef_tanhd4_u10(double4 x)
2033 {
2034   union { double4 t; reg256d r; } x_in;
2035   x_in.t = x;
2036   union { double4 t; reg256d r; } ret;
2037   ret.r = Sleef_tanhd4_u10_intrin(x_in.r);
2038   return ret.t;
2039 }
2040 #endif
2041 
2042 
Sleef_asinhf8_u10(float8 x)2043 _CL_ALWAYSINLINE float8 Sleef_asinhf8_u10(float8 x)
2044 {
2045   union { float8 t; reg256f r; } x_in;
2046   x_in.t = x;
2047   union { float8 t; reg256f r; } ret;
2048   ret.r = Sleef_asinhf8_u10_intrin(x_in.r);
2049   return ret.t;
2050 }
2051 
2052 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2053 
Sleef_asinhd4_u10(double4 x)2054 _CL_ALWAYSINLINE double4 Sleef_asinhd4_u10(double4 x)
2055 {
2056   union { double4 t; reg256d r; } x_in;
2057   x_in.t = x;
2058   union { double4 t; reg256d r; } ret;
2059   ret.r = Sleef_asinhd4_u10_intrin(x_in.r);
2060   return ret.t;
2061 }
2062 #endif
2063 
2064 
Sleef_acoshf8_u10(float8 x)2065 _CL_ALWAYSINLINE float8 Sleef_acoshf8_u10(float8 x)
2066 {
2067   union { float8 t; reg256f r; } x_in;
2068   x_in.t = x;
2069   union { float8 t; reg256f r; } ret;
2070   ret.r = Sleef_acoshf8_u10_intrin(x_in.r);
2071   return ret.t;
2072 }
2073 
2074 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2075 
Sleef_acoshd4_u10(double4 x)2076 _CL_ALWAYSINLINE double4 Sleef_acoshd4_u10(double4 x)
2077 {
2078   union { double4 t; reg256d r; } x_in;
2079   x_in.t = x;
2080   union { double4 t; reg256d r; } ret;
2081   ret.r = Sleef_acoshd4_u10_intrin(x_in.r);
2082   return ret.t;
2083 }
2084 #endif
2085 
2086 
Sleef_atanhf8_u10(float8 x)2087 _CL_ALWAYSINLINE float8 Sleef_atanhf8_u10(float8 x)
2088 {
2089   union { float8 t; reg256f r; } x_in;
2090   x_in.t = x;
2091   union { float8 t; reg256f r; } ret;
2092   ret.r = Sleef_atanhf8_u10_intrin(x_in.r);
2093   return ret.t;
2094 }
2095 
2096 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2097 
Sleef_atanhd4_u10(double4 x)2098 _CL_ALWAYSINLINE double4 Sleef_atanhd4_u10(double4 x)
2099 {
2100   union { double4 t; reg256d r; } x_in;
2101   x_in.t = x;
2102   union { double4 t; reg256d r; } ret;
2103   ret.r = Sleef_atanhd4_u10_intrin(x_in.r);
2104   return ret.t;
2105 }
2106 #endif
2107 
2108 
Sleef_exp2f8_u10(float8 x)2109 _CL_ALWAYSINLINE float8 Sleef_exp2f8_u10(float8 x)
2110 {
2111   union { float8 t; reg256f r; } x_in;
2112   x_in.t = x;
2113   union { float8 t; reg256f r; } ret;
2114   ret.r = Sleef_exp2f8_u10_intrin(x_in.r);
2115   return ret.t;
2116 }
2117 
2118 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2119 
Sleef_exp2d4_u10(double4 x)2120 _CL_ALWAYSINLINE double4 Sleef_exp2d4_u10(double4 x)
2121 {
2122   union { double4 t; reg256d r; } x_in;
2123   x_in.t = x;
2124   union { double4 t; reg256d r; } ret;
2125   ret.r = Sleef_exp2d4_u10_intrin(x_in.r);
2126   return ret.t;
2127 }
2128 #endif
2129 
2130 
Sleef_exp10f8_u10(float8 x)2131 _CL_ALWAYSINLINE float8 Sleef_exp10f8_u10(float8 x)
2132 {
2133   union { float8 t; reg256f r; } x_in;
2134   x_in.t = x;
2135   union { float8 t; reg256f r; } ret;
2136   ret.r = Sleef_exp10f8_u10_intrin(x_in.r);
2137   return ret.t;
2138 }
2139 
2140 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2141 
Sleef_exp10d4_u10(double4 x)2142 _CL_ALWAYSINLINE double4 Sleef_exp10d4_u10(double4 x)
2143 {
2144   union { double4 t; reg256d r; } x_in;
2145   x_in.t = x;
2146   union { double4 t; reg256d r; } ret;
2147   ret.r = Sleef_exp10d4_u10_intrin(x_in.r);
2148   return ret.t;
2149 }
2150 #endif
2151 
2152 
Sleef_expm1f8_u10(float8 x)2153 _CL_ALWAYSINLINE float8 Sleef_expm1f8_u10(float8 x)
2154 {
2155   union { float8 t; reg256f r; } x_in;
2156   x_in.t = x;
2157   union { float8 t; reg256f r; } ret;
2158   ret.r = Sleef_expm1f8_u10_intrin(x_in.r);
2159   return ret.t;
2160 }
2161 
2162 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2163 
Sleef_expm1d4_u10(double4 x)2164 _CL_ALWAYSINLINE double4 Sleef_expm1d4_u10(double4 x)
2165 {
2166   union { double4 t; reg256d r; } x_in;
2167   x_in.t = x;
2168   union { double4 t; reg256d r; } ret;
2169   ret.r = Sleef_expm1d4_u10_intrin(x_in.r);
2170   return ret.t;
2171 }
2172 #endif
2173 
2174 
Sleef_log10f8_u10(float8 x)2175 _CL_ALWAYSINLINE float8 Sleef_log10f8_u10(float8 x)
2176 {
2177   union { float8 t; reg256f r; } x_in;
2178   x_in.t = x;
2179   union { float8 t; reg256f r; } ret;
2180   ret.r = Sleef_log10f8_u10_intrin(x_in.r);
2181   return ret.t;
2182 }
2183 
2184 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2185 
Sleef_log10d4_u10(double4 x)2186 _CL_ALWAYSINLINE double4 Sleef_log10d4_u10(double4 x)
2187 {
2188   union { double4 t; reg256d r; } x_in;
2189   x_in.t = x;
2190   union { double4 t; reg256d r; } ret;
2191   ret.r = Sleef_log10d4_u10_intrin(x_in.r);
2192   return ret.t;
2193 }
2194 #endif
2195 
2196 
Sleef_log1pf8_u10(float8 x)2197 _CL_ALWAYSINLINE float8 Sleef_log1pf8_u10(float8 x)
2198 {
2199   union { float8 t; reg256f r; } x_in;
2200   x_in.t = x;
2201   union { float8 t; reg256f r; } ret;
2202   ret.r = Sleef_log1pf8_u10_intrin(x_in.r);
2203   return ret.t;
2204 }
2205 
2206 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2207 
Sleef_log1pd4_u10(double4 x)2208 _CL_ALWAYSINLINE double4 Sleef_log1pd4_u10(double4 x)
2209 {
2210   union { double4 t; reg256d r; } x_in;
2211   x_in.t = x;
2212   union { double4 t; reg256d r; } ret;
2213   ret.r = Sleef_log1pd4_u10_intrin(x_in.r);
2214   return ret.t;
2215 }
2216 #endif
2217 
2218 
Sleef_sinpif8_u05(float8 x)2219 _CL_ALWAYSINLINE float8 Sleef_sinpif8_u05(float8 x)
2220 {
2221   union { float8 t; reg256f r; } x_in;
2222   x_in.t = x;
2223   union { float8 t; reg256f r; } ret;
2224   ret.r = Sleef_sinpif8_u05_intrin(x_in.r);
2225   return ret.t;
2226 }
2227 
2228 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2229 
Sleef_sinpid4_u05(double4 x)2230 _CL_ALWAYSINLINE double4 Sleef_sinpid4_u05(double4 x)
2231 {
2232   union { double4 t; reg256d r; } x_in;
2233   x_in.t = x;
2234   union { double4 t; reg256d r; } ret;
2235   ret.r = Sleef_sinpid4_u05_intrin(x_in.r);
2236   return ret.t;
2237 }
2238 #endif
2239 
2240 
Sleef_cospif8_u05(float8 x)2241 _CL_ALWAYSINLINE float8 Sleef_cospif8_u05(float8 x)
2242 {
2243   union { float8 t; reg256f r; } x_in;
2244   x_in.t = x;
2245   union { float8 t; reg256f r; } ret;
2246   ret.r = Sleef_cospif8_u05_intrin(x_in.r);
2247   return ret.t;
2248 }
2249 
2250 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2251 
Sleef_cospid4_u05(double4 x)2252 _CL_ALWAYSINLINE double4 Sleef_cospid4_u05(double4 x)
2253 {
2254   union { double4 t; reg256d r; } x_in;
2255   x_in.t = x;
2256   union { double4 t; reg256d r; } ret;
2257   ret.r = Sleef_cospid4_u05_intrin(x_in.r);
2258   return ret.t;
2259 }
2260 #endif
2261 
2262 
Sleef_fmaf8(float8 x,float8 y,float8 z)2263 _CL_ALWAYSINLINE float8 Sleef_fmaf8(float8 x, float8 y, float8 z)
2264 {
2265   union { float8 t; reg256f r; } x_in;
2266   x_in.t = x;
2267   union { float8 t; reg256f r; } y_in;
2268   y_in.t = y;
2269   union { float8 t; reg256f r; } z_in;
2270   z_in.t = z;
2271   union { float8 t; reg256f r; } ret;
2272   ret.r = Sleef_fmaf8_intrin(x_in.r, y_in.r, z_in.r);
2273   return ret.t;
2274 }
2275 
2276 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2277 
Sleef_fmad4(double4 x,double4 y,double4 z)2278 _CL_ALWAYSINLINE double4 Sleef_fmad4(double4 x, double4 y, double4 z)
2279 {
2280   union { double4 t; reg256d r; } x_in;
2281   x_in.t = x;
2282   union { double4 t; reg256d r; } y_in;
2283   y_in.t = y;
2284   union { double4 t; reg256d r; } z_in;
2285   z_in.t = z;
2286   union { double4 t; reg256d r; } ret;
2287   ret.r = Sleef_fmad4_intrin(x_in.r, y_in.r, z_in.r);
2288   return ret.t;
2289 }
2290 #endif
2291 
2292 
Sleef_sqrtf8_u05(float8 x)2293 _CL_ALWAYSINLINE float8 Sleef_sqrtf8_u05(float8 x)
2294 {
2295   union { float8 t; reg256f r; } x_in;
2296   x_in.t = x;
2297   union { float8 t; reg256f r; } ret;
2298   ret.r = Sleef_sqrtf8_u05_intrin(x_in.r);
2299   return ret.t;
2300 }
2301 
2302 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2303 
Sleef_sqrtd4_u05(double4 x)2304 _CL_ALWAYSINLINE double4 Sleef_sqrtd4_u05(double4 x)
2305 {
2306   union { double4 t; reg256d r; } x_in;
2307   x_in.t = x;
2308   union { double4 t; reg256d r; } ret;
2309   ret.r = Sleef_sqrtd4_u05_intrin(x_in.r);
2310   return ret.t;
2311 }
2312 #endif
2313 
2314 
Sleef_hypotf8_u05(float8 x,float8 y)2315 _CL_ALWAYSINLINE float8 Sleef_hypotf8_u05(float8 x, float8 y)
2316 {
2317   union { float8 t; reg256f r; } x_in;
2318   x_in.t = x;
2319   union { float8 t; reg256f r; } y_in;
2320   y_in.t = y;
2321   union { float8 t; reg256f r; } ret;
2322   ret.r = Sleef_hypotf8_u05_intrin(x_in.r, y_in.r);
2323   return ret.t;
2324 }
2325 
Sleef_hypotf8_u35(float8 x,float8 y)2326 _CL_ALWAYSINLINE float8 Sleef_hypotf8_u35(float8 x, float8 y)
2327 {
2328   union { float8 t; reg256f r; } x_in;
2329   x_in.t = x;
2330   union { float8 t; reg256f r; } y_in;
2331   y_in.t = y;
2332   union { float8 t; reg256f r; } ret;
2333   ret.r = Sleef_hypotf8_u35_intrin(x_in.r, y_in.r);
2334   return ret.t;
2335 }
2336 
2337 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2338 
Sleef_hypotd4_u05(double4 x,double4 y)2339 _CL_ALWAYSINLINE double4 Sleef_hypotd4_u05(double4 x, double4 y)
2340 {
2341   union { double4 t; reg256d r; } x_in;
2342   x_in.t = x;
2343   union { double4 t; reg256d r; } y_in;
2344   y_in.t = y;
2345   union { double4 t; reg256d r; } ret;
2346   ret.r = Sleef_hypotd4_u05_intrin(x_in.r, y_in.r);
2347   return ret.t;
2348 }
2349 
Sleef_hypotd4_u35(double4 x,double4 y)2350 _CL_ALWAYSINLINE double4 Sleef_hypotd4_u35(double4 x, double4 y)
2351 {
2352   union { double4 t; reg256d r; } x_in;
2353   x_in.t = x;
2354   union { double4 t; reg256d r; } y_in;
2355   y_in.t = y;
2356   union { double4 t; reg256d r; } ret;
2357   ret.r = Sleef_hypotd4_u35_intrin(x_in.r, y_in.r);
2358   return ret.t;
2359 }
2360 #endif
2361 
2362 
Sleef_fabsf8(float8 x)2363 _CL_ALWAYSINLINE float8 Sleef_fabsf8(float8 x)
2364 {
2365   union { float8 t; reg256f r; } x_in;
2366   x_in.t = x;
2367   union { float8 t; reg256f r; } ret;
2368   ret.r = Sleef_fabsf8_intrin(x_in.r);
2369   return ret.t;
2370 }
2371 
2372 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2373 
Sleef_fabsd4(double4 x)2374 _CL_ALWAYSINLINE double4 Sleef_fabsd4(double4 x)
2375 {
2376   union { double4 t; reg256d r; } x_in;
2377   x_in.t = x;
2378   union { double4 t; reg256d r; } ret;
2379   ret.r = Sleef_fabsd4_intrin(x_in.r);
2380   return ret.t;
2381 }
2382 #endif
2383 
2384 
Sleef_copysignf8(float8 x,float8 y)2385 _CL_ALWAYSINLINE float8 Sleef_copysignf8(float8 x, float8 y)
2386 {
2387   union { float8 t; reg256f r; } x_in;
2388   x_in.t = x;
2389   union { float8 t; reg256f r; } y_in;
2390   y_in.t = y;
2391   union { float8 t; reg256f r; } ret;
2392   ret.r = Sleef_copysignf8_intrin(x_in.r, y_in.r);
2393   return ret.t;
2394 }
2395 
2396 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2397 
Sleef_copysignd4(double4 x,double4 y)2398 _CL_ALWAYSINLINE double4 Sleef_copysignd4(double4 x, double4 y)
2399 {
2400   union { double4 t; reg256d r; } x_in;
2401   x_in.t = x;
2402   union { double4 t; reg256d r; } y_in;
2403   y_in.t = y;
2404   union { double4 t; reg256d r; } ret;
2405   ret.r = Sleef_copysignd4_intrin(x_in.r, y_in.r);
2406   return ret.t;
2407 }
2408 #endif
2409 
2410 
Sleef_fmaxf8(float8 x,float8 y)2411 _CL_ALWAYSINLINE float8 Sleef_fmaxf8(float8 x, float8 y)
2412 {
2413   union { float8 t; reg256f r; } x_in;
2414   x_in.t = x;
2415   union { float8 t; reg256f r; } y_in;
2416   y_in.t = y;
2417   union { float8 t; reg256f r; } ret;
2418   ret.r = Sleef_fmaxf8_intrin(x_in.r, y_in.r);
2419   return ret.t;
2420 }
2421 
2422 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2423 
Sleef_fmaxd4(double4 x,double4 y)2424 _CL_ALWAYSINLINE double4 Sleef_fmaxd4(double4 x, double4 y)
2425 {
2426   union { double4 t; reg256d r; } x_in;
2427   x_in.t = x;
2428   union { double4 t; reg256d r; } y_in;
2429   y_in.t = y;
2430   union { double4 t; reg256d r; } ret;
2431   ret.r = Sleef_fmaxd4_intrin(x_in.r, y_in.r);
2432   return ret.t;
2433 }
2434 #endif
2435 
2436 
Sleef_fminf8(float8 x,float8 y)2437 _CL_ALWAYSINLINE float8 Sleef_fminf8(float8 x, float8 y)
2438 {
2439   union { float8 t; reg256f r; } x_in;
2440   x_in.t = x;
2441   union { float8 t; reg256f r; } y_in;
2442   y_in.t = y;
2443   union { float8 t; reg256f r; } ret;
2444   ret.r = Sleef_fminf8_intrin(x_in.r, y_in.r);
2445   return ret.t;
2446 }
2447 
2448 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2449 
Sleef_fmind4(double4 x,double4 y)2450 _CL_ALWAYSINLINE double4 Sleef_fmind4(double4 x, double4 y)
2451 {
2452   union { double4 t; reg256d r; } x_in;
2453   x_in.t = x;
2454   union { double4 t; reg256d r; } y_in;
2455   y_in.t = y;
2456   union { double4 t; reg256d r; } ret;
2457   ret.r = Sleef_fmind4_intrin(x_in.r, y_in.r);
2458   return ret.t;
2459 }
2460 #endif
2461 
2462 
Sleef_fdimf8(float8 x,float8 y)2463 _CL_ALWAYSINLINE float8 Sleef_fdimf8(float8 x, float8 y)
2464 {
2465   union { float8 t; reg256f r; } x_in;
2466   x_in.t = x;
2467   union { float8 t; reg256f r; } y_in;
2468   y_in.t = y;
2469   union { float8 t; reg256f r; } ret;
2470   ret.r = Sleef_fdimf8_intrin(x_in.r, y_in.r);
2471   return ret.t;
2472 }
2473 
2474 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2475 
Sleef_fdimd4(double4 x,double4 y)2476 _CL_ALWAYSINLINE double4 Sleef_fdimd4(double4 x, double4 y)
2477 {
2478   union { double4 t; reg256d r; } x_in;
2479   x_in.t = x;
2480   union { double4 t; reg256d r; } y_in;
2481   y_in.t = y;
2482   union { double4 t; reg256d r; } ret;
2483   ret.r = Sleef_fdimd4_intrin(x_in.r, y_in.r);
2484   return ret.t;
2485 }
2486 #endif
2487 
2488 
Sleef_truncf8(float8 x)2489 _CL_ALWAYSINLINE float8 Sleef_truncf8(float8 x)
2490 {
2491   union { float8 t; reg256f r; } x_in;
2492   x_in.t = x;
2493   union { float8 t; reg256f r; } ret;
2494   ret.r = Sleef_truncf8_intrin(x_in.r);
2495   return ret.t;
2496 }
2497 
2498 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2499 
Sleef_truncd4(double4 x)2500 _CL_ALWAYSINLINE double4 Sleef_truncd4(double4 x)
2501 {
2502   union { double4 t; reg256d r; } x_in;
2503   x_in.t = x;
2504   union { double4 t; reg256d r; } ret;
2505   ret.r = Sleef_truncd4_intrin(x_in.r);
2506   return ret.t;
2507 }
2508 #endif
2509 
2510 
Sleef_floorf8(float8 x)2511 _CL_ALWAYSINLINE float8 Sleef_floorf8(float8 x)
2512 {
2513   union { float8 t; reg256f r; } x_in;
2514   x_in.t = x;
2515   union { float8 t; reg256f r; } ret;
2516   ret.r = Sleef_floorf8_intrin(x_in.r);
2517   return ret.t;
2518 }
2519 
2520 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2521 
Sleef_floord4(double4 x)2522 _CL_ALWAYSINLINE double4 Sleef_floord4(double4 x)
2523 {
2524   union { double4 t; reg256d r; } x_in;
2525   x_in.t = x;
2526   union { double4 t; reg256d r; } ret;
2527   ret.r = Sleef_floord4_intrin(x_in.r);
2528   return ret.t;
2529 }
2530 #endif
2531 
2532 
Sleef_ceilf8(float8 x)2533 _CL_ALWAYSINLINE float8 Sleef_ceilf8(float8 x)
2534 {
2535   union { float8 t; reg256f r; } x_in;
2536   x_in.t = x;
2537   union { float8 t; reg256f r; } ret;
2538   ret.r = Sleef_ceilf8_intrin(x_in.r);
2539   return ret.t;
2540 }
2541 
2542 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2543 
Sleef_ceild4(double4 x)2544 _CL_ALWAYSINLINE double4 Sleef_ceild4(double4 x)
2545 {
2546   union { double4 t; reg256d r; } x_in;
2547   x_in.t = x;
2548   union { double4 t; reg256d r; } ret;
2549   ret.r = Sleef_ceild4_intrin(x_in.r);
2550   return ret.t;
2551 }
2552 #endif
2553 
2554 
Sleef_roundf8(float8 x)2555 _CL_ALWAYSINLINE float8 Sleef_roundf8(float8 x)
2556 {
2557   union { float8 t; reg256f r; } x_in;
2558   x_in.t = x;
2559   union { float8 t; reg256f r; } ret;
2560   ret.r = Sleef_roundf8_intrin(x_in.r);
2561   return ret.t;
2562 }
2563 
2564 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2565 
Sleef_roundd4(double4 x)2566 _CL_ALWAYSINLINE double4 Sleef_roundd4(double4 x)
2567 {
2568   union { double4 t; reg256d r; } x_in;
2569   x_in.t = x;
2570   union { double4 t; reg256d r; } ret;
2571   ret.r = Sleef_roundd4_intrin(x_in.r);
2572   return ret.t;
2573 }
2574 #endif
2575 
2576 
Sleef_rintf8(float8 x)2577 _CL_ALWAYSINLINE float8 Sleef_rintf8(float8 x)
2578 {
2579   union { float8 t; reg256f r; } x_in;
2580   x_in.t = x;
2581   union { float8 t; reg256f r; } ret;
2582   ret.r = Sleef_rintf8_intrin(x_in.r);
2583   return ret.t;
2584 }
2585 
2586 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2587 
Sleef_rintd4(double4 x)2588 _CL_ALWAYSINLINE double4 Sleef_rintd4(double4 x)
2589 {
2590   union { double4 t; reg256d r; } x_in;
2591   x_in.t = x;
2592   union { double4 t; reg256d r; } ret;
2593   ret.r = Sleef_rintd4_intrin(x_in.r);
2594   return ret.t;
2595 }
2596 #endif
2597 
2598 
Sleef_nextafterf8(float8 x,float8 y)2599 _CL_ALWAYSINLINE float8 Sleef_nextafterf8(float8 x, float8 y)
2600 {
2601   union { float8 t; reg256f r; } x_in;
2602   x_in.t = x;
2603   union { float8 t; reg256f r; } y_in;
2604   y_in.t = y;
2605   union { float8 t; reg256f r; } ret;
2606   ret.r = Sleef_nextafterf8_intrin(x_in.r, y_in.r);
2607   return ret.t;
2608 }
2609 
2610 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2611 
Sleef_nextafterd4(double4 x,double4 y)2612 _CL_ALWAYSINLINE double4 Sleef_nextafterd4(double4 x, double4 y)
2613 {
2614   union { double4 t; reg256d r; } x_in;
2615   x_in.t = x;
2616   union { double4 t; reg256d r; } y_in;
2617   y_in.t = y;
2618   union { double4 t; reg256d r; } ret;
2619   ret.r = Sleef_nextafterd4_intrin(x_in.r, y_in.r);
2620   return ret.t;
2621 }
2622 #endif
2623 
2624 
Sleef_fmodf8(float8 x,float8 y)2625 _CL_ALWAYSINLINE float8 Sleef_fmodf8(float8 x, float8 y)
2626 {
2627   union { float8 t; reg256f r; } x_in;
2628   x_in.t = x;
2629   union { float8 t; reg256f r; } y_in;
2630   y_in.t = y;
2631   union { float8 t; reg256f r; } ret;
2632   ret.r = Sleef_fmodf8_intrin(x_in.r, y_in.r);
2633   return ret.t;
2634 }
2635 
2636 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2637 
Sleef_fmodd4(double4 x,double4 y)2638 _CL_ALWAYSINLINE double4 Sleef_fmodd4(double4 x, double4 y)
2639 {
2640   union { double4 t; reg256d r; } x_in;
2641   x_in.t = x;
2642   union { double4 t; reg256d r; } y_in;
2643   y_in.t = y;
2644   union { double4 t; reg256d r; } ret;
2645   ret.r = Sleef_fmodd4_intrin(x_in.r, y_in.r);
2646   return ret.t;
2647 }
2648 #endif
2649 
2650 
Sleef_lgammaf8_u10(float8 x)2651 _CL_ALWAYSINLINE float8 Sleef_lgammaf8_u10(float8 x)
2652 {
2653   union { float8 t; reg256f r; } x_in;
2654   x_in.t = x;
2655   union { float8 t; reg256f r; } ret;
2656   ret.r = Sleef_lgammaf8_u10_intrin(x_in.r);
2657   return ret.t;
2658 }
2659 
2660 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2661 
Sleef_lgammad4_u10(double4 x)2662 _CL_ALWAYSINLINE double4 Sleef_lgammad4_u10(double4 x)
2663 {
2664   union { double4 t; reg256d r; } x_in;
2665   x_in.t = x;
2666   union { double4 t; reg256d r; } ret;
2667   ret.r = Sleef_lgammad4_u10_intrin(x_in.r);
2668   return ret.t;
2669 }
2670 #endif
2671 
2672 
Sleef_lgamma_rf8_u10(float8 x)2673 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_lgamma_rf8_u10(float8 x)
2674 {
2675   union { float8 t; reg256f r; } x_in;
2676   x_in.t = x;
2677   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2678   ret.r = Sleef_lgamma_rf8_u10_intrin(x_in.r);
2679   return ret.t;
2680 }
2681 
2682 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2683 
Sleef_lgamma_rd4_u10(double4 x)2684 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_lgamma_rd4_u10(double4 x)
2685 {
2686   union { double4 t; reg256d r; } x_in;
2687   x_in.t = x;
2688   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2689   ret.r = Sleef_lgamma_rd4_u10_intrin(x_in.r);
2690   return ret.t;
2691 }
2692 #endif
2693 
2694 
Sleef_tgammaf8_u10(float8 x)2695 _CL_ALWAYSINLINE float8 Sleef_tgammaf8_u10(float8 x)
2696 {
2697   union { float8 t; reg256f r; } x_in;
2698   x_in.t = x;
2699   union { float8 t; reg256f r; } ret;
2700   ret.r = Sleef_tgammaf8_u10_intrin(x_in.r);
2701   return ret.t;
2702 }
2703 
2704 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2705 
Sleef_tgammad4_u10(double4 x)2706 _CL_ALWAYSINLINE double4 Sleef_tgammad4_u10(double4 x)
2707 {
2708   union { double4 t; reg256d r; } x_in;
2709   x_in.t = x;
2710   union { double4 t; reg256d r; } ret;
2711   ret.r = Sleef_tgammad4_u10_intrin(x_in.r);
2712   return ret.t;
2713 }
2714 #endif
2715 
2716 
Sleef_erff8_u10(float8 x)2717 _CL_ALWAYSINLINE float8 Sleef_erff8_u10(float8 x)
2718 {
2719   union { float8 t; reg256f r; } x_in;
2720   x_in.t = x;
2721   union { float8 t; reg256f r; } ret;
2722   ret.r = Sleef_erff8_u10_intrin(x_in.r);
2723   return ret.t;
2724 }
2725 
2726 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2727 
Sleef_erfd4_u10(double4 x)2728 _CL_ALWAYSINLINE double4 Sleef_erfd4_u10(double4 x)
2729 {
2730   union { double4 t; reg256d r; } x_in;
2731   x_in.t = x;
2732   union { double4 t; reg256d r; } ret;
2733   ret.r = Sleef_erfd4_u10_intrin(x_in.r);
2734   return ret.t;
2735 }
2736 #endif
2737 
2738 
Sleef_erfcf8_u15(float8 x)2739 _CL_ALWAYSINLINE float8 Sleef_erfcf8_u15(float8 x)
2740 {
2741   union { float8 t; reg256f r; } x_in;
2742   x_in.t = x;
2743   union { float8 t; reg256f r; } ret;
2744   ret.r = Sleef_erfcf8_u15_intrin(x_in.r);
2745   return ret.t;
2746 }
2747 
2748 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2749 
Sleef_erfcd4_u15(double4 x)2750 _CL_ALWAYSINLINE double4 Sleef_erfcd4_u15(double4 x)
2751 {
2752   union { double4 t; reg256d r; } x_in;
2753   x_in.t = x;
2754   union { double4 t; reg256d r; } ret;
2755   ret.r = Sleef_erfcd4_u15_intrin(x_in.r);
2756   return ret.t;
2757 }
2758 #endif
2759 
2760 
Sleef_frfrexpf8(float8 x)2761 _CL_ALWAYSINLINE float8 Sleef_frfrexpf8(float8 x)
2762 {
2763   union { float8 t; reg256f r; } x_in;
2764   x_in.t = x;
2765   union { float8 t; reg256f r; } ret;
2766   ret.r = Sleef_frfrexpf8_intrin(x_in.r);
2767   return ret.t;
2768 }
2769 
2770 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2771 
Sleef_frfrexpd4(double4 x)2772 _CL_ALWAYSINLINE double4 Sleef_frfrexpd4(double4 x)
2773 {
2774   union { double4 t; reg256d r; } x_in;
2775   x_in.t = x;
2776   union { double4 t; reg256d r; } ret;
2777   ret.r = Sleef_frfrexpd4_intrin(x_in.r);
2778   return ret.t;
2779 }
2780 #endif
2781 
2782 
Sleef_sincosf8_u10(float8 x)2783 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincosf8_u10(float8 x)
2784 {
2785   union { float8 t; reg256f r; } x_in;
2786   x_in.t = x;
2787   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2788   ret.r = Sleef_sincosf8_u10_intrin(x_in.r);
2789   return ret.t;
2790 }
2791 
Sleef_sincosf8_u35(float8 x)2792 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincosf8_u35(float8 x)
2793 {
2794   union { float8 t; reg256f r; } x_in;
2795   x_in.t = x;
2796   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2797   ret.r = Sleef_sincosf8_u35_intrin(x_in.r);
2798   return ret.t;
2799 }
2800 
2801 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2802 
Sleef_sincosd4_u10(double4 x)2803 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincosd4_u10(double4 x)
2804 {
2805   union { double4 t; reg256d r; } x_in;
2806   x_in.t = x;
2807   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2808   ret.r = Sleef_sincosd4_u10_intrin(x_in.r);
2809   return ret.t;
2810 }
2811 
Sleef_sincosd4_u35(double4 x)2812 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincosd4_u35(double4 x)
2813 {
2814   union { double4 t; reg256d r; } x_in;
2815   x_in.t = x;
2816   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2817   ret.r = Sleef_sincosd4_u35_intrin(x_in.r);
2818   return ret.t;
2819 }
2820 #endif
2821 
2822 
Sleef_sincospif8_u05(float8 x)2823 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincospif8_u05(float8 x)
2824 {
2825   union { float8 t; reg256f r; } x_in;
2826   x_in.t = x;
2827   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2828   ret.r = Sleef_sincospif8_u05_intrin(x_in.r);
2829   return ret.t;
2830 }
2831 
Sleef_sincospif8_u35(float8 x)2832 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincospif8_u35(float8 x)
2833 {
2834   union { float8 t; reg256f r; } x_in;
2835   x_in.t = x;
2836   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2837   ret.r = Sleef_sincospif8_u35_intrin(x_in.r);
2838   return ret.t;
2839 }
2840 
2841 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2842 
Sleef_sincospid4_u05(double4 x)2843 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincospid4_u05(double4 x)
2844 {
2845   union { double4 t; reg256d r; } x_in;
2846   x_in.t = x;
2847   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2848   ret.r = Sleef_sincospid4_u05_intrin(x_in.r);
2849   return ret.t;
2850 }
2851 
Sleef_sincospid4_u35(double4 x)2852 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincospid4_u35(double4 x)
2853 {
2854   union { double4 t; reg256d r; } x_in;
2855   x_in.t = x;
2856   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2857   ret.r = Sleef_sincospid4_u35_intrin(x_in.r);
2858   return ret.t;
2859 }
2860 #endif
2861 
2862 
Sleef_modff8(float8 x)2863 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_modff8(float8 x)
2864 {
2865   union { float8 t; reg256f r; } x_in;
2866   x_in.t = x;
2867   union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2868   ret.r = Sleef_modff8_intrin(x_in.r);
2869   return ret.t;
2870 }
2871 
2872 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2873 
Sleef_modfd4(double4 x)2874 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_modfd4(double4 x)
2875 {
2876   union { double4 t; reg256d r; } x_in;
2877   x_in.t = x;
2878   union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2879   ret.r = Sleef_modfd4_intrin(x_in.r);
2880   return ret.t;
2881 }
2882 #endif
2883 
2884 
Sleef_ldexpf8(float8 x,int8 k)2885 _CL_ALWAYSINLINE float8 Sleef_ldexpf8(float8 x, int8 k)
2886 {
2887   union { float8 t; reg256f r; } x_in;
2888   x_in.t = x;
2889   union { int8 t; reg256i r; } k_in;
2890   k_in.t = k;
2891   union { float8 t; reg256f r; } ret;
2892   ret.r = Sleef_ldexpf8_intrin(x_in.r, k_in.r);
2893   return ret.t;
2894 }
2895 
2896 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2897 
Sleef_ldexpd4(double4 x,int4 k)2898 _CL_ALWAYSINLINE double4 Sleef_ldexpd4(double4 x, int4 k)
2899 {
2900   union { double4 t; reg256d r; } x_in;
2901   x_in.t = x;
2902   union { int4 t; reg128i r; } k_in;
2903   k_in.t = k;
2904   union { double4 t; reg256d r; } ret;
2905   ret.r = Sleef_ldexpd4_intrin(x_in.r, k_in.r);
2906   return ret.t;
2907 }
2908 #endif
2909 
2910 
Sleef_expfrexpf8(float8 x)2911 _CL_ALWAYSINLINE int8 Sleef_expfrexpf8(float8 x)
2912 {
2913   union { float8 t; reg256f r; } x_in;
2914   x_in.t = x;
2915   union { int8 t; reg256i r; } ret;
2916   ret.r = Sleef_expfrexpf8_intrin(x_in.r);
2917   return ret.t;
2918 }
2919 
2920 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2921 
Sleef_expfrexpd4_long(double4 x)2922 _CL_ALWAYSINLINE long4 Sleef_expfrexpd4_long(double4 x)
2923 {
2924   union { double4 t; reg256d r; } x_in;
2925   x_in.t = x;
2926   union { long4 t; reg256i r; } ret;
2927   ret.r = Sleef_expfrexpd4_intrin(x_in.r);
2928   return ret.t;
2929 }
2930 #endif
2931 
2932 
Sleef_ilogbf8(float8 x)2933 _CL_ALWAYSINLINE int8 Sleef_ilogbf8(float8 x)
2934 {
2935   union { float8 t; reg256f r; } x_in;
2936   x_in.t = x;
2937   union { int8 t; reg256i r; } ret;
2938   ret.r = Sleef_ilogbf8_intrin(x_in.r);
2939   return ret.t;
2940 }
2941 
2942 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2943 
Sleef_ilogbd4(double4 x)2944 _CL_ALWAYSINLINE int4 Sleef_ilogbd4(double4 x)
2945 {
2946   union { double4 t; reg256d r; } x_in;
2947   x_in.t = x;
2948   union { int4 t; reg128i r; } ret;
2949   ret.r = Sleef_ilogbd4_intrin(x_in.r);
2950   return ret.t;
2951 }
2952 #endif
2953 
2954 #endif
2955 
2956 
2957 #ifdef SLEEF_VEC_512_AVAILABLE
2958 
Sleef_sinf16_u10(float16 x)2959 _CL_ALWAYSINLINE float16 Sleef_sinf16_u10(float16 x)
2960 {
2961   union { float16 t; reg512f r; } x_in;
2962   x_in.t = x;
2963   union { float16 t; reg512f r; } ret;
2964   ret.r = Sleef_sinf16_u10_intrin(x_in.r);
2965   return ret.t;
2966 }
2967 
Sleef_sinf16_u35(float16 x)2968 _CL_ALWAYSINLINE float16 Sleef_sinf16_u35(float16 x)
2969 {
2970   union { float16 t; reg512f r; } x_in;
2971   x_in.t = x;
2972   union { float16 t; reg512f r; } ret;
2973   ret.r = Sleef_sinf16_u35_intrin(x_in.r);
2974   return ret.t;
2975 }
2976 
2977 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2978 
Sleef_sind8_u10(double8 x)2979 _CL_ALWAYSINLINE double8 Sleef_sind8_u10(double8 x)
2980 {
2981   union { double8 t; reg512d r; } x_in;
2982   x_in.t = x;
2983   union { double8 t; reg512d r; } ret;
2984   ret.r = Sleef_sind8_u10_intrin(x_in.r);
2985   return ret.t;
2986 }
2987 
Sleef_sind8_u35(double8 x)2988 _CL_ALWAYSINLINE double8 Sleef_sind8_u35(double8 x)
2989 {
2990   union { double8 t; reg512d r; } x_in;
2991   x_in.t = x;
2992   union { double8 t; reg512d r; } ret;
2993   ret.r = Sleef_sind8_u35_intrin(x_in.r);
2994   return ret.t;
2995 }
2996 #endif
2997 
2998 
Sleef_cosf16_u10(float16 x)2999 _CL_ALWAYSINLINE float16 Sleef_cosf16_u10(float16 x)
3000 {
3001   union { float16 t; reg512f r; } x_in;
3002   x_in.t = x;
3003   union { float16 t; reg512f r; } ret;
3004   ret.r = Sleef_cosf16_u10_intrin(x_in.r);
3005   return ret.t;
3006 }
3007 
Sleef_cosf16_u35(float16 x)3008 _CL_ALWAYSINLINE float16 Sleef_cosf16_u35(float16 x)
3009 {
3010   union { float16 t; reg512f r; } x_in;
3011   x_in.t = x;
3012   union { float16 t; reg512f r; } ret;
3013   ret.r = Sleef_cosf16_u35_intrin(x_in.r);
3014   return ret.t;
3015 }
3016 
3017 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3018 
Sleef_cosd8_u10(double8 x)3019 _CL_ALWAYSINLINE double8 Sleef_cosd8_u10(double8 x)
3020 {
3021   union { double8 t; reg512d r; } x_in;
3022   x_in.t = x;
3023   union { double8 t; reg512d r; } ret;
3024   ret.r = Sleef_cosd8_u10_intrin(x_in.r);
3025   return ret.t;
3026 }
3027 
Sleef_cosd8_u35(double8 x)3028 _CL_ALWAYSINLINE double8 Sleef_cosd8_u35(double8 x)
3029 {
3030   union { double8 t; reg512d r; } x_in;
3031   x_in.t = x;
3032   union { double8 t; reg512d r; } ret;
3033   ret.r = Sleef_cosd8_u35_intrin(x_in.r);
3034   return ret.t;
3035 }
3036 #endif
3037 
3038 
Sleef_tanf16_u10(float16 x)3039 _CL_ALWAYSINLINE float16 Sleef_tanf16_u10(float16 x)
3040 {
3041   union { float16 t; reg512f r; } x_in;
3042   x_in.t = x;
3043   union { float16 t; reg512f r; } ret;
3044   ret.r = Sleef_tanf16_u10_intrin(x_in.r);
3045   return ret.t;
3046 }
3047 
Sleef_tanf16_u35(float16 x)3048 _CL_ALWAYSINLINE float16 Sleef_tanf16_u35(float16 x)
3049 {
3050   union { float16 t; reg512f r; } x_in;
3051   x_in.t = x;
3052   union { float16 t; reg512f r; } ret;
3053   ret.r = Sleef_tanf16_u35_intrin(x_in.r);
3054   return ret.t;
3055 }
3056 
3057 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3058 
Sleef_tand8_u10(double8 x)3059 _CL_ALWAYSINLINE double8 Sleef_tand8_u10(double8 x)
3060 {
3061   union { double8 t; reg512d r; } x_in;
3062   x_in.t = x;
3063   union { double8 t; reg512d r; } ret;
3064   ret.r = Sleef_tand8_u10_intrin(x_in.r);
3065   return ret.t;
3066 }
3067 
Sleef_tand8_u35(double8 x)3068 _CL_ALWAYSINLINE double8 Sleef_tand8_u35(double8 x)
3069 {
3070   union { double8 t; reg512d r; } x_in;
3071   x_in.t = x;
3072   union { double8 t; reg512d r; } ret;
3073   ret.r = Sleef_tand8_u35_intrin(x_in.r);
3074   return ret.t;
3075 }
3076 #endif
3077 
3078 
Sleef_asinf16_u10(float16 x)3079 _CL_ALWAYSINLINE float16 Sleef_asinf16_u10(float16 x)
3080 {
3081   union { float16 t; reg512f r; } x_in;
3082   x_in.t = x;
3083   union { float16 t; reg512f r; } ret;
3084   ret.r = Sleef_asinf16_u10_intrin(x_in.r);
3085   return ret.t;
3086 }
3087 
Sleef_asinf16_u35(float16 x)3088 _CL_ALWAYSINLINE float16 Sleef_asinf16_u35(float16 x)
3089 {
3090   union { float16 t; reg512f r; } x_in;
3091   x_in.t = x;
3092   union { float16 t; reg512f r; } ret;
3093   ret.r = Sleef_asinf16_u35_intrin(x_in.r);
3094   return ret.t;
3095 }
3096 
3097 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3098 
Sleef_asind8_u10(double8 x)3099 _CL_ALWAYSINLINE double8 Sleef_asind8_u10(double8 x)
3100 {
3101   union { double8 t; reg512d r; } x_in;
3102   x_in.t = x;
3103   union { double8 t; reg512d r; } ret;
3104   ret.r = Sleef_asind8_u10_intrin(x_in.r);
3105   return ret.t;
3106 }
3107 
Sleef_asind8_u35(double8 x)3108 _CL_ALWAYSINLINE double8 Sleef_asind8_u35(double8 x)
3109 {
3110   union { double8 t; reg512d r; } x_in;
3111   x_in.t = x;
3112   union { double8 t; reg512d r; } ret;
3113   ret.r = Sleef_asind8_u35_intrin(x_in.r);
3114   return ret.t;
3115 }
3116 #endif
3117 
3118 
Sleef_acosf16_u10(float16 x)3119 _CL_ALWAYSINLINE float16 Sleef_acosf16_u10(float16 x)
3120 {
3121   union { float16 t; reg512f r; } x_in;
3122   x_in.t = x;
3123   union { float16 t; reg512f r; } ret;
3124   ret.r = Sleef_acosf16_u10_intrin(x_in.r);
3125   return ret.t;
3126 }
3127 
Sleef_acosf16_u35(float16 x)3128 _CL_ALWAYSINLINE float16 Sleef_acosf16_u35(float16 x)
3129 {
3130   union { float16 t; reg512f r; } x_in;
3131   x_in.t = x;
3132   union { float16 t; reg512f r; } ret;
3133   ret.r = Sleef_acosf16_u35_intrin(x_in.r);
3134   return ret.t;
3135 }
3136 
3137 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3138 
Sleef_acosd8_u10(double8 x)3139 _CL_ALWAYSINLINE double8 Sleef_acosd8_u10(double8 x)
3140 {
3141   union { double8 t; reg512d r; } x_in;
3142   x_in.t = x;
3143   union { double8 t; reg512d r; } ret;
3144   ret.r = Sleef_acosd8_u10_intrin(x_in.r);
3145   return ret.t;
3146 }
3147 
Sleef_acosd8_u35(double8 x)3148 _CL_ALWAYSINLINE double8 Sleef_acosd8_u35(double8 x)
3149 {
3150   union { double8 t; reg512d r; } x_in;
3151   x_in.t = x;
3152   union { double8 t; reg512d r; } ret;
3153   ret.r = Sleef_acosd8_u35_intrin(x_in.r);
3154   return ret.t;
3155 }
3156 #endif
3157 
3158 
Sleef_atanf16_u10(float16 x)3159 _CL_ALWAYSINLINE float16 Sleef_atanf16_u10(float16 x)
3160 {
3161   union { float16 t; reg512f r; } x_in;
3162   x_in.t = x;
3163   union { float16 t; reg512f r; } ret;
3164   ret.r = Sleef_atanf16_u10_intrin(x_in.r);
3165   return ret.t;
3166 }
3167 
Sleef_atanf16_u35(float16 x)3168 _CL_ALWAYSINLINE float16 Sleef_atanf16_u35(float16 x)
3169 {
3170   union { float16 t; reg512f r; } x_in;
3171   x_in.t = x;
3172   union { float16 t; reg512f r; } ret;
3173   ret.r = Sleef_atanf16_u35_intrin(x_in.r);
3174   return ret.t;
3175 }
3176 
3177 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3178 
Sleef_atand8_u10(double8 x)3179 _CL_ALWAYSINLINE double8 Sleef_atand8_u10(double8 x)
3180 {
3181   union { double8 t; reg512d r; } x_in;
3182   x_in.t = x;
3183   union { double8 t; reg512d r; } ret;
3184   ret.r = Sleef_atand8_u10_intrin(x_in.r);
3185   return ret.t;
3186 }
3187 
Sleef_atand8_u35(double8 x)3188 _CL_ALWAYSINLINE double8 Sleef_atand8_u35(double8 x)
3189 {
3190   union { double8 t; reg512d r; } x_in;
3191   x_in.t = x;
3192   union { double8 t; reg512d r; } ret;
3193   ret.r = Sleef_atand8_u35_intrin(x_in.r);
3194   return ret.t;
3195 }
3196 #endif
3197 
3198 
Sleef_atan2f16_u10(float16 x,float16 y)3199 _CL_ALWAYSINLINE float16 Sleef_atan2f16_u10(float16 x, float16 y)
3200 {
3201   union { float16 t; reg512f r; } x_in;
3202   x_in.t = x;
3203   union { float16 t; reg512f r; } y_in;
3204   y_in.t = y;
3205   union { float16 t; reg512f r; } ret;
3206   ret.r = Sleef_atan2f16_u10_intrin(x_in.r, y_in.r);
3207   return ret.t;
3208 }
3209 
Sleef_atan2f16_u35(float16 x,float16 y)3210 _CL_ALWAYSINLINE float16 Sleef_atan2f16_u35(float16 x, float16 y)
3211 {
3212   union { float16 t; reg512f r; } x_in;
3213   x_in.t = x;
3214   union { float16 t; reg512f r; } y_in;
3215   y_in.t = y;
3216   union { float16 t; reg512f r; } ret;
3217   ret.r = Sleef_atan2f16_u35_intrin(x_in.r, y_in.r);
3218   return ret.t;
3219 }
3220 
3221 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3222 
Sleef_atan2d8_u10(double8 x,double8 y)3223 _CL_ALWAYSINLINE double8 Sleef_atan2d8_u10(double8 x, double8 y)
3224 {
3225   union { double8 t; reg512d r; } x_in;
3226   x_in.t = x;
3227   union { double8 t; reg512d r; } y_in;
3228   y_in.t = y;
3229   union { double8 t; reg512d r; } ret;
3230   ret.r = Sleef_atan2d8_u10_intrin(x_in.r, y_in.r);
3231   return ret.t;
3232 }
3233 
Sleef_atan2d8_u35(double8 x,double8 y)3234 _CL_ALWAYSINLINE double8 Sleef_atan2d8_u35(double8 x, double8 y)
3235 {
3236   union { double8 t; reg512d r; } x_in;
3237   x_in.t = x;
3238   union { double8 t; reg512d r; } y_in;
3239   y_in.t = y;
3240   union { double8 t; reg512d r; } ret;
3241   ret.r = Sleef_atan2d8_u35_intrin(x_in.r, y_in.r);
3242   return ret.t;
3243 }
3244 #endif
3245 
3246 
Sleef_cbrtf16_u10(float16 x)3247 _CL_ALWAYSINLINE float16 Sleef_cbrtf16_u10(float16 x)
3248 {
3249   union { float16 t; reg512f r; } x_in;
3250   x_in.t = x;
3251   union { float16 t; reg512f r; } ret;
3252   ret.r = Sleef_cbrtf16_u10_intrin(x_in.r);
3253   return ret.t;
3254 }
3255 
Sleef_cbrtf16_u35(float16 x)3256 _CL_ALWAYSINLINE float16 Sleef_cbrtf16_u35(float16 x)
3257 {
3258   union { float16 t; reg512f r; } x_in;
3259   x_in.t = x;
3260   union { float16 t; reg512f r; } ret;
3261   ret.r = Sleef_cbrtf16_u35_intrin(x_in.r);
3262   return ret.t;
3263 }
3264 
3265 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3266 
Sleef_cbrtd8_u10(double8 x)3267 _CL_ALWAYSINLINE double8 Sleef_cbrtd8_u10(double8 x)
3268 {
3269   union { double8 t; reg512d r; } x_in;
3270   x_in.t = x;
3271   union { double8 t; reg512d r; } ret;
3272   ret.r = Sleef_cbrtd8_u10_intrin(x_in.r);
3273   return ret.t;
3274 }
3275 
Sleef_cbrtd8_u35(double8 x)3276 _CL_ALWAYSINLINE double8 Sleef_cbrtd8_u35(double8 x)
3277 {
3278   union { double8 t; reg512d r; } x_in;
3279   x_in.t = x;
3280   union { double8 t; reg512d r; } ret;
3281   ret.r = Sleef_cbrtd8_u35_intrin(x_in.r);
3282   return ret.t;
3283 }
3284 #endif
3285 
3286 
Sleef_logf16_u10(float16 x)3287 _CL_ALWAYSINLINE float16 Sleef_logf16_u10(float16 x)
3288 {
3289   union { float16 t; reg512f r; } x_in;
3290   x_in.t = x;
3291   union { float16 t; reg512f r; } ret;
3292   ret.r = Sleef_logf16_u10_intrin(x_in.r);
3293   return ret.t;
3294 }
3295 
Sleef_logf16_u35(float16 x)3296 _CL_ALWAYSINLINE float16 Sleef_logf16_u35(float16 x)
3297 {
3298   union { float16 t; reg512f r; } x_in;
3299   x_in.t = x;
3300   union { float16 t; reg512f r; } ret;
3301   ret.r = Sleef_logf16_u35_intrin(x_in.r);
3302   return ret.t;
3303 }
3304 
3305 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3306 
Sleef_logd8_u10(double8 x)3307 _CL_ALWAYSINLINE double8 Sleef_logd8_u10(double8 x)
3308 {
3309   union { double8 t; reg512d r; } x_in;
3310   x_in.t = x;
3311   union { double8 t; reg512d r; } ret;
3312   ret.r = Sleef_logd8_u10_intrin(x_in.r);
3313   return ret.t;
3314 }
3315 
Sleef_logd8_u35(double8 x)3316 _CL_ALWAYSINLINE double8 Sleef_logd8_u35(double8 x)
3317 {
3318   union { double8 t; reg512d r; } x_in;
3319   x_in.t = x;
3320   union { double8 t; reg512d r; } ret;
3321   ret.r = Sleef_logd8_u35_intrin(x_in.r);
3322   return ret.t;
3323 }
3324 #endif
3325 
3326 
Sleef_expf16_u10(float16 x)3327 _CL_ALWAYSINLINE float16 Sleef_expf16_u10(float16 x)
3328 {
3329   union { float16 t; reg512f r; } x_in;
3330   x_in.t = x;
3331   union { float16 t; reg512f r; } ret;
3332   ret.r = Sleef_expf16_u10_intrin(x_in.r);
3333   return ret.t;
3334 }
3335 
3336 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3337 
Sleef_expd8_u10(double8 x)3338 _CL_ALWAYSINLINE double8 Sleef_expd8_u10(double8 x)
3339 {
3340   union { double8 t; reg512d r; } x_in;
3341   x_in.t = x;
3342   union { double8 t; reg512d r; } ret;
3343   ret.r = Sleef_expd8_u10_intrin(x_in.r);
3344   return ret.t;
3345 }
3346 #endif
3347 
3348 
Sleef_powf16_u10(float16 x,float16 y)3349 _CL_ALWAYSINLINE float16 Sleef_powf16_u10(float16 x, float16 y)
3350 {
3351   union { float16 t; reg512f r; } x_in;
3352   x_in.t = x;
3353   union { float16 t; reg512f r; } y_in;
3354   y_in.t = y;
3355   union { float16 t; reg512f r; } ret;
3356   ret.r = Sleef_powf16_u10_intrin(x_in.r, y_in.r);
3357   return ret.t;
3358 }
3359 
3360 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3361 
Sleef_powd8_u10(double8 x,double8 y)3362 _CL_ALWAYSINLINE double8 Sleef_powd8_u10(double8 x, double8 y)
3363 {
3364   union { double8 t; reg512d r; } x_in;
3365   x_in.t = x;
3366   union { double8 t; reg512d r; } y_in;
3367   y_in.t = y;
3368   union { double8 t; reg512d r; } ret;
3369   ret.r = Sleef_powd8_u10_intrin(x_in.r, y_in.r);
3370   return ret.t;
3371 }
3372 #endif
3373 
3374 
Sleef_pownf16_u10(float16 x,int16 y)3375 _CL_ALWAYSINLINE float16 Sleef_pownf16_u10(float16 x, int16 y)
3376 {
3377   union { float16 t; reg512f r; } x_in;
3378   x_in.t = x;
3379   union { int16 t; reg512i r; } y_in;
3380   y_in.t = y;
3381   union { float16 t; reg512f r; } ret;
3382   ret.r = Sleef_pownf16_u10_intrin(x_in.r, y_in.r);
3383   return ret.t;
3384 }
3385 
3386 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3387 
Sleef_pownd8_u10(double8 x,int8 y)3388 _CL_ALWAYSINLINE double8 Sleef_pownd8_u10(double8 x, int8 y)
3389 {
3390   union { double8 t; reg512d r; } x_in;
3391   x_in.t = x;
3392   union { int8 t; reg256i r; } y_in;
3393   y_in.t = y;
3394   union { double8 t; reg512d r; } ret;
3395   ret.r = Sleef_pownd8_u10_intrin(x_in.r, y_in.r);
3396   return ret.t;
3397 }
3398 #endif
3399 
3400 
Sleef_powrf16_u10(float16 x,float16 y)3401 _CL_ALWAYSINLINE float16 Sleef_powrf16_u10(float16 x, float16 y)
3402 {
3403   union { float16 t; reg512f r; } x_in;
3404   x_in.t = x;
3405   union { float16 t; reg512f r; } y_in;
3406   y_in.t = y;
3407   union { float16 t; reg512f r; } ret;
3408   ret.r = Sleef_powrf16_u10_intrin(x_in.r, y_in.r);
3409   return ret.t;
3410 }
3411 
3412 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3413 
Sleef_powrd8_u10(double8 x,double8 y)3414 _CL_ALWAYSINLINE double8 Sleef_powrd8_u10(double8 x, double8 y)
3415 {
3416   union { double8 t; reg512d r; } x_in;
3417   x_in.t = x;
3418   union { double8 t; reg512d r; } y_in;
3419   y_in.t = y;
3420   union { double8 t; reg512d r; } ret;
3421   ret.r = Sleef_powrd8_u10_intrin(x_in.r, y_in.r);
3422   return ret.t;
3423 }
3424 #endif
3425 
3426 
Sleef_sinhf16_u10(float16 x)3427 _CL_ALWAYSINLINE float16 Sleef_sinhf16_u10(float16 x)
3428 {
3429   union { float16 t; reg512f r; } x_in;
3430   x_in.t = x;
3431   union { float16 t; reg512f r; } ret;
3432   ret.r = Sleef_sinhf16_u10_intrin(x_in.r);
3433   return ret.t;
3434 }
3435 
3436 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3437 
Sleef_sinhd8_u10(double8 x)3438 _CL_ALWAYSINLINE double8 Sleef_sinhd8_u10(double8 x)
3439 {
3440   union { double8 t; reg512d r; } x_in;
3441   x_in.t = x;
3442   union { double8 t; reg512d r; } ret;
3443   ret.r = Sleef_sinhd8_u10_intrin(x_in.r);
3444   return ret.t;
3445 }
3446 #endif
3447 
3448 
Sleef_coshf16_u10(float16 x)3449 _CL_ALWAYSINLINE float16 Sleef_coshf16_u10(float16 x)
3450 {
3451   union { float16 t; reg512f r; } x_in;
3452   x_in.t = x;
3453   union { float16 t; reg512f r; } ret;
3454   ret.r = Sleef_coshf16_u10_intrin(x_in.r);
3455   return ret.t;
3456 }
3457 
3458 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3459 
Sleef_coshd8_u10(double8 x)3460 _CL_ALWAYSINLINE double8 Sleef_coshd8_u10(double8 x)
3461 {
3462   union { double8 t; reg512d r; } x_in;
3463   x_in.t = x;
3464   union { double8 t; reg512d r; } ret;
3465   ret.r = Sleef_coshd8_u10_intrin(x_in.r);
3466   return ret.t;
3467 }
3468 #endif
3469 
3470 
Sleef_tanhf16_u10(float16 x)3471 _CL_ALWAYSINLINE float16 Sleef_tanhf16_u10(float16 x)
3472 {
3473   union { float16 t; reg512f r; } x_in;
3474   x_in.t = x;
3475   union { float16 t; reg512f r; } ret;
3476   ret.r = Sleef_tanhf16_u10_intrin(x_in.r);
3477   return ret.t;
3478 }
3479 
3480 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3481 
Sleef_tanhd8_u10(double8 x)3482 _CL_ALWAYSINLINE double8 Sleef_tanhd8_u10(double8 x)
3483 {
3484   union { double8 t; reg512d r; } x_in;
3485   x_in.t = x;
3486   union { double8 t; reg512d r; } ret;
3487   ret.r = Sleef_tanhd8_u10_intrin(x_in.r);
3488   return ret.t;
3489 }
3490 #endif
3491 
3492 
Sleef_asinhf16_u10(float16 x)3493 _CL_ALWAYSINLINE float16 Sleef_asinhf16_u10(float16 x)
3494 {
3495   union { float16 t; reg512f r; } x_in;
3496   x_in.t = x;
3497   union { float16 t; reg512f r; } ret;
3498   ret.r = Sleef_asinhf16_u10_intrin(x_in.r);
3499   return ret.t;
3500 }
3501 
3502 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3503 
Sleef_asinhd8_u10(double8 x)3504 _CL_ALWAYSINLINE double8 Sleef_asinhd8_u10(double8 x)
3505 {
3506   union { double8 t; reg512d r; } x_in;
3507   x_in.t = x;
3508   union { double8 t; reg512d r; } ret;
3509   ret.r = Sleef_asinhd8_u10_intrin(x_in.r);
3510   return ret.t;
3511 }
3512 #endif
3513 
3514 
Sleef_acoshf16_u10(float16 x)3515 _CL_ALWAYSINLINE float16 Sleef_acoshf16_u10(float16 x)
3516 {
3517   union { float16 t; reg512f r; } x_in;
3518   x_in.t = x;
3519   union { float16 t; reg512f r; } ret;
3520   ret.r = Sleef_acoshf16_u10_intrin(x_in.r);
3521   return ret.t;
3522 }
3523 
3524 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3525 
Sleef_acoshd8_u10(double8 x)3526 _CL_ALWAYSINLINE double8 Sleef_acoshd8_u10(double8 x)
3527 {
3528   union { double8 t; reg512d r; } x_in;
3529   x_in.t = x;
3530   union { double8 t; reg512d r; } ret;
3531   ret.r = Sleef_acoshd8_u10_intrin(x_in.r);
3532   return ret.t;
3533 }
3534 #endif
3535 
3536 
Sleef_atanhf16_u10(float16 x)3537 _CL_ALWAYSINLINE float16 Sleef_atanhf16_u10(float16 x)
3538 {
3539   union { float16 t; reg512f r; } x_in;
3540   x_in.t = x;
3541   union { float16 t; reg512f r; } ret;
3542   ret.r = Sleef_atanhf16_u10_intrin(x_in.r);
3543   return ret.t;
3544 }
3545 
3546 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3547 
Sleef_atanhd8_u10(double8 x)3548 _CL_ALWAYSINLINE double8 Sleef_atanhd8_u10(double8 x)
3549 {
3550   union { double8 t; reg512d r; } x_in;
3551   x_in.t = x;
3552   union { double8 t; reg512d r; } ret;
3553   ret.r = Sleef_atanhd8_u10_intrin(x_in.r);
3554   return ret.t;
3555 }
3556 #endif
3557 
3558 
Sleef_exp2f16_u10(float16 x)3559 _CL_ALWAYSINLINE float16 Sleef_exp2f16_u10(float16 x)
3560 {
3561   union { float16 t; reg512f r; } x_in;
3562   x_in.t = x;
3563   union { float16 t; reg512f r; } ret;
3564   ret.r = Sleef_exp2f16_u10_intrin(x_in.r);
3565   return ret.t;
3566 }
3567 
3568 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3569 
Sleef_exp2d8_u10(double8 x)3570 _CL_ALWAYSINLINE double8 Sleef_exp2d8_u10(double8 x)
3571 {
3572   union { double8 t; reg512d r; } x_in;
3573   x_in.t = x;
3574   union { double8 t; reg512d r; } ret;
3575   ret.r = Sleef_exp2d8_u10_intrin(x_in.r);
3576   return ret.t;
3577 }
3578 #endif
3579 
3580 
Sleef_exp10f16_u10(float16 x)3581 _CL_ALWAYSINLINE float16 Sleef_exp10f16_u10(float16 x)
3582 {
3583   union { float16 t; reg512f r; } x_in;
3584   x_in.t = x;
3585   union { float16 t; reg512f r; } ret;
3586   ret.r = Sleef_exp10f16_u10_intrin(x_in.r);
3587   return ret.t;
3588 }
3589 
3590 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3591 
Sleef_exp10d8_u10(double8 x)3592 _CL_ALWAYSINLINE double8 Sleef_exp10d8_u10(double8 x)
3593 {
3594   union { double8 t; reg512d r; } x_in;
3595   x_in.t = x;
3596   union { double8 t; reg512d r; } ret;
3597   ret.r = Sleef_exp10d8_u10_intrin(x_in.r);
3598   return ret.t;
3599 }
3600 #endif
3601 
3602 
Sleef_expm1f16_u10(float16 x)3603 _CL_ALWAYSINLINE float16 Sleef_expm1f16_u10(float16 x)
3604 {
3605   union { float16 t; reg512f r; } x_in;
3606   x_in.t = x;
3607   union { float16 t; reg512f r; } ret;
3608   ret.r = Sleef_expm1f16_u10_intrin(x_in.r);
3609   return ret.t;
3610 }
3611 
3612 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3613 
Sleef_expm1d8_u10(double8 x)3614 _CL_ALWAYSINLINE double8 Sleef_expm1d8_u10(double8 x)
3615 {
3616   union { double8 t; reg512d r; } x_in;
3617   x_in.t = x;
3618   union { double8 t; reg512d r; } ret;
3619   ret.r = Sleef_expm1d8_u10_intrin(x_in.r);
3620   return ret.t;
3621 }
3622 #endif
3623 
3624 
Sleef_log10f16_u10(float16 x)3625 _CL_ALWAYSINLINE float16 Sleef_log10f16_u10(float16 x)
3626 {
3627   union { float16 t; reg512f r; } x_in;
3628   x_in.t = x;
3629   union { float16 t; reg512f r; } ret;
3630   ret.r = Sleef_log10f16_u10_intrin(x_in.r);
3631   return ret.t;
3632 }
3633 
3634 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3635 
Sleef_log10d8_u10(double8 x)3636 _CL_ALWAYSINLINE double8 Sleef_log10d8_u10(double8 x)
3637 {
3638   union { double8 t; reg512d r; } x_in;
3639   x_in.t = x;
3640   union { double8 t; reg512d r; } ret;
3641   ret.r = Sleef_log10d8_u10_intrin(x_in.r);
3642   return ret.t;
3643 }
3644 #endif
3645 
3646 
Sleef_log1pf16_u10(float16 x)3647 _CL_ALWAYSINLINE float16 Sleef_log1pf16_u10(float16 x)
3648 {
3649   union { float16 t; reg512f r; } x_in;
3650   x_in.t = x;
3651   union { float16 t; reg512f r; } ret;
3652   ret.r = Sleef_log1pf16_u10_intrin(x_in.r);
3653   return ret.t;
3654 }
3655 
3656 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3657 
Sleef_log1pd8_u10(double8 x)3658 _CL_ALWAYSINLINE double8 Sleef_log1pd8_u10(double8 x)
3659 {
3660   union { double8 t; reg512d r; } x_in;
3661   x_in.t = x;
3662   union { double8 t; reg512d r; } ret;
3663   ret.r = Sleef_log1pd8_u10_intrin(x_in.r);
3664   return ret.t;
3665 }
3666 #endif
3667 
3668 
Sleef_sinpif16_u05(float16 x)3669 _CL_ALWAYSINLINE float16 Sleef_sinpif16_u05(float16 x)
3670 {
3671   union { float16 t; reg512f r; } x_in;
3672   x_in.t = x;
3673   union { float16 t; reg512f r; } ret;
3674   ret.r = Sleef_sinpif16_u05_intrin(x_in.r);
3675   return ret.t;
3676 }
3677 
3678 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3679 
Sleef_sinpid8_u05(double8 x)3680 _CL_ALWAYSINLINE double8 Sleef_sinpid8_u05(double8 x)
3681 {
3682   union { double8 t; reg512d r; } x_in;
3683   x_in.t = x;
3684   union { double8 t; reg512d r; } ret;
3685   ret.r = Sleef_sinpid8_u05_intrin(x_in.r);
3686   return ret.t;
3687 }
3688 #endif
3689 
3690 
Sleef_cospif16_u05(float16 x)3691 _CL_ALWAYSINLINE float16 Sleef_cospif16_u05(float16 x)
3692 {
3693   union { float16 t; reg512f r; } x_in;
3694   x_in.t = x;
3695   union { float16 t; reg512f r; } ret;
3696   ret.r = Sleef_cospif16_u05_intrin(x_in.r);
3697   return ret.t;
3698 }
3699 
3700 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3701 
Sleef_cospid8_u05(double8 x)3702 _CL_ALWAYSINLINE double8 Sleef_cospid8_u05(double8 x)
3703 {
3704   union { double8 t; reg512d r; } x_in;
3705   x_in.t = x;
3706   union { double8 t; reg512d r; } ret;
3707   ret.r = Sleef_cospid8_u05_intrin(x_in.r);
3708   return ret.t;
3709 }
3710 #endif
3711 
3712 
Sleef_fmaf16(float16 x,float16 y,float16 z)3713 _CL_ALWAYSINLINE float16 Sleef_fmaf16(float16 x, float16 y, float16 z)
3714 {
3715   union { float16 t; reg512f r; } x_in;
3716   x_in.t = x;
3717   union { float16 t; reg512f r; } y_in;
3718   y_in.t = y;
3719   union { float16 t; reg512f r; } z_in;
3720   z_in.t = z;
3721   union { float16 t; reg512f r; } ret;
3722   ret.r = Sleef_fmaf16_intrin(x_in.r, y_in.r, z_in.r);
3723   return ret.t;
3724 }
3725 
3726 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3727 
Sleef_fmad8(double8 x,double8 y,double8 z)3728 _CL_ALWAYSINLINE double8 Sleef_fmad8(double8 x, double8 y, double8 z)
3729 {
3730   union { double8 t; reg512d r; } x_in;
3731   x_in.t = x;
3732   union { double8 t; reg512d r; } y_in;
3733   y_in.t = y;
3734   union { double8 t; reg512d r; } z_in;
3735   z_in.t = z;
3736   union { double8 t; reg512d r; } ret;
3737   ret.r = Sleef_fmad8_intrin(x_in.r, y_in.r, z_in.r);
3738   return ret.t;
3739 }
3740 #endif
3741 
3742 
Sleef_sqrtf16_u05(float16 x)3743 _CL_ALWAYSINLINE float16 Sleef_sqrtf16_u05(float16 x)
3744 {
3745   union { float16 t; reg512f r; } x_in;
3746   x_in.t = x;
3747   union { float16 t; reg512f r; } ret;
3748   ret.r = Sleef_sqrtf16_u05_intrin(x_in.r);
3749   return ret.t;
3750 }
3751 
3752 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3753 
Sleef_sqrtd8_u05(double8 x)3754 _CL_ALWAYSINLINE double8 Sleef_sqrtd8_u05(double8 x)
3755 {
3756   union { double8 t; reg512d r; } x_in;
3757   x_in.t = x;
3758   union { double8 t; reg512d r; } ret;
3759   ret.r = Sleef_sqrtd8_u05_intrin(x_in.r);
3760   return ret.t;
3761 }
3762 #endif
3763 
3764 
Sleef_hypotf16_u05(float16 x,float16 y)3765 _CL_ALWAYSINLINE float16 Sleef_hypotf16_u05(float16 x, float16 y)
3766 {
3767   union { float16 t; reg512f r; } x_in;
3768   x_in.t = x;
3769   union { float16 t; reg512f r; } y_in;
3770   y_in.t = y;
3771   union { float16 t; reg512f r; } ret;
3772   ret.r = Sleef_hypotf16_u05_intrin(x_in.r, y_in.r);
3773   return ret.t;
3774 }
3775 
Sleef_hypotf16_u35(float16 x,float16 y)3776 _CL_ALWAYSINLINE float16 Sleef_hypotf16_u35(float16 x, float16 y)
3777 {
3778   union { float16 t; reg512f r; } x_in;
3779   x_in.t = x;
3780   union { float16 t; reg512f r; } y_in;
3781   y_in.t = y;
3782   union { float16 t; reg512f r; } ret;
3783   ret.r = Sleef_hypotf16_u35_intrin(x_in.r, y_in.r);
3784   return ret.t;
3785 }
3786 
3787 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3788 
Sleef_hypotd8_u05(double8 x,double8 y)3789 _CL_ALWAYSINLINE double8 Sleef_hypotd8_u05(double8 x, double8 y)
3790 {
3791   union { double8 t; reg512d r; } x_in;
3792   x_in.t = x;
3793   union { double8 t; reg512d r; } y_in;
3794   y_in.t = y;
3795   union { double8 t; reg512d r; } ret;
3796   ret.r = Sleef_hypotd8_u05_intrin(x_in.r, y_in.r);
3797   return ret.t;
3798 }
3799 
Sleef_hypotd8_u35(double8 x,double8 y)3800 _CL_ALWAYSINLINE double8 Sleef_hypotd8_u35(double8 x, double8 y)
3801 {
3802   union { double8 t; reg512d r; } x_in;
3803   x_in.t = x;
3804   union { double8 t; reg512d r; } y_in;
3805   y_in.t = y;
3806   union { double8 t; reg512d r; } ret;
3807   ret.r = Sleef_hypotd8_u35_intrin(x_in.r, y_in.r);
3808   return ret.t;
3809 }
3810 #endif
3811 
3812 
Sleef_fabsf16(float16 x)3813 _CL_ALWAYSINLINE float16 Sleef_fabsf16(float16 x)
3814 {
3815   union { float16 t; reg512f r; } x_in;
3816   x_in.t = x;
3817   union { float16 t; reg512f r; } ret;
3818   ret.r = Sleef_fabsf16_intrin(x_in.r);
3819   return ret.t;
3820 }
3821 
3822 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3823 
Sleef_fabsd8(double8 x)3824 _CL_ALWAYSINLINE double8 Sleef_fabsd8(double8 x)
3825 {
3826   union { double8 t; reg512d r; } x_in;
3827   x_in.t = x;
3828   union { double8 t; reg512d r; } ret;
3829   ret.r = Sleef_fabsd8_intrin(x_in.r);
3830   return ret.t;
3831 }
3832 #endif
3833 
3834 
Sleef_copysignf16(float16 x,float16 y)3835 _CL_ALWAYSINLINE float16 Sleef_copysignf16(float16 x, float16 y)
3836 {
3837   union { float16 t; reg512f r; } x_in;
3838   x_in.t = x;
3839   union { float16 t; reg512f r; } y_in;
3840   y_in.t = y;
3841   union { float16 t; reg512f r; } ret;
3842   ret.r = Sleef_copysignf16_intrin(x_in.r, y_in.r);
3843   return ret.t;
3844 }
3845 
3846 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3847 
Sleef_copysignd8(double8 x,double8 y)3848 _CL_ALWAYSINLINE double8 Sleef_copysignd8(double8 x, double8 y)
3849 {
3850   union { double8 t; reg512d r; } x_in;
3851   x_in.t = x;
3852   union { double8 t; reg512d r; } y_in;
3853   y_in.t = y;
3854   union { double8 t; reg512d r; } ret;
3855   ret.r = Sleef_copysignd8_intrin(x_in.r, y_in.r);
3856   return ret.t;
3857 }
3858 #endif
3859 
3860 
Sleef_fmaxf16(float16 x,float16 y)3861 _CL_ALWAYSINLINE float16 Sleef_fmaxf16(float16 x, float16 y)
3862 {
3863   union { float16 t; reg512f r; } x_in;
3864   x_in.t = x;
3865   union { float16 t; reg512f r; } y_in;
3866   y_in.t = y;
3867   union { float16 t; reg512f r; } ret;
3868   ret.r = Sleef_fmaxf16_intrin(x_in.r, y_in.r);
3869   return ret.t;
3870 }
3871 
3872 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3873 
Sleef_fmaxd8(double8 x,double8 y)3874 _CL_ALWAYSINLINE double8 Sleef_fmaxd8(double8 x, double8 y)
3875 {
3876   union { double8 t; reg512d r; } x_in;
3877   x_in.t = x;
3878   union { double8 t; reg512d r; } y_in;
3879   y_in.t = y;
3880   union { double8 t; reg512d r; } ret;
3881   ret.r = Sleef_fmaxd8_intrin(x_in.r, y_in.r);
3882   return ret.t;
3883 }
3884 #endif
3885 
3886 
Sleef_fminf16(float16 x,float16 y)3887 _CL_ALWAYSINLINE float16 Sleef_fminf16(float16 x, float16 y)
3888 {
3889   union { float16 t; reg512f r; } x_in;
3890   x_in.t = x;
3891   union { float16 t; reg512f r; } y_in;
3892   y_in.t = y;
3893   union { float16 t; reg512f r; } ret;
3894   ret.r = Sleef_fminf16_intrin(x_in.r, y_in.r);
3895   return ret.t;
3896 }
3897 
3898 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3899 
Sleef_fmind8(double8 x,double8 y)3900 _CL_ALWAYSINLINE double8 Sleef_fmind8(double8 x, double8 y)
3901 {
3902   union { double8 t; reg512d r; } x_in;
3903   x_in.t = x;
3904   union { double8 t; reg512d r; } y_in;
3905   y_in.t = y;
3906   union { double8 t; reg512d r; } ret;
3907   ret.r = Sleef_fmind8_intrin(x_in.r, y_in.r);
3908   return ret.t;
3909 }
3910 #endif
3911 
3912 
Sleef_fdimf16(float16 x,float16 y)3913 _CL_ALWAYSINLINE float16 Sleef_fdimf16(float16 x, float16 y)
3914 {
3915   union { float16 t; reg512f r; } x_in;
3916   x_in.t = x;
3917   union { float16 t; reg512f r; } y_in;
3918   y_in.t = y;
3919   union { float16 t; reg512f r; } ret;
3920   ret.r = Sleef_fdimf16_intrin(x_in.r, y_in.r);
3921   return ret.t;
3922 }
3923 
3924 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3925 
Sleef_fdimd8(double8 x,double8 y)3926 _CL_ALWAYSINLINE double8 Sleef_fdimd8(double8 x, double8 y)
3927 {
3928   union { double8 t; reg512d r; } x_in;
3929   x_in.t = x;
3930   union { double8 t; reg512d r; } y_in;
3931   y_in.t = y;
3932   union { double8 t; reg512d r; } ret;
3933   ret.r = Sleef_fdimd8_intrin(x_in.r, y_in.r);
3934   return ret.t;
3935 }
3936 #endif
3937 
3938 
Sleef_truncf16(float16 x)3939 _CL_ALWAYSINLINE float16 Sleef_truncf16(float16 x)
3940 {
3941   union { float16 t; reg512f r; } x_in;
3942   x_in.t = x;
3943   union { float16 t; reg512f r; } ret;
3944   ret.r = Sleef_truncf16_intrin(x_in.r);
3945   return ret.t;
3946 }
3947 
3948 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3949 
Sleef_truncd8(double8 x)3950 _CL_ALWAYSINLINE double8 Sleef_truncd8(double8 x)
3951 {
3952   union { double8 t; reg512d r; } x_in;
3953   x_in.t = x;
3954   union { double8 t; reg512d r; } ret;
3955   ret.r = Sleef_truncd8_intrin(x_in.r);
3956   return ret.t;
3957 }
3958 #endif
3959 
3960 
Sleef_floorf16(float16 x)3961 _CL_ALWAYSINLINE float16 Sleef_floorf16(float16 x)
3962 {
3963   union { float16 t; reg512f r; } x_in;
3964   x_in.t = x;
3965   union { float16 t; reg512f r; } ret;
3966   ret.r = Sleef_floorf16_intrin(x_in.r);
3967   return ret.t;
3968 }
3969 
3970 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3971 
Sleef_floord8(double8 x)3972 _CL_ALWAYSINLINE double8 Sleef_floord8(double8 x)
3973 {
3974   union { double8 t; reg512d r; } x_in;
3975   x_in.t = x;
3976   union { double8 t; reg512d r; } ret;
3977   ret.r = Sleef_floord8_intrin(x_in.r);
3978   return ret.t;
3979 }
3980 #endif
3981 
3982 
Sleef_ceilf16(float16 x)3983 _CL_ALWAYSINLINE float16 Sleef_ceilf16(float16 x)
3984 {
3985   union { float16 t; reg512f r; } x_in;
3986   x_in.t = x;
3987   union { float16 t; reg512f r; } ret;
3988   ret.r = Sleef_ceilf16_intrin(x_in.r);
3989   return ret.t;
3990 }
3991 
3992 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3993 
Sleef_ceild8(double8 x)3994 _CL_ALWAYSINLINE double8 Sleef_ceild8(double8 x)
3995 {
3996   union { double8 t; reg512d r; } x_in;
3997   x_in.t = x;
3998   union { double8 t; reg512d r; } ret;
3999   ret.r = Sleef_ceild8_intrin(x_in.r);
4000   return ret.t;
4001 }
4002 #endif
4003 
4004 
Sleef_roundf16(float16 x)4005 _CL_ALWAYSINLINE float16 Sleef_roundf16(float16 x)
4006 {
4007   union { float16 t; reg512f r; } x_in;
4008   x_in.t = x;
4009   union { float16 t; reg512f r; } ret;
4010   ret.r = Sleef_roundf16_intrin(x_in.r);
4011   return ret.t;
4012 }
4013 
4014 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4015 
Sleef_roundd8(double8 x)4016 _CL_ALWAYSINLINE double8 Sleef_roundd8(double8 x)
4017 {
4018   union { double8 t; reg512d r; } x_in;
4019   x_in.t = x;
4020   union { double8 t; reg512d r; } ret;
4021   ret.r = Sleef_roundd8_intrin(x_in.r);
4022   return ret.t;
4023 }
4024 #endif
4025 
4026 
Sleef_rintf16(float16 x)4027 _CL_ALWAYSINLINE float16 Sleef_rintf16(float16 x)
4028 {
4029   union { float16 t; reg512f r; } x_in;
4030   x_in.t = x;
4031   union { float16 t; reg512f r; } ret;
4032   ret.r = Sleef_rintf16_intrin(x_in.r);
4033   return ret.t;
4034 }
4035 
4036 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4037 
Sleef_rintd8(double8 x)4038 _CL_ALWAYSINLINE double8 Sleef_rintd8(double8 x)
4039 {
4040   union { double8 t; reg512d r; } x_in;
4041   x_in.t = x;
4042   union { double8 t; reg512d r; } ret;
4043   ret.r = Sleef_rintd8_intrin(x_in.r);
4044   return ret.t;
4045 }
4046 #endif
4047 
4048 
Sleef_nextafterf16(float16 x,float16 y)4049 _CL_ALWAYSINLINE float16 Sleef_nextafterf16(float16 x, float16 y)
4050 {
4051   union { float16 t; reg512f r; } x_in;
4052   x_in.t = x;
4053   union { float16 t; reg512f r; } y_in;
4054   y_in.t = y;
4055   union { float16 t; reg512f r; } ret;
4056   ret.r = Sleef_nextafterf16_intrin(x_in.r, y_in.r);
4057   return ret.t;
4058 }
4059 
4060 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4061 
Sleef_nextafterd8(double8 x,double8 y)4062 _CL_ALWAYSINLINE double8 Sleef_nextafterd8(double8 x, double8 y)
4063 {
4064   union { double8 t; reg512d r; } x_in;
4065   x_in.t = x;
4066   union { double8 t; reg512d r; } y_in;
4067   y_in.t = y;
4068   union { double8 t; reg512d r; } ret;
4069   ret.r = Sleef_nextafterd8_intrin(x_in.r, y_in.r);
4070   return ret.t;
4071 }
4072 #endif
4073 
4074 
Sleef_fmodf16(float16 x,float16 y)4075 _CL_ALWAYSINLINE float16 Sleef_fmodf16(float16 x, float16 y)
4076 {
4077   union { float16 t; reg512f r; } x_in;
4078   x_in.t = x;
4079   union { float16 t; reg512f r; } y_in;
4080   y_in.t = y;
4081   union { float16 t; reg512f r; } ret;
4082   ret.r = Sleef_fmodf16_intrin(x_in.r, y_in.r);
4083   return ret.t;
4084 }
4085 
4086 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4087 
Sleef_fmodd8(double8 x,double8 y)4088 _CL_ALWAYSINLINE double8 Sleef_fmodd8(double8 x, double8 y)
4089 {
4090   union { double8 t; reg512d r; } x_in;
4091   x_in.t = x;
4092   union { double8 t; reg512d r; } y_in;
4093   y_in.t = y;
4094   union { double8 t; reg512d r; } ret;
4095   ret.r = Sleef_fmodd8_intrin(x_in.r, y_in.r);
4096   return ret.t;
4097 }
4098 #endif
4099 
4100 
Sleef_lgammaf16_u10(float16 x)4101 _CL_ALWAYSINLINE float16 Sleef_lgammaf16_u10(float16 x)
4102 {
4103   union { float16 t; reg512f r; } x_in;
4104   x_in.t = x;
4105   union { float16 t; reg512f r; } ret;
4106   ret.r = Sleef_lgammaf16_u10_intrin(x_in.r);
4107   return ret.t;
4108 }
4109 
4110 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4111 
Sleef_lgammad8_u10(double8 x)4112 _CL_ALWAYSINLINE double8 Sleef_lgammad8_u10(double8 x)
4113 {
4114   union { double8 t; reg512d r; } x_in;
4115   x_in.t = x;
4116   union { double8 t; reg512d r; } ret;
4117   ret.r = Sleef_lgammad8_u10_intrin(x_in.r);
4118   return ret.t;
4119 }
4120 #endif
4121 
4122 
Sleef_lgamma_rf16_u10(float16 x)4123 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_lgamma_rf16_u10(float16 x)
4124 {
4125   union { float16 t; reg512f r; } x_in;
4126   x_in.t = x;
4127   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4128   ret.r = Sleef_lgamma_rf16_u10_intrin(x_in.r);
4129   return ret.t;
4130 }
4131 
4132 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4133 
Sleef_lgamma_rd8_u10(double8 x)4134 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_lgamma_rd8_u10(double8 x)
4135 {
4136   union { double8 t; reg512d r; } x_in;
4137   x_in.t = x;
4138   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4139   ret.r = Sleef_lgamma_rd8_u10_intrin(x_in.r);
4140   return ret.t;
4141 }
4142 #endif
4143 
4144 
Sleef_tgammaf16_u10(float16 x)4145 _CL_ALWAYSINLINE float16 Sleef_tgammaf16_u10(float16 x)
4146 {
4147   union { float16 t; reg512f r; } x_in;
4148   x_in.t = x;
4149   union { float16 t; reg512f r; } ret;
4150   ret.r = Sleef_tgammaf16_u10_intrin(x_in.r);
4151   return ret.t;
4152 }
4153 
4154 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4155 
Sleef_tgammad8_u10(double8 x)4156 _CL_ALWAYSINLINE double8 Sleef_tgammad8_u10(double8 x)
4157 {
4158   union { double8 t; reg512d r; } x_in;
4159   x_in.t = x;
4160   union { double8 t; reg512d r; } ret;
4161   ret.r = Sleef_tgammad8_u10_intrin(x_in.r);
4162   return ret.t;
4163 }
4164 #endif
4165 
4166 
Sleef_erff16_u10(float16 x)4167 _CL_ALWAYSINLINE float16 Sleef_erff16_u10(float16 x)
4168 {
4169   union { float16 t; reg512f r; } x_in;
4170   x_in.t = x;
4171   union { float16 t; reg512f r; } ret;
4172   ret.r = Sleef_erff16_u10_intrin(x_in.r);
4173   return ret.t;
4174 }
4175 
4176 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4177 
Sleef_erfd8_u10(double8 x)4178 _CL_ALWAYSINLINE double8 Sleef_erfd8_u10(double8 x)
4179 {
4180   union { double8 t; reg512d r; } x_in;
4181   x_in.t = x;
4182   union { double8 t; reg512d r; } ret;
4183   ret.r = Sleef_erfd8_u10_intrin(x_in.r);
4184   return ret.t;
4185 }
4186 #endif
4187 
4188 
Sleef_erfcf16_u15(float16 x)4189 _CL_ALWAYSINLINE float16 Sleef_erfcf16_u15(float16 x)
4190 {
4191   union { float16 t; reg512f r; } x_in;
4192   x_in.t = x;
4193   union { float16 t; reg512f r; } ret;
4194   ret.r = Sleef_erfcf16_u15_intrin(x_in.r);
4195   return ret.t;
4196 }
4197 
4198 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4199 
Sleef_erfcd8_u15(double8 x)4200 _CL_ALWAYSINLINE double8 Sleef_erfcd8_u15(double8 x)
4201 {
4202   union { double8 t; reg512d r; } x_in;
4203   x_in.t = x;
4204   union { double8 t; reg512d r; } ret;
4205   ret.r = Sleef_erfcd8_u15_intrin(x_in.r);
4206   return ret.t;
4207 }
4208 #endif
4209 
4210 
Sleef_frfrexpf16(float16 x)4211 _CL_ALWAYSINLINE float16 Sleef_frfrexpf16(float16 x)
4212 {
4213   union { float16 t; reg512f r; } x_in;
4214   x_in.t = x;
4215   union { float16 t; reg512f r; } ret;
4216   ret.r = Sleef_frfrexpf16_intrin(x_in.r);
4217   return ret.t;
4218 }
4219 
4220 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4221 
Sleef_frfrexpd8(double8 x)4222 _CL_ALWAYSINLINE double8 Sleef_frfrexpd8(double8 x)
4223 {
4224   union { double8 t; reg512d r; } x_in;
4225   x_in.t = x;
4226   union { double8 t; reg512d r; } ret;
4227   ret.r = Sleef_frfrexpd8_intrin(x_in.r);
4228   return ret.t;
4229 }
4230 #endif
4231 
4232 
Sleef_sincosf16_u10(float16 x)4233 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincosf16_u10(float16 x)
4234 {
4235   union { float16 t; reg512f r; } x_in;
4236   x_in.t = x;
4237   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4238   ret.r = Sleef_sincosf16_u10_intrin(x_in.r);
4239   return ret.t;
4240 }
4241 
Sleef_sincosf16_u35(float16 x)4242 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincosf16_u35(float16 x)
4243 {
4244   union { float16 t; reg512f r; } x_in;
4245   x_in.t = x;
4246   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4247   ret.r = Sleef_sincosf16_u35_intrin(x_in.r);
4248   return ret.t;
4249 }
4250 
4251 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4252 
Sleef_sincosd8_u10(double8 x)4253 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincosd8_u10(double8 x)
4254 {
4255   union { double8 t; reg512d r; } x_in;
4256   x_in.t = x;
4257   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4258   ret.r = Sleef_sincosd8_u10_intrin(x_in.r);
4259   return ret.t;
4260 }
4261 
Sleef_sincosd8_u35(double8 x)4262 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincosd8_u35(double8 x)
4263 {
4264   union { double8 t; reg512d r; } x_in;
4265   x_in.t = x;
4266   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4267   ret.r = Sleef_sincosd8_u35_intrin(x_in.r);
4268   return ret.t;
4269 }
4270 #endif
4271 
4272 
Sleef_sincospif16_u05(float16 x)4273 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincospif16_u05(float16 x)
4274 {
4275   union { float16 t; reg512f r; } x_in;
4276   x_in.t = x;
4277   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4278   ret.r = Sleef_sincospif16_u05_intrin(x_in.r);
4279   return ret.t;
4280 }
4281 
Sleef_sincospif16_u35(float16 x)4282 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincospif16_u35(float16 x)
4283 {
4284   union { float16 t; reg512f r; } x_in;
4285   x_in.t = x;
4286   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4287   ret.r = Sleef_sincospif16_u35_intrin(x_in.r);
4288   return ret.t;
4289 }
4290 
4291 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4292 
Sleef_sincospid8_u05(double8 x)4293 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincospid8_u05(double8 x)
4294 {
4295   union { double8 t; reg512d r; } x_in;
4296   x_in.t = x;
4297   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4298   ret.r = Sleef_sincospid8_u05_intrin(x_in.r);
4299   return ret.t;
4300 }
4301 
Sleef_sincospid8_u35(double8 x)4302 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincospid8_u35(double8 x)
4303 {
4304   union { double8 t; reg512d r; } x_in;
4305   x_in.t = x;
4306   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4307   ret.r = Sleef_sincospid8_u35_intrin(x_in.r);
4308   return ret.t;
4309 }
4310 #endif
4311 
4312 
Sleef_modff16(float16 x)4313 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_modff16(float16 x)
4314 {
4315   union { float16 t; reg512f r; } x_in;
4316   x_in.t = x;
4317   union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4318   ret.r = Sleef_modff16_intrin(x_in.r);
4319   return ret.t;
4320 }
4321 
4322 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4323 
Sleef_modfd8(double8 x)4324 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_modfd8(double8 x)
4325 {
4326   union { double8 t; reg512d r; } x_in;
4327   x_in.t = x;
4328   union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4329   ret.r = Sleef_modfd8_intrin(x_in.r);
4330   return ret.t;
4331 }
4332 #endif
4333 
4334 
Sleef_ldexpf16(float16 x,int16 k)4335 _CL_ALWAYSINLINE float16 Sleef_ldexpf16(float16 x, int16 k)
4336 {
4337   union { float16 t; reg512f r; } x_in;
4338   x_in.t = x;
4339   union { int16 t; reg512i r; } k_in;
4340   k_in.t = k;
4341   union { float16 t; reg512f r; } ret;
4342   ret.r = Sleef_ldexpf16_intrin(x_in.r, k_in.r);
4343   return ret.t;
4344 }
4345 
4346 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4347 
Sleef_ldexpd8(double8 x,int8 k)4348 _CL_ALWAYSINLINE double8 Sleef_ldexpd8(double8 x, int8 k)
4349 {
4350   union { double8 t; reg512d r; } x_in;
4351   x_in.t = x;
4352   union { int8 t; reg256i r; } k_in;
4353   k_in.t = k;
4354   union { double8 t; reg512d r; } ret;
4355   ret.r = Sleef_ldexpd8_intrin(x_in.r, k_in.r);
4356   return ret.t;
4357 }
4358 #endif
4359 
4360 
Sleef_expfrexpf16(float16 x)4361 _CL_ALWAYSINLINE int16 Sleef_expfrexpf16(float16 x)
4362 {
4363   union { float16 t; reg512f r; } x_in;
4364   x_in.t = x;
4365   union { int16 t; reg512i r; } ret;
4366   ret.r = Sleef_expfrexpf16_intrin(x_in.r);
4367   return ret.t;
4368 }
4369 
4370 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4371 
Sleef_expfrexpd8_long(double8 x)4372 _CL_ALWAYSINLINE long8 Sleef_expfrexpd8_long(double8 x)
4373 {
4374   union { double8 t; reg512d r; } x_in;
4375   x_in.t = x;
4376   union { long8 t; reg512i r; } ret;
4377   ret.r = Sleef_expfrexpd8_intrin(x_in.r);
4378   return ret.t;
4379 }
4380 #endif
4381 
4382 
Sleef_ilogbf16(float16 x)4383 _CL_ALWAYSINLINE int16 Sleef_ilogbf16(float16 x)
4384 {
4385   union { float16 t; reg512f r; } x_in;
4386   x_in.t = x;
4387   union { int16 t; reg512i r; } ret;
4388   ret.r = Sleef_ilogbf16_intrin(x_in.r);
4389   return ret.t;
4390 }
4391 
4392 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4393 
Sleef_ilogbd8(double8 x)4394 _CL_ALWAYSINLINE int8 Sleef_ilogbd8(double8 x)
4395 {
4396   union { double8 t; reg512d r; } x_in;
4397   x_in.t = x;
4398   union { int8 t; reg256i r; } ret;
4399   ret.r = Sleef_ilogbd8_intrin(x_in.r);
4400   return ret.t;
4401 }
4402 #endif
4403 
4404 #endif
4405