aboutsummaryrefslogtreecommitdiff
path: root/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0
diff options
context:
space:
mode:
Diffstat (limited to 'src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0')
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-I.compute.c287
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dx.compute.c261
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxx.compute.c224
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxy.compute.c256
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dy.compute.c255
-rw-r--r--src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dyy.compute.c223
6 files changed, 1506 insertions, 0 deletions
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-I.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-I.compute.c
new file mode 100644
index 0000000..1c237bc
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-I.compute.c
@@ -0,0 +1,287 @@
+fp t519;
+fp t520;
+fp t522;
+fp t525;
+fp t616;
+fp t513;
+fp t512;
+fp t615;
+fp t507;
+fp t592;
+fp t521;
+fp t523;
+fp t524;
+fp t492;
+fp t549;
+fp t614;
+fp t490;
+fp t588;
+fp t493;
+fp t570;
+fp t613;
+fp t574;
+fp t488;
+fp t496;
+fp t556;
+fp t526;
+fp t563;
+fp t582;
+fp t508;
+fp t552;
+fp t484;
+fp t612;
+fp t557;
+fp t554;
+fp t611;
+fp t487;
+fp t559;
+fp t590;
+fp t562;
+fp t489;
+fp t579;
+fp t610;
+fp t583;
+fp t565;
+fp t553;
+fp t609;
+fp t581;
+fp t608;
+fp t558;
+fp t517;
+fp t518;
+fp t576;
+fp t580;
+fp t607;
+fp t584;
+fp t606;
+fp t586;
+fp t605;
+fp t561;
+fp t564;
+fp t604;
+fp t578;
+fp t603;
+fp t577;
+fp t602;
+fp t560;
+fp t568;
+fp t551;
+fp t601;
+fp t585;
+fp t550;
+fp t600;
+fp t599;
+fp t589;
+fp t555;
+fp t598;
+fp t597;
+fp t596;
+fp t595;
+fp t594;
+fp t593;
+fp t591;
+fp t587;
+fp t506;
+fp t479;
+fp t477;
+fp t514;
+fp t480;
+fp t483;
+fp t510;
+fp t572;
+fp t571;
+fp t497;
+fp t569;
+fp t567;
+fp t548;
+fp t547;
+fp t495;
+fp t546;
+fp t499;
+fp t502;
+fp t545;
+fp t544;
+fp t543;
+fp t505;
+fp t500;
+fp t503;
+fp t542;
+fp t501;
+fp t504;
+fp t498;
+fp t541;
+fp t540;
+fp t539;
+fp t538;
+fp t537;
+fp t536;
+fp t535;
+fp t534;
+fp t533;
+fp t532;
+fp t531;
+fp t516;
+fp t515;
+fp t511;
+fp t509;
+fp t494;
+fp t491;
+ t519 = RATIONAL(-1.0,9.0);
+ t520 = RATIONAL(4.0,9.0);
+ t522 = y*y;
+ t525 = t522*t522;
+ t616 = t520*t522+t519*t525;
+ t513 = RATIONAL(1.0,6.0);
+ t512 = RATIONAL(2.0,3.0);
+ t615 = t512+t513*t525;
+ t507 = RATIONAL(-1.0,18.0);
+ t592 = x*y;
+ t521 = x*x;
+ t523 = t521*x;
+ t524 = y*t522;
+ t492 = RATIONAL(-1.0,72.0);
+ t549 = t524*t492;
+ t614 = t507*t592+t523*t549;
+ t490 = RATIONAL(1.0,18.0);
+ t588 = x*t490;
+ t493 = RATIONAL(1.0,72.0);
+ t570 = t523*t493;
+ t613 = t524*t570+y*t588;
+ t574 = t521*t525;
+ t488 = RATIONAL(-1.0,144.0);
+ t496 = RATIONAL(-1.0,36.0);
+ t556 = t521*t496;
+ t526 = t521*t521;
+ t563 = t526*t525;
+ t582 = t488*t563+t522*t556;
+ t508 = RATIONAL(1.0,36.0);
+ t552 = t526*t508;
+ t484 = RATIONAL(1.0,144.0);
+ t612 = t484*t574+t582+t522*t552;
+ t557 = t522*t526;
+ t554 = t525*t508;
+ t611 = t484*t557+t582+t521*t554;
+ t487 = RATIONAL(-1.0,288.0);
+ t559 = t487*t521;
+ t590 = y*t526;
+ t562 = t526*t524;
+ t489 = RATIONAL(1.0,288.0);
+ t579 = t521*t489;
+ t610 = t487*t562+y*t559+t524*t579+t489*t590;
+ t583 = t523*t484;
+ t565 = t524*t484;
+ t553 = t523*t488;
+ t609 = t488*t592+x*t565+y*t583+t524*t553;
+ t581 = t522*t523;
+ t608 = t519*t581+t523*t554+t616*x;
+ t558 = t524*t496;
+ t517 = RATIONAL(-4.0,9.0);
+ t518 = RATIONAL(1.0,9.0);
+ t576 = t518*t523;
+ t580 = t518*t524;
+ t607 = y*t576+t523*t558+x*t580+t517*t592;
+ t584 = t521*t522;
+ t606 = (t574+t557)*RATIONAL(-1.0,576.0)+(t584+t563)*RATIONAL(1.0,576.0);
+ t586 = x*t524;
+ t605 = t490*t586+y*t570+t614;
+ t561 = t507*t521;
+ t564 = t521*t490;
+ t604 = t526*t549+t524*t564+y*t561+t493*t590;
+ t578 = t524*t488;
+ t603 = t484*t592+x*t578+y*t553+t523*t565;
+ t577 = t523*t490;
+ t602 = t493*t586+y*t577+t614;
+ t560 = t525*t493;
+ t568 = t507*t523;
+ t551 = t525*t492;
+ t601 = x*t551+t523*t560+(t568+t588)*t522;
+ t585 = y*t523;
+ t550 = t519*t524;
+ t600 = x*t550+t520*t592+t519*t585+t508*t523*t524;
+ t599 = t487*t590+t489*t562+y*t579+t524*t559;
+ t589 = x*t522;
+ t555 = t525*t496;
+ t598 = t522*t576+t517*t589+t523*t555+t518*x*t525;
+ t597 = x*t560+t523*t551+t522*t577+t507*t589;
+ t596 = x*t549+y*t568+t613;
+ t595 = t492*t590+t524*t561+y*t564+t493*t562;
+ t594 = t492*t585+t507*t586+t613;
+ t593 = t525*t552+t519*t557+t616*t521;
+ t591 = y*t521;
+ t587 = x*t487;
+ t506 = RATIONAL(1.0,24.0);
+ t479 = t506*t525;
+ t477 = t506*t526;
+ t514 = RATIONAL(-1.0,6.0);
+ t480 = t514*t526;
+ t483 = t514*t525;
+ t510 = RATIONAL(-5.0,6.0);
+ t572 = t510*t522;
+ t571 = RATIONAL(1.0,96.0)*t563+RATIONAL(5.0,96.0)*t584;
+ t497 = RATIONAL(-1.0,24.0);
+ t569 = t497*t563+t521*t572;
+ t567 = t525*t489;
+ t548 = t487*t523;
+ t547 = t522*t489;
+ t495 = RATIONAL(5.0,24.0);
+ t546 = t495*t557+t480+t569+t615*t521;
+ t499 = RATIONAL(-5.0,96.0);
+ t502 = RATIONAL(-1.0,96.0);
+ t545 = t499*t557+t497*t521+t477+t502*t574+t571;
+ t544 = t499*t574+t497*t522+t479+t502*t557+t571;
+ t543 = t513*t557+t512*t522+t495*t574+t483+t569;
+ t505 = RATIONAL(-1.0,12.0);
+ t500 = RATIONAL(-1.0,48.0);
+ t503 = RATIONAL(5.0,48.0);
+ t542 = t505+t503*t521+t500*t526;
+ t501 = RATIONAL(1.0,48.0);
+ t504 = RATIONAL(1.0,12.0);
+ t498 = RATIONAL(-5.0,48.0);
+ t541 = t504+t501*t526+t498*t521;
+ t540 = t500*t525+t503*t522+t505;
+ t539 = t501*t525+t498*t522+t504;
+ t538 = t612+t521*t565+t488*t562+(t552+t556)*y;
+ t537 = t496*t590+t508*t591+t484*t562+t521*t578+t612;
+ t536 = t525*t583+t508*t589+t522*t553+x*t555+t611;
+ t535 = t522*t587+t523*t547+x*t567+t525*t548+t606;
+ t534 = t525*t587+t522*t548+t523*t567+x*t547+t606;
+ t533 = t496*t589+x*t554+t525*t553+t484*t581+t611;
+ t532 = t517*t591+t526*t558+t518*t590+t521*t580+t593;
+ t531 = t521*t550+t520*t591+t519*t590+t524*t552+t593;
+ t516 = RATIONAL(-2.0,3.0);
+ t515 = RATIONAL(5.0,6.0);
+ t511 = RATIONAL(1.0,4.0);
+ t509 = RATIONAL(-5.0,4.0);
+ t494 = RATIONAL(-5.0,24.0);
+ t491 = RATIONAL(-5.0,16.0);
+ coeffs_I->coeff_m2_m2 = t535+t603+t610;
+ coeffs_I->coeff_m1_m2 = t536+t595+t605;
+ coeffs_I->coeff_0_m2 = t542*t524+t541*y+t544;
+ coeffs_I->coeff_p1_m2 = t533+t594+t595;
+ coeffs_I->coeff_p2_m2 = t534+t609+t610;
+ coeffs_I->coeff_m2_m1 = t537+t601+t602;
+ coeffs_I->coeff_m1_m1 = t532+t598+t600;
+ coeffs_I->coeff_0_m1 = (t513+t477+t494*t521)*t524+(t516+t515*t521+t480)*y
++t543;
+ coeffs_I->coeff_p1_m1 = t532+t607+t608;
+ coeffs_I->coeff_p2_m1 = t537+t596+t597;
+ coeffs_I->coeff_m2_0 = t540*t523+t539*x+t545;
+ coeffs_I->coeff_m1_0 = (t479+t494*t522+t513)*t523+(t483+t516+t515*t522)*x
++t546;
+ coeffs_I->coeff_0_0 = t511*t525+RATIONAL(1.0,1.0)+t509*t522+(t491*t522+
+t511+RATIONAL(1.0,16.0)*t525)*t526+(t491*t525+RATIONAL(25.0,16.0)*t522+t509)*
+t521;
+ coeffs_I->coeff_p1_0 = (t497*t525+t495*t522+t514)*t523+(t572+t615)*x+t546
+;
+ coeffs_I->coeff_p2_0 = t539*t523+t540*x+t545;
+ coeffs_I->coeff_m2_p1 = t538+t596+t601;
+ coeffs_I->coeff_m1_p1 = t531+t598+t607;
+ coeffs_I->coeff_0_p1 = (t497*t526+t495*t521+t514)*t524+(t512+t510*t521+
+t513*t526)*y+t543;
+ coeffs_I->coeff_p1_p1 = t531+t600+t608;
+ coeffs_I->coeff_p2_p1 = t538+t597+t602;
+ coeffs_I->coeff_m2_p2 = t535+t599+t609;
+ coeffs_I->coeff_m1_p2 = t536+t594+t604;
+ coeffs_I->coeff_0_p2 = t541*t524+t542*y+t544;
+ coeffs_I->coeff_p1_p2 = t533+t604+t605;
+ coeffs_I->coeff_p2_p2 = t534+t599+t603;
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dx.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dx.compute.c
new file mode 100644
index 0000000..46af5f2
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dx.compute.c
@@ -0,0 +1,261 @@
+fp t779;
+fp t782;
+fp t742;
+fp t740;
+fp t851;
+fp t781;
+fp t741;
+fp t739;
+fp t850;
+fp t849;
+fp t774;
+fp t778;
+fp t769;
+fp t848;
+fp t758;
+fp t752;
+fp t847;
+fp t759;
+fp t800;
+fp t743;
+fp t846;
+fp t760;
+fp t720;
+fp t750;
+fp t802;
+fp t845;
+fp t821;
+fp t761;
+fp t748;
+fp t717;
+fp t780;
+fp t715;
+fp t812;
+fp t807;
+fp t844;
+fp t745;
+fp t714;
+fp t770;
+fp t843;
+fp t811;
+fp t754;
+fp t804;
+fp t842;
+fp t819;
+fp t798;
+fp t771;
+fp t735;
+fp t824;
+fp t841;
+fp t815;
+fp t840;
+fp t809;
+fp t839;
+fp t731;
+fp t801;
+fp t838;
+fp t777;
+fp t810;
+fp t822;
+fp t823;
+fp t837;
+fp t818;
+fp t836;
+fp t757;
+fp t776;
+fp t820;
+fp t772;
+fp t803;
+fp t835;
+fp t834;
+fp t833;
+fp t744;
+fp t832;
+fp t831;
+fp t830;
+fp t766;
+fp t799;
+fp t716;
+fp t829;
+fp t765;
+fp t828;
+fp t827;
+fp t718;
+fp t826;
+fp t825;
+fp t816;
+fp t817;
+fp t813;
+fp t773;
+fp t806;
+fp t805;
+fp t751;
+fp t797;
+fp t764;
+fp t749;
+fp t796;
+fp t746;
+fp t795;
+fp t767;
+fp t768;
+fp t794;
+fp t753;
+fp t793;
+fp t792;
+fp t791;
+fp t790;
+fp t789;
+fp t788;
+fp t787;
+fp t786;
+fp t763;
+fp t762;
+fp t747;
+ t779 = y*y;
+ t782 = t779*t779;
+ t742 = RATIONAL(1.0,288.0);
+ t740 = RATIONAL(-1.0,288.0);
+ t851 = t740*t782+t742*t779;
+ t781 = t779*y;
+ t741 = RATIONAL(-1.0,144.0);
+ t739 = RATIONAL(1.0,144.0);
+ t850 = t741*t781+t739*y;
+ t849 = t741*y+t739*t781;
+ t774 = RATIONAL(1.0,3.0);
+ t778 = x*x;
+ t769 = RATIONAL(-4.0,9.0);
+ t848 = t769+t774*t778;
+ t758 = RATIONAL(-1.0,12.0);
+ t752 = RATIONAL(-1.0,48.0);
+ t847 = t752*t782+t758;
+ t759 = RATIONAL(1.0,24.0);
+ t800 = t759*t778;
+ t743 = RATIONAL(1.0,18.0);
+ t846 = t743*y+t781*t800;
+ t760 = RATIONAL(-1.0,18.0);
+ t720 = t760*y;
+ t750 = RATIONAL(-1.0,24.0);
+ t802 = t778*t750;
+ t845 = t720+t781*t802;
+ t821 = x*t743;
+ t761 = RATIONAL(1.0,36.0);
+ t748 = RATIONAL(-1.0,36.0);
+ t717 = t748*t782;
+ t780 = t778*x;
+ t715 = t760*t779;
+ t812 = t780*t717+x*t715;
+ t807 = t779*t780;
+ t844 = t761*t807+t812+t782*t821;
+ t745 = RATIONAL(1.0,72.0);
+ t714 = t745*t782;
+ t770 = RATIONAL(1.0,9.0);
+ t843 = x*t714+t812+t770*t807;
+ t811 = t778*t782;
+ t754 = RATIONAL(1.0,48.0);
+ t804 = t778*t754;
+ t842 = t761*t782+t752*t811+(t804+t748)*t779;
+ t819 = y*t780;
+ t798 = t780*t743;
+ t771 = RATIONAL(-1.0,9.0);
+ t735 = t771*t781;
+ t824 = x*y;
+ t841 = t760*t819+t770*t824+t781*t798+x*t735;
+ t815 = t780*t782;
+ t840 = t741*t807+t739*t815+t851*x;
+ t809 = t778*t779;
+ t839 = t717+t761*t779+t782*t804+t752*t809;
+ t731 = t770*t781;
+ t801 = t781*t780;
+ t838 = y*t798+t760*t801+t771*t824+x*t731;
+ t777 = RATIONAL(-2.0,9.0);
+ t810 = t780*t770;
+ t822 = x*RATIONAL(8.0,9.0);
+ t823 = x*t782;
+ t837 = t779*t822+t769*t807+t777*t823+t782*t810;
+ t818 = x*t781;
+ t836 = y*t822+t769*t819+t777*t818+t770*t801;
+ t757 = RATIONAL(1.0,12.0);
+ t776 = RATIONAL(-1.0,3.0);
+ t820 = y*t778;
+ t772 = RATIONAL(4.0,9.0);
+ t803 = t778*t781;
+ t835 = t757*t803+t776*t820+t735+t772*y;
+ t834 = t731+t758*t803+t848*y;
+ t833 = t772*t819+RATIONAL(2.0,9.0)*t818+t771*t801+RATIONAL(-8.0,9.0)*t824
+;
+ t744 = RATIONAL(-1.0,72.0);
+ t832 = t744*t819+t745*t801+t850*x;
+ t831 = t754*t803+t752*t820+t850;
+ t830 = t744*t801+t745*t819+t849*x;
+ t766 = RATIONAL(-1.0,6.0);
+ t799 = t778*t766;
+ t716 = t744*t781;
+ t829 = y*t799+t716+t846;
+ t765 = RATIONAL(1.0,6.0);
+ t828 = t765*t809+t714+t715+t782*t802;
+ t827 = (t800+t744)*t782+(t743+t799)*t779;
+ t718 = t745*t781;
+ t826 = t718+t765*t820+t845;
+ t825 = t752*t803+y*t804+t849;
+ t816 = RATIONAL(5.0,48.0)*t779;
+ t817 = t759*t815+x*t816;
+ t813 = t766*t782;
+ t773 = RATIONAL(-5.0,3.0);
+ t806 = t780*t813+t773*x*t779;
+ t805 = t778*RATIONAL(-1.0,96.0);
+ t751 = RATIONAL(-5.0,48.0);
+ t797 = t751*t823+t750*t807+t817;
+ t764 = RATIONAL(2.0,3.0);
+ t749 = RATIONAL(5.0,12.0);
+ t796 = t749*t823+t764*t807+t806;
+ t746 = RATIONAL(-5.0,24.0);
+ t795 = t817+t765*t780+t746*t807+t847*x;
+ t767 = RATIONAL(5.0,6.0);
+ t768 = RATIONAL(-2.0,3.0);
+ t794 = t774*t823+RATIONAL(4.0,3.0)*x+t768*t780+t767*t807+t806;
+ t753 = RATIONAL(1.0,96.0);
+ t793 = t753*t811+t779*t805+t840+t851;
+ t792 = t760*t781+y*t802+t844+t846;
+ t791 = y*t810+t748*t801+t843+(t718+t720)*x;
+ t790 = t776*t809+t771*t782+t772*t779+t757*t811+t837;
+ t789 = t761*t801+y*t821+x*t716+t771*t819+t843;
+ t788 = t753*t809+t740*t779+t840+(t742+t805)*t782;
+ t787 = t837+t758*t811+t770*t782+t848*t779;
+ t786 = t743*t781+y*t800+t844+t845;
+ t763 = RATIONAL(1.0,4.0);
+ t762 = RATIONAL(-5.0,8.0);
+ t747 = RATIONAL(5.0,24.0);
+ coeffs_dx->coeff_m2_m2 = t788+t830+t831;
+ coeffs_dx->coeff_m1_m2 = t786+t839+t841;
+ coeffs_dx->coeff_0_m2 = (t757*y+t758*t781)*t780+(t746*y+t747*t781)*x+t797
+;
+ coeffs_dx->coeff_p1_m2 = t792+t841+t842;
+ coeffs_dx->coeff_p2_m2 = t793+t825+t830;
+ coeffs_dx->coeff_m2_m1 = t789+t826+t827;
+ coeffs_dx->coeff_m1_m1 = t787+t833+t835;
+ coeffs_dx->coeff_0_m1 = (t765*t781+t768*y)*t780+(RATIONAL(5.0,3.0)*y+
+RATIONAL(-5.0,12.0)*t781)*x+t796;
+ coeffs_dx->coeff_p1_m1 = t790+t833+t834;
+ coeffs_dx->coeff_p2_m1 = t789+t828+t829;
+ coeffs_dx->coeff_m2_0 = t757+t754*t782+t751*t779+(RATIONAL(5.0,16.0)*t779
++RATIONAL(-1.0,4.0)+RATIONAL(-1.0,16.0)*t782)*t778+t795;
+ coeffs_dx->coeff_m1_0 = t768+t813+t767*t779+(RATIONAL(1.0,2.0)+t762*t779+
+RATIONAL(1.0,8.0)*t782)*t778+t794;
+ coeffs_dx->coeff_0_0 = (1.0+t763*t782+RATIONAL(-5.0,4.0)*t779)*t780+(
+RATIONAL(25.0,8.0)*t779+RATIONAL(-5.0,2.0)+t762*t782)*x;
+ coeffs_dx->coeff_p1_0 = RATIONAL(-5.0,6.0)*t779+t764+t765*t782+(RATIONAL(
+5.0,8.0)*t779+RATIONAL(-1.0,2.0)+RATIONAL(-1.0,8.0)*t782)*t778+t794;
+ coeffs_dx->coeff_p2_0 = t816+(t763+RATIONAL(-5.0,16.0)*t779+RATIONAL(1.0,
+16.0)*t782)*t778+t795+t847;
+ coeffs_dx->coeff_m2_p1 = t791+t827+t829;
+ coeffs_dx->coeff_m1_p1 = t787+t834+t836;
+ coeffs_dx->coeff_0_p1 = (t766*t781+t764*y)*t780+(t773*y+t749*t781)*x+t796
+;
+ coeffs_dx->coeff_p1_p1 = t790+t835+t836;
+ coeffs_dx->coeff_p2_p1 = t791+t826+t828;
+ coeffs_dx->coeff_m2_p2 = t788+t825+t832;
+ coeffs_dx->coeff_m1_p2 = t792+t838+t839;
+ coeffs_dx->coeff_0_p2 = (t757*t781+t758*y)*t780+(t747*y+t746*t781)*x+t797
+;
+ coeffs_dx->coeff_p1_p2 = t786+t838+t842;
+ coeffs_dx->coeff_p2_p2 = t793+t831+t832;
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxx.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxx.compute.c
new file mode 100644
index 0000000..15d553b
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxx.compute.c
@@ -0,0 +1,224 @@
+fp t1210;
+fp t1181;
+fp t1212;
+fp t1182;
+fp t1274;
+fp t1185;
+fp t1249;
+fp t1180;
+fp t1245;
+fp t1273;
+fp t1184;
+fp t1244;
+fp t1211;
+fp t1248;
+fp t1183;
+fp t1106;
+fp t1272;
+fp t1271;
+fp t1270;
+fp t1250;
+fp t1197;
+fp t1252;
+fp t1269;
+fp t1268;
+fp t1155;
+fp t1267;
+fp t1098;
+fp t1253;
+fp t1203;
+fp t1266;
+fp t1265;
+fp t1264;
+fp t1205;
+fp t1246;
+fp t1263;
+fp t1262;
+fp t1236;
+fp t1240;
+fp t1261;
+fp t1247;
+fp t1198;
+fp t1260;
+fp t1259;
+fp t1258;
+fp t1176;
+fp t1186;
+fp t1209;
+fp t1242;
+fp t1257;
+fp t1175;
+fp t1229;
+fp t1256;
+fp t1255;
+fp t1237;
+fp t1238;
+fp t1193;
+fp t1204;
+fp t1206;
+fp t1254;
+fp t1251;
+fp t1233;
+fp t1243;
+fp t1187;
+fp t1232;
+fp t1202;
+fp t1239;
+fp t1189;
+fp t1235;
+fp t1231;
+fp t1230;
+fp t1191;
+fp t1171;
+fp t1169;
+fp t1194;
+fp t1228;
+fp t1196;
+fp t1227;
+fp t1188;
+fp t1226;
+fp t1179;
+fp t1225;
+fp t1190;
+fp t1224;
+fp t1223;
+fp t1222;
+fp t1200;
+fp t1201;
+fp t1221;
+fp t1220;
+fp t1219;
+fp t1218;
+fp t1217;
+fp t1174;
+fp t1173;
+fp t1216;
+fp t1215;
+ t1210 = y*y;
+ t1181 = RATIONAL(-1.0,48.0);
+ t1212 = t1210*t1210;
+ t1182 = RATIONAL(1.0,48.0);
+ t1274 = t1212*t1182+t1210*t1181;
+ t1185 = RATIONAL(1.0,24.0);
+ t1249 = x*t1185;
+ t1180 = RATIONAL(-1.0,24.0);
+ t1245 = x*t1180;
+ t1273 = t1212*t1249+t1210*t1245;
+ t1184 = RATIONAL(-1.0,12.0);
+ t1244 = x*t1184;
+ t1211 = y*t1210;
+ t1248 = x*t1211;
+ t1183 = RATIONAL(1.0,12.0);
+ t1106 = t1183*t1248;
+ t1272 = t1106+y*t1244;
+ t1271 = t1274*x;
+ t1270 = y*t1249+t1211*t1245;
+ t1250 = x*RATIONAL(-2.0,3.0);
+ t1197 = RATIONAL(1.0,6.0);
+ t1252 = x*t1212;
+ t1269 = t1210*t1250+t1197*t1252;
+ t1268 = y*t1250+t1197*t1248;
+ t1155 = t1181*t1212;
+ t1267 = (t1182*t1210+t1155)*x;
+ t1098 = t1211*t1244;
+ t1253 = x*y;
+ t1203 = RATIONAL(1.0,3.0);
+ t1266 = t1203*t1253+t1098;
+ t1265 = t1185*t1248+y*t1245;
+ t1264 = t1183*t1253+t1098;
+ t1205 = RATIONAL(-1.0,3.0);
+ t1246 = x*t1205;
+ t1263 = t1210*t1246+t1183*t1252;
+ t1262 = t1212*t1245+t1210*t1249;
+ t1236 = t1210*t1203;
+ t1240 = t1212*t1184;
+ t1261 = (t1236+t1240)*x;
+ t1247 = x*RATIONAL(2.0,3.0);
+ t1198 = RATIONAL(-1.0,6.0);
+ t1260 = t1210*t1247+t1198*t1252;
+ t1259 = y*t1247+t1198*t1248;
+ t1258 = y*t1246+t1106;
+ t1176 = RATIONAL(1.0,72.0);
+ t1186 = RATIONAL(-1.0,18.0);
+ t1209 = x*x;
+ t1242 = t1209*t1240+t1186*t1210;
+ t1257 = t1242+t1209*t1236+t1176*t1212;
+ t1175 = RATIONAL(1.0,18.0);
+ t1229 = t1183*t1209;
+ t1256 = t1242+t1175*t1212+t1210*t1229;
+ t1255 = RATIONAL(-1.0,288.0)*t1212+RATIONAL(1.0,288.0)*t1210+t1274*t1209;
+ t1237 = t1203*t1209;
+ t1238 = t1210*t1209;
+ t1193 = RATIONAL(-4.0,3.0);
+ t1204 = RATIONAL(8.0,9.0);
+ t1206 = RATIONAL(-2.0,9.0);
+ t1254 = t1193*t1238+t1204*t1210+(t1237+t1206)*t1212;
+ t1251 = y*t1209;
+ t1233 = RATIONAL(1.0,8.0)*t1212;
+ t1243 = RATIONAL(5.0,48.0)*t1210+t1209*t1233;
+ t1187 = RATIONAL(-1.0,2.0);
+ t1232 = t1187*t1209;
+ t1202 = RATIONAL(-5.0,3.0);
+ t1239 = t1202*t1210+t1212*t1232;
+ t1189 = RATIONAL(-5.0,8.0);
+ t1235 = t1189*t1210;
+ t1231 = t1211*t1209;
+ t1230 = RATIONAL(2.0,1.0)*t1209;
+ t1191 = RATIONAL(1.0,2.0);
+ t1171 = t1191*t1209;
+ t1169 = RATIONAL(-2.0,1.0)*t1209;
+ t1194 = RATIONAL(1.0,4.0);
+ t1228 = RATIONAL(-5.0,24.0)+t1194*t1209;
+ t1196 = RATIONAL(-1.0,4.0);
+ t1227 = t1196*t1209+RATIONAL(5.0,24.0);
+ t1188 = RATIONAL(-1.0,8.0);
+ t1226 = RATIONAL(-5.0,48.0)*t1212+t1188*t1238+t1243;
+ t1179 = RATIONAL(5.0,12.0);
+ t1225 = t1179*t1212+t1210*t1230+t1239;
+ t1190 = RATIONAL(4.0,3.0);
+ t1224 = t1169+t1203*t1212+RATIONAL(5.0,2.0)*t1238+t1190+t1239;
+ t1223 = t1171+t1209*t1235+t1184+t1155+t1243;
+ t1222 = t1204*y+t1206*t1211+t1193*t1251+t1203*t1231+t1254;
+ t1200 = RATIONAL(1.0,9.0);
+ t1201 = RATIONAL(-1.0,9.0);
+ t1221 = t1197*t1251+t1201*y+t1200*t1211+t1198*t1231+t1256;
+ t1220 = RATIONAL(2.0,9.0)*t1211+t1205*t1231+t1190*t1251+RATIONAL(-8.0,9.0
+)*y+t1254;
+ t1219 = t1201*t1211+t1198*t1251+t1197*t1231+t1200*y+t1256;
+ t1218 = t1205*t1251+t1175*y+t1257+(RATIONAL(-1.0,72.0)+t1229)*t1211;
+ t1217 = t1257+t1184*t1231+t1176*t1211+(t1186+t1237)*y;
+ t1174 = RATIONAL(-1.0,144.0);
+ t1173 = RATIONAL(1.0,144.0);
+ t1216 = t1174*y+t1185*t1251+t1180*t1231+t1173*t1211+t1255;
+ t1215 = t1185*t1231+t1180*t1251+t1173*y+t1174*t1211+t1255;
+ coeffs_dxx->coeff_m2_m2 = t1216+t1265+t1267;
+ coeffs_dxx->coeff_m1_m2 = t1219+t1264+t1273;
+ coeffs_dxx->coeff_0_m2 = t1227*t1211+t1228*y+t1226;
+ coeffs_dxx->coeff_p1_m2 = t1219+t1262+t1272;
+ coeffs_dxx->coeff_p2_m2 = t1216+t1270+t1271;
+ coeffs_dxx->coeff_m2_m1 = t1218+t1263+t1266;
+ coeffs_dxx->coeff_m1_m1 = t1220+t1260+t1268;
+ coeffs_dxx->coeff_0_m1 = (t1171+RATIONAL(-5.0,12.0))*t1211+(t1169+
+RATIONAL(5.0,3.0))*y+t1225;
+ coeffs_dxx->coeff_p1_m1 = t1220+t1259+t1269;
+ coeffs_dxx->coeff_p2_m1 = t1218+t1258+t1261;
+ coeffs_dxx->coeff_m2_0 = (RATIONAL(5.0,8.0)*t1210+t1187+t1188*t1212)*x+
+t1223;
+ coeffs_dxx->coeff_m1_0 = (t1194*t1212+1.0+RATIONAL(-5.0,4.0)*t1210)*x+
+t1224;
+ coeffs_dxx->coeff_0_0 = t1189*t1212+RATIONAL(-5.0,2.0)+RATIONAL(25.0,8.0)
+*t1210+(RATIONAL(3.0,1.0)+RATIONAL(3.0,4.0)*t1212+RATIONAL(-15.0,4.0)*t1210)*
+t1209;
+ coeffs_dxx->coeff_p1_0 = (t1196*t1212+RATIONAL(5.0,4.0)*t1210-1.0)*x+
+t1224;
+ coeffs_dxx->coeff_p2_0 = (t1191+t1233+t1235)*x+t1223;
+ coeffs_dxx->coeff_m2_p1 = t1217+t1258+t1263;
+ coeffs_dxx->coeff_m1_p1 = t1222+t1259+t1260;
+ coeffs_dxx->coeff_0_p1 = (t1179+t1232)*t1211+(t1202+t1230)*y+t1225;
+ coeffs_dxx->coeff_p1_p1 = t1222+t1268+t1269;
+ coeffs_dxx->coeff_p2_p1 = t1217+t1261+t1266;
+ coeffs_dxx->coeff_m2_p2 = t1215+t1267+t1270;
+ coeffs_dxx->coeff_m1_p2 = t1221+t1272+t1273;
+ coeffs_dxx->coeff_0_p2 = t1228*t1211+t1227*y+t1226;
+ coeffs_dxx->coeff_p1_p2 = t1221+t1262+t1264;
+ coeffs_dxx->coeff_p2_p2 = t1215+t1265+t1271;
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxy.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxy.compute.c
new file mode 100644
index 0000000..c0d0630
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxy.compute.c
@@ -0,0 +1,256 @@
+fp t1387;
+fp t1428;
+fp t1430;
+fp t1390;
+fp t1485;
+fp t1396;
+fp t1484;
+fp t1397;
+fp t1388;
+fp t1483;
+fp t1426;
+fp t1403;
+fp t1482;
+fp t1458;
+fp t1427;
+fp t1429;
+fp t1389;
+fp t1361;
+fp t1425;
+fp t1481;
+fp t1343;
+fp t1460;
+fp t1480;
+fp t1450;
+fp t1418;
+fp t1398;
+fp t1395;
+fp t1344;
+fp t1479;
+fp t1448;
+fp t1414;
+fp t1417;
+fp t1423;
+fp t1369;
+fp t1401;
+fp t1478;
+fp t1459;
+fp t1416;
+fp t1422;
+fp t1421;
+fp t1402;
+fp t1477;
+fp t1366;
+fp t1367;
+fp t1413;
+fp t1452;
+fp t1476;
+fp t1391;
+fp t1475;
+fp t1350;
+fp t1474;
+fp t1356;
+fp t1400;
+fp t1473;
+fp t1373;
+fp t1472;
+fp t1362;
+fp t1471;
+fp t1351;
+fp t1380;
+fp t1470;
+fp t1455;
+fp t1469;
+fp t1399;
+fp t1355;
+fp t1468;
+fp t1386;
+fp t1415;
+fp t1467;
+fp t1466;
+fp t1449;
+fp t1347;
+fp t1465;
+fp t1461;
+fp t1464;
+fp t1412;
+fp t1463;
+fp t1411;
+fp t1447;
+fp t1462;
+fp t1457;
+fp t1456;
+fp t1454;
+fp t1453;
+fp t1393;
+fp t1451;
+fp t1446;
+fp t1445;
+fp t1409;
+fp t1420;
+fp t1444;
+fp t1394;
+fp t1443;
+fp t1442;
+fp t1441;
+fp t1440;
+fp t1439;
+fp t1438;
+fp t1437;
+fp t1436;
+fp t1435;
+fp t1434;
+fp t1433;
+fp t1424;
+fp t1419;
+fp t1410;
+fp t1408;
+fp t1407;
+fp t1406;
+fp t1405;
+fp t1404;
+fp t1392;
+ t1387 = RATIONAL(1.0,144.0);
+ t1428 = y*y;
+ t1430 = y*t1428;
+ t1390 = RATIONAL(-1.0,72.0);
+ t1485 = t1387*y+t1390*t1430;
+ t1396 = RATIONAL(-1.0,48.0);
+ t1484 = t1396*t1428+t1387;
+ t1397 = RATIONAL(1.0,48.0);
+ t1388 = RATIONAL(-1.0,144.0);
+ t1483 = t1397*t1428+t1388;
+ t1426 = RATIONAL(-8.0,9.0);
+ t1403 = RATIONAL(4.0,9.0);
+ t1482 = t1426*y+t1403*t1430;
+ t1458 = x*t1430;
+ t1427 = x*x;
+ t1429 = t1427*x;
+ t1389 = RATIONAL(1.0,18.0);
+ t1361 = t1389*t1429;
+ t1425 = RATIONAL(2.0,9.0);
+ t1481 = y*t1361+t1425*t1458;
+ t1343 = t1389*t1430;
+ t1460 = y*t1429;
+ t1480 = x*t1343+t1425*t1460;
+ t1450 = t1428*t1429;
+ t1418 = RATIONAL(-1.0,9.0);
+ t1398 = RATIONAL(1.0,12.0);
+ t1395 = RATIONAL(-1.0,24.0);
+ t1344 = t1395*t1428;
+ t1479 = t1398*t1450+t1418*t1429+(t1389+t1344)*x;
+ t1448 = t1427*t1430;
+ t1414 = RATIONAL(1.0,6.0);
+ t1417 = RATIONAL(1.0,9.0);
+ t1423 = RATIONAL(-1.0,3.0);
+ t1369 = t1423*t1427;
+ t1401 = RATIONAL(-1.0,18.0);
+ t1478 = t1401*t1430+t1414*t1448+(t1369+t1417)*y;
+ t1459 = x*t1428;
+ t1416 = RATIONAL(-2.0,3.0);
+ t1422 = RATIONAL(8.0,9.0);
+ t1421 = RATIONAL(1.0,3.0);
+ t1402 = RATIONAL(-4.0,9.0);
+ t1477 = t1416*t1459+t1421*t1450+t1422*x+t1402*t1429;
+ t1366 = t1421*t1427;
+ t1367 = t1421*t1428;
+ t1413 = RATIONAL(-1.0,4.0);
+ t1452 = t1413*t1427;
+ t1476 = t1366+t1367+t1428*t1452+t1402;
+ t1391 = RATIONAL(1.0,72.0);
+ t1475 = t1391*t1429+t1395*t1450+t1483*x;
+ t1350 = t1397*t1427;
+ t1474 = t1391*t1430+t1395*t1448+(t1350+t1388)*y;
+ t1356 = t1396*t1427;
+ t1400 = RATIONAL(1.0,24.0);
+ t1473 = t1400*t1448+y*t1356+t1485;
+ t1373 = t1423*t1428;
+ t1472 = t1401*t1429+t1414*t1450+(t1373+t1417)*x;
+ t1362 = t1390*t1429;
+ t1471 = t1362+t1400*t1450+t1484*x;
+ t1351 = t1395*t1427;
+ t1380 = t1418*t1430;
+ t1470 = t1398*t1448+t1380+(t1351+t1389)*y;
+ t1455 = t1429*t1430;
+ t1469 = y*t1362+RATIONAL(1.0,36.0)*t1455+t1485*x;
+ t1399 = RATIONAL(-1.0,12.0);
+ t1355 = t1400*t1427;
+ t1468 = t1417*t1430+t1399*t1448+(t1355+t1401)*y;
+ t1386 = t1418*x;
+ t1415 = RATIONAL(-1.0,6.0);
+ t1467 = t1386+t1361+t1415*t1450+x*t1367;
+ t1466 = t1343+t1415*t1448+(t1366+t1418)*y;
+ t1449 = t1399*t1429;
+ t1347 = t1400*t1428;
+ t1465 = t1417*t1429+t1428*t1449+(t1401+t1347)*x;
+ t1461 = x*y;
+ t1464 = RATIONAL(16.0,9.0)*t1461+t1426*t1458+t1482*t1429;
+ t1412 = RATIONAL(2.0,3.0);
+ t1463 = t1412*t1459+t1423*t1450+t1426*x+t1403*t1429;
+ t1411 = RATIONAL(1.0,4.0);
+ t1447 = t1411*t1428;
+ t1462 = t1427*t1447+t1369+t1373+t1403;
+ t1457 = y*t1427;
+ t1456 = t1429*t1380+y*t1386;
+ t1454 = t1428*t1427;
+ t1453 = t1416*t1455+RATIONAL(-10.0,3.0)*t1461;
+ t1393 = RATIONAL(5.0,24.0);
+ t1451 = t1393*t1461+t1414*t1455;
+ t1446 = RATIONAL(1.0,8.0)*t1454+t1389+t1456;
+ t1445 = t1401+RATIONAL(-1.0,8.0)*t1454+t1456;
+ t1409 = RATIONAL(4.0,3.0);
+ t1420 = RATIONAL(5.0,3.0);
+ t1444 = t1420*t1458+t1409*t1460+t1453;
+ t1394 = RATIONAL(-5.0,12.0);
+ t1443 = t1394*t1458+y*t1449+t1451;
+ t1442 = t1420*t1460+t1409*t1458+t1453;
+ t1441 = t1399*t1458+t1394*t1460+t1451;
+ t1440 = t1350+RATIONAL(-1.0,16.0)*t1454+t1469+t1483;
+ t1439 = RATIONAL(1.0,16.0)*t1454+t1356+t1469+t1484;
+ t1438 = t1351+t1415*t1428+t1446+t1481;
+ t1437 = t1344+t1415*t1427+t1446+t1480;
+ t1436 = t1347+t1414*t1427+t1445+t1480;
+ t1435 = t1402*t1430+t1422*y+t1416*t1457+t1421*t1448+t1464;
+ t1434 = t1414*t1428+t1355+t1445+t1481;
+ t1433 = t1423*t1448+t1412*t1457+t1464+t1482;
+ t1424 = RATIONAL(5.0,4.0);
+ t1419 = RATIONAL(-5.0,3.0);
+ t1410 = RATIONAL(1.0,2.0);
+ t1408 = RATIONAL(-5.0,8.0);
+ t1407 = RATIONAL(-5.0,4.0);
+ t1406 = RATIONAL(-5.0,2.0);
+ t1405 = RATIONAL(-1.0,2.0);
+ t1404 = RATIONAL(5.0,8.0);
+ t1392 = RATIONAL(-5.0,24.0);
+ coeffs_dxy->coeff_m2_m2 = t1439+t1474+t1475;
+ coeffs_dxy->coeff_m1_m2 = t1434+t1470+t1472;
+ coeffs_dxy->coeff_0_m2 = (t1413*t1428+t1398)*t1429+(t1404*t1428+t1392)*x+
+t1443;
+ coeffs_dxy->coeff_p1_m2 = t1438+t1468+t1472;
+ coeffs_dxy->coeff_p2_m2 = t1440+t1473+t1475;
+ coeffs_dxy->coeff_m2_m1 = t1436+t1478+t1479;
+ coeffs_dxy->coeff_m1_m1 = t1433+t1462+t1463;
+ coeffs_dxy->coeff_0_m1 = (t1410*t1428+t1416)*t1429+(t1420+t1407*t1428)*x+
+t1444;
+ coeffs_dxy->coeff_p1_m1 = t1435+t1463+t1476;
+ coeffs_dxy->coeff_p2_m1 = t1437+t1466+t1479;
+ coeffs_dxy->coeff_m2_0 = (t1452+t1398)*t1430+(t1392+t1404*t1427)*y+t1441;
+ coeffs_dxy->coeff_m1_0 = (t1410*t1427+t1416)*t1430+(t1407*t1427+t1420)*y+
+t1442;
+ coeffs_dxy->coeff_0_0 = (t1406*y+t1430)*t1429+(RATIONAL(25.0,4.0)*y+t1406
+*t1430)*x;
+ coeffs_dxy->coeff_p1_0 = (t1405*t1427+t1412)*t1430+(t1424*t1427+t1419)*y+
+t1442;
+ coeffs_dxy->coeff_p2_0 = (t1399+t1411*t1427)*t1430+(t1393+t1408*t1427)*y+
+t1441;
+ coeffs_dxy->coeff_m2_p1 = t1437+t1465+t1478;
+ coeffs_dxy->coeff_m1_p1 = t1433+t1476+t1477;
+ coeffs_dxy->coeff_0_p1 = (t1405*t1428+t1412)*t1429+(t1419+t1424*t1428)*x+
+t1444;
+ coeffs_dxy->coeff_p1_p1 = t1435+t1462+t1477;
+ coeffs_dxy->coeff_p2_p1 = t1436+t1465+t1466;
+ coeffs_dxy->coeff_m2_p2 = t1440+t1471+t1474;
+ coeffs_dxy->coeff_m1_p2 = t1438+t1467+t1470;
+ coeffs_dxy->coeff_0_p2 = (t1447+t1399)*t1429+(t1393+t1408*t1428)*x+t1443;
+ coeffs_dxy->coeff_p1_p2 = t1434+t1467+t1468;
+ coeffs_dxy->coeff_p2_p2 = t1439+t1471+t1473;
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dy.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dy.compute.c
new file mode 100644
index 0000000..59006b6
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dy.compute.c
@@ -0,0 +1,255 @@
+fp t1007;
+fp t1006;
+fp t1013;
+fp t1015;
+fp t964;
+fp t1082;
+fp t974;
+fp t976;
+fp t1081;
+fp t1080;
+fp t975;
+fp t977;
+fp t1017;
+fp t1079;
+fp t1004;
+fp t1005;
+fp t1078;
+fp t987;
+fp t993;
+fp t1077;
+fp t985;
+fp t1014;
+fp t1040;
+fp t995;
+fp t957;
+fp t1076;
+fp t994;
+fp t978;
+fp t952;
+fp t1075;
+fp t1052;
+fp t996;
+fp t1016;
+fp t1039;
+fp t983;
+fp t1042;
+fp t958;
+fp t1048;
+fp t1074;
+fp t980;
+fp t959;
+fp t1038;
+fp t1073;
+fp t972;
+fp t1054;
+fp t1050;
+fp t1043;
+fp t1072;
+fp t1071;
+fp t1049;
+fp t1010;
+fp t1070;
+fp t1053;
+fp t1009;
+fp t1069;
+fp t992;
+fp t1011;
+fp t1068;
+fp t1067;
+fp t979;
+fp t1066;
+fp t989;
+fp t1065;
+fp t955;
+fp t1064;
+fp t1001;
+fp t951;
+fp t1063;
+fp t1062;
+fp t1061;
+fp t1060;
+fp t1059;
+fp t1058;
+fp t1000;
+fp t1057;
+fp t1056;
+fp t1051;
+fp t1055;
+fp t1035;
+fp t1008;
+fp t1047;
+fp t1045;
+fp t1046;
+fp t1041;
+fp t1037;
+fp t1036;
+fp t1003;
+fp t973;
+fp t968;
+fp t984;
+fp t999;
+fp t1034;
+fp t986;
+fp t1033;
+fp t1032;
+fp t981;
+fp t1031;
+fp t1030;
+fp t1029;
+fp t1028;
+fp t988;
+fp t990;
+fp t1027;
+fp t1026;
+fp t1025;
+fp t1024;
+fp t1023;
+fp t1022;
+fp t1021;
+fp t998;
+fp t997;
+ t1007 = RATIONAL(4.0,9.0);
+ t1006 = RATIONAL(-1.0,9.0);
+ t1013 = x*x;
+ t1015 = t1013*x;
+ t964 = t1006*t1015;
+ t1082 = t964+t1007*x;
+ t974 = RATIONAL(1.0,144.0);
+ t976 = RATIONAL(-1.0,144.0);
+ t1081 = t974*x+t976*t1015;
+ t1080 = t974*t1015+t976*x;
+ t975 = RATIONAL(-1.0,288.0);
+ t977 = RATIONAL(1.0,288.0);
+ t1017 = t1013*t1013;
+ t1079 = t975*t1017+t977*t1013;
+ t1004 = RATIONAL(-4.0,9.0);
+ t1005 = RATIONAL(1.0,9.0);
+ t1078 = t1004*t1013+t1005*t1017;
+ t987 = RATIONAL(-1.0,48.0);
+ t993 = RATIONAL(-1.0,12.0);
+ t1077 = t987*t1017+t993;
+ t985 = RATIONAL(-1.0,24.0);
+ t1014 = y*y;
+ t1040 = t1014*t1015;
+ t995 = RATIONAL(-1.0,18.0);
+ t957 = t995*x;
+ t1076 = t985*t1040+t957;
+ t994 = RATIONAL(1.0,24.0);
+ t978 = RATIONAL(1.0,18.0);
+ t952 = t978*x;
+ t1075 = t994*t1040+t952;
+ t1052 = y*t1017;
+ t996 = RATIONAL(1.0,36.0);
+ t1016 = t1014*y;
+ t1039 = t1013*t1016;
+ t983 = RATIONAL(-1.0,36.0);
+ t1042 = t1017*t1016;
+ t958 = t995*t1013;
+ t1048 = t983*t1042+y*t958;
+ t1074 = t978*t1052+t1048+t996*t1039;
+ t980 = RATIONAL(1.0,72.0);
+ t959 = t980*t1017;
+ t1038 = t1005*t1016;
+ t1073 = y*t959+t1048+t1013*t1038;
+ t972 = t1005*t1015;
+ t1054 = x*y;
+ t1050 = x*t1016;
+ t1043 = t1016*t1015;
+ t1072 = t1006*t1054+y*t972+t978*t1050+t995*t1043;
+ t1071 = RATIONAL(2.0,9.0)*y*t1015+RATIONAL(-8.0,9.0)*t1054+t1082*t1016;
+ t1049 = y*RATIONAL(-2.0,9.0);
+ t1010 = RATIONAL(8.0,9.0);
+ t1070 = t1004*t1050+t1016*t972+t1010*t1054+t1015*t1049;
+ t1053 = x*t1014;
+ t1009 = RATIONAL(1.0,3.0);
+ t1069 = t972+t1004*x+t993*t1040+t1009*t1053;
+ t992 = RATIONAL(1.0,12.0);
+ t1011 = RATIONAL(-1.0,3.0);
+ t1068 = t1011*t1053+t992*t1040+t1082;
+ t1067 = t995*t1050+y*t964+t978*t1043+t1005*t1054;
+ t979 = RATIONAL(-1.0,72.0);
+ t1066 = t980*t1043+t979*t1050+t1081*y;
+ t989 = RATIONAL(1.0,48.0);
+ t1065 = t987*t1053+t989*t1040+t1081;
+ t955 = t980*t1015;
+ t1064 = t983*t1043+x*t1038+(t957+t955)*y;
+ t1001 = RATIONAL(-1.0,6.0);
+ t951 = t979*t1015;
+ t1063 = t1001*t1053+t951+t1075;
+ t1062 = t996*t1043+t1006*t1050+(t952+t951)*y;
+ t1061 = t979*t1043+t980*t1050+t1080*y;
+ t1060 = t989*t1053+t987*t1040+t1080;
+ t1059 = t978*t1015+t994*t1053+t1076;
+ t1058 = t995*t1015+t985*t1053+t1075;
+ t1000 = RATIONAL(1.0,6.0);
+ t1057 = t955+t1000*t1053+t1076;
+ t1056 = t974*t1042+t976*t1039+t1079*y;
+ t1051 = y*t1013;
+ t1055 = t1010*t1051+t1017*t1049+t1078*t1016;
+ t1035 = t1001*t1017;
+ t1008 = RATIONAL(-5.0,3.0);
+ t1047 = t1008*t1051+t1016*t1035;
+ t1045 = RATIONAL(5.0,48.0)*t1013;
+ t1046 = t994*t1042+y*t1045;
+ t1041 = t1017*t1014;
+ t1037 = t1013*t1014;
+ t1036 = RATIONAL(5.0,6.0)*t1013;
+ t1003 = RATIONAL(-2.0,3.0);
+ t973 = t1003*t1016;
+ t968 = t1000*t1016;
+ t984 = RATIONAL(5.0,12.0);
+ t999 = RATIONAL(2.0,3.0);
+ t1034 = t984*t1052+t999*t1039+t1047;
+ t986 = RATIONAL(-5.0,48.0);
+ t1033 = t986*t1052+t985*t1039+t1046;
+ t1032 = RATIONAL(5.0,24.0)*y+t993*t1016;
+ t981 = RATIONAL(-5.0,24.0);
+ t1031 = t992*t1016+t981*y;
+ t1030 = t973+t1009*t1052+t1016*t1036+RATIONAL(4.0,3.0)*y+t1047;
+ t1029 = t968+t981*t1039+t1046+t1077*y;
+ t1028 = t994*t1041+t1001*t1037+t978*t1013+t979*t1017+t1073;
+ t988 = RATIONAL(1.0,96.0);
+ t990 = RATIONAL(-1.0,96.0);
+ t1027 = t988*t1037+t977*t1017+t975*t1013+t990*t1041+t1056;
+ t1026 = t1007*t1013+t992*t1041+t1006*t1017+t1011*t1037+t1055;
+ t1025 = t987*t1041+t983*t1013+t996*t1017+t989*t1037+t1074;
+ t1024 = t993*t1041+t1009*t1037+t1055+t1078;
+ t1023 = t987*t1037+t983*t1017+t996*t1013+t989*t1041+t1074;
+ t1022 = t990*t1037+t988*t1041+t1056+t1079;
+ t1021 = t959+t985*t1041+t1000*t1037+t958+t1073;
+ t998 = RATIONAL(1.0,4.0);
+ t997 = RATIONAL(-5.0,8.0);
+ coeffs_dy->coeff_m2_m2 = t1027+t1061+t1065;
+ coeffs_dy->coeff_m1_m2 = t1028+t1057+t1062;
+ coeffs_dy->coeff_0_m2 = t986*t1013+t989*t1017+t992+(RATIONAL(5.0,16.0)*
+t1013+RATIONAL(-1.0,4.0)+RATIONAL(-1.0,16.0)*t1017)*t1014+t1029;
+ coeffs_dy->coeff_p1_m2 = t1028+t1063+t1064;
+ coeffs_dy->coeff_p2_m2 = t1027+t1060+t1066;
+ coeffs_dy->coeff_m2_m1 = t1023+t1059+t1067;
+ coeffs_dy->coeff_m1_m1 = t1024+t1068+t1071;
+ coeffs_dy->coeff_0_m1 = t1036+t1003+t1035+(t997*t1013+RATIONAL(1.0,2.0)+
+RATIONAL(1.0,8.0)*t1017)*t1014+t1030;
+ coeffs_dy->coeff_p1_m1 = t1024+t1069+t1070;
+ coeffs_dy->coeff_p2_m1 = t1023+t1058+t1072;
+ coeffs_dy->coeff_m2_0 = t1032*t1015+t1031*x+t1033;
+ coeffs_dy->coeff_m1_0 = (RATIONAL(-5.0,12.0)*y+t968)*t1015+(RATIONAL(5.0,
+3.0)*y+t973)*x+t1034;
+ coeffs_dy->coeff_0_0 = (RATIONAL(-5.0,4.0)*t1013+t998*t1017+1.0)*t1016+(
+t997*t1017+RATIONAL(25.0,8.0)*t1013+RATIONAL(-5.0,2.0))*y;
+ coeffs_dy->coeff_p1_0 = (t1001*t1016+t984*y)*t1015+(t1008*y+t999*t1016)*x
++t1034;
+ coeffs_dy->coeff_p2_0 = t1031*t1015+t1032*x+t1033;
+ coeffs_dy->coeff_m2_p1 = t1025+t1058+t1067;
+ coeffs_dy->coeff_m1_p1 = t1026+t1069+t1071;
+ coeffs_dy->coeff_0_p1 = t1000*t1017+t999+RATIONAL(-5.0,6.0)*t1013+(
+RATIONAL(5.0,8.0)*t1013+RATIONAL(-1.0,8.0)*t1017+RATIONAL(-1.0,2.0))*t1014+
+t1030;
+ coeffs_dy->coeff_p1_p1 = t1026+t1068+t1070;
+ coeffs_dy->coeff_p2_p1 = t1025+t1059+t1072;
+ coeffs_dy->coeff_m2_p2 = t1022+t1060+t1061;
+ coeffs_dy->coeff_m1_p2 = t1021+t1062+t1063;
+ coeffs_dy->coeff_0_p2 = t1045+(RATIONAL(1.0,16.0)*t1017+RATIONAL(-5.0,
+16.0)*t1013+t998)*t1014+t1029+t1077;
+ coeffs_dy->coeff_p1_p2 = t1021+t1057+t1064;
+ coeffs_dy->coeff_p2_p2 = t1022+t1065+t1066;
diff --git a/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dyy.compute.c b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dyy.compute.c
new file mode 100644
index 0000000..b1a740e
--- /dev/null
+++ b/src/Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dyy.compute.c
@@ -0,0 +1,223 @@
+fp t1613;
+fp t1675;
+fp t1611;
+fp t1645;
+fp t1612;
+fp t1614;
+fp t1586;
+fp t1644;
+fp t1504;
+fp t1674;
+fp t1585;
+fp t1615;
+fp t1649;
+fp t1584;
+fp t1635;
+fp t1673;
+fp t1583;
+fp t1646;
+fp t1648;
+fp t1588;
+fp t1672;
+fp t1650;
+fp t1671;
+fp t1555;
+fp t1654;
+fp t1670;
+fp t1651;
+fp t1604;
+fp t1647;
+fp t1669;
+fp t1603;
+fp t1605;
+fp t1668;
+fp t1587;
+fp t1643;
+fp t1494;
+fp t1667;
+fp t1666;
+fp t1633;
+fp t1665;
+fp t1664;
+fp t1663;
+fp t1609;
+fp t1652;
+fp t1662;
+fp t1661;
+fp t1660;
+fp t1659;
+fp t1589;
+fp t1632;
+fp t1636;
+fp t1642;
+fp t1579;
+fp t1658;
+fp t1580;
+fp t1657;
+fp t1601;
+fp t1656;
+fp t1655;
+fp t1653;
+fp t1641;
+fp t1598;
+fp t1640;
+fp t1608;
+fp t1591;
+fp t1639;
+fp t1568;
+fp t1597;
+fp t1573;
+fp t1595;
+fp t1637;
+fp t1634;
+fp t1599;
+fp t1631;
+fp t1602;
+fp t1630;
+fp t1592;
+fp t1629;
+fp t1578;
+fp t1628;
+fp t1596;
+fp t1627;
+fp t1626;
+fp t1576;
+fp t1577;
+fp t1625;
+fp t1624;
+fp t1623;
+fp t1622;
+fp t1621;
+fp t1620;
+fp t1606;
+fp t1607;
+fp t1619;
+fp t1618;
+ t1613 = y*y;
+ t1675 = RATIONAL(8.0,9.0)+t1613*RATIONAL(-4.0,3.0);
+ t1611 = RATIONAL(-1.0,3.0);
+ t1645 = t1611*x;
+ t1612 = x*x;
+ t1614 = t1612*x;
+ t1586 = RATIONAL(1.0,12.0);
+ t1644 = y*t1586;
+ t1504 = t1614*t1644;
+ t1674 = y*t1645+t1504;
+ t1585 = RATIONAL(1.0,48.0);
+ t1615 = t1612*t1612;
+ t1649 = y*t1615;
+ t1584 = RATIONAL(-1.0,48.0);
+ t1635 = t1612*t1584;
+ t1673 = t1585*t1649+y*t1635;
+ t1583 = RATIONAL(-1.0,24.0);
+ t1646 = x*t1583;
+ t1648 = y*t1614;
+ t1588 = RATIONAL(1.0,24.0);
+ t1672 = y*t1646+t1588*t1648;
+ t1650 = x*t1588;
+ t1671 = y*t1650+t1583*t1648;
+ t1555 = t1584*t1615;
+ t1654 = y*t1612;
+ t1670 = y*t1555+t1585*t1654;
+ t1651 = RATIONAL(2.0,3.0)*y;
+ t1604 = RATIONAL(-1.0,6.0);
+ t1647 = y*t1604;
+ t1669 = t1614*t1647+x*t1651;
+ t1603 = RATIONAL(1.0,6.0);
+ t1605 = RATIONAL(-2.0,3.0);
+ t1668 = t1605*t1654+t1603*t1649;
+ t1587 = RATIONAL(-1.0,12.0);
+ t1643 = y*t1587;
+ t1494 = t1614*t1643;
+ t1667 = x*t1644+t1494;
+ t1666 = t1583*t1654+t1588*t1649;
+ t1633 = t1603*t1614;
+ t1665 = (t1605*x+t1633)*y;
+ t1664 = t1615*t1647+t1612*t1651;
+ t1663 = t1615*t1644+t1611*t1654;
+ t1609 = RATIONAL(1.0,3.0);
+ t1652 = y*t1609;
+ t1662 = t1494+x*t1652;
+ t1661 = t1583*t1649+t1588*t1654;
+ t1660 = x*t1643+t1504;
+ t1659 = t1612*t1652+t1615*t1643;
+ t1589 = RATIONAL(-1.0,18.0);
+ t1632 = t1613*t1615;
+ t1636 = t1589*t1612+t1587*t1632;
+ t1642 = t1613*t1612;
+ t1579 = RATIONAL(1.0,18.0);
+ t1658 = t1636+t1579*t1615+t1586*t1642;
+ t1580 = RATIONAL(1.0,72.0);
+ t1657 = t1636+t1580*t1615+t1609*t1642;
+ t1601 = RATIONAL(-2.0,9.0);
+ t1656 = t1601*t1615+t1609*t1632+t1675*t1612;
+ t1655 = RATIONAL(-1.0,288.0)*t1615+t1613*t1635+RATIONAL(1.0,288.0)*t1612+
+t1585*t1632;
+ t1653 = x*t1613;
+ t1641 = RATIONAL(2.0,1.0)*t1613;
+ t1598 = RATIONAL(1.0,8.0);
+ t1640 = RATIONAL(5.0,48.0)*t1612+t1598*t1632;
+ t1608 = RATIONAL(-5.0,3.0);
+ t1591 = RATIONAL(-1.0,2.0);
+ t1639 = t1608*t1612+t1591*t1632;
+ t1568 = RATIONAL(-2.0,1.0)*t1613;
+ t1597 = RATIONAL(1.0,2.0);
+ t1573 = t1597*t1613;
+ t1595 = RATIONAL(-5.0,8.0);
+ t1637 = t1595*t1612;
+ t1634 = t1613*t1614;
+ t1599 = RATIONAL(1.0,4.0);
+ t1631 = t1599*t1613+RATIONAL(-5.0,24.0);
+ t1602 = RATIONAL(-1.0,4.0);
+ t1630 = t1602*t1613+RATIONAL(5.0,24.0);
+ t1592 = RATIONAL(-1.0,8.0);
+ t1629 = t1592*t1642+RATIONAL(-5.0,48.0)*t1615+t1640;
+ t1578 = RATIONAL(5.0,12.0);
+ t1628 = t1612*t1641+t1578*t1615+t1639;
+ t1596 = RATIONAL(4.0,3.0);
+ t1627 = t1609*t1615+RATIONAL(5.0,2.0)*t1642+t1568+t1596+t1639;
+ t1626 = t1555+t1587+t1573+t1613*t1637+t1640;
+ t1576 = RATIONAL(1.0,144.0);
+ t1577 = RATIONAL(-1.0,144.0);
+ t1625 = t1613*t1646+t1577*t1614+t1576*x+t1588*t1634+t1655;
+ t1624 = t1583*t1634+t1577*x+t1613*t1650+t1576*t1614+t1655;
+ t1623 = t1609*t1653+t1589*x+t1580*t1614+t1587*t1634+t1657;
+ t1622 = t1579*x+RATIONAL(-1.0,72.0)*t1614+t1586*t1634+t1613*t1645+t1657;
+ t1621 = t1601*t1614+t1609*t1634+t1656+t1675*x;
+ t1620 = RATIONAL(-8.0,9.0)*x+RATIONAL(2.0,9.0)*t1614+t1596*t1653+t1611*
+t1634+t1656;
+ t1606 = RATIONAL(1.0,9.0);
+ t1607 = RATIONAL(-1.0,9.0);
+ t1619 = t1607*x+t1604*t1634+t1606*t1614+t1603*t1653+t1658;
+ t1618 = t1606*x+t1607*t1614+t1613*t1633+t1604*t1653+t1658;
+ coeffs_dyy->coeff_m2_m2 = t1624+t1670+t1672;
+ coeffs_dyy->coeff_m1_m2 = t1622+t1662+t1663;
+ coeffs_dyy->coeff_0_m2 = (RATIONAL(5.0,8.0)*t1612+t1592*t1615+t1591)*y+
+t1626;
+ coeffs_dyy->coeff_p1_m2 = t1623+t1663+t1674;
+ coeffs_dyy->coeff_p2_m2 = t1625+t1670+t1671;
+ coeffs_dyy->coeff_m2_m1 = t1618+t1666+t1667;
+ coeffs_dyy->coeff_m1_m1 = t1620+t1664+t1665;
+ coeffs_dyy->coeff_0_m1 = (1.0+t1599*t1615+RATIONAL(-5.0,4.0)*t1612)*y+
+t1627;
+ coeffs_dyy->coeff_p1_m1 = t1621+t1664+t1669;
+ coeffs_dyy->coeff_p2_m1 = t1619+t1660+t1666;
+ coeffs_dyy->coeff_m2_0 = t1630*t1614+t1631*x+t1629;
+ coeffs_dyy->coeff_m1_0 = (t1573+RATIONAL(-5.0,12.0))*t1614+(RATIONAL(5.0,
+3.0)+t1568)*x+t1628;
+ coeffs_dyy->coeff_0_0 = RATIONAL(25.0,8.0)*t1612+RATIONAL(-5.0,2.0)+t1595
+*t1615+(RATIONAL(3.0,1.0)+RATIONAL(3.0,4.0)*t1615+RATIONAL(-15.0,4.0)*t1612)*
+t1613;
+ coeffs_dyy->coeff_p1_0 = (t1591*t1613+t1578)*t1614+(t1641+t1608)*x+t1628;
+ coeffs_dyy->coeff_p2_0 = t1631*t1614+t1630*x+t1629;
+ coeffs_dyy->coeff_m2_p1 = t1618+t1660+t1661;
+ coeffs_dyy->coeff_m1_p1 = t1620+t1668+t1669;
+ coeffs_dyy->coeff_0_p1 = (t1602*t1615-1.0+RATIONAL(5.0,4.0)*t1612)*y+
+t1627;
+ coeffs_dyy->coeff_p1_p1 = t1621+t1665+t1668;
+ coeffs_dyy->coeff_p2_p1 = t1619+t1661+t1667;
+ coeffs_dyy->coeff_m2_p2 = t1624+t1671+t1673;
+ coeffs_dyy->coeff_m1_p2 = t1622+t1659+t1674;
+ coeffs_dyy->coeff_0_p2 = (t1637+t1597+t1598*t1615)*y+t1626;
+ coeffs_dyy->coeff_p1_p2 = t1623+t1659+t1662;
+ coeffs_dyy->coeff_p2_p2 = t1625+t1672+t1673;