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
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
/******************************************************************************
 * This file is part of libome                                                *
 * Copyright (C) 2025 Arnd Behring, Kay Schoenwald                            *
 * SPDX-License-Identifier: GPL-3.0-or-later                                  *
 ******************************************************************************/

#include <ome/AggQ.h>

namespace ome
{

  /**************** AggQ, regular part ****************/

  const ome_as<double> AggQ_reg = 
    // AggQ_reg
    ome_as<double>({
      // AggQ_reg as^2
      ome_logm<double>({
        // AggQ_reg as^2 LM^0
        ome_nf<double>({
          // AggQ_reg as^2 LM^0 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^2 LM^0 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^2 LM^0 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^0 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    25.5555555555555555555555555556,18.4444444444444444444444444444,-1.55555555555555555555555555556,
                    -52.8888888888888888888888888889,1.,0.666666666666666666666666666667,0.5,0.4,
                    0.333333333333333333333333333333,0.285714285714285714285714285714,0.25,0.222222222222222222222222222222,
                    0.2,0.181818181818181818181818181818,0.166666666666666666666666666667,0.153846153846153846153846153846,
                    0.142857142857142857142857142857,0.133333333333333333333333333333,0.125,0.117647058823529411764705882353,
                    0.111111111111111111111111111111,0.105263157894736842105263157895,0.1,0.0952380952380952380952380952381,
                    0.0909090909090909090909090909091,0.0869565217391304347826086956522,0.0833333333333333333333333333333,
                    0.08,0.0769230769230769230769230769231,0.0740740740740740740740740740741,
                    0.0714285714285714285714285714286,0.0689655172413793103448275862069,0.0666666666666666666666666666667,
                    0.0645161290322580645161290322581,0.0625,0.0606060606060606060606060606061,
                    0.0588235294117647058823529411765,0.0571428571428571428571428571429,0.0555555555555555555555555555556,
                    0.0540540540540540540540540540541,0.0526315789473684210526315789474,0.0512820512820512820512820512821,
                    0.05,0.048780487804878048780487804878,0.047619047619047619047619047619,0.0465116279069767441860465116279,
                    0.0454545454545454545454545454545,0.0444444444444444444444444444444,0.0434782608695652173913043478261,
                    0.0425531914893617021276595744681,0.0416666666666666666666666666667,0.0408163265306122448979591836735
                  },-1),
                  // AggQ_reg as^2 LM^0 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    30.,46.6666666666666666666666666667
                  },0),
                  // AggQ_reg as^2 LM^0 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    6.,8.66666666666666666666666666667
                  },0),
                  // AggQ_reg as^2 LM^0 NF^0 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    0.888888888888888888888888888889,0.888888888888888888888888888889
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^0 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^2 LM^0 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^0 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    23.3015013807545931113219958611,101.899129209064321291847012413,175.804973833214195535215782352,
                    387.488119765271863237849024641,790.668731271340480394588215658,1551.2213546909000004058871738,
                    3164.21267997943408060940302219,6259.48389507390142425973046864,12697.0013882385939847146204975,
                    25187.3360291355756144936389168,50920.4982539211011212031594336,101169.600181491844302419265121,
                    204100.534884297844623756078012,405930.257537969022528623887886,817753.905438267795580801687237,
                    1.62762697972712164848915753623e6,3.27549639217849221676318713451e6,6.52313281428849768642899342603e6,
                    1.31171713231339099143363736127e7,2.61344580420983569846915167106e7,5.2521086954378338671806308009e7,
                    1.046800523566870923787423626e8,2.10267832729271669351914356024e8,4.19210877111876521348223330651e8,
                    8.41721548675054607913419264372e8,1.67855986041330704518786412077e9,3.36921343913517392723876775541e9,
                    6.72031226827253174391178848777e9,1.34852535644164603214666696933e10,2.69029436886988733944164409659e10,
                    5.39715498770525464827259475124e10,1.07689914518108183538510958811e11,2.1599789325750646265275582194e11,
                    4.31043097327512736723886807548e11,8.64402337070203478652960135039e11,1.72520686185596430509243304854e12,
                    3.4591271552084818509292211461e12,6.90462343141542505328819456591e12,1.38421406994388976765444865514e13,
                    2.76324898362909431715327302691e13,5.5389540327280033017868693147e13,1.10581784775318399782427856722e14,
                    2.21636560018729683290416894792e14,4.42519776593819831581288941028e14,8.86840134998714914391711699299e14,
                    1.770797626434547462057838583e15,3.54846533866620881269193863239e15,7.08587892983051488462844168213e15,
                    1.41980250360569689290712862784e16,2.8353603527242455342482938889e16,5.68078285195273010553526539933e16
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^0 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^2 LM^0 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -12.4444444444444444444444444444,60.2222222222222222222222222222,-6.33333333333333333333333333333,
                    27.5555555555555555555555555556,24.9444444444444444444444444444,24.3888888888888888888888888889,
                    24.2740740740740740740740740741,24.280952380952380952380952381,24.3238095238095238095238095238,
                    24.3755584950029394473838918283,24.4269958847736625514403292181,24.4750649350649350649350649351,
                    24.5189674523007856341189674523,24.5587481654148320814987481654,24.594747263318691890120461549,
                    24.6273826338270782715227159672,24.6570643163420941198718976497,24.6841637179347263380876826255,
                    24.7090056791083868581534314494,24.7318697933105274989397059278,24.7529950934530766463539572783,
                    24.7725855717761316258024882995,24.7908154878305511658267965469,24.8078340837617036134720720517,
                    24.8237696181039415867036210877,24.8387327510807730982156298593,24.8528193585241533031168800344,
                    24.8661128610120679385403860191,24.8786861497857797437554809277,24.8906031807685884197197061585,
                    24.9019202967645243604937326338,24.9126873274313120163392279609,24.9229485075184379219456569315,
                    24.9327432462418649078785439121,24.9421067744183747905531487564,24.9510706909163419273336328244,
                    24.959663425897411800261222764,24.9679106350434116108583407638,24.9758355363291227236374422929,
                    24.983459198785407991591530119,24.9908007909940682595754810592,24.9978777956819072445532613122,
                    25.0047061956701046280240373551,25.0113006355332187307697126731,25.0176745625880500085164971666,
                    25.0238403502329968741509652191,25.0298094061671040808740223009,25.0355922676138349703774296774,
                    25.0411986853410506769581557523,25.0466376979924706717380247388,25.0519176980163905065063626156
                  },0),
                  // AggQ_reg as^2 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -2.,2.
                  },0)
                },0)
              )
            }
          )
        },0),
        // AggQ_reg as^2 LM^1
        ome_nf<double>({
          // AggQ_reg as^2 LM^1 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^2 LM^1 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^2 LM^1 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^1 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    27.1111111111111111111111111111,4.,4.,-48.4444444444444444444444444444
                  },-1),
                  // AggQ_reg as^2 LM^1 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    24.,34.6666666666666666666666666667
                  },0),
                  // AggQ_reg as^2 LM^1 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    5.33333333333333333333333333333,5.33333333333333333333333333333
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^1 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^2 LM^1 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^1 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    23.3046517593123163858690036348,113.869618185321501918479816846,194.50468103708386107822825374,
                    450.342695407501055489789840813,893.978566419909166557057142096,1785.75954714100295537141155428,
                    3569.6449379560050663509912359,7135.35042076974429574511697274,14261.4978238320791736260839841,
                    28502.8528299143138606801100407,56963.9563414544990105764760837,113844.325937213476701062226215,
                    227524.843685510205618915796828,454732.896717428802318939132212,908858.183510206028634854994991,
                    1.81655687827103242553118847736e6,3.63090786634453757938247640168e6,7.25762624902045966631312316476e6,
                    1.4507302143061560045996189513e7,2.89995199714574527967100613076e7,5.79704141942868861465795941311e7,
                    1.15886478072699551137893486749e8,2.31669693470753646789639158081e8,4.63143034996640381498284167856e8,
                    9.25912379079392379461004653636e8,1.85111289509433296467933980316e9,3.70086842038381161996110792446e9,
                    7.39914611253012976733399583479e9,1.4793342665073678135583962205e10,2.95772201710962986412088375206e10,
                    5.91363228178402643429445321229e10,1.1823793435005385272305196224e11,2.36409305591958108501946420177e11,
                    4.72690856466880110348327552098e11,9.45136304353340768307987527262e11,1.88980080560702227674591572691e12,
                    3.77869383486714441811668276598e12,7.55563970429836940184396326464e12,1.51079111006330208290261273312e13,
                    3.02093268142122988281458824093e13,6.04061192678902422909213482799e13,1.20788034200137319226597006592e14,
                    2.41529298304449832729989361144e14,4.8296816545340531379506994373e14,9.65761372991189712145049499298e14,
                    1.9311840530586486061726393791e15,3.86171207065061672861195761571e15,7.72215272090098384481175061928e15,
                    1.54418400610000665198476857525e16,3.08788970771544588905953792982e16,6.17485099767278999476137294967e16
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^1 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^2 LM^1 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^1 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -13.3333333333333333333333333333,61.3333333333333333333333333333,-5.33333333333333333333333333333,
                    30.2222222222222222222222222222,28.4444444444444444444444444444,28.0444444444444444444444444444,
                    27.9407407407407407407407407407,27.9153439153439153439153439153,27.9111111111111111111111111111,
                    27.9111111111111111111111111111,27.9102645502645502645502645503,27.9073015873015873015873015873,
                    27.9021965688632355299021965689,27.895292361959028625695292362,27.8869955441384012812584241156,
                    27.8776756224375271994319613367,27.867638780972114305447638781,27.8571281659516953634600693424,
                    27.8463325103847979664973129025,27.8353962693143979693687296026,27.8244288769366168746973700534,
                    27.8135124694788560334778822174,27.8027080667907333501800953854,27.7920604191483668716625556528,
                    27.7816017682083101385833920495,27.7713547511999524383425312218,27.7613346395801845857242069591,
                    27.7515510646736968163854942741,27.7420093491582529608113602199,27.7327115359098792415305322054,
                    27.7236571842581861308308198382,27.7148439871544048674165995079,27.7062682501176888757891026157,
                    27.6979252632174961937934846827,27.6898095900555545410653815498,27.681915292170205012655757923,
                    27.6742361030700081591268977876,27.6667655628876087812259949457,27.6594971221844691605051822952,
                    27.6524242215485498659015289237,27.6455403521724670983156127778,27.6388391014754601418372859303,
                    27.6323141869606196791988604208,27.625959480820325820286054957,27.6197690272730856309593962389,
                    27.6137370542000192284364728819,27.6078579803232484198185842505,27.6021264189115896625306138471,
                    27.5965371787960322389260479324,27.5910852633167660919889953142,27.5857658676959392314282882568
                  },0)
                },0)
              )
            }
          )
        },0),
        // AggQ_reg as^2 LM^2
        ome_nf<double>({
          // AggQ_reg as^2 LM^2 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^2 LM^2 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^2 LM^2 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^2 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    7.55555555555555555555555555556,-5.33333333333333333333333333333,1.33333333333333333333333333333,
                    -7.55555555555555555555555555556
                  },-1),
                  // AggQ_reg as^2 LM^2 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    5.33333333333333333333333333333,5.33333333333333333333333333333
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^2 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^2 LM^2 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^2 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    3.01037811107599308021769858389,24.1412294074308194280030157589,47.5555555555555555555555555556,
                    110.222222222222222222222222222,224.,453.688888888888888888888888889,915.911111111111111111111111111,
                    1844.82539682539682539682539683,3709.96825396825396825396825397,7452.44444444444444444444444444,
                    14957.9851851851851851851851852,30004.2343434343434343434343434,60157.4141414141414141414141414,
                    120569.435897435897435897435897,241578.979242979242979242979243,483926.146031746031746031746032,
                    969204.622222222222222222222222,1.94080794771241830065359477124e6,3.88589929411764705882352941176e6,
                    7.77949367641325536062378167641e6,1.55728866058479532163742690058e7,3.11710021079365079365079365079e7,
                    6.2388002354978354978354978355e7,1.24860211829600351339481774264e8,2.49875154241545893719806763285e8,
                    5.00035602204444444444444444444e8,1.00059889804034188034188034188e9,2.00217670600569800569800569801e9,
                    4.00617430100881834215167548501e9,8.01574424605145046524356869184e9,1.6037835734412260536398467433e10,
                    3.20875621210838709677419354839e10,6.41974457567885304659498207885e10,1.28436875553616161616161616162e11,
                    2.56952862210129530600118835413e11,5.14055051184068720821661998133e11,1.02839242328096507936507936508e12,
                    2.05731942964993793793793793794e12,4.115652581099890627469574838e12,8.23323011963980926675663517769e12,
                    1.64701203319676717948717948718e13,3.29472085925332986449864498645e13,6.59076981617551807975222609369e13,
                    1.31840738676165977113325950535e14,2.63729887005529783415550857411e14,5.27552342713759806060606060606e14,
                    1.05528186920732576360708534622e15,2.11090320184632367889813958269e15,4.22245736339826867139479905437e15,
                    8.44616409707961643537414965986e15,1.68947280715116865364172335601e16
                  },0)
                },0)
              ),
              // AggQ_reg as^2 LM^2 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^2 LM^2 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^2 LM^2 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -4.,10.6666666666666666666666666667,0,6.66666666666666666666666666667,6.66666666666666666666666666667,
                    6.75555555555555555555555555556,6.84444444444444444444444444444,6.92063492063492063492063492063,
                    6.98412698412698412698412698413,7.03703703703703703703703703704,7.08148148148148148148148148148,
                    7.11919191919191919191919191919,7.15151515151515151515151515152,7.17948717948717948717948717949,
                    7.20390720390720390720390720391,7.2253968253968253968253968254,7.24444444444444444444444444444,
                    7.26143790849673202614379084967,7.27668845315904139433551198257,7.29044834307992202729044834308,
                    7.30292397660818713450292397661,7.31428571428571428571428571429,7.32467532467532467532467532468,
                    7.33421168203776899429073342117,7.34299516908212560386473429952,7.35111111111111111111111111111,
                    7.35863247863247863247863247863,7.36562203228869895536562203229,7.3721340388007054673721340388,
                    7.37821565407772304324028461959,7.38390804597701149425287356322,7.38924731182795698924731182796,
                    7.39426523297491039426523297491,7.39898989898989898989898989899,7.40344622697563874034462269756,
                    7.4076563958916900093370681606,7.41164021164021164021164021164,7.41541541541541541541541541542,
                    7.41899794531373478741899794531,7.42240215924426450742240215924,7.42564102564102564102564102564,
                    7.42872628726287262872628726287,7.4316686024003097173828881146,7.43447766703580657069029162052,
                    7.43716232088325111580925534414,7.43973063973063973063973063973,7.44219001610305958132045088567,
                    7.4445472299311337239181827526,7.44680851063829787234042553191,7.44897959183673469387755102041,
                    7.45106575963718820861678004535
                  },0)
                },0)
              )
            }
          )
        },0)
      },0),
      // AggQ_reg as^3
      ome_logm<double>({
        // AggQ_reg as^3 LM^0
        ome_nf<double>({
          // AggQ_reg as^3 LM^0 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^0 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -1888.30603611045220775376741813,-2944.88881289252810712389385845,654.121033574743012574499456754,
                    3792.1109511868018667575063697,770.629117954066063799560085122,-1125.09739912388784198021720614,
                    1563.34857393167349845512262859,-1609.47619108263824460865111393,1880.39873452344296022704112646,
                    -1911.35502879546926610448634425,2120.85858448029444967368184866,-2147.14517823440330467067779712,
                    2321.89795332088445862670462931,-2345.08605422237607462283247593,2496.65085596931822041158530809,
                    -2517.38179189368983044685033856,2652.07765306078690720643129227,-2670.77390354394677973116928886,
                    2792.51593393330982168367711149,-2809.49765848354129003718337612,2920.91235119874760814490186207,
                    -2936.43242666930248560897992487,3039.38228715377014866026311082,-3053.64409863666525875620132817,
                    3149.50541205632242446286276787,-3162.67457044089317799617186189,3252.49736010937356842877580486,
                    -3264.71015076572805802107922238,3349.3162976947985700898456463,-3360.68596756945978710841881585,
                    3440.73244592146410263647490988,-3451.35395293202782401560905529,3527.37524045721137928942169473,
                    -3537.32888016799457187052234223,3609.7663534647346985906815919,-3619.12055563918134381590869811,
                    3688.34343647630432842994338513,-3697.15694208467786862311233381,3763.47758053241131124738078289,
                    -3771.80115228010197222280598371,3835.48640837799848931715105727,-3843.36418687610968092287064449,
                    3904.64405987339669823454960235,-3912.11464821623578462480934582,3971.18892315904898895255702312,
                    -3978.28626149787945504173247566,4035.32970112681233610004439536,-4042.08377745626024179553685775,
                    4097.25022914298519608160579807,-4103.68766127547214424873271485,4157.11334276894955521631133138,
                    -4163.25785818926620216030883832
                  },-1),
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -307.969182016880046906499422074,-5674.35324251998142282557230974,-1993.43221620171735780134228871,
                    -2013.93874298535670125903458618,105.112239727689396934821028166,877.17106833890548340870677678,
                    230.287643918354851272393024817,1512.16066799664547804587548079,223.939481852033733204078288558,
                    1941.71949758523645234425832137,203.673916132523213116235071804,2287.46016153604790798028508957,
                    177.634517443947415386493770061,2583.8872839536395203858987375,148.992842110606593376835165053,
                    2846.54958495138489592965243367,119.251195749528825196854120196,3084.11752032213217039828449636,
                    89.1859676960978390221880657593,3302.05106964242539182264071644,59.2190016144932715608118627185,
                    3504.06858999428932421616163727,29.5851506502865269147525620336,3692.84464453541093119827748929,
                    0.415068598742173647105013452966,3870.38232579459012785311401603,-28.2210224201288318559679220523,
                    4038.22929521180043295458025264,-56.2889527492869169073764738902,4197.61135512000807489552544564,
                    -83.7764544482960788560990718516,4349.51924289148132291075416013,-110.684674425531617645559107306,
                    4494.7673322704153902056990276,-137.022951100114842454910908639,4634.03466437405983358103194861,
                    -162.805534597039940084632488352,4767.89443043848301065456965978,-188.049496698520246778828982241,
                    4896.83566029401014002879831956,-212.773386071759378632933973378,5021.27950360314360367262053822,
                    -236.996359360954486614020028693,5141.59166965104890082428052254,-260.737620923747434952863966732,
                    5258.09208084183928580585712517,-284.016065271925401128000652472,5371.06246792372628836938374551,
                    -306.850053900687618451775577198,5480.75241983293852136707394471,-329.257281777542098326085398008,
                    5587.38425624838562374070570898
                  },-1),
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -1348.14553655690240352908284652,-233.141412288698367144550066395,95.7195840129981059479685233024,
                    -89.2527678174614928515138033278,-50.1392756145312753178307956323,-326.30199673042585555132623859,
                    -140.598174633938718655088394673,-492.767376710989509584368026734,-234.835813019647132416255340463,
                    -638.68649442522164594150851946,-326.743559504255491627529631646,-772.090132969269274233237890308,
                    -415.888686429062868982779414506,-896.684748268169940396932544692,-502.572422203584857111725667823,
                    -1014.6332522910987323561344332,-587.156447938245790844627683048,-1127.34387412045319626588954799,
                    -669.95473797884571011633716536,-1235.79729836349227294759652678,-751.223795988310834302818044569,
                    -1340.70929639202746612180465922,-831.171069712722156855402174292,-1442.62098974037189498578155911,
                    -909.965091196353177833816533556,-1541.95290459642839647579865143,-987.744030254806476410459242782,
                    -1639.03922617104822685185782822,-1064.6223374740893373401691698,-1734.15048646209249993952864246,
                    -1140.69578985613419040504424089,-1827.50913753676332728684758851,-1216.04531560045333302241607137,
                    -1919.30056251647213663848298679,-1290.73991065267957162616706089,-2009.68105803588997396366630694,
                    -1364.83888299118197295465047691,-2098.78374672433258722214922962,-1438.39359731624317014040525938,
                    -2186.72303893644477288654044933,-1511.44884550154170333138834442,-2273.59805530103405711674952711,
                    -1584.04393401763366864928466418,-2359.49529049402140315375215857,-1656.21355513565776200922498227,
                    -2444.49071348389318694940315737,-1727.98849127725583413901456112,-2528.65144285423205708138568545,
                    -1799.3961893408813653039016666,-2612.03709731151806932294700126,-1870.46123275360150130761033429
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -295.032899945107141130637013308,452.965453964357879445494673935,9.32784636488340192043895747599,
                    7.10068587105624142661179698217,27.6822359396433470507544581619,15.6121751910640799529688418577,
                    40.4855810307662159514011365863,19.1248061364463480865597267714,47.322635961105978742663046014,
                    21.4700334968339083565421013981,52.1543329037979243740560612989,23.2541190147924154658161392168,
                    55.9317918457649097379737110377,24.7006406013528520651027773535,59.0464572524808585044645280706,
                    25.9196243168480952483442368285,61.701829673644760790730289641,26.9740959437032598839461247307,
                    64.0186082207139485304353667324,27.9037718681248347825830020787,66.0747604806709367791007792859,
                    28.7353910710081685972678016584,67.9237752595822329043495835803,29.4878567601270136817750701146,
                    69.6040346230912615770320777616,30.175046137352570599655347615,71.1440603054672593420135787127,
                    30.8074576649357412997502278062,72.5656495916193293006306474103,31.3932313408959323784346743136,
                    73.8858489540754591723132270404,31.9388092248452290855199706123,75.1182491939285975357667041663,
                    32.4493789512025195535275281897,76.2738652371017713187270808041,32.9291807943816650496763403372,
                    77.3617514503313857894744343606,33.3817258925684134489889731372,78.38944283659376416384396115,
                    33.8099548732894795319164841079,79.3632782763371433578849444335,34.2163554510446685856961662616,
                    80.2886418580379612059018995652,34.6030511347867487131975198541,81.1701460785692087948735042876,
                    34.9718691818717732009609810884,82.0117729898335974376573695785,35.324393376284365448306467901,
                    82.8169843968856611466698936348,35.6620055318152017552835845916,83.5888089278546684031152777152
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    -25.4814814814814814814814814815,51.8888888888888888888888888889,0.263374485596707818930041152263,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,
                    1.33333333333333333333333333333,0,1.33333333333333333333333333333,0,1.33333333333333333333333333333
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [below 0.375] y=x H[0, y]^5
                  ome_x<double>({
                    -2.13333333333333333333333333333,3.06666666666666666666666666667
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^0 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^0 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -751.666891019558089646598253627,-1668.54617616882708285476573062,-6370.04554813401258631963716634,
                    -10567.3222704580680524449667503,-24370.9764490995448456836549155,-42170.6110235745563623382676442,
                    -88943.876621881324505196882427,-158755.747193797906339001007621,-330283.788818758372438833149885,
                    -597522.753140059743411168152732,-1.23475824840332516953073630908e6,-2.25209680920913476897070529627e6,
                    -4.63572949977791991464711357956e6,-8.50322465704993959677937330549e6,-1.74608745305010089225732355565e7,
                    -3.21626811226434581787383969931e7,-6.59411669734477977388987256357e7,-1.21851541890261864358144394169e8,
                    -2.49565859161617845848127652507e8,-4.62309999098520541433660997577e8,-9.46207117187627653446246570993e8,
                    -1.75617714349056498949002144749e9,-3.59271815001677293789050630497e9,-6.67805194515510934840197019707e9,
                    -1.36578237000124813594441281585e10,-2.54154841110817609019324068388e10,
                    -5.19713465407809297454537732617e10,-9.67925838647310604907798036225e10,
                    -1.97918621995299558258243119042e11,-3.68820893757759003497965356459e11,
                    -7.54182030848812985810897565445e11,-1.40591483478953017021869460085e12,
                    -2.8751954212498019921026136773e12,-5.36065189000242437190824262568e12,
                    -1.09648191569965233021381937471e13,-2.0442785955252852150036171986e13,
                    -4.18239187560599945075988443928e13,-7.79611308284319874084600202429e13,
                    -1.59546446433494267779771332381e14,-2.97293607897843184089575114654e14,
                    -6.08613449610944322957028986525e14,-1.13348990616936767163516244447e15,
                    -2.32136140204426654447495237479e15,-4.32046433739626753345215719643e15,
                    -8.85211048989801589917299326421e15,-1.64619051386706772031747519578e16,
                    -3.37450735672640542008645176838e16,-6.26934954921303942492262022379e16,
                    -1.28584914348259582043445389687e17,-2.38623068885702461026299127879e17,
                    -4.89713104632110057901188382055e17
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^0 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -43.9682197730965609694935077095,795.741635289779067169690622968,-1107.0912198102154795252483399,
                    70.9762819345966729010232717951,-558.97571634129878007105614465,-640.856433370331684167974770329,
                    -652.958763271603219906982314174,-651.377007548836937489405133426,-646.18583082997074891820167552,
                    -639.727717036164071644381007391,-632.659747358497175958672716442,-625.215801594396131774674578056,
                    -617.514324288389966349627751133,-609.637939090306424160075881059,-601.653538870836801838971964462,
                    -593.616955902513501363667884948,-585.574199377558545616801974304,-577.562310307707743184224037272,
                    -569.610396513437179653663396558,-561.740797897322844967036610401,-553.970247803723321105522716877,
                    -546.310936203725168530480656171,-538.771430518189280476690416757,-531.357444685888423226590720011,
                    -524.072466239443463689487923157,-516.91825952735022610841890755,-509.895265324872200254761010151,
                    -503.002915997656209622994681314,-496.239882963108179727447088582,-489.604270432195996568620111937,
                    -483.093766791797119998127663386,-476.705762701759448124795926541,-470.437443079908501191483862575,
                    -464.285858611122763093057976846,-458.247981194791961924842513508,-452.320746783835863455302172627,
                    -446.501088316905386162292017418,-440.785960859504156623244411617,-435.172360613512019512335732111,
                    -429.657339099164810645585201524,-424.238013536315598382000858817,-418.91157423516234451318211362,
                    -413.675289636951708520567990531,-408.526509511947967357104840569,-403.462666717088122208293056972,
                    -398.481277832981411672696228224,-393.579942934428651277055253761,-388.75634469670021266016271713,
                    -384.008246998524402442291965457,-379.333493149847175957983239424,-374.730003846171541197477286197
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    358.40720802768375870123921852,261.740647992558827796737900449,1159.60257825409145536365398167,
                    907.488899397508986817979004427,1367.0852943423764661020084613,1543.34718134349604204990389313,
                    1667.30756388744458072248885111,1769.51931699626729125700716357,1858.50385065042085874771710481,
                    1937.96456552386254520028852157,2010.00147255612432292369651682,2075.99802214322102534497216501,
                    2136.94670248991981561371957453,2193.59735634298323178946718638,2246.53624032968520648408877776,
                    2296.23309747460994603802184725,2343.0714347686469024228908715,2387.36909563491432282108269875,
                    2429.39281169273242944688779484,2469.36881601295224181472111554,2507.49077352293275301375004363,
                    2543.92582499748403772293733256,2578.81927031563601559343302897,2612.29824923161925955864876676,
                    2644.47467029527674330144490706,2675.44756716264082144797885363,2705.30501290229653641038231323,
                    2734.12568902116144038627169011,2761.98018186961612818738861975,2788.93206170548156896485324865,
                    2815.03878695515693124390690322,2840.35246674532692250988527143,2864.92050766308154035627094442,
                    2888.78616529459034059297374161,2911.98901694176277078553121884,2934.56536870123390121709835429,
                    2956.54860757855277738355207323,2977.96950733320447894559812498,2998.85649518202714989274944644,
                    3019.23588523649405895121536049,3039.13208354311898311831298443,3058.56776878273687084221237601,
                    3077.56405202295483342902586029,3096.14061837734441717034799796,3114.31585298066310407087789583,
                    3132.10695332258392076214796797,3149.53002967817471557387186364,3166.60019511992542785407954669,
                    3183.33164638411201545443552885,3199.73773668623050169278202839,3215.83104143012760515679819255
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    20.9081733766884191589432867779,-48.5606848502165461033054128641,-35.0834399710966094495933643703,
                    -17.5761807200535087798639599421,-42.6678062344568009609339187899,-51.4926375313754922072951184971,
                    -57.6359524933651501119245637742,-62.6973684973299864029722887558,-67.0886150931146302901468682297,
                    -70.9920329085562404713243174853,-74.5170939505613056516615970439,-77.7392231678559406210567625298,
                    -80.7137683489163246729056495238,-83.4827526912927984978913646677,-86.0788079459965534469866272072,
                    -88.5277132430753771545562234542,-90.8501293357394428130384339723,-93.0628246306017141142739827694,
                    -95.1795627332861725183504698824,-97.21175685458165951280676506,-99.1689597833527550412706909224,
                    -101.059235720781161232909522175,-102.889445910778047666149895755,-104.665470506484239160494646351,
                    -106.392382687677367040152677608,-108.074586615614294706727064067,-109.715927712180815313260500202,
                    -111.319781550801051934560709537,-112.889126066552810428416944434,-114.426600644932679169087233669,
                    -115.934554805729584250015470869,-117.415088573289767882841341878,-118.870086156465450868033631582,
                    -120.301244208113081375357724088,-121.710095664865271726936492138,-123.098029961317624556833130719,
                    -124.466310253013423133035836686,-125.816088158179242445573641432,-127.148416430592058057744384495,
                    -128.464259898951620932211854369,-129.764504946981689769723657086,-131.049967759639946740632462357,
                    -132.321401521583809060839393458,-133.57950272235804246758348182,-134.824916697055800069591339979,
                    -136.058242510231487602840008684,-137.280037273657452695977634103,-138.490819974369998555499924511,
                    -139.691074877755852266600683709,-140.881254560723033472218945706,-142.06178262191046953198697726
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    5.33333333333333333333333333333,-1.77777777777777777777777777778,10.7654320987654320987654320988,
                    6.17283950617283950617283950617,10.7292181069958847736625514403,13.1368998628257887517146776406,
                    14.8743876151283558690966098374,16.2647966182357716749251140786,17.4338568349150359732370314381,
                    18.4460992444531539181744943062,19.3401449335605714206537251805,20.1413854217445687703824628628,
                    20.8675905879048415524285333488,21.5317623251146518003118193052,22.1437376594071750766907462064,
                    22.7111570642434839965704163235,23.2400824437135257759803874546,23.7354089268224857100930406069,
                    24.2011489789811667811807209385,24.6406341263626662653411959885,25.0566616835027225755795833668,
                    25.4516037044400436540918464682,25.8274893446503916270261659167,26.1860681082302230568079097876,
                    26.5288590968580711523511522384,26.8571898381925054175444288265,27.1722272427702897882324852706,
                    27.4750025362761286925065559728,27.7664315255823901329089441314,28.0473312113647558512299883195,
                    28.3184335118314403920333584353,28.5803966812577235753589926081,28.833814873601976220878469455,
                    29.0792262019014350548663075568,29.3171195690212430418392917899,29.5479404880878657440351942607,
                    29.7720960669170874758128807514,29.9899592966014763808659212771,30.2018727577236498487787694218,
                    30.4081518366283796081197392426,30.6090875274991601955411859228,30.8049488826572775350329069376,
                    30.9959851627904366247041102065,31.1824277301589474676795653498,31.3644917207880307521333003155,
                    31.5423775259016824731509643007,31.716272108128006755149399178,31.8863501741058730038575776259,
                    32.0527752218893232437865177999,32.2157004788537741065994495467,32.3752697435569130560041046726
                  },0),
                  // AggQ_reg as^3 LM^0 NF^0 [above 0.625] y=1-x H[0, y]^4
                  ome_x<double>({
                    0.493827160493827160493827160494,0,0.493827160493827160493827160494,0.493827160493827160493827160494,
                    0.51028806584362139917695473251,0.526748971193415637860082304527,0.540858318636096413874191651969,
                    0.552616108171663727219282774838,0.562414266117969821673525377229,0.570644718792866941015089163237,
                    0.57762813318368873924429479985,0.583613916947250280583613916947,0.588793922127255460588793922127,
                    0.593316148871704427259982815538,0.59729570840681951793062904174,0.600823045267489711934156378601,
                    0.60396998305495037521181312031,0.606794157992415073025094811587,0.609342285755541116164897841311,
                    0.611652588260775395278319254927,0.613756613756613756613756613757,0.615680615680615680615680615681,
                    0.617446607784772035979765448364,0.619073179459652889604580425836,0.620576131687242798353909465021,
                    0.621968977524533080088635644191,0.623263339312722028771411487461,0.624469266444575086550395192371,
                    0.625595491495874637637089744369,0.62664963814389101745423584504,0.627638391079251294305057745918,
                    0.628567635736094517456524624983,0.62944257388701833146277590722,0.630267819810303470434189388438,
                    0.63104748072068333506242002974,0.631785224377816970409563002156,0.632484336188039891743595447299,
                    0.633147767650691627299814434317,0.633778177637826760633778177638,0.634377967711301044634377967711,
                    0.634949312456087523838201344976,0.635494185629686984700534836036,0.636014382784408624201905855653,
                    0.636511540904305762186899137804,0.636987155505674024192542711061,0.637442595574640663207490904753,
                    0.637879116653913652577441250481,0.638297872340425531914893617021,0.638699924414210128495842781557,
                    0.63908625178466448307718148988
                  },1)
                },0)
              )
            }
          ),
          // AggQ_reg as^3 LM^0 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^0 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    22.2250953667174456979710209627,27.9941408669630064248411903417,-53.6496196821956687979297056731,
                    5.15384182420288254264395009858,-0.210986780986883269150637651556,-0.569371045984503234373541902874,
                    -0.260998547606433446996756852891,-0.110877635675125500318038156691,-0.0390441469656970298365372248165,
                    -0.00324250239996339059851714064405,0.014955379120755480130160269785,0.0240391974139711906039946840981,
                    0.0281939744322648869323739992165,0.0296058497166556576022746945611,0.0294710717538482019419900865789,
                    0.028468269698663835844893619122,0.0269929565557359455232650397532,0.0252799713678986114607401564739,
                    0.0234701846630679518000226051342,0.0216481672164508550671045378867,0.0198641171817562911857716573699,
                    0.0181469551665338321902267594174,0.0165123147015352294532818513668,0.0149675056146381458032515112871,
                    0.0135146418717218820167837125565,0.0121526347727795328693870945292,0.0108784730578656663010533265011,
                    0.00968804850914054094134811172705,0.00857668844903824426572391145374,0.00753949742785331538347654509243,
                    0.00657157380751358167852733238113,0.00566814394076901274470153043607,0.00482464197029217613460489553453,
                    0.00403675379310360437891762724342,0.0033004375434937631349879515089,0.00261192886219262372103303958825,
                    0.0019677365007552808723947421952,0.00136463198745613036539075519089,0.000799635851612976387565176670543,
                    0.000270002070133029687487556244862,-0.000226798166388208877181148315171,
                    -0.000693092656477145424732785684518,-0.00113102391065757770048591818102,
                    -0.00154256412397879260544552852295,-0.00192952924833133836871137518593,
                    -0.00229359209537873034675004728458,-0.00263629445415923979937012286591,
                    -0.00295905824171982755674429977097,-0.00326319572645616917824114859879,
                    -0.00354991887626165167321984153673,-0.00382034788999567619516651167212,
                    -0.00407551897315926745932181260562
                  },-1),
                  // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    38.6055259152230305753247612774,5.60993706741104000070564792784,4.92876805210107858760981544039,
                    -2.32235939643347050754458161866,0.328587105624142661179698216735,1.00797256515775034293552812071,
                    1.28443682987598331513675429019,1.42643167084588097437681715837,1.51017817539191520882962891865,
                    1.5643030191805422062133800327,1.60163470151847755040173047406,1.62866743458574224142363447876,
                    1.64899621968508188909560826084,1.66475217710373817324796070647,1.67726900340018872551324497696,
                    1.68741891918115341957813419332,1.69579355225756640352979978155,1.70280674741417907068122043257,
                    1.70875570909013032459269964746,1.71385879122794701081864837603,1.7182796408763306909784960344,
                    1.72214307493249042727615879924,1.7255457887864217703144734131,1.72856374329895639280318438927,
                    1.73125736367652518916403390532,1.73367526489473228494866707103,1.73585696507125297768984017623,
                    1.73783489113939758402572490644,1.73963588151954463720465323903,1.74128232591914528935701290475,
                    1.74279303975641864040553193359,1.74418394205487940005645896733,1.74546858609613660084144411371,
                    1.74665857856529819875424161107,1.74776391340311039502071686841,1.74879323980629154727690357242,
                    1.74975407894224911528967728758,1.75065300039606040741669271104,1.75149576675832926646107014609,
                    1.75228745282516303916332568347,1.75303254442991266420339611791,1.75373502082935161108010188154,
                    1.75439842373129064680721879092,1.75502591540913368721968952182,1.75562032785289243179782125611,
                    1.75618420452006423939390306538,1.75671983594724554094473047256,1.75722929024484592076704715193,
                    1.75771443930813180826031363117,1.75817698142700463284157673439,1.75861846085600402115257046074
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    0.775794146071693714369913020625,-6.12544042182954085353132154728,-7.98353909465020576131687242798,
                    -0.526748971193415637860082304527,-0.161316872427983539094650205761,-0.0796707818930041152263374485597,
                    -0.048159905937683715461493239271,-0.0325186864869404551944234483917,-0.0235435738081240726743372246018,
                    -0.0178849043046573910771441635639,-0.0140732427152180238599991686411,-0.0113766168985024203879422734642,
                    -0.00939516899112858708818304777901,-0.007894606185204475802766401057,
                    -0.00672986851253029519207785386052,-0.00580705596578612451628324644198,
                    -0.00506311166441885396133762146834,-0.00445436465556932044180538349448,
                    -0.00394976457714361039892605574721,-0.00352672803482202854961089269484,
                    -0.00316850171779893745626791692248,-0.00286243908633215233048148670538,
                    -0.00259884508582670324310326819895,-0.0023701840356095573677823396179,
                    -0.00217052553116405248310310272083,-0.00199514981350730143000674401641,
                    -0.00184026211908453124027672935555,-0.00170278285293585494070879741451,
                    -0.00158019138064682605757159603106,-0.00147040830362734453564426281042,
                    -0.00137170573253236408125407822815,-0.00128263818656568864884755499975,
                    -0.00120198886385728795255908216944,-0.00112872748982422568376989246021,
                    -0.00106197697333973591357115176625,-0.00100098682548656002089663135781,
                    -0.000945111815534058505321084426801,-0.000893794715686783192885786707679,
                    -0.000846552262233871821298583240581,-0.000802963664909352339804313192575,
                    -0.000762661148648004467979671780293,-0.000725322126604432110413999501183,
                    -0.000690662690311776827761507906502,-0.000658432169370163707226756447993,
                    -0.00062840856426614858235918304788,-0.000600394695621766918942698760878,
                    -0.000574214944142393478334683050104,-0.000549712479842943879639597864992,
                    -0.000526746898325492826125628567237,-0.000505192197119221221668684949843,
                    -0.000484935037255012864304199886052
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    1.44855967078189300411522633745,2.23868312757201646090534979424,-0.526748971193415637860082304527
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    0.395061728395061728395061728395,0.395061728395061728395061728395
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^0 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    14.6428996910068068717323166729,49.8717835950319863719149011051,103.039899318785769865964945762,
                    259.288464243988745535743882165,542.066811109841743583471744397,1173.827603811196808521145607,
                    2442.6666198222017978870430904,5031.1812232837005861859661447,10298.4446003269191427386477587,
                    20923.9976079460905911875340218,42475.4591322712213549601860275,85802.8986986619104526155781524,
                    173356.455147040566886641526413,349142.259797589994443405759603,703333.215283989226794350122609,
                    1.41404124588447205845436122679e6,2.84297220642005988528627707966e6,5.709400213080955429726320716e6,
                    1.14633532670138211380069473427e7,2.30040570742862196981340803674e7,4.61424873457827625949447113711e7,
                    9.25475196053679621041251282875e7,1.85501092414179686717590758111e8,3.71914410868169654014629765248e8,
                    7.45050450106751397178125326785e8,1.49333189146246228407182615271e9,2.99029516276776939627024905877e9,
                    5.99221725827588078014834057488e9,1.19949880746917329971974394477e10,2.40323734600931159535097479371e10,
                    4.80942312789846847319377934081e10,9.63447852730061720357711106514e10,1.92766265168026663980363390946e11,
                    3.86114305198531161090707884919e11,7.72400519533347768581760952687e11,1.54698332536124404680860943761e12,
                    3.09420969948495287388286740077e12,6.19666033833501514954584557225e12,1.23928171698521604639439782641e13,
                    2.48169327850763481357608704674e13,4.96269241703624384933749480154e13,9.9373300678657018071184322635e13,
                    1.98702299624095445612943303746e14,3.97862420449299991277027418008e14,7.95491900408637385167352294073e14,
                    1.59274487696290472076031110612e15,3.18436947382222310718400264472e15,6.37553462153543927388194451461e15,
                    1.27459486061284976001960618166e16,2.55181927990089433513957809156e16,5.10137286807728228579314436756e16
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^0 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -7.97689540840010386576322320091,35.6689831163117308233558510117,-3.13999167693589124523411055149,
                    18.0807361086871785668863189341,14.0519919463087761071497315322,14.8756965729792208916444779238,
                    15.9298510495902486862929225722,16.8054808962218587935334822987,17.5066137650623014566647985465,
                    18.0740120944325597160346471965,18.5414051513862409366088492076,18.9330273593745414279011096156,
                    19.2660539177547495765962290234,19.552836241357633117175288543,19.8024475643200207943356415164,
                    20.0216984765712451725215710118,20.2158044404103369197890272038,20.3888316473690507128705845762,
                    20.5440010561904310599237571228,20.6839002025947418025661380134,20.8106338116673290625242470848,
                    20.9259329509675867797030857524,21.0312355263666106046904922175,21.1277465922166733514468951052,
                    21.2164841924322842066661630613,21.2983146620644688325803060185,21.373980137714124139926842345,
                    21.444120230096420563864275231,21.5092892677976318856104706608,21.5699701426963797916607066328,
                    21.6265855202785936238364094702,21.6795069868057629329343921148,21.7290625666376965206781676787,
                    21.7755429412886850357731410052,21.8192066263390264699404658493,21.8602843057693196548418388581,
                    21.8989824804870257267326040755,21.9354865551341143018915860333,21.9699634620980171768399220555,
                    22.0025639021139362393265545801,22.0334242655710571477601751403,22.0626682866060725662566762606,
                    22.0904084725320059092291793336,22.1167473435444507641631046208,22.1417785115447126072666310238,
                    22.1655876219954631808283589469,22.1882531787306399810531246293,22.2098472683854735804807493713,
                    22.2304361984456125994162996736,22.2500810607198494310576118764,22.26883823022738682425743104
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -3.55555555555555555555555555556,-5.0513663477554667794572474732,11.4691358024691358024691358025,
                    3.0515143106807472123122998519,6.67085587446675544276497474902,8.34588989058409722227003494984,
                    9.24010086143394928984093877207,9.82049822888233057109686878763,10.2463096181357022513349891297,
                    10.5822659746509516276953857805,10.8593225190545674455792049763,11.0944027465170258927384682677,
                    11.2977935768869712502650180943,11.4762792058951150190193015428,11.6346183083576192731041801384,
                    11.776307336386840390515758719,11.9040073175159509299351981329,12.0197990790957938112605411022,
                    12.1253447508126475866520726951,12.221994896807046791988320569,12.3108624168248055753726864235,
                    12.3928752037990988284080524957,12.4688146889939819397018813794,12.539344699669299862909285668,
                    12.6050334783772247356883186175,12.6663707584860798903831562381,12.7237811916890453846888222432,
                    12.7776350356421482462646688522,12.8282567519404008692240651203,12.8759319887395816234393193921,
                    12.9209132997417256289141243542,12.9634248641672674846470739351,13.0036664093915970188206007831,
                    13.0418164917330137039480593979,13.0780352565169917053615182601,13.1124667726632106652826107164,
                    13.1452410173348931370237299923,13.1764755710307640675120305736,13.2062770717311995024651124742,
                    13.2347424674961845471258665027,13.2619600996427177400799777324,13.2880106428518060594551425072,
                    13.3129679239330823394334439698,13.3368996372542519759447943015,13.3598679718298455393825056997,
                    13.381930162611039187971435768,13.4031389765112499730187357212,13.4235431420518847349177598409,
                    13.4431877301494010119468068897,13.4621144924338913513454818241,13.4803621625472867507908794147
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -0.444444444444444444444444444444,1.02469135802469135802469135802,1.18518518518518518518518518519,
                    0.938271604938271604938271604938,1.92592592592592592592592592593,2.24263374485596707818930041152,
                    2.4408230452674897119341563786,2.59255899890820525741160661796,2.71665406903502141597379692618,
                    2.82111176432164086485074139395,2.91054935005552289502906786857,2.98807734228609649485070360491,
                    3.0559550936655313759690864068,3.11589084124696660309195921732,3.1692086324564957043589522222,
                    3.21695314287906880499473092066,3.25996034144182292330440478589,3.298907227165589333986104459,
                    3.3343478427676812913260433445,3.3667398936205627857357801413,3.39646474477994281976200998042,
                    3.42384264943407898835683984831,3.44914448483174219082617529716,3.47260089380634079792554577686,
                    3.49440947512156893332505553317,3.51474049007150815379827808598,3.53374142935182105999174245237,
                    3.55154069627465604119583695047,3.5682505989174895872718281244,3.5839697974392841939837922456,
                    3.59878531858834604906894946392,3.61277422393565753775685191594,3.62600499920090378026918251677,
                    3.63853871750440571234486112738,3.65043001826882704171586336488,3.66172793493871225729545522201,
                    3.67247659804955948737540829965,3.68271583499568732630158578197,3.69248168377300456373025102892,
                    3.70180683475186054472787173675,3.71072101197325454033993568662,3.71925130341262023221439187856,
                    3.72742244800780302513924365168,3.73525708591632598636252639255,3.74277597738573048250903589557,
                    3.74999819473857830937818359298,3.75694129125074344763156390684,3.76362145010663001126733383225,
                    3.7700536161232715868752208706,3.77625161252735974128542242588,3.7822282447295634618778470465
                  },0),
                  // AggQ_reg as^3 LM^0 NF^1 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    0.79012345679012345679012345679,0,0.79012345679012345679012345679,0.79012345679012345679012345679,
                    0.816460905349794238683127572016,0.842798353909465020576131687243,0.865373309817754262198706643151,
                    0.884185773074661963550852439741,0.899862825788751714677640603567,0.91303155006858710562414266118,
                    0.924205013093901982790871679761,0.933782267115600448933782267116,0.942070275403608736942070275404,
                    0.949305838194727083615972504861,0.955673133450911228689006466784,0.961316872427983539094650205761,
                    0.966351972887920600338900992496,0.970870652787864116840151698539,0.974947657208865785863836546098,
                    0.978644141217240632445310807884,0.982010582010582010582010582011,0.985088985088985088985088985089,
                    0.987914572455635257567624717383,0.990517087135444623367328681338,0.992921810699588477366255144033,
                    0.995150364039252928141817030706,0.997221342900355246034258379937,0.999150826311320138480632307793,
                    1.00095278639339942021934359099,1.00263942103022562792677735206,1.00422142572680207088809239347,
                    1.00570821717775122793043939997,1.00710811821922933034044145155,1.0084285116964855526947030215,
                    1.00967596915309333609987204758,1.01085635900450715265530080345,1.01197493790086382678975271568,
                    1.01303642824110660367970309491,1.01404508422052281701404508422,1.01500474833808167141500474834,
                    1.01591889992974003814112215196,1.01679069700749917552085573766,1.01762301245505379872304936904,
                    1.01841846544688921949903862049,1.0191794488090784387080683377,1.01990815291942506113198544761,
                    1.02060658664626184412390600077,1.02127659574468085106382978723,1.02191987906273620559334845049,
                    1.02253800285546317292349038381
                  },1)
                },0)
              )
            }
          )
        },0),
        // AggQ_reg as^3 LM^1
        ome_nf<double>({
          // AggQ_reg as^3 LM^1 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^1 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -1310.60721666258359097358540843,-828.908112190131585773452634039,-586.970542547243146478735046532,
                    2499.03617905922770893466038193,178.378283539860762086852694707,-542.653783426544184050546131234,
                    676.711760130544942922479154545,-697.874135491543794378566238276,725.827977889917852573667532159,
                    -734.838808242299280721043009485,744.002411527672431065078853165,-750.62571389409515779717172283,
                    753.764451440659234739271965538,-759.318906162548696063601359848,759.956420476816384321811729832,
                    -764.818549444101078731529645946,764.269202587767797562232369449,-768.613180199389347991526533859,
                    767.459779139226209034897632395,-771.391019348083651737237536392,769.922163342695346308861158585,
                    -773.513635617857485819239163967,771.883303311087012780646512726,-775.18914433514578797393525713,
                    773.483809909254443320554549965,-776.545828793873258058549998426,774.815743463811835505244256952,
                    -777.667093582511640508300643196,775.942044279719313667938218902,-778.609529114446167189047383729,
                    776.907274160003168073237420784,-779.41289730159502921254915468,777.743906306775096167480249637,
                    -780.105961606392325704359219388,778.476185491866623350277834436,-780.710048750238390372414579879,
                    779.122591447297484281474587378,-781.241309420665321334210110281,779.697463718418987186143646162,
                    -781.712200851102963739759816128,780.212104243924255480371845405,-782.13248695940591284136944634,
                    780.675544181147015892878503381,-782.509929888457753982711893181,781.095088855444031722242316719,
                    -782.850778676859236962133022537,781.476712495783296123635746001,-783.160121303048862995687145925,
                    781.825349068435411137396062605,-783.44214271553712663097171095,782.145109853326121349365704422,
                    -783.700316912962839053646898906
                  },-1),
                  // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -290.009592175841140233183127111,-3118.79980137363838431194025178,-1272.05389331438411233297703315,
                    -1107.07203148932470940331172909,163.956835208714868950675927999,881.638514585523814176896088462,
                    127.913699406245733148206792197,1323.58954725538188086035959732,116.824528402394457188087294662,
                    1562.8319553586584648625671823,112.326667730200829590075720838,1730.83308891099782432836869517,
                    109.956417763578226064532262052,1861.5697511403396180264944264,108.511023673809151873853603148,
                    1969.04874320953874142867602764,107.544493011322906508948436506,2060.50233448310109813462005984,
                    106.855835231660425293136180967,2140.1907430651258783910465514,106.341885486829050357422806487,
                    2210.85045399169421412280031838,105.944524372556556670304920815,2274.35049462165600170915403629,
                    105.628633633159106432372213089,2332.02738212998927491243405558,105.371800240031955404630555254,
                    2384.87157591511710815179249644,105.159077241615031882512383245,2433.63837880068948243531303509,
                    104.980130277494713112494391707,2478.91744374082498668828063511,104.827595055060784077634719095,
                    2521.17822425954438238153438926,104.696087430520179904199487631,2560.80075681682622343061607946,
                    104.581583197801400702543375983,2598.0971349051815875508156376,104.481016380228069146200212766,
                    2633.32687320320608538498248617,104.392011445763915509818362122,2666.70814330390249118953100251,
                    104.312700243018180324756356939,2698.42614893868040045165341711,104.241594040000665984553047783,
                    2728.63947510541026345528495542,104.177492292812487365394765376,2757.48497392334220893938270339,
                    104.119416439244600046566218583,2785.08157522750931024866802687,104.066561080508191617101797415,
                    2811.53329466097437663617301293
                  },-1),
                  // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -581.704438035230202264083423924,-111.71362966660234328251397637,-20.7407407407407407407407407407,
                    43.8765432098765432098765432099,183.005555555555555555555555556,50.5265432098765432098765432099,
                    208.271746031746031746031746032,58.9353489543965734441924918115,218.99033446712018140589569161,
                    65.2851288457769939251420732902,225.94659611992945326278659612,70.3255343235141214939194737175,
                    231.171486594213866941139668412,74.4958411484052509693535334561,235.386012522276258539994803731,
                    78.0502911550530598149645768693,238.931438998093409858115740469,81.146791096085838492605120825,
                    241.997945372200213455601059559,83.8896670323420032229379298462,244.703192302600808385393687659,
                    86.3513244453167790923946017562,247.1254382873291222984335095,88.584028338761995685660042006,
                    249.319567889692650471501858838,90.6267258379079395815609751985,251.325663108074083772231364308,
                    92.5092113929197412041502713774,253.173945727267160068868212781,94.2547839899134240237280065581,
                    254.887799963360724703399223421,95.8820062503848544836420662975,256.48571053378206692686740318,
                    97.4059062109843518758363062149,257.982554460118255882781473733,98.8388208700054010515615781276,
                    259.390490464281135822710201091,100.191002354301038941957689033,260.719588372652030021910417615,
                    101.47106255875820588472977669,261.97828517165905171855484442,102.686305277830931182631533817,
                    263.17372230523583197935270851,103.842978335798247349642027064,264.311999666944199731271059954,
                    104.94646777196150387491355913,265.398369928480022910074689536,106.001449356164713915303613719,
                    266.437389342268208295080763365,107.012008210716910123223067512,267.433036264388484090453291165
                  },0),
                  // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -117.333333333333333333333333333,234.222222222222222222222222222
                  },0),
                  // AggQ_reg as^3 LM^1 NF^0 [below 0.375] y=x H[0, y]^4
                  ome_x<double>({
                    -16.8888888888888888888888888889,25.1111111111111111111111111111
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^1 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^1 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -294.528332739831366367860088922,23.6524052406014031661716340328,-3511.93233790498534655155056869,
                    -4036.54093840580499919058102059,-12435.1571178321161822590136785,-17860.8452896049311320254082547,
                    -41600.9339001548704039554223337,-63139.9936332696093871209413803,-140454.550037418413502911200954,
                    -216879.824771905358565369409195,-472603.801463286015710902976798,-730416.539584852474867270059413,
                    -1.57529366352903220858790674221e6,-2.40895320381408195498017388408e6,-5.17278981082385125134673756808e6,
                    -7.73399895624977172647881285411e6,-1.6610567357560636086549203736e7,-2.38888870941976858349789543257e7,
                    -5.15639398929048375342965099492e7,-6.93940258128441694167869155323e7,-1.51621787331124942844424747437e8,
                    -1.80161801664888648794726457839e8,-4.04624337385311818205051345817e8,-3.56688305135366714590935196227e8,
                    -8.68594579657992487114208804573e8,-6.22887662216411967767468261959e7,-6.75207308855151281256083770882e8,
                    4.88294268895201780151957539216e9,7.79200335919914022483169715394e9,3.88944293108005428759685761628e10,
                    7.06494753926556861768786186148e10,2.28839618069024755348163339337e11,4.31657045873946625618149225381e11,
                    1.19329184530869658060257956479e12,2.29109854543713116167850580093e12,5.83013931554367818413903192683e12,
                    1.13078441394432526680184476042e13,2.73492476734471815656941258254e13,5.33908999539862243272091750374e13,
                    1.24784434826046859635158898157e14,2.44695043771485234708742684116e14,5.58022461082387424592838047155e14,
                    1.09780362721254250782992128931e15,2.45783071546078279745799009525e15,4.847136496188310498624977729e15,
                    1.06981510811724143571263527854e16,2.1138021142487792173535908892e16,4.61262573222802289072631704147e16,
                    9.12760607333420732988928946263e16,1.97343884782347773597070550237e17,3.90986009083612913324496691685e17
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^1 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^1 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -133.060607383701603749781333153,1251.69681827617590755018345875,-920.840060163333689424342674891,
                    389.162070847128450717381110796,-161.2105702638666918283716446,-258.012042166268585266221067342,
                    -282.322482977257547356573807473,-287.90679425289376256990424222,-286.774945156003173985322630691,
                    -282.572976827966856344499108691,-276.69687244392253519547664123,-269.799259951447573097668834739,
                    -262.242033554305964782783208377,-254.253478421778256723695888435,-245.99012132610009750760526569,
                    -237.56446803575921815676092303,-229.059314121379270641921318503,-220.536186527011819552622211286,
                    -212.040880066523073401288990944,-203.607352456998199149304745459,-195.260578041361175789829517254,
                    -187.018684294131107291062771242,-178.894569332226164631230086677,-170.897133831219121163794624586,
                    -163.03222265952277034816129421,-155.303346548739037201051730716,-147.712236480931660668452511189,
                    -140.259270529717071129819503022,-132.94380322025031058841088497,-125.764420195701487917606257889,
                    -118.71913549023265812350335336,-111.805544568432474378955528618,-105.020943166469330091333509724,
                    -98.3624196096921557612802045504,-91.8269264952759879562031063824,-85.4113362739058380325258062293,
                    -79.1124842342169614083802166997,-72.9272016075196635939767163624,-66.8523409082363054448674420798,
                    -60.8847951626052513996080073334,-55.0215123209768344912710844609,-49.2595058722472281914298872186,
                    -43.5958624636981753890375175535,-38.0277471614348275807142012854,-32.5524068549118260628658293373,
                    -27.1671722054772228356807810023,-21.8694584571620251040958673565,-16.6567653632854152003695839488,
                    -11.5266764311275798673404368942,-6.47685764608185254101189268125,-1.50505580411610708691622143502
                  },0),
                  // AggQ_reg as^3 LM^1 NF^0 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    360.,56.5863313235214988420546994068,874.666666666666666666666666667,635.275557753581492370483140296,
                    983.399014543704949160606597086,1134.96680890957923655646926858,1240.31012355764047280594746036,
                    1324.20125824536067149021746932,1394.82423665628732568058189058,1456.08718802826376222274991557,
                    1510.27435726320664399343872443,1558.88266872281293545566767563,1602.9639057496427426449171955,
                    1643.29211066892338347242935262,1680.45619181137612724777822917,1714.91573000662142119705420758,
                    1747.0367365930958037233686743,1777.11563743278980113805246599,1805.3959398287466950587535767,
                    1832.08014844874677405023369039,1857.33848678768715046520520752,1881.31540845159938843399252571,
                    1904.13454218654780031091546092,1925.90250400622261274334579894,1946.7118751583130890688857143,
                    1966.64355619204474922365837065,1985.76864783156683953486258233,2004.1499684269767764292503916,
                    2021.84328910143810252554405479,2038.89834732450121499017836662,2055.3596849192832233969797133,
                    2071.26734573728002971488479517,2086.65746025369137257544389787,2101.56273835777194421458271634,
                    2116.01288708803665044488181079,2130.03496660483814769413925222,2143.65369502756598110047048665,
                    2156.89171069196622539665976727,2169.76979876016491618261695177,2182.30708783539409319924282959,
                    2194.52122121603255707926501406,2206.42850661007155783301388823,2218.04404747667541599305099033,
                    2229.38185863199257923331892159,2240.45496832559666896184310614,2251.2755086416713306056489591,
                    2261.85479578956930698732550571,2272.20340160937037721499536935,2282.33121741985110131403666211,
                    2292.24751117119807621092153781,2301.96097872674809679780750809
                  },0),
                  // AggQ_reg as^3 LM^1 NF^0 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    -16.8888888888888888888888888889,-7.11111111111111111111111111111,-19.8518518518518518518518518519,
                    -28.5925925925925925925925925926,-33.9604938271604938271604938272,-38.3604938271604938271604938272,
                    -42.1633660871756109851347946586,-45.5126732174351221970269589317,-48.4975700568293160885753478346,
                    -51.1829433666470703507740544778,-53.618514340130501746663362825,-55.8432638069001705365341728978,
                    -57.8882137805214728291651368574,-59.7783609417309051008684708318,-61.534074109312204550299788395,
                    -63.1721240487907154573821240488,-64.7064525898724283960731480916,-66.1487537158945591599698994291,
                    -67.5089173755924913143725568665,-68.7953719892836000959767548582,-70.0153514240113090179432505837,
                    -71.175105087372386636589925561,-72.2800647645573106825886987526,-73.3349782473594171191327654152,
                    -74.3440172368109730697786515079,-75.3108651415057840328177295916,-76.2387890343723312840558292289,
                    -77.1306990281405606763933273903,-77.9891975838373904386541249762,-78.8166207069032321293561229801,
                    -79.6150725619928731474958020194,-80.3864547144977032086292667195,-81.1324909585607107716194715961,
                    -81.8547484991436822620130738613,-82.5546561058434495680978306241,-83.2335197385232077945183773713,
                    -83.8925360518993902756145987586,-84.5328041123642934247884186834,-85.1553356012731902030763161973,
                    -85.7610637314479158048150925741,-86.3508510652732946880702989579,-86.9254963915844981033117771986,
                    -87.4857407930882794757845506735,-88.0322730151808313601939324172,-88.5657342298204290286617160566,
                    -89.0867222738758962480632991562,-89.5957954295416942979487272755,-90.0934758045411787505544565774,
                    -90.580252361574864957182617405,-91.0565836395241847389309923829
                  },1),
                  // AggQ_reg as^3 LM^1 NF^0 [above 0.625] y=1-x H[0, y]^3
                  ome_x<double>({
                    -2.96296296296296296296296296296,0,-2.96296296296296296296296296296,-2.96296296296296296296296296296,
                    -3.06172839506172839506172839506,-3.16049382716049382716049382716,-3.24514991181657848324514991182,
                    -3.31569664902998236331569664903,-3.37448559670781893004115226337,-3.42386831275720164609053497942,
                    -3.4657687991021324354657687991,-3.50168350168350168350168350168,-3.53276353276353276353276353276,
                    -3.55989689323022656355989689323,-3.58377425044091710758377425044,-3.6049382716049382716049382716,
                    -3.62381989832970225127087872186,-3.64076494795449043815056886952,-3.65605371453324669698938704787,
                    -3.66991552956465237166991552956,-3.68253968253968253968253968254,-3.69408369408369408369408369408,
                    -3.70467964670863221587859269019,-3.71443907675791733762748255502,-3.72345679012345679012345679012,
                    -3.73181386514719848053181386515,-3.73958003587633217262846892477,-3.74681559866745051930237115422,
                    -3.75357294897524782582253846622,-3.75989782886334610472541507024,-3.76583034647550776583034647551,
                    -3.7714058144165671047391477499,-3.77665544332210998877665544332,-3.78160691886182082260513633063,
                    -3.78628488432410001037452017844,-3.79071134626690182245737801293,-3.79490601712823935046157268379,
                    -3.7988866059041497637988866059,-3.80266906582696056380266906583,-3.80626780626780626780626780627,
                    -3.80969587473652514302920806986,-3.81296511377812190820320901622,-3.81608629670645174521143513392,
                    -3.81906924542583457312139482682,-3.82192293303404414515525626637,-3.82465557344784397924494542852,
                    -3.82727469992348191546464750288,-3.82978723404255319148936170213,-3.83219954648526077097505668934,
                    -3.83451751070798689846308893928
                  },1)
                },0)
              )
            }
          ),
          // AggQ_reg as^3 LM^1 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^1 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^1 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    54.4197530864197530864197530864,-30.5567561269710138150353327773,-39.7355465282621055114317665549,
                    12.6209552881788912117229087075,0.600823045267489711934156378601,-1.59226337448559670781893004115,
                    -1.07249382716049382716049382716,-0.706876963130931384899638867893,-0.481927317664279115526281059161,
                    -0.338568415804495421527419511798,-0.242976058278821359362217680854,-0.176673563346215796646024854031,
                    -0.129171130411003893301618023585,-0.0942235893496753848523291201825,-0.0679460144789687042306218002317,
                    -0.0478274249922869923138275054979,-0.0321905001730572984715667429779,-0.0198825307286201447787650896345,
                    -0.0100916165236103771558963503741,-0.00223351232114872751277382077069,
                    0.00412019149782608552191728376849,0.00928890072300372654605269014151,0.0135142971477948010322061260325,
                    0.0169816835093956751680957494704,0.0198348317269247650382465305796,0.0221864923738263577310535115764,
                    0.0241259508396230752235239956209,0.0257245381688067086385644811721,0.0270397028988766712508320142057,
                    0.0281180557693446983850470015649,0.0289976715117731367614367995047,0.0297098466920588785754716344888,
                    0.0302804547711233464673797141528,0.03073099978203721240228614357,0.0310794422954282525153075577869,
                    0.0313408517736236364402931409942,0.0315279254386139915061537168485,0.0316514036914528597544434534854,
                    0.031720404765756706634506569785,0.0317426958844178742473427749558,0.0317249141684893819693131845005,
                    0.0316727475367325038706103800156,0.0315910835621038003558143862782,0.031484132523639065277069499153,
                    0.0313555295690504381222745858951,0.0312084198833256878735763632142,0.0310455299672732189941852644101,
                    0.0308692275123220846194314729048,0.0306815718730671755385553740453,0.0304843567564079772090585023754,
                    0.030279146442559357216292347994,0.0300673066111792075917061483367
                  },-1),
                  // AggQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    47.1366902466874850662661167413,-6.04849493849770011891906844386,9.28395061728395061728395061728,
                    -6.32098765432098765432098765432,-1.93580246913580246913580246914,-0.956049382716049382716049382716,
                    -0.577918871252204585537918871252,-0.3902242378432854623330813807,-0.282522885697488872092046695221,
                    -0.214618851655888692925729962767,-0.168878912582616286319990023694,-0.13651940278202904465530728157,
                    -0.112742027893543045058196573348,-0.094735274222453709633196812684,-0.0807584221503635423049342463262,
                    -0.0696846715894334941953989573037,-0.0607573399730262475360514576201,-0.0534523758668318453016646019337,
                    -0.0473971749257233247871126689665,-0.0423207364178643425953307123381,-0.0380220206135872494752150030697,
                    -0.0343492690359858279657778404646,-0.0311861410299204389172392183873,-0.0284422084273146884133880754148,
                    -0.02604630637396862979723723265,-0.0239417977620876171600809281969,-0.0220831454290143748833207522666,
                    -0.0204333942352302592885055689741,-0.0189622965677619126908591523727,-0.017644899643528134427731153725,
                    -0.0164604687903883689750489387378,-0.015391658238788263786170659997,-0.0144238663662874554307089860333,
                    -0.0135447298778907082052387095225,-0.012743723680076830962853821195,-0.0120118419058387202507595762937,
                    -0.0113413417864087020638530131216,-0.0107255365882413983146294404921,-0.010158627146806461855582998887,
                    -0.0096355639789122280776517583109,-0.00915193378377605361575606136351,
                    -0.0087038655192531853249679940142,-0.00828795228374132193313809487803,
                    -0.00790118603244196448672107737591,-0.00754090277119378298831019657456,
                    -0.00720473634746120302731238513054,-0.00689057932970872174001619660125,
                    -0.00659654975811532655567517437991,-0.00632096277990591391350754280684,
                    -0.00606230636543065466002421939812,-0.00581922044706015437165039863262
                  },0),
                  // AggQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    -13.9259259259259259259259259259,-17.4814814814814814814814814815,-9.48148148148148148148148148148
                  },0),
                  // AggQ_reg as^3 LM^1 NF^1 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    3.55555555555555555555555555556,3.55555555555555555555555555556
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^1 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    16.1668199199377459302130965063,82.0367702764075178568211551012,201.884347462107883788020888814,
                    503.831276277694969406071542504,1050.65802726577538436885969916,2305.32845748535154095787533596,
                    4778.50719132469767226680545966,9961.22102212619847912885431937,20430.1185802095634517063744308,
                    41866.3039844687675049410298093,85324.3393501829810172738699251,173422.465417868286056412152805,
                    352002.655059874264397207865685,712128.552249988805035763799166,1.44141747737886022593659342012e6,
                    2.90761076848090867272240867973e6,5.87353480839176876372110815389e6,1.18248942812271600577996138399e7,
                    2.38513591115811514423394575297e7,4.79527112382630766695533568001e7,9.66120320198765519355871362035e7,
                    1.94041341596543112189536657628e8,3.9058884766049043304976965387e8,7.83887524414430298591348698337e8,
                    1.57675198616039593584290427585e9,3.16259312431813678418848254538e9,6.35761365505189820259927682528e9,
                    1.27460058450128273653778308024e10,2.56100062940609196805597774222e10,5.13250703647251657239235807656e10,
                    1.03082228676270649059981054077e11,2.06525455601753672143144828169e11,4.14642051190299724727724890222e11,
                    8.30531525381532938017805059699e11,1.6669513948727337932791810276e12,3.33823350257505728746297433237e12,
                    6.69835435750660405226474259361e12,1.34118025558293312025484207055e13,2.69052841732134450110633645011e13,
                    5.38633437955538908108615164346e13,1.08032585588939291607239545405e14,2.16250175528287991492566914844e14,
                    4.33649682535675750842395805191e14,8.6794919008817366786789518098e14,1.74022940305617375456416155257e15,
                    3.48274459202514351454593986477e15,6.98185365589699245662371404372e15,1.39717549159172036229038389992e16,
                    2.80054943411833703287270003263e16,5.60393324727639199073983607008e16,1.12313979457665076990964519905e17
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^1 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -20.1481481481481481481481481481,41.7905673455659647553552805929,-4.96296296296296296296296296296,
                    32.1856290739610264837503423213,26.1239006788992980886886139262,28.3010183558502623459658887114,
                    30.4516339751880578789633281057,32.2070887626087922425238155165,33.6460834823687852485227183748,
                    34.851999012555200106432790158,35.8834583577354217440437407557,36.7804902577346524870403777221,
                    37.5710741319522208133424653137,38.2753999579570467928758111892,38.9084844191938426306396870625,
                    39.4817955768460062986067955176,40.0042908483836541585650587566,40.483101485567508419415024577,
                    40.9239978870004581988135575426,41.3317148197919416640468572569,41.7101844240929335223052068353,
                    42.0627068437911484284050360114,42.392077618053847669235403132,42.7006844285411584257539133932,
                    42.9905816943735760067390424305,43.2635488673896860417346509615,43.5211365419474949446079946031,
                    43.7647033239600970299460721439,43.9954456013456511536058176869,44.2144217974503217142964638015,
                    44.4225722908870195206535017866,44.6207358982449171682041111007,44.8096636063824567379588388995,
                    44.9900300857824325856021258858,45.162443400214746536713913558,45.3274532399852560924955248032,
                    45.4855579388118134808848041248,45.6372104825023755092883591334,45.7828236772584123265121972561,
                    45.9227746137831453613552972675,46.0574085383744916512909854814,46.1870422222943981906835333846,
                    46.3119669047810624461279297149,46.4324508722403744016795626938,46.5487417257564987575539257467,
                    46.6610683805912214355646680053,46.7696428344050662369601412273,46.8746617352248000350451057023,
                    46.976307775462543873666964735,47.0747509343727721706226320155,47.1701495880656130525798211407
                  },0),
                  // AggQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    -2.66666666666666666666666666667,-20.,14.2222222222222222222222222222,-9.48148148148148148148148148148,
                    -2.07407407407407407407407407407,0.0177777777777777777777777777778,1.0824691358024691358024691358,
                    1.80760896951373141849332325523,2.37309145880574452003023431595,2.84315108759553203997648442093,
                    3.24703115814226925338036449148,3.6008453947847887241826635766,3.91480364005616530869056121581,
                    4.19602151567963533775499587465,4.44977960582356186751791147396,4.68016310555993095675635358175,
                    4.89042356820134597912375690153,5.08320224565899306383735449479,5.26067777514656920013834021267,
                    5.42466907243520258686312796476,5.5767098899487145644334281562,5.71810447332192872514264228845,
                    5.84997007042495094175096319495,5.97326999021458880456069657453,6.08883969103320996899042981669,
                    6.19740761998853262818803268393,6.29961203278288712708916277054,6.39601469211312415807210915368,
                    6.48711211319828154137095952656,6.57334486196031347037617809617,6.6551052932172470027589061906,
                    6.73274402911978414087816777527,6.806575412874585551562816966,6.87688212340733204922940060204,
                    6.94391909878379745261241589234,7.00791688694053013673661862744,7.06908451943967076131117436913,
                    7.12761198600124499964714444274,7.18367237333773860261082580486,7.23742372046912267477287460919,
                    7.28901063359220026767035596015,7.33856569623102414190262023628,7.38621070443408081446182906453,
                    7.4320577519229239048212771714,7.47621018611397778635833446519,7.51876345265690367814103803192,
                    7.55980584342293148131106382992,7.59941916062718561315197916662,7.63767930789466840939508069699,
                    7.67465681751184201580274205942,7.71041732178980352606983128122
                  },0),
                  // AggQ_reg as^3 LM^1 NF^1 [above 0.625] y=1-x H[0, y]^2
                  ome_x<double>({
                    5.33333333333333333333333333333,0,5.33333333333333333333333333333,5.33333333333333333333333333333,
                    5.51111111111111111111111111111,5.68888888888888888888888888889,5.84126984126984126984126984127,
                    5.96825396825396825396825396825,6.07407407407407407407407407407,6.16296296296296296296296296296,
                    6.23838383838383838383838383838,6.30303030303030303030303030303,6.35897435897435897435897435897,
                    6.40781440781440781440781440781,6.45079365079365079365079365079,6.48888888888888888888888888889,
                    6.52287581699346405228758169935,6.55337690631808278867102396514,6.58089668615984405458089668616,
                    6.60584795321637426900584795322,6.62857142857142857142857142857,6.64935064935064935064935064935,
                    6.66842336407553798858146684234,6.68599033816425120772946859903,6.70222222222222222222222222222,
                    6.71726495726495726495726495726,6.73124406457739791073124406458,6.7442680776014109347442680776,
                    6.75643130815544608648056923919,6.76781609195402298850574712644,6.77849462365591397849462365591,
                    6.78853046594982078853046594982,6.79797979797979797979797979798,6.80689245395127748068924539513,
                    6.8153127917833800186741363212,6.82328042328042328042328042328,6.83083083083083083083083083083,
                    6.83799589062746957483799589063,6.84480431848852901484480431849,6.85128205128205128205128205128,
                    6.85745257452574525745257452575,6.86333720480061943476577622919,6.86895533407161314138058324105,
                    6.87432464176650223161851068828,6.87946127946127946127946127946,6.88438003220611916264090177134,
                    6.88909445986226744783636550519,6.89361702127659574468085106383,6.89795918367346938775510204082,
                    6.9021315192743764172335600907
                  },1)
                },0)
              )
            }
          )
        },0),
        // AggQ_reg as^3 LM^2
        ome_nf<double>({
          // AggQ_reg as^3 LM^2 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^2 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^2 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^2 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -390.458121789784314019152261532,399.891842684235593124834512213,-666.538024913454480701035720877,
                    553.650976793416151639342596508,114.915682945340383353968109069,-176.474036854805403930099796312,
                    211.840094467974128209935187258,-212.841782214677747929427922624,221.580882767773765878053581,
                    -221.487977440641933329239424728,225.554306086412084096450744556,-225.427290450593124029721985614,
                    227.813924893973749772691707089,-227.716517651516818508495878053,229.296840007798196343300860691,
                    -229.225108000006692492300950195,230.352513234555414810884665013,-230.298858782363694846293862797,
                    231.14522617889535871247067038,-231.104102401041139250203371415,231.763597344328727959150617575,
                    -231.731317005625521560081102564,232.260042812977641415394028139,-232.234158759938308089072154298,
                    232.667699938813359904114799004,-232.646556161702792825336620339,233.008607327473935406642910798,
                    -232.99105584220620171501790621,233.298021250173341621305389505,-233.283246948981441530071145792,
                    233.546852451466899342447959718,-233.534263518446918564297327263,233.763117871740810299441995894,
                    -233.752275802281597693086211537,233.952844419637661782617945655,-233.943418302524297285871851331,
                    234.120652684438166673485358411,-234.112388654989308228012533197,234.270145890089832731589679569,
                    -234.26284628056834765341588193,234.404176135863338396537287041,-234.397684960311397001773377886,
                    234.525030958014344670071168205,-234.519223621104365629475060858,234.634566779811338981788696362,
                    -234.629342657306987972153349293,234.734306131021633336748077795,-234.729583137728035681209156654,
                    234.825509639591636474588759605,-234.821220195864651177299190422,234.909230131031711991762411127,
                    -234.905318128615889160067688652
                  },-1),
                  // AggQ_reg as^3 LM^2 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -71.1111111111111111111111111111,-379.027978920487895756857342813,-172.031973919470467443943757038,
                    -138.271604938271604938271604938,7.9012345679012345679012345679,295.397530864197530864197530864,
                    1.1950617283950617283950617284,419.749700176366843033509700176,0.487780297304106827916351725876,
                    488.400923826320651717477114303,0.268273564569860866157162453459,537.440971977268273564569860866,
                    0.170649253477536305819134101962,575.966475724051481627239202997,0.118419092778067137041496015855,
                    607.814748268960723173177385632,0.0871058394867918677442486966296,635.008929247948855791993046895,
                    0.0668154698335398066270807524172,658.759470379638061433861969418,0.0529009205223304282441633904226,
                    679.852797145916838854032198591,0.0429365862949822849572223005807,698.830589224003123783963933629,
                    0.0355527605341433605167350942685,716.082664613958856459358799385,0.0299272472026095214501011602461,
                    731.89932147809418396426498578,0.0255417427940378241106319612176,746.502781350524942922998595093,
                    0.0220561245544101680346639421563,760.067055688715906520578606752,0.0192395727984853297327133249963,
                    772.731022764751724325667504882,0.0169309123473633852565483869032,784.607332763839774603143009064,
                    0.0150148023822984003134494703671,795.788648370433437755139536002,0.0134069207353017478932868006152,
                    806.352126813357558345566764547,0.0120444549736402850970646978886,816.362708162357772334472105227,
                    0.0108798318990664816562099925177,825.875573211762975545357814936,0.00987648254055245560840134671989,
                    834.93801116974556818998832587,0.00900592043432650378414048141317,843.590859838579374239093972613,
                    0.00824568719764415819459396797488,851.86963083720580275347100255,0.00757788295678831832503027424765,
                    859.805399230076611541904963528
                  },-1),
                  // AggQ_reg as^3 LM^2 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    35.5555555555555555555555555556,-78.2222222222222222222222222222,-9.48148148148148148148148148148,0,48.,
                    0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,48.,0,
                    48.,0,48.,0,48.,0,48.,0,48.,0,48.
                  },0),
                  // AggQ_reg as^3 LM^2 NF^0 [below 0.375] y=x H[0, y]^3
                  ome_x<double>({
                    -16.5925925925925925925925925926,26.0740740740740740740740740741
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^2 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^2 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^2 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -142.821764335851398285530488473,-49.3656159897275570406305353517,-820.66397214454732607650864535,
                    -1061.52765547501560486286261137,-3362.38570600765693101076760659,-5028.60881964907035335899222751,
                    -12020.5577213841674592505720815,-19291.5811853546702556789528788,-43682.953931163098470125910087,
                    -72388.9830289536114282490050086,-159550.977239590210848155738611,-269108.878873407224267946060188,
                    -583719.337732793565476898506784,-995086.1712196985116693542933,-2.13640152013098891694793514128e6,
                    -3.66580480891102743178029788008e6,-7.81643003046701635384722819595e6,-1.34616973262745309262399100892e7,
                    -2.85693969235341135019335797063e7,-4.92795229249008719591606761572e7,-1.04252250109047856943751382087e8,
                    -1.79782581086900716670653274535e8,-3.79553353964768830342688662396e8,-6.53317776737576194008627276684e8,
                    -1.37767731617053896767367201083e9,-2.36315489366636989057908904951e9,-4.98140096705649598610270044219e9,
                    -8.50066407750018390124197257066e9,-1.79252526529379444385916130593e10,
                    -3.03734392630712550366989794223e10,-6.41181890998093130799427813517e10,
                    -1.07634001041545128486996299467e11,-2.27648856425652158328717790776e11,
                    -3.77516064290720999062106604877e11,-8.00755750911038678771578017288e11,
                    -1.30690239179444821850403271655e12,-2.78350368902788912188954805223e12,
                    -4.44789733613373579930932925139e12,-9.52838739937013158044689056093e12,
                    -1.47946239756327787817619264261e13,-3.19566527051382510083734844429e13,
                    -4.76426574978394978998844699199e13,-1.04176322144026350243601974331e14,
                    -1.46107313956881707898878685509e14,-3.25712038491452648981834523761e14,
                    -4.1283364682371923131377961655e14,-9.52235706320715574230094151577e14,
                    -9.88309164687719203933986083462e14,-2.4561110332910400060178141627e15,
                    -1.38849393587804667838047235397e15,-4.59787898871321601269019365571e15
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^2 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^2 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^2 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -46.8209425690629088271018497788,134.988008039247337965114535706,-129.777777777777777777777777778,
                    95.2041025072214661750497229642,-31.7588604557414967879132399987,-58.0379403096547300615001627444,
                    -67.0231930030741361745932583296,-70.9805952865240781238859545202,-72.9386194872070418420229141198,
                    -73.8958162452437743657384300594,-74.257291672326367318984398361,-74.2198763908471323023909972356,
                    -73.8958417573422573976895856065,-73.3578778240994508600226411646,-72.6572672479725650758860703281,
                    -71.8321033989403627313022194475,-70.9115126859992759099074367745,-69.918125074425730457920595815,
                    -68.8696867553956813585990498197,-67.7801961554346889794237828658,-66.66074173988544753435382277,
                    -65.5201357684913726406896520658,-64.3654003392478417666706244543,-63.2021431177517120083750635195,
                    -62.0348493463638039765343297036,-60.8671097861969704413391714354,-59.7017993940186200419222782795,
                    -58.5412179803033012648741315773,-57.3872014279653227322730551444,-56.2412100327713879331844264604,
                    -55.1043989937652823758709253234,-53.9776749172121409065886849692,-52.8617413117530958306256459979,
                    -51.7571353780609476179162450906,-50.6642578818730198516009657428,-49.5833975058513202596112246732,
                    -48.5147507738261765832363920865,-47.4584384084313461731327432911,-46.4145188032503392599363668821,
                    -45.3829991508175705710338640356,-44.3638446587076103107644536433,-43.3569862003747739100932937623,
                    -42.3623266799817054296717994075,-41.379746337085776160803014145,-40.4091071746157814934469206274,
                    -39.4502566596802696271051794211,-38.5030308195667860539597320848,-37.5672568334004753853428392389,
                    -36.6427552022309516980938336586,-35.7293415659510748878712579828,-34.8268282237494571627179232649
                  },0),
                  // AggQ_reg as^3 LM^2 NF^0 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    96.,3.55555555555555555555555555556,190.222222222222222222222222222,146.666666666666666666666666667,
                    234.607407407407407407407407407,280.296296296296296296296296296,313.48712522045855379188712522,
                    340.183421516754850088183421517,362.683597883597883597883597884,382.177777777777777777777777778,
                    399.388577841911175244508577842,414.797421837421837421837421837,428.7447992336881225770114659,
                    441.481825170714059602948491837,453.199596171024742453313881885,464.047157592554417951243348069,
                    474.143107137355503368575264,483.583405483405483405483405483,492.446810739575330791934392439,
                    500.798763838140056463643208283,508.69423064494271924612481888,516.179822016348626992884695966,
                    523.295402380275921953878761732,530.07532864604047560275610056,536.549417178793945518942153752,
                    542.743707582407272809749589935,548.681072518563432549164141572,554.381709383598875729315497392,
                    559.863540287776804832051841207,565.142540115957352496093298182,570.233007640192121544662979817,
                    575.147791139515522294560109008,579.898477380764211482478634731,584.495550867332216470637846934,
                    588.948528790496079457875877465,593.266075993848083324243706304,597.456103395406571686119262691,
                    601.525852639267470370363464432,605.481969221993548978636964166,609.330565923575008759922591615,
                    613.077278042951779412476201351,616.727311674453124768906339748,620.28548604950067538748418882,
                    623.756270796438148709161570245,627.143818831885671035103178464,630.451995482999522645633244244,
                    633.68440434634414464438143484,636.844410311760167413550878022,639.935160115499562792953784511,
                    642.959600733512315295768809925,645.920495881132150204453858061
                  },0)
                },0)
              )
            }
          )
        },0),
        // AggQ_reg as^3 LM^3
        ome_nf<double>({
          // AggQ_reg as^3 LM^3 NF^0
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^3 NF^0 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^3 NF^0 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^0 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    -97.3827160493827160493827160494,149.865885236719720728561957531,-117.393374022539538530697301729,
                    82.8971193415637860082304526749,2.63374485596707818930041152263,0.806584362139917695473251028807,
                    0.398353909465020576131687242798,0.240799529688418577307466196355,0.162593432434702275972117241959,
                    0.117717869040620363371686123009,0.0894245215232869553857208178196,0.0703662135760901192999958432057,
                    0.0568830844925121019397113673208,0.046975844955642935440915238895,0.039473030926022379013832005285,
                    0.0336493425626514759603892693026,0.0290352798289306225814162322099,0.0253155583220942698066881073417,
                    0.0222718232778466022090269174724,0.019748822885718051994630278736,0.0176336401741101427480544634742,
                    0.0158425085889946872813395846124,0.0143121954316607616524074335269,0.0129942254291335162155163409947,
                    0.0118509201780477868389116980895,0.0108526276558202624155155136042,0.00997574906753650715003372008203,
                    0.00920131059542265620138364677776,0.00851391426467927470354398707253,0.00790095690323413028785798015528,
                    0.00735204151813672267822131405209,0.00685852866266182040627039114077,0.00641319093282844324423777499876,
                    0.00600994431928643976279541084721,0.00564363744912112841884946230106,0.00530988486669867956785575883126,
                    0.00500493412743280010448315678905,0.004725559077670292526605422134,0.00446897357843391596442893353839,
                    0.0042327613111693591064929162029,0.00401481832454676169902156596287,0.00381330574324002233989835890146,
                    0.00362661063302216055206999750592,0.00345331345155888413880753953251,0.00329216084685081853613378223996,
                    0.0031420428213307429117959152394,0.00300197347810883459471349380439,0.00287107472071196739167341525052,
                    0.00274856239921471939819798932496,0.00263373449162746413062814283618,0.00252596098559610610834342474922,
                    0.00242467518627506432152099943026
                  },-1),
                  // AggQ_reg as^3 LM^3 NF^0 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    -14.2222222222222222222222222222,-33.1851851851851851851851851852,-27.2592592592592592592592592593,
                    -6.32098765432098765432098765432
                  },-1),
                  // AggQ_reg as^3 LM^3 NF^0 [below 0.375] y=x H[0, y]^2
                  ome_x<double>({
                    13.037037037037037037037037037,-18.962962962962962962962962963
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^3 NF^0 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^3 NF^0 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^0 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    -27.5047277481006906749383295643,-168.809386233768524592144432841,-329.873339181709858538638239899,
                    -745.327473623178432775908717222,-1437.4090470216894455892550344,-2826.6467114022797008251168538,
                    -5510.00005259921429847728320587,-10795.4445170126055898473147123,-21078.1968828428339092576405164,
                    -41284.9573722368406147803468063,-80731.8673118161523856313084158,-158230.995175357492287420260081,
                    -309855.531155988223580543950041,-607846.408888577364047975656387,-1.19180342798383858529565237655e6,
                    -2.34006960175072010351830652585e6,-4.59314977815941133301199095137e6,-9.02600877801696290662577006997e6,
                    -1.7733104335273735598335421848e7,-3.48734691503966195217408724734e7,-6.85704663949442768550709522747e7,
                    -1.34939034521139250139248091741e8,-2.65513746624723545019277280009e8,-5.22812128068409867702214609357e8,
                    -1.02935330011969661851447589393e9,-2.02793025295113496985550454828e9,-3.9949304362250995665435693958e9,
                    -7.87413799550017470198683186655e9,-1.55192084716627129414763499163e10,
                    -3.06018117986874263118344874423e10,-6.03393978061797445476194566517e10,
                    -1.19026482543880824463355523188e11,-2.34782074582199551555037310033e11,
                    -4.63293551215098563723308961731e11,-9.14172174297969853332494127355e11,
                    -1.80448652492057077777943129245e12,-3.56172932101345419342578533896e12,
                    -7.03247527114559574259496902859e12,-1.38847469489556493413221326626e13,
                    -2.74217837281738132439130669508e13,-5.41547367393125450931500061023e13,
                    -1.06978034416738648965746253848e14,-2.1131783832706553095506852505e14,
                    -4.17528199481360360556390924823e14,-8.24933734534685958879753853488e14,
                    -1.63024232687569569677830552752e15,-3.22158036764529752907311153101e15,
                    -6.36763642165146557336805827443e15,-1.25855231234899964868207578388e16,
                    -2.48799877580383518107239689794e16,-4.91827415768310879544282127521e16
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^3 NF^0 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^3 NF^0 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^0 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    23.1111111111111111111111111111,-72.2962962962962962962962962963,2.96296296296296296296296296296,
                    -49.975308641975308641975308642,-47.5061728395061728395061728395,-46.7720164609053497942386831276,
                    -46.3341563786008230452674897119,-45.9153103216595280087343579407,-45.4684471319391954312589233224,
                    -44.9943301326017375400091449474,-44.5021882552746750277614475145,-44.0008429330988253547176106099,
                    -43.4970691361263751836142408533,-42.9956924156354355784555214755,-42.500018753010206001658993112,
                    -42.0122444672709222973773238324,-41.5337762922948108133293318479,-41.0654654706365586796190410185,
                    -40.6077747580759242940455294678,-40.1608965251763337448827403504,-39.7248361318259145041443063761,
                    -39.2994708635418252598458013958,-38.8845916901546170797731070963,-38.4799329188006943338294741445,
                    -38.0851932783704928771624570761,-37.7000509086752487240065948132,-37.3241739919830884668383359698,
                    -36.9572282548486304849895297132,-36.5988822133190516285012759008,-36.2488107861176500005191443427,
                    -35.9066977252694038876664521325,-35.5722371893650575421038745692,-35.245134695901367431910368374,
                    -34.9251076253329895532128055199,-34.6118854033306933019664616115,-34.3052094541833394772332067608,
                    -34.0048329937485181689062232584,-33.7105207123373606283874962966,-33.4220483846283043271298681507,
                    -33.1392024338661886877800904055,-32.8617794702983506297582339321,-32.5895858183631606330377545673,
                    -32.3224370430942140615002981919,-32.0601574831803997686563958651,-31.8025797958671900225144645359,
                    -31.5495445172046222275260389109,-31.3008996398991227088615390476,-31.0565002101025556696361953238,
                    -30.8162079437925542343497555411,-30.5798908629031201649699702736,-30.3474229510083122416732753321
                  },0),
                  // AggQ_reg as^3 LM^3 NF^0 [above 0.625] y=1-x H[0, y]^1
                  ome_x<double>({
                    5.92592592592592592592592592593,0,5.92592592592592592592592592593,5.92592592592592592592592592593,
                    6.12345679012345679012345679012,6.32098765432098765432098765432,6.49029982363315696649029982363,
                    6.63139329805996472663139329806,6.74897119341563786008230452675,6.84773662551440329218106995885,
                    6.9315375982042648709315375982,7.00336700336700336700336700337,7.06552706552706552706552706553,
                    7.11979378646045312711979378646,7.16754850088183421516754850088,7.20987654320987654320987654321,
                    7.24763979665940450254175744372,7.28152989590898087630113773905,7.31210742906649339397877409573,
                    7.33983105912930474333983105913,7.36507936507936507936507936508,7.38816738816738816738816738817,
                    7.40935929341726443175718538037,7.42887815351583467525496511004,7.44691358024691358024691358025,
                    7.46362773029439696106362773029,7.47916007175266434525693784953,7.49363119733490103860474230845,
                    7.50714589795049565164507693243,7.51979565772669220945083014049,7.53166069295101553166069295102,
                    7.5428116288331342094782954998,7.55331088664421997755331088664,7.56321383772364164521027266125,
                    7.57256976864820002074904035688,7.58142269253380364491475602587,7.58981203425647870092314536759,
                    7.59777321180829952759777321181,7.60533813165392112760533813165,7.61253561253561253561253561254,
                    7.61939174947305028605841613972,7.62593022755624381640641803243,7.63217259341290349042287026783,
                    7.63813849085166914624278965364,7.64384586606808829031051253273,7.64931114689568795848989085704,
                    7.65454939984696383092929500577,7.65957446808510638297872340426,7.66439909297052154195011337868,
                    7.66903502141597379692617787856
                  },1)
                },0)
              )
            }
          ),
          // AggQ_reg as^3 LM^3 NF^1
          ome_piecewisex<double>(
            {0.375,0.625},
            {
              // AggQ_reg as^3 LM^3 NF^1 [below 0.375]
              make_ome_genps(
                std::function<double(double)>(f_id<double>),
                // AggQ_reg as^3 LM^3 NF^1 [below 0.375] y=x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^0
                  ome_x<double>({
                    4.93827160493827160493827160494,-1.18518518518518518518518518519,-0.592592592592592592592592592593,
                    -4.93827160493827160493827160494
                  },-1),
                  // AggQ_reg as^3 LM^3 NF^1 [below 0.375] y=x H[0, y]^1
                  ome_x<double>({
                    4.74074074074074074074074074074,4.74074074074074074074074074074
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^3 NF^1 [0.375,0.625]
              make_ome_genps(
                std::function<double(double)>(f_half<double>),
                // AggQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^1 [0.375,0.625] y=1/2-x H[0, y]^0
                  ome_x<double>({
                    2.23144720984532718241573207457,14.3477594732718394915582362301,29.8271604938271604938271604938,
                    69.5308641975308641975308641975,142.222222222222222222222222222,289.501234567901234567901234568,
                    586.587654320987654320987654321,1184.73368606701940035273368607,2387.52733686067019400352733686,
                    4803.95061728395061728395061728,9655.09794238683127572016460905,19388.6527497194163860830527497,
                    38909.701459034792368125701459,78045.7207977207977207977207977,156482.648215981549314882648216,
                    313648.129805996472663139329806,628498.330864197530864197530864,1.25912884241103848946986201888e6,
                    2.52206515032679738562091503268e6,5.0509703790340047649989170457e6,1.01142956496426250812215724496e7,
                    2.02510169848324514991181657848e7,4.05429212044252044252044252044e7,8.11606931818669789684282437906e7,
                    1.6245892465915190552871712292e8,3.25171443737283950617283950617e8,6.5081194848030389363722697056e8,
                    1.30249403911617600506489395378e9,2.60660664623006074857926709779e9,5.2162316427124004135498388372e9,
                    1.04381052785886760323541932737e10,2.08867800258523297491039426523e10,4.17934013980342493030665073676e10,
                    8.36241219427699214365881032548e10,1.67318564865892916088994520367e11,3.34769864632949974063699553896e11,
                    6.69790681188413403880070546737e11,1.34005654734394483372261150039e12,2.681014180732347224417399856e12,
                    5.36373943474471934822812015794e12,1.07307322852121527065527065527e13,2.14676582847335987955435109907e13,
                    4.29471218820792718200197874995e13,8.59167702998524241007341782536e13,1.71876571402547363036045206588e14,
                    3.43835426096383827609427609428e14,6.87828348885928678761853641081e14,1.37595844304445482568723518461e15,
                    2.75249551693835081901759915944e15,5.50610158523943860922146636432e15,1.1014336394792169365704207609e16
                  },0)
                },0)
              ),
              // AggQ_reg as^3 LM^3 NF^1 [above 0.625]
              make_ome_genps(
                std::function<double(double)>(f_omx<double>),
                // AggQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x
                ome_logx<double>({
                  // AggQ_reg as^3 LM^3 NF^1 [above 0.625] y=1-x H[0, y]^0
                  ome_x<double>({
                    -1.77777777777777777777777777778,5.92592592592592592592592592593,0,4.14814814814814814814814814815,
                    4.14814814814814814814814814815,4.22716049382716049382716049383,4.30617283950617283950617283951,
                    4.37389770723104056437389770723,4.430335097001763668430335097,4.47736625514403292181069958848,
                    4.51687242798353909465020576132,4.55039281705948372615039281706,4.57912457912457912457912457912,
                    4.60398860398860398860398860399,4.62569529236195902862569529236,4.64479717813051146384479717813,
                    4.66172839506172839506172839506,4.67683369644153957879448075527,4.6903897361413701282982328734,
                    4.70262074940437513536928741607,4.71371020142949967511371020143,4.72380952380952380952380952381,
                    4.73304473304473304473304473304,4.74152149514468355048065192993,4.74932903918411164787976382179,
                    4.75654320987654320987654320988,4.7632288698955365622032288699,4.76944180647884351588055291759,
                    4.77523025671173819321967470116,4.78063613695797603843580855075,4.78569604086845466155810983397,
                    4.79044205495818399044205495818,4.7949024293110314615690959777,4.79910213243546576879910213244,
                    4.80306331286723443586188684228,4.80680568523705778607739392053,4.81034685479129923574368018812,
                    4.81370259148036925814703592481,4.8168870625010975888168870625,4.81991303043934622881991303044,
                    4.82279202279202279202279202279,4.82553447756699789220114423366,4.82814986880027530434034499075,
                    4.83064681514293917394692588491,4.83303317411844543627489363923,4.83531612420501309390198279087,
                    4.83750223653605296117373412059,4.83959753771656331014949578008,4.84160756501182033096926713948,
                    4.84353741496598639455782312925,4.8453917863441672965482489292
                  },0)
                },0)
              )
            }
          )
        },0)
      },0)
    },2);


  /**************** AggQ, plus part ****************/

  const ome_as_plus<double> AggQ_plus = 
    // AggQ_plus
    ome_as_plus<double>({
      // AggQ_plus as^2
      ome_logm_plus<double>({
        // AggQ_plus as^2 LM^0
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^2 LM^0 NF^0
            ome_plusfunc_coeff<double>({
              12.4444444444444444444444444444
            },0)
          )
        },0),
        // AggQ_plus as^2 LM^1
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^2 LM^1 NF^0
            ome_plusfunc_coeff<double>({
              13.3333333333333333333333333333
            },0)
          )
        },0),
        // AggQ_plus as^2 LM^2
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^2 LM^2 NF^0
            ome_plusfunc_coeff<double>({
              4.
            },0)
          )
        },0)
      },0),
      // AggQ_plus as^3
      ome_logm_plus<double>({
        // AggQ_plus as^3 LM^0
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^0 NF^0
            ome_plusfunc_coeff<double>({
              -45.8156678957578840260789330435
            },0)
          ),
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^0 NF^1
            ome_plusfunc_coeff<double>({
              7.66128124559852736484981446015
            },0)
          )
        },0),
        // AggQ_plus as^3 LM^1
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^1 NF^0
            ome_plusfunc_coeff<double>({
              109.060607383701603749781333153
            },0)
          ),
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^1 NF^1
            ome_plusfunc_coeff<double>({
              20.1481481481481481481481481481
            },0)
          )
        },0),
        // AggQ_plus as^3 LM^2
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^2 NF^0
            ome_plusfunc_coeff<double>({
              46.8209425690629088271018497788
            },0)
          )
        },0),
        // AggQ_plus as^3 LM^3
        ome_nf_plus<double>({
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^3 NF^0
            ome_plusfunc_coeff<double>({
              -23.1111111111111111111111111111
            },0)
          ),
          ome_plusfunc<double>(
            // AggQ_plus as^3 LM^3 NF^1
            ome_plusfunc_coeff<double>({
              1.77777777777777777777777777778
            },0)
          )
        },0)
      },0)
    },2);


  /**************** AggQ, delta part ****************/

  const ome_as_const<double> AggQ_delta = 
    // AggQ_delta
    ome_as_const<double>({
      // AggQ_delta as^0
      ome_logm_const<double>({
        // AggQ_delta as^0 LM^0
        ome_nf_const<double>({
          1.
        },0)
      },0),
      // AggQ_delta as^1
      ome_logm_const<double>({
        // AggQ_delta as^1 LM^1
        ome_nf_const<double>({
          0.666666666666666666666666666667
        },0)
      },1),
      // AggQ_delta as^2
      ome_logm_const<double>({
        // AggQ_delta as^2 LM^0
        ome_nf_const<double>({
          -8.33333333333333333333333333333
        },0),
        // AggQ_delta as^2 LM^1
        ome_nf_const<double>({
          10.6666666666666666666666666667
        },0),
        // AggQ_delta as^2 LM^2
        ome_nf_const<double>({
          0.444444444444444444444444444444
        },0)
      },0),
      // AggQ_delta as^3
      ome_logm_const<double>({
        // AggQ_delta as^3 LM^0
        ome_nf_const<double>({
          53.795479857509342485574070622,11.1298666024369098879852541562
        },0),
        // AggQ_delta as^3 LM^1
        ome_nf_const<double>({
          637.589919522142356864903381807,-20.9259259259259259259259259259
        },0),
        // AggQ_delta as^3 LM^2
        ome_nf_const<double>({
          87.3258748052685663265589254066
        },0),
        // AggQ_delta as^3 LM^3
        ome_nf_const<double>({
          0.296296296296296296296296296296
        },0)
      },0)
    },0);


  const rpd_distribution<ome_as_view<double>, ome_as_plus_view<double>, ome_as_const_view<double>> AggQ{
    AggQ_reg.get_view(),
    AggQ_plus.get_view(),
    AggQ_delta.get_view()
  };
}


/* C interface */

double ome_AggQ_reg(double as, double LM, double NF, double x)
{
  return(ome::AggQ_reg(as, LM, NF, x));
}

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

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

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

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

int ome_AggQ_reg_min_power()
{
  return(ome::AggQ_reg.min_power());
}

int ome_AggQ_reg_max_power()
{
  return(ome::AggQ_reg.max_power());
}

int ome_AggQ_reg_coeff_as_min_power(int order_as)
{
  return(ome::AggQ_reg[order_as].min_power());
}

int ome_AggQ_reg_coeff_as_max_power(int order_as)
{
  return(ome::AggQ_reg[order_as].max_power());
}

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

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

double ome_AggQ_plus(double as, double LM, double NF, double x)
{
  return(ome::AggQ_plus(as, LM, NF, x));
}

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

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

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

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

int ome_AggQ_plus_min_power()
{
  return(ome::AggQ_plus.min_power());
}

int ome_AggQ_plus_max_power()
{
  return(ome::AggQ_plus.max_power());
}

int ome_AggQ_plus_coeff_as_min_power(int order_as)
{
  return(ome::AggQ_plus[order_as].min_power());
}

int ome_AggQ_plus_coeff_as_max_power(int order_as)
{
  return(ome::AggQ_plus[order_as].max_power());
}

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

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

double ome_AggQ_delta(double as, double LM, double NF)
{
  return(ome::AggQ_delta(as, LM, NF));
}

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

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

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

double ome_AggQ_delta_coeff_as_LM_NF(int order_as, int order_LM, int order_NF)
{
  return(ome::AggQ_delta[order_as][order_LM][order_NF]);
}

int ome_AggQ_delta_min_power()
{
  return(ome::AggQ_delta.min_power());
}

int ome_AggQ_delta_max_power()
{
  return(ome::AggQ_delta.max_power());
}

int ome_AggQ_delta_coeff_as_min_power(int order_as)
{
  return(ome::AggQ_delta[order_as].min_power());
}

int ome_AggQ_delta_coeff_as_max_power(int order_as)
{
  return(ome::AggQ_delta[order_as].max_power());
}

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

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