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
601
602
603
604
605
|
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
*
* 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.1105866164187250255679,-1.0028386111936116176224,0.2375765916352992890292,\
-1.9260782734203465427214,1.6339029335662884623304,0.4006142544568777608127,\
-0.1884054141613809019162,0.3250370808239260722594,0.4942341130822986983162,\
-0.5271214361991748420522,-0.2047974713791562706433,-0.6989092545405519718571,\
-0.7715561486980614391840,-0.571989225566208348006,-0.5020150984917894909643,\
-2.2857334641783242368263,2.332010485133160226923,1.3889136138977253853710,\
1.3789467621494246873937,0.1097978131481585906126,-0.0647218447158609960779,\
0.0281807372021152316433,0.1350188864488831574917,1.0304207301469319180143,\
1.2534650597477734468299,-0.6673847151191693027883,0.7687329161404042876526,\
0.9397659613234893294376,-0.1842256540708016310237,-0.6380964000421092130466,\
-0.4312384814994691395462,0.2955203345655439961526,-0.9485014036835781592316,\
-0.7318488744075331009498,1.0038104194654713374746,-1.1353561092070965088396,\
-1.0960321876977914268281,-0.0171134176442899188508,-0.5858103496627128370378,\
0.1289555865425900393895,1.5820296359767425098397,-1.4631497998103890623156,\
1.2963845181574007447978,-0.3801415377268548834166,2.06830447887869084411,\
-0.5625246161593648874799,0.5326361661049561213588,-1.2444472935191353002438,\
1.98041335297601972520,-1.1243976757801756871658,-0.2002672475586080858001,\
-0.8369527550627472445299,-0.5501861155367867572963,-0.4142018271607930679501,\
0.0805610771656549429220,1.1377543872793591805959,0.0358630657002049213489,\
-0.7784293535508046701921,0.1468114639619267913773,0.8017875463824070125796,\
0.9541283226908341408290,0.2570812112878080313294,0.5669583797452802942374,\
-0.5124357940757415796895,-1.0874670623228419596984,0.1679748561443953069894,\
1.0653376770396050243761,1.4418584607257751706300,0.4931419934636970814346,\
0.8961862868877283894165,1.9862847823434610639026,-0.1823693074986679762972,\
-1.4947586037652456081304,0.2872503175279246256935,0.0312925927822978733328,\
0.6112211190486463996407,-0.7772375221664085120921,1.1093137211625221372202,\
0.0442238350338455751820,1.6762117307909378816078,-0.6876351157010545112058,\
-1.22967891951066876643,-0.1299578267276684795384,1.6975824415216096419101,\
1.308926550069704708434,-1.098941911191897657929,0.8471934585094353931112,\
-0.4433269337102597185130,-0.7837315591442685080992,0.9116218827858540985076,\
-1.0105858633572861737804,0.4876488481804939212338,0.0655402107055627763943,\
-0.2953709263667435580558,0.6148227532021686148056,-0.4034374023520052587877,\
0.5833631341612930398810,-0.5528588193199002187583,-0.2778100246524093375200,\
2.382193101614083818873,-0.5178234271111435971235,-0.6905004153871671102038,\
1.1100538942612350190586,0.4362472672541874985086,1.6185312525007526929244,\
-0.2435431173062182208522,1.3489566990051822248375,0.7594498437474611618470,\
-0.2810994191894010674204,0.0572337467470783664569,-0.2986850540752242211262,\
0.3080328437634018978741,-1.063898707867213300204,-0.4732241206771939379117,\
0.4359979545522715271844,-1.1975945596394972358922,-2.0463590761656762495591,\
-1.6981361097863292286547,-0.3298420709745075729558,0.6443404115154376388119,\
1.1582132747946760620295,-0.1360263343598554774960,1.1191856336437415730956,\
-0.3857336264473540388131,-0.9009857125105711350699,-0.6654259233895634118028,\
0.8142113557520732625150,-0.7421459588282103281287,-0.7442082361451903826932,\
-0.7150337980929084569226,0.9101123379002086233314,1.6512593716591941195304,\
0.5444875921569681809231,-1.4717893200735545633506,-0.2233299046672752585785,\
-0.0991741463892287511417,-0.9902546973703609811679,-1.376446086882661790085,\
-1.7488399727971684072259,1.8239775508132596293365,-0.2630036367047015599674,\
-0.5010962842642737724574,-0.5862555775092695986572,-1.3195380346103915414346,\
-0.3864449051827200110054,-0.0225200748008141174439,-0.9526576040369814091235,\
1.6155833271255157779223,1.2505121957121025921822,-0.1546296525315759562424,\
0.7865497689541539605429,-0.6949758322935190024694,-0.4332203785337710999492,\
0.6084666055394067907258,0.2648887243137521552150,-0.3173806367287662633103,\
-0.9277748648924035723695,-0.6967437125955047161341,0.0106825075357279020843,\
0.7977499585474604471003,0.9612439572909651230859,0.6750778949370804804531,\
0.0690725368983376858401,-1.8076399886892613455558,-0.2596249600654364497743,\
0.6728882350569161951981,-0.4537439012069451327314,0.695587590556807633391,\
1.2463414096089968641223,-0.2637405473740589423315,-0.8045531944567444471161,\
0.2829556705817293793537,0.1166763530431780965246,1.0028892209395869894450,\
0.4234280063942446603598,0.6056937191431178701961,-1.4168714241399820163991,\
-0.7415110426654055730822,-1.6002352979874459038001,-0.0441220186662526561716,\
-0.6809183287313597121582,0.2835255852521558761481,0.2496331067144885174081,\
0.1563210463282909690186,-1.006767784835231216434,-0.6458091780006059989816,\
-2.529451976430145521135,-0.4966644528621277365765,0.3057445000796202294602,\
0.0051108872162743653259,0.3463692486733729314352,0.4684023556979828861735,\
-2.0819698824296395400779,-1.8736446723365958177965,0.5032045449115828406050,\
1.0514506638411960093293,-0.5657157774822674234372,-0.2842153768346438180714,\
0.1431506224954579853392,1.0806316268163596028273}
/*
#define RESULT {-1.4744610660983759053977+%i*1.5707963267948965579990,\
-3.2795029213225106445861+%i*1.5707963267948965579990,0.2422041646840577544531,\
-0.5752297863073998485106+%i*1.5707963267948965579990,\
0.7121630945985538696519-%i*1.5707963267948965579990,0.4243803995861772371256,\
-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\
-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\
-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\
-0.4691302795139216663678+%i*1.5707963267948965579990,\
0.4584432136447526562328-%i*1.5707963267948965579990,\
0.9076183700076346783092-%i*1.5707963267948965579990,\
0.9185087029260963209509-%i*1.5707963267948965579990,0.1102422571172131521289,\
-0.0648124440153749203919,0.0281882007066550886731,0.1358484485857832935185,\
2.1004370090239423696232-%i*1.5707963267948965579990,\
1.0924991774831627200371-%i*1.5707963267948965579990,-0.8060125587957032156083,\
1.0172227264061333151801,1.736042493622687921118,-0.1863533018119427342452,\
-0.7549561185313359290561,-0.4614170985204111286038,0.3046041145449288611857,\
-1.8166306469319770666715,-0.9326970536559181512715,\
3.1325332888309622703105-%i*1.5707963267948965579990,\
-1.3792397781139973389486+%i*1.5707963267948965579990,\
-1.5415589891296013203004+%i*1.5707963267948965579990,-0.0171150886014554831638,\
-0.6712634278717346525411,0.1296776288627018158817,\
0.7449048409492748934468-%i*1.5707963267948965579990,\
-0.8355728364335629487769+%i*1.5707963267948965579990,\
1.0237167786809893144095-%i*1.5707963267948965579990,-0.4002250855702985665729,\
0.5275261647661907415952-%i*1.5707963267948965579990,-0.6365188485604326151801,\
0.593818237113303393215,-1.1086074290970830968917+%i*1.5707963267948965579990,\
0.5559215037224033428842-%i*1.5707963267948965579990,\
-1.4188800488983950298660+%i*1.5707963267948965579990,-0.2030109524350925953584,\
-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\
0.0807360417981298622569,1.3710194541092590725384-%i*1.5707963267948965579990,\
0.0358784527834248925804,-1.041372191940861169357,0.1478800901804916689830,\
1.1035975394582797637355,1.8759258138597765253053,0.2629805384285096581110,\
0.6430289187352878910175,-0.5660273762902281458054,\
-1.5862221930864266461469+%i*1.5707963267948965579990,0.1695819872689824647782,\
1.7267400811821158601589-%i*1.5707963267948965579990,\
0.8547625432037965209631-%i*1.5707963267948965579990,0.5402035003963170378682,\
1.4525009288261496731565,0.5539201036322172200244-%i*1.5707963267948965579990,\
-0.1844324167806210001963,-0.8089386385243267918455+%i*1.5707963267948965579990,\
0.2955667016509896383170,0.0313028129649670083801,0.7108684384800065814147,\
-1.0383547009634652713572,1.4799479994581337116699-%i*1.5707963267948965579990,\
0.0442526991314810200229,0.6878256510027744852209-%i*1.5707963267948965579990,\
-0.8434557413354200061661,-1.1364652701643074284021+%i*1.5707963267948965579990,\
-0.1306969520152806707447,0.6762452782098172798797-%i*1.5707963267948965579990,\
1.005717225984443130571-%i*1.5707963267948965579990,\
-1.5273278613167085016045+%i*1.5707963267948965579990,1.2461250150575873263392,\
-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\
-2.6233309837037732670240+%i*1.5707963267948965579990,0.5329709825316656379712,\
0.0656342963912304455665,-0.3044404175419783142864,0.7166384348283165728333,\
-0.4277478080499193535680,0.6675457063378462674308,-0.6224892627320329774321,\
-0.2853073726746037097612,0.4474264519637772830052-%i*1.5707963267948965579990,\
-0.5733611255013777441292,-0.8489115589330021860448,\
1.4767492874056193929988-%i*1.5707963267948965579990,0.4675865941091252309114,\
0.7215105644264150352996-%i*1.5707963267948965579990,-0.2485372004835029458025,\
0.9533893539015392271097-%i*1.5707963267948965579990,0.9949139163386880868600,\
-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\
0.3183705746036424866219,-1.7375264548714035583998+%i*1.5707963267948965579990,\
-0.5142166878802835183748,0.4672787235144033601841,\
-1.2044507032201230423141+%i*1.5707963267948965579990,\
-0.5343152701155061690130+%i*1.5707963267948965579990,\
-0.6759512002250491757849+%i*1.5707963267948965579990,-0.3426510354825004212032,\
0.7655602779397917556636,1.3065460037453791031226-%i*1.5707963267948965579990,\
-0.1368747459554155443406,1.4390524672743967293798-%i*1.5707963267948965579990,\
-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\
1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\
-0.8974087416560057040016,1.5281783215878395054688,\
0.7019410287263873060581-%i*1.5707963267948965579990,0.6105122611902852325372,\
-0.8280825291376695540535+%i*1.5707963267948965579990,-0.2271580885894484980181,\
-0.0995012215536074662303,-2.6596162554083884188572,\
-0.9212932842045244985485+%i*1.5707963267948965579990,\
-0.6502044836894653734305+%i*1.5707963267948965579990,\
0.6158791818865629874580-%i*1.5707963267948965579990,-0.2693325220287110521866,\
-0.5507689268125864900938,-0.6719415444836209783119,\
-0.9911235054617995032800+%i*1.5707963267948965579990,-0.4076140317144636981972,\
-0.0225238830066269123120,-1.8597701914697917224828,\
0.7233360518064337885136-%i*1.5707963267948965579990,\
1.0977027535066357089022-%i*1.5707963267948965579990,-0.1558800560054872108573,\
1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\
0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\
-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\
1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\
0.0691827011392311119753,-0.6229915735462322468052+%i*1.5707963267948965579990,\
-0.2657062181808059753152,0.8160024961656430209089,-0.4894047987117864928486,\
0.8587006143920951073412,1.1051698569402153005115-%i*1.5707963267948965579990,\
-0.2701243583599451381083,-1.1113900272171266525589,0.2908920738530955119039,\
0.1172101729688146409813,3.2706795664298211612220-%i*1.5707963267948965579990,\
0.4518615589828762768576,0.7020915980292293800957,\
-0.8787256719819279693340+%i*1.5707963267948965579990,-0.9538277279422371357498,\
-0.7330177387440419689568+%i*1.5707963267948965579990,-0.0441506837064596646680,\
-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\
0.1576133484131722883870,-2.8460534045826286764225+%i*1.5707963267948965579990,\
-0.768075815339287371053,-0.4181165627609883528315+%i*1.5707963267948965579990,\
-0.5448685867460187903788,0.3158443034854154785052,0.0051109317177532613205,\
0.3613121056785816853640,0.5080216801947243787652,\
-0.5233928099098102970643+%i*1.5707963267948965579990,\
-0.5953313420807592182271+%i*1.5707963267948965579990,0.5535880446904775098460,\
1.842839548963430384987-%i*1.5707963267948965579990,-0.6411995769353845409100,\
-0.2922619465382557679689,0.1441406428551997020993,\
1.6252679142635939602002-%i*1.5707963267948965579990}
*/
#define ZSOURCER {0.1566312085376346807664,-0.9832172164912469369824,-0.4352704306190940952703,\
0.5411529581857100756892,-0.4189678441885264503775,-0.3123240835354778588417,\
-0.6429953452754243459211,0.5746034575341304462270,0.0583200256392587754184,\
-0.7281504683187327575666,0.4564682359303286474095,1.2276307555220513645367,\
1.0722151830463704236251,-0.8694353593641974686790,0.4560977429718384712487,\
0.922397585949679688078,0.3447492619094876808994,-1.2072516069836567442763,\
-3.0311848873460989217676,-0.5227521113472203273531,-0.9127256852426085531604,\
0.9702908997340189412029,0.7984557906741573951592,-0.374280495762714437991,\
0.2178224309624917087724,-0.7621335705740988064605,0.4017588191443041689688,\
0.0259981222714757570502,-2.250132425948803138738,0.5878367273362664624514,\
2.3809410297786541832465,0.1486053165381447105364,0.101236219868174881498,\
0.6421364318076420163450,-0.6540329098904471560871,-0.5416580949191436289425,\
0.9514918150544823260972,-1.267340977798151469003,-0.8455403103569121281424,\
-0.364558782701674466420,-1.0697180418170626481356,0.1606013529586497734503,\
-1.6656989490484364058176,0.4667927145215887141383,-0.0128825329067423742513,\
0.9947195275346620846335,0.8275102004468978256213,0.2927543106645062453985,\
-0.9280170868066852651879,-0.3636959897126564866809,1.4783506936052415170479,\
2.4281448731590140610592,-0.0602106018714212570808,1.541843889601811401491,\
1.341076792855444343999,-1.9789304036759756133534,-0.3294688652910273685137,\
0.622286327382227888450,-0.6118557906779339417014,0.7459354816620213934897,\
-0.4040802511755230974622,0.6577039363065745325443,-0.5486081684530353941298,\
0.3927975474240214537325,0.7894975295935096060163,-0.1452945797743281086678,\
0.1437495883505973681693,0.4103084241265512188690,0.1795141291570316322002,\
-2.0420270362087347137958,-1.0136631446624102537157,-0.6372521675576777733241,\
-0.2601528835939894701568,1.1986221523039410907785,1.601129898882974078589,\
-1.2343266797475058726974,0.9483471983582205666607,-0.0424058145973261885198,\
0.5150673339403005757120,0.0937153808744289607002,0.4638195050716256706558,\
0.2202932903531656105844,-0.6924450714085558233890,-0.6889026252552187257194,\
0.4927201161848878685490,0.3688430529148965519859,-0.1495056200185169992256,\
0.0956460878099940903230,0.8967077311519383586713,0.7486850824131056070243,\
-0.3635393959060023716390,2.72178097931810514254,0.8872833757746945160250,\
0.9893578306194498184212,0.8262130885403843327808,1.8679166202704664545564,\
0.5569566531470352410693,-0.0576405625178402075681,0.8001172842696224751791,\
0.4480121632350138050072,-0.2882322764074837784243,-0.2677211241656151097246,\
0.2862315832454170316801,0.9463381000719524038800,-1.574827516423719320215,\
1.7962971923614798885893,0.9930237578825827915452,1.17225507537484907594,\
-0.9161863233099263315040,0.1421586828731320473196,-0.1430347256308386882928,\
-0.4683233849545334614994,-0.3180446316984328336552,-0.0576576190062656410151,\
0.6249620545306199259628,0.7539731616235149092020,-0.1134181356790778527621,\
-0.3551074647649283821949,-1.5743164879335251882253,-0.3132427332940839193043,\
-0.5345549536487770314608,-0.3108292305558989498948,-0.0698678127822071615149,\
1.9098270701284520978191,0.3087451523556873911325,0.792464324566980904407,\
-0.7089070907362685636244,-1.69657580301203281259,0.2839165766617411379436,\
-1.9503478026750964424707,-0.8383432843348773699788,0.4243701560501659808544,\
1.0206422864827822127864,0.1651260412410127109695,-2.4565661716609770159891,\
1.3581676364949575308572,1.5976518292284813682613,1.038096252933477403602,\
-0.2179395863297476365616,0.1906211564102877620286,0.1220518503007956001571,\
1.7007780598076820410824,2.3461749520518053735429,-0.7583114756702955538969,\
0.1563580374722161325796,0.9458374821601646109670,1.106385383701591562655,\
1.857413924600636034867,0.9819266230329063427362,0.1010843883126317094279,\
-0.0394749928167329941497,0.9565452494078602319050,-1.164240263162510835571,\
-0.0360262254241734622418,-0.4279483181417821913151,0.0207154879461370518279,\
0.1331812668838084079415,0.0637098112636336894044,0.5563753726211196903861,\
2.170691821782472885616,-1.4105863647114469383581,-0.3956456917805734052607,\
-0.7536155387925271842420,-0.1512156734265959479036,-1.0252674376565367175829,\
0.9250804906985814479725,0.0319417929504777348138,-0.3662171854280546479110,\
0.9733260674698945846828,-0.2668109355235854240895,0.9653716053391865337119,\
0.5007936673782547032374,-0.1208939822530236685161,1.0971085072938426829836,\
0.2029604338428208087919,0.3746473304704570073120,0.9561076870030955632274,\
1.1282520720814495085449,1.5637873924930061342309,0.4739411474762828535567,\
-0.9908999627117486275196,0.4483771591380850130015,0.7638174840760570960541,\
1.21967084705659489785,-1.1141855892005874117956,0.3637931277318062761594,\
0.0172116174170295101187,-0.5359859794230503737822,1.7180258735531828140353,\
-0.4389711879238100133982,-0.5289769194381308548003,-0.2349363816328474963147,\
-1.770826942434098993928,-0.2698746134406798669048,-1.6219764795098883247704,\
-0.4683402918639187895167,0.4233140865550635290049,0.5072350201185169549234,\
1.846909249365268790299,0.8538988411566506009365}
#define ZSOURCEI {-1.2880264074010461250452,-0.9681461673606511775247,0.8819263929226937026584,\
-0.2968181427237222558269,0.3676169132810200301797,-1.4546278949302484662098,\
-0.4969724671301882223950,-1.3684785326259825133377,0.3201951876584711031981,\
0.0925515282972030062236,-1.3629699188377910612502,1.3008264376880041002238,\
-1.312881117519760332257,0.7519787618494813141723,-0.349314202941638340949,\
-0.6612113457421112672208,-0.1912192548186895935114,-0.2871763408135362682927,\
2.1040662039819300055399,0.6770601919983177952034,-0.9998765495359557275989,\
1.0320694267454630921321,0.5184250597548623051836,0.3020078279774962016,\
-0.2426203970909892593255,1.085343122387009806573,0.3728224888143483184422,\
0.3597109342835585477083,-0.5464095547489105086925,-0.0522892744113094345981,\
-0.0037796004128336437196,1.3386616898503973516199,-0.8603866811447716811401,\
-0.215138661778858181206,-0.1519505658345833010170,-0.0684049031594022166614,\
0.3134237083474871732314,-0.2552970754123656815793,1.0371924512876768975644,\
-2.4944520251764212837031,-0.9105655292839007763916,-0.5967335487543307115388,\
-0.6520109300715212219401,1.891233309015407648701,-0.7688305781614098721732,\
0.1640648747943601049037,-0.613585069751534706306,-0.2234197861121311190491,\
1.9233974415188206386063,0.315204859780382373735,0.4595542257467975510998,\
-1.1764564844019769207506,-2.1928435621757311757563,-0.3567337876240649907622,\
1.4844812942744205486179,0.2127167501638982105572,0.326665566953199926203,\
-0.3823116465408597508535,1.1195697860125490841199,0.3156195041989769412005,\
-1.3411228504687704443654,1.2817926351994635147946,-0.8385592799769060468051,\
0.2920629737538525949603,0.4117329700106473477916,0.8168979807640022183790,\
0.6114286447089312126479,-0.9103003485572774833301,0.0883797323534893930486,\
-0.8309636819350860736932,0.300088746736916378577,-0.9870316877320252091366,\
0.0574605523525985317779,-0.0055294403676948468418,-0.4910286442216560409690,\
-0.9282905300686704608282,-0.9620222168730435674533,1.5101979946106838248454,\
0.16215452036647093337,0.8355679951054210130579,0.2598273768449387843837,\
-0.8781794540671359339257,-0.0960593767304002976726,-0.8457942620552999501982,\
-1.5126206512504021262089,0.0267016916333849170517,-0.0455102979008666919114,\
-0.9512410833653791586428,-0.1410038404270228529214,0.8526701417894808621156,\
-0.5427383894147087550763,0.3670995115141847953133,-0.4196045805115825033660,\
-0.861511165291383607112,-0.5242638386479363532544,-1.0690056931583220567461,\
-1.204258995571379831091,-0.1994216356488724417595,-0.651264013076401249158,\
-1.2804046190990912013064,-0.1189798590125256405603,0.2757828726342566594276,\
0.1186787898486535430820,-0.9717707229710241811915,-0.2337132662497607982210,\
-1.2810105417899781965474,0.4516508120864454189913,-1.7941677742351858082515,\
1.2424962452829722003855,-0.1452111265545129592525,0.803374036348334819024,\
2.2359407014896999221776,0.0801276770871145183062,0.1489247936009177042394,\
0.3146211320275099643240,-1.49119197842913098206,-0.8212344459793755602206,\
-1.3094646972226284820096,-0.2661055404338998897629,0.2164009824597608044883,\
0.4021554472831923576770,1.0836546525394512574536,-0.8330897968467666503400,\
-1.2783354864784060023197,1.0944391027576960695455,0.5158321013729825210703,\
0.5039256424604841022585,-1.1530018443600813515815,0.5567649276400054025871,\
1.5507245891800580661624,2.0511800424609365478545,0.2003839203406024560561,\
-0.5188228347179002497569,-0.5014579405716672599880,0.2409475853154263991218,\
-1.2895515809257553918599,1.3505164949531500706570,-1.7662555890569775485233,\
0.0695313390316097817978,0.4857809488385180229919,-1.54949381746834280449,\
-0.5022279078645265348868,-0.4715667339089154030951,0.9071363416804920642988,\
-0.0090747242741150424550,-1.426140714401586517823,0.0902619806757116310836,\
-0.7111783918397256432087,0.4421886947944868029303,1.3229936148586256550175,\
0.0399972677459073389095,-0.2744759605679197855821,-0.6365722011642755973071,\
0.0838977431731276618310,-0.0154779602574307128399,1.3680369604712516728995,\
0.8578728691952266505183,0.9477645632263477226687,0.4034044727794333096149,\
-0.1637512612660888822180,-1.521579761721328916124,0.7389202762668894974851,\
1.6242287608009475796678,0.0251523200085141500348,-0.2296479198161843759962,\
0.3374847554612029343346,1.0988696857027278053209,0.6720077941707034430152,\
1.6284314621145825618953,1.2811365743500131575416,-0.6480287734962971724073,\
0.4079918994040774293808,-0.6857363255654103095793,0.1644734231427373016832,\
-0.9707468997532966437092,-1.0103908741767126944211,-0.3245462572729273520444,\
0.3569008288111439886059,1.1707819570142721232742,0.0931015649413182710958,\
1.2605162559518456877328,-0.2998099303847839292025,-1.8576048661033506270712,\
0.3542284165121863948045,-0.3606813370588974332343,-0.1691565053601437607078,\
-1.3723457158075849093848,-0.3869812789951324605298,1.327934065790971063237,\
0.6883264291332520379285,1.1636463404567130019984,-1.6679940626595868291560,\
-1.1660526540945894691248,2.4012435579972462029730,1.8717476066252398680945,\
0.6269431765551266577674,-0.7276289505214773578601,0.5485159953217271233683,\
-1.0371187436769986334184,2.282202076649753941240}
#define ZRESULTR {0.0586345786159515672264,-0.4119079581767730036113,-0.2376773392005311347219,\
0.5274985111723742292611,-0.3785076402666358030835,-0.0984442400006558665515,\
-0.5157322835496214175066,0.1877549307968403857760,0.0529309487949000886942,\
-0.8980782630098248509043,0.1535280327645664466552,0.3347825460369071581823,\
0.3118103625565722958335,-0.4854100811784345381739,0.4200271027799429846006,\
0.558160367722654870981,0.3440445808210612077538,-0.9190853850068781971672,\
-0.2206972238733744262618,-0.3495146734241325048309,-0.3828254526784128919381,\
0.3837160824181031770763,0.6067122840309074893739,-0.3528285483819846302112,\
0.2081338122939639656561,-0.3109916924279712002743,0.3607981848765179355709,\
0.0230220619188065515892,-0.4409843876587154487545,0.6706334235337022553480,\
0.4476928944367338791821,0.0530051009287677843407,0.0580922710665942171326,\
0.6889248635636368023327,-0.7403179849986993854571,-0.6014835481325517818618,\
0.9148458682398055152873,-0.9100406392834269331260,-0.3512629496668798201320,\
-0.0497281250251861567380,-0.4533232590993708788218,0.1183827451686376569517,\
-0.5400714293963024825729,0.0986159601519734224651,-0.0080964813496256192449,\
1.2504251172076377152109,0.553383982176059552316,0.2851532314993195926789,\
-0.1735373380028721046475,-0.3392884681219434650501,0.6674877635610125814480,\
0.3361668249120546292374,-0.0103608516149833115860,0.6876886023380593959686,\
0.2994018975364160506381,-0.5461669463711513738957,-0.3036470157958083837535,\
0.5659099835134179246054,-0.2522688982901432619421,0.73840604848731461463,\
-0.1399717847889199173750,0.2285367773899925347703,-0.3073816797691770186240,\
0.3738323046463303267473,0.6895008314715558306318,-0.0869179912549136179933,\
0.1045814791078650968226,0.2183617419002600035238,0.1799962512946713666384,\
-0.4306170362358095471400,-0.956790010441086580251,-0.2988659063401313820130,\
-0.26528818791890551587,1.2018988344435987958292,0.6134078020904577543959,\
-0.4635409097157874858119,0.4066731412601408690577,-0.0129216461290907521503,\
0.5459518490067882812156,0.0551242941387568297085,0.4571890743247491450951,\
0.1235106929418888221939,-0.8301715333893021631084,-0.3700021952100086553017,\
0.1433522018206848380739,0.3867313699737674470569,-0.1503114555841373045642,\
0.0501390172375495365986,1.193524050554648274769,0.3916234392819171183930,\
-0.2811037877759303138525,0.3767282302151824247005,0.7464338830239950484113,\
0.4613726054161970124845,0.6177367275920276901147,0.3993738908711506052640,\
0.2139276426895061200550,-0.0554860078847602203322,0.5165924809229520686671,\
0.1633124027176871273515,-0.2918709165103665625907,-0.2528080890770357247455,\
0.2897583915934112130941,0.4021736360794072595581,-0.713539018877845987454,\
0.3562716257530119112751,0.7547097044407786725628,0.2233423544188815612621,\
-0.3032157270895312062287,0.1400739703409606129458,-0.0867211925226533952848,\
-0.0758855325499612903828,-0.3269646450472631915574,-0.0564625318897502212478,\
0.6090972295195002939039,0.2104281878811394279616,-0.0676285383445118792878,\
-0.1277092508406163506862,-0.7041149381903939463712,-0.3071683332013411815709,\
-0.4736979352269045095980,-0.1404550230528205378988,-0.0412179517191962191403,\
0.3529283428251930310182,0.1380434056063472858522,0.6051661095195016715209,\
-0.5594498837332433360814,-0.3889971602159096875084,0.2168075281019664068971,\
-0.3028666557798217473518,-0.1458483340857026078208,0.4293137169051447488144,\
0.6953697523295457871839,0.1321249855766219449826,-0.4265596445818128912286,\
0.3486234081846604770938,0.3421608935025099995642,0.2115120471977689209364,\
-0.2203370156751261743633,0.1545639581145290264441,0.0357922784779254460341,\
0.5794250482661091883330,0.4312552311016552564205,-0.3727620017605887681178,\
0.1576377379130869393897,0.2624856474568436071060,1.3577286999442579329411,\
0.4860182340340697959569,0.7617714539289787145648,0.0366834217396586823035,\
-0.0394322693273299676453,0.9807192175900326658322,-0.6164954700307514467994,\
-0.0357893654572665059765,-0.4572287236587250780495,0.0072135289476597582586,\
0.0765359692550191955673,0.0335408660165012612042,0.4931690601828112585636,\
0.4939993220457917777466,-0.296325232124018844715,-0.2516901659302647753513,\
-0.1874945429943649932714,-0.1522841974461120184703,-1.0886404519839611992893,\
0.8661426586684568551533,0.0144669239838038730245,-0.2498600121525025030689,\
0.2258303913936256790418,-0.0996627600161344717744,0.5798388843647412915772,\
0.4402912178536843579302,-0.0821496253311937152386,1.1995498265712831731378,\
0.1037875988793510867447,0.1808411497687466285011,0.9003994950861190504909,\
0.8693703906397208802659,0.3871229651004495231348,0.5084262016718109622460,\
-0.3127921352240150554280,0.4284515458646944163768,0.1566612259199449408431,\
0.8425254932446538669311,-0.8675086878856705929763,0.3679908151081396905369,\
0.0059690185652748976169,-0.4818927853047598741654,0.3475368987720111602080,\
-0.2928677403656957944911,-0.21281918945471237081,-0.0615315656203920743894,\
-0.3828854358877186170318,-0.0395445045895176927608,-0.2453056840726963727661,\
-0.3319274210060903507191,0.2716611153754885932265,0.3885772436850290501020,\
0.4083161225294907326067,0.1256636073410991871757}
#define ZRESULTI {-0.9150826723701824816359,-1.0038007968241344780580,0.7761168535216221853190,\
-0.3822213477951738047622,0.4088073079437265500147,-0.9829838814461281382151,\
-0.6207924428978939257462,-0.9924436424002488488227,0.3107781745847606469368,\
0.190823563908477877860,-0.9717930993017909191423,1.1362832817249874928223,\
-1.0952400709881249252220,0.8906629459042527674484,-0.4031733379746096357366,\
-0.8926214809458651311402,-0.2125955165236021182640,-1.1626545105534673574255,\
1.4098114180999468114663,0.6875898477221956683891,-0.9827065462915589577619,\
1.0122682558571856059615,0.7403338169936454216113,0.3329978318477040399870,\
-0.2487126175192662380642,0.9535461622187894059621,0.4086259224331897366156,\
0.3454903551399998162807,-1.4480476267508943788442,-0.0795552773231696652712,\
-1.5699867995861691571946,0.9329922799220887741356,-0.7134073946597112581003,\
-0.3357762973784728099957,-0.2527252112264842809353,-0.0962463379406888058787,\
0.7882465889811950399135,-1.2456800812145352175264,0.9674854545265952898703,\
-1.1957951138140576752278,-1.0308375326751320066876,-0.5464592420922904647540,\
-1.3032325007401501792970,1.1035601617683621356036,-0.6554945586705149818130,\
0.8103435172856551238496,-0.8103372317467707475203,-0.2385573277010208381732,\
1.1587938021757215878438,0.3435431890072572769235,1.279788873802896409515,\
-1.3915550484745486947702,-1.143175630086853633571,-1.3493948361964505089361,\
1.180878018812092644652,1.4994549779312595916281,0.3471363780379303487500,\
-0.5114436565324694816681,0.922077454999635448551,0.5359370502466848096290,\
-0.9575622722618749582679,0.9840232928412098178939,-0.7866361736794498238368,\
0.3275153905103054818859,0.6621644080795368036974,0.6911787537867797315272,\
0.5555203262090003812901,-0.7845741854114917090968,0.0910458923193785268912,\
-1.367532424689007264362,0.8821163892946874973688,-0.8805618815721650838313,\
0.0615381817744835926676,-1.5581379012861951149915,-1.3216226160366340014463,\
-1.1059140418930615279436,-0.9879008462145800750775,0.986169123983388073995,\
0.2146596902165759102044,0.6986026791593697993221,0.3134566221055383739014,\
-0.7342575229927524871343,-0.1797145584041555665955,-0.8413107892059722425770,\
-1.019619130948550722593,0.0308925093685123823561,-0.0465149720271331584831,\
-0.7628135267341744629732,-0.5063811875785856342347,0.8689285269800102184945,\
-0.5424489267017504889878,1.5149231207825908374076,-0.7635699257253423244407,\
-0.9835608360649982229162,-0.7651335213236122312352,-1.3047698554262849857110,\
-0.9383103802342007693227,-0.1974540431056293898759,-0.8100733516290339331078,\
-0.9439058311312691351702,-0.1288637100697393178539,0.2871927052822376702501,\
0.1283857487876574610119,-0.9893521517129132414325,-1.4229736910621084700068,\
-1.278268082403663186142,0.88910168768678732309,-1.1784373117164359534570,\
1.03935358865908744619,-0.1470722349218777647017,0.6828818013490814964328,\
1.1635383473949738597497,0.0888393991592487247688,0.1483135488190464867930,\
0.4446342289575472839225,-1.055940453660143329984,-0.6913288042725108661912,\
-0.9407243087808065951094,-1.4053508981321376491991,0.2342864098211708545616,\
0.4844410101414913238926,0.8475776035888460402390,-0.6960123633858344982528,\
-1.3016421578221382127083,0.8519589639880413844963,0.7342440505866469901974,\
0.6668635124458689444893,-1.2591545397069716649696,0.535024814500131951078,\
1.30226369708141054282,1.1661057476987222170095,0.2373787574293542146364,\
-0.9309471081116736934646,-0.4736579850459717855315,1.5236251088004300058287,\
-1.171065543003733777638,1.2334327135159162125433,-1.153213069447322158823,\
0.0728510737378383066432,0.4639741641063248600574,-0.9996734202650466860618,\
-1.3518108187607991155232,-1.4723273061328936428538,0.8933558949405833171653,\
-0.0093018535376701225181,-1.0826576750905823054438,1.2404141733855511553486,\
-1.3465428092378513014182,0.8747309046321107839361,0.9253397074562169644096,\
0.0400381835355557713640,-0.7765785126027255902414,-1.0546807717631738743336,\
0.0838092326986521196641,-0.0189446011407611511479,0.9396543988269212555053,\
0.7141040044798073749277,0.7596541492574908627233,0.4957818734457210552158,\
-1.5271090619693206136276,-1.1987057982776780917789,0.6860846415801318265437,\
1.0836815939774062655943,0.0257348439490480244973,-0.8966457616590515211641,\
0.7629454929184202871539,0.8326995831057554253718,0.6358947917453465770166,\
1.122174794910343109677,0.9210086183100237855470,-0.9179542949015334629692,\
0.4753128844824887067055,-0.6057418122474197419436,1.0912054352763760345368,\
-0.7811598998629154522177,-0.8252118132068452238670,-0.8003932093064218822320,\
1.040963230413896711823,1.2239764586679500180111,0.1191234084420016575701,\
1.064003892301497833373,-0.3509788166940612241795,-1.1278108079499422622405,\
1.1420720075136889803957,-1.0231852297083139369249,-0.1916370368791805167685,\
-0.941129540386991148004,-0.4709650954727132576849,1.2604683484747309929475,\
0.6665567013842946808566,0.9183588395793375047660,-1.0371195264398431756803,\
-1.276620042706810842503,1.1799805845600985776400,1.255793767839696428723,\
0.6354974793467924598644,-0.6865980682751140484754,0.5939555774818401356896,\
-1.3024651432778990844952,1.197724373266410013983}
#define RESULT {-1.4744610660983759053977,-3.2795029213225106445861,0.2422041646840577544531,\
-0.5752297863073998485106,0.7121630945985538696519,0.4243803995861772371256,\
-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\
-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\
-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\
-0.4691302795139216663678,0.4584432136447526562328,0.9076183700076346783092,\
0.9185087029260963209509,0.1102422571172131521289,-0.0648124440153749203919,\
0.0281882007066550886731,0.1358484485857832935185,2.1004370090239423696232,\
1.0924991774831627200371,-0.8060125587957032156083,1.0172227264061333151801,\
1.736042493622687921118,-0.1863533018119427342452,-0.7549561185313359290561,\
-0.4614170985204111286038,0.3046041145449288611857,-1.8166306469319770666715,\
-0.9326970536559181512715,3.1325332888309622703105,-1.3792397781139973389486,\
-1.5415589891296013203004,-0.0171150886014554831638,-0.6712634278717346525411,\
0.1296776288627018158817,0.7449048409492748934468,-0.8355728364335629487769,\
1.0237167786809893144095,-0.4002250855702985665729,0.5275261647661907415952,\
-0.6365188485604326151801,0.593818237113303393215,-1.1086074290970830968917,\
0.5559215037224033428842,-1.4188800488983950298660,-0.2030109524350925953584,\
-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\
0.0807360417981298622569,1.3710194541092590725384,0.0358784527834248925804,\
-1.041372191940861169357,0.1478800901804916689830,1.1035975394582797637355,\
1.8759258138597765253053,0.2629805384285096581110,0.6430289187352878910175,\
-0.5660273762902281458054,-1.5862221930864266461469,0.1695819872689824647782,\
1.7267400811821158601589,0.8547625432037965209631,0.5402035003963170378682,\
1.4525009288261496731565,0.5539201036322172200244,-0.1844324167806210001963,\
-0.8089386385243267918455,0.2955667016509896383170,0.0313028129649670083801,\
0.7108684384800065814147,-1.0383547009634652713572,1.4799479994581337116699,\
0.0442526991314810200229,0.6878256510027744852209,-0.8434557413354200061661,\
-1.1364652701643074284021,-0.1306969520152806707447,0.6762452782098172798797,\
1.005717225984443130571,-1.5273278613167085016045,1.2461250150575873263392,\
-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\
-2.6233309837037732670240,0.5329709825316656379712,0.0656342963912304455665,\
-0.3044404175419783142864,0.7166384348283165728333,-0.4277478080499193535680,\
0.6675457063378462674308,-0.6224892627320329774321,-0.2853073726746037097612,\
0.4474264519637772830052,-0.5733611255013777441292,-0.8489115589330021860448,\
1.4767492874056193929988,0.4675865941091252309114,0.7215105644264150352996,\
-0.2485372004835029458025,0.9533893539015392271097,0.9949139163386880868600,\
-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\
0.3183705746036424866219,-1.7375264548714035583998,-0.5142166878802835183748,\
0.4672787235144033601841,-1.2044507032201230423141,-0.5343152701155061690130,\
-0.6759512002250491757849,-0.3426510354825004212032,0.7655602779397917556636,\
1.3065460037453791031226,-0.1368747459554155443406,1.4390524672743967293798,\
-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\
1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\
-0.8974087416560057040016,1.5281783215878395054688,0.7019410287263873060581,\
0.6105122611902852325372,-0.8280825291376695540535,-0.2271580885894484980181,\
-0.0995012215536074662303,-2.6596162554083884188572,-0.9212932842045244985485,\
-0.6502044836894653734305,0.6158791818865629874580,-0.2693325220287110521866,\
-0.5507689268125864900938,-0.6719415444836209783119,-0.9911235054617995032800,\
-0.4076140317144636981972,-0.0225238830066269123120,-1.8597701914697917224828,\
0.7233360518064337885136,1.0977027535066357089022,-0.1558800560054872108573,\
1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\
0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\
-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\
1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\
0.0691827011392311119753,-0.6229915735462322468052,-0.2657062181808059753152,\
0.8160024961656430209089,-0.4894047987117864928486,0.8587006143920951073412,\
1.1051698569402153005115,-0.2701243583599451381083,-1.1113900272171266525589,\
0.2908920738530955119039,0.1172101729688146409813,3.2706795664298211612220,\
0.4518615589828762768576,0.7020915980292293800957,-0.8787256719819279693340,\
-0.9538277279422371357498,-0.7330177387440419689568,-0.0441506837064596646680,\
-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\
0.1576133484131722883870,-2.8460534045826286764225,-0.768075815339287371053,\
-0.4181165627609883528315,-0.5448685867460187903788,0.3158443034854154785052,\
0.0051109317177532613205,0.3613121056785816853640,0.5080216801947243787652,\
-0.5233928099098102970643,-0.5953313420807592182271,0.5535880446904775098460,\
1.842839548963430384987,-0.6411995769353845409100,-0.2922619465382557679689,\
0.1441406428551997020993,1.6252679142635939602002}
void datanhsTest() {
double in[]= SOURCE;
double res[]= RESULT;
double out;
int i=0;
for (i=0;i<200;i++){
out=datanhs(in[i]);
if (disnans(out)) assert(1);
else {
assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-15);
}
}
}
void zatanhsTest() {
double inR[]=ZSOURCER;
double inI[]=ZSOURCEI;
double resR[]=ZRESULTR;
double resI[]=ZRESULTI;
doubleComplex in, out;
int i=0;
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zatanhs(in);
assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-15);
assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-15);
}
out=zatanhs((DoubleComplex(2.0/10.0,11.0/10.0)));
assert( ( (fabs(zreals(out)-0.0898435002269743487879)) / (fabs(zreals(out))) ) <3e-15);
assert( ( (fabs(zimags(out)-0.8419736541926906570055)) / (fabs(zimags(out))) ) <1e-15);
}
void datanhaTest(void) {
double in[]= SOURCE;
double res[]=RESULT;
double out[200];
int i=0;
datanha(in,200,out);
for (i=0;i<200;i++){
if (disnans(out[i])) assert(1);
else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-15);
}
}
void zatanhaTest(void) {
double inR[]=ZSOURCER;
double inI[]=ZSOURCEI;
double resR[]=ZRESULTR;
double resI[]=ZRESULTI;
doubleComplex in[200], out[200];
int i=0;
for (i=0;i<200;i++){
in[i]=DoubleComplex(inR[i],inI[i]);
}
zatanha(in,200,out);
for (i=0;i<200;i++){
assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <3e-15);
assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <3e-15);
}
}
int testAtanh() {
printf("\n>>>> Double Hyperbolic Arctangeant Tests\n");
datanhsTest();
zatanhsTest();
datanhaTest();
zatanhaTest();
return 0;
}
int main() {
assert(testAtanh() == 0);
return 0;
}
|