-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathp1906-TouchCom-motion.cc
315 lines (282 loc) · 93.1 KB
/
p1906-TouchCom-motion.cc
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
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright � 2015 by IEEE.
*
* This source file is an essential part of IEEE P1906.1,
* Recommended Practice for Nanoscale and Molecular
* Communication Framework.
* Verbatim copies of this source file may be used and
* distributed without restriction. Modifications to this source
* file as permitted in IEEE P1906.1 may also be made and
* distributed. All other uses require permission from the IEEE
* Standards Department ([email protected]). All other rights
* reserved.
*
* This source file is provided on an AS IS basis.
* The IEEE disclaims ANY WARRANTY EXPRESS OR IMPLIED INCLUDING
* ANY WARRANTY OF MERCHANTABILITY AND FITNESS FOR USE FOR A
* PARTICULAR PURPOSE.
* The user of the source file shall indemnify and hold
* IEEE harmless from any damages or liability arising out of
* the use thereof.
*
* Author: Giuseppe Piro - Telematics Lab Research Group
* Politecnico di Bari
* telematics.poliba.it/piro
*/
#include "ns3/log.h"
#include "p1906-TouchCom-motion.h"
#include "p1906-TouchCom-communication-interface.h"
#include "p1906-TouchCom-message-carrier.h"
#include "p1906-TouchCom-field.h"
#include "delayspread.h"
#include <stdio.h>
#include <iomanip>
#include <iostream>
namespace ns3 {
NS_LOG_COMPONENT_DEFINE ("P1906TouchComMotion");
TypeId P1906TouchComMotion::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::P1906TouchComMotion")
.SetParent<P1906Motion> ();
return tid;
}
P1906TouchComMotion::P1906TouchComMotion ()
{
NS_LOG_FUNCTION (this);
}
P1906TouchComMotion::~P1906TouchComMotion ()
{
NS_LOG_FUNCTION (this);
}
double
P1906TouchComMotion::ComputePropagationDelay (Ptr<P1906CommunicationInterface> src,
Ptr<P1906CommunicationInterface> dst,
Ptr<P1906MessageCarrier> message,
Ptr<P1906Field> field)
{
NS_LOG_FUNCTION (this << "Return the defaul value: 0s");
return 0.;
}
Ptr<P1906MessageCarrier>
P1906TouchComMotion::CalculateReceivedMessageCarrier(Ptr<P1906CommunicationInterface> src,
Ptr<P1906CommunicationInterface> dst,
Ptr<P1906MessageCarrier> message,
Ptr<P1906Field> field)
{
NS_LOG_FUNCTION (this << "Compute the path loss model based on vascular network");
void delayspread(double NN, double K)
{
double n;
int i0;
int loop_ub;
int level;
int quotient;
double deltpre;
double Ncc;
double tsum;
int NNK, NND;
int i1;
n = pow(2.0, NN);
NND = 10;
using namespace std;
cin >> NN >> n;
int **length11 = new int*[(int)NN];
for (int i = 0; i < NN; ++i)
length11[i] = new int[(int)n];
for (int j = 0; j < NN; j++)
for (int k = 0; k < n; k++)
length11[j][k] = (j + 1)*(k + 1);
for (int m = 0; m < NN; m++)
delete[] length11[m];
delete[] length11;
for (level = 0; level < (int)NN; level++) {
i0 = (int)((pow(2.0, 1.0 + (double)level) + 1.0) / 2.0);
for (quotient = 0; quotient < i0; quotient++) {
deltpre = 1.0 + (double)quotient * 2.0;
Ncc = rand() / double(RAND_MAX);
if (Ncc >= 0.5) {
Ncc = 1.0 + Ncc / 4.0;
}
else {
Ncc = 1.0 / (1.0 + Ncc / 4.0);
}
tsum = pow(1.0 / (pow(Ncc, 3.0) + 1.0),
0.33333333333333331);
length11[level][(int)deltpre - 1] = fabs(tsum);
length11[level][(int)(unsigned int)deltpre] =
fabs(tsum * Ncc);
}
}
n = pow(2.0, NN);
int *delay = new int[(int)n];
delete[] delay;
i0 = delay[0] * delay[1];
delay[0] = 1;
delay[1] = (int)n;
loop_ub = (int)n;
for (i0 = 0; i0 < loop_ub; i0++) {
delay[i0] = 0.0;
}
NNK = 0;
int *length12 = new int[(int)n];
int *angels = new int[(int)pow(2, (int)NN)];
int *b_remainder = new int[(int)pow(2, (int)NN) - (int)NN];
double length10[1024] = { 900.754741900286, 891.861265187747, 915.304261541876, 943.914670350826, 848.196778377715, 880.373417888217, 872.442783889565, 862.851013484336, 784.810680719311, 823.368827066959, 795.856624874525, 812.345096890197, 868.537288754894, 874.993254935464, 893.735694921196, 867.272466775342, 800.340958081862, 802.891314994261, 808.953013433589, 778.494273024439, 724.576350613002, 770.115887478360, 758.100635431690, 748.705803299186, 813.256060750172, 789.383578516257, 801.491835997807, 799.066820674963, 841.577992336828, 866.093334009792, 877.535888374100, 866.883609297622, 815.454842917950, 849.724131488524, 792.474422969918, 823.815489168820, 748.728761042673, 774.248977957941, 762.919124427962, 774.752657945176, 726.817765293271, 700.227061176853, 692.002197724937, 688.699793821588, 769.491160852100, 766.631958465201, 755.022124183119, 755.389918575713, 826.946942795356, 799.159162644792, 802.259676508183, 849.444839240990, 759.000272828304, 740.992176863832, 770.804349820188, 771.328547660463, 809.116256690889, 791.403025309514, 806.929060921630, 850.172868034394, 847.218593163339, 849.469987420696, 852.128512656708, 878.014506323301, 869.439504986694, 842.603672516300, 849.370846021589, 834.648649369604, 766.478620186445, 789.518695122613, 785.045177169663, 763.288964475562, 709.483624608139, 731.241734101810, 740.061196548765, 727.284712665392, 777.388421699257, 762.875939415317, 779.070029908550, 767.246153982282, 704.219381126377, 705.622105810637, 714.339357917322, 741.728133677777, 637.728299411776, 669.178692790632, 663.743341750218, 678.196196967755, 719.885470925596, 720.595423030676, 696.254805038641, 711.790458341188, 771.468486595582, 770.135741617353, 781.963462658278, 776.855636649413, 830.153247810781, 808.287912466958, 805.299565154860, 804.542824157570, 780.821957951336, 736.782601304393, 772.558977467174, 742.870873121334, 705.788936254805, 673.729723300687, 704.212144530063, 681.933326549700, 745.815482305222, 762.714210774341, 744.027672422548, 742.535380181526, 844.136862401232, 850.498682888912, 798.625832602115, 798.604544037888, 745.763357665441, 756.984143766561, 771.572452099878, 746.209221460699, 805.666291446358, 810.243326428255, 850.307422719246, 805.489283580684, 868.320151983530, 869.809483059855, 878.498264491907, 848.535815475132, 823.677949366730, 825.739140636204, 791.724264580814, 813.998210704631, 772.721064914840, 748.593398079815, 758.592110415205, 787.036772735241, 739.410874605386, 700.074873192388, 712.905221569544, 688.136992219527, 755.409558284762, 757.431629347290, 738.874549166854, 797.988108939626, 741.476087012590, 719.388409694467, 717.997368774713, 706.704694000939, 644.277770377249, 654.414359048099, 664.302379219104, 685.319364580877, 721.491502657830, 723.081504104499, 697.497160328705, 709.904743619104, 789.222147142068, 772.517694986416, 773.452376911163, 798.350901319989, 710.513102714554, 714.814086594093, 716.654183289465, 752.760645671876, 684.175768372726, 648.026657971237, 653.644593434680, 669.748329272631, 625.367819613922, 611.093415331150, 608.702568541491, 618.786880826327, 657.439782441825, 670.980708761927, 648.032606132906, 657.661757603535, 699.781929175895, 687.925980219517, 713.998604074534, 738.861325771474, 652.524481546665, 659.733642207695, 674.849944954840, 692.027624601656, 756.737493774486, 726.494413542069, 721.402570192807, 726.008015576373, 798.738404857448, 765.376108640399, 787.363165900296, 757.698987056036, 845.059892584916, 860.773293876071, 825.586012556715, 838.324255786368, 751.636988910464, 782.144151561795, 764.020547794335, 760.625135224877, 716.228213860661, 727.198492608108, 705.389392928847, 690.094027480070, 759.620205222702, 759.171857175049, 754.712540714825, 769.971264164089, 695.520231525867, 695.481847156431, 688.583817269201, 696.774751612826, 651.334734525400, 674.697947667199, 642.565766491815, 666.982557252300, 729.606609255558, 721.166455842780, 700.458094111294, 699.398902704298, 773.637252937564, 773.999649361614, 772.414672229559, 760.026219607296, 838.139640857898, 800.226069580677, 840.890386201822, 825.276501381802, 773.728143513179, 797.519380564828, 769.892580991783, 752.045778962787, 681.696174980034, 692.941255912946, 693.030596639004, 692.593448050884, 802.219631206171, 749.501539079617, 746.018916155509, 750.810741565466, 804.272199677658, 814.633996332175, 815.254961806518, 822.189372151390, 749.786620963816, 757.959609395334, 752.070587096657, 780.281533025368, 818.156928699415, 812.181751637144, 783.836514851806, 844.277332301759, 869.674749085773, 872.972992225459, 905.940085840478, 847.705683727947, 832.729542282327, 859.575545236987, 825.960952813582, 824.975784332291, 771.876079361157, 748.310639717740, 763.020169832285, 762.789804628524, 741.176716451164, 713.980018181398, 698.094013872174, 729.523268610761, 738.918539217875, 770.592419871982, 762.578670523090, 766.449530464384, 727.442113439246, 713.330291966145, 712.195816060328, 720.405356080009, 681.491519150248, 673.322330003775, 621.485564243404, 645.012626192061, 698.832951565818, 713.486894568330, 710.567468246428, 699.165215804957, 747.439506479734, 756.296635982999, 779.286390804964, 810.807544308645, 728.043645956241, 709.416690435506, 709.344204977239, 731.397620471084, 644.328187974460, 644.821674403083, 658.081735538532, 651.990415704006, 610.553072880173, 579.834906757564, 612.581064679800, 584.363353561929, 675.168255550381, 681.111158898427, 654.857800937839, 675.441809656220, 734.915785560400, 725.943632929273, 735.065449487803, 743.152087411236, 668.974345441865, 655.738576944269, 674.463123859037, 673.049244598544, 739.584202654792, 724.147001786545, 703.263590909992, 717.573796125453, 790.623259943121, 801.909685770501, 769.939513785865, 795.506698335836, 714.761134107464, 718.422540681394, 735.602482572915, 734.051765410908, 691.438855072148, 708.559112002337, 695.635321868446, 670.803602546697, 597.495620167276, 619.339775810961, 592.925422506364, 619.080743631398, 664.545366663112, 649.589731315434, 683.526784024353, 684.675584413595, 616.097557157160, 624.158641251900, 632.510589736485, 606.941372907463, 533.267417034061, 563.324503100044, 542.471845551858, 566.743509865676, 600.135749615244, 627.857793648027, 609.636535910046, 617.358121447639, 688.774597222600, 666.805904164560, 677.508990002985, 712.878513862091, 697.938027401468, 725.709008925495, 718.692461741852, 729.077180001292, 652.805345448287, 660.004232065935, 691.029610477313, 648.089635360302, 602.781476098871, 598.521977298523, 620.847460339575, 600.505389267181, 653.076221314567, 664.247089591009, 665.366115067902, 681.226275293064, 717.347632387714, 734.257458499687, 704.655088621591, 728.641030713886, 654.447026632342, 679.568514066817, 639.704050871515, 675.271636617090, 745.565376451919, 703.409209877685, 717.976868026401, 728.759968708657, 764.026859385866, 783.829418717376, 789.220526802487, 780.317326611310, 842.395398088481, 845.156243704873, 820.339664756207, 842.820411781150, 785.049236022942, 770.229548610066, 766.180874735672, 743.806288302367, 708.550587412511, 696.429500693929, 721.103101304033, 708.026189095937, 750.055072533265, 787.087546781761, 807.292100240096, 778.972107838308, 706.503294302723, 702.660778773224, 703.059662557411, 740.103417717277, 636.699272562053, 632.692204430597, 646.354825425503, 659.379869405642, 704.457929562605, 740.801379964441, 703.298045706749, 721.437070990512, 784.578482908396, 784.368876640138, 782.167145811433, 769.985244916744, 721.673549188380, 724.149076197981, 737.647462946814, 716.621869185915, 664.448033326413, 673.204448983722, 678.840090099176, 692.502660229439, 569.900497818375, 624.975571886682, 594.734116520422, 591.693483623734, 676.997483813842, 641.767828723443, 678.519014646605, 696.316542785095, 748.570005095713, 700.493808745697, 701.102309018210, 723.727468457714, 649.917786941785, 654.230248134550, 706.557900439757, 678.370279141977, 715.701271330719, 762.388005664789, 713.429227822776, 711.547104142388, 792.849599746607, 754.459794393922, 783.013203286159, 791.358552385301, 850.383632998502, 821.431550623580, 819.836862441364, 829.287543905577, 768.792003458339, 794.620698515353, 798.478963112928, 761.062541450328, 724.438382306187, 683.982778124564, 715.418880121193, 704.232569930553, 783.065341759511, 766.977093838236, 778.656091158612, 777.167043753134, 722.144188278984, 709.900874802081, 700.023120192776, 706.303294362018, 643.050383196973, 657.467401432269, 624.520950427448, 653.192824421865, 707.757976752534, 720.678516021362, 702.566685497479, 685.724219561779, 792.005577414178, 752.893705973370, 750.405446039353, 775.169529708445, 830.726543856399, 787.079906310519, 820.823810411159, 806.120560604097, 764.721736088473, 769.597587630883, 774.463345851573, 744.187862544564, 695.827168392772, 699.412487281257, 701.343375720379, 708.259579564939, 771.924889378932, 762.711038332929, 764.008793768329, 763.520207414747, 824.506168178989, 794.252837258117, 820.747589437282, 808.032017225335, 741.160660475535, 755.006841893309, 755.207312563017, 769.357476877247, 832.382683724801, 816.034645269372, 792.632751220579, 818.028454060751, 866.949394916638, 880.597377553434, 877.779131308955, 896.911872706481, 878.333474389652, 898.729529707016, 853.703995610060, 885.323745957485, 790.249197803220, 832.717235844513, 828.148624060480, 794.297460301644, 754.262880112763, 771.404719750659, 738.827879737768, 753.132759630602, 806.781944778961, 808.598389105787, 812.334318529294, 812.012841557842, 774.416092473576, 745.377255939961, 756.089287430491, 751.142915962100, 704.573457024550, 706.165155947102, 696.138838812862, 675.108765873449, 749.463754488403, 783.369329592367, 769.263697303375, 748.193179985751, 796.834702916577, 801.195810877313, 809.258598524397, 802.687741866753, 797.691729560970, 776.387318726006, 799.456959919984, 778.080807321678, 724.984395034672, 722.511047865680, 736.193741575147, 704.002974730467, 654.371447681823, 653.018285319042, 677.752172319331, 652.895312382107, 677.312388746048, 713.826552016049, 712.306413122115, 735.025162031176, 783.664765715399, 804.657769831686, 762.592605089151, 776.926320888706, 718.370471370967, 737.674710362856, 717.611237963157, 710.107463117701, 749.358889263074, 795.092688082277, 772.414599664165, 774.509012341241, 829.359842626593, 810.048504685585, 823.721258382427, 855.360514095773, 769.747015763349, 793.915516022499, 798.210041607412, 796.939109540371, 733.063607700514, 711.698835314582, 706.394174801921, 711.545374039968, 677.306838329820, 670.673127901119, 686.173690552857, 658.130583466350, 706.202649287390, 743.018020629074, 748.362090284697, 716.921054650629, 660.909955891702, 687.961567400227, 686.874111710024, 659.993639500766, 616.135245488399, 580.883605063034, 603.552855046705, 594.454077101899, 656.518687071962, 683.023781227942, 665.326578132877, 701.439250360811, 733.314873017617, 735.615379391563, 744.935114971271, 720.454889951683, 756.489289363272, 773.358426819372, 790.016638568936, 761.625225335500, 729.924885815455, 733.843458417158, 695.053172537333, 709.844317278863, 642.902487166147, 655.577652446511, 619.057321765764, 667.441889914820, 700.459758211116, 704.985438620461, 728.389679747540, 711.501009313365, 764.139313015101, 775.162973619040, 758.635229166707, 756.273251381889, 715.898765231152, 701.153841413984, 717.697767709165, 689.419336268875, 774.325737982102, 783.747199650482, 765.475949814699, 770.629893464717, 810.816553406235, 820.863841167806, 871.909777857061, 832.228689254827, 763.777383278872, 813.233565140506, 754.980394809576, 806.214174333796, 713.575393390871, 743.149849880737, 727.586821837584, 754.741541144780, 669.560521684427, 690.612163245634, 671.552912551141, 687.586934165814, 718.621391597471, 727.203198273727, 748.985274031470, 726.534001510149, 656.376207788944, 658.961672289600, 633.200279762442, 633.971123647634, 592.454429478537, 616.268591889211, 614.243946828709, 596.368232203139, 660.729847647652, 654.830651190180, 663.029271002420, 667.436066733668, 713.768207618512, 731.101527233300, 721.042034176429, 711.220209958614, 682.953416846057, 671.371133609729, 690.891306719151, 681.278389537984, 596.427643049328, 601.321463322618, 623.539785174425, 618.467320856015, 572.155632159052, 568.093495038560, 542.014808146174, 554.013396147040, 600.895908464427, 638.230973918106, 625.020843672041, 615.205382507421, 663.545353885649, 674.050924018239, 698.830497193749, 709.684993028694, 628.547038715613, 618.924784621007, 603.393418282335, 625.907656515661, 673.269713243809, 687.968016800352, 663.503673087874, 673.403172670248, 765.865617524382, 738.496296323828, 751.605777664705, 748.973021931354, 789.655057059684, 781.537707064369, 784.049974514551, 772.584806069339, 736.541463782383, 777.333550866608, 710.571336756996, 711.652401853733, 656.302603740764, 680.850183760296, 676.415569043341, 660.195572191578, 751.399812992561, 727.080013290577, 686.647532718392, 731.425103960838, 667.391220176741, 658.540160922872, 676.530564594237, 656.895536368398, 587.783920382217, 607.314906179463, 595.607551302526, 604.139895394530, 674.614404890934, 679.693261773653, 665.727708602688, 689.089799452327, 738.019382592339, 705.909059531966, 732.113730802797, 708.710492439025, 790.140193398143, 783.539938217941, 763.420437311775, 778.556009796482, 709.250821407439, 696.922098610770, 712.401519068344, 710.144937255234, 664.832452014386, 648.393411360388, 663.097920438954, 655.665472288847, 718.104563966580, 688.783909094630, 702.507167321842, 734.021073420673, 765.477854129728, 771.567271306590, 758.044888770224, 749.039044908419, 715.846136938600, 706.791644547423, 691.047944900978, 713.586175285132, 781.212383503933, 776.718037218182, 774.192894880309, 810.037068625647, 811.272149522974, 863.661316127815, 805.161246300470, 850.195998119810, 848.539966766855, 908.685114559588, 893.050038110136, 859.247112686669, 818.115813032563, 804.752599415902, 843.998464780743, 813.025535970665, 742.605876171165, 768.458919647150, 753.665311707260, 742.464288287814, 828.245856397214, 819.226628301772, 819.754718515408, 798.792216570517, 744.011728186702, 750.347703406611, 735.377751405309, 757.144933000942, 721.177057176905, 687.653371065586, 671.724311754388, 712.499636649101, 771.840498903666, 751.291837939148, 749.828987858452, 747.892305168791, 840.823448842843, 827.109198720390, 828.565044892619, 819.163227208375, 780.382870803135, 752.441892964136, 770.989308556178, 753.576314650023, 702.515850479564, 698.719055397507, 697.474045004120, 697.650442897713, 660.745837190487, 655.588753344038, 646.249022505719, 642.393381114197, 701.230608289348, 726.539719218473, 700.505333578374, 733.787365671400, 756.621636037816, 763.874680688741, 796.700905454626, 766.553619346088, 697.518330571466, 726.859556494757, 696.900561099205, 719.040980625868, 770.051285082369, 776.849371951362, 795.480578305905, 766.749224660733, 834.985043874290, 846.693695904594, 825.832824478334, 874.959013538893, 810.465303788754, 807.245350687835, 774.772771017716, 766.081967252701, 743.023388092140, 737.140487275201, 752.003117459695, 733.989098060380, 667.987142074409, 677.882576561979, 648.338951906433, 685.667461101823, 714.225665172066, 714.847169722900, 748.034794105830, 728.525380759423, 667.688904918677, 662.489635999512, 676.761399913166, 668.684651829139, 583.059661549971, 589.676788205937, 601.904827602465, 602.369624882412, 670.460013990947, 668.178056083838, 669.093795091447, 679.065178997763, 692.409992553548, 692.807962714691, 758.401625635795, 725.383765264762, 767.485389698454, 777.308570705462, 791.008130475787, 776.297780785191, 714.873274227519, 713.897079223003, 733.978265906911, 708.966949374221, 646.871040989416, 669.933606553050, 667.086525836926, 682.129084830161, 748.105556378196, 723.388775789185, 716.404454723844, 738.515289715315, 758.198308790515, 769.338153757696, 773.726365363508, 773.805038955616, 718.549309082136, 705.862021306371, 706.781670040724, 730.214279133093, 807.464008775406, 762.963174092384, 775.383347812854, 758.304119232953, 815.219771804206, 815.738120969466, 842.590477171037, 830.758913957077, 874.792146733605, 878.165235347915, 913.847283230504, 874.337912308830, 839.623004711054, 815.224787391261, 812.498739024601, 829.658129718442, 742.963068501919, 725.577913518985, 760.390781434109, 768.316195665516, 859.947373279674, 839.137722317749, 838.741376604323, 826.356695188738, 725.075149676361, 749.900722332925, 747.053923813252, 744.449320875136, 722.196027816241, 704.605633072803, 675.271860747316, 712.496451491024, 743.252220017859, 765.410571668526, 751.604183480533, 771.767664923780, 816.184432669790, 830.852123084751, 831.382903014480, 797.293388747868, 791.476449205780, 770.454890375668, 764.880988906317, 762.433514920607, 735.214657627136, 684.981826516591, 694.853329128602, 693.555364610380, 663.643674447342, 641.717336968374, 632.178087265971, 636.505867410680, 724.650553277456, 726.263654147607, 698.791873452897, 704.967038388755, 757.249639958686, 773.137385936292, 775.901974221047, 766.935114596787, 722.739254969026, 693.716260832276, 712.587758206773, 703.306930217468, 738.896902063054, 760.166860560276, 777.400263792861, 797.583210606528, 820.898040405133, 871.928225827760, 836.755919107599, 838.684608484276, 859.634264956307, 876.780872424828, 852.097799488295, 860.758601148467, 832.925372062268, 813.981899338914, 817.624107394365, 799.405360903202, 723.878644151776, 736.086209499164, 734.441171233115, 733.492661334235, 841.632369360911, 800.207006845551, 826.658865723906, 777.703602560398, 760.809951149377, 766.306299664917, 751.416092375244, 782.889715281177, 731.213275162987, 690.587983730052, 676.079758670039, 697.993667295164, 763.846821414929, 731.597859096913, 757.567038211413, 774.382801520747, 810.853607136278, 840.215141102667, 804.458902492381, 846.665112464106, 847.347591978812, 868.333282570129, 889.104587532251, 853.977273524436, 817.067256864761, 814.512733817567, 811.503586820195, 796.668941092163, 762.519302912277, 770.706125420519, 744.621017301361, 731.986192500801, 824.619406224380, 788.493258408391, 818.515305015316, 776.122094894766, 844.113752633673, 869.917419606101, 891.116947249540, 843.945936941010, 810.147213940499, 787.165146754903, 803.569539980193, 832.875735636010, 852.378280773523, 868.551096895332, 863.576820122892, 832.870695946308, 919.238097599338, 889.535899064998, 904.400464120106, 909.608923868556, };
double length9[512] = { 854.3263866, 857.1437628, 833.2366052, 872.4401905, 790.4259104, 801.9054348, 805.2159506, 815.5948419, 737.4573032, 730.4224208, 728.4903708, 732.8321433, 768.6892666, 776.1094037, 791.9555352, 789.4378397, 728.398702, 740.8958835, 743.5297976, 720.4155008, 691.2096063, 687.9669523, 687.1521961, 661.1803641, 736.3667188, 728.3421188, 727.1768435, 717.220544, 820.2469079, 778.9869776, 837.8692976, 811.6520327, 754.2848589, 752.6277287, 760.4364752, 778.1320603, 682.2306888, 693.906021, 698.8204077, 680.308485, 660.2187157, 639.3688617, 629.1568214, 622.1192034, 704.1698357, 679.1603272, 687.6407107, 692.3873047, 790.9412415, 759.7540226, 780.8070818, 753.949724, 677.2138979, 691.7254468, 707.2716834, 682.0677875, 757.0918512, 763.7223719, 769.5705004, 757.1377108, 821.0264785, 796.9463428, 823.5076245, 806.0240943, 759.2477627, 783.7003017, 800.731191, 755.9180907, 707.4151954, 738.3374235, 716.2197282, 721.9736992, 653.4020936, 667.6527656, 647.750514, 623.7198304, 712.3232458, 704.6137333, 701.0862356, 692.2940691, 650.3837872, 656.9728848, 651.3349992, 633.0986747, 575.2734518, 596.1040153, 551.2228489, 563.599752, 667.4447123, 652.4585052, 626.1023384, 649.8538151, 699.7639979, 722.9081806, 689.9329804, 667.9383293, 714.4523271, 743.1972146, 780.464859, 759.8297221, 663.4891746, 681.0332702, 699.8523171, 711.8456156, 623.1196891, 642.9814744, 613.6305762, 644.8003953, 700.5290242, 692.687415, 694.8998141, 709.5716796, 749.9208852, 743.5157837, 717.4812111, 784.4100761, 689.8445885, 667.6514538, 683.5618418, 697.0902312, 733.8939868, 772.2694163, 715.8875173, 752.6186037, 832.5126281, 822.3511887, 796.1975942, 796.3293243, 778.2339495, 758.1553014, 743.8137721, 761.7151278, 724.7672465, 720.3020165, 698.2131792, 678.4154366, 607.5720834, 641.2388575, 636.449572, 635.0453489, 715.4205508, 721.3357939, 677.3370457, 715.1123607, 618.3728696, 648.6768504, 648.5894014, 631.9460196, 604.8641424, 582.4675242, 578.3991563, 581.7378397, 644.326322, 636.0338995, 643.114132, 656.37618, 720.4062866, 682.4474679, 711.1226925, 723.7129693, 642.7386483, 663.1848286, 649.0704485, 648.0020777, 596.5894683, 594.1443684, 593.4097062, 587.3706344, 515.7547677, 533.993896, 525.1702952, 558.2437348, 607.5381469, 588.8052514, 614.9167992, 618.2090115, 643.9490394, 626.8095344, 662.7663156, 634.5196847, 602.6003329, 631.7783602, 614.3344981, 620.4322209, 666.8700748, 652.330503, 676.8479117, 650.286528, 724.9525481, 710.6841557, 719.9087568, 723.0303034, 768.4910983, 765.9598763, 726.3769602, 759.8546692, 685.7937929, 688.4098906, 726.2279774, 704.8129612, 640.8199962, 656.6699738, 622.3684007, 638.2959852, 720.8086543, 692.7139323, 691.5080226, 709.4877712, 657.1758679, 673.507227, 644.0380003, 650.2417442, 596.1877702, 597.030789, 593.7985166, 613.330675, 658.0984589, 657.46987, 664.565069, 658.3855568, 694.1871242, 745.6408483, 729.3176948, 688.7688746, 736.6491458, 743.6698717, 738.5905626, 750.7273579, 724.9264666, 676.0239727, 706.5570095, 683.6618365, 628.1465508, 627.654846, 644.7196114, 613.7508428, 694.6952317, 692.491746, 699.4304736, 691.8966159, 722.8747436, 758.8243891, 757.8798578, 793.5638144, 689.2788946, 695.3573749, 692.7185429, 696.7256562, 764.7379587, 744.5055568, 766.1302293, 747.9241028, 834.8349107, 798.9318582, 820.6822191, 833.6098241, 816.2886086, 824.5430769, 826.6081496, 780.2153215, 740.9478978, 761.4770523, 743.1043903, 747.3835176, 698.4872895, 693.1488408, 707.9851833, 695.8203267, 763.0524995, 724.9441223, 741.1492088, 745.3803895, 714.3015038, 689.7057137, 705.2173929, 693.2057451, 638.1667683, 660.1557751, 657.0155207, 644.4560249, 704.0005837, 681.2251074, 697.2440756, 652.1069166, 778.3334049, 758.1412708, 746.9663837, 743.0381609, 689.4739012, 722.9961032, 713.5055441, 674.8525466, 633.6704602, 628.0540436, 641.0804621, 663.231615, 583.5545262, 570.4098399, 594.4136655, 568.9064201, 626.4736063, 651.4661287, 635.5763184, 643.5009866, 709.7882455, 719.5089093, 680.2779459, 724.033874, 666.3725204, 644.149566, 647.3165916, 630.0339841, 716.1449358, 700.2097086, 699.3059701, 705.7022092, 765.4639607, 734.9960104, 760.1194193, 779.4844795, 743.4247955, 712.0713054, 723.9303553, 721.68726, 644.4672338, 649.6684182, 676.1354248, 667.3650869, 614.2125127, 607.7836014, 577.0341943, 590.7147357, 630.5055162, 665.8263137, 646.1911684, 668.8574583, 601.210399, 607.2078472, 603.1080573, 608.6777609, 565.0966678, 534.6441484, 528.4214791, 538.4345303, 593.4967667, 607.6034345, 615.7596142, 616.3878714, 652.9905299, 666.4666108, 648.487393, 654.7751432, 696.038774, 699.9926324, 719.7427627, 707.7879983, 655.1766494, 632.4207699, 626.3960528, 621.5274899, 590.9448012, 606.5299632, 573.5638485, 564.1280153, 642.1333895, 650.925426, 623.8397372, 637.9072014, 705.0598029, 724.4128689, 714.9373253, 707.3338042, 660.2115687, 622.7749352, 637.8843196, 630.6742581, 714.3732196, 701.6034163, 705.7663768, 688.3191924, 793.9923708, 769.0965674, 794.6703484, 765.8568661, 802.7213659, 805.5671096, 805.1587498, 832.966418, 753.3885724, 721.9397525, 748.8178145, 733.2479935, 687.8509101, 692.8158863, 696.1679584, 663.0907455, 780.037278, 772.5614481, 736.8316502, 761.1532519, 672.0936497, 704.0616087, 691.5074701, 706.7406558, 645.5533963, 629.1501367, 616.5485044, 645.4741617, 670.3761381, 709.7432883, 705.1844139, 674.0647473, 745.1313831, 756.1936482, 755.3134557, 742.5025062, 681.6018073, 691.8316946, 710.9000197, 711.7663994, 655.9724621, 636.3631521, 635.9799544, 666.7004065, 572.4706731, 566.8299185, 588.9210954, 565.0783036, 614.1844393, 632.4507487, 634.6703379, 633.0992104, 685.364332, 701.1712332, 719.2987678, 696.6362175, 621.8699872, 629.9525376, 646.5597781, 649.9326592, 705.6194584, 714.9073394, 729.8901489, 716.4346252, 774.11401, 772.6210205, 776.5364742, 749.5769237, 792.5980967, 819.4877976, 816.3052474, 805.6446473, 718.9922829, 770.9985041, 748.0316568, 732.5489356, 680.6839912, 678.2431911, 697.2890896, 698.6996179, 784.9233104, 762.7923601, 750.8036802, 756.4880185, 668.7184738, 703.4004702, 657.705755, 678.4896778, 636.7864228, 613.7613084, 663.560798, 647.2110054, 664.1837413, 692.2309457, 662.2484654, 676.7889508, 776.0753018, 745.3134143, 728.6180214, 750.4093883, 796.9324849, 790.0849461, 811.7066293, 826.0963633, 758.5498511, 721.588541, 737.4222252, 738.5459286, 670.7074107, 699.6375217, 675.4436424, 661.6429568, 741.0691811, 739.8343686, 728.7508314, 748.0036816, 822.480851, 773.9252217, 790.9884396, 803.3205412, 726.2875683, 741.6413978, 729.7699933, 719.8493529, 799.6196382, 772.4393649, 775.0690059, 796.0165995, 832.1303655, 895.6717447, 871.5122401, 858.6245769 };
double length8[256] = { 732.0653665, 735.4398328, 659.8045237, 655.304577, 626.1840327, 585.4089473, 658.3135456, 689.4859552, 611.0581904, 598.6488539, 558.0851226, 554.7090504, 618.7745502, 599.0944241, 668.6588999, 661.9062272, 632.3619484, 592.7843247, 575.3747304, 544.4929208, 482.4437916, 500.3152723, 545.7662072, 557.2527546, 626.7555494, 621.0969234, 538.4346114, 570.750701, 644.1404777, 627.8715896, 665.1758703, 651.5036313, 644.9482328, 616.6044776, 560.3639103, 584.8295472, 534.5203022, 524.7570476, 578.8295281, 579.4462059, 510.2996189, 506.0870076, 448.7516987, 439.1964796, 504.3342131, 517.9913624, 582.3183229, 587.0115336, 609.9201362, 646.9392286, 535.5426259, 566.3720948, 494.4035342, 498.1997188, 558.7210903, 577.2983454, 629.0191764, 597.2082312, 547.7922683, 532.1813973, 613.8630311, 611.994399, 673.7469012, 683.3348188, 656.4262035, 643.6357322, 593.7752872, 573.8373833, 499.0079335, 525.313677, 583.1344981, 556.8268791, 505.1485838, 521.6921029, 452.7288767, 440.2851648, 537.0606961, 517.6239424, 583.6663062, 578.5291802, 517.7537867, 529.2664077, 457.2703717, 452.0319132, 396.1331168, 403.3736027, 451.8849641, 472.0660743, 534.246239, 520.7198575, 463.1052021, 450.80405, 531.365946, 507.5492101, 579.7059907, 604.2323659, 634.3500876, 646.0989259, 576.9411577, 549.5342002, 525.675272, 506.0047003, 571.0147416, 577.2602199, 518.7086168, 521.3750289, 456.5995852, 446.4021565, 497.7459643, 505.648377, 560.0380978, 572.707713, 612.4598936, 615.6488053, 572.5591677, 575.0884928, 487.0350868, 477.4452045, 579.2364448, 555.7948994, 619.3262547, 602.3451467, 535.3244472, 559.5226119, 635.4111891, 605.9391075, 651.0218153, 670.318754, 657.1160274, 667.5398163, 614.7169139, 624.7915026, 582.5931822, 545.4965936, 640.3027077, 627.8162943, 563.0292755, 537.7078428, 502.3692662, 501.4816961, 546.330092, 568.7892129, 617.2232734, 626.4187567, 587.958558, 564.5890004, 516.4384084, 488.5338522, 442.531475, 445.8787083, 533.0925198, 521.7435545, 583.1568559, 577.930595, 497.8333054, 517.1748669, 562.816969, 577.7456786, 632.3562078, 621.4027615, 602.7814205, 604.2392651, 541.1649616, 555.4662614, 457.6080027, 455.4765401, 554.1194087, 531.788477, 464.8721784, 469.5959378, 417.1717974, 400.3146409, 453.6253376, 459.1464623, 536.961061, 511.5402102, 559.8871665, 569.8996733, 522.1169009, 512.6482217, 452.230036, 425.4800738, 517.6066553, 489.1255363, 585.1215516, 563.4381923, 502.513176, 504.251685, 582.3194753, 581.9989961, 640.8389522, 635.7549519, 684.3105983, 681.832589, 611.3276544, 619.2991952, 561.6303742, 535.4157119, 612.8761624, 623.438914, 525.1979523, 550.171059, 494.6493022, 514.1130104, 542.5368489, 558.4599814, 636.2833209, 636.1113804, 599.5648835, 593.0814914, 529.0096512, 515.9652108, 449.8887011, 445.2142207, 489.4537337, 492.1166766, 571.7846401, 558.3683155, 521.0177383, 525.0017165, 572.6177774, 593.5952421, 630.6089312, 629.9541898, 679.2677034, 691.3003532, 615.3876424, 629.0642953, 579.1758618, 552.6514195, 621.4240337, 609.5296532, 568.9052473, 570.3579598, 499.5513811, 509.3730181, 561.4696163, 556.1393751, 631.4335413, 635.6176585, 660.9550524, 655.4444526, 596.1608296, 614.1582612, 549.134435, 531.1406017, 596.2277093, 604.6820011, 662.7121075, 650.6386264, 595.4945458, 600.2485483, 654.675331, 641.4080568, 719.2567267, 710.3301831 };
double angels10_9[1024] = { 0.151153601860999, 0.133522965005864, 0.145870402582065, 0.146202660786107, 0.182701234739830, 0.182513232209875, 0.182513232209875, 0.182489068629010, 0.155024715667127, 0.154861070531424, 0.154861070531424, 0.154505134683800, 0.167023274569190, 0.166602458341861, 0.166602458341861, 0.166401725877545, 0.151829765385997, 0.151740255874792, 0.151740255874792, 0.151602054323468, 0.118845679918220, 0.118709712584261, 0.118709712584261, 0.118694916843834, 0.132035188565022, 0.131736288897360, 0.131736288897360, 0.131465545801104, 0.146906856158225, 0.146815715652922, 0.146815715652922, 0.147568176720789, 0.154296381528791, 0.154317112878120, 0.154317112878120, 0.154144361910003, 0.155940441359551, 0.155759575005318, 0.155759575005318, 0.155616887661579, 0.179989535940549, 0.179574425537437, 0.179574425537437, 0.179196710142438, 0.183748333346096, 0.183623848838694, 0.183623848838694, 0.183768016737409, 0.154867473343362, 0.154765876502855, 0.154765876502855, 0.154637534536334, 0.118764377649599, 0.118714796841339, 0.118714796841339, 0.118717767234722, 0.152131906503807, 0.152081667971907, 0.152081667971907, 0.152112948457025, 0.130025217409273, 0.130056937645542, 0.130056937645542, 0.130408565140067, 0.112228324098454, 0.112225375013715, 0.112225375013715, 0.112192828563061, 0.117791320518189, 0.117741692919192, 0.117741692919192, 0.117690343636854, 0.129798952720533, 0.129726679443630, 0.129726679443630, 0.129625572012288, 0.187971079418431, 0.187923472778957, 0.187923472778957, 0.188009305110629, 0.111221258999581, 0.111133267279799, 0.111133267279799, 0.111038285174353, 0.160074955998417, 0.160023484171605, 0.160023484171605, 0.160014790947501, 0.140006414734731, 0.139967780256875, 0.139967780256875, 0.139990092103707, 0.159020573589018, 0.159041396518109, 0.159041396518109, 0.159210565177018, 0.127575121058964, 0.127518942491481, 0.127518942491481, 0.127471438936259, 0.128550755956808, 0.128532752904985, 0.128532752904985, 0.128521991285438, 0.155517623210882, 0.155489838250195, 0.155489838250195, 0.155469848764192, 0.135809061952608, 0.135812501427771, 0.135812501427771, 0.135825617087666, 0.177482864673148, 0.177442991286759, 0.177442991286759, 0.177414682636763, 0.180214454107171, 0.180288522428415, 0.180288522428415, 0.180420997939389, 0.121799530037758, 0.121818775254466, 0.121818775254466, 0.121864497789797, 0.125241916162945, 0.125323161942231, 0.125323161942231, 0.125583670082463, 0.163532406392657, 0.163514541193737, 0.163514541193737, 0.163439290533400, 0.130373458517973, 0.130249475054150, 0.130249475054150, 0.130192855168887, 0.160608486030023, 0.160523406754701, 0.160523406754701, 0.160412638845320, 0.178953963357960, 0.178856568606349, 0.178856568606349, 0.178971113091729, 0.124271729626502, 0.124223501470633, 0.124223501470633, 0.124169321093718, 0.159726394072325, 0.159695903818243, 0.159695903818243, 0.159656896510851, 0.186992727783951, 0.186954430350505, 0.186954430350505, 0.187006778080583, 0.133331455799558, 0.133353662798636, 0.133353662798636, 0.133500763154738, 0.113227457573107, 0.113205879235899, 0.113205879235899, 0.113177243032659, 0.131997804406554, 0.131970991168248, 0.131970991168248, 0.131936341205973, 0.128826812595335, 0.128803686401166, 0.128803686401166, 0.128806420679928, 0.144214176896262, 0.144256531585095, 0.144256531585095, 0.144205190003926, 0.183329068563099, 0.183300706218579, 0.183300706218579, 0.183335771386495, 0.110709884143932, 0.110726677942488, 0.110726677942488, 0.110775083990578, 0.124740061811200, 0.124786306887339, 0.124786306887339, 0.124870689668969, 0.152887715627920, 0.152937494044714, 0.152937494044714, 0.152872167372092, 0.175128983368069, 0.175018848368119, 0.175018848368119, 0.174926041654076, 0.187070162432194, 0.187059032913321, 0.187059032913321, 0.187038046497839, 0.181660276847990, 0.181647477480427, 0.181647477480427, 0.181690755953298, 0.160621411643967, 0.160652661359752, 0.160652661359752, 0.160673191785538, 0.121696133271083, 0.121678191601253, 0.121678191601253, 0.121679323379498, 0.118808204962453, 0.118825242319364, 0.118825242319364, 0.118906845138039, 0.129929012857990, 0.129961225043265, 0.129961225043265, 0.130038318673907, 0.157232192703273, 0.157288111630377, 0.157288111630377, 0.157134035904541, 0.124074708435375, 0.124048280387864, 0.124048280387864, 0.124095363248922, 0.117405442691893, 0.117438208127291, 0.117438208127291, 0.117495701893710, 0.178257285543611, 0.178315879464239, 0.178315879464239, 0.178377177219544, 0.146017880461915, 0.146149641583853, 0.146149641583853, 0.146070740311182, 0.131869895683228, 0.131960616439321, 0.131960616439321, 0.132109225487937, 0.103681184362703, 0.103738111084953, 0.103738111084953, 0.103777434844123, 0.139115275471762, 0.139229333366358, 0.139229333366358, 0.139259207142972, 0.157209044462873, 0.157219088061481, 0.157219088061481, 0.156953716125284, 0.116403759823548, 0.116417717827977, 0.116417717827977, 0.116288538263533, 0.184212677984813, 0.184033448586889, 0.184033448586889, 0.184019386906878, 0.129657014713126, 0.129553161900710, 0.129553161900710, 0.129387474273132, 0.147218768918127, 0.147134767320294, 0.147134767320294, 0.147232275033715, 0.120178248597734, 0.120150215931527, 0.120150215931527, 0.120104002061936, 0.182198525604016, 0.182144303886510, 0.182144303886510, 0.182099430702567, 0.184807979645900, 0.184760681483621, 0.184760681483621, 0.184725421198167, 0.153915915460097, 0.153917036109100, 0.153917036109100, 0.154117589936441, 0.129796801966203, 0.129768044674897, 0.129768044674897, 0.129727204951771, 0.180517089359751, 0.180473651612558, 0.180473651612558, 0.180436576953619, 0.150273420915526, 0.150237816273888, 0.150237816273888, 0.150243641587905, 0.155549009103184, 0.155555715768726, 0.155555715768726, 0.155538597586966, 0.177557338500810, 0.177505779220185, 0.177505779220185, 0.177454550232230, 0.116825905953444, 0.116811115544524, 0.116811115544524, 0.116879603943751, 0.134957923085744, 0.134984848065521, 0.134984848065521, 0.135029476174922, 0.165867550125860, 0.165959583362980, 0.165959583362980, 0.166161307608861, 0.176846984519048, 0.176788192571516, 0.176788192571516, 0.176724772656446, 0.121717553533699, 0.121673412266900, 0.121673412266900, 0.121667364954047, 0.139008010449155, 0.138982834865168, 0.138982834865168, 0.139002918916330, 0.154102559241567, 0.154112071629641, 0.154112071629641, 0.154069933731639, 0.177406258024337, 0.177352680264299, 0.177352680264299, 0.177315407250249, 0.154668513544498, 0.154664202796848, 0.154664202796848, 0.154716295273406, 0.186008539171705, 0.186079174995965, 0.186079174995965, 0.186223016688568, 0.180118885149651, 0.180223064596378, 0.180223064596378, 0.180280500127992, 0.111007665691283, 0.110987293120289, 0.110987293120289, 0.111003744511254, 0.150543366596142, 0.150550552578446, 0.150550552578446, 0.150546223426537, 0.137030771667617, 0.137037650734719, 0.137037650734719, 0.137069330459371, 0.127861956395432, 0.127907845574103, 0.127907845574103, 0.127900926653228, 0.166412063965281, 0.166424877417633, 0.166424877417633, 0.166468948793184, 0.112442056493351, 0.112494392543084, 0.112494392543084, 0.112543643342440, 0.125856954524668, 0.125954306798820, 0.125954306798820, 0.126108213099370, 0.130318366694140, 0.130455687751370, 0.130455687751370, 0.129898150738688, 0.156700161938073, 0.156679794800342, 0.156679794800342, 0.156639331502012, 0.114981521895251, 0.114948171728493, 0.114948171728493, 0.114925110947225, 0.109865657720749, 0.109829538813051, 0.109829538813051, 0.109819669648624, 0.155974480537241, 0.155969674371936, 0.155969674371936, 0.155953564620594, 0.149386907253300, 0.149300430397925, 0.149300430397925, 0.149285855799718, 0.101027699714279, 0.101021252232642, 0.101021252232642, 0.101061551585316, 0.155640017173652, 0.155633837351824, 0.155633837351824, 0.155673239790800, 0.109948201856390, 0.109996497510696, 0.109996497510696, 0.109899571853882, 0.112211756122467, 0.112138925521259, 0.112138925521259, 0.112145743084539, 0.104757443339950, 0.104755829907465, 0.104755829907465, 0.104786199530893, 0.160904328454326, 0.160962080296138, 0.160962080296138, 0.161095755555765, 0.156023826191559, 0.156092645129280, 0.156092645129280, 0.156082420814610, 0.153833160373220, 0.153826766067014, 0.153826766067014, 0.153883321269359, 0.152626443013630, 0.152812197551253, 0.152812197551253, 0.152975681491204, 0.151387719936954, 0.151527643854766, 0.151527643854766, 0.151704270921683, 0.163053312939709, 0.163199159312520, 0.163199159312520, 0.162535818938553, 0.163649089136884, 0.163578911182746, 0.163578911182746, 0.163517200201176, 0.178857329629020, 0.178869430524932, 0.178869430524932, 0.178923549431469, 0.116855542282395, 0.116858456064389, 0.116858456064389, 0.116971061857103, 0.133306763474406, 0.133382290949565, 0.133382290949565, 0.133209441639566, 0.104702296223260, 0.104676003476896, 0.104676003476896, 0.104707171990295, 0.138933256144723, 0.139151833535062, 0.139151833535062, 0.139415687700856, 0.162651923635124, 0.162823678408964, 0.162823678408964, 0.163172604785223, 0.139635899188617, 0.139849953841733, 0.139849953841733, 0.139172932012155, 0.153939728146068, 0.153909201097654, 0.153909201097654, 0.153956306236179, 0.164088675428735, 0.164281050874442, 0.164281050874442, 0.164403433429863, 0.187320101729118, 0.187780696337382, 0.187780696337382, 0.188339725720437, 0.187599378859060, 0.188858234722796, 0.188858234722796, 0.188601371383101, 0.134300425485569, 0.134679428529711, 0.134679428529711, 0.135198691788951, 0.166593360144800, 0.167450507305388, 0.167450507305388, 0.168457312872545, 0.190856149136003, 0.193165434991403, 0.193165434991403, 0.193074766464899, 0.160532991174107, 0.160335803514161, 0.160335803514161, 0.158017947303438, 0.176911377589413, 0.176494048299669, 0.176494048299669, 0.175928834802945, 0.129838232342463, 0.129571051999626, 0.129571051999626, 0.129481277210393, 0.158029748247585, 0.157747609429659, 0.157747609429659, 0.157519074702599, 0.132192596873131, 0.132096637028589, 0.132096637028589, 0.132398929562184, 0.133197613048738, 0.133067160819433, 0.133067160819433, 0.132948661167254, 0.134411537660955, 0.134357460811047, 0.134357460811047, 0.134324574939371, 0.155631575820132, 0.155600445717491, 0.155600445717491, 0.155559785876679, 0.156464447912931, 0.156527871032272, 0.156527871032272, 0.157026174542057, 0.154351585528152, 0.154245689786910, 0.154245689786910, 0.154128208979975, 0.130631480435015, 0.130624391877379, 0.130624391877379, 0.130524012677620, 0.114220066653212, 0.114169997038994, 0.114169997038994, 0.114343133719552, 0.118457798184420, 0.118567785033048, 0.118567785033048, 0.118663207481567, 0.104384539889704, 0.104357449786033, 0.104357449786033, 0.104535123714612, 0.134071059873336, 0.134206177322275, 0.134206177322275, 0.134380313981158, 0.185710704701079, 0.186045468806950, 0.186045468806950, 0.186432172450508, 0.157476037619571, 0.157915942248414, 0.157915942248414, 0.156821393986096, 0.129559790674207, 0.129337771726513, 0.129337771726513, 0.129233316197447, 0.153117441214504, 0.153155513570081, 0.153155513570081, 0.153159716660479, 0.153441983667251, 0.153452319341780, 0.153452319341780, 0.153492717853210, 0.180610949318777, 0.180955572371595, 0.180955572371595, 0.180832473159133, 0.126062294167814, 0.126000770556950, 0.126000770556950, 0.126001346135080, 0.139699078777344, 0.139870461244841, 0.139870461244841, 0.139991120379549, 0.147736608791612, 0.148208101188995, 0.148208101188995, 0.148917999866854, 0.155410236728138, 0.156235190395834, 0.156235190395834, 0.155537737581248, 0.159663267584760, 0.159586779665329, 0.159586779665329, 0.160045104619262, 0.182233088756455, 0.182926983177855, 0.182926983177855, 0.182865000831366, 0.133736298725470, 0.134342865435639, 0.134342865435639, 0.136412792998897, 0.118701116519284, 0.120411004339370, 0.120411004339370, 0.119313692571256, 0.139404757673804, 0.140150139827021, 0.140150139827021, 0.142100289866744, 0.173299233190444, 0.178703219673845, 0.178703219673845, 0.191983671156523, 0.222438284855655, 0.333142948765070, 0.333142948765070, 0.342795674982220, 0.259750041877235, 0.243081708488709, 0.243081708488709, 0.162662956806627, 0.181305185163619, 0.180607374716483, 0.180607374716483, 0.180261097784487, 0.149390056701934, 0.149441580478654, 0.149441580478654, 0.149063785782209, 0.182559094009230, 0.182438619798548, 0.182438619798548, 0.182411924740589, 0.145373301290635, 0.145911686809378, 0.145911686809378, 0.145988168766700, 0.162937525667300, 0.162745809295099, 0.162745809295099, 0.162668578921309, 0.141026667795857, 0.141627862127219, 0.141627862127219, 0.141941817864535, 0.140541387069358, 0.141229362959783, 0.141229362959783, 0.143966864697422, 0.160436585407326, 0.162646885459356, 0.162646885459356, 0.161614502395172, 0.187360620389997, 0.187394402503691, 0.187394402503691, 0.188787450656641, 0.169880650203447, 0.171387306872524, 0.171387306872524, 0.171324973222690, 0.140735940941946, 0.144572496604196, 0.144572496604196, 0.155241294702294, 0.173303482413994, 0.266091813997445, 0.266091813997445, 0.174046447086029, 0.151061445052955, 0.168638175761450, 0.168638175761450, 0.140864133195460, 0.108918808278459, 0.0928702634618071, 0.0928702634618071, 0.0943973515004808, 0.155647192171995, 0.165114182929237, 0.165114182929237, 0.168215216308481, 0.154026697855954, 0.154602029402621, 0.154602029402621, 0.174989613649171, 0.159048614328002, 0.158210339817419, 0.158210339817419, 0.161936833942863, 0.201434139291620, 0.212947171825585, 0.212947171825585, 0.239527051513299, 0.158068086027684, 0.202406281082866, 0.202406281082866, 0.129521879485575, 0.152233084881374, 0.144410069803983, 0.144410069803983, 0.315987001498621, 0.251354921913440, 0.187437281855074, 0.187437281855074, 0.104363710454346, 0.106794374866166, 0.110133646277062, 0.110133646277062, 0.111261500772870, 0.146422080612492, 0.147703761038299, 0.147703761038299, 0.148861566478656, 0.115346277156662, 0.115642448588803, 0.115642448588803, 0.108599297947698, 0.158479701727171, 0.161931051235396, 0.161931051235396, 0.164580996005030, 0.111322999024762, 0.111863428326601, 0.111863428326601, 0.112098179258799, 0.149536459492387, 0.150082336852030, 0.150082336852030, 0.150196281375759, 0.150455968862208, 0.150242560053771, 0.150242560053771, 0.150219250920678, 0.124664361600107, 0.125125864383445, 0.125125864383445, 0.125209284890504, 0.178529151864393, 0.178298496893417, 0.178298496893417, 0.178199066871654, 0.150881733978452, 0.150877541728661, 0.150877541728661, 0.150234151086474, 0.176310363505560, 0.175456313684771, 0.175456313684771, 0.211753831569180, 0.199880642151663, 0.192264911925426, 0.192264911925426, 0.188349407718864, 0.166289734313218, 0.164637963505950, 0.164637963505950, 0.166118689593585, 0.158703408426647, 0.157893729030931, 0.157893729030931, 0.158482617874410, 0.158651900499158, 0.159614947485814, 0.159614947485814, 0.161451167189320, 0.142804592469091, 0.141680201384404, 0.141680201384404, 0.142388904627070, 0.173958849930228, 0.177105734005300, 0.177105734005300, 0.187376547932451, 0.220115576011694, 0.318139462178696, 0.318139462178696, 0.156897733136953, 0.104886826059722, 0.0891970706524802, 0.0891970706524802, 0.108611454857832, 0.170082725694319, 0.167450127552615, 0.167450127552615, 0.170903528245253, 0.174468384858975, 0.188192960297186, 0.188192960297186, 0.215789588441562, 0.193698100398323, 0.604501591143184, 0.604501591143184, 0.113565702233876, 0.120472349797787, 0.127958265788730, 0.127958265788730, 0.120182228076235, 0.148535189351025, 0.156400725598798, 0.156400725598798, 0.161291393453463, 0.142947861686489, 0.142485661244370, 0.142485661244370, 0.144013540432701, 0.128400029677919, 0.129484579816687, 0.129484579816687, 0.129840214339574, 0.157103260751341, 0.157144657715379, 0.157144657715379, 0.725567329695042, 0.490115036927151, 0.213961614379156, 0.213961614379156, 0.253338062631130, 0.289803437455671, 0.169496694026572, 0.169496694026572, 0.150415340488393, 0.0997817166277512, 0.101890937842077, 0.101890937842077, 0.104340676815195, 0.149132468514512, 0.151527509453549, 0.151527509453549, 0.151044208258647, 0.107145788698400, 0.107446110418075, 0.107446110418075, 0.108086582174191, 0.177974790471691, 0.178884418931931, 0.178884418931931, 0.179334748974632, 0.170890920629064, 0.171697729932120, 0.171697729932120, 0.172192311693162, 0.175609107432261, 0.175582531096829, 0.175582531096829, 0.173661420485218, 0.117968622174406, 0.118149326529639, 0.118149326529639, 0.118541810863802, 0.156670111404084, 0.157122896613727, 0.157122896613727, 0.157392696691117, 0.175672735080250, 0.176029710311433, 0.176029710311433, 0.176159174255295, 0.144212103458768, 0.144147755037724, 0.144147755037724, 0.143897266551351, 0.124350172513036, 0.124519307679287, 0.124519307679287, 0.124557638412963, 0.127667952238974, 0.127684183980426, 0.127684183980426, 0.127741884449584, 0.141304616374344, 0.141239136470423, 0.141239136470423, 0.140960384146298, 0.131325713784491, 0.131169558586141, 0.131169558586141, 0.127459054479159, 0.162714068393105, 0.161945147565103, 0.161945147565103, 0.161152137478603, 0.149715100004893, 0.151429312532833, 0.151429312532833, 0.154707178842475, 0.144094487161275, 0.145009433022035, 0.145009433022035, 0.145867077569489, 0.152982152101861, 0.153529503096421, 0.153529503096421, 0.153149826428798, 0.173981656890009, 0.174619115720324, 0.174619115720324, 0.175300179075089, 0.176428176194678, 0.176732149886219, 0.176732149886219, 0.176893021197576, 0.152641364689236, 0.152801139618947, 0.152801139618947, 0.152866469215541, 0.152723463680152, 0.152653076283209, 0.152653076283209, 0.152095756072852, 0.175176339782603, 0.175385169276254, 0.175385169276254, 0.175587961602373, 0.160670505858754, 0.160922508973203, 0.160922508973203, 0.161072296327572, 0.178234879017182, 0.178490136861431, 0.178490136861431, 0.178699958901164, 0.118791198445415, 0.118865120396721, 0.118865120396721, 0.118662519246070, 0.181588610464587, 0.181725340326612, 0.181725340326612, 0.181891235437092, 0.152985632473871, 0.152963493863277, 0.152963493863277, 0.152764959239520, 0.175658671494520, 0.175638747840611, 0.175638747840611, 0.175608410050010, 0.150093042992331, 0.150020775030166, 0.150020775030166, 0.149607963198925, 0.140975965769587, 0.141133647905869, 0.141133647905869, 0.141281601993868, 0.176642876146620, 0.176901082280565, 0.176901082280565, 0.177036116427082, 0.175458375606652, 0.175729020330625, 0.175729020330625, 0.175873558835857, 0.107347501562442, 0.107385592222645, 0.107385592222645, 0.107331005986838, 0.142986391916950, 0.143151194660975, 0.143151194660975, 0.143240244994255, 0.177454689069735, 0.177445264181173, 0.177445264181173, 0.177429746399856, 0.126660222087574, 0.126682825723091, 0.126682825723091, 0.126575683664130, 0.161327831167454, 0.161250845634253, 0.161250845634253, 0.161326918612034, 0.122459678571728, 0.122554318604719, 0.122554318604719, 0.122681952618177, 0.138351334390850, 0.138423553580960, 0.138423553580960, 0.138346619895803, 0.149465525986387, 0.149506237204010, 0.149506237204010, 0.149524876548774, 0.144170062329324, 0.144050473105217, 0.144050473105217, 0.144209201764409, 0.161434793980453, 0.161530464832844, 0.161530464832844, 0.161536965621103, 0.118721225036327, 0.118701644831676, 0.118701644831676, 0.118532422069553, 0.103482137399247, 0.103437994571117, 0.103437994571117, 0.103187254238150, 0.107231787241558, 0.107057472275820, 0.107057472275820, 0.114222816634088 };
double angels10_8[1024] = { 0.429242725368366, 0.292707385262146, 0.260707746842925, 0.368722717712273, 0.628292392326883, 0.628292392326883, 0.628292392326883, 0.628490907752497, 0.543449875723273, 0.543449875723273, 0.543449875723273, 0.543964959047856, 0.543964959047856, 0.543964959047856, 0.543964959047856, 0.544758114485433, 0.470932164342992, 0.470932164342992, 0.470932164342992, 0.471103316339638, 0.471103316339638, 0.471103316339638, 0.471103316339638, 0.471355636660102, 0.501363266746510, 0.501363266746510, 0.501363266746510, 0.501641294549329, 0.501641294549329, 0.501641294549329, 0.501641294549329, 0.501277878231778, 0.502140907378222, 0.502140907378222, 0.502140907378222, 0.502429187493056, 0.502429187493056, 0.502429187493056, 0.502429187493056, 0.503021341393368, 0.529479376828340, 0.529479376828340, 0.529479376828340, 0.529926935570703, 0.529926935570703, 0.529926935570703, 0.529926935570703, 0.530159817438400, 0.389404767039607, 0.389404767039607, 0.389404767039607, 0.389192391499010, 0.389192391499010, 0.389192391499010, 0.389192391499010, 0.389087075684709, 0.427113392893860, 0.427113392893860, 0.427113392893860, 0.427138687513194, 0.427138687513194, 0.427138687513194, 0.427138687513194, 0.427535108366700, 0.479158578207794, 0.479158578207794, 0.479158578207794, 0.479232447912887, 0.479232447912887, 0.479232447912887, 0.479232447912887, 0.479411774526803, 0.554431291685963, 0.554431291685963, 0.554431291685963, 0.554635265211332, 0.554635265211332, 0.554635265211332, 0.554635265211332, 0.554764986774561, 0.461490211347532, 0.461490211347532, 0.461490211347532, 0.461306116496217, 0.461306116496217, 0.461306116496217, 0.461306116496217, 0.461209213924302, 0.467242619830866, 0.467242619830866, 0.467242619830866, 0.467223785223271, 0.467223785223271, 0.467223785223271, 0.467223785223271, 0.467037555155351, 0.429581169662546, 0.429581169662546, 0.429581169662546, 0.429520703721568, 0.429520703721568, 0.429520703721568, 0.429520703721568, 0.429464616882369, 0.541344509979234, 0.541344509979234, 0.541344509979234, 0.541390357517002, 0.541390357517002, 0.541390357517002, 0.541390357517002, 0.541404496249189, 0.620169132996893, 0.620169132996893, 0.620169132996893, 0.620190153441926, 0.620190153441926, 0.620190153441926, 0.620190153441926, 0.619954558454536, 0.539061177706809, 0.539061177706809, 0.539061177706809, 0.538957355404231, 0.538957355404231, 0.538957355404231, 0.538957355404231, 0.538617373853941, 0.562979683230334, 0.562979683230334, 0.562979683230334, 0.563088285248526, 0.563088285248526, 0.563088285248526, 0.563088285248526, 0.563276639978086, 0.653122460121400, 0.653122460121400, 0.653122460121400, 0.653362985853543, 0.653362985853543, 0.653362985853543, 0.653362985853543, 0.653473700824606, 0.463691382513103, 0.463691382513103, 0.463691382513103, 0.463805613624505, 0.463805613624505, 0.463805613624505, 0.463805613624505, 0.463916651377936, 0.425409942209293, 0.425409942209293, 0.425409942209293, 0.425448256224601, 0.425448256224601, 0.425448256224601, 0.425448256224601, 0.425642521157862, 0.657249365538798, 0.657249365538798, 0.657249365538798, 0.657308677544063, 0.657308677544063, 0.657308677544063, 0.657308677544063, 0.657369039928453, 0.525015628153137, 0.525015628153137, 0.525015628153137, 0.525006709474505, 0.525006709474505, 0.525006709474505, 0.525006709474505, 0.525038629412335, 0.391242532070914, 0.391242532070914, 0.391242532070914, 0.391270218295518, 0.391270218295518, 0.391270218295518, 0.391270218295518, 0.391413211766971, 0.438053079836713, 0.438053079836713, 0.438053079836713, 0.438197021485423, 0.438197021485423, 0.438197021485423, 0.438197021485423, 0.438088435215098, 0.561908302922811, 0.561908302922811, 0.561908302922811, 0.562038599093277, 0.562038599093277, 0.562038599093277, 0.562038599093277, 0.562084478353447, 0.487300402613532, 0.487300402613532, 0.487300402613532, 0.487254143524606, 0.487254143524606, 0.487254143524606, 0.487254143524606, 0.487193915788952, 0.454187987779404, 0.454187987779404, 0.454187987779404, 0.454185048068118, 0.454185048068118, 0.454185048068118, 0.454185048068118, 0.454009056411209, 0.464627325460086, 0.464627325460086, 0.464627325460086, 0.464495909290021, 0.464495909290021, 0.464495909290021, 0.464495909290021, 0.464610607702474, 0.410236447394090, 0.410236447394090, 0.410236447394090, 0.410284183885503, 0.410284183885503, 0.410284183885503, 0.410284183885503, 0.410433918163438, 0.705011438409303, 0.705011438409303, 0.705011438409303, 0.704906017718699, 0.704906017718699, 0.704906017718699, 0.704906017718699, 0.704781622471266, 0.352965958609630, 0.352965958609630, 0.352965958609630, 0.353160306287464, 0.353160306287464, 0.353160306287464, 0.353160306287464, 0.353380839152033, 0.449455565543181, 0.449455565543181, 0.449455565543181, 0.449521967854505, 0.449521967854505, 0.449521967854505, 0.449521967854505, 0.448992970588940, 0.543214449915264, 0.543214449915264, 0.543214449915264, 0.543446522779792, 0.543446522779792, 0.543446522779792, 0.543446522779792, 0.543713412262695, 0.495604238218592, 0.495604238218592, 0.495604238218592, 0.495829423392274, 0.495829423392274, 0.495829423392274, 0.495829423392274, 0.495919516289816, 0.659614890752904, 0.659614890752904, 0.659614890752904, 0.659757955122999, 0.659757955122999, 0.659757955122999, 0.659757955122999, 0.659896137609332, 0.519210594826192, 0.519210594826192, 0.519210594826192, 0.519259578551148, 0.519259578551148, 0.519259578551148, 0.519259578551148, 0.519047932011146, 0.665445832328869, 0.665445832328869, 0.665445832328869, 0.665548103428635, 0.665548103428635, 0.665548103428635, 0.665548103428635, 0.665658903584021, 0.451679406636036, 0.451679406636036, 0.451679406636036, 0.451686675004626, 0.451686675004626, 0.451686675004626, 0.451686675004626, 0.451758834728090, 0.492768757632855, 0.492768757632855, 0.492768757632855, 0.492841327833070, 0.492841327833070, 0.492841327833070, 0.492841327833070, 0.492725878169622, 0.597552958907318, 0.597552958907318, 0.597552958907318, 0.597438660458938, 0.597438660458938, 0.597438660458938, 0.597438660458938, 0.597143397290195, 0.599555254844521, 0.599555254844521, 0.599555254844521, 0.599638741807597, 0.599638741807597, 0.599638741807597, 0.599638741807597, 0.599690422203418, 0.435672286883156, 0.435672286883156, 0.435672286883156, 0.435689646864683, 0.435689646864683, 0.435689646864683, 0.435689646864683, 0.435581810093183, 0.519604481035015, 0.519604481035015, 0.519604481035015, 0.519667815530413, 0.519667815530413, 0.519667815530413, 0.519667815530413, 0.519540115891739, 0.534608334871234, 0.534608334871234, 0.534608334871234, 0.534446986975711, 0.534446986975711, 0.534446986975711, 0.534446986975711, 0.534258618871263, 0.415284256408921, 0.415284256408921, 0.415284256408921, 0.415301300178158, 0.415301300178158, 0.415301300178158, 0.415301300178158, 0.415319495592476, 0.472607348620233, 0.472607348620233, 0.472607348620233, 0.472527300618147, 0.472527300618147, 0.472527300618147, 0.472527300618147, 0.472429219658745, 0.448156067528710, 0.448156067528710, 0.448156067528710, 0.448074884825378, 0.448074884825378, 0.448074884825378, 0.448074884825378, 0.447873732981789, 0.470167064971278, 0.470167064971278, 0.470167064971278, 0.469905312561602, 0.469905312561602, 0.469905312561602, 0.469905312561602, 0.470567863905024, 0.458650763385638, 0.458650763385638, 0.458650763385638, 0.458725643146896, 0.458725643146896, 0.458725643146896, 0.458725643146896, 0.458822890980060, 0.444617441628049, 0.444617441628049, 0.444617441628049, 0.444577755019006, 0.444577755019006, 0.444577755019006, 0.444577755019006, 0.444472233766630, 0.350381255228154, 0.350381255228154, 0.350381255228154, 0.350334648347902, 0.350334648347902, 0.350334648347902, 0.350334648347902, 0.350413781407411, 0.450471061921833, 0.450471061921833, 0.450471061921833, 0.450414476616387, 0.450414476616387, 0.450414476616387, 0.450414476616387, 0.450535806294111, 0.352901336319593, 0.352901336319593, 0.352901336319593, 0.352870811190309, 0.352870811190309, 0.352870811190309, 0.352870811190309, 0.352975596134872, 0.446080897435357, 0.446080897435357, 0.446080897435357, 0.446259037787436, 0.446259037787436, 0.446259037787436, 0.446259037787436, 0.446415894629233, 0.598661913021204, 0.598661913021204, 0.598661913021204, 0.598536866747114, 0.598536866747114, 0.598536866747114, 0.598536866747114, 0.598186059856775, 0.575203102049240, 0.575203102049240, 0.575203102049240, 0.574915120890164, 0.574915120890164, 0.574915120890164, 0.574915120890164, 0.575668599547533, 0.619119851946241, 0.619119851946241, 0.619119851946241, 0.619243414736684, 0.619243414736684, 0.619243414736684, 0.619243414736684, 0.619154466304471, 0.433726504554123, 0.433726504554123, 0.433726504554123, 0.433863879589618, 0.433863879589618, 0.433863879589618, 0.433863879589618, 0.433742698273190, 0.582512430892893, 0.582512430892893, 0.582512430892893, 0.582417340155983, 0.582417340155983, 0.582417340155983, 0.582417340155983, 0.581924002913107, 0.487540282619964, 0.487540282619964, 0.487540282619964, 0.487206743813370, 0.487206743813370, 0.487206743813370, 0.487206743813370, 0.487456033350038, 0.592861461068241, 0.592861461068241, 0.592861461068241, 0.592709917418956, 0.592709917418956, 0.592709917418956, 0.592709917418956, 0.592062713942572, 0.737970512948962, 0.737970512948962, 0.737970512948962, 0.737092755390277, 0.737092755390277, 0.737092755390277, 0.737092755390277, 0.735885964917043, 0.646428953353680, 0.646428953353680, 0.646428953353680, 0.645522931513451, 0.645522931513451, 0.645522931513451, 0.645522931513451, 0.643715896150441, 0.465237888709050, 0.465237888709050, 0.465237888709050, 0.465639680578813, 0.465639680578813, 0.465639680578813, 0.465639680578813, 0.462938720970861, 0.489013411000034, 0.489013411000034, 0.489013411000034, 0.489436038242406, 0.489436038242406, 0.489436038242406, 0.489436038242406, 0.489832168804219, 0.426192525700768, 0.426192525700768, 0.426192525700768, 0.425770078411264, 0.425770078411264, 0.425770078411264, 0.425770078411264, 0.425846627438214, 0.517053524427748, 0.517053524427748, 0.517053524427748, 0.517250850270797, 0.517250850270797, 0.517250850270797, 0.517250850270797, 0.517378709608481, 0.547840103669829, 0.547840103669829, 0.547840103669829, 0.547841532943524, 0.547841532943524, 0.547841532943524, 0.547841532943524, 0.547169882680941, 0.547899169195565, 0.547899169195565, 0.547899169195565, 0.548077548068622, 0.548077548068622, 0.548077548068622, 0.548077548068622, 0.548200771551436, 0.393785614198639, 0.393785614198639, 0.393785614198639, 0.394005631553613, 0.394005631553613, 0.394005631553613, 0.394005631553613, 0.394388887888367, 0.419250500345380, 0.419250500345380, 0.419250500345380, 0.419563951788079, 0.419563951788079, 0.419563951788079, 0.419563951788079, 0.420233072419604, 0.595039474336750, 0.595039474336750, 0.595039474336750, 0.594394404963051, 0.594394404963051, 0.594394404963051, 0.594394404963051, 0.595555017894821, 0.486852067887859, 0.486852067887859, 0.486852067887859, 0.487019903583339, 0.487019903583339, 0.487019903583339, 0.487019903583339, 0.486993895118595, 0.654103014756080, 0.654103014756080, 0.654103014756080, 0.653932961819623, 0.653932961819623, 0.653932961819623, 0.653932961819623, 0.653820458635562, 0.581053724381723, 0.581053724381723, 0.581053724381723, 0.581017582064080, 0.581017582064080, 0.581017582064080, 0.581017582064080, 0.580491223620052, 0.515276107311406, 0.515276107311406, 0.515276107311406, 0.514189598341168, 0.514189598341168, 0.514189598341168, 0.514189598341168, 0.513661395609830, 0.536792136585914, 0.536792136585914, 0.536792136585914, 0.536150110814624, 0.536150110814624, 0.536150110814624, 0.536150110814624, 0.535140850163247, 0.397200146206206, 0.397200146206206, 0.397200146206206, 0.399772228168489, 0.399772228168489, 0.399772228168489, 0.399772228168489, 0.402371066301759, 0.677474563945608, 0.677474563945608, 0.677474563945608, 0.675266969556175, 0.675266969556175, 0.675266969556175, 0.675266969556175, 0.669583075894307, 0.483844293378940, 0.483844293378940, 0.483844293378940, 0.488627171880695, 0.488627171880695, 0.488627171880695, 0.488627171880695, 0.459198130342387, 0.487644232351344, 0.487644232351344, 0.487644232351344, 0.487961783508061, 0.487961783508061, 0.487961783508061, 0.487961783508061, 0.488325729186094, 0.563052072176673, 0.563052072176673, 0.563052072176673, 0.562942022890050, 0.562942022890050, 0.562942022890050, 0.562942022890050, 0.562643474199796, 0.601098747451661, 0.601098747451661, 0.601098747451661, 0.601090381046507, 0.601090381046507, 0.601090381046507, 0.601090381046507, 0.600016565500084, 0.434579437236847, 0.434579437236847, 0.434579437236847, 0.438846906931837, 0.438846906931837, 0.438846906931837, 0.438846906931837, 0.443444231810423, 0.504904404697673, 0.504904404697673, 0.504904404697673, 0.506605765244406, 0.506605765244406, 0.506605765244406, 0.506605765244406, 0.510166904290072, 0.596369588728326, 0.596369588728326, 0.596369588728326, 0.602949115924537, 0.602949115924537, 0.602949115924537, 0.602949115924537, 0.612674853434224, 0.396084293761244, 0.396084293761244, 0.396084293761244, 0.823050442871700, 0.823050442871700, 0.823050442871700, 0.823050442871700, 0.367952864862212, 0.573530481080164, 0.573530481080164, 0.573530481080164, 0.536772872221981, 0.536772872221981, 0.536772872221981, 0.536772872221981, 0.496589528813042, 0.547451349949728, 0.547451349949728, 0.547451349949728, 0.551982773537613, 0.551982773537613, 0.551982773537613, 0.551982773537613, 0.588073562589720, 0.532249108853455, 0.532249108853455, 0.532249108853455, 0.718466555653499, 0.718466555653499, 0.718466555653499, 0.718466555653499, 0.828605565004334, 0.970356309190784, 0.970356309190784, 0.970356309190784, 0.427305837061745, 0.427305837061745, 0.427305837061745, 0.427305837061745, 0.401106535783529, 0.623275864601122, 0.623275864601122, 0.623275864601122, 0.615612715277593, 0.615612715277593, 0.615612715277593, 0.615612715277593, 0.623370153996360, 0.382807996803430, 0.382807996803430, 0.382807996803430, 0.377852674423927, 0.377852674423927, 0.377852674423927, 0.377852674423927, 0.375576478762490, 0.513453243348855, 0.513453243348855, 0.513453243348855, 0.513158494037963, 0.513158494037963, 0.513158494037963, 0.513158494037963, 0.512750220887080, 0.564184968123619, 0.564184968123619, 0.564184968123619, 0.563879067925138, 0.563879067925138, 0.563879067925138, 0.563879067925138, 0.564596120794767, 0.543588973047231, 0.543588973047231, 0.543588973047231, 0.545667558197914, 0.545667558197914, 0.545667558197914, 0.545667558197914, 0.524670741323795, 0.578354782484763, 0.578354782484763, 0.578354782484763, 0.572454973423911, 0.572454973423911, 0.572454973423911, 0.572454973423911, 0.572216103043625, 0.472879274750378, 0.472879274750378, 0.472879274750378, 0.473935580872305, 0.473935580872305, 0.473935580872305, 0.473935580872305, 0.478176355074627, 0.549882877019973, 0.549882877019973, 0.549882877019973, 0.551337425902612, 0.551337425902612, 0.551337425902612, 0.551337425902612, 0.577042667113495, 0.425848356778732, 0.425848356778732, 0.425848356778732, 0.582824889819673, 0.582824889819673, 0.582824889819673, 0.582824889819673, 0.383802432792744, 0.510670293168882, 0.510670293168882, 0.510670293168882, 0.514627959169637, 0.514627959169637, 0.514627959169637, 0.514627959169637, 0.551669135083626, 0.573500558038557, 0.573500558038557, 0.573500558038557, 0.601250002476137, 0.601250002476137, 0.601250002476137, 0.601250002476137, 0.545211267909872, 0.619425019124513, 0.619425019124513, 0.619425019124513, 0.585107554818099, 0.585107554818099, 0.585107554818099, 0.585107554818099, 0.568387280122706, 0.497935478516989, 0.497935478516989, 0.497935478516989, 0.496257739776926, 0.496257739776926, 0.496257739776926, 0.496257739776926, 0.969183220330399, 0.638365875532871, 0.638365875532871, 0.638365875532871, 0.761535659301763, 0.761535659301763, 0.761535659301763, 0.761535659301763, 0.507604229071380, 0.620967876093197, 0.620967876093197, 0.620967876093197, 0.598699471046970, 0.598699471046970, 0.598699471046970, 0.598699471046970, 0.589076502559131, 0.664177915190388, 0.664177915190388, 0.664177915190388, 0.660688341918763, 0.660688341918763, 0.660688341918763, 0.660688341918763, 0.657494681639592, 0.580897791754587, 0.580897791754587, 0.580897791754587, 0.579529011730758, 0.579529011730758, 0.579529011730758, 0.579529011730758, 0.581379910835694, 0.591767839575620, 0.591767839575620, 0.591767839575620, 0.589971949713340, 0.589971949713340, 0.589971949713340, 0.589971949713340, 0.588184931065755, 0.512809163843440, 0.512809163843440, 0.512809163843440, 0.512571779367873, 0.512571779367873, 0.512571779367873, 0.512571779367873, 0.512709834117330, 0.399377636045430, 0.399377636045430, 0.399377636045430, 0.399253985441953, 0.399253985441953, 0.399253985441953, 0.399253985441953, 0.399163801076504, 0.439429128547172, 0.439429128547172, 0.439429128547172, 0.439843868455638, 0.439843868455638, 0.439843868455638, 0.439843868455638, 0.447725617630407, 0.642770625864640, 0.642770625864640, 0.642770625864640, 0.643049968032646, 0.643049968032646, 0.643049968032646, 0.643049968032646, 0.632295754575577, 0.559629900421795, 0.559629900421795, 0.559629900421795, 0.556976081333083, 0.556976081333083, 0.556976081333083, 0.556976081333083, 0.555406355024816, 0.562025678090062, 0.562025678090062, 0.562025678090062, 0.560696095360150, 0.560696095360150, 0.560696095360150, 0.560696095360150, 0.559735469209742, 0.509902994015936, 0.509902994015936, 0.509902994015936, 0.509722928909545, 0.509722928909545, 0.509722928909545, 0.509722928909545, 0.510043398419587, 0.641442986689558, 0.641442986689558, 0.641442986689558, 0.640812850887278, 0.640812850887278, 0.640812850887278, 0.640812850887278, 0.639948600491190, 0.445132148991876, 0.445132148991876, 0.445132148991876, 0.444720664022591, 0.444720664022591, 0.444720664022591, 0.444720664022591, 0.444785633863026, 0.678263436013287, 0.678263436013287, 0.678263436013287, 0.677999643680773, 0.677999643680773, 0.677999643680773, 0.677999643680773, 0.678289081617879, 0.544162626799098, 0.544162626799098, 0.544162626799098, 0.544307329403406, 0.544307329403406, 0.544307329403406, 0.544307329403406, 0.545022439443917, 0.683780606822309, 0.683780606822309, 0.683780606822309, 0.683319844753026, 0.683319844753026, 0.683319844753026, 0.683319844753026, 0.682643103654520, 0.366268371711713, 0.366268371711713, 0.366268371711713, 0.366474038152478, 0.366474038152478, 0.366474038152478, 0.366474038152478, 0.366604945418444, 0.552407006556501, 0.552407006556501, 0.552407006556501, 0.552210606235324, 0.552210606235324, 0.552210606235324, 0.552210606235324, 0.552227829563456, 0.484358723323314, 0.484358723323314, 0.484358723323314, 0.484550064523036, 0.484550064523036, 0.484550064523036, 0.484550064523036, 0.484305752242071, 0.584128110216698, 0.584128110216698, 0.584128110216698, 0.583764754596495, 0.583764754596495, 0.583764754596495, 0.583764754596495, 0.583724371075002, 0.635995908536765, 0.635995908536765, 0.635995908536765, 0.635981543763066, 0.635981543763066, 0.635981543763066, 0.635981543763066, 0.635755124604813, 0.434052289790760, 0.434052289790760, 0.434052289790760, 0.434005672003025, 0.434005672003025, 0.434005672003025, 0.434005672003025, 0.434550344685173, 0.390828632226348, 0.390828632226348, 0.390828632226348, 0.391298598288675, 0.391298598288675, 0.391298598288675, 0.391298598288675, 0.397608780294864 };
double angels10_7[1024] = { 0.923518806326146, 0.664920569230852, 0.977024169967185, 0.880721048323262, 0.973761386502696, 0.849105574959462, 0.805663872216452, 0.876459215210858, 0.674529329898423, 0.674529329898423, 0.674529329898423, 0.674529329898423, 0.674529329898423, 0.674529329898423, 0.674529329898423, 0.675882011425592, 0.636716999498239, 0.636716999498239, 0.636716999498239, 0.636716999498239, 0.636716999498239, 0.636716999498239, 0.636716999498239, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.645532343887185, 0.647742578528811, 0.681087420828414, 0.681087420828414, 0.681087420828414, 0.681087420828414, 0.681087420828414, 0.681087420828414, 0.681087420828414, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.699535074684688, 0.731938121339351, 0.666723768106126, 0.666723768106126, 0.666723768106126, 0.666723768106126, 0.666723768106126, 0.666723768106126, 0.666723768106126, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.902700401883231, 0.656851269136233, 0.697386629498887, 0.697386629498887, 0.697386629498887, 0.697386629498887, 0.697386629498887, 0.697386629498887, 0.697386629498887, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.724043555524763, 0.849728953493847, 0.779393482984211, 0.779393482984211, 0.779393482984211, 0.779393482984211, 0.779393482984211, 0.779393482984211, 0.779393482984211, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.574998656400453, 0.996966828963638, 0.799586610715053, 0.799586610715053, 0.799586610715053, 0.799586610715053, 0.799586610715053, 0.799586610715053, 0.799586610715053, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.555813095833084, 0.688879346478016, 0.489243939185411, 0.489243939185411, 0.489243939185411, 0.489243939185411, 0.489243939185411, 0.489243939185411, 0.489243939185411, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.653411573958204, 0.925076385186006, 0.831189531525769, 0.831189531525769, 0.831189531525769, 0.831189531525769, 0.831189531525769, 0.831189531525769, 0.831189531525769, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.988032327331905, 0.608672057596845, 0.627728318541234, 0.627728318541234, 0.627728318541234, 0.627728318541234, 0.627728318541234, 0.627728318541234, 0.627728318541234, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.603915549321164, 0.564321492121632, 0.604785174670069, 0.604785174670069, 0.604785174670069, 0.604785174670069, 0.604785174670069, 0.604785174670069, 0.604785174670069, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.868266897315514, 0.918808723521953, 0.759115816789988, 0.759115816789988, 0.759115816789988, 0.759115816789988, 0.759115816789988, 0.759115816789988, 0.759115816789988, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.714561464711835, 0.602653932824113, 0.604240175512473, 0.604240175512473, 0.604240175512473, 0.604240175512473, 0.604240175512473, 0.604240175512473, 0.604240175512473, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.709657368579994, 0.670397787337578, 0.754042420434861, 0.754042420434861, 0.754042420434861, 0.754042420434861, 0.754042420434861, 0.754042420434861, 0.754042420434861, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.709774509079153, 0.721168280289212, 0.715129784095197, 0.715129784095197, 0.715129784095197, 0.715129784095197, 0.715129784095197, 0.715129784095197, 0.715129784095197, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.695792528686468, 0.714713779897422, 0.666198535926086, 0.666198535926086, 0.666198535926086, 0.666198535926086, 0.666198535926086, 0.666198535926086, 0.666198535926086, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.725425079514047, 0.541165826930406, 0.506235399464206, 0.506235399464206, 0.506235399464206, 0.506235399464206, 0.506235399464206, 0.506235399464206, 0.506235399464206, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.642607223899844, 0.871561526987137, 0.704705996107210, 0.704705996107210, 0.704705996107210, 0.704705996107210, 0.704705996107210, 0.704705996107210, 0.704705996107210, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.755194360989871, 0.872542114751400, 0.644189348491168, 0.644189348491168, 0.644189348491168, 0.644189348491168, 0.644189348491168, 0.644189348491168, 0.644189348491168, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.620950261830101, 0.619820669893007, 0.753772232408620, 0.753772232408620, 0.753772232408620, 0.753772232408620, 0.753772232408620, 0.753772232408620, 0.753772232408620, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.745358830796798, 0.895913369420490, 0.589504295046356, 0.589504295046356, 0.589504295046356, 0.589504295046356, 0.589504295046356, 0.589504295046356, 0.589504295046356, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.582684093469103, 0.581314038619487, 0.662459202401677, 0.662459202401677, 0.662459202401677, 0.662459202401677, 0.662459202401677, 0.662459202401677, 0.662459202401677, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.644791680484195, 0.656892003466943, 0.667456037190634, 0.667456037190634, 0.667456037190634, 0.667456037190634, 0.667456037190634, 0.667456037190634, 0.667456037190634, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.655968652202352, 0.651281513050217, 0.722704229096667, 0.722704229096667, 0.722704229096667, 0.722704229096667, 0.722704229096667, 0.722704229096667, 0.722704229096667, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.772803175635167, 0.859357547703750, 0.761475852516164, 0.761475852516164, 0.761475852516164, 0.761475852516164, 0.761475852516164, 0.761475852516164, 0.761475852516164, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.657446668258061, 0.650969622376701, 0.681254738381026, 0.681254738381026, 0.681254738381026, 0.681254738381026, 0.681254738381026, 0.681254738381026, 0.681254738381026, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.666146579460967, 0.677466260826377, 0.661973984284994, 0.661973984284994, 0.661973984284994, 0.661973984284994, 0.661973984284994, 0.661973984284994, 0.661973984284994, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660087015169298, 0.660279887949441, 0.660885150419163, 0.660885150419163, 0.660885150419163, 0.660885150419163, 0.660885150419163, 0.660885150419163, 0.660885150419163, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.718054882706771, 0.681463363198968, 0.764034429447469, 0.764034429447469, 0.764034429447469, 0.764034429447469, 0.764034429447469, 0.764034429447469, 0.764034429447469, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.735825913698345, 0.734881489119497, 0.659474905661663, 0.659474905661663, 0.659474905661663, 0.659474905661663, 0.659474905661663, 0.659474905661663, 0.659474905661663, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.719145277574636, 0.720704605596439, 0.663455812696104, 0.663455812696104, 0.663455812696104, 0.663455812696104, 0.663455812696104, 0.663455812696104, 0.663455812696104, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.748639543856417, 0.773595001267393, 0.560805152822887, 0.560805152822887, 0.560805152822887, 0.560805152822887, 0.560805152822887, 0.560805152822887, 0.560805152822887, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.635750294868649, 0.574103327647270, 0.604060240673289, 0.604060240673289, 0.604060240673289, 0.604060240673289, 0.604060240673289, 0.604060240673289, 0.604060240673289, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.900200589253248, 0.726942523244231, 0.680726260924343, 0.680726260924343, 0.680726260924343, 0.680726260924343, 0.680726260924343, 0.680726260924343, 0.680726260924343, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.652406290248039, 0.658744443069611, 0.699343421714072, 0.699343421714072, 0.699343421714072, 0.699343421714072, 0.699343421714072, 0.699343421714072, 0.699343421714072, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.671065505216873, 0.669301010369554, 0.855456623605799, 0.855456623605799, 0.855456623605799, 0.855456623605799, 0.855456623605799, 0.855456623605799, 0.855456623605799, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.960926173284194, 0.994796080001378, 0.667268586552025, 0.667268586552025, 0.667268586552025, 0.667268586552025, 0.667268586552025, 0.667268586552025, 0.667268586552025, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.638293696561562, 0.636579939578101, 0.651311456556858, 0.651311456556858, 0.651311456556858, 0.651311456556858, 0.651311456556858, 0.651311456556858, 0.651311456556858, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.677204602225126, 0.691727116689362, 0.965351674042206, 0.965351674042206, 0.965351674042206, 0.965351674042206, 0.965351674042206, 0.965351674042206, 0.965351674042206, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.929801348713869, 0.844045778617118, 0.663677414425471, 0.663677414425471, 0.663677414425471, 0.663677414425471, 0.663677414425471, 0.663677414425471, 0.663677414425471, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.595989536884042, 0.765303377068107, 0.668582458752160, 0.668582458752160, 0.668582458752160, 0.668582458752160, 0.668582458752160, 0.668582458752160, 0.668582458752160, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.670928684395558, 0.671426530696330, 0.600737120894199, 0.600737120894199, 0.600737120894199, 0.600737120894199, 0.600737120894199, 0.600737120894199, 0.600737120894199, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.600570570818722, 0.610059089263226, 0.724022531798816, 0.724022531798816, 0.724022531798816, 0.724022531798816, 0.724022531798816, 0.724022531798816, 0.724022531798816, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.741415129521963, 0.842940762900720, 0.648744770049319, 0.648744770049319, 0.648744770049319, 0.648744770049319, 0.648744770049319, 0.648744770049319, 0.648744770049319, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.687854260030915, 0.658375799125163, 0.797022356879601, 0.797022356879601, 0.797022356879601, 0.797022356879601, 0.797022356879601, 0.797022356879601, 0.797022356879601, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.810716973883445, 0.619572699818978, 0.870111072960524, 0.870111072960524, 0.870111072960524, 0.870111072960524, 0.870111072960524, 0.870111072960524, 0.870111072960524, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.531601979229336, 0.582571138745540, 0.607236162810195, 0.607236162810195, 0.607236162810195, 0.607236162810195, 0.607236162810195, 0.607236162810195, 0.607236162810195, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.727435591670765, 0.855395188569198, 0.890815129671457, 0.890815129671457, 0.890815129671457, 0.890815129671457, 0.890815129671457, 0.890815129671457, 0.890815129671457, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.660651733602867, 0.532031220141169, 0.812015545528999, 0.812015545528999, 0.812015545528999, 0.812015545528999, 0.812015545528999, 0.812015545528999, 0.812015545528999, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.719375592760707, 0.694501871031713, 0.699019834410830, 0.699019834410830, 0.699019834410830, 0.699019834410830, 0.699019834410830, 0.699019834410830, 0.699019834410830, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.723080763974904, 0.736704093305624, 0.796078786636886, 0.796078786636886, 0.796078786636886, 0.796078786636886, 0.796078786636886, 0.796078786636886, 0.796078786636886, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.992769531214118, 0.709869232655054, 0.548360729122630, 0.548360729122630, 0.548360729122630, 0.548360729122630, 0.548360729122630, 0.548360729122630, 0.548360729122630, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.618585373892146, 0.529087745579775, 0.554827619966044, 0.554827619966044, 0.554827619966044, 0.554827619966044, 0.554827619966044, 0.554827619966044, 0.554827619966044, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.574504343591577, 0.625672547551030, 0.603654142397107, 0.603654142397107, 0.603654142397107, 0.603654142397107, 0.603654142397107, 0.603654142397107, 0.603654142397107, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.692738164099574, 0.949479465744888, 0.941577062448674, 0.941577062448674, 0.941577062448674, 0.941577062448674, 0.941577062448674, 0.941577062448674, 0.941577062448674, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.658563134942091, 0.638364397382652, 0.683906474021670, 0.683906474021670, 0.683906474021670, 0.683906474021670, 0.683906474021670, 0.683906474021670, 0.683906474021670, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.676971343154541, 0.843541127179498, 0.828878151972603, 0.828878151972603, 0.828878151972603, 0.828878151972603, 0.828878151972603, 0.828878151972603, 0.828878151972603, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.691624560020535, 0.653377216536449, 0.687012978550450, 0.687012978550450, 0.687012978550450, 0.687012978550450, 0.687012978550450, 0.687012978550450, 0.687012978550450, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.632617258966052, 0.644301629785478, 0.705143704864078, 0.705143704864078, 0.705143704864078, 0.705143704864078, 0.705143704864078, 0.705143704864078, 0.705143704864078, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.651149926256094, 0.639975238671328, 0.626476324414404, 0.626476324414404, 0.626476324414404, 0.626476324414404, 0.626476324414404, 0.626476324414404, 0.626476324414404, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.623483230833833, 0.633683642840228, 0.591964851653441, 0.591964851653441, 0.591964851653441, 0.591964851653441, 0.591964851653441, 0.591964851653441, 0.591964851653441, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.581978722569519, 0.579824419900285, 0.624876413683003, 0.624876413683003, 0.624876413683003, 0.624876413683003, 0.624876413683003, 0.624876413683003, 0.624876413683003, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.622813477557370, 0.623371089006416, 0.693643378870954, 0.693643378870954, 0.693643378870954, 0.693643378870954, 0.693643378870954, 0.693643378870954, 0.693643378870954, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690106286472570, 0.690132005514591, 0.645752119715346, 0.645752119715346, 0.645752119715346, 0.645752119715346, 0.645752119715346, 0.645752119715346, 0.645752119715346, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.647860615354128, 0.533515960020289 };
while (NNK <= (int)n - 1) {
level = (int)((1.0 + (double)NNK) - 1.0);
i0 = b_remainder[0] * b_remainder[1];
b_remainder[0] = 1;
b_remainder[1] = 0;
quotient = 2;
if ((1.0 + (double)NNK) - 1.0 == 0.0) {
i0 = angels[0] * angels[1];
angels[0] = 1;
angels[1] = 1;
angels[0] = 0.0;
}
else if ((1.0 + (double)NNK) - 1.0 == 1.0) {
i0 = angels[0] * angels[1];
angels[0] = 1;
angels[1] = 1;
angels[0] = 1.0;
}
else {
while (quotient > 1) {
Ncc = (double)level / 2.0;
int *x = new int[(int)pow(2, (int)NN)];
if (Ncc < 0.0) {
quotient = (int)ceil(Ncc);
}
else {
quotient = (int)floor(Ncc);
}
i0 = x[0] * x[1];
x[0] = 1;
x[1] = 1 + b_remainder[1];
x[0] = (double)level - floor((double)level / 2.0) * 2.0;
loop_ub = b_remainder[1];
for (i0 = 0; i0 < loop_ub; i0++) {
x[x[0] * (i0 + 1)] = b_remainder[b_remainder[0]
* i0];
}
i0 = b_remainder[0] * b_remainder[1];
b_remainder[0] = 1;
b_remainder[1] = x[1];
loop_ub = x[1];
for (i0 = 0; i0 < loop_ub; i0++) {
b_remainder[b_remainder[0] * i0] = x[x[0] * i0];
}
level = quotient;
}
i0 = angels[0] * angels[1];
angels[0] = 1;
angels[1] = 1 + b_remainder[1];
angels[0] = 1.0;
loop_ub = b_remainder[1];
for (i0 = 0; i0 < loop_ub; i0++) {
angels[angels[0] * (i0 + 1)] = b_remainder
[b_remainder[0] * i0];
}
}
Ncc = NN - (double)angels[1];
double DelaySpread10[1024];
for (int i = 0; i < 1024; i++){
cin >> DelaySpread10[i];
length10[i] = DelaySpread10[i];
};
double DelaySpread9[512];
for (int i = 0; i < 512; i++){
cin >> DelaySpread9[i];
length9[i] = DelaySpread9[i];
};
double DelaySpread8[256];
for (int i = 0; i < 256; i++){
cin >> DelaySpread8[i];
length8[i] = DelaySpread8[i];
};
int *r0 = new int[(int)pow(2, (int)NN)];
//
for (level = 0; level < (int)Ncc; level++) {
i0 = r0[0] * r0[1];
r0[0] = 1;
r0[1] = 1 + angels[1];
r0[0] = 0.0;
loop_ub = angels[1];
for (i0 = 0; i0 < loop_ub; i0++) {
quotient = angels[0];
for (i1 = 0; i1 < quotient; i1++) {
r0[i1 + r0[0] * (i0 + 1)] = angels[i1 + angels[0] * i0];
}
}
i0 = angels[0] * angels[1];
angels[0] = r0[0];
angels[1] = r0[1];
loop_ub = r0[1];
for (i0 = 0; i0 < loop_ub; i0++) {
quotient = r0[0];
for (i1 = 0; i1 < quotient; i1++) {
angels[i1 + angels[0] * i0] = r0[i1 + r0[0] *
i0];
}
}
}
tsum = 0.0;
double pathloss9[1024];
for (int i = 0; i < 1024; i++){
cin >> pathloss9[i];
angels10_9[i] = pathloss9[i];
};
double pathloss8[512];
for (int i = 0; i < 512; i++){
cin >> pathloss8[i];
angels10_8[i] = pathloss8[i];
};
double pathloss7[256];
for (int i = 0; i < 256; i++){
cin >> pathloss7[i];
angels10_7[i] = pathloss7[i];
for (level = 0; level < (int)NN; level++) {
if (1.0 + (double)level <= ceil(NN / 3.0)) {
deltpre = 200000.0 + ((rand() / double(RAND_MAX)) * 2.0 - 1.0) * 20000.0;
}
else if ((1.0 + (double)level >= ceil(NN / 3.0)) && (1.0 + (double)level
<= ceil(2.0 * NN / 3.0))) {
deltpre = 150000.0 + ((rand() / double(RAND_MAX)) * 2.0 - 1.0) * 15000.0;
}
else {
deltpre = 100000.0 + ((rand() / double(RAND_MAX)) * 2.0 - 1.0) * 10000.0;
}
Ncc = length12[level] / K;
if ((1.0 + (double)level <= ceil(2.0 * NN / 3.0)) && (angels[level] ==
angels[level + 1])) {
Ncc *= 0.5;
tsum += length12[level] * length12[level] * 4.0 * 229.0 /
(deltpre * (Ncc * Ncc));
delay[NNK] = tsum;
}
else if ((1.0 + (double)level <= ceil(2.0 * NN / 3.0)) && (angels[level] != angels[level + 1])) {
tsum += length12[level] * length12[level] * 4.0 * 229.0 /
(deltpre * 0.83 * (Ncc * Ncc));
delay[NNK] = tsum;
}
else {
Ncc *= 0.5;
tsum += length12[level] * length12[level] * 4.0 * 229.0 /
(deltpre * (Ncc * Ncc));
delay[NNK] = tsum;
}
}
NNK++;
}
}
}
return message;
}
} // namespace ns3