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
752
753
754
755
756
757
758
759
760
/******************************************************************************
 * This file is part of libome                                                *
 * Copyright (C) 2025 Arnd Behring, Kay Schoenwald                            *
 * SPDX-License-Identifier: GPL-3.0-or-later                                  *
 ******************************************************************************/

#include <ome/AqgQ.h>

namespace ome
{

  /**************** AqgQ, regular part ****************/

  const ome_as<double> AqgQ_reg = 
    // AqgQ_reg
    ome_as<double>({
      // AqgQ_reg as^3
      ome_logm<double>({
        // AqgQ_reg as^3 LM^0
        ome_nf<double>({
          // AqgQ_reg as^3 LM^0 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AqgQ_reg as^3 LM^0 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -19.6619811730990016205736550228,1168.4097788127144683624778874,-1266.53124434607471458703813745,
                    127.65791668152061291636143567,131.138347126846409314420851675,-9.52096085089842940473693794421,
                    -1.94685368204155292503476478623,-7.6924813153415066519482177457,-3.71374803070201058687645193389,
                    -5.34759272045519517896738892992,-3.26780083678330731042440683832,-4.04498669158745151773702861202,
                    -2.78422046201051567930871357802,-3.24431046096567286172708667187,-2.40085483708929941093160055396,
                    -2.70732966447495617039298957892,-2.10389529192402493630802334654,-2.32361819238131852000814355023,
                    -1.87061395965382328243172550883,-2.03626645938549089327327939771,-1.68369031507001332462096253158,
                    -1.81324236356041606478841702717,-1.53102474250997592494062848697,-1.63521842759796782897730159576,
                    -1.40419986983758544986212151758,-1.48987057452006390878539770837,-1.29726802165864926287448275855,
                    -1.36898153182184072879427197344,-1.20594036347942250756402567569,-1.26686725220858445896211676157,
                    -1.12706015645430791922870095473,-1.17947333481795885748552799406,-1.0582587559382406458189260848,
                    -1.10383151155000700539727915827,-0.997727309874307865799427607015,-1.03771958771781139769251262993,
                    -0.944062294260555801226369571143,-0.97944137010627732039339337528,-0.896158935473863564740511955962,
                    -0.92768001657717805554907595056,-0.853136275371971671247637517709,-0.881397778669962910996927912107,
                    -0.814283546449498975585752353516,-0.839765896386069346914635274982,-0.779021164370891420424726941764,
                    -0.802114584392077738406542490249,-0.746871922530159083034078463851,-0.767896706400242500036680710404,
                    -0.717439423281980202937076525421,-0.736660962701297353396394940169,-0.690391720259718345950519755407,
                    -0.708031808936808638015397706221
                  },-1),
                  // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    819.217996844144783983271285594,-101.305972810802833504151684891,254.129048215233560926398324291,
                    -33.0512083658839466072201644555,20.5956518954813289148967336063,-6.25441563395141865031887855859,
                    11.733755583338985712849519921,-3.14212113499267938600408180848,8.3579713879922483015769493659,
                    -2.06884483841637375969538400552,6.50540674945575801778860915712,-1.54117999072919677807238727068,
                    5.326490644319809529434489201,-1.23111841231481034492142912603,4.50808741984182445585287432876,
                    -1.02824772965815548674364522188,3.90597240507945143347509423564,-0.88561076078788673150120347799,
                    3.44409596338847764290116070486,-0.780018400150491238408280417211,3.07844165339740588078874526308,
                    -0.698760243971740084212457542703,2.78172297565409912320361930454,-0.634310731508420761072333348382,
                    2.53610570201100278042681111134,-0.581941029271163185222207170651,2.32943228695089910506744392906,
                    -0.538535659094173473714214706278,2.15312529748461593640749105991,-0.501961308803987127308686138161,
                    2.0009576319429913577504996483,-0.470709571705600542946374726361,1.86829783695780354400115813141,
                    -0.44368458474317983668878722096,1.75162907294984279921862817909,-0.420071498937839428692825235701,
                    1.6482324258314679337056900354,-0.399252109849998117381283344731,1.55597251407638291697660809911,
                    -0.380749077920489486393596779891,1.47314877031281906895905018735,-0.364188065609426663881908399744,
                    1.39839004388266447167339206533,-0.349271433224628406255445715719,1.33057847037459253069214608516,
                    -0.335759584944781837722007966805,1.26879353819386489895295226738,-0.323457494708783317199232982647,
                    1.2122703608222671643342872278,-0.312204811503836688103734181946,1.16036811349076128163779944048
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    241.685972603623218722874505818,-220.408982244283474482786048673,-60.9423868312757201646090534979,
                    -3.11111111111111111111111111111,4.25,-0.25950617283950617283950617284,3.33119341563786008230452674897,
                    -0.0262769799277735785672293608802,2.50405538758713361887965062568,0.0361778319009359573733471440702,
                    1.99727186622248350643412371807,0.0595724548137567217252963605377,1.66216909353272989636626000262,
                    0.0694129620703047276473849900423,1.42496614767677038739309801581,0.0734686305870677055048239419424,
                    1.24828206662532059357456182853,0.0747468655662619522673348125097,1.11151876883620016603057313895,
                    0.0745969999555848406037308688454,1.00245823646344570832145691781,0.0736871730944761819161440505823,
                    0.913408332392959736720207415663,0.0723717606838670316385458845695,0.839287710006600631141556793873,
                    0.0708480597894507868672309761318,0.776605074852130799429040441106,0.0692296325396690936555337240446,
                    0.722882062265138097053062892638,0.0675831934554718107540942467622,0.676310364231924511025353675958,
                    0.0659482449471341846961253320278,0.635539310673300120440702021296,0.0643480184111544100656489402414,
                    0.599539476585618872943915900325,0.0627958022873644798013187764568,0.567512359694315070555296751039,
                    0.0612987157759190757696008939367,0.538828937825592679105512875145,0.0598600165278932665101269266687,
                    0.512986873989020752491257773964,0.058480540994917478639301626304,0.48958008078129445609693700363,
                    0.0571596182044138311748013870199,0.468276668312632665720644790625,0.0558956567232568826169769983348,
                    0.44880269775498034561229039086,0.0546865249528678513956835059038,0.430930030799378070185903146163,
                    0.0535297986471900910035259017748,0.414467117788021294016947158973
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    46.8312757201646090534979423868,-69.95884773662551440329218107,-2.88888888888888888888888888889,
                    -0.0658436213991769547325102880658,2.04526748971193415637860082305,-0.0181069958847736625514403292181,
                    0.934979423868312757201646090535,-0.0103468547912992357436801881246,0.605232216343327454438565549677,
                    -0.00725063688026650989613952576916,0.448010973936899862825788751715,-0.00558673151265743858336450929044,
                    0.355929667040778151889263000374,-0.00454689343578232467121356010245,0.295391850947406502962058517614,
                    -0.00383484827929272373716818161263,0.252527924750146972369194591417,-0.00331638828370854514645364318567,
                    0.22056806261599289921730008876,-0.00292185316838452946697414075008,0.19581257670926286910692368782,
                    -0.00261146693895231906927813360562,0.176067553845331623109400887179,-0.00236085260239849611830288158791,
                    0.159948925649408741196180809707,-0.00215423152621220254070495616389,0.146540044317822095599873377651,
                    -0.00198093630192395624494389926489,0.135209554962641382394468814222,-0.00183349438351566916913873065427,
                    0.125508321676904052382979586045,-0.00170651432547366300919631781083,0.117108057878667197663613434223,
                    -0.00159600786840930210105837345981,0.109763209436412050791135758456,-0.00149896097608515909169503940746,
                    0.103286417447637491210475959931,-0.00141305326490511675696860882046,0.0975322300858363236530877856414,
                    -0.00133646917272648266800313583939,0.0923859982339514503257193315673,
                    -0.00126776766343162007118646685042,0.0877561262385110623593008416857,
                    -0.00120579032786759515189590188015,0.083568551268809666742483279951,-0.00114959529257548206729946609361,
                    0.0797627374116907128179269886194,-0.00109840885528691743787505599271,0.0762887206252403086610096580289,
                    -0.00105158953520993372394925924139,0.0731048962794994541026287058033
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    4.41975308641975308641975308642,-8.3950617283950617283950617284,-1.38271604938271604938271604938
                  },0),
                  // AqgQ_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)
              ),
              // AqgQ_reg as^3 LM^0 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AqgQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    20.5321688972856672523198017225,-190.08672001771820345826233185,-183.698663770649872267970781138,
                    -671.338619468134503852623577815,-1285.02955011294500748857320768,-1990.46850080155979513869076436,
                    -4611.4438313412144138460823697,-7753.80024749788318647766133569,-17495.5126349428811250312044582,
                    -30585.1377317071842072394440148,-67539.9082493435203364689009815,-120902.723323688644678887060798,
                    -263034.667253242932762870843454,-478513.369577949094325049114843,-1.02993078110640175127775521968e6,
                    -1.89576805780951104344360887947e6,-4.04749625264928248918521393015e6,-7.51702039170064756722523163899e6,
                    -1.59479008711345192449146145914e7,-2.98279572505936841094874735261e7,-6.29617379240183253981412798411e7,
                    -1.18433635552772186473502722455e8,-2.48952088863493239669409168334e8,-4.70504999283270254154712813679e8,
                    -9.85568592432757287533340059135e8,-1.87008372784993476203414814563e9,-3.90564111070743706153519424899e9,
                    -7.43601892478073392918709109418e9,-1.54902682029050512029433293418e10,
                    -2.95788711680475698839140818312e10,-6.14794988168590317339760838743e10,
                    -1.17697355078453101279785913634e11,-2.44153100946846326956095558774e11,
                    -4.68468928648783577151473721453e11,-9.7010641596505049104376120312e11,
                    -1.86513817864229195420713830578e12,-3.85631984619481859260911782285e12,
                    -7.42756223894433909739132255999e12,-1.5335561676154277204913991891e13,
                    -2.95853739992259065210261760684e13,-6.10070026736659032576306202538e13,
                    -1.17867736177058341656384840831e14,-2.42770866664235244020884319741e14,
                    -4.69669766092240037897685118824e14,-9.66354208041696729541290370032e14,
                    -1.87181786944782432152785791064e15,-3.84757452592655971934720093881e15,
                    -7.46108821492582104881275698596e15,-1.53228074939569497564397850572e16,
                    -2.97442671151239919048390515146e16,-6.10353301060435890490691833906e16
                  },0)
                },0)
              ),
              // AqgQ_reg as^3 LM^0 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    150.754056768646231961030935426,-349.501021853351363622599133363,306.840489411692100871642040117,
                    -129.702897754075081807058058913,-65.3523020897515271316721245441,-46.8654876337870053047425525656,
                    -40.5492960473785005044515244218,-37.7327397619945661833090049281,-36.1915201254349107201197295204,
                    -35.207884524763198335535549826,-34.5059438565478785414864581763,-33.9641895356410091809822389411,
                    -33.5228081868392227158541497413,-33.1494489680094655859726950448,-32.8251408307952996033428777445,
                    -32.5379605689274127652824918254,-32.2799612321938435680926381404,-32.0455794285734380878915499374,
                    -31.8307588224208769929633090152,-31.6324412470061831504917551581,-31.4482566860425882426991130595,
                    -31.2763261081650732908334312958,-31.115131197350399829138565857,-30.9634253410996259307786852106,
                    -30.820170992789699627141991534,-30.6844944456716476316550179648,-30.5556524373573431094298277296,
                    -30.4330070013192172321019142888,-30.3160061998108776203518551631,-30.2041691369155796174932090955,
                    -30.0970741429976938902540476232,-29.9943493470899930166145808763,-29.8956650733417285267520788054,
                    -29.8007276489289377909415700674,-29.7092743169739091727691956017,-29.6210690237549456637761000449,
                    -29.5358989043532080740488160526,-29.4535713311877961652826667563,-29.3739114198774044607135695785,
                    -29.2967599094401959977056762004,-29.2219713510196793635611189478,-29.1494125525241283705338007884,
                    -29.0789612368045755071980365309,-29.0105048790043463455907143713,-28.9439396950268688687790639843,
                    -28.8791697580834246806939567488,-28.8161062242934021285389051805,-28.7546666515383080578109458658,
                    -28.6947743983856779824523699245,-28.6363580920289307438001278829,-28.5793511559334694644144692315
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    7.27371966523992389002629625142,8.20085100135266852310893036126,-13.958052647443203502532798674,
                    28.2825788751714677640603566529,10.231652949245541838134430727,5.49425240054869684499314128944,
                    3.3691769547325102880658436214,2.18143373045867376933136570325,1.42987719558722960083504301191,
                    0.91435322844490420986039809701,0.540021967833010357015843984294,0.256458516864416489171332781395,
                    0.0345112840033256317308964997976,-0.143785677622657788309282632106,-0.290079062905859633755262749793,
                    -0.412235528242559062776696181143,-0.515752497516917868391791294286,-0.604583485568571197401737691671,
                    -0.681642204185189221878367469821,-0.74912197726619523051262583615,-0.808704630499582873180942636529,
                    -0.86170091278441084482630873911,-0.909147203239024849985216926445,-0.95187355578102719207273727542,
                    -0.990552501117181466321633341093,-1.02573465424068083822461248936,-1.05787510085979197911406647202,
                    -1.08735322777600807877043441843,-1.11448781851618090330732893511,-1.13954868036546467197219439018,
                    -1.16276569686953984852134158732,-1.18433594625880574181892287,-1.20442935067692487045351124946,
                    -1.2231931978034407656697896969,-1.2407557887253940762222281663,-1.25722940270919910524059389503,
                    -1.2727127234688454209462403251,-1.28729283760705389256511075392,-1.30104689067399605471657984436,
                    -1.31404346734220707559704801585,-1.32634374784484523137295928781,-1.33800248186306300902151212855,
                    -1.34906881261067322715633731465,-1.35958697732146861861377325213,-1.36959690523557427899784739838,
                    -1.3791347301654796002613527236,-1.38823323154618052164202584237,-1.39692221534669906294711569172,
                    -1.4052288441981188562364083138,-1.41317792446653374818435899857,-1.42079215668391828579218290417
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -5.98782453638343471021784973665,14.9386120357298323833986624363,-15.667007097458227445127057498,
                    4.34567901234567901234567901235,1.76234567901234567901234567901,1.06049382716049382716049382716,
                    0.743621399176954732510288065844,0.56632233140169648106156042664,0.454296842193667590492987318384,
                    0.377685161856237693980198389369,0.322279378143575674439871970736,0.280503501154455138742456363107,
                    0.247969594939291908988878685848,0.221970768590815210861830908451,0.200751832619964488096356228224,
                    0.18312772110085907399704713502,0.168271027546821197614848408499,0.155587505517820781181027240235,
                    0.144639931539468042522423316135,0.135099823124257697270965246005,0.126715849257827986325643724501,
                    0.119292592383213673280946727722,0.112675924364236052547740859429,0.10674272110126740688365578913,
                    0.101393490543735908537038933632,0.0965469983741355301951815289349,0.0921362894781698200501619305038,
                    0.0881057014027363294008856950716,0.084408593818593969334860816493,0.0810056021442249915720208893677,
                    0.0778632798960073746325940425935,0.0749530327843973418114834255951,0.0722502741967600621780295731041,
                    0.0697337503994244395131518183053,0.0673849970894267668235722480593,0.0651878985027574231526757278591,
                    0.0631283272608648074738650402467,0.0611938482714020156224265095041,0.0593734738160789327376043362575,
                    0.0576574598224630954996095333535,0.0560371354843618498707638561321,0.0545047600497653122006757663189,
                    0.0530534018676469787392046440421,0.0516768357706017492008884164549,0.050369455639220427643950518528,
                    0.0491261995978653570739322190496,0.0479424857685515089209669967893,0.0468141568887816454241429747603,
                    0.0457374324022197988554901031015,0.0447088668745913096152706968255,0.0437253137838657760912377044544
                  },0),
                  // AqgQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    -0.823045267489711934156378600823,1.34979423868312757201646090535,-1.44855967078189300411522633745,
                    0.263374485596707818930041152263,0.115226337448559670781893004115,0.0724279835390946502057613168724,
                    0.0526748971193415637860082304527,0.0413874191651969429747207524985,0.0340975896531452087007642563198,
                    0.0290025475210660395845581030766,0.0252400548696844993141289437586,0.0223469260506297543334580371617,
                    0.0200523756079311634867190422746,0.0181875737431292986848542404098,0.0166417944195721973499751277529,
                    0.0153393931171708949486727264505,0.0142269253380364491475602586714,0.0132655531348341805858145727427,
                    0.0124263697248446703784394416203,0.0116874126735381178678965630003,0.011031694462493682766587250018,
                    0.0104458677558092762771125344225,0.00991929880818769707658596547485,0.00944341040959398447321152635162,
                    0.00901120707883992908147497519478,0.00861692610484881016281982465557,0.00825577714466603355492244381133,
                    0.00792374520769582497977559705955,0.0076174397162051483039137360125,0.00733397753406267667655492261708,
                    0.00707089136207910154270307527013,0.00682605730189465203678527124331,0.00659763706358688437541484136466,
                    0.00638403147363720840423349383923,0.00618384278514997469245835258907,0.00599584390434063636678015762983,
                    0.00581895309564154880059019492571,0.00565221305962046702787443528184,0.00549477352596260978327255130374,
                    0.00534587669090593067201254335757,0.00520484497092684227187151163759,0.00507107065372648028474586740169,
                    0.00494400711202879224559441361609,0.00482316131147038060758360752058,0.00470808739542589671788638196907,
                    0.00459838117030192826919786437444,0.00449367534713750494748884442926,0.00439363542114766975150022397084,
                    0.00429795609156283429076110749458,0.00420635814083973489579703696556,0.00411858570588729318888049046779
                  },0),
                  // AqgQ_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.123456790123456790123456790123
                  },0)
                },0)
              )
            }
          )
        },1),
        // AqgQ_reg as^3 LM^1
        ome_nf<double>({
          // AqgQ_reg as^3 LM^1 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AqgQ_reg as^3 LM^1 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -38.6502057613168724279835390947,647.617971406613157718291432476,-690.376851149228295648485797594,
                    93.0170881983469203479852138487,91.274358441442810384100823506,0.795186139118883864031764604842,
                    -0.109798342183474057952520449443,-4.34762213887193175034032912597,-2.19281713567666681582457670717,
                    -3.41210192499852774401118839943,-2.0992918190982198707731370856,-2.67708790525540043938509091153,
                    -1.83472172341246641029889718024,-2.17433473958297791710972808963,-1.59335185036591406992812503391,
                    -1.81795095702785972369320398647,-1.39424450049514892336126432077,-1.55426380535779944300446514168,
                    -1.23196421113079115324323340591,-1.35199497755082970528136452428,-1.09874595784467424885786355277,
                    -1.19225164362924182192830230044,-0.988092709164324227709401988755,-1.06307991607205349530182283283,
                    -0.895050601256578134868381870168,-0.956586168358808093349796419376,-0.815911862045969639419135563539,
                    -0.867361758683811060048228482752,-0.747892663371736989369017841408,-0.79158196582702810697557603598,
                    -0.688880967108615813558227078618,-0.726468168020609591491698981581,-0.637253900357646081515700987324,
                    -0.669954292628048433370072289211,-0.591748080196398704965441957566,-0.620472828116723611292108082164,
                    -0.551367519632499574102990283003,-0.576813387592243131552941347434,-0.515317692158045071946061600413,
                    -0.538026735962499125722045835385,-0.482957790137330583492897493199,-0.503358133284077574822047511732,
                    -0.453765727204884961303719844616,-0.47220007037013042223072350694,-0.427312161077310986754517236629,
                    -0.444058128211806275877737209138,-0.403240976802688709100870657788,-0.418525902964157287584833367334,
                    -0.381254453343650670785636592513,-0.395266310077664076175592674888,-0.361101865983954637985459138833,
                    -0.373997453093019761971740977572
                  },-1),
                  // AqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    411.604938271604938271604938272,-72.987654320987654320987654321,123.728395061728395061728395062,
                    -20.8395061728395061728395061728,8.36419753086419753086419753086,-3.24197530864197530864197530864,
                    8.37234567901234567901234567901,-1.23980851599899218946837994457,6.6365772234819853867472915092,
                    -0.575100081184737269393354049439,5.44481089555163629237703311777,-0.266907911891076874241857406841,
                    4.61854052793446732840672234612,-0.0987238523369059499595630131761,4.01684401611141537881464621391,
                    0.00222886054387885889717391548893,3.55964704827800065895303990542,0.0666447202462196695184007756095,
                    3.20030669316681107018156870778,0.109466850891752103481522133273,2.91019227109230669903938903752,
                    0.138730081096601111809411195648,2.67084081245420422239475219519,0.159082119035199678641831328016,
                    2.46983188060337867267268852163,0.173366339553059828673805236473,2.29850662706588582659834959382,
                    0.183401126938965762726125201134,2.15064382380747121970899104998,0.190391921675911232214224340496,
                    2.0216573410104952223292007174,0.195161908095441153167454631977,1.90809092114338366736486062921,
                    0.19828739416252081723127384464,1.80728944047695793164112426477,0.2001804566489957587689069414,
                    1.7171787434035197282612080991,0.201141114865481525731537624414,1.63611440287154133492463275731,
                    0.201391233194018108224362646988,1.56277547207977960853928346302,0.201097111742485335400327380518,
                    1.49608833922491506144134315923,0.200384875321687587054328557065,1.43517117360698739930173604242,
                    0.199351163273266333576380974528,1.37929273889913587438133745551,0.198070685352463211859140856755,
                    1.3278414117283141351217379922,0.196601646325585751758679304175,1.28030156779938922409006228138
                  },0),
                  // AqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    136.666666666666666666666666667,-113.333333333333333333333333333,-11.1851851851851851851851851852,
                    -2.96296296296296296296296296296,8.03703703703703703703703703704,-0.814814814814814814814814814815,
                    3.67407407407407407407407407407,-0.465608465608465608465608465608,2.37830687830687830687830687831,
                    -0.326278659611992945326278659612,1.76049382716049382716049382716,-0.25140291806958473625140291807,
                    1.39865319865319865319865319865,-0.20461020461020461020461020461,1.16076516076516076516076516077,
                    -0.172568172568172568172568172568,0.992328042328042328042328042328,-0.149237472766884531590413943355,
                    0.866739288307915758896151053014,-0.131483392577303826013836333754,0.769460688758934372969460688759,
                    -0.117516012252854358117516012253,0.691871091871091871091871091871,-0.106238367107932325323629671456,
                    0.628531693749085053432879519836,-0.0969404186795491143317230273752,0.57584045584045584045584045584,
                    -0.0891421335865780310224754669199,0.531316420205309094197983086872,-0.0825072472582051126112428794421,
                    0.493194672505017332603539500091,-0.0767931446463148354138343014872,0.460185185185185185185185185185,
                    -0.0718203540784185945476268056913,0.431323034264210734798970093088,-0.0674532439238321591262767733356,
                    0.405871978420998028841166096068,-0.0635873969207302540635873969207,0.383260453435892032383260453436,
                    -0.0601411127726917200601411127727,0.363037936722147248463037936722,-0.0570495448544229032033910082691,
                    0.344844496064008259130210349723,-0.0542605647540417818353155846066,0.328389095830956296072575142343,
                    -0.0517317881658966930284759742124,0.313433855462840970087346898941,-0.049428398487911284704377519672,
                    0.299782437386507691780587247747,-0.0473215290844470175777166658626,0.287271352985638699924414210128
                  },0),
                  // AqgQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    19.4074074074074074074074074074,-35.2592592592592592592592592593,-8.2962962962962962962962962963
                  },0),
                  // AqgQ_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)
              ),
              // AqgQ_reg as^3 LM^1 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AqgQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    16.9656134861143703377658642525,-144.153836155855480582918885614,-136.948686267211108628968653183,
                    -557.129393084619310876648970518,-1025.65013318510970739050416906,-1721.3044151452019648104368115,
                    -3908.89383169710291295916405834,-6997.629793497140257185478272,-15537.721283085631174532533177,
                    -28681.4140378359131457375746796,-62306.2253109244095443232884363,-117141.710764294405991046088862,
                    -250514.940008055353201793870585,-476777.011854837823215926706517,-1.00809159051335332408764432751e6,
                    -1.93527494968990750596995390578e6,-4.05721379350029128328716421509e6,-7.83903430883062159510052643602e6,
                    -1.63264370758384378018754895251e7,-3.17008824326949807669152104291e7,-6.56808283049309357585261085235e7,
                    -1.2803014166758882806759675345e8,-2.64150237792264974632348824134e8,-5.16525083701883952785775880831e8,
                    -1.06200299897012083465265443178e9,-2.08204125161172945459128819553e9,-4.26842166050474213100327818721e9,
                    -8.38625389207418679983837565002e9,-1.71507623785003665882319183043e10,
                    -3.37579570533256955783488164006e10,-6.88942496818082189452309157705e10,
                    -1.35816527400999887037960645428e11,-2.76678230180401923176535092133e11,
                    -5.46171216084428622826459462543e11,-1.11088259467921592668386401224e12,
                    -2.19548473509719490583686032288e12,-4.45934020275360067292655775526e12,
                    -8.82223733587288150191445331045e12,-1.78973927838273377176314578662e13,
                    -3.54398223937550803731204092452e13,-7.18178554027230737742813137693e13,
                    -1.42325860625141415568909709419e14,-2.8814078371070154488454674357e14,
                    -5.7143696939080493103410958189e14,-1.15587858184151896949242426371e15,
                    -2.29380240794910250523819350723e15,-4.63617569439265451752337779128e15,
                    -9.2056879256668842157298901932e15,-1.85931193474627623627914043002e16,
                    -3.69383283302546320187426795873e16,-7.45578556868240455558081253251e16
                  },0)
                },0)
              ),
              // AqgQ_reg as^3 LM^1 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    102.099424239809758616455664101,-243.98404233366607083485902988,221.675400358357428859550387905,
                    -92.7407407407407407407407407407,-50.162037037037037037037037037,-36.4826090534979423868312757202,
                    -31.9009135802469135802469135802,-30.0802608789547565057769139402,-29.2775137149215947401888444972,
                    -28.9100017891080921231252968886,-28.7503874572691445119428658523,-28.698779939621622443103244382,
                    -28.7069547012975234585274377132,-28.7497729060407666442915834809,-28.8132694098819141867261838459,
                    -28.8892650195560561547850612063,-28.9727557435919704438222956741,-29.0605700254870097499575280692,
                    -29.1506409755195924182079881491,-29.2415931512701907459452581601,-29.3324980297682090197958633353,
                    -29.422723899535620102200667891,-29.5118406845009349849025154973,-29.5995578622280277374303517562,
                    -29.6856829567208623842160381551,-29.77009318734408547315319305,-29.8527157437545629621933991563,
                    -29.9335138437795662800953412097,-30.0124767452230488767194162547,-30.0896125083885790261966023415,
                    -30.1649427017543503438087424537,-30.2384984989405181854497651022,-30.3103177837137269349949027609,
                    -30.3804429929871043366743261497,-30.4489195050581176658265604038,-30.5157944338793439437323288939,
                    -30.5811157277730396359675892396,-30.6449314977502522474523407224,-30.7072895198328512881478196709,
                    -30.768236869754359525678744357,-30.8278196586664906852670409688,-30.8860828460608410276245068551,
                    -30.9430701117678656963733609037,-30.9988237731394856848636021976,-31.0533847367292464335612048328,
                    -31.1067924762225838089813276115,-31.1590850302338873103831672987,-31.2102990150190778530984609727,
                    -31.2604696482574198568227657619,-31.3096307809123674399985143289,-31.3578149348468422494647235085
                  },0),
                  // AqgQ_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.6934006094407226954537030127,
                    22.0740740740740740740740740741,8.57407407407407407407407407407,5.16296296296296296296296296296,
                    3.66172839506172839506172839506,2.82650541698160745779793398841,2.29720962459057697152935248173,
                    1.93277763780409283054785700288,1.66700960219478737997256515775,1.46483918874491265063655636046,
                    1.30599938781756963575145393327,1.17797845769873741901713929686,1.07264286385165506044626923748,
                    0.984480612319440158267997095836,0.909626165280927185689090450995,0.845289738989277628262634029647,
                    0.789408216687788647291402641909,0.740423500149054955555616037432,0.697137200810125812690704452272,
                    0.658612697156424896828537509187,0.624107494237364367234497104627,0.593025496568078749602329991695,
                    0.564882682392850233830929253969,0.53928199024481318117108917361,0.5158946599459419972240485061,
                    0.494446174228383788371126136242,0.474705531165532069977418867212,0.456476962619044530712913513546,
                    0.439593472479492523657633221078,0.423911745093480825062448940667,0.409308096793463598874629051528,
                    0.395675229669273909806183637105,0.382919608205009798802396055201,0.370959323789653782613533358751,
                    0.359722344517569797224142622433,0.349145071610394075716541039006,0.339171141616246000408556316265,
                    0.329750426950972904981462868137,0.320838197521555714609198521408,0.31239441395712845856990825645,
                    0.304383128975916715640802777145,0.296771978078759996866460066835,0.289531744406147090176599517088,
                    0.282635985465980021231472102177,0.276060711712758328888120821315,0.269784108770247689381120568266,
                    0.263786296540978367601025724992,0.258049119614894796467134385035,0.252555964335847717771916022645
                  },0),
                  // AqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -7.40740740740740740740740740741,12.1481481481481481481481481481,-13.037037037037037037037037037,
                    2.37037037037037037037037037037,1.03703703703703703703703703704,0.651851851851851851851851851852,
                    0.474074074074074074074074074074,0.372486772486772486772486772487,0.306878306878306878306878306878,
                    0.26102292768959435626102292769,0.227160493827160493827160493827,0.201122334455667789001122334456,
                    0.180471380471380471380471380471,0.163688163688163688163688163688,0.149776149776149776149776149776,
                    0.138054538054538054538054538055,0.128042328042328042328042328042,0.119389978213507625272331154684,
                    0.111837327523602033405954974582,0.105186714061843060811069067003,0.0992852501624431448992852501624,
                    0.0940128098022834864940128098023,0.0892736892736892736892736892737,0.0849906936863458602589037371646,
                    0.081100863709559361733274776753,0.0775523349436392914653784219002,0.074301994301994301994301994302,
                    0.0713137068692624248179803735359,0.0685569574458463347352236241125,0.0660057978065640900889943035537,
                    0.0636380222587119138843276774311,0.0614345157170518683310674411898,0.059378733572281959378733572282,
                    0.0574562832627348756381014445531,0.0556545850663497722321251733016,0.0539625951390657273010214186685,
                    0.0523705778607739392053117543314,0.0508699175365842032508699175366,0.0494529617336634880494529617337,
                    0.0481128902181533760481128902182,0.0468436047383415804468436047383,0.0456396358835383225627128066152,
                    0.0444960640082591302103497225448,0.0434084518032334254682524676853,0.0423727865588330704609774377216,
                    0.0413854305327173544227807793699,0.0404430781242375445273995998634,0.0395427187903290277635020157376,
                    0.0386816048240655086168499674513,0.0378572232675576140621733326901,0.0370672713529856386999244142101
                  },0),
                  // AqgQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    -0.740740740740740740740740740741,1.48148148148148148148148148148,-1.48148148148148148148148148148
                  },0)
                },0)
              )
            }
          )
        },1),
        // AqgQ_reg as^3 LM^2
        ome_nf<double>({
          // AqgQ_reg as^3 LM^2 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AqgQ_reg as^3 LM^2 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -1.28395061728395061728395061728,114.447641836391491188838820148,-99.9549694830953461019770237035,
                    -12.1911360803034373754087794566,26.2716049382716049382716049383,-0.70987654320987654320987654321,
                    1.3387654320987654320987654321,-0.854320987654320987654320987654,-0.102514487276392038296800201562,
                    -0.780013857394809775762156714538,-0.390239634948629657624366619076,-0.704516950813247109543405839702,
                    -0.464130417531090931764332437733,-0.641403695444099484503524907565,-0.477246472195967145462094957044,
                    -0.589378920270251161582052912944,-0.469563264483899404534325169246,-0.546035824111220936617762014587,
                    -0.454397816040453487589204621115,-0.509404461466168501923980586034,-0.436848299149289286259831362344,
                    -0.478018117194424836595278179114,-0.419018261318206226917633918107,-0.450795581898740865676922396261,
                    -0.401793249461154097344008045674,-0.426931451157264482567469420083,-0.385526377686877959019449184314,
                    -0.40581623598448515354196831153,-0.370327985112388201315601874596,-0.386981032470305628548739380056,
                    -0.35619630896970406361268460887,-0.370059376907361372038717989743,-0.343079203893189855785785857129,
                    -0.354760686618463906134500072357,-0.330904134293458363167467926114,-0.340851492365732457848171387932,
                    -0.319592897283589029099377257573,-0.328141962135231997186845344816,-0.309068751234925032145135833497,
                    -0.316476069758634653933290746585,-0.299259685449841220211062323148,-0.305724313501670862018719081298,
                    -0.290099711154842557920650082158,-0.295778246569131681061375702117,-0.281529144512010937410720970376,
                    -0.286546314490343556351321549137,-0.273494391543592021295809836055,-0.277950648531199712591946348587,
                    -0.265947505104339203009147947288,-0.269924567785377360732021792956,-0.258845656685317848049527406495,
                    -0.262410613111000890947528729013
                  },-1),
                  // AqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    77.037037037037037037037037037,-18.0740740740740740740740740741,59.4074074074074074074074074074,
                    -10.6666666666666666666666666667,4.66666666666666666666666666667,-2.93333333333333333333333333333,
                    2.13333333333333333333333333333,-1.67619047619047619047619047619,1.38095238095238095238095238095,
                    -1.1746031746031746031746031746,1.02222222222222222222222222222,-0.905050505050505050505050505051,
                    0.812121212121212121212121212121,-0.736596736596736596736596736597,0.673992673992673992673992673993,
                    -0.621245421245421245421245421245,0.57619047619047619047619047619,-0.537254901960784313725490196078,
                    0.503267973856209150326797385621,-0.473340213278293773649810801514,0.446783625730994152046783625731,
                    -0.42305764411027568922305764411,0.401731601731601731601731601732,-0.382458121588556371165066817241,
                    0.364953886693017127799736495389,-0.348985507246376811594202898551,0.334358974358974358974358974359,
                    -0.320911680911680911680911680912,0.308506308506308506308506308506,-0.297026090129538405400474365992,
                    0.28637110016420361247947454844,-0.276455320726733407489803485354,0.267204301075268817204301075269,
                    -0.258553274682306940371456500489,0.250445632798573975044563279857,-0.242831678125795772854596384008,
                    0.235667600373482726423902894491,-0.228914628914628914628914628915,0.222538327801485696222538327801,
                    -0.216508005981690192216508005982,0.210796221322537112010796221323,-0.205378361475922451532207629769,
                    0.200232288037166085946573751452,-0.195338033114550414607136104584,0.190677539514748817074398469747,
                    -0.186234437397228094902513507165,0.181993851559068950373298199385,-0.177942234556480624935759070819,
                    0.174067221708294788775824853531,-0.170357504704009263279779997105,0.166802721088435374149659863946
                  },0),
                  // AqgQ_reg as^3 LM^2 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    16.,-26.6666666666666666666666666667,-14.2222222222222222222222222222
                  },0),
                  // AqgQ_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)
              ),
              // AqgQ_reg as^3 LM^2 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AqgQ_reg as^3 LM^2 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^2 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    5.03005040386667551804508856039,-36.892027889787473836936653881,-30.7385129431903840946397600008,
                    -143.274286728204618859203076735,-234.149457049968146893724653066,-375.027050013947671985571329513,
                    -839.737502492476390014071812892,-1346.98438126832874635524554289,-3102.54624419176238187514696351,
                    -5032.6932596940124531260502286,-11610.3728071461318318350259294,-19050.7223442033465442726099533,
                    -43835.2434458136882637995857554,-72673.6843688802439008401349579,-166651.610562014529010420584768,
                    -278799.235796659099437383028992,-637120.648607472702867448564038,-1.07432190951093756451114319149e6,
                    -2.44694518596621417397144726393e6,-4.15480729812784000762654228369e6,-9.43373038919577530222303279912e6,
                    -1.61168235980523073698049456187e7,-3.64871103726863832707187257028e7,-6.26786185221182967700376736333e7,
                    -1.415099222589065211196967878e8,-2.44293905569015020614244265851e8,-5.50124677281429407019773995087e8,
                    -9.53964233696193821879562740685e8,-2.14303138789394041359295889547e9,-3.73142062915062472506709920057e9,
                    -8.36333124498028843394690829626e9,-1.46168368446894531483545404752e10,
                    -3.26905486258926758270170349885e10,-5.73321415310392876708628927883e10,
                    -1.27961917428538734448330250727e11,-2.25137672785630771309232164932e11,
                    -5.01522134337660096452051762407e11,-8.85017929221568060257753201397e11,
                    -1.96786369353445614906882683928e12,-3.48229686142095557011714689636e12,
                    -7.72943793240944617905060095584e12,-1.37135932170412425402124326738e13,
                    -3.03883862317706853962627672903e13,-5.40474693299153460622425510569e13,
                    -1.19574428068114197650420105103e14,-2.13161669746823034090531018733e14,
                    -4.70878111890237161284780985982e14,-8.41253753586123041930269424205e14,
                    -1.85562628988379220589962521948e15,-3.32205273454668819366909697523e15,
                    -7.31745119734629956824730990587e15
                  },0)
                },0)
              ),
              // AqgQ_reg as^3 LM^2 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    17.4686251562817946347785495555,-44.4187317940450707510385805924,42.9372503125635892695570991109,
                    -19.0617283950617283950617283951,-12.4135802469135802469135802469,-9.28543209876543209876543209877,
                    -7.98469135802469135802469135802,-7.32772990677752582514487276392,-6.93093348450491307634164777022,
                    -6.65448195739201030206321211612,-6.44087987458357828728199098569,-6.26394766973891553016132140711,
                    -6.1106623716724726825736926747,-5.97400184666695933207199718466,-5.84988066697468406870116271826,
                    -5.73574418201524428630655736883,-5.6298840793245555150317055079,-5.53108718677277473344919931398,
                    -5.43844632525053059279821880287,-5.35125364750363121156045716379,-5.26893775226263050570982423317,
                    -5.1910249569232790714673711024,-5.11711441255340260981858397007,-5.04686144548239764850481821128,
                    -4.97996596657841819471783316335,-4.9161641141683222422722792696,-4.85522203233662507103204692509,
                    -4.79693110666525601152004347529,-4.74110422625020091601097593291,-4.68757278963750381557927983541,
                    -4.63618426443892474730902108329,-4.58680016890412108781025094941,-4.5392943818522690886527023289,
                    -4.49355171282949087176239971504,-4.44946668177798954395644496387,-4.40694246969734164998833427038,
                    -4.3658900105041550857501777308,-4.32622720066970361465817452411,-4.2878782079601253312720587764,
                    -4.25077286419894917568267672221,-4.21484612973960371821174196816,-4.1800376194975385538727340657,
                    -4.1462911821023440203179748958,-4.11355452509976413798047728148,-4.08177888024123935757791892106,
                    -4.05091870380293125426640864606,-4.02093140762052901289739506747,-3.99177711714333625887098288148,
                    -3.96341845332628836953768134986,-3.93582033561108155201214977388,-3.90894980361270387869416957582
                  },0),
                  // AqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -7.40740740740740740740740740741,9.48148148148148148148148148148,-11.2592592592592592592592592593,
                    4.74074074074074074074074074074,2.07407407407407407407407407407,1.3037037037037037037037037037,
                    0.948148148148148148148148148148,0.744973544973544973544973544974,0.613756613756613756613756613757,
                    0.522045855379188712522045855379,0.454320987654320987654320987654,0.402244668911335578002244668911,
                    0.360942760942760942760942760943,0.327376327376327376327376327376,0.299552299552299552299552299552,
                    0.276109076109076109076109076109,0.256084656084656084656084656085,0.238779956427015250544662309368,
                    0.223674655047204066811909949165,0.210373428123686121622138134006,0.198570500324886289798570500325,
                    0.188025619604566972988025619605,0.178547378547378547378547378547,0.169981387372691720517807474329,
                    0.162201727419118723466549553506,0.1551046698872785829307568438,0.148603988603988603988603988604,
                    0.142627413738524849635960747072,0.137113914891692669470447248225,0.132011595613128180177988607107,
                    0.127276044517423827768655354862,0.12286903143410373666213488238,0.118757467144563918757467144564,
                    0.114912566525469751276202889106,0.111309170132699544464250346603,0.107925190278131454602042837337,
                    0.104741155721547878410623508663,0.101739835073168406501739835073,0.0989059234673269760989059234673,
                    0.0962257804363067520962257804363,0.0936872094766831608936872094767,0.0912792717670766451254256132305,
                    0.0889921280165182604206994450897,0.0868169036064668509365049353705,0.0847455731176661409219548754432,
                    0.0827708610654347088455615587399,0.0808861562484750890547991997267,0.0790854375806580555270040314752,
                    0.0773632096481310172336999349025,0.0757144465351152281243466653801,0.0741345427059712773998488284203
                  },0),
                  // AqgQ_reg as^3 LM^2 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -2.22222222222222222222222222222,4.44444444444444444444444444444,-4.44444444444444444444444444444
                  },0)
                },0)
              )
            }
          )
        },1),
        // AqgQ_reg as^3 LM^3
        ome_nf<double>({
          // AqgQ_reg as^3 LM^3 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AqgQ_reg as^3 LM^3 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -3.35802469135802469135802469136,14.3703703703703703703703703704,-34.6666666666666666666666666667,
                    23.8024691358024691358024691358,1.97530864197530864197530864198,0.864197530864197530864197530864,
                    0.543209876543209876543209876543,0.395061728395061728395061728395,0.310405643738977072310405643739,
                    0.255731922398589065255731922399,0.217519106407995296884185773075,0.189300411522633744855967078189,
                    0.167601945379723157500935278713,0.150392817059483726150392817059,0.136406803073469740136406803073,
                    0.124813458146791480124813458147,0.115045448378781712115045448379,0.106701940035273368606701940035,
                    0.0994916485112563543936092955701,0.093197772936335027838295812152,0.0876555950515358840092242225025,
                    0.0827377084687026207494043751354,0.0783440081685695720783440081686,0.0743947410614077280743947410614,
                    0.0708255780719548835490864476372,0.0675840530912994681110623139609,0.0646269457863660762211486849168,
                    0.061918328584995251661918328585,0.0594280890577186873483169779466,0.0571307978715386122793530200938,
                    0.0550048315054700750741619196281,0.0530316852155932615702730645259,0.0511954297642098902758895343248,
                    0.049482277976901632815611310235,0.0478802360522790630317512037942,0.046378820888624810193437644418,
                    0.0449688292825547727508511822237,0.0436421482173116160044264619428,0.0423915979471535027090582646138,
                    0.0412108014447195733745441347781,0.0400940751817944800400940751818,0.039036337281951317039036337282,
                    0.0380330299029486021355940055127,0.0370800533402159418419581021207,0.0361737098360278545568770564044,
                    0.035310655465694225384147864768,0.0344878587772644620189839828083,0.0337025651035312871061663332195,
                    0.0329522656586075231362516797813,0.0322346706867212571807083062094,0.0315476860562980117184777772417,
                    0.0308893927941546989166036785084
                  },-1),
                  // AqgQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    2.07407407407407407407407407407,-9.48148148148148148148148148148,-7.11111111111111111111111111111
                  },0),
                  // AqgQ_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)
              ),
              // AqgQ_reg as^3 LM^3 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AqgQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -0.319483755121271235120524802316,-5.69406595881635167348931411923,-6.81341171182750161810971833297,
                    -44.6604252838881852290289950133,-69.2262460575299259843843390301,-174.65418390110970379139132336,
                    -314.054101649182933473633524783,-716.597400455869263020429772346,-1340.62441741036393690879419779,
                    -2935.28026721122918823824404955,-5587.93675304858668672624273646,-11963.2785984354545396612960352,
                    -23001.181113231962714358837059,-48562.7954240442036508187646579,-93973.0372065221329753711342536,
                    -196551.177631268685158032215004,-382083.091330550186699190094427,-793791.725241565498805664485459,
                    -1.54836429119189238352938897663e6,-3.20061310822766035430902503475e6,-6.25973923467150945575142502322e6,
                    -1.2889056388049202536923097253e7,-2.52622744981825197631403793075e7,-5.18547489286865730479950148279e7,
                    -1.01812815984888272400104215671e8,-2.08459419908965880320079705713e8,-4.09896020093387412300518599196e8,
                    -8.37498787552344320738471027951e8,-1.64884110919345554202260238808e9,-3.36298680053397364645824992354e9,
                    -6.62806458304268404960812116076e9,-1.34983912924213313755904883911e10,
                    -2.66286985728972145103690265386e10,-5.41606916343719670307872391991e10,
                    -1.06932345066934376784722058483e11,-2.17247688887766853014985766704e11,
                    -4.29236051328631146851421949252e11,-8.71191810692049461038267555654e11,
                    -1.72241106118253292232312081246e12,-3.49281387573069277281175891273e12,
                    -6.90957937657926014527879025828e12,-1.40007985763757156761488246162e13,
                    -2.77113391432541592771169969106e13,-5.61120841564334274211445067356e13,
                    -1.11113923922553805029316151206e14,-2.24851112011562110931774612697e14,
                    -4.45447136059566730369331198956e14,-9.00899147329368215629660694456e14,
                    -1.78546098176705119203481704374e15,-3.6091600747433249954785136062e15,
                    -7.15548963969837224582759579419e15
                  },0)
                },0)
              ),
              // AqgQ_reg as^3 LM^3 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    0.888888888888888888888888888889,-4.74074074074074074074074074074,4.44444444444444444444444444444,
                    -1.48148148148148148148148148148,-2.14814814814814814814814814815,-2.23209876543209876543209876543,
                    -2.29135802469135802469135802469,-2.35061728395061728395061728395,-2.40776014109347442680776014109,
                    -2.46090534979423868312757201646,-2.50944150499706055261610817166,-2.5534327400994067660734327401,
                    -2.593223237667682112126556571,-2.62924400702178479956257734036,-2.66192713811761430809049856669,
                    -2.6916712681792046871411950777,-2.71883051105273327495549717772,-2.74371372998823979216136078881,
                    -2.76658803151177878846724162628,-2.78768366051934450053931764745,-2.80719903648696218355661080119,
                    -2.82530540721311766571975918873,-2.8421509409192520714641524688,-2.85786423388041942682438364797,
                    -2.8725572768400425779166749239,-2.88632794667613171673834840703,-2.89926209325334720960318497344,
                    -2.9114352863880222399369853771,-2.9229142798005135719270445116,-2.93375824036421792976215160671,
                    -2.94401978298517679326071139796,-2.95374584446444499417890658731,-2.96297842378201666748744453276,
                    -2.97175521132579281832929262786,-2.98011012554741177971634461327,-2.98807377222350088685213099739,
                    -2.9956738388092523226765710709,-3.00293543418015407897197622898,-3.00988138227352452048227284758,
                    -3.01653247668682020451235060204,-3.02290770210141515439946060166,-3.02902442742763576128148941819,
                    -3.03489857476815588952680487349,-3.04054476763935664674466640859,-3.04597646134738181203929896881,
                    -3.05120605796603426081054056902,-3.05624500799019195624629932351,-3.06110390042723657055500628386,
                    -3.06579254282890738657244328819,-3.07032003254796976040338131135,-3.07469482032077712814856337894
                  },0),
                  // AqgQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -1.48148148148148148148148148148,2.96296296296296296296296296296,-2.96296296296296296296296296296
                  },0)
                },0)
              )
            }
          )
        },1)
      },0)
    },3);


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


/* C interface */

double ome_AqgQ_reg(double as, double LM, double NF, double x)
{
  return(ome::AqgQ_reg(as, LM, NF, x));
}

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

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

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

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

int ome_AqgQ_reg_min_power()
{
  return(ome::AqgQ_reg.min_power());
}

int ome_AqgQ_reg_max_power()
{
  return(ome::AqgQ_reg.max_power());
}

int ome_AqgQ_reg_coeff_as_min_power(int order_as)
{
  return(ome::AqgQ_reg[order_as].min_power());
}

int ome_AqgQ_reg_coeff_as_max_power(int order_as)
{
  return(ome::AqgQ_reg[order_as].max_power());
}

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

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