summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/elementaryFunctions/atanh/testFloatAtanh.c
blob: 3addb9596ffb5011b086436f231e92e65d3a501c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
/*
 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 *  Copyright (C) 2006-2008 - INRIA - Arnaud TORSET
 *
 *  This file must be used under the terms of the CeCILL.
 *  This source file is licensed as described in the file COPYING, which
 *  you should have received as part of this distribution.  The terms
 *  are also available at
 *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */

#include "testAtanh.h"
#include "isnan.h"


#define SOURCE {-1.1105866164187250255679f,-1.0028386111936116176224f,0.2375765916352992890292f,\
-1.9260782734203465427214f,1.6339029335662884623304f,0.4006142544568777608127f,\
-0.1884054141613809019162f,0.3250370808239260722594f,0.4942341130822986983162f,\
-0.5271214361991748420522f,-0.2047974713791562706433f,-0.6989092545405519718571f,\
-0.7715561486980614391840f,-0.571989225566208348006f,-0.5020150984917894909643f,\
-2.2857334641783242368263f,2.332010485133160226923f,1.3889136138977253853710f,\
1.3789467621494246873937f,0.1097978131481585906126f,-0.0647218447158609960779f,\
0.0281807372021152316433f,0.1350188864488831574917f,1.0304207301469319180143f,\
1.2534650597477734468299f,-0.6673847151191693027883f,0.7687329161404042876526f,\
0.9397659613234893294376f,-0.1842256540708016310237f,-0.6380964000421092130466f,\
-0.4312384814994691395462f,0.2955203345655439961526f,-0.9485014036835781592316f,\
-0.7318488744075331009498f,1.0038104194654713374746f,-1.1353561092070965088396f,\
-1.0960321876977914268281f,-0.0171134176442899188508f,-0.5858103496627128370378f,\
0.1289555865425900393895f,1.5820296359767425098397f,-1.4631497998103890623156f,\
1.2963845181574007447978f,-0.3801415377268548834166f,2.06830447887869084411f,\
-0.5625246161593648874799f,0.5326361661049561213588f,-1.2444472935191353002438f,\
1.98041335297601972520f,-1.1243976757801756871658f,-0.2002672475586080858001f,\
-0.8369527550627472445299f,-0.5501861155367867572963f,-0.4142018271607930679501f,\
0.0805610771656549429220f,1.1377543872793591805959f,0.0358630657002049213489f,\
-0.7784293535508046701921f,0.1468114639619267913773f,0.8017875463824070125796f,\
0.9541283226908341408290f,0.2570812112878080313294f,0.5669583797452802942374f,\
-0.5124357940757415796895f,-1.0874670623228419596984f,0.1679748561443953069894f,\
1.0653376770396050243761f,1.4418584607257751706300f,0.4931419934636970814346f,\
0.8961862868877283894165f,1.9862847823434610639026f,-0.1823693074986679762972f,\
-1.4947586037652456081304f,0.2872503175279246256935f,0.0312925927822978733328f,\
0.6112211190486463996407f,-0.7772375221664085120921f,1.1093137211625221372202f,\
0.0442238350338455751820f,1.6762117307909378816078f,-0.6876351157010545112058f,\
-1.22967891951066876643f,-0.1299578267276684795384f,1.6975824415216096419101f,\
1.308926550069704708434f,-1.098941911191897657929f,0.8471934585094353931112f,\
-0.4433269337102597185130f,-0.7837315591442685080992f,0.9116218827858540985076f,\
-1.0105858633572861737804f,0.4876488481804939212338f,0.0655402107055627763943f,\
-0.2953709263667435580558f,0.6148227532021686148056f,-0.4034374023520052587877f,\
0.5833631341612930398810f,-0.5528588193199002187583f,-0.2778100246524093375200f,\
2.382193101614083818873f,-0.5178234271111435971235f,-0.6905004153871671102038f,\
1.1100538942612350190586f,0.4362472672541874985086f,1.6185312525007526929244f,\
-0.2435431173062182208522f,1.3489566990051822248375f,0.7594498437474611618470f,\
-0.2810994191894010674204f,0.0572337467470783664569f,-0.2986850540752242211262f,\
0.3080328437634018978741f,-1.063898707867213300204f,-0.4732241206771939379117f,\
0.4359979545522715271844f,-1.1975945596394972358922f,-2.0463590761656762495591f,\
-1.6981361097863292286547f,-0.3298420709745075729558f,0.6443404115154376388119f,\
1.1582132747946760620295f,-0.1360263343598554774960f,1.1191856336437415730956f,\
-0.3857336264473540388131f,-0.9009857125105711350699f,-0.6654259233895634118028f,\
0.8142113557520732625150f,-0.7421459588282103281287f,-0.7442082361451903826932f,\
-0.7150337980929084569226f,0.9101123379002086233314f,1.6512593716591941195304f,\
0.5444875921569681809231f,-1.4717893200735545633506f,-0.2233299046672752585785f,\
-0.0991741463892287511417f,-0.9902546973703609811679f,-1.376446086882661790085f,\
-1.7488399727971684072259f,1.8239775508132596293365f,-0.2630036367047015599674f,\
-0.5010962842642737724574f,-0.5862555775092695986572f,-1.3195380346103915414346f,\
-0.3864449051827200110054f,-0.0225200748008141174439f,-0.9526576040369814091235f,\
1.6155833271255157779223f,1.2505121957121025921822f,-0.1546296525315759562424f,\
0.7865497689541539605429f,-0.6949758322935190024694f,-0.4332203785337710999492f,\
0.6084666055394067907258f,0.2648887243137521552150f,-0.3173806367287662633103f,\
-0.9277748648924035723695f,-0.6967437125955047161341f,0.0106825075357279020843f,\
0.7977499585474604471003f,0.9612439572909651230859f,0.6750778949370804804531f,\
0.0690725368983376858401f,-1.8076399886892613455558f,-0.2596249600654364497743f,\
0.6728882350569161951981f,-0.4537439012069451327314f,0.695587590556807633391f,\
1.2463414096089968641223f,-0.2637405473740589423315f,-0.8045531944567444471161f,\
0.2829556705817293793537f,0.1166763530431780965246f,1.0028892209395869894450f,\
0.4234280063942446603598f,0.6056937191431178701961f,-1.4168714241399820163991f,\
-0.7415110426654055730822f,-1.6002352979874459038001f,-0.0441220186662526561716f,\
-0.6809183287313597121582f,0.2835255852521558761481f,0.2496331067144885174081f,\
0.1563210463282909690186f,-1.006767784835231216434f,-0.6458091780006059989816f,\
-2.529451976430145521135f,-0.4966644528621277365765f,0.3057445000796202294602f,\
0.0051108872162743653259f,0.3463692486733729314352f,0.4684023556979828861735f,\
-2.0819698824296395400779f,-1.8736446723365958177965f,0.5032045449115828406050f,\
1.0514506638411960093293f,-0.5657157774822674234372f,-0.2842153768346438180714f,\
0.1431506224954579853392f,1.0806316268163596028273f}

#define RESULT {-1.4744610660983759053977f,-3.2795029213225106445861f,0.2422041646840577544531f,\
-0.5752297863073998485106f,0.7121630945985538696519f,0.4243803995861772371256f,\
-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\
-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\
-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\
-0.4691302795139216663678f,0.4584432136447526562328f,0.9076183700076346783092f,\
0.9185087029260963209509f,0.1102422571172131521289f,-0.0648124440153749203919f,\
0.0281882007066550886731f,0.1358484485857832935185f,2.1004370090239423696232f,\
1.0924991774831627200371f,-0.8060125587957032156083f,1.0172227264061333151801f,\
1.736042493622687921118f,-0.1863533018119427342452f,-0.7549561185313359290561f,\
-0.4614170985204111286038f,0.3046041145449288611857f,-1.8166306469319770666715f,\
-0.9326970536559181512715f,3.1325332888309622703105f,-1.3792397781139973389486f,\
-1.5415589891296013203004f,-0.0171150886014554831638f,-0.6712634278717346525411f,\
0.1296776288627018158817f,0.7449048409492748934468f,-0.8355728364335629487769f,\
1.0237167786809893144095f,-0.4002250855702985665729f,0.5275261647661907415952f,\
-0.6365188485604326151801f,0.593818237113303393215f,-1.1086074290970830968917f,\
0.5559215037224033428842f,-1.4188800488983950298660f,-0.2030109524350925953584f,\
-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\
0.0807360417981298622569f,1.3710194541092590725384f,0.0358784527834248925804f,\
-1.041372191940861169357f,0.1478800901804916689830f,1.1035975394582797637355f,\
1.8759258138597765253053f,0.2629805384285096581110f,0.6430289187352878910175f,\
-0.5660273762902281458054f,-1.5862221930864266461469f,0.1695819872689824647782f,\
1.7267400811821158601589f,0.8547625432037965209631f,0.5402035003963170378682f,\
1.4525009288261496731565f,0.5539201036322172200244f,-0.1844324167806210001963f,\
-0.8089386385243267918455f,0.2955667016509896383170f,0.0313028129649670083801f,\
0.7108684384800065814147f,-1.0383547009634652713572f,1.4799479994581337116699f,\
0.0442526991314810200229f,0.6878256510027744852209f,-0.8434557413354200061661f,\
-1.1364652701643074284021f,-0.1306969520152806707447f,0.6762452782098172798797f,\
1.005717225984443130571f,-1.5273278613167085016045f,1.2461250150575873263392f,\
-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\
-2.6233309837037732670240f,0.5329709825316656379712f,0.0656342963912304455665f,\
-0.3044404175419783142864f,0.7166384348283165728333f,-0.4277478080499193535680f,\
0.6675457063378462674308f,-0.6224892627320329774321f,-0.2853073726746037097612f,\
0.4474264519637772830052f,-0.5733611255013777441292f,-0.8489115589330021860448f,\
1.4767492874056193929988f,0.4675865941091252309114f,0.7215105644264150352996f,\
-0.2485372004835029458025f,0.9533893539015392271097f,0.9949139163386880868600f,\
-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\
0.3183705746036424866219f,-1.7375264548714035583998f,-0.5142166878802835183748f,\
0.4672787235144033601841f,-1.2044507032201230423141f,-0.5343152701155061690130f,\
-0.6759512002250491757849f,-0.3426510354825004212032f,0.7655602779397917556636f,\
1.3065460037453791031226f,-0.1368747459554155443406f,1.4390524672743967293798f,\
-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\
1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\
-0.8974087416560057040016f,1.5281783215878395054688f,0.7019410287263873060581f,\
0.6105122611902852325372f,-0.8280825291376695540535f,-0.2271580885894484980181f,\
-0.0995012215536074662303f,-2.6596162554083884188572f,-0.9212932842045244985485f,\
-0.6502044836894653734305f,0.6158791818865629874580f,-0.2693325220287110521866f,\
-0.5507689268125864900938f,-0.6719415444836209783119f,-0.9911235054617995032800f,\
-0.4076140317144636981972f,-0.0225238830066269123120f,-1.8597701914697917224828f,\
0.7233360518064337885136f,1.0977027535066357089022f,-0.1558800560054872108573f,\
1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\
0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\
-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\
1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\
0.0691827011392311119753f,-0.6229915735462322468052f,-0.2657062181808059753152f,\
0.8160024961656430209089f,-0.4894047987117864928486f,0.8587006143920951073412f,\
1.1051698569402153005115f,-0.2701243583599451381083f,-1.1113900272171266525589f,\
0.2908920738530955119039f,0.1172101729688146409813f,3.2706795664298211612220f,\
0.4518615589828762768576f,0.7020915980292293800957f,-0.8787256719819279693340f,\
-0.9538277279422371357498f,-0.7330177387440419689568f,-0.0441506837064596646680f,\
-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\
0.1576133484131722883870f,-2.8460534045826286764225f,-0.768075815339287371053f,\
-0.4181165627609883528315f,-0.5448685867460187903788f,0.3158443034854154785052f,\
0.0051109317177532613205f,0.3613121056785816853640f,0.5080216801947243787652f,\
-0.5233928099098102970643f,-0.5953313420807592182271f,0.5535880446904775098460f,\
1.842839548963430384987f,-0.6411995769353845409100f,-0.2922619465382557679689f,\
0.1441406428551997020993f,1.6252679142635939602002f}
/*
#define RESULT2 {-1.4744610660983759053977+%i*1.5707963267948965579990f,\
-3.2795029213225106445861+%i*1.5707963267948965579990f,0.2422041646840577544531f,\
-0.5752297863073998485106+%i*1.5707963267948965579990f,\
0.7121630945985538696519-%i*1.5707963267948965579990f,0.4243803995861772371256f,\
-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\
-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\
-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\
-0.4691302795139216663678+%i*1.5707963267948965579990f,\
0.4584432136447526562328-%i*1.5707963267948965579990f,\
0.9076183700076346783092-%i*1.5707963267948965579990f,\
0.9185087029260963209509-%i*1.5707963267948965579990f,0.1102422571172131521289f,\
-0.0648124440153749203919f,0.0281882007066550886731f,0.1358484485857832935185f,\
2.1004370090239423696232-%i*1.5707963267948965579990f,\
1.0924991774831627200371-%i*1.5707963267948965579990f,-0.8060125587957032156083f,\
1.0172227264061333151801f,1.736042493622687921118f,-0.1863533018119427342452f,\
-0.7549561185313359290561f,-0.4614170985204111286038f,0.3046041145449288611857f,\
-1.8166306469319770666715f,-0.9326970536559181512715f,\
3.1325332888309622703105-%i*1.5707963267948965579990f,\
-1.3792397781139973389486+%i*1.5707963267948965579990f,\
-1.5415589891296013203004+%i*1.5707963267948965579990f,-0.0171150886014554831638f,\
-0.6712634278717346525411f,0.1296776288627018158817f,\
0.7449048409492748934468-%i*1.5707963267948965579990f,\
-0.8355728364335629487769+%i*1.5707963267948965579990f,\
1.0237167786809893144095-%i*1.5707963267948965579990f,-0.4002250855702985665729f,\
0.5275261647661907415952-%i*1.5707963267948965579990f,-0.6365188485604326151801f,\
0.593818237113303393215f,-1.1086074290970830968917+%i*1.5707963267948965579990f,\
0.5559215037224033428842-%i*1.5707963267948965579990f,\
-1.4188800488983950298660+%i*1.5707963267948965579990f,-0.2030109524350925953584f,\
-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\
0.0807360417981298622569f,1.3710194541092590725384-%i*1.5707963267948965579990f,\
0.0358784527834248925804f,-1.041372191940861169357f,0.1478800901804916689830f,\
1.1035975394582797637355f,1.8759258138597765253053f,0.2629805384285096581110f,\
0.6430289187352878910175f,-0.5660273762902281458054f,\
-1.5862221930864266461469+%i*1.5707963267948965579990f,0.1695819872689824647782f,\
1.7267400811821158601589-%i*1.5707963267948965579990f,\
0.8547625432037965209631-%i*1.5707963267948965579990f,0.5402035003963170378682f,\
1.4525009288261496731565f,0.5539201036322172200244-%i*1.5707963267948965579990f,\
-0.1844324167806210001963f,-0.8089386385243267918455+%i*1.5707963267948965579990f,\
0.2955667016509896383170f,0.0313028129649670083801f,0.7108684384800065814147f,\
-1.0383547009634652713572f,1.4799479994581337116699-%i*1.5707963267948965579990f,\
0.0442526991314810200229f,0.6878256510027744852209-%i*1.5707963267948965579990f,\
-0.8434557413354200061661f,-1.1364652701643074284021+%i*1.5707963267948965579990f,\
-0.1306969520152806707447f,0.6762452782098172798797-%i*1.5707963267948965579990f,\
1.005717225984443130571-%i*1.5707963267948965579990f,\
-1.5273278613167085016045+%i*1.5707963267948965579990f,1.2461250150575873263392f,\
-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\
-2.6233309837037732670240+%i*1.5707963267948965579990f,0.5329709825316656379712f,\
0.0656342963912304455665f,-0.3044404175419783142864f,0.7166384348283165728333f,\
-0.4277478080499193535680f,0.6675457063378462674308f,-0.6224892627320329774321f,\
-0.2853073726746037097612f,0.4474264519637772830052-%i*1.5707963267948965579990f,\
-0.5733611255013777441292f,-0.8489115589330021860448f,\
1.4767492874056193929988-%i*1.5707963267948965579990f,0.4675865941091252309114f,\
0.7215105644264150352996-%i*1.5707963267948965579990f,-0.2485372004835029458025f,\
0.9533893539015392271097-%i*1.5707963267948965579990f,0.9949139163386880868600f,\
-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\
0.3183705746036424866219f,-1.7375264548714035583998+%i*1.5707963267948965579990f,\
-0.5142166878802835183748f,0.4672787235144033601841f,\
-1.2044507032201230423141+%i*1.5707963267948965579990f,\
-0.5343152701155061690130+%i*1.5707963267948965579990f,\
-0.6759512002250491757849+%i*1.5707963267948965579990f,-0.3426510354825004212032f,\
0.7655602779397917556636f,1.3065460037453791031226-%i*1.5707963267948965579990f,\
-0.1368747459554155443406f,1.4390524672743967293798-%i*1.5707963267948965579990f,\
-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\
1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\
-0.8974087416560057040016f,1.5281783215878395054688f,\
0.7019410287263873060581-%i*1.5707963267948965579990f,0.6105122611902852325372f,\
-0.8280825291376695540535+%i*1.5707963267948965579990f,-0.2271580885894484980181f,\
-0.0995012215536074662303f,-2.6596162554083884188572f,\
-0.9212932842045244985485+%i*1.5707963267948965579990f,\
-0.6502044836894653734305+%i*1.5707963267948965579990f,\
0.6158791818865629874580-%i*1.5707963267948965579990f,-0.2693325220287110521866f,\
-0.5507689268125864900938f,-0.6719415444836209783119f,\
-0.9911235054617995032800+%i*1.5707963267948965579990f,-0.4076140317144636981972f,\
-0.0225238830066269123120f,-1.8597701914697917224828f,\
0.7233360518064337885136-%i*1.5707963267948965579990f,\
1.0977027535066357089022-%i*1.5707963267948965579990f,-0.1558800560054872108573f,\
1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\
0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\
-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\
1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\
0.0691827011392311119753f,-0.6229915735462322468052+%i*1.5707963267948965579990f,\
-0.2657062181808059753152f,0.8160024961656430209089f,-0.4894047987117864928486f,\
0.8587006143920951073412f,1.1051698569402153005115-%i*1.5707963267948965579990f,\
-0.2701243583599451381083f,-1.1113900272171266525589f,0.2908920738530955119039f,\
0.1172101729688146409813f,3.2706795664298211612220-%i*1.5707963267948965579990f,\
0.4518615589828762768576f,0.7020915980292293800957f,\
-0.8787256719819279693340+%i*1.5707963267948965579990f,-0.9538277279422371357498f,\
-0.7330177387440419689568+%i*1.5707963267948965579990f,-0.0441506837064596646680f,\
-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\
0.1576133484131722883870f,-2.8460534045826286764225+%i*1.5707963267948965579990f,\
-0.768075815339287371053f,-0.4181165627609883528315+%i*1.5707963267948965579990f,\
-0.5448685867460187903788f,0.3158443034854154785052f,0.0051109317177532613205f,\
0.3613121056785816853640f,0.5080216801947243787652f,\
-0.5233928099098102970643+%i*1.5707963267948965579990f,\
-0.5953313420807592182271+%i*1.5707963267948965579990f,0.5535880446904775098460f,\
1.842839548963430384987-%i*1.5707963267948965579990f,-0.6411995769353845409100f,\
-0.2922619465382557679689f,0.1441406428551997020993f,\
1.6252679142635939602002-%i*1.5707963267948965579990f}
*/
#define CSOURCER {0.1566312085376346807664f,-0.9832172164912469369824f,-0.4352704306190940952703f,\
0.5411529581857100756892f,-0.4189678441885264503775f,-0.3123240835354778588417f,\
-0.6429953452754243459211f,0.5746034575341304462270f,0.0583200256392587754184f,\
-0.7281504683187327575666f,0.4564682359303286474095f,1.2276307555220513645367f,\
1.0722151830463704236251f,-0.8694353593641974686790f,0.4560977429718384712487f,\
0.922397585949679688078f,0.3447492619094876808994f,-1.2072516069836567442763f,\
-3.0311848873460989217676f,-0.5227521113472203273531f,-0.9127256852426085531604f,\
0.9702908997340189412029f,0.7984557906741573951592f,-0.374280495762714437991f,\
0.2178224309624917087724f,-0.7621335705740988064605f,0.4017588191443041689688f,\
0.0259981222714757570502f,-2.250132425948803138738f,0.5878367273362664624514f,\
2.3809410297786541832465f,0.1486053165381447105364f,0.101236219868174881498f,\
0.6421364318076420163450f,-0.6540329098904471560871f,-0.5416580949191436289425f,\
0.9514918150544823260972f,-1.267340977798151469003f,-0.8455403103569121281424f,\
-0.364558782701674466420f,-1.0697180418170626481356f,0.1606013529586497734503f,\
-1.6656989490484364058176f,0.4667927145215887141383f,-0.0128825329067423742513f,\
0.9947195275346620846335f,0.8275102004468978256213f,0.2927543106645062453985f,\
-0.9280170868066852651879f,-0.3636959897126564866809f,1.4783506936052415170479f,\
2.4281448731590140610592f,-0.0602106018714212570808f,1.541843889601811401491f,\
1.341076792855444343999f,-1.9789304036759756133534f,-0.3294688652910273685137f,\
0.622286327382227888450f,-0.6118557906779339417014f,0.7459354816620213934897f,\
-0.4040802511755230974622f,0.6577039363065745325443f,-0.5486081684530353941298f,\
0.3927975474240214537325f,0.7894975295935096060163f,-0.1452945797743281086678f,\
0.1437495883505973681693f,0.4103084241265512188690f,0.1795141291570316322002f,\
-2.0420270362087347137958f,-1.0136631446624102537157f,-0.6372521675576777733241f,\
-0.2601528835939894701568f,1.1986221523039410907785f,1.601129898882974078589f,\
-1.2343266797475058726974f,0.9483471983582205666607f,-0.0424058145973261885198f,\
0.5150673339403005757120f,0.0937153808744289607002f,0.4638195050716256706558f,\
0.2202932903531656105844f,-0.6924450714085558233890f,-0.6889026252552187257194f,\
0.4927201161848878685490f,0.3688430529148965519859f,-0.1495056200185169992256f,\
0.0956460878099940903230f,0.8967077311519383586713f,0.7486850824131056070243f,\
-0.3635393959060023716390f,2.72178097931810514254f,0.8872833757746945160250f,\
0.9893578306194498184212f,0.8262130885403843327808f,1.8679166202704664545564f,\
0.5569566531470352410693f,-0.0576405625178402075681f,0.8001172842696224751791f,\
0.4480121632350138050072f,-0.2882322764074837784243f,-0.2677211241656151097246f,\
0.2862315832454170316801f,0.9463381000719524038800f,-1.574827516423719320215f,\
1.7962971923614798885893f,0.9930237578825827915452f,1.17225507537484907594f,\
-0.9161863233099263315040f,0.1421586828731320473196f,-0.1430347256308386882928f,\
-0.4683233849545334614994f,-0.3180446316984328336552f,-0.0576576190062656410151f,\
0.6249620545306199259628f,0.7539731616235149092020f,-0.1134181356790778527621f,\
-0.3551074647649283821949f,-1.5743164879335251882253f,-0.3132427332940839193043f,\
-0.5345549536487770314608f,-0.3108292305558989498948f,-0.0698678127822071615149f,\
1.9098270701284520978191f,0.3087451523556873911325f,0.792464324566980904407f,\
-0.7089070907362685636244f,-1.69657580301203281259f,0.2839165766617411379436f,\
-1.9503478026750964424707f,-0.8383432843348773699788f,0.4243701560501659808544f,\
1.0206422864827822127864f,0.1651260412410127109695f,-2.4565661716609770159891f,\
1.3581676364949575308572f,1.5976518292284813682613f,1.038096252933477403602f,\
-0.2179395863297476365616f,0.1906211564102877620286f,0.1220518503007956001571f,\
1.7007780598076820410824f,2.3461749520518053735429f,-0.7583114756702955538969f,\
0.1563580374722161325796f,0.9458374821601646109670f,1.106385383701591562655f,\
1.857413924600636034867f,0.9819266230329063427362f,0.1010843883126317094279f,\
-0.0394749928167329941497f,0.9565452494078602319050f,-1.164240263162510835571f,\
-0.0360262254241734622418f,-0.4279483181417821913151f,0.0207154879461370518279f,\
0.1331812668838084079415f,0.0637098112636336894044f,0.5563753726211196903861f,\
2.170691821782472885616f,-1.4105863647114469383581f,-0.3956456917805734052607f,\
-0.7536155387925271842420f,-0.1512156734265959479036f,-1.0252674376565367175829f,\
0.9250804906985814479725f,0.0319417929504777348138f,-0.3662171854280546479110f,\
0.9733260674698945846828f,-0.2668109355235854240895f,0.9653716053391865337119f,\
0.5007936673782547032374f,-0.1208939822530236685161f,1.0971085072938426829836f,\
0.2029604338428208087919f,0.3746473304704570073120f,0.9561076870030955632274f,\
1.1282520720814495085449f,1.5637873924930061342309f,0.4739411474762828535567f,\
-0.9908999627117486275196f,0.4483771591380850130015f,0.7638174840760570960541f,\
1.21967084705659489785f,-1.1141855892005874117956f,0.3637931277318062761594f,\
0.0172116174170295101187f,-0.5359859794230503737822f,1.7180258735531828140353f,\
-0.4389711879238100133982f,-0.5289769194381308548003f,-0.2349363816328474963147f,\
-1.770826942434098993928f,-0.2698746134406798669048f,-1.6219764795098883247704f,\
-0.4683402918639187895167f,0.4233140865550635290049f,0.5072350201185169549234f,\
1.846909249365268790299f,0.8538988411566506009365f}

#define CSOURCEI {-1.2880264074010461250452f,-0.9681461673606511775247f,0.8819263929226937026584f,\
-0.2968181427237222558269f,0.3676169132810200301797f,-1.4546278949302484662098f,\
-0.4969724671301882223950f,-1.3684785326259825133377f,0.3201951876584711031981f,\
0.0925515282972030062236f,-1.3629699188377910612502f,1.3008264376880041002238f,\
-1.312881117519760332257f,0.7519787618494813141723f,-0.349314202941638340949f,\
-0.6612113457421112672208f,-0.1912192548186895935114f,-0.2871763408135362682927f,\
2.1040662039819300055399f,0.6770601919983177952034f,-0.9998765495359557275989f,\
1.0320694267454630921321f,0.5184250597548623051836f,0.3020078279774962016f,\
-0.2426203970909892593255f,1.085343122387009806573f,0.3728224888143483184422f,\
0.3597109342835585477083f,-0.5464095547489105086925f,-0.0522892744113094345981f,\
-0.0037796004128336437196f,1.3386616898503973516199f,-0.8603866811447716811401f,\
-0.215138661778858181206f,-0.1519505658345833010170f,-0.0684049031594022166614f,\
0.3134237083474871732314f,-0.2552970754123656815793f,1.0371924512876768975644f,\
-2.4944520251764212837031f,-0.9105655292839007763916f,-0.5967335487543307115388f,\
-0.6520109300715212219401f,1.891233309015407648701f,-0.7688305781614098721732f,\
0.1640648747943601049037f,-0.613585069751534706306f,-0.2234197861121311190491f,\
1.9233974415188206386063f,0.315204859780382373735f,0.4595542257467975510998f,\
-1.1764564844019769207506f,-2.1928435621757311757563f,-0.3567337876240649907622f,\
1.4844812942744205486179f,0.2127167501638982105572f,0.326665566953199926203f,\
-0.3823116465408597508535f,1.1195697860125490841199f,0.3156195041989769412005f,\
-1.3411228504687704443654f,1.2817926351994635147946f,-0.8385592799769060468051f,\
0.2920629737538525949603f,0.4117329700106473477916f,0.8168979807640022183790f,\
0.6114286447089312126479f,-0.9103003485572774833301f,0.0883797323534893930486f,\
-0.8309636819350860736932f,0.300088746736916378577f,-0.9870316877320252091366f,\
0.0574605523525985317779f,-0.0055294403676948468418f,-0.4910286442216560409690f,\
-0.9282905300686704608282f,-0.9620222168730435674533f,1.5101979946106838248454f,\
0.16215452036647093337f,0.8355679951054210130579f,0.2598273768449387843837f,\
-0.8781794540671359339257f,-0.0960593767304002976726f,-0.8457942620552999501982f,\
-1.5126206512504021262089f,0.0267016916333849170517f,-0.0455102979008666919114f,\
-0.9512410833653791586428f,-0.1410038404270228529214f,0.8526701417894808621156f,\
-0.5427383894147087550763f,0.3670995115141847953133f,-0.4196045805115825033660f,\
-0.861511165291383607112f,-0.5242638386479363532544f,-1.0690056931583220567461f,\
-1.204258995571379831091f,-0.1994216356488724417595f,-0.651264013076401249158f,\
-1.2804046190990912013064f,-0.1189798590125256405603f,0.2757828726342566594276f,\
0.1186787898486535430820f,-0.9717707229710241811915f,-0.2337132662497607982210f,\
-1.2810105417899781965474f,0.4516508120864454189913f,-1.7941677742351858082515f,\
1.2424962452829722003855f,-0.1452111265545129592525f,0.803374036348334819024f,\
2.2359407014896999221776f,0.0801276770871145183062f,0.1489247936009177042394f,\
0.3146211320275099643240f,-1.49119197842913098206f,-0.8212344459793755602206f,\
-1.3094646972226284820096f,-0.2661055404338998897629f,0.2164009824597608044883f,\
0.4021554472831923576770f,1.0836546525394512574536f,-0.8330897968467666503400f,\
-1.2783354864784060023197f,1.0944391027576960695455f,0.5158321013729825210703f,\
0.5039256424604841022585f,-1.1530018443600813515815f,0.5567649276400054025871f,\
1.5507245891800580661624f,2.0511800424609365478545f,0.2003839203406024560561f,\
-0.5188228347179002497569f,-0.5014579405716672599880f,0.2409475853154263991218f,\
-1.2895515809257553918599f,1.3505164949531500706570f,-1.7662555890569775485233f,\
0.0695313390316097817978f,0.4857809488385180229919f,-1.54949381746834280449f,\
-0.5022279078645265348868f,-0.4715667339089154030951f,0.9071363416804920642988f,\
-0.0090747242741150424550f,-1.426140714401586517823f,0.0902619806757116310836f,\
-0.7111783918397256432087f,0.4421886947944868029303f,1.3229936148586256550175f,\
0.0399972677459073389095f,-0.2744759605679197855821f,-0.6365722011642755973071f,\
0.0838977431731276618310f,-0.0154779602574307128399f,1.3680369604712516728995f,\
0.8578728691952266505183f,0.9477645632263477226687f,0.4034044727794333096149f,\
-0.1637512612660888822180f,-1.521579761721328916124f,0.7389202762668894974851f,\
1.6242287608009475796678f,0.0251523200085141500348f,-0.2296479198161843759962f,\
0.3374847554612029343346f,1.0988696857027278053209f,0.6720077941707034430152f,\
1.6284314621145825618953f,1.2811365743500131575416f,-0.6480287734962971724073f,\
0.4079918994040774293808f,-0.6857363255654103095793f,0.1644734231427373016832f,\
-0.9707468997532966437092f,-1.0103908741767126944211f,-0.3245462572729273520444f,\
0.3569008288111439886059f,1.1707819570142721232742f,0.0931015649413182710958f,\
1.2605162559518456877328f,-0.2998099303847839292025f,-1.8576048661033506270712f,\
0.3542284165121863948045f,-0.3606813370588974332343f,-0.1691565053601437607078f,\
-1.3723457158075849093848f,-0.3869812789951324605298f,1.327934065790971063237f,\
0.6883264291332520379285f,1.1636463404567130019984f,-1.6679940626595868291560f,\
-1.1660526540945894691248f,2.4012435579972462029730f,1.8717476066252398680945f,\
0.6269431765551266577674f,-0.7276289505214773578601f,0.5485159953217271233683f,\
-1.0371187436769986334184f,2.282202076649753941240f}

#define CRESULTR {0.0586345786159515672264f,-0.4119079581767730036113f,-0.2376773392005311347219f,\
0.5274985111723742292611f,-0.3785076402666358030835f,-0.0984442400006558665515f,\
-0.5157322835496214175066f,0.1877549307968403857760f,0.0529309487949000886942f,\
-0.8980782630098248509043f,0.1535280327645664466552f,0.3347825460369071581823f,\
0.3118103625565722958335f,-0.4854100811784345381739f,0.4200271027799429846006f,\
0.558160367722654870981f,0.3440445808210612077538f,-0.9190853850068781971672f,\
-0.2206972238733744262618f,-0.3495146734241325048309f,-0.3828254526784128919381f,\
0.3837160824181031770763f,0.6067122840309074893739f,-0.3528285483819846302112f,\
0.2081338122939639656561f,-0.3109916924279712002743f,0.3607981848765179355709f,\
0.0230220619188065515892f,-0.4409843876587154487545f,0.6706334235337022553480f,\
0.4476928944367338791821f,0.0530051009287677843407f,0.0580922710665942171326f,\
0.6889248635636368023327f,-0.7403179849986993854571f,-0.6014835481325517818618f,\
0.9148458682398055152873f,-0.9100406392834269331260f,-0.3512629496668798201320f,\
-0.0497281250251861567380f,-0.4533232590993708788218f,0.1183827451686376569517f,\
-0.5400714293963024825729f,0.0986159601519734224651f,-0.0080964813496256192449f,\
1.2504251172076377152109f,0.553383982176059552316f,0.2851532314993195926789f,\
-0.1735373380028721046475f,-0.3392884681219434650501f,0.6674877635610125814480f,\
0.3361668249120546292374f,-0.0103608516149833115860f,0.6876886023380593959686f,\
0.2994018975364160506381f,-0.5461669463711513738957f,-0.3036470157958083837535f,\
0.5659099835134179246054f,-0.2522688982901432619421f,0.73840604848731461463f,\
-0.1399717847889199173750f,0.2285367773899925347703f,-0.3073816797691770186240f,\
0.3738323046463303267473f,0.6895008314715558306318f,-0.0869179912549136179933f,\
0.1045814791078650968226f,0.2183617419002600035238f,0.1799962512946713666384f,\
-0.4306170362358095471400f,-0.956790010441086580251f,-0.2988659063401313820130f,\
-0.26528818791890551587f,1.2018988344435987958292f,0.6134078020904577543959f,\
-0.4635409097157874858119f,0.4066731412601408690577f,-0.0129216461290907521503f,\
0.5459518490067882812156f,0.0551242941387568297085f,0.4571890743247491450951f,\
0.1235106929418888221939f,-0.8301715333893021631084f,-0.3700021952100086553017f,\
0.1433522018206848380739f,0.3867313699737674470569f,-0.1503114555841373045642f,\
0.0501390172375495365986f,1.193524050554648274769f,0.3916234392819171183930f,\
-0.2811037877759303138525f,0.3767282302151824247005f,0.7464338830239950484113f,\
0.4613726054161970124845f,0.6177367275920276901147f,0.3993738908711506052640f,\
0.2139276426895061200550f,-0.0554860078847602203322f,0.5165924809229520686671f,\
0.1633124027176871273515f,-0.2918709165103665625907f,-0.2528080890770357247455f,\
0.2897583915934112130941f,0.4021736360794072595581f,-0.713539018877845987454f,\
0.3562716257530119112751f,0.7547097044407786725628f,0.2233423544188815612621f,\
-0.3032157270895312062287f,0.1400739703409606129458f,-0.0867211925226533952848f,\
-0.0758855325499612903828f,-0.3269646450472631915574f,-0.0564625318897502212478f,\
0.6090972295195002939039f,0.2104281878811394279616f,-0.0676285383445118792878f,\
-0.1277092508406163506862f,-0.7041149381903939463712f,-0.3071683332013411815709f,\
-0.4736979352269045095980f,-0.1404550230528205378988f,-0.0412179517191962191403f,\
0.3529283428251930310182f,0.1380434056063472858522f,0.6051661095195016715209f,\
-0.5594498837332433360814f,-0.3889971602159096875084f,0.2168075281019664068971f,\
-0.3028666557798217473518f,-0.1458483340857026078208f,0.4293137169051447488144f,\
0.6953697523295457871839f,0.1321249855766219449826f,-0.4265596445818128912286f,\
0.3486234081846604770938f,0.3421608935025099995642f,0.2115120471977689209364f,\
-0.2203370156751261743633f,0.1545639581145290264441f,0.0357922784779254460341f,\
0.5794250482661091883330f,0.4312552311016552564205f,-0.3727620017605887681178f,\
0.1576377379130869393897f,0.2624856474568436071060f,1.3577286999442579329411f,\
0.4860182340340697959569f,0.7617714539289787145648f,0.0366834217396586823035f,\
-0.0394322693273299676453f,0.9807192175900326658322f,-0.6164954700307514467994f,\
-0.0357893654572665059765f,-0.4572287236587250780495f,0.0072135289476597582586f,\
0.0765359692550191955673f,0.0335408660165012612042f,0.4931690601828112585636f,\
0.4939993220457917777466f,-0.296325232124018844715f,-0.2516901659302647753513f,\
-0.1874945429943649932714f,-0.1522841974461120184703f,-1.0886404519839611992893f,\
0.8661426586684568551533f,0.0144669239838038730245f,-0.2498600121525025030689f,\
0.2258303913936256790418f,-0.0996627600161344717744f,0.5798388843647412915772f,\
0.4402912178536843579302f,-0.0821496253311937152386f,1.1995498265712831731378f,\
0.1037875988793510867447f,0.1808411497687466285011f,0.9003994950861190504909f,\
0.8693703906397208802659f,0.3871229651004495231348f,0.5084262016718109622460f,\
-0.3127921352240150554280f,0.4284515458646944163768f,0.1566612259199449408431f,\
0.8425254932446538669311f,-0.8675086878856705929763f,0.3679908151081396905369f,\
0.0059690185652748976169f,-0.4818927853047598741654f,0.3475368987720111602080f,\
-0.2928677403656957944911f,-0.21281918945471237081f,-0.0615315656203920743894f,\
-0.3828854358877186170318f,-0.0395445045895176927608f,-0.2453056840726963727661f,\
-0.3319274210060903507191f,0.2716611153754885932265f,0.3885772436850290501020f,\
0.4083161225294907326067f,0.1256636073410991871757f}

#define CRESULTI {-0.9150826723701824816359f,-1.0038007968241344780580f,0.7761168535216221853190f,\
-0.3822213477951738047622f,0.4088073079437265500147f,-0.9829838814461281382151f,\
-0.6207924428978939257462f,-0.9924436424002488488227f,0.3107781745847606469368f,\
0.190823563908477877860f,-0.9717930993017909191423f,1.1362832817249874928223f,\
-1.0952400709881249252220f,0.8906629459042527674484f,-0.4031733379746096357366f,\
-0.8926214809458651311402f,-0.2125955165236021182640f,-1.1626545105534673574255f,\
1.4098114180999468114663f,0.6875898477221956683891f,-0.9827065462915589577619f,\
1.0122682558571856059615f,0.7403338169936454216113f,0.3329978318477040399870f,\
-0.2487126175192662380642f,0.9535461622187894059621f,0.4086259224331897366156f,\
0.3454903551399998162807f,-1.4480476267508943788442f,-0.0795552773231696652712f,\
-1.5699867995861691571946f,0.9329922799220887741356f,-0.7134073946597112581003f,\
-0.3357762973784728099957f,-0.2527252112264842809353f,-0.0962463379406888058787f,\
0.7882465889811950399135f,-1.2456800812145352175264f,0.9674854545265952898703f,\
-1.1957951138140576752278f,-1.0308375326751320066876f,-0.5464592420922904647540f,\
-1.3032325007401501792970f,1.1035601617683621356036f,-0.6554945586705149818130f,\
0.8103435172856551238496f,-0.8103372317467707475203f,-0.2385573277010208381732f,\
1.1587938021757215878438f,0.3435431890072572769235f,1.279788873802896409515f,\
-1.3915550484745486947702f,-1.143175630086853633571f,-1.3493948361964505089361f,\
1.180878018812092644652f,1.4994549779312595916281f,0.3471363780379303487500f,\
-0.5114436565324694816681f,0.922077454999635448551f,0.5359370502466848096290f,\
-0.9575622722618749582679f,0.9840232928412098178939f,-0.7866361736794498238368f,\
0.3275153905103054818859f,0.6621644080795368036974f,0.6911787537867797315272f,\
0.5555203262090003812901f,-0.7845741854114917090968f,0.0910458923193785268912f,\
-1.367532424689007264362f,0.8821163892946874973688f,-0.8805618815721650838313f,\
0.0615381817744835926676f,-1.5581379012861951149915f,-1.3216226160366340014463f,\
-1.1059140418930615279436f,-0.9879008462145800750775f,0.986169123983388073995f,\
0.2146596902165759102044f,0.6986026791593697993221f,0.3134566221055383739014f,\
-0.7342575229927524871343f,-0.1797145584041555665955f,-0.8413107892059722425770f,\
-1.019619130948550722593f,0.0308925093685123823561f,-0.0465149720271331584831f,\
-0.7628135267341744629732f,-0.5063811875785856342347f,0.8689285269800102184945f,\
-0.5424489267017504889878f,1.5149231207825908374076f,-0.7635699257253423244407f,\
-0.9835608360649982229162f,-0.7651335213236122312352f,-1.3047698554262849857110f,\
-0.9383103802342007693227f,-0.1974540431056293898759f,-0.8100733516290339331078f,\
-0.9439058311312691351702f,-0.1288637100697393178539f,0.2871927052822376702501f,\
0.1283857487876574610119f,-0.9893521517129132414325f,-1.4229736910621084700068f,\
-1.278268082403663186142f,0.88910168768678732309f,-1.1784373117164359534570f,\
1.03935358865908744619f,-0.1470722349218777647017f,0.6828818013490814964328f,\
1.1635383473949738597497f,0.0888393991592487247688f,0.1483135488190464867930f,\
0.4446342289575472839225f,-1.055940453660143329984f,-0.6913288042725108661912f,\
-0.9407243087808065951094f,-1.4053508981321376491991f,0.2342864098211708545616f,\
0.4844410101414913238926f,0.8475776035888460402390f,-0.6960123633858344982528f,\
-1.3016421578221382127083f,0.8519589639880413844963f,0.7342440505866469901974f,\
0.6668635124458689444893f,-1.2591545397069716649696f,0.535024814500131951078f,\
1.30226369708141054282f,1.1661057476987222170095f,0.2373787574293542146364f,\
-0.9309471081116736934646f,-0.4736579850459717855315f,1.5236251088004300058287f,\
-1.171065543003733777638f,1.2334327135159162125433f,-1.153213069447322158823f,\
0.0728510737378383066432f,0.4639741641063248600574f,-0.9996734202650466860618f,\
-1.3518108187607991155232f,-1.4723273061328936428538f,0.8933558949405833171653f,\
-0.0093018535376701225181f,-1.0826576750905823054438f,1.2404141733855511553486f,\
-1.3465428092378513014182f,0.8747309046321107839361f,0.9253397074562169644096f,\
0.0400381835355557713640f,-0.7765785126027255902414f,-1.0546807717631738743336f,\
0.0838092326986521196641f,-0.0189446011407611511479f,0.9396543988269212555053f,\
0.7141040044798073749277f,0.7596541492574908627233f,0.4957818734457210552158f,\
-1.5271090619693206136276f,-1.1987057982776780917789f,0.6860846415801318265437f,\
1.0836815939774062655943f,0.0257348439490480244973f,-0.8966457616590515211641f,\
0.7629454929184202871539f,0.8326995831057554253718f,0.6358947917453465770166f,\
1.122174794910343109677f,0.9210086183100237855470f,-0.9179542949015334629692f,\
0.4753128844824887067055f,-0.6057418122474197419436f,1.0912054352763760345368f,\
-0.7811598998629154522177f,-0.8252118132068452238670f,-0.8003932093064218822320f,\
1.040963230413896711823f,1.2239764586679500180111f,0.1191234084420016575701f,\
1.064003892301497833373f,-0.3509788166940612241795f,-1.1278108079499422622405f,\
1.1420720075136889803957f,-1.0231852297083139369249f,-0.1916370368791805167685f,\
-0.941129540386991148004f,-0.4709650954727132576849f,1.2604683484747309929475f,\
0.6665567013842946808566f,0.9183588395793375047660f,-1.0371195264398431756803f,\
-1.276620042706810842503f,1.1799805845600985776400f,1.255793767839696428723f,\
0.6354974793467924598644f,-0.6865980682751140484754f,0.5939555774818401356896f,\
-1.3024651432778990844952f,1.197724373266410013983f}





void satanhsTest() {
 	float in[]= SOURCE;
	float res[]= RESULT;
	float out;
	int i=0;

	for (i=0;i<200;i++){
		out=satanhs(in[i]);
		if (sisnans(out)) assert(1);
		else assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-6);
	}
}

void catanhsTest() {
	float inR[]=CSOURCER;
	float inI[]=CSOURCEI;
	float resR[]=CRESULTR;
	float resI[]=CRESULTI;
	floatComplex in, out;
	int i=0;

	for (i=0;i<200;i++){
		in=FloatComplex(inR[i],inI[i]);
		out=catanhs(in);
		assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6);
		assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6);	
	}
}

void satanhaTest(void) {
 	float in[]= SOURCE;
	float res[]=RESULT;
	float out[200];
	int i=0;
	
	satanha(in,200,out);
	for (i=0;i<200;i++){
		if (sisnans(out[i])) assert(1);
		else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-6);
	}
}

void catanhaTest(void) {
	float inR[]=CSOURCER;
	float inI[]=CSOURCEI;
	float resR[]=CRESULTR;
	float resI[]=CRESULTI;
	floatComplex in[200], out[200];
	int i=0;

	for (i=0;i<200;i++){
		in[i]=FloatComplex(inR[i],inI[i]);
	}
	catanha(in,200,out);
	for (i=0;i<200;i++){
		assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6);
		assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-6);	
	}	
}

int testAtanh() {
  printf("\n>>>> Float Hyperbolic Arctangeant Tests\n");
  satanhsTest();
  catanhsTest();
  satanhaTest();
  catanhaTest();
  return 0;
}

int main() {
  assert(testAtanh() == 0);
  return 0;
}