libome-rs 0.0.1

Rust bindings for libome, a C++ library for massive QCD operator matrix elements in x-space.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
/******************************************************************************
 * This file is part of libome                                                *
 * Copyright (C) 2025 Arnd Behring, Kay Schoenwald                            *
 * SPDX-License-Identifier: GPL-3.0-or-later                                  *
 ******************************************************************************/

#include <ome/polAqgQ.h>

namespace ome
{

  /**************** polAqgQ, regular part ****************/

  const ome_as<double> polAqgQ_reg = 
    // polAqgQ_reg
    ome_as<double>({
      // polAqgQ_reg as^3
      ome_logm<double>({
        // polAqgQ_reg as^3 LM^0
        ome_nf<double>({
          // polAqgQ_reg as^3 LM^0 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -1630.67603889249633042158855665,1609.23637447065054303455817061,168.307346935046681019275991585,
                    -10.8765858846684625107142140993,-1.20168016768015649496547032953,-8.74101151710444125188973740961,
                    -3.85769315818739475320365207752,-5.94699539692637022091903564412,-3.46044982633872459824382076741,
                    -4.42188692867224071960383277988,-2.9473972279990934145525095416,-3.50076187362923653078377075898,
                    -2.53189618026703547915013726053,-2.89231192292985479265905531443,-2.20922581320253516137109576868,
                    -2.46303061278730038694024905123,-1.95636071705681307671380099407,-2.14495546828887665033961313942,
                    -1.75453552383667020814474453992,-1.90028495322000101713407969636,-1.59039654957955838671442458377,
                    -1.70645924898655861059385567287,-1.4546035786908090987683662567,-1.54923552183281054529490725777,
                    -1.34055416573006394929212988449,-1.4192017631377291974595682076,-1.24349584395209502597089736756,
                    -1.30989966119455087421503570595,-1.1599403880906656674879771846,-1.21675574587961257719678275123,
                    -1.08727886370581153020562343497,-1.13644350255700041344931366957,-1.02352562827520461631798879318,
                    -1.06648718119762810230187093319,-0.96714515871201867471991845509,-1.00500713604440278280944867695,
                    -0.91693273235155839630419349811,-0.950551192453441987239360808586,-0.871930707486508420670190539122,
                    -0.901980032397869314628057842481,-0.83136875849911564167789012955,-0.858387483030109002282096251709,
                    -0.79462051647067638441555950176,-0.819043935083842028678017385765,-0.761171636763203836947420969022,
                    -0.783355438815341139482631565843,-0.730595953816034189268653908142,-0.750833643427422676781124895758,
                    -0.702537445524143978905673696205,-0.721073374542074830065527139189,-0.67669642942405032030205928243
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -1237.20054457313508263106676541,-333.316877999586411781843595958,-39.7535970659404275874436726667,
                    25.5608155701444464494763375253,-7.42726804643749874685506682444,13.6919719448366058405359568247,
                    -3.62501221848785252183280175639,9.43494377441944731687838088633,-2.32776106579700420476273090058,
                    7.19092040398360437979973542037,-1.70111823706089231717867583746,5.80210935390586975302891377302,
                    -1.33918166099453245865396164764,4.85768714311783833378499359961,-1.10593866192621128209329941526,
                    4.17386315028834008223314275696,-0.94407098339071951611432331335,3.65594851996124019689482101243,
                    -0.825569625265082426786480863714,3.25017499707958468007726943663,-0.735243996873679548791536194746,
                    2.92374060235334499773898402742,-0.664190296041139405483986423708,2.65549700508675159201991062415,
                    -0.606865842693660291644559167517,2.43119627879660671834074088728,-0.559650313195028265890241043282,
                    2.24088885026675647044847288183,-0.520084181347028678159384447219,2.07741636631525292682000240012,
                    -0.486440875443242391087732426875,1.9354971531060632370098455338,-0.457474276166676188383004491166,
                    1.81114913897485105113806256219,-0.432263385168293137948927238693,1.70131337651825102921475873328,
                    -0.410113324982774696800297508558,1.60360126509291312475981024814,-0.390490280328387216157882051253,
                    1.51612051665210792913916445392,-0.372977586185767530437306003846,1.43735265969126226235578545145,
                    -0.357245382976428190441240354086,1.36606511292933513055618393859,-0.343029204214689488535564508232,
                    1.30124695835012443282491508456,-0.330114582276037555205332151255,1.24206128177844115815933715152,
                    -0.31832579331636446048246114788,1.18780930083294287918578500831,-0.307517502454765877156993565222
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -394.29091087522815699447944409,-145.368795533494303294991729104,-3.66666666666666666666666666667,
                    4.98765432098765432098765432099,-0.373456790123456790123456790123,3.72814814814814814814814814815,
                    -0.0667489711934156378600823045267,2.74399932812631225329638028051,0.0181500377928949357520786092215,
                    2.15717061859037167679142987785,0.0505735188451237833953883336599,1.77626131444313262495080676899,
                    0.0646701502762108822714883320944,1.51048718612821176923741026305,0.070947266002211057156112101167,
                    1.31480051987988495925003861512,0.0734680263152485374707596929819,1.16476123437628627940046625168,
                    0.0740472171983556493787601481224,1.04605893715162127564535947608,0.0735792163497068173620234887955,
                    0.949784185679069948567221160469,0.0725368398277274746522732798583,0.870108616089142144229115116094,
                    0.0711831108840470572760079283347,0.803061945743453647912151374558,0.0696698116769375971877602700677,
                    0.745847200457820471989141826537,0.0680867465461980255589688326066,0.696437441880051943502275405975,
                    0.0664878136038923923690483153003,0.653327912564624048907078970071,0.0649054575884689973123570650056,
                    0.615378041711381406649274078938,0.0633589935592723455023019928229,0.581707511126399951296225349763,
                    0.061859554864187702556711390373,0.551625983235873267143215665164,0.0604131128937828423318794001743,
                    0.524584430680930723931263969707,0.0590223607113579926022381003,0.50014070112022375358370249853,
                    0.0576879092138046694461147499776,0.477934686695857759918090152503,0.0564090576770191427253851661512,
                    0.457670111866125897442647569368,0.05518429556531915022081758894,0.439100968999798519511546503586,
                    0.0540116317751091119495105584516,0.422021274199232601795558953105,0.0528888114697482209197927667121
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -69.7695473251028806584362139918,7.29218106995884773662551440329,-0.0740740740740740740740740740741,
                    2.33744855967078189300411522634,-0.0205761316872427983539094650206,1.05185185185185185185185185185,
                    -0.0115226337448559670781893004115,0.667842445620223398001175778954,-0.00793650793650793650793650793651,
                    0.48696844993141289437585733882,-0.0060356652949245541838134430727,0.382491582491582491582491582492,
                    -0.00486344930789375233819678264123,0.314656536878759100981323203545,-0.00407000407000407000407000407,
                    0.267136978248089359200470311581,-0.0034979423868312757201646090535,0.232026143790849673202614379085,
                    -0.00306624707496167191156297910111,0.205039347339542271316150458451,-0.00272904483430799220272904483431,
                    0.183656672545561434450323339212,-0.00245844690289134733579178023622,0.166300688039818474601083296735,
                    -0.00223653605296117373412059402398,0.151934156378600823045267489712,-0.00205128205128205128205128205128,
                    0.139847349723892933769476979354,-0.00189431053628584492782023646221,0.129538405400474365991607370918,
                    -0.00175961402015041861785156804314,0.120642506305588742864728527811,-0.00164277180406212664277180406213,
                    0.112888140665918443696221473999,-0.00154045905679892607997183160582,0.10606909430438842203548085901,
                    -0.00145012737605330197922790515383,0.100025951877803729655581507433,-0.00136979084347505400136979084348,
                    0.0946335449259425867613002115926,-0.00129787907565685343463121240899,0.0897922312556458897922312556459,
                    -0.00123313402446193774107053239845,0.0854217081607262485815457391685,
                    -0.00117453605825698848954662908151,0.0814565407157999750592343184936,
                    -0.00112125007455120176537245780402,0.07784287525268098811114537294,-0.00107258558795201821206549338937,
                    0.0745359872343999328126312253296,-0.00102796674225245653817082388511
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    -7.30864197530864197530864197531,0.246913580246913580246913580247
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^5
                  ome_x<double>({
                    -0.355555555555555555555555555556,0.711111111111111111111111111111
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^0 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAqgQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -12.2446605798490740945596115897,-239.826435791061162814904986277,138.840107076383985535149633885,
                    312.774319222612928900930120652,180.064756583546691829773048595,563.975825551083996533074095954,
                    115.513573342214238284255366635,1168.43044117189659840582133893,-304.357206528155328689972480289,
                    2731.20537938758836184793943584,-2381.4491098677206985481349392,6838.62010919575480780700759478,
                    -11396.2467073447354796744353229,17788.3406551496380724312986075,-48309.6499131278497077524883365,
                    47073.1380420027911045185631998,-195223.485562023971918602388308,124487.606892057709517710650399,
                    -771251.161390718430581412152379,322480.644477214012784583269993,-3.01122722230230996194016244408e6,
                    794036.567678471896825091584797,-1.16814171373855281762167977429e7,1.74679500816136517691832013581e6,
                    -4.51538378670654972893098265894e7,2.81027473777533385979570861756e6,-1.74199540470980362245932731158e8,
                    -1.06876765255341524265914639678e6,-6.71383405445541808663694272973e8,-4.06811049644524913612454017433e7,
                    -2.5865452512570928102449762278e9,-2.70207436143506516078525257249e8,-9.96444661952864821846522780492e9,
                    -1.39565951677768410899499012249e9,-3.83944321363989028374809691577e10,
                    -6.49012261951076246129142095538e9,-1.47987888109333568641547739874e11,
                    -2.8503388954303304308343004717e10,-5.70642050363906610591014283252e11,-1.207965979068654672372978331e11,
                    -2.2014159765547774505087994503e12,-4.99678575846315119642432859217e11,
                    -8.49673080853440315860897737772e12,-2.03107974086654144158258671867e12,
                    -3.28107940689690737824764922615e13,-8.14718773751106458423134646907e12,
                    -1.26763984211611154224085715596e14,-3.23410807679244436595311755324e13,
                    -4.89987885626791596923617390345e14,-1.27292835334496028119678961174e14,
                    -1.89486901288531757408786855979e15
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    150.754056768646231961030935426,-349.501021853351363622599133363,11.3748196067617175314211477907,
                    47.1928169393076520917092249504,34.1389218673880654927769275767,23.4290528164938624177633367604,
                    16.5445903191833298024254968583,12.069537841919157399339017221,9.04496428271028559323492135245,
                    6.92021105663517853316214313726,5.37680814662307877938889697756,4.223806275461380019777322749,
                    3.34206060437213091802730695155,2.65439919264456165819649278547,2.10914186185640932214018508,
                    1.67065280897134545685037602005,1.31372449807915956768683372194,1.02012400336264643344403473291,
                    0.776402687503610010430571910832,0.572468057166015533833156521445,0.400629190046151183964143175829,
                    0.25494438375958275960449914621,0.130766391436343263236660356971,0.0244196829723119530970994387901,
                    -0.0670323207896418183755088535677,-0.14595759600324034078557929276,-0.214281854942327563628925889336,
                    -0.273583394351475972238767483649,-0.325165103745338178793447165089,-0.370109700908374994501316589389,
                    -0.409322508177342583432787121754,-0.443564875023578459381048890847,-0.473480508845857108983894344723,
                    -0.499616379318336954656500153413,-0.522439434805010893436472774891,-0.542350060613384886740968352057,
                    -0.559692983256061463154728150812,-0.574766158453248032152502253102,-0.587828056718861706634539383605,
                    -0.599103667371025794064833782941,-0.608789471435551965962804515347,-0.617057580260259099188269335309,
                    -0.624059195463283171119681279881,-0.629927513993802266724780289379,-0.634780177308428512909859466972,
                    -0.638721344273659197432213088445,-0.64184345213663517594157639085,-0.644228717819079310936689950864,
                    -0.645950422169414233469565795102,-0.647074012113284235485558798869,-0.647658049458044895765672291901
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    7.27371966523992389002629625142,8.20085100135266852310893036126,-36.6049382716049382716049382716,
                    -11.7832647462277091906721536351,-6.18398491083676268861454046639,-3.97543209876543209876543209877,
                    -2.85654320987654320987654320988,-2.2005734921834695077325462813,-1.77713968523917503509340244034,
                    -1.48450398639870519157213258722,-1.2717174501564076324021454337,-1.11080029204547110883199037469,
                    -0.985259954111346826375905041347,-0.884813919653937186262410895328,-0.8027522347874157236955610743,
                    -0.734527494509353919784758787026,-0.676958096109137775804442471109,-0.627756626530447261161692262852,
                    -0.585239451309264969560420419078,-0.54814168962689895106547123832,-0.515495783721692003068411336924,
                    -0.486549700079840791096053434907,-0.460710540318878265240416499838,-0.437504859447347998562644231033,
                    -0.416550220141296503299563057118,-0.397534458349302503592747531666,-0.380200339251447581906896554993,
                    -0.364334044554635613403188196349,-0.349756424798160997188144160233,-0.336316275163726463854906793233,
                    -0.323885111268176108764996716052,-0.312353070112242519647265036843,-0.301625664327947272569171268766,
                    -0.291621190172684082180116247841,-0.282268641151869725181864030998,-0.273506016181987580927991313593,
                    -0.265278938166574342130356713148,-0.257539518694339851399295841819,-0.250245419307870787192615539847,
                    -0.243359070844713574458418932592,-0.236847020714138353960528674451,-0.230679384350099725398169675616,
                    -0.224829381982466788309021011706,-0.219272945663586815201458605343,-0.213988384445892809588324983367,
                    -0.208956097928066599757269754564,-0.204158330220694840765596179253,-0.199578957838734713442239992409,
                    -0.195203306191522072412623877169,-0.191017990275448133065585563271,-0.187010775928743604321156254735
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -5.98782453638343471021784973665,14.9386120357298323833986624363,-6.40740740740740740740740740741,
                    -2.12345679012345679012345679012,-1.10185185185185185185185185185,-0.692592592592592592592592592593,
                    -0.484773662551440329218106995885,-0.363483665070966658268245569833,-0.285856009070294784580498866213,
                    -0.232796067672610882487425697302,-0.194695930498399634202103337906,-0.166268748086929905111723293541,
                    -0.144398530762167125803489439853,-0.127145883556139966396376652787,-0.113248981380849512717644585776,
                    -0.101856051062400268749475098681,-0.0923739711934156378600823045267,-0.0843786043829296424452133794694,
                    -0.0775595964198638383780850353536,-0.0716852415494732788942973273195,-0.0665794603467733661639478813994,
                    -0.0621063240110859158478206097254,-0.0581594131377681161230944780728,-0.054654351268889849401964885725,
                    -0.0515234700148583786474985802858,-0.0487119341563786008230452674897,-0.0461748849441157133464825772518,
                    -0.0438753052449369849390953115761,-0.0417824041672758114067147968774,-0.0398703807061204717056594073751,
                    -0.038117467447629952584371926425,-0.0365051836435811461826029984199,-0.0350177465121208617566578024434,
                    -0.0336416033227901914770601639289,-0.0323650565515582467104608938169,-0.0311779613806306836460074225769,
                    -0.030071479895113052079542379366,-0.0290378800555644065820909331086,-0.0280703702879341121461358041428,
                    -0.0271629625987179790716973755542,-0.0263103586821535539484257432975,-0.0255078546720426553859034525305,
                    -0.024751261099617614541648799413,-0.0240368353204978751177039398043,-0.0233612242191818375504889099461,
                    -0.0227214154262414644008358935407,-0.0221146956193281661787344533733,-0.0215386147451311358030818974664,
                    -0.0209909552112849230700445428075,-0.0204697052668384058082794720307,-0.0199730359263886960679963595415
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    -0.823045267489711934156378600823,1.34979423868312757201646090535,-0.296296296296296296296296296296,
                    -0.131687242798353909465020576132,-0.0823045267489711934156378600823,-0.0592592592592592592592592592593,
                    -0.0460905349794238683127572016461,-0.0376249265138154027042915931805,-0.031746031746031746031746031746,
                    -0.0274348422496570644718792866941,-0.0241426611796982167352537722908,-0.0215488215488215488215488215488,
                    -0.0194537972315750093527871305649,-0.0177271288382399493510604621716,-0.01628001628001628001628001628,
                    -0.0150499706055261610817166372722,-0.013991769547325102880658436214,-0.0130718954248366013071895424837,
                    -0.0122649882998466876462519164044,-0.0115515125261713955671070680817,-0.0109161793372319688109161793372,
                    -0.0103468547912992357436801881246,-0.0098337876115653893431671209449,
                    -0.00936905284731371687893427023862,-0.0089461442118446949364823760959,
                    -0.00855967078189300411522633744856,-0.00820512820512820512820512820513,
                    -0.00787872392810664415602687207625,-0.00757724214514337971128094584885,
                    -0.00729793833242109104178069695311,-0.00703845608060167447140627217256,
                    -0.00679676091862471790787202973583,-0.00657108721624850657108721624851,
                    -0.00635989524878413767302656191545,-0.00616183622719570431988732642327,
                    -0.00597572362278244631185807656396,-0.00580050950421320791691162061532,
                    -0.0056352648945241537834130426723,-0.0054791633739002160054791633739,-0.0053314673197714133386648006531,
                    -0.00519151630262741373852484963596,-0.00505871725383920505871725383921,
                    -0.00493253609784775096428212959378,-0.00481249060060429569473497122076,
                    -0.00469814423302795395818651632605,-0.00458910088539718169347798977429,
                    -0.00448500029820480706148983121608,-0.00438551409874259087950114777127,
                    -0.00429034235180807284826197355748,-0.00419921054841689762324682959604,
                    -0.00411186696900982615268329554044
                  },0),
                  // polAqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^4
                  ome_x<double>({
                    -0.0617283950617283950617283950617,0.123456790123456790123456790123
                  },0)
                },0)
              )
            }
          )
        },1),
        // polAqgQ_reg as^3 LM^1
        ome_nf<double>({
          // polAqgQ_reg as^3 LM^1 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -1212.28348296857852534425670228,1211.3066859805303430280117051,104.887356950326865385817130148,
                    1.661870578746096550075103111,0.703792568506433800587062901166,-4.65667675808277507098472211857,
                    -2.1652588776857797877206274914,-3.68922547406376149391728148526,-2.18265664518282775304210696585,
                    -2.88304217479025731713274351011,-1.92752204816776819882598144547,-2.32799202867489356946488691773,
                    -1.67648207398254066403018940897,-1.93553585221698992698868999896,-1.46523254022469724492917255786,
                    -1.64659798139949895204956185076,-1.29201392766781867618572996544,-1.42616694137521223383319390827,
                    -1.14967206597510460284564188086,-1.25299955128098623218697981893,-1.03156717425258224906451119515,
                    -1.11365915314860426774225226083,-0.932454387381839404422413082435,-0.999294992888893358066429916758,
                    -0.848347577592781019439736010235,-0.903863604653014871041893210347,-0.776232980381187449580931645613,
                    -0.823107879427206506055980131723,-0.713817489839445800973380454394,-0.753947366630984188439970611621,
                    -0.659337861664723310978290547548,-0.694100560893302351943431417748,-0.611422158010743827528494282791,
                    -0.641843074609967258738779901549,-0.568990144661233864784619212078,-0.595848211605291970455094056513,
                    -0.531181496709798320382076121441,-0.555079096566913017125206327541,-0.497303624874340854978031625191,
                    -0.518713979720776236776816994902,-0.466793361926448989478528868075,-0.486093433623591792185198831774,
                    -0.439188508707365980716005190213,-0.456682327136854464487139882795,-0.414106461689706122034063431688,
                    -0.430041979648644851805892695319,-0.39122798149552312899798930943,-0.405809459346423175000467261424,
                    -0.370284734809083778588786377011,-0.38368197965617624299513126982,-0.351049636168876375930828142969
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -816.790123456790123456790123457,-332.345679012345679012345679012,-24.6666666666666666666666666667,
                    9.58024691358024691358024691358,-4.14197530864197530864197530864,9.21333333333333333333333333333,
                    -1.5975308641975308641975308642,7.18810783572688334593096497858,-0.753911564625850340136054421769,
                    5.82916911620615324319028022732,-0.368602782676856750930825004899,4.90109405745769382133018496655,
                    -0.161514859999708484556969405454,4.23335192822372309551796731284,-0.0387799014172640546266919893294,
                    3.73097999002760907522812284717,0.0387711208544541877875211208545,3.33939401140958234383839920172,
                    0.089965638094562867086255526599,3.02545401087335558877330402807,0.124799397821232593922833453549,
                    2.76799208812329850218689965115,0.148986189960953071939093141833,2.5528879619211440292908760941,
                    0.165984053528044858533874357097,2.37037167446072188747290824735,0.177983104118167331976002777539,
                    2.21347096835849344508824347317,0.186422678108252357727835123924,2.07707725467601001169756452625,
                    0.192278124265124146202076330639,1.95736165069381692868611149209,0.196227606208348959015777261117,
                    1.85139742076109529633886455321,0.198753080363686707993153447761,1.75690859491476029122641799945,
                    0.200203548495895790660108212343,1.67209822171752186510151619317,0.200835863627347569596347669814,
                    1.59552831898848978417325737501,0.200841739693672099086290023379,1.52603423910947128083858884272,
                    0.200366037489456454290084046464,1.4626624630468424405531046452,0.199519394501173817069170332185,
                    1.40462466852129142973065102969,0.19838710499306726842280228217,1.35126330984196917966079114626,
                    0.197035464185967561167188372367,1.30202547583180739392954892536,0.195516366435223093856023479814
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -241.111111111111111111111111111,-57.3333333333333333333333333333,-3.33333333333333333333333333333,
                    9.18518518518518518518518518519,-0.925925925925925925925925925926,4.13333333333333333333333333333,
                    -0.518518518518518518518518518519,2.62433862433862433862433862434,-0.357142857142857142857142857143,
                    1.91358024691358024691358024691,-0.271604938271604938271604938272,1.50303030303030303030303030303,
                    -0.218855218855218855218855218855,1.23646723646723646723646723647,-0.18315018315018315018315018315,
                    1.04973544973544973544973544974,-0.157407407407407407407407407407,0.911764705882352941176470588235,
                    -0.13798111837327523602033405955,0.8057179987004548408057179987,-0.122807017543859649122807017544,
                    0.721693121693121693121693121693,-0.11063011063011063011063011063,0.653491436100131752305665349144,
                    -0.100644122383252818035426731079,0.597037037037037037037037037037,-0.0923076923076923076923076923077,
                    0.549540993985438429882874327319,-0.0852439741328630217519106407995,0.509031198686371100164203612479,
                    -0.0791826309067688378033205619413,0.474074074074074074074074074074,-0.0739247311827956989247311827957,
                    0.443602693602693602693602693603,-0.0693206575559516735987324222618,0.416806722689075630252100840336,
                    -0.0652557319223985890652557319224,0.393059726393059726393059726393,-0.0616405879563774300616405879564,
                    0.371869845554056080371869845554,-0.0584045584045584045584045584046,0.352845528455284552845528455285,
                    -0.0554910311007871983481739579301,0.335671219392149624707764242648,-0.0528541226215644820295983086681,
                    0.320089786756453423120089786756,-0.0504562533548040794417606011809,0.305889608387295713845205057046,
                    -0.0482663514578408195429472025217,0.292894935752078609221466364324,-0.0462585034013605442176870748299
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -36.2962962962962962962962962963,-5.62962962962962962962962962963
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    -2.22222222222222222222222222222,4.44444444444444444444444444444
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^1 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAqgQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -12.0475584635802270491842482837,-192.620218563607964549323087352,113.921708802320574264516633253,
                    230.753413513636503633189682105,183.514790001962417141787243622,471.311024614183980600042769153,
                    273.838116547972114403100351962,1140.42140792307723585082036253,544.085300359943844124677555939,
                    3226.00166205279367169324795628,1362.73846292339450024822916937,10013.7999733667492358080149018,
                    4054.1572797878959113871000209,32892.2952282298910520314993311,13493.9659944030189490265220121,
                    111992.443761219546226915054935,47927.8245215620415319787742787,390490.119434119323050944373591,
                    176207.320645323462682549047439,1.38398655420845025668829693632e6,659015.348908133753635186809832,
                    4.96250293025125650209854099414e6,2.48383658281772970367695445549e6,1.79456473238507129015732255262e7,
                    9.38742994228562970282150195069e6,6.53094693168851511024779010439e7,3.54833231784871883104200289746e7,
                    2.38831387663696513130945999016e8,1.33950415564966998560775824968e8,8.76638690817744604830649266407e8,
                    5.0462425154093058042783046883e8,3.22698899278241370415313575152e9,1.89625364734579385574231961207e9,
                    1.19051856940318987093185303989e10,7.1054874239362242279486400778e9,4.39953738153684707594263051507e10,
                    2.6542987730599076968098158715e10,1.6278703721065650606269052224e11,9.88221876308904813514065763675e10,
                    6.02854339113710007099722836289e11,3.66592730250212382892498118291e11,2.23378940615211289088561295064e12,
                    1.35452919790179853859512560574e12,8.27904766560173569402147492238e12,4.9829029546408887867354689515e12,
                    3.06836296720319786793476871113e13,1.8240336639419602493968027235e13,1.13685775750357084316955584157e14,
                    6.63963587383420692103962178968e13,4.20983555732707385892538416619e14,2.40125935403781693175465424868e14
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    102.099424239809758616455664101,-243.98404233366607083485902988,-5.37037037037037037037037037037,
                    32.8724279835390946502057613169,25.6486625514403292181069958848,18.2094074074074074074074074074,
                    13.2208559670781893004115226337,9.95070846680824005087043635796,7.74987143666990605766115970198,
                    6.2186686208548348466043939295,5.11936048511768676377729875672,4.30784254985907878469861940936,
                    3.6940389906321954072183640595,3.21981807804293011393603109579,2.84652535232839543913085755858,
                    2.54775597007343039089070835103,2.30503609363703609735355767102,2.10516429031612116091582618678,
                    1.93852830454215288126638988484,1.79801158123488198469958609429,1.67826613437082638370579313589,
                    1.57521873368233569234047398023,1.4857291173379178023466425277,1.40734934045577995043215005219,
                    1.33815168540384455114075783738,1.27660385459675940811186671545,1.22147728352414186476116739598,
                    1.17177898653144007182987630048,1.12670034291501488336886878484,1.08557822501442945154229448381,
                    1.04786521842510704655812743152,1.01310660939598693826929064799,0.980922457350607571853794119126,
                    0.950993522787654000889383919646,0.923050142694658114862602353854,0.896863377098186733629653874394,
                    0.872237918511548134795323747744,0.849006379300881687658490490735,0.827024663140766521924643990976,
                    0.806168194690638314968519848394,0.786328832686847956225076052841,0.767412330294847399217086289318,
                    0.749336236023183466409717956186,0.732028151100287964494736200669,0.715424276661842662503948357303,
                    0.699468197645959814139388963174,0.684109860876051146367450824165,0.669304713121585340587122367169,
                    0.655012971486735759824774079904,0.641199003680640615287556415322,0.627830799870596563004448446728
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -8.27262623064628727365277743226,22.3230302390703523250833326423,-26.4444444444444444444444444444,
                    -8.74074074074074074074074074074,-4.61111111111111111111111111111,-2.95555555555555555555555555556,
                    -2.10864197530864197530864197531,-1.60947341899722852103804484757,-1.28656462585034013605442176871,
                    -1.06344307270233196159122085048,-0.901508916323731138545953360768,-0.779430670339761248852157943067,
                    -0.6845730027548209366391184573,-0.609029147490685952224413762875,-0.547625756416965208173999382791,
                    -0.496850592088687326782564877803,-0.45424382716049382716049382716,-0.418036332179930795847750865052,
                    -0.38692620597016342242537295722,-0.35993601070034844529560852532,-0.33631886734379809172052939366,
                    -0.315495086923658352229780801209,-0.297008426878556748686618816489,-0.280495277573813404712184571267,
                    -0.265662559219585054493687133889,-0.252271604938271604938271604938,-0.240126232741617357001972386588,
                    -0.229063797281587721600383835268,-0.218948393257623122408542749519,-0.20966563399041741151474462159,
                    -0.201118597789227991368300524067,-0.193224650248583651289166377616,-0.185912930685628396346398427564,
                    -0.179122347209468421589633710846,-0.172799964977798678123727929747,-0.166899701056893345573523527058,
                    -0.161381260323059264858206657148,-0.156209262315368421474527580634,-0.151352520447377076859745123577,
                    -0.146783443608502206413989921341,-0.142477536708305939075169844401,-0.138412981690792517681274373719,
                    -0.13457028436774053045546770937,-0.130931975378136752367353206932,-0.127482355885915549615829865596,
                    -0.124207280436236665192894149123,-0.12109397081741827243472556082,-0.118130855908344631654754104502,
                    -0.115307433395369112888352363228,-0.112614149968377373625187036266,-0.110042297190985237632467953168
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -7.40740740740740740740740740741,12.1481481481481481481481481481,-2.66666666666666666666666666667,
                    -1.18518518518518518518518518519,-0.740740740740740740740740740741,-0.533333333333333333333333333333,
                    -0.414814814814814814814814814815,-0.338624338624338624338624338624,-0.285714285714285714285714285714,
                    -0.246913580246913580246913580247,-0.217283950617283950617283950617,-0.193939393939393939393939393939,
                    -0.175084175084175084175084175084,-0.159544159544159544159544159544,-0.14652014652014652014652014652,
                    -0.13544973544973544973544973545,-0.125925925925925925925925925926,-0.117647058823529411764705882353,
                    -0.11038489469862018881626724764,-0.103963612735542560103963612736,-0.0982456140350877192982456140351,
                    -0.0931216931216931216931216931217,-0.0885040885040885040885040885041,-0.0843214756258234519104084321476,
                    -0.0805152979066022544283413848631,-0.077037037037037037037037037037,-0.0738461538461538461538461538462,
                    -0.0709085153529597974042418486863,-0.0681951793062904174015285126396,-0.065681444991789819376026272578,
                    -0.063346104725415070242656449553,-0.0611708482676224611708482676225,-0.0591397849462365591397849462366,
                    -0.0572390572390572390572390572391,-0.0554565260447613388789859378095,-0.0537815126050420168067226890756,
                    -0.0522045855379188712522045855379,-0.0507173840507173840507173840507,-0.0493124703651019440493124703651,
                    -0.0479832058779427200479832058779,-0.0467236467236467236467236467236,-0.0455284552845528455284552845528,
                    -0.044392824880629758678539166344,-0.0433124154054386612526147409868,-0.0422832980972515856236786469345,
                    -0.0413019079685746352413019079686,-0.0403650026838432635534084809447,-0.0394696268886833179155103299414,
                    -0.0386130811662726556343577620173,-0.0377928949357520786092214663643,-0.0370068027210884353741496598639
                  },0),
                  // polAqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    -0.740740740740740740740740740741,1.48148148148148148148148148148
                  },0)
                },0)
              )
            }
          )
        },1),
        // polAqgQ_reg as^3 LM^2
        ome_nf<double>({
          // polAqgQ_reg as^3 LM^2 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -263.977484741547673050988511852,261.784172561671871266566529185,29.1111111111111111111111111111,
                    -0.493827160493827160493827160494,1.78395061728395061728395061728,-0.822222222222222222222222222222,
                    0.0232098765432098765432098765432,-0.784076593600403124212648022172,-0.347789115646258503401360544218,
                    -0.717470115618263766411914560063,-0.450632961003331373701744072114,-0.656102147011237920328829419739,
                    -0.475438609276993115376953760792,-0.603662086568069474052380035286,-0.472831401402829974258545687117,
                    -0.559259200529041798883068724339,-0.459889991695547251102806658362,-0.521437016462968020061445666982,
                    -0.44323685413650811574687007213,-0.48890785977310337747033200838,-0.425655969960190263269943895657,
                    -0.46064788188479770375686636928,-0.408358613902553966617869691061,-0.435862944805306674213750796973,
                    -0.391861870361595293852546569572,-0.413937624357465520475346831519,-0.376361509739108960455657909503,
                    -0.394391405029386765617107162954,-0.361901168144933837780459718779,-0.376845177491033016502754296244,
                    -0.348452917138168536406880907335,-0.360996477517970417944953349748,-0.335956914806850512360289406058,
                    -0.346601317375749356608578007122,-0.324341264254837863219870740323,-0.33346080703868163542766016041,
                    -0.313531955305187635318311442275,-0.321411221794761360678428546608,-0.303457711654239942221147611883,
                    -0.310316553878507640707750374925,-0.294052181989865235038361057542,-0.300062866881382738368806435087,
                    -0.285254742489095511477501978715,-0.290553970648817677218434041544,-0.277010582939925295498212062897,
                    -0.281708073285508758397738431064,-0.269270437699298706514086496247,-0.273455163743607172135577398816,
                    -0.261990156465944560729190064461,-0.265734946302225849479762389106,-0.255130219463565485449344958512
                  },0),
                  // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -188.592592592592592592592592593,-59.2592592592592592592592592593,-12.,5.33333333333333333333333333333,
                    -3.33333333333333333333333333333,2.4,-1.86666666666666666666666666667,1.52380952380952380952380952381,
                    -1.28571428571428571428571428571,1.11111111111111111111111111111,-0.977777777777777777777777777778,
                    0.872727272727272727272727272727,-0.787878787878787878787878787879,0.717948717948717948717948717949,
                    -0.659340659340659340659340659341,0.609523809523809523809523809524,-0.566666666666666666666666666667,
                    0.529411764705882352941176470588,-0.496732026143790849673202614379,0.46783625730994152046783625731,
                    -0.442105263157894736842105263158,0.419047619047619047619047619048,-0.398268398268398268398268398268,
                    0.379446640316205533596837944664,-0.362318840579710144927536231884,0.346666666666666666666666666667,
                    -0.332307692307692307692307692308,0.319088319088319088319088319088,-0.306878306878306878306878306878,
                    0.295566502463054187192118226601,-0.285057471264367816091954022989,0.275268817204301075268817204301,
                    -0.266129032258064516129032258065,0.257575757575757575757575757576,-0.249554367201426024955436720143,
                    0.24201680672268907563025210084,-0.234920634920634920634920634921,0.228228228228228228228228228228,
                    -0.221906116642958748221906116643,0.215924426450742240215924426451,-0.210256410256410256410256410256,
                    0.204878048780487804878048780488,-0.199767711962833914053426248548,0.194905869324473975636766334441,
                    -0.190274841437632135306553911205,0.185858585858585858585858585859,-0.181642512077294685990338164251,
                    0.177613320999074930619796484736,-0.173758865248226950354609929078,0.170068027210884353741496598639,
                    -0.166530612244897959183673469388
                  },0),
                  // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -45.3333333333333333333333333333,-32.
                  },0),
                  // polAqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -3.55555555555555555555555555556,7.11111111111111111111111111111
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^2 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAqgQ_reg as^3 LM^2 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^2 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -2.27658354009495320706772106843,-49.3198570393782750341062552746,32.3012493834672611365468530818,
                    49.9252128513804647355125666405,41.9729888185529778165636348307,93.0862200190274331506959338196,
                    -14.1763069880964352156705370215,158.390201295910713983772261425,-293.541598304692940740091631958,
                    268.032198393173961233174080764,-1480.18981255821417654108175823,403.665096783450364445408405638,
                    -6188.2505154803276103932381427,357.61951275008055725817043624,-24274.1044669340949937052895575,
                    -849.392292698385878649392444299,-92645.7920910038324771731512231,-6878.11633261872808987163572898,
                    -349030.470802754132013983034459,-29481.2688168241421725384535158,-1.3065969943613621289508288136e6,
                    -100217.780429191080531741063734,-4.87665485128412692919161165983e6,-276329.841966680021695395280456,
                    -1.81797490658411403689635154479e7,-501818.943602399354162287603179,-6.77598955418832152950182236989e7,
                    576880.628632726082108855228248,-2.52649486759249612352794785924e8,1.27450550490630291023904124585e7,
                    -9.42664731801360363385725483559e8,9.1807290867228229823450787868e7,-3.52011478261714602440480096633e9,
                    5.23899132272254079870777180502e8,-1.3156657824243606404599819882e10,2.68962617925776064056966581379e9,
                    -4.92184541875609259425774557347e10,1.29934109382504699722866676683e10,
                    -1.84286523644542939095604377385e11,6.03392437614794483349286659071e10,
                    -6.90593968142015494441472656838e11,2.72565773409476726915929730856e11,
                    -2.58994353051530026013650865347e12,1.20643640031624316842592393278e12,
                    -9.72002572394806085964007710426e12,5.25759516683410692486925190417e12,
                    -3.65025682359611076074955785782e13,2.26343528215811838893746594393e13,
                    -1.37159681951193328751468087237e14,9.64922269221612052099120324286e13,
                    -5.15637046208217100344546046053e14
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^2 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    17.4686251562817946347785495555,-44.4187317940450707510385805924,-8.44444444444444444444444444444,
                    6.81481481481481481481481481481,6.5,4.85777777777777777777777777778,3.49432098765432098765432098765,
                    2.49604434366339128243890148652,1.77568027210884353741496598639,1.25107779737409367038996668626,
                    0.86352341759749167156574563982,0.573097205824478551751279024006,0.352689667235121780576326030871,
                    0.183643441079338515235951133387,0.0528900484944440988397032353076,-0.0488920274317099713925110750508,
                    -0.128467742281234344726408218472,-0.190825658523384672667915376764,-0.239698152091370816769472963977,
                    -0.277914559465357685538340133204,-0.307645142898469713960453192434,-0.330572437204512256755376225386,
                    -0.348013458601032280158369722319,-0.361008114078430762552335856724,-0.370384001201316419437527519833,
                    -0.376804478146218285400879826441,-0.380804720420602505942122578011,-0.382819044232153379517174582918,
                    -0.383201808172683122234515666284,-0.382243542826033507393679110474,-0.380183499173527548539955503506,
                    -0.377219484825825951889151690597,-0.373515628658700180489594450824,-0.369208550493159427016543837552,
                    -0.364412293611634372626606455774,-0.359222290912087327042339286789,-0.35371857125606821132031209316,
                    -0.347968364715627178435688841828,-0.342028229499009284884765446835,-0.335945796160411441471392522892,
                    -0.329761203996966241665091057803,-0.323508288658540215069670262604,-0.317215567740740039815833805252,
                    -0.310907061614919628600210965278,-0.304602979316416653654598769542,-0.298320293475519345807828724606,
                    -0.29207322366820817796832681968,-0.285873643908537556870673689533,-0.279731427091033031716109931136,
                    -0.273654736858648067518825455483,-0.26765027549582823322772232168
                  },0),
                  // polAqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -7.40740740740740740740740740741,9.48148148148148148148148148148,-5.33333333333333333333333333333,
                    -2.37037037037037037037037037037,-1.48148148148148148148148148148,-1.06666666666666666666666666667,
                    -0.82962962962962962962962962963,-0.677248677248677248677248677249,-0.571428571428571428571428571429,
                    -0.493827160493827160493827160494,-0.434567901234567901234567901235,-0.387878787878787878787878787879,
                    -0.350168350168350168350168350168,-0.319088319088319088319088319088,-0.29304029304029304029304029304,
                    -0.270899470899470899470899470899,-0.251851851851851851851851851852,-0.235294117647058823529411764706,
                    -0.22076978939724037763253449528,-0.207927225471085120207927225471,-0.19649122807017543859649122807,
                    -0.186243386243386243386243386243,-0.177008177008177008177008177008,-0.168642951251646903820816864295,
                    -0.161030595813204508856682769726,-0.154074074074074074074074074074,-0.147692307692307692307692307692,
                    -0.141817030705919594808483697373,-0.136390358612580834803057025279,-0.131362889983579638752052545156,
                    -0.126692209450830140485312899106,-0.122341696535244922341696535245,-0.118279569892473118279569892473,
                    -0.114478114478114478114478114478,-0.110913052089522677757971875619,-0.107563025210084033613445378151,
                    -0.104409171075837742504409171076,-0.101434768101434768101434768101,-0.0986249407302038880986249407302,
                    -0.0959664117558854400959664117559,-0.0934472934472934472934472934473,-0.0910569105691056910569105691057,
                    -0.0887856497612595173570783326881,-0.0866248308108773225052294819737,-0.0845665961945031712473572938689,
                    -0.0826038159371492704826038159371,-0.0807300053676865271068169618894,-0.0789392537773666358310206598828,
                    -0.0772261623325453112687155240347,-0.0755857898715041572184429327286,-0.0740136054421768707482993197279
                  },0),
                  // polAqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -2.22222222222222222222222222222,4.44444444444444444444444444444
                  },0)
                },0)
              )
            }
          )
        },1),
        // polAqgQ_reg as^3 LM^3
        ome_nf<double>({
          // polAqgQ_reg as^3 LM^3 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // polAqgQ_reg as^3 LM^3 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -52.4444444444444444444444444444,51.8518518518518518518518518519,2.22222222222222222222222222222,
                    0.987654320987654320987654320988,0.617283950617283950617283950617,0.444444444444444444444444444444,
                    0.345679012345679012345679012346,0.282186948853615520282186948854,0.238095238095238095238095238095,
                    0.205761316872427983539094650206,0.181069958847736625514403292181,0.161616161616161616161616161616,
                    0.145903479236812570145903479237,0.132953466286799620132953466287,0.1221001221001221001221001221,
                    0.112874779541446208112874779541,0.104938271604938271604938271605,0.0980392156862745098039215686275,
                    0.0919874122488501573468893730332,0.086636343946285466753303010613,0.0818713450292397660818713450292,
                    0.0776014109347442680776014109347,0.0737534070867404200737534070867,0.0702678963548528765920070267896,
                    0.0670960815888352120236178207193,0.0641975308641975308641975308642,0.0615384615384615384615384615385,
                    0.0590904294607998311702015405719,0.0568293160885753478346070938664,0.0547345374931581828133552271483,
                    0.0527884206045125585355470412942,0.0509757068896853843090402230187,0.0492831541218637992831541218638,
                    0.0476992143658810325476992143659,0.0462137717039677823991549481746,0.0448179271708683473389355742297,
                    0.0435038212815990593768371546149,0.0422644867089311533755978200423,0.0410937253042516200410937253043,
                    0.0399860048982856000399860048983,0.0389363722697056030389363722697,0.037940379403794037940379403794,
                    0.0369940207338581322321159719534,0.0360936795045322177105122841557,0.0352360817477096546863988724454,
                    0.0344182566404788627010849233071,0.0336375022365360529611737341206,0.0328913557405694315962586082845,
                    0.0321775676385605463619648016811,0.0314940791131267321743512219703,0.0308390022675736961451247165533
                  },0),
                  // polAqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -20.7407407407407407407407407407,-27.8518518518518518518518518519
                  },0),
                  // polAqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -1.77777777777777777777777777778,3.55555555555555555555555555556
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^3 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAqgQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -1.74867551836634038464706423389,-7.06747939118599385937699879928,9.69746232092522226606603205037,
                    6.73449935796225930310306908741,30.7077275390114074658658205116,26.7430727899985926802802122489,
                    84.1281757232570075477075988575,79.4418449003137074648742167907,245.513306299252825797683086683,
                    238.325534700941122394622650372,754.066794200850061211839444283,734.139803074436956421490573222,
                    2403.49581581333196239475176154,2314.73671731883025877870595114,7874.23921439080751071233626145,
                    7434.78441460880183148222178773,26345.1301312556540713241332277,24226.7974274769004033405929393,
                    89613.2052562835721035840867733,79827.3471656007026380902540833,308905.7784878404065852998337,
                    265264.232103783433609257097008,1.07653365508487666549728166443e6,886986.312378565435639576385547,
                    3.78607998723053561193264489091e6,2.97877842078552605276891666356e6,1.34183811281452470583533570311e7,
                    1.00298535301178777712873200265e7,4.78709920398053513353746638107e7,3.3804517467488076779832224684e7,
                    1.71756799350851658925155765155e8,1.13857880170572645039395956387e8,6.19301987662965207302519170992e8,
                    3.8255726606495425065617949812e8,2.24269444714696013456031028229e9,1.27970876238524609612394588184e9,
                    8.15250869528135261273882168021e9,4.25177825632271206707414001573e9,2.9735408409012360825951128157e10,
                    1.39880132800691937671272365199e10,1.08780937192295502903621567323e11,4.53822826467839827293263186668e10,
                    3.99010583182176001855672868782e11,1.4434306159507581388535551733e11,1.4670433655112984575072538159e12,
                    4.45964969343017075033210735843e11,5.40526700107354629021475269024e12,1.31762447461400915569778098248e12,
                    1.99529814536087226249199434354e13,3.6102210921736517132691317347e12,7.37777970704088420886187218807e13
                  },0)
                },0)
              ),
              // polAqgQ_reg as^3 LM^3 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // polAqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    0.888888888888888888888888888889,-4.74074074074074074074074074074,-1.77777777777777777777777777778,
                    0.493827160493827160493827160494,0.938271604938271604938271604938,0.977777777777777777777777777778,
                    0.918518518518518518518518518519,0.838095238095238095238095238095,0.75873015873015873015873015873,
                    0.686654908877131099353321575544,0.623021751910640799529688418577,0.56734968734968734968734968735,
                    0.518700229811340922452033563145,0.476088520532964977409421853866,0.438619581476724333867191010048,
                    0.405522848697451872055046658221,0.376149735038623927512816401705,0.349959191135661723897018014665,
                    0.326500885542279877791860362666,0.305399518792478315468798211603,0.286341336681893957435753101388,
                    0.269062949216273703963516730729,0.253342218777196596075343746661,0.238990890369394756379423347937,
                    0.225848644624163985226488030813,0.213778295575755978681450929847,0.202661903319823942746584783509,
                    0.192397616239240980044614373622,0.182897095338884665853693993808,0.174083404061029136151902057759,
                    0.165889271521331996082580886498,0.158255656464060479148488701864,0.151130554407265572306241824673,
                    0.14446800231815370316329574143,0.138227244448844406639167614523,0.132372030247249106678782196586,
                    0.126870020985826656113649606013,0.121692286270339502490733081074,0.116812875169929697589204340478,
                    0.112208449555775529608026574905,0.107857969507822911684410869066,0.103742422470834056512304974212,
                    0.0998445893076663639966289368104,0.0961488415833814321383306073196,0.0926409653762269261557309147009,
                    0.0893080076958909674114332164224,0.0861381422311522841631489794932,0.0831205516760802338297518897826,
                    0.0802453243183832947964242842961,0.0775033629329212193163397177278,0.0748863043217849386801834343655
                  },0),
                  // polAqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -1.48148148148148148148148148148,2.96296296296296296296296296296
                  },0)
                },0)
              )
            }
          )
        },1)
      },0)
    },3);


  const rpd_distribution<ome_as_view<double>, ome_as_plus_view<double>, ome_as_const_view<double>> polAqgQ{
    polAqgQ_reg.get_view(),
    std::nullopt,
    std::nullopt
  };
}


/* C interface */

double ome_polAqgQ_reg(double as, double LM, double NF, double x)
{
  return(ome::polAqgQ_reg(as, LM, NF, x));
}

double ome_polAqgQ_reg_trunc_as(int trunc_order, double as, double LM, double NF, double x)
{
  auto trunc = ome::polAqgQ_reg.truncate(trunc_order);
  return(trunc(as, LM, NF, x));
}

double ome_polAqgQ_reg_coeff_as(int order_as, double LM, double NF, double x)
{
  auto& coeff = ome::polAqgQ_reg[order_as];
  return(coeff(LM, NF, x));
}

double ome_polAqgQ_reg_coeff_as_LM(int order_as, int order_LM, double NF, double x)
{
  auto& coeff = ome::polAqgQ_reg[order_as][order_LM];
  return(coeff(NF, x));
}

double ome_polAqgQ_reg_coeff_as_LM_NF(int order_as, int order_LM, int order_NF, double x)
{
  auto& coeff = ome::polAqgQ_reg[order_as][order_LM][order_NF];
  return(coeff(x));
}

int ome_polAqgQ_reg_min_power()
{
  return(ome::polAqgQ_reg.min_power());
}

int ome_polAqgQ_reg_max_power()
{
  return(ome::polAqgQ_reg.max_power());
}

int ome_polAqgQ_reg_coeff_as_min_power(int order_as)
{
  return(ome::polAqgQ_reg[order_as].min_power());
}

int ome_polAqgQ_reg_coeff_as_max_power(int order_as)
{
  return(ome::polAqgQ_reg[order_as].max_power());
}

int ome_polAqgQ_reg_coeff_as_LM_min_power(int order_as, int order_LM)
{
  return(ome::polAqgQ_reg[order_as][order_LM].min_power());
}

int ome_polAqgQ_reg_coeff_as_LM_max_power(int order_as, int order_LM)
{
  return(ome::polAqgQ_reg[order_as][order_LM].max_power());
}