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
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
/******************************************************************************
 * This file is part of libome                                                *
 * Copyright (C) 2025 Arnd Behring, Kay Schoenwald                            *
 * SPDX-License-Identifier: GPL-3.0-or-later                                  *
 ******************************************************************************/

#include <ome/polAQqPS.h>

namespace ome
{

  /**************** polAQqPS, regular part ****************/

  const ome_as<double> polAQqPS_reg = 
    // polAQqPS_reg
    ome_as<double>({
      // polAQqPS_reg as^2
      ome_logm<double>({
        // polAQqPS_reg as^2 LM^0
        ome_nf<double>({
          // polAQqPS_reg as^2 LM^0 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    -22.3561193992619885781389192211,25.6438806007380114218610807789,-4.,0.246913580246913580246913580247,
                    0.172839506172839506172839506173,0.096,0.0564938271604938271604938271605,
                    0.0355613144728790987294388654933,0.0236880466472303206997084548105,0.0165180612711476909007773205304,
                    0.0119542752629172382258802011888,0.00891960931630353117956423741548,0.0068267616476982868167441170196,
                    0.00533836825750040740178807239951,0.00425175597256263842424934080531,0.00344037720908469207788935680092,
                    0.0028225308641975308641975308642,0.00234390901689395481375941380012,0.00196747596566168106023315055537,
                    0.00166739630254269936475347407006,0.001425280653156436798367108908,0.0012278011733794046719216787244,
                    0.00106514009926614637920647927957,0.000929958157440434049633707018844,
                    0.000816695027127618015538894418925,0.000721086419753086419753086419753,
                    0.000639825216203914428766499772417,0.000570320107769749682829392680233,
                    0.000510521305945099605224835014968,0.000458793077747256655278923598281,
                    0.000413819425778369017807562506675,0.000374533530095053150114522117252,
                    0.000340064428015172367493538316941,0.000309696337804120173266178775821,
                    0.000282837352533256860843367435481,0.000258995145265224231066623386873,
                    0.000237757968168650960286132873686,0.000218779682928516446719334291591,
                    0.000201767885608442730504129841785,0.000186474424816596362755931390182,
                    0.000172687784127626336699315003063,0.000160226926481043513588021067599,
                    0.00014893629242780055003494893808,0.000138681714573419312718783120097,
                    0.000129347063714399944579583630025,0.000120831482529268469478652113077,
                    0.000113047093547881451206271327892,0.00010591709187086470301046851316,
                    0.0000993741514969149179937412474198,0.0000933590884330655457765193787883,
                    0.000087819734974372922846773028245
                  },0),
                  // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    -8.,-2.66666666666666666666666666667,0,-0.592592592592592592592592592593,
                    -0.37037037037037037037037037037,-0.24,-0.165925925925925925925925925926,
                    -0.120937263794406651549508692366,-0.0918367346938775510204081632653,-0.072016460905349794238683127572,
                    -0.0579423868312757201646090534979,-0.0476033057851239669421487603306,-0.0397918579736761554943373125191,
                    -0.0337497260574183651106728029805,-0.0289820070039850259630479410699,-0.0251549508692365835222978080121,
                    -0.022037037037037037037037037037,-0.0194636678200692041522491349481,-0.0173152775997835590300027055121,
                    -0.0155033457588089782611173808465,-0.0139612188365650969529085872576,-0.0126379440665154950869236583522,
                    -0.0114940374680634420894161153901,-0.0104985236451124060678967020263,
                    -0.00962682909752853042077994819016,-0.00885925925925925925925925925926,
                    -0.00817988165680473372781065088757,-0.00757569608471792707310276161178,
                    -0.00703601056334742401761802114536,-0.00655196680336819626780557645175,
                    -0.00611617562866076540273924340512,-0.005722434192777585077272902455,
                    -0.00536550468262226847034339229969,-0.0050409397000306091215182124273,
                    -0.00474494340489936589338917114947,-0.00447426029235223501165171951133,
                    -0.00422608549592676576803560930545,-0.00399799198597997396796195594994,
                    -0.00378787112335064719582201052591,-0.00359388384106048712909995671555,
                    -0.00341442033749726057418365110673,-0.00324806662700773349196906603212,
                    -0.0030935766467337810925811265745,-0.00294984888973917792584253219346,
                    -0.00281590674432013730897648494384,-0.00269088188280107472026663945856,
                    -0.00257400017114362840050720748053,-0.00246456967158753372737922966794,
                    -0.00236197039049008265848465033617,-0.00226564548721983124315485831521,
                    -0.0021750937109537692628071636818
                  },0),
                  // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    -1.33333333333333333333333333333,4.
                  },0),
                  // polAQqPS_reg as^2 LM^0 NF^0 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    -0.888888888888888888888888888889,-0.888888888888888888888888888889
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^0 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^2 LM^0 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^0 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -3.17904663441533234053187768634,-1.97857732541408138559068924127,16.1015466530429649000770821088,
                    27.9607922196505687000040055636,51.8331304484538413061878925535,99.1782942743838645098911515839,
                    190.899148136085155488648008405,367.963113838542489717700071483,709.854382532183036330644969315,
                    1370.69878144069469308316234609,2649.62545908871137995738685851,5127.82286683948426934197109605,
                    9935.7202425238217648463292602,19274.2877174323251582704064346,37432.9896388843254609005360106,
                    72779.1132772791943109231240927,141648.257765477673170176942926,275958.149078847556709321979715,
                    538118.852775906918254411201835,1.05024959174566919402884118127e6,2.05146294942958939019536085649e6,
                    4.01024154098692193783638089289e6,7.84500686915159057401306790239e6,1.53572583206128431664094009751e7,
                    3.00825438678766559054765813074e7,5.89630754074399459432389334516e7,1.15636716853227529259853194274e8,
                    2.26906987978301970276726702154e8,4.45475591922222875785838537117e8,8.75008408978313363183087290553e8,
                    1.71949926633099942261718757077e9,3.38051736343072900993346696444e9,6.64884810356389157273460723158e9,
                    1.30822672478308891440668933741e10,2.57504532612224082263680898373e10,5.07042574152043542848175228933e10,
                    9.98744937927672572824695086906e10,1.96792596172016759280581265788e11,3.87882978241811106563967084839e11,
                    7.64759144336194568169456978674e11,1.50825637569563744361274790003e12,2.97541169957754707984843871553e12,
                    5.87131717211425847846625097933e12,1.15887354761388441551166215519e13,2.28793826925270375882980168747e13,
                    4.51810430446390229469325857848e13,8.92417494872084385350251380325e13,1.76309678366950246545415358234e14,
                    3.48399128753366836450318765473e14,6.88600844288052228876483091203e14,1.36127085368009278012207239947e15
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^0 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^2 LM^0 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -8.77298168985720766118621422211,2.66666666666666666666666666667,2.47988278550795810928429362959,
                    1.96136426698943959076577511107,1.78745006251271785391141982219,1.71328894445574920347681761972,
                    1.66940481151803004278684112872,1.63511739159071683442652436279,1.60391163663743176598315129569,
                    1.57375859923488176511287295418,1.54411919165986080700534945018,1.51494266838941591623325351382,
                    1.48631786503881209582413026733,1.45835242606751742152667651053,1.43113462891792500664956906695,
                    1.40472517404661330970632685603,1.37915924143791301016481209206,1.35445139155026682389846959609,
                    1.33060061001239552955605754478,1.30759462946948755347943873016,1.2854133602890632488131611421,
                    1.26403150776685135746081881858,1.24342052106117318482191923253,1.22355001976265056850012347317,
                    1.20438882292451536367179141083,1.18590568026203688380073579445,1.16806978244303726440852341844,
                    1.15085110868779427236668570291,1.13422065526072939501285983518,1.11815057727111856437887929823,
                    1.10261426780231813160356431832,1.08758639212245750999836506255,1.07304289007318754088049533496,
                    1.0589609562803200615794856067,1.04531900527195377124599082125,1.03209662669437657438755783072,
                    1.01927453441157137312033035403,1.00683451223318077504918922532,0.994759358244233330428892915765,
                    0.983032829138321807203879191052,0.971639585532897850242957768312,0.960565138932893164848168950109,
                    0.949795800778805018420439530333,0.939318633846746293992824927396,0.929121406145160321750058028875,
                    0.919192547364301091327615275616,0.909521107871481317742661267311,0.900096720200980809150666898998,
                    0.89090956295750187224158181749,0.881950327032491306264415508439
                  },1)
                },0)
              )
            }
          )
        },0),
        // polAQqPS_reg as^2 LM^1
        ome_nf<double>({
          // polAQqPS_reg as^2 LM^1 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^2 LM^1 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^2 LM^1 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^1 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    -5.33333333333333333333333333333,5.33333333333333333333333333333
                  },0),
                  // polAQqPS_reg as^2 LM^1 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    5.33333333333333333333333333333,-16.
                  },0),
                  // polAQqPS_reg as^2 LM^1 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    5.33333333333333333333333333333,5.33333333333333333333333333333
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^1 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^2 LM^1 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^1 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    3.02534992617213222244943920117,8.52793881472871735245116713626,12.7269032593060833004504759622,
                    32.5649176297232777120120630356,67.3118997532424998903904754296,129.5817693632251775936337765,
                    244.489382400449510795435680348,459.032960452283978284799512425,862.132744466999808546718904782,
                    1622.85282991431386068011004074,3063.63041552857308465055015782,5800.94815943569892328444843678,
                    11016.0760087425288512390291512,20976.9992815313664215032347764,40046.0711780936965225228826592,
                    76628.090969445123943886890062,146941.288566759801604698623898,282325.647713270123829463034038,
                    543422.404499468542728215656798,1.04771334377714090587185467993e6,2.02305917206466392435737190885e6,
                    3.91187652349320193154428039983e6,7.57402261361078964678201522386e6,1.46822304994950147877000659673e7,
                    2.84934217847063891228404024279e7,5.53542598587774091237842476013e7,1.07641881410820166969654933008e8,
                    2.09511577327850565054793555588e8,4.08137496537522932762092716474e8,7.95708690067289336337463683709e8,
                    1.55249500599045591382575817659e9,3.03120944035922906713798374489e9,5.92234871580040240875645601964e9,
                    1.15783953824356659038831076539e10,2.26498051506788550578389829961e10,4.43331622965789527496505541693e10,
                    8.68217561264206085928732421668e10,1.70118844200895928370489791167e11,3.33495135018024780345868124622e11,
                    6.54078358182213358060412323804e11,1.28340555996589357297263033119e12,2.51931923344808779028264344813e12,
                    4.94742817984418658209931081487e12,9.71952832279770951304705705637e12,1.91017492832744666670133235872e13,
                    3.75540392837530263746595811219e13,7.38566231896165250692845078186e13,1.45299994436086200243963590809e14,
                    2.85943043728012808263761402571e14,5.6289320796084582937088950232e14,1.10840903492867582498334400912e15
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^1 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^2 LM^1 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^1 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    5.33333333333333333333333333333,0,0.888888888888888888888888888889,1.77777777777777777777777777778,
                    2.13333333333333333333333333333,2.25185185185185185185185185185,2.26455026455026455026455026455,
                    2.22857142857142857142857142857,2.17037037037037037037037037037,2.10285714285714285714285714286,
                    2.03255411255411255411255411255,1.96280262946929613596280262947,1.89529236195902862569529236196,
                    1.8308294879723451152022580594,1.76973911450101926292402482879,1.71208322541655874989208322542,
                    1.65778176072293719352542881955,1.60668109426279360919883795701,1.55859315040601590309192648374,
                    1.5133177658255057635862589423,1.47065532662171317633502507452,1.43041369449636105580780101306,
                    1.39241175863014113604551568795,1.35648099526145023520174953746,1.3224658623110635494536423329,
                    1.29022352846907347461309584797,1.2596232394125382218935664488,1.23054550436107483029989637514,
                    1.20288121297610803189725360661,1.17653074747657693542852098765,1.15140312693935110397573929282,
                    1.12741520352270679693605602069,1.10449091978315275945005033927,1.08256062986541788034048553077,
                    1.06156048358010230490599134968,1.04143187026577535489409355478,1.02212091824296413658135030102,
                    1.00357804521276060984926321821,0.985757554881883199234862257038,0.968617275249390175238689700867,
                    0.952118234266788055116418721664,0.936224368919582125966185236921,0.920902264135202158418207042688,
                    0.906120918276139424710864409004,0.891851532314497342914587360016,0.878067320097805585680097938111,
                    0.864743337402698717931991172614,0.851856327732202451692005379224,0.839384583044657248451580348237,
                    0.827307817809317916235544492644
                  },1)
                },0)
              )
            }
          )
        },0),
        // polAQqPS_reg as^2 LM^2
        ome_nf<double>({
          // polAQqPS_reg as^2 LM^2 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^2 LM^2 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^2 LM^2 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^2 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    -13.3333333333333333333333333333,13.3333333333333333333333333333
                  },0),
                  // polAQqPS_reg as^2 LM^2 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    -5.33333333333333333333333333333,-5.33333333333333333333333333333
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^2 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^2 LM^2 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^2 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -1.121489222187104191328809695,-1.03011829631970831689190464778,5.33333333333333333333333333333,
                    10.6666666666666666666666666667,17.7777777777777777777777777778,29.8666666666666666666666666667,51.2,
                    89.3968253968253968253968253968,158.476190476190476190476190476,284.444444444444444444444444444,
                    515.792592592592592592592592593,943.321212121212121212121212121,1737.6969696969696969696969697,
                    3220.78632478632478632478632479,6001.46520146520146520146520147,11234.7428571428571428571428571,
                    21117.1555555555555555555555556,39835.6078431372549019607843137,75387.8169934640522875816993464,
                    143080.545808966861598440545809,272261.838596491228070175438596,519294.780952380952380952380952,
                    992591.422799422799422799422799,1.90097572595520421607378129117e6,3.64722086956521739130434782609e6,
                    7.00914801777777777777777777778e6,1.34906024041025641025641025641e7,2.60022948831908831908831908832e7,
                    5.0183700768959435626102292769e7,9.6971757504105090311986863711e7,1.87596272698850574712643678161e8,
                    3.63301893138351254480286738351e8,7.04282271655913978494623655914e8,1.36658050327272727272727272727e9,
                    2.65404990364824717765894236482e9,5.15877304348683473389355742297e9,1.00352251741460317460317460317e10,
                    1.95358672602842842842842842843e10,3.80580127205538169748696064486e10,7.41910680010796221322537112011e10,
                    1.44722043314105982905982905983e11,2.82476158030256910569105691057e11,5.51671339371930313588850174216e11,
                    1.07800032608824510889627168697e12,2.10759099897866102889358703312e12,4.12261329525708282828282828283e12,
                    8.068042810708014170692431562e12,1.57966221897438766574159728646e13,3.09422846738664397163120567376e13,
                    6.06351990646537868480725623583e13,1.18870520776853908027210884354e14
                  },0)
                },0)
              ),
              // polAQqPS_reg as^2 LM^2 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^2 LM^2 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^2 LM^2 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -2.66666666666666666666666666667,0,0.888888888888888888888888888889,0.888888888888888888888888888889,0.8,
                    0.711111111111111111111111111111,0.634920634920634920634920634921,0.571428571428571428571428571429,
                    0.518518518518518518518518518519,0.474074074074074074074074074074,0.436363636363636363636363636364,
                    0.40404040404040404040404040404,0.376068376068376068376068376068,0.351648351648351648351648351648,
                    0.330158730158730158730158730159,0.311111111111111111111111111111,0.294117647058823529411764705882,
                    0.278867102396514161220043572985,0.265107212475633528265107212476,0.252631578947368421052631578947,
                    0.24126984126984126984126984127,0.23088023088023088023088023088,0.221343873517786561264822134387,
                    0.212560386473429951690821256039,0.204444444444444444444444444444,0.196923076923076923076923076923,
                    0.189933523266856600189933523267,0.183421516754850088183421516755,0.177339901477832512315270935961,
                    0.171647509578544061302681992337,0.166308243727598566308243727599,0.161290322580645161290322580645,
                    0.156565656565656565656565656566,0.152109328579916815210932857992,0.147899159663865546218487394958,
                    0.143915343915343915343915343915,0.14014014014014014014014014014,0.136557610241820768136557610242,
                    0.133153396311291048133153396311,0.129914529914529914529914529915,0.126829268292682926829268292683,
                    0.12388695315524583817266744096,0.121077888519748984865263935031,0.118393234672304439746300211416,
                    0.115824915824915824915824915825,0.113365539452495974235104669887,0.11100832562442183163737280296,
                    0.108747044917257683215130023641,0.106575963718820861678004535147,0.104489795918367346938775510204
                  },1)
                },0)
              )
            }
          )
        },0)
      },0),
      // polAQqPS_reg as^3
      ome_logm<double>({
        // polAQqPS_reg as^3 LM^0
        ome_nf<double>({
          // polAQqPS_reg as^3 LM^0 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    2889.74345965316393123944426069,-3538.92882700148968053258758132,765.168131951710652907842990054,
                    -156.010028129036407041221869953,128.06380901894971921446185979,-147.459876183127882132041168025,
                    155.156168439521579378165710282,-144.289885562568611322554040417,169.720082205272135130189220221,
                    -122.476449428368427559640363157,215.518165148209604217692620213,-41.5601639902576213434023532163,
                    371.606919262273674729363342965,250.170636537411828032027722232,927.298332462973092046689408689,
                    1304.52956325989811820841408619,2938.48866412322538219169289555,5144.45245651168012966996983966,
                    10288.4118564773562999948424337,19235.0202582414312371566262645,37349.3402420028603376586682458,
                    71283.5592951866265268846281988,137604.163871936884908429715385,264648.571477783077899270326654,
                    511020.021723043742414121032889,986607.473867252654662495376361,1.90837313414170625429709374875e6,
                    3.69395736882335226670944227204e6,7.15887541979713094687058261388e6,1.38857659607470612870231282982e7,
                    2.69592512239912841955655024517e7,5.23845441154089943469900839606e7,1.01871529277815613839802523157e8,
                    1.98257321102518982551924472567e8,3.861177123470528881025975608e8,7.5249916384938095469418080197e8,
                    1.46748806489911705874653689216e9,2.86359164842867856240508618461e9,5.59117576994552645969603389925e9,
                    1.09229198428233483365862729492e10,2.13504449408396308184563013976e10,4.17539280963780630908032207056e10,
                    8.16959162738537239091963819748e10,1.59921520500744326965332465501e11,3.13190483101375950934556377666e11,
                    6.13616918367213281767063532523e11,1.20272332470019963414151725376e12,2.35834172291685427646577180298e12,
                    4.62608584377560281952933589511e12,9.07779404992718923362411158162e12,1.78197139816045043729154293046e13
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    128.564675439245975166213226101,2889.27124961874039528254749842,-626.538503959138797414389922072,
                    59.1982583519037536683524884419,-53.6595443496978284058730750755,31.2934149715004261217214048013,
                    -11.9150605014372676120199701809,44.2530169454881081376681577234,42.8994143995701392190060308475,
                    115.26530664023738233248165196,189.47111499834513916055308865,374.951510817655828403346666039,
                    683.675498964646396902526475988,1297.02146734231859579061543383,2428.20165424944446328908289135,
                    4594.86662933445212544481594643,8690.90556626784760615896422949,16509.6683047653522489825513313,
                    31418.1416098363882257409121068,59946.8120919486615175908903892,114601.71918842993200663189327,
                    219524.574797864572155975009297,421237.265133593580241008376344,809628.050413310948117534181226,
                    1.55845987095609655725384692919e6,3.00410331061578323770598025495e6,5.79826902222768908895330536534e6,
                    1.12049287176136580921432094589e7,2.16776411472913865901428808608e7,4.1983260869284243072977461321e7,
                    8.13903699837651938453992928649e7,1.57934421477127789086677208276e8,3.06735349811539161719053725459e8,
                    5.96228193321786351292113771298e8,1.15985302711639903689589738069e9,2.2579634595217109707545076007e9,
                    4.39883322002619701395305136879e9,8.57529642925571039822411063694e9,1.67277457391518712163588527865e10,
                    3.26504328558819811446644156166e10,6.3766308491781733351129154549e10,1.24604244274179893542429284618e11,
                    2.43614325166885496164350840829e11,4.76530990487434532837437239805e11,9.3258490593875091882423658173e11,
                    1.82593654783603191696785525475e12,3.57663611579847533026134962738e12,7.00886707302072844686826227901e12,
                    1.37403424192474876500508738246e13,2.69474118031724974086964562364e13,5.28688462811218205414939517618e13
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    -524.895834297165998640247968031,-748.510704541564913380270854209,42.2222222222222222222222222222,
                    -35.5555555555555555555555555556,8.2983539094650205761316872428,-29.1515555555555555555555555556,
                    26.7163566529492455418381344307,-5.23157006482781237127420045032,60.8030733722060252672497570457,
                    59.8853514816992183247327280249,174.999040390184423106233805822,273.661390290150620729133125827,
                    568.967474235605038584326412099,1011.32538968108403421428478043,1950.07453260287459055723758054,
                    3612.44816692462749404044440578,6861.20450807785607168323217706,12917.1753535588574643123798426,
                    24535.3081337464292793746830335,46575.0625225743229104663722711,88774.665992841178719758173117,
                    169437.652360334282225845868847,324201.73143676565941513677894,621346.286364863969706820784805,
                    1.19304539200471586343323867383e6,2.29427921469014207639417153683e6,4.41867402324324357240800318106e6,
                    8.52169317088527014985331088516e6,1.64557508672949290514939654333e7,3.18144259654261903497731387992e7,
                    6.15763915913498136349823970068e7,1.19304260422909650177831904383e8,2.31378089376012566406451957689e8,
                    4.49145784866562213986829880804e8,8.72626363810843508185952756541e8,1.69677380518209712891117254266e9,
                    3.30183078637744632243375661523e9,6.42988203912802803669156737144e9,1.2530028458319629120117091352e10,
                    2.44335586926419966573841950962e10,4.76752421775592324645360322205e10,9.30802445562718923792728978098e10,
                    1.81831192760853740332151341572e11,3.55397361635588714410560323903e11,6.94999338503957818336999722427e11,
                    1.35978140878480508410956484577e12,2.66169994585521894374329036979e12,5.21249602311929980278444551543e12,
                    1.02122376321723836571805851181e13,2.0015986694703374146438388847e13,3.92470344039148329865933122811e13
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    -152.442164500009746905680573729,176.545489820977907415307080592,12.4444444444444444444444444444,
                    -0.943758573388203017832647462277,5.06447187928669410150891632373,-0.382222222222222222222222222222,
                    2.16932784636488340192043895748,-0.192603790487388370986254584138,1.18594104308390022675736961451,
                    -0.114692882182594116750495351318,0.744374333180917543057460752934,-0.0758126721763085399449035812672,
                    0.509834597376684918772460860003,-0.0537495637210736925836640936356,0.370755008117645480282842920206,
                    -0.0400615884213767811651409535007,0.281632373113854595336076817558,-0.0309976931949250288350634371396,
                    0.221141072152791292153645664404,-0.0246905136158809653788165694963,0.178220991074176669744536780548,
                    -0.0201270961059320847680636040424,0.14667576379938092299804661517,-0.0167198709903642022562799328567,
                    0.122816298059594285877279646096,-0.014109190672153635116598079561,0.104335568704799474030243261012,
                    -0.0120649974682544764497562499743,0.0897310811740232342492450925399,-0.0104346137979567570190977699046,
                    0.0779903733389442642096008899197,-0.00911350630701615401195314094686,0.0684110879870505260723783096312,
                    -0.00802816322597467378612159756941,0.0604936349463512675796995347751,
                    -0.00712567379893133724077866440694,0.0538748137572358618801887467378,
                    -0.00636717242211625483786533725361,0.0482854644717338435987833307591,
                    -0.00572359278391114616856659773218,0.0435226986793938360889927841495,
                    -0.00517284685041972370943221627338,0.0394312448676662469787625197135,
                    -0.00469790749106609817819366238217,0.0358906434918038241702138648891,
                    -0.00428547855409060048042464802659,0.0328062858692122696728016183157,
                    -0.00392505540289866482508543984154,0.0301030327982359234978989183171,
                    -0.00360825022038713864650588546496,0.027720597899023555000231385071
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^4
                  ome_x<double>({
                    -29.037037037037037037037037037,-24.0987654320987654320987654321
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^0 [below 0.25] y=x H[0, y]^5
                  ome_x<double>({
                    -2.54814814814814814814814814815,1.18518518518518518518518518519
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^0 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^0 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -106.2623447153835809556003712,-384.849658064493998478335333344,-523.652618284139858287461633484,
                    -1131.21520828233671320971962301,-2624.10265128842182037041767739,-4528.36315973035404251043497472,
                    -8593.54411156069686248284387701,-15268.3552691623250896247932242,-28671.7220692951018249958728365,
                    -52181.3596317519888943403384269,-98241.8252351929957405372759879,-181554.364042860510607756983243,
                    -343099.282599103998669535613114,-640577.391272466842569915416769,-1.21466772983617856248273920298e6,
                    -2.28429922525899472686144700909e6,-4.34389748677178537064794905934e6,-8.21309201375203494475336167639e6,
                    -1.56554767843393725163544402751e7,-2.97224946711276556027553829417e7,-5.67682772670242069021988932681e7,
                    -1.08128159254788433828485235656e8,-2.06861055472710993774975021123e8,-3.95048255223694191232930464443e8,
                    -7.56819866455544073136371674365e8,-1.4484166476418323340339891706e9,-2.77805047785725582643959938007e9,
                    -5.32608166067411479351985580221e9,-1.02252748961388472975488564001e10,
                    -1.9632648450008494171098303595e10,-3.77219468874110566265005933248e10,
                    -7.25148810444654044495595672908e10,-1.39420468630962774617705854236e11,
                    -2.68286575749129552822278853198e11,-5.16089923436976511551098332111e11,
                    -9.93940339394144679452763358651e11,-1.91276572479212058050769461674e12,
                    -3.68631293077787754797833105231e12,-7.09611367467678762117284943887e12,
                    -1.36831730238448157570247542247e13,-2.63449148050946272570570992816e13,
                    -5.08211887050149385713060619574e13,-9.78572664145922564412061704229e13,
                    -1.88830835646661858001726321458e14,-3.63594482253472015400585141236e14,
                    -7.01749165803518641940377406645e14,-1.35107869401379009428262600061e15,
                    -2.60786391108142344384706474676e15,-5.01991128378713058984695781381e15,
                    -9.68937676359580349961104391554e15,-1.86456012900064804161572811766e16
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -375.308013542659119530436888012,168.74365832418177233171256609,-65.1841408908791509144494852682,
                    -32.4196941634140271951005355554,-88.5457293337871791763890901417,-90.3878670394801131089958048442,
                    -93.3047847897134124947902329072,-99.6915431659344114227117710676,-113.993792043188968895211689486,
                    -143.544656323591444064788236051,-201.727769994136427648394623057,-313.66115724299876400924950386,
                    -526.878191093921141336313112379,-931.666132563405094723634367896,-1699.96138523856566838419259846,
                    -3159.9029742040150063476823163,-5938.98562931255552156225089785,-11239.3586183273056191113724485,
                    -21368.0068720906786618942134342,-40759.1428092826870502364239542,-77948.2020238900186273294231185,
                    -149387.567763196196372582209132,-286830.356654044902934467150838,-551633.327344500122051383777804,
                    -1.06248925948517835676924109113e6,-2.04924696077862894909934083355e6,-3.95744886109998631453482463155e6,
                    -7.65154487915271432089517778269e6,-1.48102296918679771193278496334e7,-2.86961022311613115834233996387e7,
                    -5.56551091294560954388065750715e7,-1.0803966977928600354660245417e8,-2.09910802846327036485438868009e8,
                    -4.08167883411168850718402805624e8,-7.94284762424306509165373137917e8,-1.54678293961880360501602339823e9,
                    -3.01426889259859271286530556412e9,-5.87785735530675411550909012077e9,
                    -1.14690272176227486225152823476e10,-2.239193730092452594884113578e10,
                    -4.37423649118792732729493771308e10,-8.54962633402482863687622646156e10,
                    -1.67192127480891990888241532011e11,-3.27113557297215175400893452301e11,
                    -6.40303880998340784453713621241e11,-1.25392051960669331776773565401e12,
                    -2.45664335078718775772724759201e12,-4.81498420206851198059998304332e12,
                    -9.44106850137597315867128690229e12,-1.85188598093527913873830074968e13
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    -183.743793396310419188326949446,21.7110752750314796151233415313,-5.5487174127143479111420401248,
                    -14.0996591358303476515063893378,4.87257466100339047285356182825,3.58607141336432845726517795165,
                    -6.39562588840757477345299875885,-32.2953618322644122055923622857,-86.0229342610955884207955975601,
                    -189.884591425354268713251450053,-385.891276030647631787825693706,-753.210220256659620469848713686,
                    -1441.27586207280356350942586352,-2732.81487522101474722699658895,-5164.0763004495062895857775057,
                    -9754.64359230392128154178618366,-18447.5147598357917122883922581,-34953.2831708857400204022425555,
                    -66372.067809577756856281252941,-126314.371300208463076865408773,-240914.440039442615338500200624,
                    -460431.97259989064657264381998,-881662.641669571838525503008234,-1.69127663569391279833425725601e6,
                    -3.24971804980066602137346236458e6,-6.25378895841613260284288564633e6,-1.2052009450192038506184534233e7,
                    -2.32568575407368546633439381557e7,-4.49343711106965303310684349464e7,-8.69174220923955566813505773852e7,
                    -1.68307450885934701032862084518e8,-3.26241308372607567726601870877e8,-6.32975726040959689655984165567e8,
                    -1.22920236486277766736175808345e9,-2.38905279090594012828316169947e9,-4.64701187159331810011246763383e9,
                    -9.0458376894340898641012201572e9,-1.76211215449353381076604964182e10,
                    -3.43488458381938473071889077341e10,-6.69992419629366848940004869393e10,
                    -1.30765487303994771872941746653e11,-2.55369622600978085876421397072e11,
                    -4.9898375905148285310383818403e11,-9.75514421638048235392095514005e11,
                    -1.90809875601577238935438916711e12,-3.73403430451398470704377111691e12,
                    -7.31066866791548447401296440376e12,-1.43195326593766395208441054601e13,
                    -2.80598696451755484703116463872e13,-5.50072718432800424051950574314e13
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^2
                  ome_x<double>({
                    -19.6671995653245077907323959506,0.888888888888888888888888888889,-7.67746297068058245110017528669,
                    -4.60338889660650837702610121262,-17.5783586489211661812987997333,-29.7225465082317087592340496944,
                    -47.6306177393786185344305142916,-77.0650490367433517931063845052,-128.174856353526846538386541419,
                    -219.42190948240821887591259297,-384.901817245318091017636003527,-688.095739210503368044098998114,
                    -1247.83549737786749697581133803,-2287.5008367236945196062123787,-4228.49563726154263659305925167,
                    -7868.28563985260766684677594745,-14720.2346418455512753247021958,-27663.5735004511095035696897128,
                    -52188.8095960720362989846289667,-98788.1108869633864485531393746,-187550.515561847347242537179973,
                    -357008.539858055613694204496987,-681192.657904173488314892583316,-1.30255063929564178913564003073e6,
                    -2.49556539075568801327716256856e6,-4.78983555093288747106814009864e6,-9.20844654164381583739463999437e6,
                    -1.77300788201164159367618320114e7,-3.41856838275400912154630761228e7,-6.5999914851180472354296601661e7,
                    -1.27575942766001720794516080073e8,-2.46879651347842757423743587064e8,-4.78256789147362011442934442881e8,
                    -9.27401047489391415640553390683e8,-1.80002483522883079156258543111e9,-3.49679439157701961451997824635e9,
                    -6.79861801746633140979698728673e9,-1.32284880505510414019523902158e10,
                    -2.57584961639829297796487483406e10,-5.01920203461327854938352720806e10,
                    -9.78672036108185314892692614146e10,-1.90947347304281158148353410184e11,
                    -3.72778366581743078045300037248e11,-7.28175428834338724487918556379e11,
                    -1.42317424872613087077079143358e12,-2.78295475620890820493810616847e12,
                    -5.44465313048558395752467132992e12,-1.06571464049331255865466872248e13,
                    -2.08693792153821041554135141335e13,-4.08853574280268312041181630602e13
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^3
                  ome_x<double>({
                    0.0987654320987654320987654320988,-1.28395061728395061728395061728,-2.1618655692729766803840877915,
                    -1.61865569272976680384087791495,-1.21481481481481481481481481481,-0.941563786008230452674897119342,
                    -0.751490719744687998656252624507,-0.614260519022423784328546233308,-0.511812223746380124980948026216,
                    -0.433139547542839723909682757419,-0.371279898552625825353098080371,-0.321663538274088217971495188106,
                    -0.281190126394304931816802662007,-0.247694059659871625683591495557,-0.219623631969310981656660669006,
                    -0.195841926706124236988434519299,-0.175499426172244319110908884073,-0.157950241764159488111814140265,
                    -0.142695659162264271528660571443,-0.129345244624153971826558866915,-0.11758951357457426551730940153,
                    -0.107180377660499533810261610153,-0.0979169279874896914270618184579,-0.089634944737212929779424534171,
                    -0.0821990515610513317198330384892,-0.0754967751721015955771642943537,-0.069433996218468863424866059901,
                    -0.0639314289933440576687645520798,-0.0589218708417744840298254222536,-0.0543480336219485876212472735069,
                    -0.0501608197429850371993443370256,-0.0463179409465472119084640801354,-0.0427828036293598122003812276299,
                    -0.0395236031365538024143128298918,-0.0365125831424792739783441459009,-0.0337254263869901124031619751093,
                    -0.0311407506332201679913101508861,-0.0287396894486686001342882178154,-0.0265055417764940697704485156611,
                    -0.0244234776112625965043245953744,-0.0224802896788576698925500101589,-0.0206641830309310015657455383943,
                    -0.0189645960380904074980764890847,-0.0173720475054980835628987235146,-0.0158780056164389538626216514405,
                    -0.014474775191589220396950143253,-0.0131554003781064309338750500374,-0.0119135803868457109111985547556,
                    -0.0107435963037920429662920535648,-0.00964024733314521853948131230007
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^0 [above 0.75] y=1-x H[0, y]^4
                  ome_x<double>({
                    -0.493827160493827160493827160494,0,0.164609053497942386831275720165,0.164609053497942386831275720165,
                    0.148148148148148148148148148148,0.131687242798353909465020576132,0.117577895355673133450911228689,
                    0.10582010582010582010582010582,0.0960219478737997256515775034294,0.0877914951989026063100137174211,
                    0.0808080808080808080808080808081,0.0748222970445192667414889637112,0.0696422918645140867363089585312,
                    0.0651200651200651200651200651201,0.0611405055849500293944738389183,0.0576131687242798353909465020576,
                    0.0544662309368191721132897603486,0.0516420559993544743000080690712,0.0490939282362284311602050393473,
                    0.046783625730994152046783625731,0.0446796002351557907113462669018,0.0427555983111538667094222649778,
                    0.040989606206997511345337432294,0.039363034532116657720522454822,0.0378600823045267489711934156379,
                    0.0364672364672364672364672364672,0.0351728746790475185536913931976,0.0339669475471944607747076882879,
                    0.032840722495894909688013136289,0.031786575847878529870867035618,0.0307978229125182530200451347405,
                    0.029868578255675029868578255675,0.0289936401047512158623269734381,0.0281683941814660768909134922207,
                    0.0273887332710862122626828509181,0.0266509896139525769155398785028,0.0259518778037296555815074333593,
                    0.0252884463410779200252884463411,0.0246580363539427866913247030206,0.0240582462804685026907249129471,
                    0.023486901535682023486901535682,0.0229420283620825626245680446222,0.0224218312073609231231970250058,
                    0.0219246730874637851382037428549,0.0214490584860955231325601695972,0.0209936184171288841176119759051,
                    0.0205570973378558947476616301778,0.0201383416513440154102092636372,0.0197362895775594188292600991014,
                    0.0193499622071050642479213907785
                  },1)
                },0)
              )
            }
          ),
          // polAQqPS_reg as^3 LM^0 NF^1
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    28.0351644144731054403872779658,-36.9470228640204790471502266648,4.44444444444444444444444444444,
                    1.0473004423931116974048163731,0.714919429444940352716144663913,0.487801123613654681893395075549,
                    0.345204983495128431194702036685,0.254200928907599711880818476584,0.193800216308655675146436385963,
                    0.152097047197781924286263042149,0.122276732869119580305393699774,0.100300992502426162843157794389,
                    0.0836832709392775265283667159573,0.0708360525598412090617537104614,0.0607121870190738205515705794282,
                    0.0526006424037386785846083301277,0.0460060647375651468658723303859,0.0405754127601266824068425349282,
                    0.0360519257004407999982187993271,0.032245456740210231896940239865,0.0290128853515955514089837190864,
                    0.026244898105317116126814195585,0.0238568885914477498825084939274,0.0217825788896713392517592678418,
                    0.0199694744855105213433022189661,0.0183755765007484644111608244087,0.0169669703344554457080094620691,
                    0.0157160344503159187594243239759,0.0146000941020740131555048517273,0.0136003984097730956420837104339,
                    0.0127013352371383036876296050483,0.0118898228995552285178093485152,0.0111548347270681322368096268729,
                    0.0104870244088410745169427159648,0.00987842848091380791084925153675,0.00932222836476246353477916287305,
                    0.00881255874283569171797095237936,0.00834435225997079206236084354838,0.00791321290406545560283906888167,
                    0.0075153121803503445160346511401,0.00714730351601169107442311928099,0.00680625133278221571243439532746,
                    0.00648957198827368573963696929455,0.00619498437283515712190881162434,0.00592046840172582661252525127539,
                    0.00566422999481341853697521704277,0.00542467141184711656469910537108,0.00520036602850112004949381534431,
                    0.00499003681027385278973211720985,0.00479253787811001781694417133743,0.0046068386690080170371186286996
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    22.4862984468123819255687466032,-15.9206650718191841832735036682,5.33333333333333333333333333333,
                    1.25102880658436213991769547325,0.436213991769547325102880658436,0.176,0.0716378600823045267489711934156,
                    0.0239954888480965578471247405488,0.000534499514091350826044703595724,-0.0114692882182594116750495351318,
                    -0.0176307618612145361116554532192,-0.0206555758291295481378126006225,-0.0219368315480957048144069876546,
                    -0.0222292151724542695395204709252,-0.0219578888821733888754779951495,-0.0213696086953834497296326472441,
                    -0.0206107202125720644239162757681,-0.019769240783641353557901491954,-0.0188984247543926702018235440524,
                    -0.0180303799771058252750325344862,-0.0171841472650199698388853041821,-0.0163706030506083860759064173763,
                    -0.0155954907869302741359146928479,-0.0148613246147751434133448898455,-0.0141685997595687673308007387662,
                    -0.0135165693556529469842163340615,-0.0129037460804392794092523523245,-0.0123282269261492789575921827433,
                    -0.0117879031222091563587971886161,-0.0112805948651509974046277557269,-0.0108041365262140746732795854322,
                    -0.0103564291286981327676219013804,-0.00993547117789740794985142645429,
                    -0.00953937521211368394192009851839,-0.00916637500167361227874090461762,
                    -0.0088148267032844510866869641025,-0.00848320619423191660309137270648,
                    -0.00817010408212476457573239401422,-0.00787421939271009052650240462605,
                    -0.00759435260317729213683057541421,-0.00732939846006635143641252149932,
                    -0.00707833886519923058461363846213,-0.00684023600696828404543095841422,
                    -0.00661422584227117562656534619022,-0.0063995119857645213597508083511,
                    -0.00619536003064331037467156640195,-0.00600109230382885298243382357695,
                    -0.0058160830447985885011520979384,-0.00563975398891160378288963325492,
                    -0.00547157033130162100488022229267,-0.00531103704505988583679234090883
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    14.5800989506549664807251945349,6.28380265435867018442889823859,0,0.395061728395061728395061728395,
                    0.246913580246913580246913580247,0.16,0.110617283950617283950617283951,0.0806248425296044343663391282439,
                    0.0612244897959183673469387755102,0.0480109739368998628257887517147,0.0386282578875171467764060356653,
                    0.0317355371900826446280991735537,0.0265279053157841036628915416794,0.022499817371612243407115201987,
                    0.0193213380026566839753652940466,0.0167699672461577223481985386747,0.0146913580246913580246913580247,
                    0.0129757785467128027681660899654,0.0115435183998557060200018036747,0.010335563839205985507411587231,
                    0.00930747922437673130193905817175,0.00842529604434366339128243890149,0.00766269164537562805961074359343,
                    0.00699901576340827071193113468419,0.0064178860650190202805199654601,0.00590617283950617283950617283951,
                    0.00545325443786982248520710059172,0.00505046405647861804873517440786,0.00469067370889828267841201409691,
                    0.0043679778689121308452037176345,0.00407745041910717693515949560341,0.00381495612851839005151526830334,
                    0.00357700312174817898022892819979,0.00336062646668707274767880828487,0.00316329560326624392892611409965,
                    0.00298284019490149000776781300756,0.0028173903306178438453570728703,0.00266532799065331597864130396663,
                    0.00252524741556709813054800701727,0.0023959225607069914193999711437,0.00227628022499817371612243407115,
                    0.00216537775133848899464604402142,0.00206238443115585406172075104967,0.0019665659264927852838950214623,
                    0.00187727116288009153931765662923,0.00179392125520071648017775963904,0.00171600011409575226700480498702,
                    0.00164304644772502248491948644529,0.00157464692699338843898976689078,0.00151043032481322082876990554347,
                    0.0014500624739691795085381091212
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    2.04115226337448559670781893004,-0.329218106995884773662551440329
                  },0),
                  // polAQqPS_reg as^3 LM^0 NF^1 [below 0.25] y=x H[0, y]^4
                  ome_x<double>({
                    0.493827160493827160493827160494,0.493827160493827160493827160494
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^0 NF^1 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^0 NF^1 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^1 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    7.84295260915592648171582532265,34.9198836567285832430468934658,41.4653448616353754398652072768,
                    55.1523295439312812285181991772,141.08454606263039907650509187,250.373062587028497294597496266,
                    517.213729549541740069738144948,961.777023555803252783200059685,1925.52540732453905108106146451,
                    3654.65212171439000443954819961,7252.42097774845664639363783161,13918.6617297793391513469864279,
                    27534.8630706213172730681895304,53211.3757453567893835550155811,105150.100309393222738409114365,
                    204170.992297567610564598648469,403347.607887508688101041176911,785913.001297401507863417424406,
                    1.55275475349709811971873293841e6,3.03359446352784678086129633996e6,5.99521313480305783933303063761e6,
                    1.17376563916519606574274413405e7,2.32049927863397341692975795489e7,4.55104922870341231698162144263e7,
                    9.00073195286398467545971955296e7,1.7678144041090204552567316934e8,3.49761224382722411982041946575e8,
                    6.87803532343535046640424123398e8,1.36133455748493925548134052338e9,2.67989307181009347054056999424e9,
                    5.30612279195679329312074820944e9,1.04551606604068879669598726887e10,2.07082038406591869199040830898e10,
                    4.08365224312201583775521858118e10,8.09104064985300054246040999247e10,1.59670295745962760515938358328e11,
                    3.16457697498939226220531421813e11,6.2490770626306785947350583648e11,1.23889796308613294311810153432e12,
                    2.44787026681503176353628142907e12,4.85432411509073442605912580154e12,9.59644848045971622182680763844e12,
                    1.90355156185196993028459291162e13,3.76491257579274423821201878576e13,7.46992456489775138983314422036e13,
                    1.47807761058267197917562449719e14,2.93332169730717322225833253559e14,5.80652119595733053721479101306e14,
                    1.15258766123064401934514375312e15,2.28240117938316146213569256508e15,4.53148132723617769940188188776e15
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    23.8928966807258142123184800461,-4.14814814814814814814814814815,3.05953396998035135564250658533,
                    4.14747843757765426449858800095,4.41262344999611977193128065961,4.45421783895653907157025284201,
                    4.41903041451101531587818947887,4.35511165595811823671854679208,4.28089654252101619193291298645,
                    4.20414919689769914982501686844,4.12829703399508263413170769192,4.05485278459730024557826165375,
                    3.98443504122676764662195639746,3.91723060752967152245110640343,3.85321567911858162826207451206,
                    3.79226594937386181991757032242,3.73421289599034332026193571993,3.67887292482751501173880388804,
                    3.62606239613235869036439182564,3.57560514285019728730343021176,3.5273359426637839159429480824,
                    3.48110180301034741926696643905,3.43676207705658463194016926797,3.39418797531588863193338046347,
                    3.35326178806300213690448363413,3.31387599398680654151675999892,3.27593235131011473077809329626,
                    3.23934102235403721395218632343,3.20401975662879286746298940661,3.16989314280045857198676414952,
                    3.13689193164234993774328700398,3.10495242762912671010412520996,3.07401594459164432865662539156,
                    3.04402831988946137881394985288,3.01493948132347498301292959744,2.98670306117543519726881120789,
                    2.95927605212993061921366241992,2.93261850029397384691566055263,2.90669323101401257145267157719,
                    2.88146560366360742939722825349,2.85690329201814265134022007753,2.83297608723710143856658244185,
                    2.80965572083699253974556556278,2.7869157053596897997033068515,2.76473119072426584026586740709,
                    2.74307883449872504304072990541,2.72193668454500705630412824532,2.70128407267983601152675121318,
                    2.68110151815881609463348923463,2.66137063993471081739991728888
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    16.1746751749536431367256518846,-3.55555555555555555555555555556,-3.93202478396945854900457257608,
                    -3.36412354940155731443667134151,-3.10316798458485837311646099749,-2.95282970371877671574686793741,
                    -2.84579173731684500971801975209,-2.75863004909788411670792097668,-2.6822869912643202971761908988,
                    -2.61287834341422942945428890015,-2.54855682161091595849265131822,-2.4883404870718314452891013846,
                    -2.43164097260347374055724071135,-2.37806146907009167053154553095,-2.32730563252334018003183339327,
                    -2.279134562779881319627087004,-2.23334553664522348580955114504,-2.18976095137008975597924072636,
                    -2.14822221654937642617927511632,-2.10858611928012589797511475462,-2.0707224672585703262623218547,
                    -2.03451241951753725764018064805,-1.99984720734185318560990077807,-1.96662709236512372812325298936,
                    -1.93476048121694303840546022132,-1.90416315278740968424717322646,-1.87475757298423287673479937155,
                    -1.84647228160449921583337489548,-1.8192413410714915701866932134,-1.79300383955487128222052596111,
                    -1.76770344255414467028415534676,-1.74328798797125720856985627309,-1.71970912032955766243907441458,
                    -1.69692196026537769121340647485,-1.67488480580067710464203833994,-1.65355886223725848140168954489,
                    -1.6329079978121242386869740794,-1.61289852252734736136994581915,-1.59349898781970724735775336399,
                    -1.57468000496682475836748283809,-1.55641408033850320445695356688,-1.53867546579522733582093518109,
                    -1.52144002271116479962264219405,-1.50468509825756205087458523917,-1.48838941272524857367870078921,
                    -1.47253295679324601954042167,-1.45709689776543173626527362382,-1.44206349390002351176794303233,
                    -1.42741601604848549004713378833,-1.41313867590239309588892062625
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75] y=1-x H[0, y]^2
                  ome_x<double>({
                    1.58024691358024691358024691358,0,0.23045267489711934156378600823,0.378600823045267489711934156379,
                    0.435555555555555555555555555556,0.453004115226337448559670781893,0.452842865541278239690938103637,
                    0.44459561602418745275888133031,0.432693187014174668495656149977,0.419308903259520543471160755111,
                    0.405544623726441908260090078272,0.391965186577981190775803570416,0.378854995379211903428427644952,
                    0.366347748032729717711402693088,0.354494809521264547719574174601,0.34330244515429700614885800071,
                    0.332752604523077418117787206599,0.322814723703270843259736420487,0.313452488535420035710723443701,
                    0.304627709118502665838497678159,0.296302510644247338925210073669,0.288440531829753547148639156734,
                    0.281007535137674634795468277331,0.273971668810929756577541111711,0.267303524958014122100809407311,
                    0.260976081057997042134051981117,0.254964578003120083156208051568,0.249246366923587560879590064252,
                    0.24380074420384131776205264694,0.238608786159438180813311862388,0.233653189918726147701584061791,
                    0.228918124003234570128851081638,0.224389090224232905834324011727,0.220052797374940683419168050948,
                    0.215897046525451938785036788615,0.211910627348144175708480948776,0.208083224705607943895919984442,
                    0.20440533465106337522653799677,0.200868188978162356637691276187,0.197463687484499348363120807707,
                    0.194184337162950279240844277584,0.191023197595713460221948658324,0.187973831890559368037289476534,
                    0.185030262563027125261633808656,0.182186931829655820258081088827,0.179438665834480971719672873044,
                    0.176780642383359631874934791434,0.174208361808060742254437148564,0.17171762062458884739510320369,
                    0.169304487688170575551687629553
                  },1),
                  // polAQqPS_reg as^3 LM^0 NF^1 [above 0.75] y=1-x H[0, y]^3
                  ome_x<double>({
                    0.197530864197530864197530864198,0,-0.0658436213991769547325102880658,-0.0658436213991769547325102880658,
                    -0.0592592592592592592592592592593,-0.0526748971193415637860082304527,-0.0470311581422692533803644914756,
                    -0.042328042328042328042328042328,-0.0384087791495198902606310013717,-0.0351165980795610425240054869684,
                    -0.0323232323232323232323232323232,-0.0299289188178077066965955854845,-0.0278569167458056346945235834125,
                    -0.026048026048026048026048026048,-0.0244562022339800117577895355673,-0.023045267489711934156378600823,
                    -0.0217864923747276688453159041394,-0.0206568223997417897200032276285,-0.0196375712944913724640820157389,
                    -0.0187134502923976608187134502924,-0.0178718400940623162845385067607,-0.0171022393244615466837689059911,
                    -0.0163958424827990045381349729176,-0.0157452138128466630882089819288,-0.0151440329218106995884773662551,
                    -0.0145868945868945868945868945869,-0.014069149871619007421476557279,-0.0135867790188777843098830753152,
                    -0.0131362889983579638752052545156,-0.0127146303391514119483468142472,-0.0123191291650073012080180538962,
                    -0.01194743130227001194743130227,-0.0115974560419004863449307893752,-0.0112673576725864307563653968883,
                    -0.0109554933084344849050731403673,-0.0106603958455810307662159514011,-0.0103807511214918622326029733437,
                    -0.0101153785364311680101153785364,-0.00986321454157711467652988120824,
                    -0.00962329851218740107628996517885,-0.00939476061427280939476061427281,
                    -0.0091768113448330250498272178489,-0.00896873248294436924927881000232,
                    -0.00876986923498551405528149714196,-0.00857962339443820925302406783888,
                    -0.00839744736685155364704479036202,-0.00822283893514235789906465207113,
                    -0.00805533666053760616408370545486,-0.00789451583102376753170403964055,
                    -0.00773998488284202569916855631141
                  },1)
                },0)
              )
            }
          )
        },0),
        // polAQqPS_reg as^3 LM^1
        ome_nf<double>({
          // polAQqPS_reg as^3 LM^1 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    4960.74591908603897856288603286,-5382.39921402087715840078535447,387.613108610602396954654318224,
                    24.7823669497297868541598087239,-1.49537412747521027263863186,-1.11955665806242650472645040307,
                    1.16525750828886549739212614499,-0.69716550957431123874903965167,1.10029745116006739724122413146,
                    -0.246116635870548492048563439258,0.854413741505611405531504037154,-0.0389189473670088787485878335671,
                    0.659911061048661448844177985844,0.0527242819716203765138156093303,0.520397675679796258158120032339,
                    0.0923213643712373317842868987126,0.420038194014227934872826600902,0.107712988783970084197615724383,
                    0.346244416517444483994612971031,0.111515473307882178330826974013,0.290636357217986320563955661389,
                    0.109722121366720504305357638147,0.247756294924655765829743217364,0.105296650158790636157338671505,
                    0.214003999178055731946292306319,0.09974684358624680122187230251,0.186951664319875798287554289616,
                    0.0938507857292094717447386198257,0.164922829573318284898151401064,0.0880084138086708364226053914665,
                    0.146733092222917948631741105551,0.0824188286602554569087929101633,0.131527771923675900386359631761,
                    0.0771728365322641277894590516166,0.118678091582779372132387896555,0.0723026031062747400001133637371,
                    0.107713297385992519203363241594,0.0678088690193823224491688217014,0.0982753141477918037705184700432,
                    0.0636760888030001532153317064947,0.0900878355262432917205116954424,0.0598809160887862619286347361299,
                    0.0829348538258525148009392772526,0.0563969535399936325257549442962,0.0766454850607193088133776281608,
                    0.0531973762694522908270632530199,0.0710830701404002583716099541817,0.0502563337144354929609393140465,
                    0.0661372307230456493365982210652,0.047549647623205861793102032139,0.0617179992929347339285277924576
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    2322.34558398732767322841787926,2076.86921283999390889951430717,-155.111111111111111111111111111,
                    38.6666666666666666666666666667,0.111111111111111111111111111111,22.0168888888888888888888888889,
                    -0.359374485596707818930041152263,12.6545969357760740980695629222,-0.506349206349206349206349206349,
                    8.19661636945587562871513488797,-0.480108694232151022274479064603,5.76236375561995396706140507793,
                    -0.420601204959943864137313785309,4.28786947908140106255381293733,-0.362098795621317055926402623661,
                    3.32509763364487476354445364272,-0.311816121806862547603288344029,2.66026474359595670403730652051,
                    -0.270122707985805721803021316615,2.18093971574814683235507876708,-0.235801429685960958741247413065,
                    1.82334648676998950441660859161,-0.207463689283153330915396449164,1.54907033468366821380947025687,
                    -0.183904595946749802664348624877,1.33381953382366591860915906324,-0.164156681515828144942737444058,
                    1.1616038415649181503475677845,-0.14746289140742779034676420363,1.02153694582737032377409134571,
                    -0.133234602675647699118769720227,0.905991875706154852011551160027,-0.121013242465926467493548850252,
                    0.809491680978171804687968415909,-0.110439471115111841731720209563,0.728018015097871758452967849895,
                    -0.101229578542592555217516403824,0.658566605255080727986646091297,-0.0931577208546749494490336615313,
                    0.598853574216380918820707449284,-0.0860426131496741842421229262417,0.54711670487430544851308624314,
                    -0.0797375428540188022683692788836,0.501978047706984917742561894417,-0.0741228372407992527179132549297,
                    0.46234710050857867520736482449,-0.0691001439105876625027519839961,0.427351392266333579826477082698,
                    -0.064588055266151738279821202412,0.396285931197957351382595643222,-0.0605187349852717867216870444591
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    587.877163957782226330505141038,-735.871837292472130747723255405,24.,-12.4444444444444444444444444444,
                    2.33333333333333333333333333333,-4.76,0.853333333333333333333333333333,-2.37641723356009070294784580499,
                    0.443877551020408163265306122449,-1.41049382716049382716049382716,0.272592592592592592592592592593,
                    -0.930909090909090909090909090909,0.1845730027548209366391184573,-0.659434582511505588428665351742,
                    0.133317232218331119430020528922,-0.49124716553287981859410430839,0.100833333333333333333333333333,
                    -0.37997404844290657439446366782,0.0789439958990132000512623349994,-0.302588830751342293355220409699,
                    0.0634903047091412742382271468144,-0.246621315192743764172335600907,0.0521729352898184067015235846405,
                    -0.204846193504038494586698745489,0.0436357908002520478890989287965,-0.172844444444444444444444444444,
                    0.0370366863905325443786982248521,-0.147791008189868588728987589386,0.031830015957000083984210968338,
                    -0.127811885753112184231599893227,0.0276496234641300039635354736425,-0.111624465256098970979303965776,
                    0.024242325702393340270551508845,-0.098327020202020202020202020202,0.0214285033410544577578235961375,
                    -0.0872706729750723818939340442059,0.0190778533635676492819349962207,-0.0779788797806815824833842851861,
                    0.0170939825053772796529403551939,-0.0700953047000351496409455071292,0.015404339250493096646942800789,
                    -0.0633491969066032123735871505057,0.0139534695496282986722351046308,-0.0575318643772634346689820691211,
                    0.0126983985089103334838130059134,-0.052480359147025813692480359147,0.0116054050269551214730798851782,
                    -0.0480659546228224286109154763851,0.0106477289874754791006488607213,-0.0441858716275625896617150261465,
                    0.00980391503540191586838817159517
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    136.888888888888888888888888889,144.592592592592592592592592593
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^0 [below 0.25] y=x H[0, y]^4
                  ome_x<double>({
                    16.,-8.
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^1 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^1 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    103.800122100827762102285022108,127.669934037170021735493802064,-486.712425339617272748729865448,
                    -877.213740819456017105942500925,-1294.35605183825365291707261512,-2355.92251800694625990904826804,
                    -3885.24854291952640243481649054,-7042.21380130185052292228404121,-11751.9836603616405617295294863,
                    -21059.2872068371472897771878639,-35092.8921760721631717382074515,-62228.1276070693598343421060249,
                    -102665.543149595231520334488147,-179555.819421148112323442270097,-289972.60012677740995502338685,
                    -495982.525705329386233983141274,-768380.345200082361292188349365,-1.26079641193264338074510802186e6,
                    -1.78681239890076106420824303123e6,-2.65796163948188541854760737996e6,-2.86782543175857863921855954944e6,
                    -2.66990639372796561219608882929e6,2.91301341103674103464990900432e6,1.61753061727799557250056111678e7,
                    6.04553361785512696071897522917e7,1.56105840293430022337282627592e8,4.08768095233427992649032506617e8,
                    9.38009723781840208583782326626e8,2.21031316498261559413712579182e9,4.83538964956838972177663685323e9,
                    1.08360275731001842661888304394e10,2.31072292091241064017155749807e10,5.0300587610980672664175442784e10,
                    1.05589209525332900285871963617e11,2.25583626011367301484805207588e11,4.6857033954812396394658874971e11,
                    9.88166717341993645856398493877e11,2.03725471965089612757734723333e12,4.25602488949224742312595046251e12,
                    8.72591991444228915525227498996e12,1.81000212967505252007549333339e13,3.69526647264323776591419220965e13,
                    7.62279349953487295770869992451e13,1.55109672154443125845396632146e14,3.18567751534313888527230302047e14,
                    6.46507931883226284546052351588e14,1.3231078209560607964487572473e15,2.67935624912389989379626781519e15,
                    5.46745480309630834407181780421e15,1.10521908219534286346340306533e16,2.2498241582502738471620453729e16
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    402.651037670005750858753265306,-139.890754614508411737587793184,-84.7840312165969484315359746511,
                    -48.3945204191682185930807843304,-41.8822095892336056895027330343,-40.9689848863807855781348708652,
                    -40.4702496762458077624328334117,-39.5062834864850453564119990026,-38.0923089266920773745919209632,
                    -36.3841063996629440104244587342,-34.5190437973903820186424800275,-32.5938360243941459745075926977,
                    -30.6711992249734429688779221249,-28.7898557936662980713163056331,-26.9725635758298335300880702485,
                    -25.2317258718772504201445478179,-23.5731261691050729364108041759,-21.9983696886106499562987720286,
                    -20.5064696168727037021590906254,-19.0948758788149708579884685657,-17.7601417275172646990585544318,
                    -16.4983545698194072762760316484,-15.3054127292350720607152948924,-14.1772011277120080864604787043,
                    -13.1097004403063448896681805671,-12.0990524052085573487665732974,-11.1415962735916404832666168331,
                    -10.2338863544149354223316465594,-9.37269729794783719159648140341,-8.5550215652213534870904378132,
                    -7.77806206355272746131564236325,-7.03922194255637441671780096555,-6.33609287944182467292924335711,
                    -5.66644273126667209376872246647,-5.02820312534662125268134765825,-4.41945735071437760063771102991,
                    -3.83842877214162353622911066325,-3.28346989268689757393133340176,-2.75305212664757465962909743935,
                    -2.24575630235204336008802029748,-1.7602638866739034439239446735,-1.29534890582023644003842103966,
                    -0.849870526610801268076207756898,-0.422766256882179012561680791161,-0.0130457212621113843192021495563,
                    0.380215031718343021606347611921,0.757878734124913198858826574391,1.12075165575963082493011323222,
                    1.46958795256011563939169431958,1.80509364223115109113250062587
                  },1),
                  // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    106.743938132687787485135116445,37.3333333333333333333333333333,10.1800041615320543773829447243,
                    37.0195103343715605502224508971,57.5605222638973674581631687703,70.7158551810774953537582076313,
                    78.866781218212706299505616314,83.8046760366786616710667704801,86.6696403311900382304716643014,
                    88.176389616875274952454303596,88.7795049136984963570020063139,88.7741978279685414289983994612,
                    88.356227785579001256824355499,87.6578978059272762361716658633,86.7701199490185178349913482125,
                    85.7562482868663826955810274838,84.6609441231058565239061327958,83.5159763528510067117851023995,
                    82.3440896143606994991505947627,81.1616291772594090755585468315,79.9803505373185683241978714458,
                    78.8086849232239855822202601929,77.6526358129483435373358580652,76.5164214841180621425960047168,
                    75.4029403835876819813598197989,74.314111342725455174044385621,73.2511243778714613988154902834,
                    72.2146269416560843702724567693,71.2048631304676415880958171114,70.2217783067980211220044641036,
                    69.265098093467313804837597311,68.3343882396987921988314924589,67.4291001169923996114880602418,
                    66.5486053556148954364763865796,65.6922222315664982204914972233,64.8592357574758793826026189034,
                    64.0489129488404444076306985417,63.2605143804182007886922240098,62.4933028819263994177765579257,
                    61.7465500230274947397755082636,61.0195408873460566857710428772,60.3115775212970158593369123172,
                    59.6219813566029998108181562593,58.9500948387864065887172255936,58.2952824426613465493918343814,
                    57.6569312162257752554214641511,57.0344509636049775558530544733,56.427274153751054133419012084,
                    55.8348556228938042187237538285,55.2566721240782117269583161737
                  },1),
                  // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75] y=1-x H[0, y]^2
                  ome_x<double>({
                    6.22222222222222222222222222222,7.11111111111111111111111111111,7.8024691358024691358024691358,
                    3.20987654320987654320987654321,0.577777777777777777777777777778,-0.908641975308641975308641975309,
                    -1.77878558830939783320735701688,-2.30249433106575963718820861678,-2.62153635116598079561042524005,
                    -2.81446991965510484029002547521,-2.92704709431982159254886527614,-2.98707129010159313189616219919,
                    -3.01205138641036076933512830949,-3.01334611664281993952323622653,-2.99850935660459469983279507089,
                    -2.97266942933609600276266942934,-2.93936796575204879703149599343,-2.90108523721236780316621403383,
                    -2.85957769493216297361162447856,-2.81609980409393803560334438614,-2.77155277754717530627894773553,
                    -2.72658608160464405354705972561,-2.68166781228721483156484968101,-2.63713418044466949950942373899,
                    -2.59322474742701780885475415919,-2.55010779776750970720549398703,-2.50789879357881409678199812735,
                    -2.4666739171623687228951850833,-2.42648008781624232283200256853,-2.38734242225680322154664251258,
                    -2.34926982454308253817045730242,-2.31225919595371410106368893152,-2.27629861895562091481581778651,
                    -2.24136977329147717057443985192,-2.20744977375578761680272951985,-2.17451257000899427105948175055,
                    -2.14253001307833294136676470796,-2.11147266708730216080215549759,-2.08131042551841295643996056438,
                    -2.05201297703752694327761486927,-2.02355015524269346669105007073,-1.99589219868308744532338846802,
                    -1.96900994143197783544863964447,-1.94287494988980454452618944784,-1.91745961797309218292304083845,
                    -1.89273723014283629490063542739,-1.86868199964297451178403651916,-1.84526908770733507389185929334,
                    -1.82247460824103104677750213706,-1.80027562150606934868812267225
                  },1),
                  // polAQqPS_reg as^3 LM^1 NF^0 [above 0.75] y=1-x H[0, y]^3
                  ome_x<double>({
                    2.96296296296296296296296296296,0,-0.987654320987654320987654320988,-0.987654320987654320987654320988,
                    -0.888888888888888888888888888889,-0.79012345679012345679012345679,-0.705467372134038800705467372134,
                    -0.634920634920634920634920634921,-0.576131687242798353909465020576,-0.526748971193415637860082304527,
                    -0.484848484848484848484848484848,-0.448933782267115600448933782267,-0.417853751187084520417853751187,
                    -0.39072039072039072039072039072,-0.36684303350970017636684303351,-0.345679012345679012345679012346,
                    -0.326797385620915032679738562092,-0.309852335996126845800048414427,-0.294563569417370586961230236084,
                    -0.280701754385964912280701754386,-0.268077601410934744268077601411,-0.256533589866923200256533589867,
                    -0.245937637241985068072024593764,-0.236178207192699946323134728932,-0.227160493827160493827160493827,
                    -0.218803418803418803418803418803,-0.211037248074285111322148359185,-0.203801685283166764648246129728,
                    -0.197044334975369458128078817734,-0.190719455087271179225202213708,-0.184786937475109518120270808443,
                    -0.17921146953405017921146953405,-0.173961840628507295173961840629,-0.169010365088796461345480953324,
                    -0.164332399626517273576097105509,-0.159905937683715461493239271017,-0.155711266822377933489044600156,
                    -0.151730678046467520151730678046,-0.147948218123656720147948218124,-0.144349477682811016144349477683,
                    -0.140921409214092140921409214092,-0.137652170172495375747408267733,-0.134530987244165538739182150035,
                    -0.131548038524782710829222457129,-0.128694350916573138795361017583,-0.12596171050277330470567185543,
                    -0.123342584027135368485969781067,-0.120830049908064092461255581823,-0.118417737465356512975560594608,
                    -0.116099773242630385487528344671
                  },1)
                },0)
              )
            }
          ),
          // polAQqPS_reg as^3 LM^1 NF^1
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    -77.6047206853644253560835928011,84.6970826172742818318711406306,-5.33333333333333333333333333333,
                    -0.987654320987654320987654320988,-0.395061728395061728395061728395,-0.202666666666666666666666666667,
                    -0.117728395061728395061728395062,-0.0737141417413526257063672029658,-0.0484936831875607385811467444121,
                    -0.0329980185947264136564548087182,-0.0229748949419731312735427961765,-0.0162306894207720654001645737183,
                    -0.0115493854398047847695842798383,-0.008217777952601533578960710234,-0.00579806352056080349764687405069,
                    -0.00401118480634731579553952947755,-0.00267354935873454391972910491429,
                    -0.00166106622192516757955390155675,-0.000887885250779026342137228766219,
                    -0.00029339496693974335017882980159,0.000165966814217716853155049427873,
                    0.00052200622482068393766406304755,0.000798273916191519654537455539254,
                    0.00101242784921036091383083386061,0.00117785760744346014597032501768,0.00130481965725034180486536867686,
                    0.00140124278684382419863315537632,0.00147330740251057731121158585519,0.00152586741113053461646085458665,
                    0.00156276100397079826881139994652,0.00158704202598705121323227259513,0.00160115390872255007602998057645,
                    0.00160706160883166639086788815694,0.00160635253163648288577084469442,0.00160031433284916608057568075912,
                    0.00158999533154244069613717491149,0.0015762517387268910017536028205,0.00155978481265357386060087440801,
                    0.00154117026248439733454068746673,0.00152088164661225311816956777608,0.00149930908896913590334461814311,
                    0.00147677432322317946964996089568,0.00145354284069540386994605740545,0.00142983374175659474969183581461,
                    0.0014058277571115425122125109222,0.00138167380371975607055723235107,0.00135749436212625437494351907449,
                    0.00133338990181457781392579168587,0.00130944253451767278131678097767,0.00128571903901556253547189534,
                    0.00126227337240825325960887377814
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    -38.4069635186315661088422502713,-17.073630185298232775508916938,0,-0.79012345679012345679012345679,
                    -0.493827160493827160493827160494,-0.32,-0.221234567901234567901234567901,
                    -0.161249685059208868732678256488,-0.12244897959183673469387755102,-0.0960219478737997256515775034294,
                    -0.0772565157750342935528120713306,-0.0634710743801652892561983471074,-0.0530558106315682073257830833588,
                    -0.044999634743224486814230403974,-0.0386426760053133679507305880932,-0.0335399344923154446963970773495,
                    -0.0293827160493827160493827160494,-0.0259515570934256055363321799308,-0.0230870367997114120400036073495,
                    -0.020671127678411971014823174462,-0.0186149584487534626038781163435,-0.016850592088687326782564877803,
                    -0.0153253832907512561192214871869,-0.0139980315268165414238622693684,-0.0128357721300380405610399309202,
                    -0.011812345679012345679012345679,-0.0109065088757396449704142011834,-0.0101009281129572360974703488157,
                    -0.00938134741779656535682402819381,-0.00873595573782426169040743526899,
                    -0.00815490083821435387031899120682,-0.00762991225703678010303053660667,
                    -0.00715400624349635796045785639958,-0.00672125293337414549535761656974,
                    -0.0063265912065324878578522281993,-0.00596568038980298001553562601511,
                    -0.0056347806612356876907141457406,-0.00533065598130663195728260793326,
                    -0.00505049483113419626109601403455,-0.00479184512141398283879994228741,
                    -0.0045525604499963474322448681423,-0.00433075550267697798929208804283,
                    -0.00412476886231170812344150209933,-0.00393313185298557056779004292461,
                    -0.00375454232576018307863531325845,-0.00358784251040143296035551927808,
                    -0.00343200022819150453400960997404,-0.00328609289545004496983897289059,
                    -0.00314929385398677687797953378156,-0.00302086064962644165753981108694,
                    -0.0029001249479383590170762182424
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    -8.2962962962962962962962962963,-1.18518518518518518518518518519
                  },0),
                  // polAQqPS_reg as^3 LM^1 NF^1 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    -2.37037037037037037037037037037,-2.37037037037037037037037037037
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^1 NF^1 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^1 NF^1 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^1 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -7.19375204647849636625002657468,-11.3010755985181006202576305045,28.1288454947165885713776483703,
                    73.8028442403579303022480662072,119.504599286925782884939180584,229.684191310426320623845680495,
                    421.011136786001022768135277258,808.660661472225748654911717635,1531.27521663861748640110698277,
                    2949.01126002055835444553839554,5657.41652015471613015961360427,10928.110209830755842452973697,
                    21113.2392356152733031835566872,40898.4970866917982607243617754,79378.9790397425158696016489406,
                    154152.19240168626994917900857,300178.021407141857804491129102,584223.858568168392012756620316,
                    1.14053193149768869952222498979e6,2.22404051838521615978436855073e6,4.35062498638852005996745721119e6,
                    8.49801622880374685419560130224e6,1.66515169314569425461703306483e7,3.25733336260884768126887463309e7,
                    6.39164002575119994706409658733e7,1.25195533768297674957466161412e8,2.45960766464536862309013337693e8,
                    4.82333709162737331139697829094e8,9.48599683702777382716709539578e8,1.86215833281474492601330468644e9,
                    3.6656845213655923827006171408e9,7.20269403198078439932140071575e9,1.41902891649417757083267888314e10,
                    2.79060393318056095366225782944e10,5.50192337430192162830309168076e10,1.08281611823734117581432047284e11,
                    2.13628543709720690859650868752e11,4.20729765869574822715891344655e11,8.30555991147590746281183554003e11,
                    1.63678233486246399246751853385e12,3.23291570053817585322932642617e12,6.37487742722220354363948564109e12,
                    1.25977453648586137144782618388e13,2.4854541710697625480583930519e13,4.91390324550530588246000336514e13,
                    9.69967742320661180924035979781e13,1.91850280710058271537119686492e14,3.78874254418588078029876639198e14,
                    7.4967114715977408862683825156e14,1.48112354554723958472698493093e15,2.93173906043642669548292546691e15
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^1 NF^1 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^1 NF^1 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^1 NF^1 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -25.1294076852417089803470510616,3.55555555555555555555555555556,5.18305359055382068892226804933,
                    4.86206593623283303460128039501,4.54297045372066084225226346662,4.2897185926076656046357568263,
                    4.08562904790245491505581624635,3.91557710305174079165303129594,3.76976327609314284890683590791,
                    3.64194543228300358139520548931,3.5280192870731190567970220875,3.42517434551038522591196145028,
                    3.33140861104025563280737475451,3.24524460436356188752349923146,3.16555788712222052236331600129,
                    3.09146989088200846633105606257,3.02227863276790243032248785631,2.95741247664289107087513658952,
                    2.8963983562817411997216718962,2.83883934592174421798017431678,2.78439844100487564861853585181,
                    2.73278657117434148635835842795,2.68375356586243106397125104747,2.63708122439496966836942970629,
                    2.59257791585212147875827023506,2.55007431099679736260622422751,2.50941996577126592511500233212,
                    2.47048055497937958785562947869,2.43313560918586299052578674639,2.3972766459416310083178997547,
                    2.36280561352291899324296119144,2.32963358492055159904726198579,2.29767965412683954496923568385,
                    2.26686999738194624276159114001,2.23713707001015459060347282983,2.20841891552677124583824775276,
                    2.18065856833884905440670796079,2.15380353496022668397866618994,2.1278053414744995275962123166,
                    2.10261913719828278922543733814,2.07820334626111534605630665181,2.05451936023130023453435500965,
                    2.03153126605668101641342116792,2.00920560451469603530955591112,1.98751115512198486303594762395,
                    1.9664187440749351484142909417,1.94590107230567836148205749197,1.92593256116412171090205069967,
                    1.90648921359211814416384985168,1.8875484889538691376283205229
                  },1),
                  // polAQqPS_reg as^3 LM^1 NF^1 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    -9.48148148148148148148148148148,0,-1.38271604938271604938271604938,-2.27160493827160493827160493827,
                    -2.61333333333333333333333333333,-2.71802469135802469135802469136,-2.71705719324766943814562862182,
                    -2.66757369614512471655328798186,-2.59615912208504801097393689986,-2.51585341955712326082696453067,
                    -2.43326774235865144956054046963,-2.3517911194678871446548214225,-2.27312997227527142057056586971,
                    -2.19808648819637830626841615853,-2.1269688571275872863174450476,-2.05981467092578203689314800426,
                    -1.9965156271384645087067232396,-1.93688834221962505955841852292,-1.88071493121252021426434066221,
                    -1.82776625471101599503098606895,-1.77781506386548403355126044202,-1.73064319097852128289183494041,
                    -1.68604521082604780877280966399,-1.64383001286557853946524667027,-1.60382114974808473260485644387,
                    -1.5658564863479822528043118867,-1.52978746801872049893724830941,-1.49547820154152536527754038551,
                    -1.46280446522304790657231588164,-1.43165271695662908487987117433,-1.40191913951235688620950437075,
                    -1.37350874401940742077310648983,-1.34633454134539743500594407036,-1.32031678424964410051500830569,
                    -1.29538227915271163271022073169,-1.27146376408886505425088569265,-1.24849934823364766337551990665,
                    -1.22643200790638025135922798062,-1.20520913386897413982614765712,-1.18478212490699609017872484624,
                    -1.1651060229777016754450656655,-1.14613918557428076133169194995,-1.12784299134335620822373685921,
                    -1.11018157537816275156980285194,-1.09312159097793492154848653296,-1.07663199500688583031803723826,
                    -1.06068385430015779124960874861,-1.04525017084836445352662289138,-1.03030572374753308437061922214,
                    -1.01582692612902345331012577732
                  },1),
                  // polAQqPS_reg as^3 LM^1 NF^1 [above 0.75] y=1-x H[0, y]^2
                  ome_x<double>({
                    -1.77777777777777777777777777778,0,0.592592592592592592592592592593,0.592592592592592592592592592593,
                    0.533333333333333333333333333333,0.474074074074074074074074074074,0.42328042328042328042328042328,
                    0.380952380952380952380952380952,0.345679012345679012345679012346,0.316049382716049382716049382716,
                    0.290909090909090909090909090909,0.26936026936026936026936026936,0.250712250712250712250712250712,
                    0.234432234432234432234432234432,0.220105820105820105820105820106,0.207407407407407407407407407407,
                    0.196078431372549019607843137255,0.185911401597676107480029048656,0.17673814165042235217673814165,
                    0.168421052631578947368421052632,0.160846560846560846560846560847,0.15392015392015392015392015392,
                    0.147562582345191040843214756258,0.141706924315619967793880837359,0.136296296296296296296296296296,
                    0.131282051282051282051282051282,0.126622348844571066793289015511,0.122281011169900058788947677837,
                    0.11822660098522167487684729064,0.114431673052362707535121328225,0.110872162485065710872162485066,
                    0.10752688172043010752688172043,0.104377104377104377104377104377,0.101406219053277876807288571994,
                    0.0985994397759103641456582633053,0.0959435626102292768959435626102,0.0934267600934267600934267600934,
                    0.0910384068278805120910384068279,0.0887689308741940320887689308742,0.0866096866096866096866096866097,
                    0.0845528455284552845528455284553,0.0825913021034972254484449606401,0.0807185923464993232435092900209,
                    0.0789288231148696264975334742777,0.0772166105499438832772166105499,0.0755770263016639828234031132582,
                    0.0740055504162812210915818686401,0.0724980299448384554767533490938,0.0710506424792139077853363567649,
                    0.0696598639455782312925170068027
                  },1)
                },0)
              )
            }
          )
        },0),
        // polAQqPS_reg as^3 LM^2
        ome_nf<double>({
          // polAQqPS_reg as^3 LM^2 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    300.346975521764727493252106361,-238.899836164103209985820451472,-37.3333333333333333333333333333,
                    -9.81069958847736625514403292181,-1.94650205761316872427983539095,-3.608,
                    -0.947621399176954732510288065844,-1.57352817670277987738305198623,-0.56499028182701652089407191448,
                    -0.851070720926688004877305288828,-0.373426002133821063862216125591,-0.526072627097420485850237916354,
                    -0.264465901747811756994493449957,-0.355072667367210430984263988866,-0.196844092991901227621551253963,
                    -0.254892752162593432434702275972,-0.152095164609053497942386831276,-0.191470121785738516860031209716,
                    -0.120989037944892865783858773818,-0.148905005097673767055919129102,-0.098509598094960392671429265685,
                    -0.119011001931636852271772906694,-0.0817456175489195859878568223614,-0.0972402781550544059484717965489,
                    -0.0689154550475701494395046169883,-0.0809086090534979423868312757202,-0.0588800776816871491427704445456,
                    -0.0683515457728149003201785060518,-0.0508841457147620033441943367322,-0.0584938063133736827380917515229,
                    -0.0444109489419351333420062036333,-0.0506162954453750704669140139957,-0.0390974439637810076868853009298,
                    -0.0442237010350675410363197323712,-0.0346825618897596000751979988118,-0.0389660307029386148923237114915,
                    -0.0309747029780623465010800191786,-0.0345904044768073962433487123342,-0.0278306973942136180656406118231,
                    -0.0309104902063528913617851698984,-0.0251418357618226125786941040064,-0.0277865817385122096313170151333,
                    -0.02282438114820525376289689047,-0.0251122920828952503112769724015,-0.0208129927248166954073612118275,
                    -0.022805468783906358303528660295,-0.0190560835365303769856190371644,-0.0208018690100878393404412745574,
                    -0.0175124889318791173122315761444,-0.0190506774012199992115767949911,-0.0161490393968499519757923994254
                  },0),
                  // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    -214.338396450899902926426613333,657.546497439006414275375861331,0,12.2469135802469135802469135802,
                    -1.23456790123456790123456790123,4.96,-0.553086419753086419753086419753,2.49937011841773746535651297556,
                    -0.306122448979591836734693877551,1.48834019204389574759945130316,-0.193141289437585733882030178326,
                    0.983801652892561983471074380165,-0.132639526578920518314457708397,0.697494338519979545620571261597,
                    -0.0966066900132834198768264702331,0.519868984630889392794154698917,-0.0734567901234567901234567901235,
                    0.402249134948096885813148788927,-0.0577175919992785301000090183737,0.320402479015385550729759204162,
                    -0.0465373961218836565096952908587,0.261184177374653565129755605946,-0.0383134582268781402980537179671,
                    0.21696948866565639206986517521,-0.0320894303250951014025998273005,0.183091358024691358024691358025,
                    -0.0272662721893491124260355029586,0.156564385750837159510790406644,-0.0234533685444914133920600704845,
                    0.135407313936276056201315246669,-0.0203872520955358846757974780171,0.118263639984070091596973317403,
                    -0.017885015608740894901144640999,0.104179420467299255178043056831,-0.0158164780163312196446305704982,
                    0.0924680460419461902408022032342,-0.0140869516530892192267853643515,0.0826251677102527953378804229655,
                    -0.0126262370778354906527400350864,0.0742735993819167340013991054548,-0.0113814011249908685806121703558,
                    0.0671267102914931588340273646639,-0.0103119221557792703086037552483,0.0609635437212763438007456653314,
                    -0.00938635581440045769658828314613,0.0556115589112222108855105488102,
                    -0.00858000057047876133502402493511,0.0509344398794756970325040798041,
                    -0.00787323463496694219494883445389,0.0468233400692098456918670718476,-0.007250312369845897542690545606
                  },0),
                  // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    -193.777777777777777777777777778,-234.666666666666666666666666667
                  },0),
                  // polAQqPS_reg as^3 LM^2 NF^0 [below 0.25] y=x H[0, y]^3
                  ome_x<double>({
                    -26.0740740740740740740740740741,16.5925925925925925925925925926
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^2 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^2 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -53.9268170072919716203154023017,-176.116204211068667158432354328,-184.641293745799807872807987151,
                    -328.46450616155783379368721733,-724.842947499975313815579477659,-1239.4432954625004049030504908,
                    -2255.6919960450385326642385477,-3773.11789748609550619210226022,-6694.46076349636257409654400343,
                    -11260.082435415561907506116692,-19908.4221785250662719609818566,-33672.0086927228078649200424869,
                    -59490.9231140857773171915949261,-100789.487900972382529971978625,-177684.182487665069774540737294,
                    -300072.7898319701019998897363,-526163.130402062812124026870511,-880310.504717102985930971551401,
                    -1.52761453010846936707626549847e6,-2.50943854348430987299886537561e6,-4.2737015547157364556801675094e6,
                    -6.78644758131386403979136150179e6,-1.11577015955345955654785045194e7,-1.65524778307712779711510065004e7,
                    -2.51861068240530821574458883724e7,-3.12818418995433671600531713092e7,-3.63396544820238564811599662764e7,
                    -8.77537043003599948762811879383e6,7.00422282529535500819347730451e7,3.55945996523671977874110802463e8,
                    1.00664571816277113114181917821e9,2.74822929260633434218494711933e9,6.49467823075504094693202378607e9,
                    1.55089283548529287223355501782e10,3.44170995831663534169343766639e10,7.75246102040194773899554088178e10,
                    1.66679362766446318640961665436e11,3.63494258826843211594510367058e11,7.66939524578921281647893793477e11,
                    1.63887464963699573510935346788e12,3.41544840972706797360463220823e12,7.19824589357260255344659245176e12,
                    1.48724151484363286173460120647e13,3.10348356629924025784004904172e13,6.37182212850544023842032507927e13,
                    1.31981297455867256829514929907e14,2.69682549428987480392021440752e14,5.55423182688983446300117660146e14,
                    1.13071549236076995637364420503e15,2.31831058371192773021372382962e15,4.70568171602610121324345461555e15
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^2 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^2 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -133.642419197417816607207132445,-1.77777777777777777777777777778,9.48574467074421047400731575318,
                    -13.0821565638236907605605854814,-22.4643112778116920548748973036,-25.4695112592894052833455877267,
                    -25.7197733749324338555948416494,-24.792346301989455020299907749,-23.3884694398123008958453307528,
                    -21.8300790327459448900532411221,-20.267163768103387993608937964,-18.7683957613420985019551563804,
                    -17.3627885514710823831199016405,-16.0597041511224389111744358422,-14.8588050027953476001683348366,
                    -13.7551323534486521093607808873,-12.741736780434926633658173808,-11.8110435912156678583751034082,
                    -10.9555501721156309796880476244,-10.1681656426760352120893980276,-9.44235803138087456045128435805,
                    -8.77219856705374460399696923369,-8.15235230111781956656955301517,-7.57804227043247176378358571668,
                    -7.04500222108774895017611450924,-6.54942608020845428238731296791,-6.08791850445114959252604890765,
                    -5.65744865219682869269914404502,-5.25530810038272462216411385995,-4.87907314960642455539327927177,
                    -4.52657139993730973557322498139,-4.19585230036541370427769052558,-3.88516129874758870503140023465,
                    -3.59291720071984062559871374914,-3.31769235857536235383025828536,-3.05819533899095825471564462339,
                    -2.81325575277218522687174334009,-2.58181096545696427318876381483,-2.36289444196822624534187989118,
                    -2.15562551020188307123747844268,-1.95920035693007680563618046344,-1.77288409458942792763821223284,
                    -1.5960037595476541433116562507,-1.42794212155521961959224364185,-1.26813220059457977225368529841,
                    -1.11605240154828413427664069206,-0.971222189314529125584186833693,-0.833198237475683104403031748907,
                    -0.7015709926138285374055446658,-0.575961604080024588690519613324
                  },1),
                  // polAQqPS_reg as^3 LM^2 NF^0 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    -40.8888888888888888888888888889,-14.2222222222222222222222222222,6.51851851851851851851851851852,
                    16.5925925925925925925925925926,20.2666666666666666666666666667,21.412345679012345679012345679,
                    21.4885361552028218694885361552,21.0920634920634920634920634921,20.4888888888888888888888888889,
                    19.8050088183421516754850088183,19.1023376623376623376623376623,18.4116295227406338517449628561,
                    17.7478044589155700266811377922,17.1174941460655746370032084318,16.5229241775273521305267337013,
                    15.9639805462027684249906472129,15.4393373511020569844099255864,14.9470821923980965375300887283,
                    14.4850652632329045584406208188,14.0510931517742663253499166812,13.6430339947426782160675718099,
                    13.2588715475879911031962283085,12.8967297517818204561801522117,12.5548803808327297356776425292,
                    12.2317411770662544656352705888,11.925868870663594044937428973,11.6359496830124949157967908311,
                    11.3607888449682334792951630584,11.0993000143753117553700676558,10.8504950860485965310573990066,
                    10.6134746509176259357706246477,10.3874192190605915232666073764,10.1715812374472565751664295397,
                    9.96527788505663608792611722233,9.76788460185855237547844230411,9.57882929538980616216856389455,
                    9.39758716397822838957757514806,9.22367607573834602188628090835,9.05665244520364149788222653056,
                    8.89610755358588294323673524227,8.74166426337449376764852865008,8.59297408283666233264125282503,
                    8.44971454067907331438759626488,8.31158683553673665381316220479,8.17831372899275923904202423574,
                    8.04963765448157218807883054683,7.92531901769151510932157793118,7.80513466698090036541266758132,
                    7.68887651488287226813743028941,7.57635029402996162324773480926
                  },1)
                },0)
              )
            }
          ),
          // polAQqPS_reg as^3 LM^2 NF^1
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^2 NF^1 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^2 NF^1 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^1 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    12.8824941049947954001001374813,-14.3767651542644638591591217779,0,0.395061728395061728395061728395,
                    0.246913580246913580246913580247,0.16,0.110617283950617283950617283951,0.0806248425296044343663391282439,
                    0.0612244897959183673469387755102,0.0480109739368998628257887517147,0.0386282578875171467764060356653,
                    0.0317355371900826446280991735537,0.0265279053157841036628915416794,0.022499817371612243407115201987,
                    0.0193213380026566839753652940466,0.0167699672461577223481985386747,0.0146913580246913580246913580247,
                    0.0129757785467128027681660899654,0.0115435183998557060200018036747,0.010335563839205985507411587231,
                    0.00930747922437673130193905817175,0.00842529604434366339128243890149,0.00766269164537562805961074359343,
                    0.00699901576340827071193113468419,0.0064178860650190202805199654601,0.00590617283950617283950617283951,
                    0.00545325443786982248520710059172,0.00505046405647861804873517440786,0.00469067370889828267841201409691,
                    0.0043679778689121308452037176345,0.00407745041910717693515949560341,0.00381495612851839005151526830334,
                    0.00357700312174817898022892819979,0.00336062646668707274767880828487,0.00316329560326624392892611409965,
                    0.00298284019490149000776781300756,0.0028173903306178438453570728703,0.00266532799065331597864130396663,
                    0.00252524741556709813054800701727,0.0023959225607069914193999711437,0.00227628022499817371612243407115,
                    0.00216537775133848899464604402142,0.00206238443115585406172075104967,0.0019665659264927852838950214623,
                    0.00187727116288009153931765662923,0.00179392125520071648017775963904,0.00171600011409575226700480498702,
                    0.00164304644772502248491948644529,0.00157464692699338843898976689078,0.00151043032481322082876990554347,
                    0.0014500624739691795085381091212
                  },0),
                  // polAQqPS_reg as^3 LM^2 NF^1 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    8.2962962962962962962962962963,1.18518518518518518518518518519
                  },0),
                  // polAQqPS_reg as^3 LM^2 NF^1 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    3.55555555555555555555555555556,3.55555555555555555555555555556
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^2 NF^1 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^2 NF^1 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^1 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    2.16778988762269883836599604738,9.99314688979544764415910638718,12.2284636050007036598598938756,
                    14.9754457285199258382383062696,36.0208046092616047921255721778,62.7905072991150516063265168142,
                    128.771028385784532912432758983,232.062289421387456055217692052,458.174876220550009279223089974,
                    841.814355229667158155490636326,1644.48180036378821633594812342,3062.07093376098641110044463689,
                    5964.6786738340339789808828638,11215.4508264713841026776314863,21842.3541616222814321451504221,
                    41377.1128529907732748381554526,80645.2619650547226256964290736,153666.122751297730082731375106,
                    299836.384387303765244767058041,574022.630419048377182016987114,1.12140530688041156846516416848e6,
                    2.15521078964263256115949659361e6,4.21544487014732421070902902133e6,8.12790175109655071317105449874e6,
                    1.59156858873248643446187406443e7,3.07719964629696010288979215266e7,6.03200919510923666042048132577e7,
                    1.169013940178460477441486006e8,2.29377206253208194508575277593e8,4.45451533360574457296728528988e8,
                    8.74825405053803835024048261829e8,1.7019787387896529278168042739e9,3.34529088174670444037710000705e9,
                    6.51866047708007108776378946006e9,1.28223648340148220932542310024e10,2.50212194117679469204758803486e10,
                    4.92518060004291243147725431231e10,9.62308555368216940389567474967e10,1.89543300332005050161931603525e11,
                    3.70764333219627827909918901656e11,7.30720482162662906198154148843e11,1.43084076572363488022867112894e12,
                    2.82153106085925131737078374329e12,5.53012418554679002939269609706e12,1.09106711046632092424115573685e13,
                    2.14030802862459808955452669198e13,4.22474442666209983578228513941e13,8.29409751137945150360936602765e13,
                    1.63789816990575338008527996748e14,3.21789788329013206440528493371e14,6.35727436489857490492750663954e14
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^2 NF^1 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^2 NF^1 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^2 NF^1 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    5.92592592592592592592592592593,0,0.79012345679012345679012345679,1.08641975308641975308641975309,
                    1.19111111111111111111111111111,1.21679012345679012345679012346,1.20735701688082640463592844545,
                    1.18185941043083900226757369615,1.14924554183813443072702331962,1.11394865765236135606505976876,
                    1.0782316673225764134855043946,1.04325603315502305401295300285,1.00960173096925233677370429507,
                    0.977533496214814896133577452259,0.947142780793574444368095161746,0.918425853981409536965092520648,
                    0.891327786656506379689770693231,0.865767612711095986759193218247,0.841652830941842945536389673047,
                    0.818887744160678819306813440755,0.797378179451008582661243725669,0.777034061314280579019967598365,
                    0.757770705072620384742465872021,0.739509349357945049330746978625,0.7221772415407090329690948886,
                    0.705707467368599936395581321392,0.690038641743695017674870676874,0.675114531967475478410942802084,
                    0.660883656572309218640813477231,0.647298885305577794594190515893,0.6343170548861228168923448422,
                    0.62189860833760288948240247604,0.610007261489962262039243844179,0.598609697672698846954684618504,
                    0.587675290099310096106226498573,0.577175850578348150988156656131,0.567085402738338238987953039305,
                    0.557379977764539844793052501818,0.548037430614385340336239485763,0.539037274740735973352931712332,
                    0.530360533466509638700786517728,0.521989606294559344020901791999,0.513908148586554769278265497414,
                    0.506100963194069801762559912599,0.49855390276827002627209495962,0.49125378160834877319797194619,
                    0.484188296031691979294947966864,0.477345952360229485731952638567,0.47071600171776158540289898998,
                    0.464288380922811509153096115555
                  },1),
                  // polAQqPS_reg as^3 LM^2 NF^1 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    3.55555555555555555555555555556,0,-1.18518518518518518518518518519,-1.18518518518518518518518518519,
                    -1.06666666666666666666666666667,-0.948148148148148148148148148148,-0.846560846560846560846560846561,
                    -0.761904761904761904761904761905,-0.691358024691358024691358024691,-0.632098765432098765432098765432,
                    -0.581818181818181818181818181818,-0.538720538720538720538720538721,-0.501424501424501424501424501425,
                    -0.468864468864468864468864468864,-0.440211640211640211640211640212,-0.414814814814814814814814814815,
                    -0.39215686274509803921568627451,-0.371822803195352214960058097313,-0.353476283300844704353476283301,
                    -0.336842105263157894736842105263,-0.321693121693121693121693121693,-0.30784030784030784030784030784,
                    -0.295125164690382081686429512516,-0.283413848631239935587761674718,-0.272592592592592592592592592593,
                    -0.262564102564102564102564102564,-0.253244697689142133586578031022,-0.244562022339800117577895355673,
                    -0.236453201970443349753694581281,-0.22886334610472541507024265645,-0.221744324970131421744324970131,
                    -0.21505376344086021505376344086,-0.208754208754208754208754208754,-0.202812438106555753614577143989,
                    -0.197198879551820728291316526611,-0.19188712522045855379188712522,-0.186853520186853520186853520187,
                    -0.182076813655761024182076813656,-0.177537861748388064177537861748,-0.173219373219373219373219373219,
                    -0.169105691056910569105691056911,-0.16518260420699445089688992128,-0.161437184692998646487018580042,
                    -0.157857646229739252995066948555,-0.1544332210998877665544332211,-0.151154052603327965646806226516,
                    -0.14801110083256244218316373728,-0.144996059889676910953506698188,-0.14210128495842781557067271353,
                    -0.139319727891156462585034013605
                  },1)
                },0)
              )
            }
          )
        },0),
        // polAQqPS_reg as^3 LM^3
        ome_nf<double>({
          // polAQqPS_reg as^3 LM^3 NF^0
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^3 NF^0 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^3 NF^0 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^0 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    337.837818466983982975141746173,-335.347366718201202210043439012,0,-0.658436213991769547325102880658,
                    -0.411522633744855967078189300412,-0.266666666666666666666666666667,-0.184362139917695473251028806584,
                    -0.134374737549340723943898547073,-0.102040816326530612244897959184,-0.0800182898948331047096479195245,
                    -0.0643804298125285779606767261088,-0.0528925619834710743801652892562,-0.0442131755263068394381525694657,
                    -0.0374996956193537390118586699783,-0.032202230004427806625608823411,-0.0279499454102628705803308977912,
                    -0.0244855967078189300411522633745,-0.021626297577854671280276816609,-0.0192391973330928433666696727912,
                    -0.0172259397320099758456859787184,-0.0155124653739612188365650969529,-0.0140421600739061056521373981691,
                    -0.0127711527422927134326845726557,-0.011665026272347117853218557807,-0.0106964767750317004675332757668,
                    -0.00984362139917695473251028806584,-0.00908875739644970414201183431953,
                    -0.00841744009413103008122529067976,-0.00781778951483047113068669016151,
                    -0.00727996311485355140867286272416,-0.00679575069851196155859915933902,
                    -0.00635826021419731675252544717223,-0.00596167186958029830038154699965,
                    -0.00560104411114512124613134714145,-0.00527215933877707321487685683275,
                    -0.00497140032483581667961302167926,-0.00469565055102973974226178811717,
                    -0.00444221331775552663106883994438,-0.00420874569261183021758001169546,
                    -0.00399320426784498569899995190617,-0.00379380037499695619353739011859,
                    -0.00360896291889748165774340670236,-0.00343730738525975676953458508278,
                    -0.00327760987748797547315836910384,-0.00312878527146681923219609438204,
                    -0.00298986875866786080029626606507,-0.00286000019015958711167467497837,
                    -0.00273841074620837080819914407549,-0.00262441154498898073164961148463,
                    -0.00251738387468870138128317590579,-0.00241677078994863251423018186867
                  },0),
                  // polAQqPS_reg as^3 LM^3 NF^0 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    169.481481481481481481481481481,139.851851851851851851851851852
                  },0),
                  // polAQqPS_reg as^3 LM^3 NF^0 [below 0.25] y=x H[0, y]^2
                  ome_x<double>({
                    18.962962962962962962962962963,-13.037037037037037037037037037
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^3 NF^0 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^3 NF^0 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^0 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    10.0775855695209124336506154818,-4.91883668891984837131058360833,-80.9728169214152965739737585412,
                    -121.538637695057037329329102558,-184.354656701763136201934958681,-262.471477516829748756115644432,
                    -411.277476976379299747533438916,-618.785744239079959319928174705,-1001.41590198302321271595184637,
                    -1552.08563653297108552930957019,-2556.61456445675551992879724615,-4009.24657357102597956183996008,
                    -6644.10310348974700247477071451,-10385.2264621122872082133816451,-17118.5534248498007754656321918,
                    -26199.7648655633107094666625234,-42280.1771027059870763495133121,-61427.0425976140500874947158638,
                    -93911.5458781616013497053241546,-119205.334417418762645669362908,-153599.355784011203352274491625,
                    -98745.5758512128587997618349873,55721.5086003362180619174945968,757030.644525312529864090438735,
                    2.2809414884673699957309849547e6,6.5930718958015461340389042466e6,1.55336515047618751621415905961e7,
                    3.75416258005696306969479792127e7,8.23234938089325483463237624847e7,1.855072603140863065476844033e8,
                    3.93448031945368475604195367814e8,8.54711328482909674955160144934e8,1.77905066129163784660904506086e9,
                    3.78019643443770055924702675708e9,7.77620465589380287424918160575e9,1.62841637887366958684864135736e10,
                    3.32339515477391113340860979695e10,6.88904960320413748860024633328e10,1.39814841250270031176236826497e11,
                    2.87679767668458989323206117736e11,5.81479201261161853609659110241e11,1.18977888700404575995568788083e12,
                    2.39752859394276427991295637365e12,4.88455831954014892795737685624e12,9.8198654478992352842736083263e12,
                    1.99385633814278560641738482335e13,4.00111451201163876364468766764e13,8.10194842370430205031906200645e13,
                    1.62348989784122493204931513417e14,3.28019604472880814535384413984e14,6.56536002923896466645452534047e14
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^3 NF^0 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^3 NF^0 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^0 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    24.2962962962962962962962962963,-2.96296296296296296296296296296,-13.8930041152263374485596707819,
                    -12.4115226337448559670781893004,-10.2222222222222222222222222222,-8.3950617283950617283950617284,
                    -6.96558327034517510707986898463,-5.84913076341647770219198790627,-4.96647723561303808217388464302,
                    -4.25814880135867790188777843099,-3.68134330316148497966679784862,-3.20529845513010496175479340463,
                    -2.80765814327067888321449575011,-2.47193110782854372597962341552,-2.18576093708368840643972919105,
                    -1.93974837234096493355752615012,-1.72664159924828898300639938472,-1.54077189417443166001412829556,
                    -1.37765442261667344498260798299,-1.23370166065293977954887193929,-1.10601471892346136780752732397,
                    -0.992229332196898170656094878415,-0.890400748752034201589065366687,-0.798916672878747344722505390029,
                    -0.716430695456255947424191991279,-0.64181086653882454124747838572,-0.574099584380118617119753110335,
                    -0.512482030725163632949078586685,-0.456261123860655699610476823892,-0.404837488264387240712315347261,
                    -0.357693318863692091593273719165,-0.314379293430779168684134838013,-0.274503888852232734514706176037,
                    -0.237724606823564670639221371331,-0.203740726509168158969147899663,-0.172287286132906241748612757946,
                    -0.143130059620408390678653646424,-0.116061343537998024421370547493,-0.0908964074583655480485293790498,
                    -0.0674704903008507538964188153242,-0.0456362481855752014941397448713,-0.0252615774206802202795435434528,
                    -0.00622775054346495357144226880385,0.0115721852875784256384052543661,0.0282347891551545421779884270258,
                    0.0438474207925922817755173458324,0.0584892769262571546423470262872,0.0722322931436350537259632999604,
                    0.0851419309726396691119599098988,0.0972778666592179800099228520451
                  },1),
                  // polAQqPS_reg as^3 LM^3 NF^0 [above 0.75] y=1-x H[0, y]^1
                  ome_x<double>({
                    -5.92592592592592592592592592593,0,1.97530864197530864197530864198,1.97530864197530864197530864198,
                    1.77777777777777777777777777778,1.58024691358024691358024691358,1.41093474426807760141093474427,
                    1.26984126984126984126984126984,1.15226337448559670781893004115,1.05349794238683127572016460905,
                    0.969696969696969696969696969697,0.897867564534231200897867564534,0.835707502374169040835707502374,
                    0.781440781440781440781440781441,0.733686067019400352733686067019,0.691358024691358024691358024691,
                    0.653594771241830065359477124183,0.619704671992253691600096828855,0.589127138834741173922460472168,
                    0.561403508771929824561403508772,0.536155202821869488536155202822,0.513067179733846400513067179734,
                    0.491875274483970136144049187527,0.472356414385399892646269457864,0.454320987654320987654320987654,
                    0.437606837606837606837606837607,0.422074496148570222644296718371,0.407603370566333529296492259455,
                    0.394088669950738916256157635468,0.381438910174542358450404427416,0.369573874950219036240541616886,
                    0.3584229390681003584229390681,0.347923681257014590347923681257,0.338020730177592922690961906648,
                    0.328664799253034547152194211018,0.319811875367430922986478542034,0.311422533644755866978089200311,
                    0.303461356092935040303461356093,0.295896436247313440295896436247,0.288698955365622032288698955366,
                    0.281842818428184281842818428184,0.275304340344990751494816535467,0.26906197448833107747836430007,
                    0.263096077049565421658444914259,0.257388701833146277590722035166,0.251923421005546609411343710861,
                    0.246685168054270736971939562134,0.241660099816128184922511163646,0.236835474930713025951121189216,
                    0.232199546485260770975056689342
                  },1)
                },0)
              )
            }
          ),
          // polAQqPS_reg as^3 LM^3 NF^1
          ome_piecewisex<double>(
            {0.25,0.75},
            {
              // polAQqPS_reg as^3 LM^3 NF^1 [below 0.25]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // polAQqPS_reg as^3 LM^3 NF^1 [below 0.25] y=x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^1 [below 0.25] y=x H[0, y]^0
                  ome_x<double>({
                    -5.92592592592592592592592592593,5.92592592592592592592592592593
                  },0),
                  // polAQqPS_reg as^3 LM^3 NF^1 [below 0.25] y=x H[0, y]^1
                  ome_x<double>({
                    -2.37037037037037037037037037037,-2.37037037037037037037037037037
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^3 NF^1 [0.25,0.75]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // polAQqPS_reg as^3 LM^3 NF^1 [0.25,0.75] y=1/2-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^1 [0.25,0.75] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -0.498439654305379640590582086667,-0.457830353919870363063068732345,2.37037037037037037037037037037,
                    4.74074074074074074074074074074,7.9012345679012345679012345679,13.2740740740740740740740740741,
                    22.7555555555555555555555555556,39.7319223985890652557319223986,70.4338624338624338624338624339,
                    126.419753086419753086419753086,229.24115226337448559670781893,419.253872053872053872053872054,
                    772.30976430976430976430976431,1431.46058879392212725546058879,2667.31786731786731786731786732,
                    4993.21904761904761904761904762,9385.40246913580246913580246914,17704.7145969498910675381263617,
                    33505.6964415395787944807552651,63591.3536928741607104180203595,121005.261598440545808966861598,
                    230797.680423280423280423280423,441151.743466410133076799743466,844878.100424535207143902796077,
                    1.62098705314009661835748792271e6,3.11517689679012345679012345679e6,5.99582329071225071225071225071e6,
                    1.15565755036403925292814181703e7,2.23038670084264158338232412306e7,4.30985588907133734719941616493e7,
                    8.33761211994891443167305236271e7,1.61467508061489446435682994823e8,3.13014342958183990442054958184e8,
                    6.07369112565656565656565656566e8,1.17957773495477652340397438437e9,2.29278801932748210395269218799e9,
                    4.460100077398236331569664903e9,8.68260767123745968190412634857e9,1.69146723202461408777198250882e10,
                    3.29738080004798320587794272005e10,6.43209081396026590693257359924e10,1.25544959124558626919602529359e11,
                    2.45187261943080139372822299652e11,4.79111256039220048398342971986e11,9.3670711065718267950826090361e11,
                    1.83227257566981459034792368126e12,3.58579680475911740919663624978e12,7.02072097321950073662932127317e12,
                    1.37521265217184176516942474389e13,2.69489773620683497102544721592e13,5.28313425674906257898715041572e13
                  },0)
                },0)
              ),
              // polAQqPS_reg as^3 LM^3 NF^1 [above 0.75]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // polAQqPS_reg as^3 LM^3 NF^1 [above 0.75] y=1-x
                ome_logx<double>({
                  // polAQqPS_reg as^3 LM^3 NF^1 [above 0.75] y=1-x H[0, y]^0
                  ome_x<double>({
                    -1.18518518518518518518518518519,0,0.395061728395061728395061728395,0.395061728395061728395061728395,
                    0.355555555555555555555555555556,0.316049382716049382716049382716,0.282186948853615520282186948854,
                    0.253968253968253968253968253968,0.23045267489711934156378600823,0.210699588477366255144032921811,
                    0.193939393939393939393939393939,0.179573512906846240179573512907,0.167141500474833808167141500475,
                    0.156288156288156288156288156288,0.146737213403880070546737213404,0.138271604938271604938271604938,
                    0.130718954248366013071895424837,0.123940934398450738320019365771,0.117825427766948234784492094434,
                    0.112280701754385964912280701754,0.107231040564373897707231040564,0.102613435946769280102613435947,
                    0.0983750548967940272288098375055,0.0944712828770799785292538915727,0.0908641975308641975308641975309,
                    0.0875213675213675213675213675214,0.0844148992297140445288593436742,0.081520674113266705859298451891,
                    0.0788177339901477832512315270936,0.0762877820349084716900808854832,0.0739147749900438072481083233771,
                    0.0716845878136200716845878136201,0.0695847362514029180695847362514,0.0676041460355185845381923813296,
                    0.0657329598506069094304388422035,0.0639623750734861845972957084068,0.0622845067289511733956178400623,
                    0.0606922712185870080606922712186,0.0591792872494626880591792872495,0.0577397910731244064577397910731,
                    0.0563685636856368563685636856369,0.0550608680689981502989633070934,0.0538123948976662154956728600139,
                    0.0526192154099130843316889828518,0.0514777403666292555181444070333,0.0503846842011093218822687421721,
                    0.0493370336108541473943879124268,0.0483320199632256369845022327292,0.0473670949861426051902242378433,
                    0.0464399092970521541950113378685
                  },1)
                },0)
              )
            }
          )
        },0)
      },0)
    },2);


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


/* C interface */

double ome_polAQqPS_reg(double as, double LM, double NF, double x)
{
  return(ome::polAQqPS_reg(as, LM, NF, x));
}

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

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

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

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

int ome_polAQqPS_reg_min_power()
{
  return(ome::polAQqPS_reg.min_power());
}

int ome_polAQqPS_reg_max_power()
{
  return(ome::polAQqPS_reg.max_power());
}

int ome_polAQqPS_reg_coeff_as_min_power(int order_as)
{
  return(ome::polAQqPS_reg[order_as].min_power());
}

int ome_polAQqPS_reg_coeff_as_max_power(int order_as)
{
  return(ome::polAQqPS_reg[order_as].max_power());
}

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

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