aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416>2002-02-27 14:28:36 +0000
committerjthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416>2002-02-27 14:28:36 +0000
commit717d39a68230908f36b7098e66d0dd76dd067148 (patch)
tree397cda867657459ef518b65cd87def3517958253
parentac713b27a07fa17689464ac2e9e7275169f116ea (diff)
initial checkin of new LocalInterp thorn
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalInterp/trunk@2 df1f8a13-aa1d-4dd4-9681-27ded5b42416
-rw-r--r--README31
-rw-r--r--archive/2d.cube.order2.smooth0.c534
-rw-r--r--doc/api1323
-rw-r--r--doc/api2460
-rw-r--r--doc/api2.1488
-rw-r--r--doc/api2.2496
-rw-r--r--doc/api3491
-rw-r--r--doc/documentation.tex1063
-rw-r--r--doc/interface.aux19
-rw-r--r--doc/param.aux19
-rw-r--r--doc/references12
-rw-r--r--doc/schedule.aux19
-rw-r--r--interface.ccl6
-rw-r--r--param.ccl4
-rw-r--r--schedule.ccl12
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c24
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c13
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c21
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c38
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c31
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c22
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-I.dcl.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-dx.dcl.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.assign.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.dcl.c2
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-I.compute.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-dx.compute.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-I.dcl.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dx.dcl.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.assign.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.dcl.c3
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-I.compute.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dx.compute.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dxx.compute.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-I.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dx.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.assign.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-I.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dx.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dxx.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-I.dcl.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dx.dcl.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.assign.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.dcl.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-I.compute.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dx.compute.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dxx.compute.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-I.dcl.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dx.dcl.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.assign.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.dcl.c6
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-I.compute.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dx.compute.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dxx.compute.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-I.dcl.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dx.dcl.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.assign.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.dcl.c7
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-I.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dx.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dxx.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order1.smooth0.c35
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order2.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order3.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order4.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order5.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.cube.order6.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.log1779
-rw-r--r--src/GeneralizedPolynomial-Uniform/1d.maple406
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c18
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c53
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c21
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c13
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c15
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c21
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c13
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c192
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c95
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c40
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c52
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c95
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c40
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c251
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c151
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c103
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c119
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c147
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c107
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-I.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dx.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dy.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.assign.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.dcl.c4
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-I.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dx.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dy.compute.c5
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-I.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dx.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dy.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.assign.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.dcl.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-I.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dx.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxx.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxy.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dy.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dyy.compute.c10
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-I.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dx.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dy.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.assign.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.dcl.c16
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-I.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dx.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxx.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxy.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dy.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dyy.compute.c17
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-I.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dx.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dy.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.assign.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.dcl.c25
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-I.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dx.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxx.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxy.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dy.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dyy.compute.c26
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.cube.order1.smooth0.c39
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.cube.order2.smooth0.c51
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.cube.order3.smooth0.c51
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.cube.order4.smooth0.c51
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.log4246
-rw-r--r--src/GeneralizedPolynomial-Uniform/2d.maple415
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c30
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c12
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c12
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c12
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c153
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c59
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c31
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c33
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c33
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c61
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c31
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c33
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c63
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c31
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c905
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c501
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c192
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c212
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c210
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c511
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c192
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c206
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c503
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c190
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c1596
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c983
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c611
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c505
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c499
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c981
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c591
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c531
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c971
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c601
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-I.dcl.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dx.dcl.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dy.dcl.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dz.dcl.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.assign.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.dcl.c8
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-I.compute.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dx.compute.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dy.compute.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dz.compute.c9
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-I.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dx.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dy.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dz.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.assign.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.dcl.c27
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-I.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dx.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxx.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxy.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxz.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dy.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyy.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyz.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dz.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dzz.compute.c28
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-I.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dx.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dy.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dz.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.assign.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.dcl.c64
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-I.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dx.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxx.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxy.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxz.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dy.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyy.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyz.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dz.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dzz.compute.c65
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-I.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dx.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dy.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dz.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.assign.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.dcl.c125
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-I.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dx.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxx.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxy.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxz.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dy.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyy.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyz.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dz.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dzz.compute.c126
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.cube.order1.smooth0.c43
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.cube.order2.smooth0.c67
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.cube.order3.smooth0.c67
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.cube.order4.smooth0.c67
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.log40705
-rw-r--r--src/GeneralizedPolynomial-Uniform/3d.maple626
-rw-r--r--src/GeneralizedPolynomial-Uniform/COPYING339
-rw-r--r--src/GeneralizedPolynomial-Uniform/COPYRIGHT17
-rw-r--r--src/GeneralizedPolynomial-Uniform/InterpLocalUniform.c879
-rw-r--r--src/GeneralizedPolynomial-Uniform/InterpLocalUniform.h144
-rw-r--r--src/GeneralizedPolynomial-Uniform/README43
-rw-r--r--src/GeneralizedPolynomial-Uniform/all-prototypes.h72
-rw-r--r--src/GeneralizedPolynomial-Uniform/interpolate.maple313
-rw-r--r--src/GeneralizedPolynomial-Uniform/make.code.defn21
-rw-r--r--src/GeneralizedPolynomial-Uniform/makefile68
-rw-r--r--src/GeneralizedPolynomial-Uniform/molecule_posn.c225
-rw-r--r--src/GeneralizedPolynomial-Uniform/startup.c38
-rw-r--r--src/GeneralizedPolynomial-Uniform/template.c1150
-rw-r--r--src/GeneralizedPolynomial-Uniform/template.h32
-rw-r--r--src/GeneralizedPolynomial-Uniform/test_molecule_posn.c302
-rw-r--r--src/GeneralizedPolynomial-Uniform/util.c109
-rw-r--r--src/GeneralizedPolynomial-Uniform/util.maple377
-rw-r--r--src/UniformCartesian/Interpolate.c586
-rw-r--r--src/UniformCartesian/Interpolate.h45
-rw-r--r--src/UniformCartesian/Operator.c323
-rw-r--r--src/UniformCartesian/README14
-rw-r--r--src/UniformCartesian/Startup.c185
-rw-r--r--src/UniformCartesian/make.code.defn4
-rw-r--r--src/make.code.defn8
-rw-r--r--test/README10
303 files changed, 77878 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..58617a0
--- /dev/null
+++ b/README
@@ -0,0 +1,31 @@
+Cactus Code Thorn LocalInterp
+Authors : Jonathan Thornburg,
+ incorporating parts of the old PUGHInterp by Thomas Radke,
+ which in turn draws on older code by Paul Walker and
+ optimization ideas from Erik Schnetter
+CVS info : $Header$
+--------------------------------------------------------------------------
+
+Purpose of the thorn:
+
+This thorn does processor-local interpolation of N-dimensional data
+arrays. In general there may be many input arrays (all defined on the
+same uniform Cartesian grid) all being interpolated to the same set
+of interpolation points.
+
+This thorn actually packages together two separate local interpolators:
+* One written by Thomas Radke in early 2001, with the operators
+ "first order uniform cartesian", "second order uniform cartesian",
+ and "third order uniform cartesian", all registered under the
+ CCTK_InterpLocal() interpolation API. (This formerly lived in
+ the PUGHInterp thorn, but turned to have very little to do with
+ PUGH, so it's been moved here.) This lives in the subdirectory
+ src/UniformCartesian/ .
+* One written by Jonathan Thornburg in winter 2001-2002, with the
+ operator "generalized polynomial interpolation" registered under
+ the CCTK_InterpLocalUniform() interpolation API. This lives in
+ the subdirectory src/GeneralizedPolynomial-Uniform/ .
+
+We plan to eventually phase out the CCTK_InterpLocal() API. We may
+also phase out its interpolator, or we may move this to the newer
+CCTK_InterpLocalArrays() API.
diff --git a/archive/2d.cube.order2.smooth0.c b/archive/2d.cube.order2.smooth0.c
new file mode 100644
index 0000000..34e17ca
--- /dev/null
+++ b/archive/2d.cube.order2.smooth0.c
@@ -0,0 +1,534 @@
+ /*@@
+ @file 2d.cube.order2.smooth0.c
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Generalized interpolation for 2d, hypercube-shaped molecules,
+ order=2, smoothing=0. For details, see the header comments
+ for "InterpLocalArrays.c" in this directory.
+ @enddesc
+
+ @version $Id$
+ @@*/
+
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalArrays.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(
+ CactusPUGH_LocalInterp_GeneralizedPolynomial_2d_cube_order2_smooth0_c
+ )
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_ILA_2d_cube_ord2_sm0
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ This function does generalized interpolation of one or more
+ 2d arrays to arbitrary points. For details, see the header
+ comments for InterpLocalArrays() (in "InterpLocalArrays.c"
+ in this same directory).
+
+ This function's arguments are all a subset of those of
+ InterpLocalArrays() ; the only difference is that this function
+ takes all its arguments explicitly, whereas InputLocalArrays()
+ takes some of them indirectly via a key/value parameter table.
+
+ @returntype int
+ @returndesc This function's return result is the same as that of
+ InterpLocalArrays():
+ 0 ==> successful interpolation
+ -1 ==> in case of any errors
+ @endreturndesc
+
+ @@*/
+int LocalInterp_ILA_2d_cube_ord2_sm0
+ (int param_table_handle,
+ const CCTK_REAL coord_system_origin[],
+ const CCTK_REAL grid_spacing[],
+ int N_interp_points,
+ const CCTK_INT interp_coord_type_codes[],
+ const void *const interp_coords[],
+ int N_input_arrays,
+ const CCTK_INT input_array_offsets[],
+ const CCTK_INT input_array_strides[],
+ const CCTK_INT input_array_min_subscripts[],
+ const CCTK_INT input_array_max_subscripts[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[],
+ const CCTK_INT operand_indices[], const CCTK_INT opcodes[])
+{
+/*
+ * Implementation notes:
+ *
+ * The basic outline of this function is as follows:
+ *
+ * compute "which derivatives are wanted" flags
+ * for each interpolation point
+ * {
+ * declare all the coefficients
+ * declare all the data-values variables
+ * ***fetch*** interpolation point coordinates
+ * compute coefficients for all derivatives which are wanted
+ * for each output array
+ * {
+ * int part;
+ * for (part = 0 ; part <= 1 ; ++part)
+ * {
+ * if (this output array is computed
+ * using a different input array
+ * than the previous one || part != 0)
+ * then ***fetch*** the input array values
+ * into local variables
+ * {
+ * fp result;
+ * switch (opcode)
+ * {
+ * case 0:
+ * result = evaluate the interpolant
+ * break;
+ * case 1:
+ * result = evaluate the interpolant
+ * break;
+ * case ...
+ * }
+ * ***store*** result in output array
+ * bool complex_flag = is datatype complex?
+ * if (! complex_flag)
+ * then break;
+ * }
+ * }
+ * }
+ * }
+ *
+ * Here "***fetch***" and "***store***" are all actually switches on
+ * the various array datatypes. For complex datatypes they offset the
+ * 1D array position by part to handle real/imaginary components of
+ * the complex values.
+ *
+ * At present we do all floating-point computations in type "fp"
+ * (typically a typedef for CCTK_REAL), so arrays of higher precision
+ * than this will incur extra rounding errors. In practice these should
+ * be negligible compared to the "truncation" interpolation errors.
+ */
+
+/*
+ * Naming conventions:
+ * input, output = 0-origin indices each selecting an input/output array
+ * point = 0-origin index selecting an interpolation point
+ */
+
+/*
+ * these are compile-time constants here; InterpLocalArrays() decoded
+ * them and called us (as opposed to another function) based in part
+ * on these values
+ */
+#define N_DIMS 2
+#define MOLECULE_SIZE 3
+
+/* layout of axes in N_dims-element arrays */
+#define X_AXIS 0
+#define Y_AXIS 1
+
+/* input array size, strides, and subscripting computation */
+const int stride_i = input_array_strides[X_AXIS];
+const int stride_j = input_array_strides[Y_AXIS];
+#define SUB2(i,j) (i*stride_i + j*stride_j)
+
+/* macros used by machine-generated interpolation coefficient expressions */
+#define RATIONAL(num,den) (num/den)
+
+/*
+ * compute flags specifying which derivatives are wanted
+ */
+bool want_I = false;
+bool want_dx = false, want_dy = false;
+ {
+int output;
+ for (output = 0 ; output < N_output_arrays ; ++output)
+ {
+ switch (opcodes[output])
+ {
+ case 0: want_I = true; break;
+ case 1: want_dx = true; break;
+ case 2: want_dy = true; break;
+ default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Generalized interpolation opcode %d not supported",
+ opcodes[output]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+ }
+
+/*
+ * interpolate at each point
+ */
+ {
+int point;
+ for (point = 0 ; point < N_interp_points ; ++point)
+ {
+ /* declare all the interpolation coefficients */
+ #include "coeffs/2d.cube.order2.smooth0.I.dcl.c"
+ #include "coeffs/2d.cube.order2.smooth0.dx.dcl.c"
+ #include "coeffs/2d.cube.order2.smooth0.dy.dcl.c"
+
+ /* declare all the data-values variables */
+ #include "coeffs/2d.cube.size3.data-var.dcl.c"
+
+ /*
+ * ***fetch*** interpolation point coordinates
+ */
+ fp interp_coords_fp[N_DIMS];
+ int axis;
+ for (axis = 0 ; axis < N_DIMS ; ++axis)
+ {
+ /* pointer to array of interp coords for this axis */
+ const void *const interp_coords_ptr = interp_coords[axis];
+
+ switch (interp_coord_type_codes[axis])
+ {
+#ifdef CCTK_REAL
+ case CCTK_VARIABLE_REAL:
+ {
+ const CCTK_REAL *const interp_coords_ptr_real
+ = (const CCTK_REAL *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real[point];
+ break;
+ }
+#endif
+#ifdef CCTK_REAL4
+ case CCTK_VARIABLE_REAL4:
+ {
+ const CCTK_REAL4 *const interp_coords_ptr_real4
+ = (const CCTK_REAL4 *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real4[point];
+ break;
+ }
+#endif
+#ifdef CCTK_REAL8
+ case CCTK_VARIABLE_REAL8:
+ {
+ const CCTK_REAL8 *const interp_coords_ptr_real8
+ = (const CCTK_REAL8 *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real8[point];
+ break;
+ }
+#endif
+ default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "interp-coords datatype %d not supported",
+ interp_coord_type_codes[axis]);
+ /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+
+ /*
+ * locate interpolation molecules with respect to the grid,
+ * i.e. compute interp_rel_(x,y)
+ */
+ {
+ fp interp_rel_x, interp_rel_y; /* (x,y) coordinates of interpolation */
+ /* point relative to molecule center */
+ /* (in units of the grid spacing) */
+ const int center_i
+ = LocalInterp_molecule_posn(coord_system_origin[X_AXIS],
+ grid_spacing[X_AXIS],
+ input_array_min_subscripts[X_AXIS],
+ input_array_max_subscripts[X_AXIS],
+ MOLECULE_SIZE,
+ interp_coords_fp[X_AXIS],
+ &interp_rel_x,
+ (int *) NULL, (int *) NULL);
+ const int center_j
+ = LocalInterp_molecule_posn(coord_system_origin[Y_AXIS],
+ grid_spacing[Y_AXIS],
+ input_array_min_subscripts[Y_AXIS],
+ input_array_max_subscripts[Y_AXIS],
+ MOLECULE_SIZE,
+ interp_coords_fp[Y_AXIS],
+ &interp_rel_y,
+ (int *) NULL, (int *) NULL);
+ const int center_sub = SUB2(center_i, center_j);
+
+ /*
+ * compute the coefficients for whichever derivatives are wanted
+ * using machine-generated coefficient expressions
+ * ... these expressions are polynomials in (x,y)
+ * ==> we need these names for the relative coordinates
+ * (copying to fresh local variables will likely also
+ * give better register allocation, since [xy]_rel
+ * had their addresses taken and so probably won't be
+ * register-allocated)
+ */
+ const fp x = interp_rel_x;
+ const fp y = interp_rel_y;
+ if (want_I)
+ then {
+ #include "coeffs/2d.cube.order2.smooth0.I.coeff.c"
+ }
+ if (want_dx)
+ then {
+ #include "coeffs/2d.cube.order2.smooth0.dx.coeff.c"
+ }
+ if (want_dy)
+ then {
+ #include "coeffs/2d.cube.order2.smooth0.dy.coeff.c"
+ }
+
+ /*
+ * compute each output array at this point
+ */
+ {
+ int output;
+ const void *input_array_ptr = NULL;
+ for (output = 0 ; output < N_output_arrays ; ++output)
+ {
+ const int input = operand_indices[output];
+ const int input_offset = input_array_offsets[input];
+
+ /*
+ * for each real/imag part of complex data values
+ * ... for real we'll break out of this loop at the bottom
+ * after only a single iteration;
+ * for complex we'll do both iterations
+ */
+ int part;
+ for (part = 0 ; part <= 1 ; ++part)
+ {
+ if ( (input_arrays[input] != input_array_ptr)
+ || (part != 0) )
+ then {
+ /*
+ * ***fetch*** the input array values
+ * into local variables
+ */
+ input_array_ptr = input_arrays[input];
+ switch (input_array_type_codes[input])
+ {
+#ifdef CCTK_REAL
+case CCTK_VARIABLE_REAL:
+ {
+ const CCTK_REAL *const input_array_ptr_real
+ = (const CCTK_REAL *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ input_array_ptr_real[input_offset + center_sub + SUB2(i,j)]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+#ifdef CCTK_REAL4
+case CCTK_VARIABLE_REAL4:
+ {
+ const CCTK_REAL4 *const input_array_ptr_real4
+ = (const CCTK_REAL4 *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ input_array_ptr_real4[input_offset + center_sub + SUB2(i,j)]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+#ifdef CCTK_REAL8
+case CCTK_VARIABLE_REAL8:
+ {
+ const CCTK_REAL8 *const input_array_ptr_real8
+ = (const CCTK_REAL8 *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ input_array_ptr_real8[input_offset + center_sub + SUB2(i,j)]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+#ifdef CCTK_COMPLEX
+case CCTK_VARIABLE_COMPLEX:
+ {
+ const CCTK_COMPLEX *const input_array_ptr_complex
+ = (const CCTK_COMPLEX *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ ( (const CCTK_REAL *) \
+ & input_array_ptr_complex[input_offset + center_sub + SUB2(i,j)] ) [part]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+#ifdef CCTK_COMPLEX8
+case CCTK_VARIABLE_COMPLEX8:
+ {
+ const CCTK_COMPLEX8 *const input_array_ptr_complex8
+ = (const CCTK_COMPLEX8 *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ ( (const CCTK_REAL4 *) \
+ & input_array_ptr_complex8[input_offset + center_sub + SUB2(i,j)] ) [part]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+#ifdef CCTK_COMPLEX16
+case CCTK_VARIABLE_COMPLEX16:
+ {
+ const CCTK_COMPLEX16 *const input_array_ptr_complex16
+ = (const CCTK_COMPLEX16 *) input_array_ptr;
+ #undef DATA
+ #define DATA(i,j) \
+ ( (const CCTK_REAL8 *) \
+ & input_array_ptr_complex16[input_offset + center_sub + SUB2(i,j)] ) [part]
+ #include "coeffs/2d.cube.size3.data-var.assign.c"
+ break;
+ }
+#endif
+default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "input datatype %d not supported",
+ input_array_type_codes[input]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+
+ /*
+ * evaluate the interpolant
+ * as a linear combination of the data variables
+ */
+ {
+ fp result;
+ switch (opcodes[output])
+ {
+ case 0:
+ result =
+ #include "coeffs/2d.cube.order2.smooth0.I.eval.c"
+ break;
+ case 1:
+ result =
+ #include "coeffs/2d.cube.order2.smooth0.dx.eval.c"
+ break;
+ case 2:
+ result =
+ #include "coeffs/2d.cube.order2.smooth0.dy.eval.c"
+ break;
+ default:
+ CCTK_VWarn(1, __LINE__, __FILE__,
+ CCTK_THORNSTRING,
+ "opcode %d not supported",
+ opcodes[output]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT;
+ /*** ERROR RETURN ***/
+ }
+
+ /*
+ * ***store*** the result in the output array
+ */
+ switch (output_array_type_codes[output])
+ {
+case CCTK_VARIABLE_REAL:
+ {
+ CCTK_REAL *const output_array_ptr_real
+ = (CCTK_REAL *) output_arrays[output];
+ output_array_ptr_real[point] = result;
+ break;
+ }
+case CCTK_VARIABLE_REAL4:
+ {
+ CCTK_REAL4 *const output_array_ptr_real4
+ = (CCTK_REAL4 *) output_arrays[output];
+ output_array_ptr_real4[point] = result;
+ break;
+ }
+case CCTK_VARIABLE_REAL8:
+ {
+ CCTK_REAL8 *const output_array_ptr_real8
+ = (CCTK_REAL8 *) output_arrays[output];
+ output_array_ptr_real8[point] = result;
+ break;
+ }
+case CCTK_VARIABLE_COMPLEX:
+ {
+ CCTK_COMPLEX *const output_array_ptr_complex
+ = (CCTK_COMPLEX *) output_arrays[output];
+ ((CCTK_REAL *) & output_array_ptr_complex[point]) [part]
+ = result;
+ break;
+ }
+case CCTK_VARIABLE_COMPLEX8:
+ {
+ CCTK_COMPLEX8 *const output_array_ptr_complex8
+ = (CCTK_COMPLEX8 *) output_arrays[output];
+ ((CCTK_REAL4 *) & output_array_ptr_complex8[point]) [part]
+ = result;
+ break;
+ }
+case CCTK_VARIABLE_COMPLEX16:
+ {
+ CCTK_COMPLEX16 *const output_array_ptr_complex16
+ = (CCTK_COMPLEX16 *) output_arrays[output];
+ ((CCTK_REAL8 *) & output_array_ptr_complex16[point]) [part]
+ = result;
+ break;
+ }
+default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "output datatype %d not supported",
+ output_array_type_codes[output]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+
+ /* decode datatype: is it real or complex? */
+ {
+ bool complex_flag;
+ switch (output_array_type_codes[output])
+ {
+ case CCTK_VARIABLE_REAL:
+ case CCTK_VARIABLE_REAL4:
+ case CCTK_VARIABLE_REAL8:
+ complex_flag = false;
+ break;
+ case CCTK_VARIABLE_COMPLEX:
+ case CCTK_VARIABLE_COMPLEX8:
+ case CCTK_VARIABLE_COMPLEX16:
+ complex_flag = true;
+ break;
+ default:
+ CCTK_VWarn(1, __LINE__, __FILE__,
+ CCTK_THORNSTRING,
+ "output datatype %d not supported",
+ output_array_type_codes[output]);
+ /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT;
+ /*** ERROR RETURN ***/
+ }
+
+ /* skip part=1 (imaginary part) for real datatypes */
+ if (! complex_flag)
+ then break;
+ }
+ }
+ /* end of for (part = ...) loop */
+ }
+ /* end of for (output = ...) loop */
+ }
+ }
+ }
+
+ /* end of for (point = ...) loop */
+ }
+
+return 0; /*** NORMAL RETURN ***/
+ }
+}
diff --git a/doc/api1 b/doc/api1
new file mode 100644
index 0000000..5bc5f22
--- /dev/null
+++ b/doc/api1
@@ -0,0 +1,323 @@
+As I've explained in a recent message to the cactususers mailing list,
+I'm working on a new "generalized interpolator" for Cactus, which will
+be able to interpolate derivatives of grid functions as well as the
+grid functions themselves. Corresponding to this, I (in consultation
+with Thomas Radke and Tom Goodale) have also come up with a new design
+for the Cactus interpolation API.
+
+The purpose of this message is to solicit comments and/or suggestions
+about the new API.
+
+
+Problems with the Current Interpolator API
+==========================================
+
+I see two major problems with the current interpolator API
+(CCTK_InterpGV() and CCTK_InterpLocal()):
+
+The current API uses variable argument lists to allow interpolating
+many arrays in a single call. This has turned out to be somewhat
+error-prone. (There is *no* compiler checking of variable argument lists!)
+To allow better compiler error checking, we propose replacing all the
+variable argument lists with explicit arrays of pointers.
+
+The current interpolator interface encodes all parameters for the
+interpolator (eg things like the order) into the character-string
+interpolator name. This is a bit awkward, but managable if there are
+only a few parameters, all integers. But it's completely unworkable for
+a generalized interpolator, which needs a whole bunch of extra parameters
+to tell it what derivatives to take. Instead, we propose that a
+generalized interpolator get a handle to one of the new key-value
+tables, and that any extra parameters (such as "which derivatives to
+take" info) be passed in the table. This makes it easy to add new
+interpolation operators which take additional parameters (eg a rational
+interpolator might have two order parameters, one for numerator and
+one for denominator), without having to change the API.
+
+
+The Generalized Interpolator API (version 1)
+============================================
+
+In more detail, here is my proposal for the new API:
+(don't be scared by the length, it's not that complicated!)
+(there are some examples below)
+
+ int status = CCTK_GInterpGV(arguments described below)
+ int status = CCTK_GInterpLocal(arguments described below)
+
+arguments (both CCTK_GInterpGV() and CCTK_GInterpLocal())
+ const cGH *GH;
+ int N_dims;
+ int operator_handle, int coord_system_handle;
+ int param_table_handle; /* handle to key-value table, see below */
+
+ int N_interp_points;
+ /* array of CCTK_VARIABLE_* codes giving data types */
+ /* of arrays pointed to by interp_coords[] arrays */
+ const int interp_coord_types[N_dims];
+ /* array of pointers to arrays giving x,y,... coordinates of interp points */
+ const void *const interp_coords[N_dims];
+
+ int N_input_arrays, N_output_arrays;
+
+for CCTK_GInterpGV():
+ /* array of CCTK variable indices of input arrays */
+ const int input_array_indices[N_input_arrays];
+
+for CCTK_GInterpLocal():
+ /* array of CCTK_VARIABLE_* codes giving data types of input arrays */
+ const int input_array_types[N_input_arrays];
+ /* array of input array dimensions (common to all input arrays) */
+ const int input_array_dims[N_dims];
+ /* array of pointers to input arrays */
+ const void *const input_arrays[N_input_arrays];
+
+for both functions again:
+ /* array of CCTK_VARIABLE_* codes giving data types of output arrays */
+ const int output_array_types[N_output_arrays];
+ /* array of pointers to output arrays */
+ void *const output_arrays[N_output_arrays];
+
+The information passed in the table would depend on the interpolation
+operator. For what I am currently implementing, I will register only
+a single operator, "generalized polynomial interpolation", and take the
+following parameters in the table:
+
+ int order; /* mandatory */
+
+Thus the simplest call can just use Util_TableCreateFromString("order=3")
+for a 3rd-order interpolation, for example.
+
+All the remaining parameters in the table are optional; if they're
+omitted defaults will be supplied:
+
+ const char *molecule_type; /* this selects one of a family of related */
+ /* operators; the default (and the only one */
+ /* I'm implementing right now) is to use the */
+ /* usual hypercube-shaped molecules */
+
+ int smoothing; /* the way I'm implementing the interpolation */
+ /* it's easy to also do Savitzky-Golay type */
+ /* smoothing; this parameter gives how much */
+ /* to enlarge the interpolation molecule for */
+ /* this; the default is 0 (no smoothing) */
+
+Optionally, the caller can specify a mask gridfn
+for CCTK_GInterpGV():
+ int mask_gridfn_index;
+for CCTK_GInterpLocal();
+ int mask_type; /* one of the CCTK_VARIABLE_* codes */
+ const void *const mask_array;
+and the range of values for the mask which correspond to valid points:
+ CCTK_REAL mask_min, mask_max; /* valid <--> closed interval [min,max] */
+
+And last but not least, optionally, the caller can specify taking
+derivatives as part of the interpolation:
+ const int operand_indices[N_output_arrays];
+ const int opcodes[N_output_arrays];
+The semantics here are that
+ output array[i] = op(input array[ operand_indices[i] ])
+where op is specified as an integer operation code
+(we'll put #defines for these in one of the cctk header files).
+Note that the array operand_indices[] doesn't directly name the inputs,
+but rather gives the indices in the list of inputs. This allows for a
+more efficient implementation in the case where some of the input arrays
+have many different operations applied to them.
+
+
+
+Pointers in Fortran
+===================
+
+One possible problem area with this API is that it requires creating
+arrays of pointers pointing to other arrays. In C this is no problem,
+but in Fortran 77 this is difficult. So, I propose adding a new Cactus
+function pointer_to() to make this easier for Fortran users:
+
+ CCTK_POINTER pointer_to(any array in your code)
+
+This would be #defined to %loc on those compilers which have that
+extension to standard Fortran, or would be a Cactus-provided utility
+routine for other cases. It's trivial to write the latter case in C
+so long as the Fortran compiler actually uses call by reference, as
+almost all Fortran compilers do anyway for arrays.
+
+
+
+A Simple Example
+================
+
+Here's a simple example, written in Fortran 77, interpolating a real
+and a complex grid function in 3D:
+
+c
+c input grid functions:
+c real_gridfn (CCTK_REAL)
+c complex_gridfn (CCTK_COMPLEX)
+c
+c interpolation coordinates
+c xcoord, ycoord, zcoord (CCTK_REAL arrays of size N)
+c
+c output arrays:
+c real_at_xyz (CCTK_REAL array of size N)
+c complex_at_xyz (CCTK_COMPLEX array of size N)
+c
+ integer status
+ CCTK_POINTER input_gridfn_indices(2)
+ integer interp_coord_types(3)
+ CCTK_POINTER interp_coords(3)
+ integer output_array_types(2)
+ CCTK_POINTER output_arrays(2)
+
+ call CCTK_VarIndex(input_gridfn_indices(1), "mythorn::real_gridfn")
+ call CCTK_VarIndex(input_gridfn_indices(2), "mythorn::complex_gridfn")
+
+c could also initialize this with a DATA statement
+ interp_coord_types(1) = CCTK_VARIABLE_REAL
+ interp_coord_types(2) = CCTK_VARIABLE_REAL
+ interp_coord_types(3) = CCTK_VARIABLE_REAL
+ interp_coords(1) = pointer_to(xcoord)
+ interp_coords(2) = pointer_to(ycoord)
+ interp_coords(3) = pointer_to(zcoord)
+c could also initialize this with a DATA statement
+ output_array_types(1) = CCTK_VARIABLE_REAL
+ output_array_types(2) = CCTK_VARIABLE_COMPLEX
+ output_arrays(1) = pointer_to(real_at_xyz)
+ output_arrays(2) = pointer_to(complex_at_xyz)
+ call CCTK_InterpGV(status,
+ cctk_GH,
+ 3, # number of dimensions
+ operator_handle, coord_system_handle,
+ Util_TableCreateFromString("order=3"),
+ N, interp_coord_types, interp_coords,
+ 2, 2, # number of input/output arrays
+ input_gridfn_indices,
+ output_array_types, output_arrays);
+ if (status .lt. 0) then
+c help, an error occured!
+ end if
+
+
+
+A More Complicated Example
+==========================
+
+Here's a more complicated example, written in C++. (I'm really only using
+C++ to get cleaner initialization of the various arrays, this is still
+"almost C".) This example is a simplified form of what I will be doing
+in my new apparent horizon finder:
+
+//
+// input grid functions (12 of them, all 3D CCTK_REAL):
+// gxx, gxy, gxz, gyy, gyz, gzz,
+// Kxx, Kxy, Kxz, Kyy, Kyz, Kzz
+//
+// interpolation coordinates:
+// xcoord, ycoord, zcoord (CCTK_REAL arrays of size N)
+//
+// output arrays (30 of them, all 3D CCTK_REAL)
+// (interpolate the gij and Kij, also interpolate all first derivs of the gij)
+// I_gxx, dx_gxx, dy_gxx, dz_gxx,
+// I_gxy, dx_gxy, dy_gxy, dz_gxy,
+// I_gxz, dx_gxz, dy_gxz, dz_gxz,
+// I_gyy, dx_gyy, dy_gyy, dz_gyy,
+// I_gyz, dx_gyz, dy_gyz, dz_gyz,
+// I_gzz, dx_gzz, dy_gzz, dz_gzz,
+// I_Kxx, I_Kxy, I_Kxz, I_Kyy, I_Kyz, I_Kzz,
+//
+
+const int gxx_index = CCTK_VarIndex("somethorn::gxx");
+const int gxy_index = CCTK_VarIndex("somethorn::gxy");
+const int gxz_index = CCTK_VarIndex("somethorn::gxz");
+const int gyy_index = CCTK_VarIndex("somethorn::gyy");
+const int gyz_index = CCTK_VarIndex("somethorn::gyz");
+const int gzz_index = CCTK_VarIndex("somethorn::gzz");
+const int Kxx_index = CCTK_VarIndex("somethorn::Kxx");
+const int Kxy_index = CCTK_VarIndex("somethorn::Kxy");
+const int Kxz_index = CCTK_VarIndex("somethorn::Kxz");
+const int Kyy_index = CCTK_VarIndex("somethorn::Kyy");
+const int Kyz_index = CCTK_VarIndex("somethorn::Kyz");
+const int Kzz_index = CCTK_VarIndex("somethorn::Kzz");
+
+const int N_dims = 3;
+int interp_coord_types[N_dims]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_dims]
+ = { (const void *) &xcoord,
+ (const void *) &ycoord,
+ (const void *) &zcoord };
+
+const int N_input_arrays = 12;
+int input_array_types[N_input_arrays]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+
+const int N_output_arrays = 30;
+int output_array_types[N_output_arrays];
+ for (int oi = 0 ; oi < N_output_arrays ; ++oi)
+ {
+ output_array_types[oi] = CCTK_VARIABLE_REAL;
+ }
+
+#define VP(x) static_cast<void *>(x)
+void *const output_arrays[N_output_arrays]
+ = {
+ VP(I_gxx), VP(dx_gxx), VP(dy_gxx), VP(dz_gxx),
+ VP(I_gxy), VP(dx_gxy), VP(dy_gxy), VP(dz_gxy),
+ VP(I_gxz), VP(dx_gxz), VP(dy_gxz), VP(dz_gxz),
+ VP(I_gyy), VP(dx_gyy), VP(dy_gyy), VP(dz_gyy),
+ VP(I_gyz), VP(dx_gyz), VP(dy_gyz), VP(dz_gyz),
+ VP(I_gzz), VP(dx_gzz), VP(dy_gzz), VP(dz_gzz),
+ VP(I_Kxx), VP(I_Kxy), VP(I_Kxz), VP(I_Kyy), VP(I_Kyz), VP(I_Kzz),
+ };
+
+int operand_indices[N_output_arrays];
+ = {
+ gxx_index, gxx_index, gxx_index, gxx_index,
+ gxy_index, gxy_index, gxy_index, gxy_index,
+ gxz_index, gxz_index, gxz_index, gxz_index,
+ gyy_index, gyy_index, gyy_index, gyy_index,
+ gyz_index, gyz_index, gyz_index, gyz_index,
+ gzz_index, gzz_index, gzz_index, gzz_index,
+ Kxx_index, Kxy_index, Kxz_index, Kyy_index, Kyz_index, Kzz_index,
+ };
+
+const int op_I = CCTK_INTERP_OPCODE_I;
+const int op_dx = CCTK_INTERP_OPCODE_DX;
+const int op_dy = CCTK_INTERP_OPCODE_DY;
+const int op_dz = CCTK_INTERP_OPCODE_DZ;
+int opcodes[N_output_arrays]
+ = {
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_dx, op_dy, op_dz,
+ op_I, op_I, op_I, op_I, op_I, op_I,
+ };
+
+int param_table_handle = Util_TableCreate(UTIL_TABLE_DEFAULT);
+Util_TableSet1Int(param_table_handle,
+ 3, "order");
+Util_TableSetInt(param_table_handle,
+ N_output_arrays, operand_indices, "operand_indices");
+Util_TableSetInt(param_table_handle,
+ N_output_arrays, opcodes, "opcodes");
+
+int status = CCTK_GInterpGV(GH,
+ N_dims,
+ operator_handle, coord_system_handle,
+ param_table_handle,
+ N_interp_points, interp_coord_types, interp_coords,
+ N_input_arrays, N_output_arrays,
+ input_array_indices,
+ output_array_types, output_arrays);
+if (status < 0)
+ { /* something bad happened */ }
+Util_TableDestroy(param_table_handle);
+
+
+
diff --git a/doc/api2 b/doc/api2
new file mode 100644
index 0000000..422be0d
--- /dev/null
+++ b/doc/api2
@@ -0,0 +1,460 @@
+This is version 2 of my proposal for the new interpolator API. The
+main changes since version 1 are
+* function names have changed (longer, more descriptive)
+* output arrays may now be N-dimensional (before they were only 1-D)
+* a bunch more optional stuff in the table to specify array strides etc
+
+Don't be scared by the length, for most uses it's not that complicated!
+There are some examples below...
+
+
+
+Synopsis
+========
+
+ int status = CCTK_InterpLocalArrays(arguments described below)
+ int status = CCTK_InterpGridArrays(arguments described below)
+
+return is 0 for ok, various -ve values for error codes
+
+
+
+Function Arguments
+==================
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /***** misc arguments *****/
+ const cGH *GH;
+ /* note N_dims is the number of dimensions in the *interpolation*; */
+ /* this may be smaller than the number of dimensions of the input arrays */
+ /* if the storage indexing is set up appropriately (eg to interpolate */
+ /* in 1-D lines or 2-D planes of 3-D grid arrays) */
+ int N_dims;
+ int operator_handle, int coord_system_handle;
+ int param_table_handle; /* handle to "parameter table", a key-value */
+ /* table, see below for table entries */
+
+ /***** arguments specifying the interpolation points *****/
+ int N_interp_points;
+ /* array of CCTK_VARIABLE_* codes giving the data types */
+ /* of the arrays pointed to by interp_coords[] */
+ const int interp_coord_type_codes[N_dims];
+ /* array[N_dims] of pointers to arrays[N_interp_points] */
+ /* giving x,y,z,... coordinates of interpolation points */
+ const void *const interp_coords[N_dims];
+
+ /***** arguments specifying the inputs (the data to be interpolated) *****/
+ int N_input_arrays;
+for CCTK_InterpLocalArrays():
+ /* array of CCTK_VARIABLE_* codes giving data types of input arrays */
+ const int input_array_type_codes[N_input_arrays];
+ /* array of input array dimensions (common to all input arrays) */
+ const int input_array_dims[N_dims];
+ /* array of pointers to input arrays */
+ const void *const input_arrays[N_input_arrays];
+for CCTK_InterpGridArrays():
+ /* array of CCTK variable indices of input arrays */
+ const int input_array_variable_indices[N_input_arrays];
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays() again:
+ /***** arguments specifying the outputs (the interpolation results) *****/
+ int N_output_arrays;
+ /* array of CCTK_VARIABLE_* codes giving data types of output arrays */
+ const int output_array_type_codes[N_output_arrays];
+ /* array[N_output_arrays] of pointers to output arrays[N_interp_points] */
+ void *const output_arrays[N_output_arrays];
+
+
+
+Information Passed in the Parameter Table
+=========================================
+
+The "parameter table" may be used to specify non-default storage indexing
+for input or output arrays, and/or various options for the interpolation
+itself. Some interpolators may not implement all of these options.
+
+
+Storage Indexing Options
+------------------------
+
+Sometimes one of the "arrays" used by the interpolator isn't contiguous
+in memory. For example, we might want to do 2-D interpolation within a
+plane of a 3-D grid array, and/or the grid array might be a member of a
+compact group. To support this, we use several optional table entries
+(these should be supported by all interpolation operators):
+
+For the input arrays, we use
+
+ const int input_array_offsets[N_input_arrays];
+ /* next 3 table entries are shared by all input arrays */
+ const int input_array_strides [N_dims];
+ const int input_array_min_subscripts[N_dims];
+ const int input_array_max_subscripts[N_dims];
+
+Then for input array number a, the generic subscripting expression for
+the 3-D case is
+ data_pointer[offset + i*istride + j*jstride + k*kstride]
+where
+ data_pointer = input_arrays[a]
+ offset = input_array_offsets[a]
+ (istride,jstride,kstride) = input_array_stride[]
+and where (i,j,k) run from input_array_min_subscripts[] to
+input_array_max_subscripts[] inclusive.
+
+The defaults are offset=0, stride=determined from input_array_dims[]
+in the usual Fortran manner, input_array_min_subscripts[] = 0,
+input_array_max_subscripts[] = input_array_dims[]-1. If the stride
+and max subscript are both specified explicitly, then the
+input_array_dims[] function argument is ignored.
+
+For CCTK_InterpGridArrays() operating on a member of a compact group
+the offset and strides are interpreted in units of _grid_points_. This
+has the advantage that interpolator calls need not be changed if a grid
+array is changed from being simple to/from compact. In terms of actual
+memory addressing, then, the internal subscripting expression for this
+case would be
+ group_data_pointer[offset + member_number + i*istride*N_members
+ + j*jstride*N_members
+ + k*kstride*N_members]
+
+By default the interpolation-point coordinates and the output arrays
+are all contiguous 1-D arrays. This may be changed with the table
+entries
+
+ const int interp_coords_offsets[N_dims];
+ const int output_array_offsets[N_output_arrays];
+ /* next 4 table entries are shared by all interp coords and output arrays */
+ const int interp_point_N_dims;
+ const int interp_point_strides [interp_point_N_dims];
+ const int interp_point_min_subscripts[interp_point_N_dims];
+ const int interp_point_max_subscripts[interp_point_N_dims];
+
+For example, if we wanted to do 3-D interpolation, interpolating a value
+at each non-ghost-zone point of a 2-D grid of points, with the grid point
+coordinates stored as 2-D arrays, we would use
+ N_dims = 3
+ interp_point_N_dims = 2
+ interp_point_strides[] = set up from the full size of the 2-D grid
+ interp_point_{min,max}_subscripts[] = specify the non-ghost-zone points
+ of the 2-D grid
+
+Excision Options
+----------------
+
+Some interpolators may specifically support excision, where a mask array
+(same dimensionality and indexing as the input arrays) is used to mark
+some grid points as valid (ok to use data there) and other grid points
+as invalid (the interpolator isn't allowed to use data there).
+
+If an interpolator supports this, it should use the following optional
+parameters:
+
+for CCTK_InterpLocalArrays();
+ const int mask_type_code; /* one of the CCTK_VARIABLE_* codes */
+ const void *const mask_array;
+for CCTK_InterpGridArrays():
+ const int mask_variable_index;
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* we consider a grid point to be valid if and only if the mask */
+ /* has a value in the closed interval [mask_valid_min,mask_valid_max] */
+ /* n.b. the caller should beware of possible rounding problems here; */
+ /* it may be appropriate to widen the valid interval slightly */
+ /* if the endpoints aren't exactly-representable floating-point */
+ /* values */
+ const mask_type mask_valid_min, mask_valid_max;
+
+The same type of storage options supported for the input and/or output
+arrays, are also supported for the mask; the mask may have its own offset,
+but shares any input-array stride and/or min/max subscript specification:
+
+ const int mask_offset;
+
+
+The remaining parameter-table options are specific to the new interpolator
+I'm currently implementing for PUGHInterp. This registers (only) a single
+operator, "generalized polynomial interpolation".
+
+
+Interpolation Order and Molecule Family
+---------------------------------------
+
+The mandatory parameter
+
+ const int order;
+
+sets the order of the interpolating polynomial (1=linear, 2=quadratic,
+3=cubic, etc). Thus the simplest call can just use (eg)
+ Util_TableCreateFromString("order=3")
+for cubic interpolation.
+
+All the remaining parameters in the table are optional; if they're
+omitted defaults will be supplied.
+
+ /* this selects one of a family of related operators */
+ /* the default (and the only one I'm implementing right now) */
+ /* is "cube" to use the usual hypercube-shaped molecules */
+ const char *const molecule_family;
+
+Smoothing
+---------
+
+The way I'm implementing the interpolation it's easy to also do
+Savitzky-Golay type smoothing (= moving least-square fitting, cf
+Numerical Recipes 2nd edition section 14.8). This is controlled by
+the parameter
+
+ const int smoothing;
+
+which says how much (how many points) to enlarge the interpolation
+molecule for this. The default is 0 (no smoothing). 1 would mean to
+enlarge the molecule by 1 point, e.g. to use a 5-point molecule instead
+of the usual 4-point one for cubic interpolation. 2 would mean to
+enlarge by 2 points, e.g. to use a 6-point molecule for cubic
+interpolation. Etc etc.
+
+This type of smoothing is basically free apart from the increase in
+the molecule size, e.g. a smoothing=2 cubic interpolation has exactly
+the same cost as any other 6-point-molecule interpolation.
+
+Derivatives
+-----------
+
+This interpolator can optionally (and again at no extra cost) take
+partial derivatives as part of the interpolation:
+ const int operand_indices[N_output_arrays];
+ const int opcodes [N_output_arrays];
+The semantics here are that
+ output array[i] = op(input array[ operand_indices[i] ])
+where op is specified as an integer operation code as described below.
+
+Note that the array operand_indices[] doesn't directly name the inputs,
+but rather gives the indices (0-origin) in the list of inputs. This
+allows for a more efficient implementation in the case where some of
+the input arrays have many different operations applied to them.
+
+The operations are coded based on the decimal digits of the integer:
+each decimal digit means to take the derivative in that direction;
+the order of the digits in a number is ignored. For example:
+ 0 = no derivative, "just" interpolate
+ 1 = interpolate d/dx1 (derivative along x1 coordinate)
+ 2 = interpolate d/dx2 (derivative along x2 coordinate)
+ 11 = interpolate d^2/dx1^2 (2nd derivative along x1 coordinate)
+ 22 = interpolate d^2/dx2^2 (2nd derivative along x2 coordinate)
+ 12 = 21 = interpolate d^2/dx1 dx2 (mixed 2nd partial derivative in x1 and x2)
+ 122 = 212 = 221 = interpolate d^3/dx1 dx2^2 (mixed 3rd partial derivative)
+ 222 = interpolate d^3/dx2^3 (3rd derivative along x2 coordinate)
+ 123 = 132 = 213 = 231 = 312 = 321
+ = interpolate d^3/dx1 dx2 dx3 (mixed 3rd partial derivative)
+
+
+
+Pointers in Fortran
+===================
+
+One possible problem area with this API is that it requires creating
+arrays of pointers pointing to other arrays. In C this is no problem,
+but in Fortran 77 this is difficult. So, I propose adding two new Cactus
+functions to make this easier for Fortran users:
+
+ CCTK_POINTER Util_PointerTo(any Fortran variable or array)
+ CCTK_POINTER Util_NullPointer()
+
+Util_PointerTo would be #defined to %loc on those compilers which have
+that extension to standard Fortran, or would be a Cactus-provided utility
+routine for other cases. It's trivial to write the latter case in C so
+long as the Fortran compiler actually uses call by reference; I've never
+heard of a Fortran compiler doing otherwise for arrays. (And even for
+Fortran scalar variables it would be very hard for a compiler to do otherwise
+in light of separate compilation and 1-element arrays being allowed to be
+passed to/from scalar variables.)
+
+
+
+A Simple Example
+================
+
+Here's a simple example, written in Fortran 77, to do quadratic interpolation
+of a real and a complex local array in 3-D:
+
+c input arrays:
+ integer ni, nj, nk
+ parameter (ni=..., nj=..., nk=...)
+ CCTK_REAL real_gridfn (ni,nj,nk)
+ CCTK_COMPLEX complex_gridfn(ni,nj,nk)
+
+c interpolation coordinates
+ integer N_interp
+ parameter (N_interp = ...)
+ CCTK_REAL xcoord(N_interp), y_coord(N_interp), z_coord(N_interp)
+
+c output arrays:
+ CCTK_REAL real_at_xyz (N_interp)
+ CCTK_COMPLEX complex_at_xyz(N_interp)
+
+ integer status, dummy
+ integer input_array_type_codes(2)
+ data input_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ integer input_array_dims(3)
+ CCTK_POINTER input_arrays(2)
+ integer interp_coord_type_codes(3)
+ data interp_coord_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL/
+ CCTK_POINTER interp_coords(3)
+ integer output_array_type_codes(2)
+ data output_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_POINTER output_arrays(2)
+
+ input_array_dims(1) = ni
+ input_array_dims(2) = nj
+ input_array_dims(3) = nk
+ interp_coords(1) = Util_PointerTo(xcoord)
+ interp_coords(2) = Util_PointerTo(ycoord)
+ interp_coords(3) = Util_PointerTo(zcoord)
+ output_arrays(1) = Util_PointerTo(real_at_xyz)
+ output_arrays(2) = Util_PointerTo(complex_at_xyz)
+
+ call CCTK_InterpLocalArrays
+ $ (status, ! return code
+ cctk_GH,
+ 3, ! number of dimensions
+ operator_handle, coord_system_handle,
+ Util_TableCreateFromString("order=2"),
+ N_interp,
+ interp_coord_type_codes, interp_coords,
+ 2, ! number of input arrays
+ input_array_type_codes, input_array_dims, input_arrays,
+ 2, ! number of output arrays
+ output_array_type_codes, output_arrays)
+
+ if (status .lt. 0) then
+ call CCTK_WARN(status, "Error return from interpolator!")
+ call CCTK_Exit(dummy, GH, status)
+ end if
+
+
+
+A More Complicated Example
+==========================
+
+Here's a more complicated example, written in C++. (I'm really only using
+C++ to get cleaner initialization of the various arrays, this is still
+"almost C".) This example is a simplified form of what I will be doing
+in my new apparent horizon finder:
+
+//
+// input grid functions (12 of them, all 3-D CCTK_REAL):
+// gxx, gxy, gxz, gyy, gyz, gzz,
+// Kxx, Kxy, Kxz, Kyy, Kyz, Kzz
+//
+// interpolation coordinates:
+// xcoord, ycoord, zcoord (all CCTK_REAL[N_interp_points])
+//
+// we want to interpolate the gij and Kij, and also interpolate all the
+// first derivatives of the gij, so the output arrays are
+// (30 of them, all CCTK_REAL[N_interp_points])
+// I_gxx, dx_gxx, dy_gxx, dz_gxx,
+// I_gxy, dx_gxy, dy_gxy, dz_gxy,
+// I_gxz, dx_gxz, dy_gxz, dz_gxz,
+// I_gyy, dx_gyy, dy_gyy, dz_gyy,
+// I_gyz, dx_gyz, dy_gyz, dz_gyz,
+// I_gzz, dx_gzz, dy_gzz, dz_gzz,
+// I_Kxx, I_Kxy, I_Kxz, I_Kyy, I_Kyz, I_Kzz
+//
+
+#define VP(x) static_cast<void *>(x)
+
+const int N_dims = 3;
+const int interp_coord_type_codes[N_dims]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_dims]
+ = { VP(xcoord), VP(ycoord), VP(zcoord) };
+
+const int N_input_arrays = 12;
+const int input_array_types[N_input_arrays]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+
+const int input_array_variable_indices[N_input_arrays]
+ = { CCTK_VarIndex("somethorn::gxx"),
+ CCTK_VarIndex("somethorn::gxy"),
+ CCTK_VarIndex("somethorn::gxz"),
+ CCTK_VarIndex("somethorn::gyy"),
+ CCTK_VarIndex("somethorn::gyz"),
+ CCTK_VarIndex("somethorn::gzz"),
+ CCTK_VarIndex("somethorn::Kxx"),
+ CCTK_VarIndex("somethorn::Kxy"),
+ CCTK_VarIndex("somethorn::Kxz"),
+ CCTK_VarIndex("somethorn::Kyy"),
+ CCTK_VarIndex("somethorn::Kyz"),
+ CCTK_VarIndex("somethorn::Kzz") };
+
+const int N_output_arrays = 30;
+int output_array_type_codes[N_output_arrays];
+ for (int oi = 0 ; oi < N_output_arrays ; ++oi)
+ {
+ output_array_type_codes[oi] = CCTK_VARIABLE_REAL;
+ }
+
+void *const output_arrays[N_output_arrays]
+ = {
+ VP(I_gxx), VP(dx_gxx), VP(dy_gxx), VP(dz_gxx),
+ VP(I_gxy), VP(dx_gxy), VP(dy_gxy), VP(dz_gxy),
+ VP(I_gxz), VP(dx_gxz), VP(dy_gxz), VP(dz_gxz),
+ VP(I_gyy), VP(dx_gyy), VP(dy_gyy), VP(dz_gyy),
+ VP(I_gyz), VP(dx_gyz), VP(dy_gyz), VP(dz_gyz),
+ VP(I_gzz), VP(dx_gzz), VP(dy_gzz), VP(dz_gzz),
+ VP(I_Kxx), VP(I_Kxy), VP(I_Kxz), VP(I_Kyy), VP(I_Kyz), VP(I_Kzz)
+ };
+
+const int operand_indices[N_output_arrays];
+ = {
+ 0, 0, 0, 0, // gxx
+ 1, 1, 1, 1, // gxy
+ 2, 2, 2, 2, // gxz
+ 3, 3, 3, 3, // gyy
+ 4, 4, 4, 4, // gyz
+ 5, 5, 5, 5, // gzz
+ 6, 7, 8, 9, 10, 11 // Kxx-Kzz
+ };
+
+const int opcodes[N_output_arrays]
+ = {
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 0, 0, 0, 0, 0 // all I
+ };
+
+int param_table_handle = Util_TableCreate(UTIL_TABLE_DEFAULT);
+Util_TableSet1Int(param_table_handle,
+ 3, "order");
+Util_TableSetInt(param_table_handle,
+ N_output_arrays, operand_indices, "operand_indices");
+Util_TableSetInt(param_table_handle,
+ N_output_arrays, opcodes, "opcodes");
+
+int status = CCTK_InterpGridArrays(GH,
+ N_dims,
+ operator_handle, coord_system_handle,
+ param_table_handle,
+ N_interp_points,
+ interp_coord_type_codes, interp_coords,
+ N_input_arrays,
+ input_array_variable_indices,
+ N_output_arrays,
+ output_array_type_codes, output_arrays);
+if (status < 0)
+ {
+ CCTK_WARN(status, "error return from CCTK_InterpGridArrays()!");
+ CCTK_Exit(GH, status); /*NOTREACHED*/
+ }
+Util_TableDestroy(param_table_handle);
diff --git a/doc/api2.1 b/doc/api2.1
new file mode 100644
index 0000000..e316aba
--- /dev/null
+++ b/doc/api2.1
@@ -0,0 +1,488 @@
+Author: Jonathan Thornburg <jthorn@aei.mpg.de>
+Date: December 2001
+
+This is version 2.1 of my proposal for the new interpolator API. The
+main changes since version 1 are
+* function names have changed (longer, more descriptive)
+* output arrays may now be N-dimensional (before they were only 1-D)
+* a bunch more optional stuff in the table to specify array strides etc
+* no #defines in the header file for derivative operation codes
+* int arrays changed to CCTK_INT
+
+Don't be scared by the length, for most uses it's not that complicated!
+There are some examples below...
+
+
+
+Synopsis
+========
+
+ int status = CCTK_InterpLocalArrays(arguments described below)
+ int status = CCTK_InterpGridArrays(arguments described below)
+
+return is 0 for ok, various -ve values for error codes
+
+(N.b. the flesh APIs to register interpolation operators will also need
+their C function prototypes changed to match the changes here.)
+
+
+
+Function Arguments
+==================
+
+ /***** misc arguments *****/
+for CCTK_InterpGridArrays() only:
+ const cGH *GH;
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* note N_dims is the number of dimensions in the *interpolation*; */
+ /* this may be smaller than the number of dimensions of the input arrays */
+ /* if the storage indexing is set up appropriately (eg to interpolate */
+ /* in 1-D lines or 2-D planes of 3-D grid arrays) */
+ int N_dims;
+ int operator_handle;
+ int param_table_handle; /* handle to "parameter table", a key-value */
+ /* table, see below for table entries */
+
+ /***** arguments specifying the coordinate system *****/
+for CCTK_InterpLocalArrays():
+ /* the local coordinate system is specified as a generic linear mapping */
+ /* from (integer) local input array subscripts --> (global) coordinates: */
+ /* coordinate = coord_system_origin[axis] + subscript*grid_spacing[axis] */
+ const CCTK_REAL coord_system_origin[N_dims]; /* coords of subscript 0 */
+ const CCTK_REAL grid_spacing[N_dims];
+for CCTK_InterpGridArrays():
+ int coord_system_handle; /* handle to Cactus coordinate system */
+ /* specifying mapping of */
+ /* (integer) input array subscripts */
+ /* <--> (floating point) coordinates */
+
+ /***** arguments specifying the interpolation points *****/
+ int N_interp_points;
+ /* (pointer to) array of CCTK_VARIABLE_* codes giving the */
+ /* data types of the arrays pointed to by interp_coords[] */
+ const CCTK_INT interp_coord_type_codes[N_dims];
+ /* (pointer to) array[N_dims] of pointers to arrays[N_interp_points] */
+ /* giving x,y,z,... coordinates of interpolation points */
+ const void *const interp_coords[N_dims];
+
+ /***** arguments specifying the inputs (the data to be interpolated) *****/
+ int N_input_arrays;
+for CCTK_InterpLocalArrays():
+ /* array of input array dimensions (common to all input arrays) */
+ const CCTK_INT input_array_dims[N_dims];
+ /* array of CCTK_VARIABLE_* codes giving data types of input arrays */
+ const CCTK_INT input_array_type_codes[N_input_arrays];
+ /* array of pointers to input arrays */
+ const void *const input_arrays[N_input_arrays];
+for CCTK_InterpGridArrays():
+ /* array of CCTK variable indices of input arrays */
+ const CCTK_INT input_array_variable_indices[N_input_arrays];
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays() again:
+ /***** arguments specifying the outputs (the interpolation results) *****/
+ int N_output_arrays;
+ /* array of CCTK_VARIABLE_* codes giving data types of output arrays */
+ const CCTK_INT output_array_type_codes[N_output_arrays];
+ /* array[N_output_arrays] of pointers to output arrays[N_interp_points] */
+ void *const output_arrays[N_output_arrays];
+
+
+
+Information Passed in the Parameter Table
+=========================================
+
+The "parameter table" may be used to specify non-default storage indexing
+for input or output arrays, and/or various options for the interpolation
+itself. Some interpolators may not implement all of these options.
+
+
+Subscripting Options
+--------------------
+
+Sometimes one of the "arrays" used by the interpolator isn't contiguous
+in memory. For example, we might want to do 2-D interpolation within a
+plane of a 3-D grid array, and/or the grid array might be a member of a
+compact group. To support this, we use several optional table entries
+(these should be supported by all interpolation operators):
+
+For the input arrays, we use
+
+ const CCTK_INT input_array_offsets[N_input_arrays];
+ /* next 3 table entries are shared by all input arrays */
+ const CCTK_INT input_array_strides [N_dims];
+ const CCTK_INT input_array_min_subscripts[N_dims];
+ const CCTK_INT input_array_max_subscripts[N_dims];
+
+Then for input array number a, the generic subscripting expression for
+the 3-D case is
+ data_pointer[offset + i*istride + j*jstride + k*kstride]
+where
+ data_pointer = input_arrays[a]
+ offset = input_array_offsets[a]
+ (istride,jstride,kstride) = input_array_stride[]
+and where (i,j,k) run from input_array_min_subscripts[] to
+input_array_max_subscripts[] inclusive.
+
+The defaults are offset=0, stride=determined from input_array_dims[]
+in the usual Fortran manner, input_array_min_subscripts[] = 0,
+input_array_max_subscripts[] = input_array_dims[]-1. If the stride
+and max subscript are both specified explicitly, then the
+input_array_dims[] function argument is ignored.
+
+For CCTK_InterpGridArrays() operating on a member of a compact group
+the offset and strides are interpreted in units of _grid_points_. This
+has the advantage that interpolator calls need not be changed if a grid
+array is changed from being simple to/from compact. In terms of actual
+memory addressing, then, the internal subscripting expression for this
+case would be
+ group_data_pointer[offset + member_number + i*istride*N_members
+ + j*jstride*N_members
+ + k*kstride*N_members]
+
+By default the interpolation-point coordinates and the output arrays
+are all contiguous 1-D arrays. This may be changed with the table
+entries
+
+ const CCTK_INT interp_coords_offsets[N_dims];
+ const CCTK_INT output_array_offsets[N_output_arrays];
+ /* next 4 table entries are shared by all interp coords and output arrays */
+ const CCTK_INT interp_point_N_dims;
+ const CCTK_INT interp_point_strides [interp_point_N_dims];
+ const CCTK_INT interp_point_min_subscripts[interp_point_N_dims];
+ const CCTK_INT interp_point_max_subscripts[interp_point_N_dims];
+
+For example, if we wanted to do 3-D interpolation, interpolating a value
+at each non-ghost-zone point of a 2-D grid of points, with the grid point
+coordinates stored as 2-D arrays, we would use
+ N_dims = 3
+ interp_point_N_dims = 2
+ interp_point_strides[] = set up from the full size of the 2-D grid
+ interp_point_{min,max}_subscripts[] = specify the non-ghost-zone points
+ of the 2-D grid
+
+Excision Options
+----------------
+
+Some interpolators may specifically support excision, where a mask array
+(same dimensionality and indexing as the input arrays) is used to mark
+some grid points as valid (ok to use data there) and other grid points
+as invalid (the interpolator isn't allowed to use data there).
+
+If an interpolator supports this, it should use the following optional
+parameters:
+
+for CCTK_InterpLocalArrays();
+ const CCTK_INT mask_type_code; /* one of the CCTK_VARIABLE_* codes */
+ const void *const mask_array; /* same dimensions/indexing as input arrays */
+for CCTK_InterpGridArrays():
+ const CCTK_INT mask_variable_index;
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* we consider a grid point to be valid if and only if the mask */
+ /* has a value in the closed interval [mask_valid_min,mask_valid_max] */
+ /* n.b. the caller should beware of possible rounding problems here; */
+ /* it may be appropriate to widen the valid interval slightly */
+ /* if the endpoints aren't exactly-representable floating-point */
+ /* values */
+ const mask_type mask_valid_min, mask_valid_max;
+
+The same type of storage options supported for the input and/or output
+arrays, are also supported for the mask; the mask may have its own offset,
+but shares any input-array stride and/or min/max subscript specification:
+
+ const CCTK_INT mask_offset;
+
+
+The remaining parameter-table options are specific to the new interpolator
+I'm currently implementing for PUGHInterp. This registers (only) a single
+operator, "generalized polynomial interpolation".
+
+
+Interpolation Order and Molecule Family
+---------------------------------------
+
+The mandatory parameter
+
+ const CCTK_INT order;
+
+sets the order of the interpolating polynomial (1=linear, 2=quadratic,
+3=cubic, etc). Thus the simplest call can just use (eg)
+ Util_TableCreateFromString("order=3")
+for cubic interpolation.
+
+All the remaining parameters in the table are optional; if they're
+omitted defaults will be supplied.
+
+ /* this selects one of a family of related operators */
+ /* the default (and the only one I'm implementing right now) */
+ /* is "cube" to use the usual hypercube-shaped molecules */
+ const char *const molecule_family;
+
+Smoothing
+---------
+
+The way I'm implementing the interpolation it's easy to also do
+Savitzky-Golay type smoothing (= moving least-square fitting, cf
+Numerical Recipes 2nd edition section 14.8). This is controlled by
+the parameter
+
+ const CCTK_INT smoothing;
+
+which says how much (how many points) to enlarge the interpolation
+molecule for this. The default is 0 (no smoothing). 1 would mean to
+enlarge the molecule by 1 point, e.g. to use a 5-point molecule instead
+of the usual 4-point one for cubic interpolation. 2 would mean to
+enlarge by 2 points, e.g. to use a 6-point molecule for cubic
+interpolation. Etc etc.
+
+This type of smoothing is basically free apart from the increase in
+the molecule size, e.g. a smoothing=2 cubic interpolation has exactly
+the same cost as any other 6-point-molecule interpolation.
+
+Derivatives
+-----------
+
+This interpolator can optionally (and again at no extra cost) take
+partial derivatives as part of the interpolation:
+ const CCTK_INT operand_indices[N_output_arrays];
+ const CCTK_INT opcodes [N_output_arrays];
+The semantics here are that
+ output array[i] = op(input array[ operand_indices[i] ])
+where op is specified as an integer operation code as described below.
+
+Note that the array operand_indices[] doesn't directly name the inputs,
+but rather gives the indices (0-origin) in the list of inputs. This
+allows for a more efficient implementation in the case where some of
+the input arrays have many different operations applied to them.
+
+The operations are coded based on the decimal digits of the integer:
+each decimal digit means to take the derivative in that direction;
+the order of the digits in a number is ignored. For example:
+ 0 = no derivative, "just" interpolate
+ 1 = interpolate d/dx1 (derivative along x1 coordinate)
+ 2 = interpolate d/dx2 (derivative along x2 coordinate)
+ 11 = interpolate d^2/dx1^2 (2nd derivative along x1 coordinate)
+ 22 = interpolate d^2/dx2^2 (2nd derivative along x2 coordinate)
+ 12 = 21 = interpolate d^2/dx1 dx2 (mixed 2nd partial derivative in x1 and x2)
+ 122 = 212 = 221 = interpolate d^3/dx1 dx2^2 (mixed 3rd partial derivative)
+ 222 = interpolate d^3/dx2^3 (3rd derivative along x2 coordinate)
+ 123 = 132 = 213 = 231 = 312 = 321
+ = interpolate d^3/dx1 dx2 dx3 (mixed 3rd partial derivative)
+
+After discussion with Tom Goodale, we have decided *not* to put #defines
+for the operation codes in any of the interpolator header files -- the
+operation codes are specific to this particular interpolation operator,
+not common to all operators, so they don't belong in the overall
+common-to-all header files.
+
+
+
+Pointers in Fortran
+===================
+
+One possible problem area with this API is that it requires creating
+arrays of pointers pointing to other arrays. In C this is no problem,
+but in Fortran 77 this is difficult. So, I propose adding two new Cactus
+functions to make this easier for Fortran users:
+
+ CCTK_POINTER Util_PointerTo(any Fortran variable or array)
+ CCTK_POINTER Util_NullPointer()
+
+Util_PointerTo would be #defined to %loc on those compilers which have
+that extension to standard Fortran, or would be a Cactus-provided utility
+routine for other cases. It's trivial to write the latter case in C so
+long as the Fortran compiler actually uses call by reference; I've never
+heard of a Fortran compiler doing otherwise for arrays. (And even for
+Fortran scalar variables it would be very hard for a compiler to do otherwise
+in light of separate compilation and 1-element arrays being allowed to be
+passed to/from scalar variables.)
+
+
+
+A Simple Example
+================
+
+Here's a simple example, written in Fortran 77, to do quadratic interpolation
+of a real and a complex local array in 3-D:
+
+c input arrays:
+ integer ni, nj, nk
+ parameter (ni=..., nj=..., nk=...)
+ CCTK_REAL real_gridfn (ni,nj,nk)
+ CCTK_COMPLEX complex_gridfn(ni,nj,nk)
+
+c interpolation coordinates
+ integer N_interp
+ parameter (N_interp = ...)
+ CCTK_REAL xcoord(N_interp), y_coord(N_interp), z_coord(N_interp)
+
+c output arrays:
+ CCTK_REAL real_at_xyz (N_interp)
+ CCTK_COMPLEX complex_at_xyz(N_interp)
+
+ integer status, dummy
+ CCTK_INT input_array_type_codes(2)
+ data input_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_INT input_array_dims(3)
+ CCTK_POINTER input_arrays(2)
+ CCTK_INT interp_coord_type_codes(3)
+ data interp_coord_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL/
+ CCTK_POINTER interp_coords(3)
+ CCTK_INT output_array_type_codes(2)
+ data output_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_POINTER output_arrays(2)
+
+ input_array_dims(1) = ni
+ input_array_dims(2) = nj
+ input_array_dims(3) = nk
+ interp_coords(1) = Util_PointerTo(xcoord)
+ interp_coords(2) = Util_PointerTo(ycoord)
+ interp_coords(3) = Util_PointerTo(zcoord)
+ output_arrays(1) = Util_PointerTo(real_at_xyz)
+ output_arrays(2) = Util_PointerTo(complex_at_xyz)
+
+ call CCTK_InterpLocalArrays
+ $ (status, ! return code
+ 3, ! number of dimensions
+ operator_handle, coord_system_handle,
+ Util_TableCreateFromString("order=2"),
+ N_interp,
+ interp_coord_type_codes, interp_coords,
+ 2, ! number of input arrays
+ input_array_type_codes, input_array_dims, input_arrays,
+ 2, ! number of output arrays
+ output_array_type_codes, output_arrays)
+
+ if (status .lt. 0) then
+ call CCTK_WARN(status, "Error return from interpolator!")
+ call CCTK_Exit(dummy, Util_NullPointer(), status)
+ end if
+
+
+
+A More Complicated Example
+==========================
+
+Here's a more complicated example, written in C++. (I'm really only using
+C++ to get cleaner initialization of the various arrays, this is still
+"almost C".) This example is a simplified form of what I will be doing
+in my new apparent horizon finder:
+
+//
+// input grid functions (12 of them, all 3-D CCTK_REAL):
+// gxx, gxy, gxz, gyy, gyz, gzz,
+// Kxx, Kxy, Kxz, Kyy, Kyz, Kzz
+//
+// interpolation coordinates:
+// xcoord, ycoord, zcoord (all CCTK_REAL[N_interp_points])
+//
+// we want to interpolate the gij and Kij, and also interpolate all the
+// first derivatives of the gij, so the output arrays are
+// (30 of them, all CCTK_REAL[N_interp_points])
+// I_gxx, dx_gxx, dy_gxx, dz_gxx,
+// I_gxy, dx_gxy, dy_gxy, dz_gxy,
+// I_gxz, dx_gxz, dy_gxz, dz_gxz,
+// I_gyy, dx_gyy, dy_gyy, dz_gyy,
+// I_gyz, dx_gyz, dy_gyz, dz_gyz,
+// I_gzz, dx_gzz, dy_gzz, dz_gzz,
+// I_Kxx, I_Kxy, I_Kxz, I_Kyy, I_Kyz, I_Kzz
+//
+
+#define VP(x) static_cast<void *>(x)
+
+const int N_dims = 3;
+const CCTK_INT interp_coord_type_codes[N_dims]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_dims]
+ = { VP(xcoord), VP(ycoord), VP(zcoord) };
+
+const int N_input_arrays = 12;
+const CCTK_INT input_array_types[N_input_arrays]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+
+const CCTK_INT input_array_variable_indices[N_input_arrays]
+ = { CCTK_VarIndex("somethorn::gxx"),
+ CCTK_VarIndex("somethorn::gxy"),
+ CCTK_VarIndex("somethorn::gxz"),
+ CCTK_VarIndex("somethorn::gyy"),
+ CCTK_VarIndex("somethorn::gyz"),
+ CCTK_VarIndex("somethorn::gzz"),
+ CCTK_VarIndex("somethorn::Kxx"),
+ CCTK_VarIndex("somethorn::Kxy"),
+ CCTK_VarIndex("somethorn::Kxz"),
+ CCTK_VarIndex("somethorn::Kyy"),
+ CCTK_VarIndex("somethorn::Kyz"),
+ CCTK_VarIndex("somethorn::Kzz") };
+
+const int N_output_arrays = 30;
+CCTK_INT output_array_type_codes[N_output_arrays];
+ for (int oi = 0 ; oi < N_output_arrays ; ++oi)
+ {
+ output_array_type_codes[oi] = CCTK_VARIABLE_REAL;
+ }
+
+void *const output_arrays[N_output_arrays]
+ = {
+ VP(I_gxx), VP(dx_gxx), VP(dy_gxx), VP(dz_gxx),
+ VP(I_gxy), VP(dx_gxy), VP(dy_gxy), VP(dz_gxy),
+ VP(I_gxz), VP(dx_gxz), VP(dy_gxz), VP(dz_gxz),
+ VP(I_gyy), VP(dx_gyy), VP(dy_gyy), VP(dz_gyy),
+ VP(I_gyz), VP(dx_gyz), VP(dy_gyz), VP(dz_gyz),
+ VP(I_gzz), VP(dx_gzz), VP(dy_gzz), VP(dz_gzz),
+ VP(I_Kxx), VP(I_Kxy), VP(I_Kxz), VP(I_Kyy), VP(I_Kyz), VP(I_Kzz)
+ };
+
+const CCTK_INT operand_indices[N_output_arrays];
+ = {
+ 0, 0, 0, 0, // gxx
+ 1, 1, 1, 1, // gxy
+ 2, 2, 2, 2, // gxz
+ 3, 3, 3, 3, // gyy
+ 4, 4, 4, 4, // gyz
+ 5, 5, 5, 5, // gzz
+ 6, 7, 8, 9, 10, 11 // Kxx-Kzz
+ };
+
+const CCTK_INT opcodes[N_output_arrays]
+ = {
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 0, 0, 0, 0, 0 // all I
+ };
+
+int param_table_handle = Util_TableCreate(UTIL_TABLE_DEFAULT);
+Util_TableSetInt(param_table_handle, 3, "order");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, operand_indices,
+ "operand_indices");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, opcodes,
+ "opcodes");
+
+int status = CCTK_InterpGridArrays(GH,
+ N_dims,
+ operator_handle, coord_system_handle,
+ param_table_handle,
+ N_interp_points,
+ interp_coord_type_codes, interp_coords,
+ N_input_arrays,
+ input_array_variable_indices,
+ N_output_arrays,
+ output_array_type_codes, output_arrays);
+if (status < 0)
+ {
+ CCTK_WARN(status, "error return from CCTK_InterpGridArrays()!");
+ CCTK_Exit(GH, status); /*NOTREACHED*/
+ }
+Util_TableDestroy(param_table_handle);
diff --git a/doc/api2.2 b/doc/api2.2
new file mode 100644
index 0000000..35eca3c
--- /dev/null
+++ b/doc/api2.2
@@ -0,0 +1,496 @@
+Author: Jonathan Thornburg <jthorn@aei.mpg.de>
+Date: 30 December 2001
+
+This is version 2.2 of my proposal for the new interpolator API. The
+main changes since version 1 are
+* function names have changed (longer, more descriptive)
+* output arrays may now be N-dimensional (before they were only 1-D)
+* a bunch more optional stuff in the table to specify array strides,
+ time levels, etc
+* no #defines in the header file for derivative operation codes
+* int arrays changed to CCTK_INT
+
+Don't be scared by the length, for most uses it's not that complicated!
+There are some examples below...
+
+
+
+Synopsis
+========
+
+ int status = CCTK_InterpLocalArrays(arguments described below)
+ int status = CCTK_InterpGridArrays(arguments described below)
+
+return is 0 for ok, various -ve values for error codes
+
+(N.b. the flesh APIs to register interpolation operators will also need
+their C function prototypes changed to match the changes here.)
+
+
+
+Function Arguments
+==================
+
+ /***** misc arguments *****/
+for CCTK_InterpGridArrays() only:
+ const cGH *GH;
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* note N_dims is the number of dimensions in the *interpolation*; */
+ /* this may be smaller than the number of dimensions of the input arrays */
+ /* if the storage indexing is set up appropriately (eg to interpolate */
+ /* in 1-D lines or 2-D planes of 3-D grid arrays) */
+ int N_dims;
+ int operator_handle;
+ int param_table_handle; /* handle to "parameter table", a key-value */
+ /* table, see below for table entries */
+
+ /***** arguments specifying the coordinate system *****/
+for CCTK_InterpLocalArrays():
+ /* the local coordinate system is specified as a generic linear mapping */
+ /* from (integer) local input array subscripts --> (global) coordinates: */
+ /* coordinate = coord_system_origin[axis] + subscript*grid_spacing[axis] */
+ const CCTK_REAL coord_system_origin[N_dims]; /* coords of subscript 0 */
+ const CCTK_REAL grid_spacing[N_dims];
+for CCTK_InterpGridArrays():
+ int coord_system_handle; /* handle to Cactus coordinate system */
+ /* specifying mapping of */
+ /* (integer) input array subscripts */
+ /* <--> (floating point) coordinates */
+
+ /***** arguments specifying the interpolation points *****/
+ int N_interp_points;
+ /* (pointer to) array of CCTK_VARIABLE_* codes giving the */
+ /* data types of the arrays pointed to by interp_coords[] */
+ const CCTK_INT interp_coord_type_codes[N_dims];
+ /* (pointer to) array[N_dims] of pointers to arrays[N_interp_points] */
+ /* giving x,y,z,... coordinates of interpolation points */
+ const void *const interp_coords[N_dims];
+
+ /***** arguments specifying the inputs (the data to be interpolated) *****/
+ int N_input_arrays;
+for CCTK_InterpLocalArrays():
+ /* array of input array dimensions (common to all input arrays) */
+ const CCTK_INT input_array_dims[N_dims];
+ /* array of CCTK_VARIABLE_* codes giving data types of input arrays */
+ const CCTK_INT input_array_type_codes[N_input_arrays];
+ /* array of pointers to input arrays */
+ const void *const input_arrays[N_input_arrays];
+for CCTK_InterpGridArrays():
+ /* array of CCTK variable indices of input arrays */
+ const CCTK_INT input_array_variable_indices[N_input_arrays];
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays() again:
+ /***** arguments specifying the outputs (the interpolation results) *****/
+ int N_output_arrays;
+ /* array of CCTK_VARIABLE_* codes giving data types of output arrays */
+ const CCTK_INT output_array_type_codes[N_output_arrays];
+ /* array[N_output_arrays] of pointers to output arrays[N_interp_points] */
+ void *const output_arrays[N_output_arrays];
+
+
+
+Information Passed in the Parameter Table
+=========================================
+
+The "parameter table" may be used to specify non-default storage indexing
+for input or output arrays, and/or various options for the interpolation
+itself. Some interpolators may not implement all of these options.
+
+
+Array Addressing/Subscripting Options
+-------------------------------------
+
+Sometimes one of the "arrays" used by the interpolator isn't contiguous
+in memory. For example, we might want to do 2-D interpolation within a
+plane of a 3-D grid array, and/or the grid array might be a member of a
+compact group. To support this, we use several optional table entries
+(these should be supported by all interpolation operators):
+
+For the input arrays, we use
+
+ const CCTK_INT input_array_offsets[N_input_arrays];
+ /* next 3 table entries are shared by all input arrays */
+ const CCTK_INT input_array_strides [N_dims];
+ const CCTK_INT input_array_min_subscripts[N_dims];
+ const CCTK_INT input_array_max_subscripts[N_dims];
+
+Then for input array number a, the generic subscripting expression for
+the 3-D case is
+ data_pointer[offset + i*istride + j*jstride + k*kstride]
+where
+ data_pointer = input_arrays[a]
+ offset = input_array_offsets[a]
+ (istride,jstride,kstride) = input_array_stride[]
+and where (i,j,k) run from input_array_min_subscripts[] to
+input_array_max_subscripts[] inclusive.
+
+The defaults are offset=0, stride=determined from input_array_dims[]
+in the usual Fortran manner, input_array_min_subscripts[] = 0,
+input_array_max_subscripts[] = input_array_dims[]-1. If the stride
+and max subscript are both specified explicitly, then the
+input_array_dims[] function argument is ignored.
+
+For CCTK_InterpGridArrays() operating on a member of a compact group
+the offset and strides are interpreted in units of _grid_points_. This
+has the advantage that interpolator calls need not be changed if a grid
+array is changed from being simple to/from compact. In terms of actual
+memory addressing, then, the internal subscripting expression for this
+case would be
+ group_data_pointer[offset + member_number + i*istride*N_members
+ + j*jstride*N_members
+ + k*kstride*N_members]
+
+For CCTK_InterpGridArrays(), by default the input (grid) arrays are at
+the "current" Cactus time level (level 0). This may be changed with the
+table entry
+ const CCTK_INT input_array_time_levels[N_input_arrays];
+
+By default the interpolation-point coordinates and the output arrays
+are all contiguous 1-D arrays. This may be changed with the table
+entries
+
+ const CCTK_INT interp_coords_offsets[N_dims];
+ const CCTK_INT output_array_offsets[N_output_arrays];
+ /* next 4 table entries are shared by all interp coords and output arrays */
+ const CCTK_INT interp_point_N_dims;
+ const CCTK_INT interp_point_strides [interp_point_N_dims];
+ const CCTK_INT interp_point_min_subscripts[interp_point_N_dims];
+ const CCTK_INT interp_point_max_subscripts[interp_point_N_dims];
+
+For example, if we wanted to do 3-D interpolation, interpolating a value
+at each non-ghost-zone point of a 2-D grid of points, with the grid point
+coordinates stored as 2-D arrays, we would use
+ N_dims = 3
+ interp_point_N_dims = 2
+ interp_point_strides[] = set up from the full size of the 2-D grid
+ interp_point_{min,max}_subscripts[] = specify the non-ghost-zone points
+ of the 2-D grid
+
+Excision Options
+----------------
+
+Some interpolators may specifically support excision, where a mask array
+(same dimensionality and indexing as the input arrays) is used to mark
+some grid points as valid (ok to use data there) and other grid points
+as invalid (the interpolator isn't allowed to use data there).
+
+If an interpolator supports this, it should use the following optional
+parameters:
+
+for CCTK_InterpLocalArrays();
+ const CCTK_INT mask_type_code; /* one of the CCTK_VARIABLE_* codes */
+ const void *const mask_array; /* same dimensions/indexing as input arrays */
+for CCTK_InterpGridArrays():
+ const CCTK_INT mask_variable_index;
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* we consider a grid point to be valid if and only if the mask */
+ /* has a value in the closed interval [mask_valid_min,mask_valid_max] */
+ /* n.b. the caller should beware of possible rounding problems here; */
+ /* it may be appropriate to widen the valid interval slightly */
+ /* if the endpoints aren't exactly-representable floating-point */
+ /* values */
+ const mask_type mask_valid_min, mask_valid_max;
+
+The same type of storage options supported for the input and/or output
+arrays, are also supported for the mask; the mask may have its own offset
+and/or time level, but shares any input-array stride and/or min/max
+subscript specification:
+
+ const CCTK_INT mask_offset;
+ const CCTK_INT mask_time_level;
+
+
+The remaining parameter-table options are specific to the new interpolator
+I'm currently implementing for PUGHInterp. This registers (only) a single
+operator, "generalized polynomial interpolation".
+
+
+Interpolation Order and Molecule Family
+---------------------------------------
+
+The mandatory parameter
+
+ const CCTK_INT order;
+
+sets the order of the interpolating polynomial (1=linear, 2=quadratic,
+3=cubic, etc). Thus the simplest call can just use (eg)
+ Util_TableCreateFromString("order=3")
+for cubic interpolation.
+
+All the remaining parameters in the table are optional; if they're
+omitted defaults will be supplied.
+
+ /* this selects one of a family of related operators */
+ /* the default (and the only one I'm implementing right now) */
+ /* is "cube" to use the usual hypercube-shaped molecules */
+ const char *const molecule_family;
+
+Smoothing
+---------
+
+The way I'm implementing the interpolation it's easy to also do
+Savitzky-Golay type smoothing (= moving least-square fitting, cf
+Numerical Recipes 2nd edition section 14.8). This is controlled by
+the parameter
+
+ const CCTK_INT smoothing;
+
+which says how much (how many points) to enlarge the interpolation
+molecule for this. The default is 0 (no smoothing). 1 would mean to
+enlarge the molecule by 1 point, e.g. to use a 5-point molecule instead
+of the usual 4-point one for cubic interpolation. 2 would mean to
+enlarge by 2 points, e.g. to use a 6-point molecule for cubic
+interpolation. Etc etc.
+
+This type of smoothing is basically free apart from the increase in
+the molecule size, e.g. a smoothing=2 cubic interpolation has exactly
+the same cost as any other 6-point-molecule interpolation.
+
+Derivatives
+-----------
+
+This interpolator can optionally (and again at no extra cost) take
+partial derivatives as part of the interpolation:
+ const CCTK_INT operand_indices[N_output_arrays];
+ const CCTK_INT opcodes [N_output_arrays];
+The semantics here are that
+ output array[i] = op(input array[ operand_indices[i] ])
+where op is specified as an integer operation code as described below.
+
+Note that the array operand_indices[] doesn't directly name the inputs,
+but rather gives the indices (0-origin) in the list of inputs. This
+allows for a more efficient implementation in the case where some of
+the input arrays have many different operations applied to them.
+
+The operations are coded based on the decimal digits of the integer:
+each decimal digit means to take the derivative in that direction;
+the order of the digits in a number is ignored. For example:
+ 0 = no derivative, "just" interpolate
+ 1 = interpolate d/dx1 (derivative along x1 coordinate)
+ 2 = interpolate d/dx2 (derivative along x2 coordinate)
+ 11 = interpolate d^2/dx1^2 (2nd derivative along x1 coordinate)
+ 22 = interpolate d^2/dx2^2 (2nd derivative along x2 coordinate)
+ 12 = 21 = interpolate d^2/dx1 dx2 (mixed 2nd partial derivative in x1 and x2)
+ 122 = 212 = 221 = interpolate d^3/dx1 dx2^2 (mixed 3rd partial derivative)
+ 222 = interpolate d^3/dx2^3 (3rd derivative along x2 coordinate)
+ 123 = 132 = 213 = 231 = 312 = 321
+ = interpolate d^3/dx1 dx2 dx3 (mixed 3rd partial derivative)
+
+After discussion with Tom Goodale, we have decided *not* to put #defines
+for the operation codes in any of the interpolator header files -- the
+operation codes are specific to this particular interpolation operator,
+not common to all operators, so they don't belong in the overall
+common-to-all header files.
+
+
+
+Pointers in Fortran
+===================
+
+One possible problem area with this API is that it requires creating
+arrays of pointers pointing to other arrays. In C this is no problem,
+but in Fortran 77 this is difficult. So, I propose adding two new Cactus
+functions to make this easier for Fortran users:
+
+ CCTK_POINTER Util_PointerTo(any Fortran variable or array)
+ CCTK_POINTER Util_NullPointer()
+
+Util_PointerTo would be #defined to %loc on those compilers which have
+that extension to standard Fortran, or would be a Cactus-provided utility
+routine for other cases. It's trivial to write the latter case in C so
+long as the Fortran compiler actually uses call by reference; I've never
+heard of a Fortran compiler doing otherwise for arrays. (And even for
+Fortran scalar variables it would be very hard for a compiler to do otherwise
+in light of separate compilation and 1-element arrays being allowed to be
+passed to/from scalar variables.)
+
+
+
+A Simple Example
+================
+
+Here's a simple example, written in Fortran 77, to do quadratic interpolation
+of a real and a complex local array in 3-D:
+
+c input arrays:
+ integer ni, nj, nk
+ parameter (ni=..., nj=..., nk=...)
+ CCTK_REAL real_gridfn (ni,nj,nk)
+ CCTK_COMPLEX complex_gridfn(ni,nj,nk)
+
+c interpolation coordinates
+ integer N_interp
+ parameter (N_interp = ...)
+ CCTK_REAL xcoord(N_interp), y_coord(N_interp), z_coord(N_interp)
+
+c output arrays:
+ CCTK_REAL real_at_xyz (N_interp)
+ CCTK_COMPLEX complex_at_xyz(N_interp)
+
+ integer status, dummy
+ CCTK_INT input_array_type_codes(2)
+ data input_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_INT input_array_dims(3)
+ CCTK_POINTER input_arrays(2)
+ CCTK_INT interp_coord_type_codes(3)
+ data interp_coord_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL/
+ CCTK_POINTER interp_coords(3)
+ CCTK_INT output_array_type_codes(2)
+ data output_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_POINTER output_arrays(2)
+
+ input_array_dims(1) = ni
+ input_array_dims(2) = nj
+ input_array_dims(3) = nk
+ interp_coords(1) = Util_PointerTo(xcoord)
+ interp_coords(2) = Util_PointerTo(ycoord)
+ interp_coords(3) = Util_PointerTo(zcoord)
+ output_arrays(1) = Util_PointerTo(real_at_xyz)
+ output_arrays(2) = Util_PointerTo(complex_at_xyz)
+
+ call CCTK_InterpLocalArrays
+ $ (status, ! return code
+ 3, ! number of dimensions
+ operator_handle, coord_system_handle,
+ Util_TableCreateFromString("order=2"),
+ N_interp,
+ interp_coord_type_codes, interp_coords,
+ 2, ! number of input arrays
+ input_array_type_codes, input_array_dims, input_arrays,
+ 2, ! number of output arrays
+ output_array_type_codes, output_arrays)
+
+ if (status .lt. 0) then
+ call CCTK_WARN(status, "Error return from interpolator!")
+ call CCTK_Exit(dummy, Util_NullPointer(), status)
+ end if
+
+
+
+A More Complicated Example
+==========================
+
+Here's a more complicated example, written in C++. (I'm really only using
+C++ to get cleaner initialization of the various arrays, this is still
+"almost C".) This example is a simplified form of what I will be doing
+in my new apparent horizon finder:
+
+//
+// input grid functions (12 of them, all 3-D CCTK_REAL):
+// gxx, gxy, gxz, gyy, gyz, gzz,
+// Kxx, Kxy, Kxz, Kyy, Kyz, Kzz
+//
+// interpolation coordinates:
+// xcoord, ycoord, zcoord (all CCTK_REAL[N_interp_points])
+//
+// we want to interpolate the gij and Kij, and also interpolate all the
+// first derivatives of the gij, so the output arrays are
+// (30 of them, all CCTK_REAL[N_interp_points])
+// I_gxx, dx_gxx, dy_gxx, dz_gxx,
+// I_gxy, dx_gxy, dy_gxy, dz_gxy,
+// I_gxz, dx_gxz, dy_gxz, dz_gxz,
+// I_gyy, dx_gyy, dy_gyy, dz_gyy,
+// I_gyz, dx_gyz, dy_gyz, dz_gyz,
+// I_gzz, dx_gzz, dy_gzz, dz_gzz,
+// I_Kxx, I_Kxy, I_Kxz, I_Kyy, I_Kyz, I_Kzz
+//
+
+#define VP(x) static_cast<void *>(x)
+
+const int N_dims = 3;
+const CCTK_INT interp_coord_type_codes[N_dims]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_dims]
+ = { VP(xcoord), VP(ycoord), VP(zcoord) };
+
+const int N_input_arrays = 12;
+const CCTK_INT input_array_types[N_input_arrays]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+
+const CCTK_INT input_array_variable_indices[N_input_arrays]
+ = { CCTK_VarIndex("somethorn::gxx"),
+ CCTK_VarIndex("somethorn::gxy"),
+ CCTK_VarIndex("somethorn::gxz"),
+ CCTK_VarIndex("somethorn::gyy"),
+ CCTK_VarIndex("somethorn::gyz"),
+ CCTK_VarIndex("somethorn::gzz"),
+ CCTK_VarIndex("somethorn::Kxx"),
+ CCTK_VarIndex("somethorn::Kxy"),
+ CCTK_VarIndex("somethorn::Kxz"),
+ CCTK_VarIndex("somethorn::Kyy"),
+ CCTK_VarIndex("somethorn::Kyz"),
+ CCTK_VarIndex("somethorn::Kzz") };
+
+const int N_output_arrays = 30;
+CCTK_INT output_array_type_codes[N_output_arrays];
+ for (int oi = 0 ; oi < N_output_arrays ; ++oi)
+ {
+ output_array_type_codes[oi] = CCTK_VARIABLE_REAL;
+ }
+
+void *const output_arrays[N_output_arrays]
+ = {
+ VP(I_gxx), VP(dx_gxx), VP(dy_gxx), VP(dz_gxx),
+ VP(I_gxy), VP(dx_gxy), VP(dy_gxy), VP(dz_gxy),
+ VP(I_gxz), VP(dx_gxz), VP(dy_gxz), VP(dz_gxz),
+ VP(I_gyy), VP(dx_gyy), VP(dy_gyy), VP(dz_gyy),
+ VP(I_gyz), VP(dx_gyz), VP(dy_gyz), VP(dz_gyz),
+ VP(I_gzz), VP(dx_gzz), VP(dy_gzz), VP(dz_gzz),
+ VP(I_Kxx), VP(I_Kxy), VP(I_Kxz), VP(I_Kyy), VP(I_Kyz), VP(I_Kzz)
+ };
+
+const CCTK_INT operand_indices[N_output_arrays];
+ = {
+ 0, 0, 0, 0, // gxx
+ 1, 1, 1, 1, // gxy
+ 2, 2, 2, 2, // gxz
+ 3, 3, 3, 3, // gyy
+ 4, 4, 4, 4, // gyz
+ 5, 5, 5, 5, // gzz
+ 6, 7, 8, 9, 10, 11 // Kxx-Kzz
+ };
+
+const CCTK_INT opcodes[N_output_arrays]
+ = {
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 0, 0, 0, 0, 0 // all I
+ };
+
+int param_table_handle = Util_TableCreate(UTIL_TABLE_DEFAULT);
+Util_TableSetInt(param_table_handle, 3, "order");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, operand_indices,
+ "operand_indices");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, opcodes,
+ "opcodes");
+
+int status = CCTK_InterpGridArrays(GH,
+ N_dims,
+ operator_handle, coord_system_handle,
+ param_table_handle,
+ N_interp_points,
+ interp_coord_type_codes, interp_coords,
+ N_input_arrays,
+ input_array_variable_indices,
+ N_output_arrays,
+ output_array_type_codes, output_arrays);
+if (status < 0)
+ {
+ CCTK_WARN(status, "error return from CCTK_InterpGridArrays()!");
+ CCTK_Exit(GH, status); /*NOTREACHED*/
+ }
+Util_TableDestroy(param_table_handle);
diff --git a/doc/api3 b/doc/api3
new file mode 100644
index 0000000..9aeedd5
--- /dev/null
+++ b/doc/api3
@@ -0,0 +1,491 @@
+Author: Jonathan Thornburg <jthorn@aei.mpg.de>
+Date: 21 January 2002
+
+This is version 3.0 of my proposal for the new interpolator API. The
+main changes since previous versions are
+* This only describes processor-local interpolation -- global (or grid)
+ interpolation is trickier, and we're deferring it till after the
+ processor-local code is finished
+* The API has split again to separate out {uniform, nonuniform, irregular}
+ grids. This proposal only addresses the first two; irregular is hard
+ and needs lots of work all over Cactus before we can support it.
+* Since noone seems to care about it, I've dropped support for different
+ coordinates being of different types (i.e. x is CCTK_REAL4 but y is
+ CCTK_REAL16); now all the coordinates must be the same type.
+* Ditto for the interpolation coordinates.
+
+Don't be scared by the length, for most uses it's not that complicated!
+There are some examples below...
+
+
+
+Synopsis
+========
+
+ int status = CCTK_InterpLocalUniform(arguments described below)
+ int status = CCTK_InterpLocalNonUniform(arguments described below)
+
+return is 0 for ok, various -ve values for error codes
+
+(N.b. the flesh APIs to register interpolation operators will also need
+their C function prototypes changed to match the changes here.)
+
+
+
+Function Arguments
+==================
+
+ /***** misc arguments *****/
+ /* note N_dims is the number of dimensions in the *interpolation*; */
+ /* this may be smaller than the number of dimensions of the input arrays */
+ /* if the storage indexing is set up appropriately (eg to interpolate */
+ /* in 1-D lines or 2-D planes of 3-D grid arrays) */
+ int N_dims;
+ int operator_handle;
+ int param_table_handle; /* handle to a key-value table used to pass */
+ /* additional parameters to the interpolator */
+
+ /***** arguments specifying the local coordinate system *****/
+for CCTK_InterpLocalUniform()
+ /* the local coordinate system is specified as a generic linear mapping */
+ /* from (integer) local input array subscripts --> (global) coordinates: */
+ /* coordinate = origin[axis] + subscript*delta[axis] */
+ const CCTK_REAL origin[N_dims]; /* coords of subscript 0 */
+ const CCTK_REAL delta[N_dims];
+for CCTK_InterpLocalNonuniform()
+ /* the local coordinate system is specified by user-supplied arrays: */
+ /* coordinate = array[subscript] (separate array for each axis) */
+ /* FIXME: what if subscript=0 is out-of-range??? */
+ const void *const coords[N_dims]; /* coords of subscript 0 */
+
+ /***** arguments specifying the interpolation points *****/
+ int N_interp_points;
+ int interp_coords_type_code; /* CCTK_VARIABLE_* type code for */
+ /* interp_coords arrays */
+ /* (pointer to) array[N_dims] of pointers to arrays[N_interp_points] */
+ /* giving x,y,z,... coordinates of interpolation points */
+ const void *const interp_coords[N_dims];
+
+ /***** arguments specifying the inputs (the data to be interpolated) *****/
+ int N_input_arrays;
+ /* array of input array dimensions (common to all input arrays) */
+ const CCTK_INT input_array_dims[N_dims];
+ /* array of CCTK_VARIABLE_* codes giving data types of input arrays */
+ const CCTK_INT input_array_type_codes[N_input_arrays];
+ /* array of pointers to input arrays */
+ const void *const input_arrays[N_input_arrays];
+
+ /***** arguments specifying the outputs (the interpolation results) *****/
+ int N_output_arrays;
+ /* array of CCTK_VARIABLE_* codes giving data types of output arrays */
+ const CCTK_INT output_array_type_codes[N_output_arrays];
+ /* array[N_output_arrays] of pointers to output arrays[N_interp_points] */
+ void *const output_arrays[N_output_arrays];
+
+
+
+Information Passed in the Parameter Table
+=========================================
+
+The "parameter table" may be used to specify non-default storage indexing
+for input or output arrays, and/or various options for the interpolation
+itself. Some interpolators may not implement all of these options.
+
+
+Array Addressing/Subscripting Options
+-------------------------------------
+
+Sometimes one of the "arrays" used by the interpolator isn't contiguous
+in memory. For example, we might want to do 2-D interpolation within a
+plane of a 3-D grid array, and/or the grid array might be a member of a
+compact group. To support this, we use several optional table entries
+(these should be supported by all interpolation operators):
+
+For the input arrays, we use
+
+ const CCTK_INT input_array_offsets[N_input_arrays];
+ /* next 3 table entries are shared by all input arrays */
+ const CCTK_INT input_array_strides [N_dims];
+ const CCTK_INT input_array_min_subscripts[N_dims];
+ const CCTK_INT input_array_max_subscripts[N_dims];
+
+Then for input array number a, the generic subscripting expression for
+the 3-D case is
+ data_pointer[offset + i*istride + j*jstride + k*kstride]
+where
+ data_pointer = input_arrays[a]
+ offset = input_array_offsets[a]
+ (istride,jstride,kstride) = input_array_stride[]
+and where (i,j,k) run from input_array_min_subscripts[] to
+input_array_max_subscripts[] inclusive.
+
+The defaults are offset=0, stride=determined from input_array_dims[]
+in the usual Fortran manner, input_array_min_subscripts[] = 0,
+input_array_max_subscripts[] = input_array_dims[]-1. If the stride
+and max subscript are both specified explicitly, then the
+input_array_dims[] function argument is ignored.
+
+For CCTK_InterpGridArrays() operating on a member of a compact group
+the offset and strides are interpreted in units of _grid_points_. This
+has the advantage that interpolator calls need not be changed if a grid
+array is changed from being simple to/from compact. In terms of actual
+memory addressing, then, the internal subscripting expression for this
+case would be
+ group_data_pointer[offset + member_number + i*istride*N_members
+ + j*jstride*N_members
+ + k*kstride*N_members]
+
+For CCTK_InterpGridArrays(), by default the input (grid) arrays are at
+the "current" Cactus time level (level 0). This may be changed with the
+table entry
+ const CCTK_INT input_array_time_levels[N_input_arrays];
+
+By default the interpolation-point coordinates and the output arrays
+are all contiguous 1-D arrays. This may be changed with the table
+entries
+
+ const CCTK_INT interp_coords_offsets[N_dims];
+ const CCTK_INT output_array_offsets[N_output_arrays];
+ /* next 4 table entries are shared by all interp coords and output arrays */
+ const CCTK_INT interp_point_N_dims;
+ const CCTK_INT interp_point_strides [interp_point_N_dims];
+ const CCTK_INT interp_point_min_subscripts[interp_point_N_dims];
+ const CCTK_INT interp_point_max_subscripts[interp_point_N_dims];
+
+For example, if we wanted to do 3-D interpolation, interpolating a value
+at each non-ghost-zone point of a 2-D grid of points, with the grid point
+coordinates stored as 2-D arrays, we would use
+ N_dims = 3
+ interp_point_N_dims = 2
+ interp_point_strides[] = set up from the full size of the 2-D grid
+ interp_point_{min,max}_subscripts[] = specify the non-ghost-zone points
+ of the 2-D grid
+
+Excision Options
+----------------
+
+Some interpolators may specifically support excision, where a mask array
+(same dimensionality and indexing as the input arrays) is used to mark
+some grid points as valid (ok to use data there) and other grid points
+as invalid (the interpolator isn't allowed to use data there).
+
+If an interpolator supports this, it should use the following optional
+parameters:
+
+for CCTK_InterpLocalArrays();
+ const CCTK_INT mask_type_code; /* one of the CCTK_VARIABLE_* codes */
+ const void *const mask_array; /* same dimensions/indexing as input arrays */
+for CCTK_InterpGridArrays():
+ const CCTK_INT mask_variable_index;
+
+for both CCTK_InterpLocalArrays() and CCTK_InterpGridArrays():
+ /* we consider a grid point to be valid if and only if the mask */
+ /* has a value in the closed interval [mask_valid_min,mask_valid_max] */
+ /* n.b. the caller should beware of possible rounding problems here; */
+ /* it may be appropriate to widen the valid interval slightly */
+ /* if the endpoints aren't exactly-representable floating-point */
+ /* values */
+ const mask_type mask_valid_min, mask_valid_max;
+
+The same type of storage options supported for the input and/or output
+arrays, are also supported for the mask; the mask may have its own offset
+and/or time level, but shares any input-array stride and/or min/max
+subscript specification:
+
+ const CCTK_INT mask_offset;
+ const CCTK_INT mask_time_level;
+
+
+The remaining parameter-table options are specific to the new interpolator
+I'm currently implementing for PUGHInterp. This registers (only) a single
+operator, "generalized polynomial interpolation".
+
+
+Interpolation Order and Molecule Family
+---------------------------------------
+
+The mandatory parameter
+
+ const CCTK_INT order;
+
+sets the order of the interpolating polynomial (1=linear, 2=quadratic,
+3=cubic, etc). Thus the simplest call can just use (eg)
+ Util_TableCreateFromString("order=3")
+for cubic interpolation.
+
+All the remaining parameters in the table are optional; if they're
+omitted defaults will be supplied.
+
+ /* this selects one of a family of related operators */
+ /* the default (and the only one I'm implementing right now) */
+ /* is "cube" to use the usual hypercube-shaped molecules */
+ const char *const molecule_family;
+
+Smoothing
+---------
+
+The way I'm implementing the interpolation it's easy to also do
+Savitzky-Golay type smoothing (= moving least-square fitting, cf
+Numerical Recipes 2nd edition section 14.8). This is controlled by
+the parameter
+
+ const CCTK_INT smoothing;
+
+which says how much (how many points) to enlarge the interpolation
+molecule for this. The default is 0 (no smoothing). 1 would mean to
+enlarge the molecule by 1 point, e.g. to use a 5-point molecule instead
+of the usual 4-point one for cubic interpolation. 2 would mean to
+enlarge by 2 points, e.g. to use a 6-point molecule for cubic
+interpolation. Etc etc.
+
+This type of smoothing is basically free apart from the increase in
+the molecule size, e.g. a smoothing=2 cubic interpolation has exactly
+the same cost as any other 6-point-molecule interpolation.
+
+Derivatives
+-----------
+
+This interpolator can optionally (and again at no extra cost) take
+partial derivatives as part of the interpolation:
+ const CCTK_INT operand_indices[N_output_arrays];
+ const CCTK_INT operation_codes[N_output_arrays];
+The semantics here are that
+ output array[i] = op(input array[ operand_indices[i] ])
+where op is specified as an integer operation code as described below.
+
+Note that the array operand_indices[] doesn't directly name the inputs,
+but rather gives the indices (0-origin) in the list of inputs. This
+allows for a more efficient implementation in the case where some of
+the input arrays have many different operations applied to them.
+
+The operations are coded based on the decimal digits of the integer:
+each decimal digit means to take the derivative in that direction;
+the order of the digits in a number is ignored. For example:
+ 0 = no derivative, "just" interpolate
+ 1 = interpolate d/dx1 (derivative along x1 coordinate)
+ 2 = interpolate d/dx2 (derivative along x2 coordinate)
+ 11 = interpolate d^2/dx1^2 (2nd derivative along x1 coordinate)
+ 22 = interpolate d^2/dx2^2 (2nd derivative along x2 coordinate)
+ 12 = 21 = interpolate d^2/dx1 dx2 (mixed 2nd partial derivative in x1 and x2)
+ 122 = 212 = 221 = interpolate d^3/dx1 dx2^2 (mixed 3rd partial derivative)
+ 222 = interpolate d^3/dx2^3 (3rd derivative along x2 coordinate)
+ 123 = 132 = 213 = 231 = 312 = 321
+ = interpolate d^3/dx1 dx2 dx3 (mixed 3rd partial derivative)
+
+After discussion with Tom Goodale, we have decided *not* to put #defines
+for the operation codes in any of the interpolator header files -- the
+operation codes are specific to this particular interpolation operator,
+not common to all operators, so they don't belong in the overall
+common-to-all header files.
+
+
+
+Pointers in Fortran
+===================
+
+One possible problem area with this API is that it requires creating
+arrays of pointers pointing to other arrays. In C this is no problem,
+but in Fortran 77 this is difficult. So, I propose adding two new Cactus
+functions to make this easier for Fortran users:
+
+ CCTK_POINTER Util_PointerTo(any Fortran variable or array)
+ CCTK_POINTER Util_NullPointer()
+
+Util_PointerTo would be #defined to %loc on those compilers which have
+that extension to standard Fortran, or would be a Cactus-provided utility
+routine for other cases. It's trivial to write the latter case in C so
+long as the Fortran compiler actually uses call by reference; I've never
+heard of a Fortran compiler doing otherwise for arrays. (And even for
+Fortran scalar variables it would be very hard for a compiler to do otherwise
+in light of separate compilation and 1-element arrays being allowed to be
+passed to/from scalar variables.)
+
+
+
+A Simple Example
+================
+
+Here's a simple example, written in Fortran 77, to do quadratic interpolation
+of a real and a complex local array in 3-D:
+
+c input arrays:
+ integer ni, nj, nk
+ parameter (ni=..., nj=..., nk=...)
+ CCTK_REAL real_gridfn (ni,nj,nk)
+ CCTK_COMPLEX complex_gridfn(ni,nj,nk)
+
+c interpolation coordinates
+ integer N_interp
+ parameter (N_interp = ...)
+ CCTK_REAL xcoord(N_interp), y_coord(N_interp), z_coord(N_interp)
+
+c output arrays:
+ CCTK_REAL real_at_xyz (N_interp)
+ CCTK_COMPLEX complex_at_xyz(N_interp)
+
+ integer status, dummy
+ CCTK_INT input_array_type_codes(2)
+ data input_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_INT input_array_dims(3)
+ CCTK_POINTER input_arrays(2)
+ CCTK_INT interp_coord_type_codes(3)
+ data interp_coord_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL/
+ CCTK_POINTER interp_coords(3)
+ CCTK_INT output_array_type_codes(2)
+ data output_array_type_codes /CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_COMPLEX/
+ CCTK_POINTER output_arrays(2)
+
+ input_array_dims(1) = ni
+ input_array_dims(2) = nj
+ input_array_dims(3) = nk
+ interp_coords(1) = Util_PointerTo(xcoord)
+ interp_coords(2) = Util_PointerTo(ycoord)
+ interp_coords(3) = Util_PointerTo(zcoord)
+ output_arrays(1) = Util_PointerTo(real_at_xyz)
+ output_arrays(2) = Util_PointerTo(complex_at_xyz)
+
+ call CCTK_InterpLocalArrays
+ $ (status, ! return code
+ 3, ! number of dimensions
+ operator_handle, coord_system_handle,
+ Util_TableCreateFromString("order=2"),
+ N_interp,
+ interp_coord_type_codes, interp_coords,
+ 2, ! number of input arrays
+ input_array_type_codes, input_array_dims, input_arrays,
+ 2, ! number of output arrays
+ output_array_type_codes, output_arrays)
+
+ if (status .lt. 0) then
+ call CCTK_WARN(status, "Error return from interpolator!")
+ call CCTK_Exit(dummy, Util_NullPointer(), status)
+ end if
+
+
+
+A More Complicated Example
+==========================
+
+Here's a more complicated example, written in C++. (I'm really only using
+C++ to get cleaner initialization of the various arrays, this is still
+"almost C".) This example is a simplified form of what I will be doing
+in my new apparent horizon finder:
+
+//
+// input grid functions (12 of them, all 3-D CCTK_REAL):
+// gxx, gxy, gxz, gyy, gyz, gzz,
+// Kxx, Kxy, Kxz, Kyy, Kyz, Kzz
+//
+// interpolation coordinates:
+// xcoord, ycoord, zcoord (all CCTK_REAL[N_interp_points])
+//
+// we want to interpolate the gij and Kij, and also interpolate all the
+// first derivatives of the gij, so the output arrays are
+// (30 of them, all CCTK_REAL[N_interp_points])
+// I_gxx, dx_gxx, dy_gxx, dz_gxx,
+// I_gxy, dx_gxy, dy_gxy, dz_gxy,
+// I_gxz, dx_gxz, dy_gxz, dz_gxz,
+// I_gyy, dx_gyy, dy_gyy, dz_gyy,
+// I_gyz, dx_gyz, dy_gyz, dz_gyz,
+// I_gzz, dx_gzz, dy_gzz, dz_gzz,
+// I_Kxx, I_Kxy, I_Kxz, I_Kyy, I_Kyz, I_Kzz
+//
+
+#define VP(x) static_cast<void *>(x)
+
+const int N_dims = 3;
+const CCTK_INT interp_coord_type_codes[N_dims]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_dims]
+ = { VP(xcoord), VP(ycoord), VP(zcoord) };
+
+const int N_input_arrays = 12;
+const CCTK_INT input_array_types[N_input_arrays]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL };
+
+const CCTK_INT input_array_variable_indices[N_input_arrays]
+ = { CCTK_VarIndex("somethorn::gxx"),
+ CCTK_VarIndex("somethorn::gxy"),
+ CCTK_VarIndex("somethorn::gxz"),
+ CCTK_VarIndex("somethorn::gyy"),
+ CCTK_VarIndex("somethorn::gyz"),
+ CCTK_VarIndex("somethorn::gzz"),
+ CCTK_VarIndex("somethorn::Kxx"),
+ CCTK_VarIndex("somethorn::Kxy"),
+ CCTK_VarIndex("somethorn::Kxz"),
+ CCTK_VarIndex("somethorn::Kyy"),
+ CCTK_VarIndex("somethorn::Kyz"),
+ CCTK_VarIndex("somethorn::Kzz") };
+
+const int N_output_arrays = 30;
+CCTK_INT output_array_type_codes[N_output_arrays];
+ for (int oi = 0 ; oi < N_output_arrays ; ++oi)
+ {
+ output_array_type_codes[oi] = CCTK_VARIABLE_REAL;
+ }
+
+void *const output_arrays[N_output_arrays]
+ = {
+ VP(I_gxx), VP(dx_gxx), VP(dy_gxx), VP(dz_gxx),
+ VP(I_gxy), VP(dx_gxy), VP(dy_gxy), VP(dz_gxy),
+ VP(I_gxz), VP(dx_gxz), VP(dy_gxz), VP(dz_gxz),
+ VP(I_gyy), VP(dx_gyy), VP(dy_gyy), VP(dz_gyy),
+ VP(I_gyz), VP(dx_gyz), VP(dy_gyz), VP(dz_gyz),
+ VP(I_gzz), VP(dx_gzz), VP(dy_gzz), VP(dz_gzz),
+ VP(I_Kxx), VP(I_Kxy), VP(I_Kxz), VP(I_Kyy), VP(I_Kyz), VP(I_Kzz)
+ };
+
+const CCTK_INT operand_indices[N_output_arrays];
+ = {
+ 0, 0, 0, 0, // gxx
+ 1, 1, 1, 1, // gxy
+ 2, 2, 2, 2, // gxz
+ 3, 3, 3, 3, // gyy
+ 4, 4, 4, 4, // gyz
+ 5, 5, 5, 5, // gzz
+ 6, 7, 8, 9, 10, 11 // Kxx-Kzz
+ };
+
+const CCTK_INT operation_codes[N_output_arrays]
+ = {
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 1, 2, 3, // I, dx, dy, dz
+ 0, 0, 0, 0, 0, 0 // all I
+ };
+
+int param_table_handle = Util_TableCreate(UTIL_TABLE_DEFAULT);
+Util_TableSetInt(param_table_handle, 3, "order");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, operand_indices,
+ "operand_indices");
+Util_TableSetIntArray(param_table_handle,
+ N_output_arrays, operation_codes,
+ "operation_codes");
+
+int status = CCTK_InterpGridArrays(GH,
+ N_dims,
+ operator_handle, coord_system_handle,
+ param_table_handle,
+ N_interp_points,
+ interp_coord_type_codes, interp_coords,
+ N_input_arrays,
+ input_array_variable_indices,
+ N_output_arrays,
+ output_array_type_codes, output_arrays);
+if (status < 0)
+ {
+ CCTK_WARN(status, "error return from CCTK_InterpGridArrays()!");
+ CCTK_Exit(GH, status); /*NOTREACHED*/
+ }
+Util_TableDestroy(param_table_handle);
diff --git a/doc/documentation.tex b/doc/documentation.tex
new file mode 100644
index 0000000..5ac372c
--- /dev/null
+++ b/doc/documentation.tex
@@ -0,0 +1,1063 @@
+%version $Header$
+\documentclass{article}
+
+\def\eqref#1{$(\ref{#1})$}
+\def\cf{cf.\hbox{}}
+\def\ie{i.e.\hbox{}}
+\def\eg{e.g.\hbox{}}
+\def\etal{{\it et~al.\/}}
+
+\def\defn#1{{\bf #1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+\title{LocalInterp}
+\author{Jonathan Thornburg, incorporating code from Thomas Radke}
+%
+% We want CVS to expand the Id keyword on the next line, but we don't
+% want TeX to go into math mode to typeset the expansion (because that
+% wouldn't look as nice in the output), so we use the "$ $" construct
+% to get TeX out of math mode again when typesetting the expansion.
+%
+\date{$ $Id$ $}
+\maketitle
+
+\abstract{
+ This thorn provides processor-local interpolation of
+ 1-D, 2-D, and 3-D data arrays. It provides several
+ different interpolators, and supports both the older
+ \verb|CCTK_InterpLocal()| API, and the newer
+ \verb|CCTK_InterpLocalUniform()| and
+ \verb|CCTK_InterpLocalNonUniform()| APIs.
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Introduction}
+
+This thorn provides processor-local interpolation of 1, 2, and 3-D
+arrays. At present there are 2~interpolators provided (we hope to
+add other interpolators soon):
+\begin{description}
+\item[Uniform Cartesian]
+ This is the local interpolator which used to live
+ in the PUGHInterp thorn. It was written in C by
+ Thomas Radke in early 2001, drawing on earlier Fortran code
+ by Paul Walker. It supports the \verb|CCTK_InterpLocal()| API.
+ It provides Lagrange polynomial interpolation for all
+ combinations of~1, 2, and 3~dimensions, and orders~1,
+ 2, and~3. (It would be easy to add additional dimensions
+ and/or orders if desired.)
+\item[Generalized Polynomial]
+ This interpolator was written in C (plus Maple to generate
+ the coefficients) by Jonathan Thornburg in winter 2001-2002.
+ It supports the \verb|CCTK_InterpLocalUniform()| API.
+ It provides Lagrange polynomial interpolation in
+ 1~dimension (orders~1-6) and~2 and 3~dimensions (orders~1-4).
+ (Again, it would be easy to add additional dimensions and/or
+ orders.) It offers a number of options, described below.
+\end{description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Terminology}
+
+Within Cactus, each interpolator has a character-string name;
+this is mapped to a Cactus \defn{interpolator handle} by
+\verb|CCTK_InterpHandle()|. For any given interpolator handle,
+there may be a separate interpolator defined for each of the
+interpolation APIs (both the processor-local ones provided by this
+thorn, and the global ones provided by driver-specific interpolator
+thorns such as PUGHInterp).
+
+Terminology for interpolation seems to differ a bit from one author
+to another. Here we refer to the \defn{point-centered} interpolation
+of a set of \defn{input arrays} (defining data on a uniformly or
+nonuniformly spaced \defn{grid} of \defn{data points}) to a set of
+\defn{interpolation points} (specified by a corresponding set of
+\defn{interpolation coordinates}), with the results being stored
+in a corresponding set of \defn{output arrays}. Alternatively,
+we may refer to \defn{cell-centered} interpolation, using a grid
+of \defn{data cells} and a set of \defn{interpolation cells}.
+(This latter terminology is common in hydrodynamics interpolators.)
+
+At present all the interpolators do polynomial interpolation, and
+allow the interpolation of multiple input arrays (to the same set of
+interpolation points) in a single interpolator call, using the basic
+algorithm:
+\begin{verbatim}
+for each interpolation point
+{
+choose a finite difference molecule position
+ somewhere near the interpolation point
+ for each input array
+ {
+ compute an interpolating polynomial which approximates
+ the input data at the molecule points
+ output = polynomial(interpolation point)
+ }
+}
+\end{verbatim}
+In the future, we may add other interpolators where the choice of
+molecule is data-dependent (and thus may vary from one input array to
+the next), and/or where the entire input grid is used in each interpolation.
+
+We define the \defn{order} of the interpolation to be the order of
+the fitted polynomial. That is, in our terminology, linear interpolation
+is order~1, quadratic is order~2, cubic is order~3, etc. An order~$n$
+interpolator thus has $O(\Delta x^{n+1})$ errors for smooth input data.
+
+However, because the interpolating polynomial generally changes if
+the interpolation point moves from one grid cell to another, unless
+something special is done the interpolating function isn't smooth,
+\ie{} its The 1st~derivative is generically {\em discontinuous\/},
+with $O(\Delta x^n)$ jump discontinuities each time the interpolating
+polynomial changes. Correspondingly, the interpolation error is
+generically a ``bump function'' which is zero at each grid point
+and rises to a local maximum in each grid cell. There are interpolation
+algorithms (\eg{} Hermite polynomial and spline interpolation) which
+give better smoothness, but none of the present interpolators implement
+them. :(
+
+As given in the function reference section of the Cactus User's Guide,
+\verb|interp_coords|, \verb|input_arrays|, and \verb|output_arrays| are
+actually all pointers to arrays of \verb|void *| pointers, since we
+support a number of different Cactus data types. Internally, the
+interpolator casts these \verb|void *| pointers to \verb|CCTK_REAL *|
+or whatever the correct Cactus data types are. But when describing
+how the interpolator accesses the various arrays, for simplicity we
+usually gloss over this casting, \ie{}~we pretend that \verb|interp_coords|,
+\verb|input_arrays|, and \verb|output_arrays| are pointers to arrays
+of \verb|CCTK_REAL *| pointers. (This may become clearer once you
+read the next example.)
+
+We use \verb|pt|, \verb|in|, and \verb|out| as generic 0-origin integer
+subscripts into the arrays of interpolation points, input arrays, and
+output arrays respectively. We use \verb|(i,j,k)| as a generic
+\verb|N_dims|-vector of integer subscripts into the input array
+\verb|input_arrays[in]|. (Thus \defn{{\tt |(i,j,k)|} space} refers to
+the grid of data points.) We usually only write array subscripting
+expressions for the 3-D case; the restrictions/generalizations to
+other dimensions should be obvious.
+
+For example, for 3-D interpolation, the (x,y,z) coordinates of a typical
+interpolation point are given by
+\begin{verbatim}
+x = interp_coords[0][pt]
+y = interp_coords[1][pt]
+z = interp_coords[2][pt]
+\end{verbatim}
+(Notice here that as described above, we've implicitly taken
+\verb|interp_coords| to have the C~type
+\verb|const CCTK_REAL *interp_coords[]|, glossing over the casting
+from its actual C~type of \verb|const void *interp_coords[]|.)
+
+We take \verb|axis| to be an integer specifying a dimension,
+\ie{}~0~for~$x$, 1~for~$y$, 2~for~$z$, \dots.
+
+When describing Jacobians and domains of dependence, it's useful to
+introduce the notion of \defn{molecule position}, a nominal reference
+point for the interpolation molecule in \verb|(i,j,k)| coordinate
+space. (For example, the molecule position might just be the \verb|(i,j,k)|
+coordinates of the molecule's center.) We also introduce
+\defn{molecule coordinates} \verb|(mi,mj,jk)|, which are just
+\verb|(i,j,k)| coordinates relative to the molecule position.
+We use \verb|m| or as a generic molecule coordinate. Thus
+(in notation which should be obvious) a generic molecule operation
+can be written
+\begin{equation}
+\verb|output| = \sum_{\tt m} \verb|coeff[posn+m]| \times \verb|input[posn+m]|
+\end{equation}
+Note that there is no requirement that the output be semantically
+located at the position \verb|posn|! (This may become clearer once
+you look at the example in
+section~\ref{sect-generic-options/Jacobian/fixed-sized-hypercube}.)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Generic Interpolator Options}
+\label{sect-generic-options}
+
+The newer \verb|CCTK_InterpLocalUniform()| and
+\verb|CCTK_InterpLocalNonUniform()| APIs specify a \defn{parameter table}
+(a Cactus key-value table, manipulated by the \verb|Util_Table*()| APIs)
+as a generic mechanism for passing optional input to, and/or returning
+optional results from, the interpolator. Different interpolators support
+different options; in this section we describe some options which are,
+or will plausibly, be common to multiple interpolators.
+
+Note that except as described in section~\ref{sect-generic-options/caching}
+(``Caching''), all interpolator arguments and parameters apply only to
+the current interpolator call: there is no visible state kept inside
+the interpolator from one call to another.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Interpolation Order}
+
+The uniform Cartesian interpolator encodes the order in the operator
+name, but other interpolators should use a (mandatory) parameter-table
+parameter
+\begin{verbatim}
+const CCTK_INT order;
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Handling of Out-of-Range Interpolation Points}
+
+By default, interpolators should consider it an error if any interpolation
+point lies outside the grid, \ie{} if the ``interpolation'' is actually
+an extrapolation. (Some interpolators may apply a small ``fuzz'' to
+this test to help avoid floating-point rounding problems.)
+
+Some interpolators may allow this behavior to be changed by the
+optional parameter
+\begin{verbatim}
+const CCTK_REAL out_of_range_tolerance[N_dims];
+\end{verbatim}
+The semantics of this are as follows: For each \verb|axis|,
+\begin{description}
+\item[\rm If $\hbox{\tt out\_of\_range\_tolerance[axis]} \ge 0.0$,]
+ then an interpolation point is considered to be ``out of range''
+ if and only if the interpolation point is
+ $> \verb|out_of_range_tolerance[axis]|
+ \times \verb|coord_delta[axis]|$
+ outside the grid in any coordinate.
+\item[\rm If $\hbox{\tt out\_of\_range\_tolerance[axis]} = -1.0$,]
+ then an interpolation point is considered to be ``out of range''
+ if and only if a centered molecule (or more generally,
+ a molecule whose centering is chosen pretending that
+ the grid is of infinite extent), would require data
+ from outside the grid.
+\end{description}
+Other values of \verb|out_of_range_tolerance[axis]| are illegal.
+
+To provide the ``fuzz'' noted above, \verb|out_of_range_tolerance[]|
+should default to having all elements set to a very small positive
+value, say $10^{-14}$. (This value should really be scaled with the
+floating-point precision used,%%%
+\footnote{%%%
+ If this scaling is done, a reasonable value for
+ {\tt out\_of\_range\_tolerance[]} would be around
+ $100 \epsilon$, where the \defn{machine epsilon}
+ $\epsilon$ is defined to be the smallest positive
+ floating-point number such that $1.0 + \epsilon$
+ compares ``not equal to'' 1.0 in floating-point
+ arithmetic. Machine epsilon values can be found
+ in the standard header file {\tt <float.h>};
+ for IEEE single and double precision they are
+ about $1.19{\times}10^{-7}$ and $2.22{\times}10^{-16}$
+ respectively.
+ }%%%
+{} but none of the interpolators do this at present.)
+
+If any interpolation points are out of range, interpolators should
+return the error code \verb|CCTK_ERROR_INTERP_POINT_X_RANGE|, and
+report further details about the error by setting the following
+parameter-table entries:
+\begin{verbatim}
+/* which interpolation point is out of range? */
+/* (value is pt for out-of-range point) */
+CCTK_INT out_of_range_pt;
+
+/* in which coordinate axis is the point out of range? */
+/* (value is axis for out-of-range point) */
+CCTK_INT out_of_range_axis;
+
+/* on which end of the grid is the point out of range? */
+/* (value is -1 for min, +1 for max) */
+CCTK_INT out_of_range_end;
+\end{verbatim}
+
+Note that if multiple points and/or axes are out of range, different
+interpolators may vary in which out-of-range error they report. That
+is, it is {\em not\/} necessarily the case that the ``first'' such
+error will be the one reported.%%%
+\footnote{%%%
+ This is to make life simpler for interpolators
+ which work in parallel over multiple processors.
+ }%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Molecule Family}
+\label{sect-generic-options/molecule-family}
+
+An interpolator may support different families/shapes of interpolation
+molecules. Hypercube-shaped molecules are the simplest and most common
+case, but one could also imagine (say) octagon-shaped molecules in 2-D,
+or some generalization of this in higher numbers of dimensions.
+
+The parameter
+\begin{verbatim}
+const char molecule_family[]; /* set with Util_TableSetString() */
+\end{verbatim}
+may be used to query or change the strategy for choosing the molecules.
+
+The semantics are that if this key is present with the value \verb|""|
+(a 0-length ``empty'' string), this queries the default molecule family:
+the interpolator will (re)set the value to a string describing the default
+molecule family (\verb|"cube"| for hypercube-shaped molecules%%%
+\footnote{%%%
+ Strictly speaking, these should be called
+ ``parallelipiped-shaped'' molecules, but this
+ term is so clumsy (and hard to spell!) that
+ we just call them hypercube-shaped instead.
+ }%%%
+).
+If this key is present with a value which is a non-empty string, this
+sets the molecule family/shape based on that string.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Non-Contiguous Input Arrays}
+\label{sect-generic-options/non-contiguous-inputs}
+
+Sometimes one of the input ``arrays'' used by the interpolator might not
+be contiguous in memory. For example, we might want to do 2-D interpolation
+within a plane of a 3-D grid array, but the plane might or might not be
+contiguous in memory. (Another example would be that the input array
+might be a member of a compact group.)
+
+One way to do this would be to use the hyperslab API to explicitly compute
+the input data on an appropriate hyperslab, then interpolate within that.
+However, some interpolators may support accessing the appropriate hyperslab
+of the input grid directly inside the interpolator. If this is supported,
+it's probably considerably cheaper than explicitly computing the hyperslab.
+
+If an interpolator supports this, it should use the following (optional)
+parameter-table entries to specify non-contiguous inputs:
+\begin{verbatim}
+const CCTK_INT input_array_offsets[N_input_arrays];
+
+/* the next 3 table entries are shared by all input arrays */
+const CCTK_INT input_array_strides [N_dims];
+const CCTK_INT input_array_min_subscripts[N_dims];
+const CCTK_INT input_array_max_subscripts[N_dims];
+\end{verbatim}
+
+Then the interpolator would access the input using the generic
+subscripting expression
+\begin{verbatim}
+input_array[in][offset + i*stride_i + j*stride_j + k*stride_k]
+\end{verbatim}
+where
+\begin{verbatim}
+offset = input_array_offsets[in]
+(stride_i,stride_j,stride_k) = input_array_strides[]
+\end{verbatim}
+\verb|(i,j,k)| run from \verb|input_array_min_subscripts[]|
+to \verb|input_array_max_subscripts[]| inclusive
+(n.b.~this is an {\em inclusive\/} range, \ie{}
+$\verb|min| \le \verb|(i,j,k)| \le \verb|max|$).
+
+The defaults are that each input array is contiguous in memory,
+\ie{} \verb|input_array_offsets[]| = 0,
+\verb|stride| determined from \verb|input_array_dims[]|
+ in the usual Fortran manner,
+\verb|input_array_min_subscripts[]| = all 0s, and
+\verb|input_array_max_subscripts[]| = \verb|input_array_dims[]|-1.
+If the stride and max subscript are both specified explicitly, then the
+explicit \verb|input_array_dims[]| argument to
+\verb|CCTK_InterpLocalUniform()| is ignored.
+
+At present all the interpolators take the output arrays to be
+contiguous 1-D arrays.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Derivatives}
+
+Some interpolators can optionally take derivatives as part of the
+interpolation, \ie{} if we view the input data as being samples of
+a smooth function, then instead of estimating values of that function
+at the interpolation points, the interpolator can instead or additionally
+estimate values of various derivatives of that function at the
+interpolation points. We don't currently implement it, but one could
+also imagine interpolating more general molecule operations such as
+Laplacians, running integrals, etc.
+
+To specify such operations, an interpolator should use the parameter-table
+entries
+\begin{verbatim}
+const CCTK_INT operand_indices[N_output_arrays];
+const CCTK_INT operation_codes[N_output_arrays];
+\end{verbatim}
+The semantics here are that
+\begin{verbatim}
+output_array[out] = op(input_array[operand_indices[out]])
+\end{verbatim}
+where \verb|op| is an operator specified by the \verb|operation_codes[out]|
+value as described below.
+
+Note that \verb|operand_indices[]| doesn't directly name the inputs,
+but rather gives their (0-origin) subscripts in the list of inputs.
+This allows for a more efficient implementation in the (common) case
+where some of the input arrays have many different operations applied
+to them.
+
+Negative \verb|operation_codes[out]| values are reserved for future
+expansion. An \verb|operation_codes[out]| value which is $\ge 0$ is
+taken as a decimal integer encoding a coordinate partial derivative:
+each decimal digit means to take the coordinate partial derivative along
+that (1-origin) axis; the order of the digits in a number is ignored.
+For example:
+\begin{flushleft}
+\begin{tabular}{cl}
+\verb|operation_codes[out]|
+ & What it means \\
+\hline %-----------------------------------------------------------------------
+0 & no derivative, ``just'' interpolate the input array \\
+1 & interpolate $\partial \big/ \partial x^1$ of the input array \\
+2 & interpolate $\partial \big/ \partial x^2$ of the input array \\
+12 or 21
+ & interpolate $\partial^2 \big/ \partial x^1 \partial x^2$
+ of the input array \\
+33 & interpolate $\partial^2 \big/ \partial (x^3)^2$ of the input array %%%\\
+\end{tabular}
+\end{flushleft}
+
+At present we do {\em not\/} have any \verb|#define|s for the
+operation codes in the Cactus header files. However, you can avoid
+most of the software-engineering problems of having ``magic numbers''
+for the operation codes, by using the macro
+\begin{verbatim}
+#define DERIV(op) op
+\end{verbatim}
+to mark all such \verb|operation_codes[]| values in your code.
+There's an example of this in section~\ref{sect-example-derivatives}.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Jacobian and Domain of Dependence}
+\label{sect-generic-options/Jacobian}
+
+Sometimes we want to know the Jacobian of the interpolator,
+\begin{equation}
+\frac{\partial \hbox{\tt output\_array[out][pt]}}
+ {\partial \hbox{\tt input\_array[in][(i,j,k)]}}
+ \label{eqn-Jacobian}
+\end{equation}
+and/or ``just'' the set of \verb|(i,j,k)| for which this is nonzero
+(\ie{} the sparsity structure of the Jacobian, equivalently the domain
+of dependence of the output result, or equivalently the interpolation
+molecule size and shape) for a given \verb|out|, \verb|in|, and \verb|pt|.
+
+The complexity of doing this depends (strongly!) on the structure
+of the Jacobian, and in particular on the answers to the following
+questions:
+\begin{itemize}
+\item What molecule family is being used?%%%
+\footnote{%%%
+ For something like a spline interpolator the Jacobian
+ is generally nonzero for all {\tt |(i,j,k)|}, but
+ exponentially small for most of them; in this case
+ the Jacobian-query API would probably specify a cutoff
+ to return an approximate Jacobian with reasonable sparsity.
+ }%%%
+\item Does the interpolator always use the same molecule size
+ and shape (possibly depending on the interpolation order,
+ molecule family, or other such parameters), independent
+ of where the interpolation points are in the grid?%%%
+\footnote{%%%
+ We can always make the interpolation molecules be
+ the ``same size and shape'' by padding them with
+ zero entries to bring them all up to the size of
+ the largest molecule used anywhere in the grid,
+ but this would be very inefficient if many molecules
+ were padded in this way.
+ }%%%
+\item Does the interpolator use the same interpolation molecule
+ size and shape for each output array? (The answer to this
+ question may depend on whether and/or what derivatives are
+ being computed.)
+\end{itemize}
+Because the different cases differ so much in their complexity,
+we define several distinct APIs for obtaining the interpolator's
+Jacobian and/or domain of dependence.
+
+%%%%%%%%%%%%%%%%%%%%
+
+\subsubsection{Querying the Interpolator about the Jacobian's structure}
+
+To allow generic code to determine which of the different Jacobian-structure
+cases applies, (and thus which APIs to use), an interpolator which
+supports Jacobian operations should support using the following
+parameter-table entries to query the interpolator about the Jacobian
+structure:
+
+The parameter \verb|molecule_family| may may be used to query what
+molecule family is being used. This is described in detail in
+section~\ref{sect-generic-options/molecule-family}.
+
+This parameter may be used to query whether the interpolation molecule's
+size and/or shape varies with the interpolation coordinates:
+\begin{verbatim}
+CCTK_INT MSS_is_fn_of_interp_coords;
+\end{verbatim}
+The semantics of this are that if this key is present%%%
+\footnote{%%%
+ ``MSS'' abbreviates ``{\bf m}olecule {\bf s}ize
+ and/or {\bf s}hape''.
+ }%%%
+{} (the value doesn't matter), then the interpolator will (re)set
+the value to 0~if the molecule size and shape do {\em not\/} vary
+with the interpolation coordinates, or 1~if the molecule size and/or
+shape {\em do\/} vary with the interpolation coordinates.
+
+This parameter may be used to query whether the interpolation molecule's
+size and/or shape varies from one output array to another:
+\begin{verbatim}
+CCTK_INT MSS_is_fn_of_which_output;
+\end{verbatim}
+The semantics of this are that if this key is present (the value
+doesn't matter), then the interpolator will (re)set the value to
+0~if the molecule size and shape do {\em not\/} vary from one output
+array to another (this includes the case where there is only 1~output
+array!), or 1~if the molecule size and/or shape {\em do\/} vary from
+one output array to another. Note that since the answer to this may
+depend on whether and/or what derivatives are being computed, setting
+this key may force the interpolator to scan completely through the
+derivative specifications. This probably isn't {\em very\/} costly,
+but you may want to avoid unnecessarily paying that cost by deleting
+the query key (\verb|MSS_is_fn_of_which_output|) from the table
+on future interpolator calls.
+
+%%%%%%%%%%%%%%%%%%%%
+
+\subsubsection{Fixed-Size Hypercube-Shaped Molecules}
+\label{sect-generic-options/Jacobian/fixed-sized-hypercube}
+
+The simplest case (and the only one for which we have defined an API
+at present) is when the molecules are hypercube-shaped and of (small)
+fixed size, independent of the interpolation coordinates (though likely
+depending on the interpolation order or other such parameters), and
+not varying from one output array to another.
+
+The following parameters may be used to query the molecule size:
+\begin{verbatim}
+CCTK_INT const interp_molecule_min_m[N_dims];
+CCTK_INT const interp_molecule_max_m[N_dims];
+\end{verbatim}
+The semantics of these are that if these keys are present (the values
+don't matter), then the interpolator will (re)set the values to give
+the (inclusive) minimum and maximum \verb|m|~molecule coordinates.
+
+The following parameter may be used to query the molecule positions:
+\begin{verbatim}
+CCTK_INT *const interp_molecule_positions[N_dims];
+\end{verbatim}
+The semantics of this is that the caller should set
+\verb|interp_molecule_positions[]| to an array of
+\verb|N_dims| pointers to (caller-supplied) arrays of
+\verb|N_interp_points| \verb|CCTK_INT|s each. If this key exists,
+then the interpolator will store the molecule positions in the
+pointed-to arrays.
+
+The following parameters may be used to query the
+Jacobian~\eqref{eqn-Jacobian} itself:
+\begin{verbatim}
+CCTK_REAL *const Jacobian_pointer[N_output_arrays];
+const CCTK_INT Jacobian_offset [N_output_arrays];
+
+/* the next 2 table entries are shared by all Jacobians */
+const CCTK_INT Jacobian_interp_point_stride;
+const CCTK_INT Jacobian_m_strides[N_dims];
+\end{verbatim}
+Then the interpolator would store the Jacobian~\eqref{eqn-Jacobian} in
+\begin{verbatim}
+Jacobian_pointer[out][offset + pt*Jacobian_interp_point_stride
+ + mi*stride_i + mj*stride_j + mk*stride_k]
+\end{verbatim}
+where
+\begin{verbatim}
+offset = Jacobian_offset[out]
+(stride_i,stride_j,stride_k) = Jacobian_m_strides[]
+\end{verbatim}
+
+By appropriately setting the various stride parameters, this allows
+a fairly wide variety of possible storage layouts for the Jacobian.
+
+An example may help to clarify this: Suppose we have a 1-D grid
+with 11~grid points, with integer subscripts~0 through~10 inclusive,
+and interpolation coordinates given by \verb|coord_origin = 0.0|
+and \verb|coord_delta = 0.1|.
+Suppose further that we're doing quadratic interpolation, using
+3-point (vertex-centered) molecules, and that the interpolator
+centers the interpolation molecules as close to the interpolation
+point as possible subject to the constraint that the molecules
+never require data from outside the grid.
+Finally, suppose that we query the Jacobian molecule positions for
+the \verb|N_interp_points=14| interpolation points 0.0, 0.04, 0.06,
+0.10, 0.14, 0.16, 0.20, 0.80, 0.84, 0.86, 0.90, 0.94, 0.96, 1.00.
+Then the queries might return
+\begin{verbatim}
+interp_molecule_min_m = -1
+interp_molecule_max_m = +1
+ /* interp_x molecule */
+interp_molecule_positions[0][ 0] = 1 /* 0.00 [0.0, 0.1, 0.2] */
+interp_molecule_positions[0][ 1] = 1 /* 0.04 [0.0, 0.1, 0.2] */
+interp_molecule_positions[0][ 2] = 1 /* 0.06 [0.0, 0.1, 0.2] */
+interp_molecule_positions[0][ 3] = 1 /* 0.10 [0.0, 0.1, 0.2] */
+interp_molecule_positions[0][ 4] = 1 /* 0.14 [0.0, 0.1, 0.2] */
+interp_molecule_positions[0][ 5] = 2 /* 0.16 [0.1, 0.2, 0.3] */
+interp_molecule_positions[0][ 6] = 2 /* 0.20 [0.1, 0.2, 0.3] */
+interp_molecule_positions[0][ 7] = 8 /* 0.80 [0.7, 0.8, 0.9] */
+interp_molecule_positions[0][ 8] = 8 /* 0.84 [0.7, 0.8, 0.9] */
+interp_molecule_positions[0][ 9] = 9 /* 0.86 [0.8, 0.9, 1.0] */
+interp_molecule_positions[0][10] = 9 /* 0.90 [0.8, 0.9, 1.0] */
+interp_molecule_positions[0][11] = 9 /* 0.94 [0.8, 0.9, 1.0] */
+interp_molecule_positions[0][12] = 9 /* 0.96 [0.8, 0.9, 1.0] */
+interp_molecule_positions[0][13] = 9 /* 1.00 [0.8, 0.9, 1.0] */
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Caching}
+\label{sect-generic-options/caching}
+
+Some interpolators may support special ``caching'' optimizations to
+speed repeated interpolations where some or all of the interpolator
+arguments and/or parameters are the same. For example, when interpolating
+a tabulated equation of state the number of dimensions, the coordinate
+origin and grid spacing, and the input arrays (the tabulated equation
+of state data), will probably all be the same from one interpolator
+call to another.
+
+If an interpolator supports caching, the following parameters should
+be used to control this:
+
+\begin{verbatim}
+const char cache_type[]; /* set with Util_TableSetString() */
+const char cache_control[]; /* set with Util_TableSetString() */
+CCTK_INT cache_handle;
+\end{verbatim}
+
+There are three basic operations supported:
+\begin{description}
+\item[Create a Cache]
+ To set up caching, call the interpolator with \verb|cache_type|
+ set to describe what arguments and/or parameters will remain
+ the same in future interpolator calls, \verb|cache_control|
+ set to the string \verb|"create"|, and \verb|cache_handle|
+ {\em not\/} in the parameter table. The interpolator will
+ then do extra (possibly quite time-consuming) work to set
+ up cached information. The interpolator will delete the
+ key \verb|cache_control|, and return a handle to the cached
+ information in \verb|cache_handle|; this allows multiple caches
+ to be active concurrently.
+\item[Use a Cache]
+ To use a cache (\ie{}~to make an interpolation with the
+ hoped-for speedup), just call the interpolator with
+ \verb|cache_handle| set to the value returned when the cache
+ was created. Note that you still have to provide all the
+ ``will be the same'' interpolator arguments and/or parameters;
+ providing a cache handle is essentially just a promise that
+ these will be the same as in the cache-create interpolator
+ call. The details of what information is cached, and if/how
+ the ``will be the same'' arguments are still used, are up to
+ the interpolator.
+\item[Destroy a Cache]
+ To destroy a cache (\ie{} free any memory allocated when
+ the cache was created), call the interpolator with
+ \verb|cache_handle| set to the value returned when the cache
+ was created, and \verb|cache_control| set to the string
+ \verb|"destroy"|. The interpolator will delete the keys
+ \verb|cache_handle| and \verb|cache_control|, and destroy
+ the cache.
+\end{description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{The Uniform Cartesian Interpolator}
+
+The uniform Cartesian interpolator is the one which used to live
+in the PUGHInterp thorn. It was written in C by Thomas Radke in
+early 2001, drawing on earlier Fortran code by Paul Walker. It
+supports the \verb|CCTK_InterpLocal()| API, and thus doesn't use
+any parameter table at all. It provides Lagrange polynomial
+interpolation of orders 1, 2, and 3, registered under the operator
+names \verb|"first-order uniform Cartesian"|,
+\verb|"second-order uniform Cartesian"|, and
+\verb|"third-order uniform Cartesian"| respectively. Each of these
+supports 1, 2, and 3-D arrays. The code is hard-wired for
+hypercube-shaped interpolation molecules, but it would be easy
+to add additional orders and/or dimensions if desired.
+
+Although the \verb|CCTK_InterpLocal()| API supports both uniform
+and nonuniform grids for the input data, the present implementation
+assumes a uniform grid (and silently gives wrong results for a
+nonuniform grid).
+
+See the Cactus User's Guide ``Full Description of Functions''
+appendix for a full description of the \verb|CCTK_InterpLocal()|
+API, and some examples of how to use it.
+
+%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Implementation}
+
+Internally, this interpolator always does 3-D interpolation, inserting
+zero coordinates as appropriate for lower dimensionalities. The
+interpolation is done by successive 1-D interpolations along each
+axis. See the \verb|README| file in the source code directory
+\verb|LocalInterp/src/UniformCartesian/| for further details.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{The Generalized Polynomial Interpolator}
+
+The generalized polynomial interpolator was written in C
+(plus Maple to generate the coefficients) by Jonathan Thornburg in
+winter 2001-2002. It provides Lagrange polynomial interpolation of
+orders 1-6 for 1-D arrays, and 1-4 for 2- and 3-D
+arrays, all registered under the operator name
+\verb|"generalized polynomial"|. (Again, it would be easy to add
+additional orders and/or dimensions if desired.) The code allows
+arbitrarily-shaped interpolation molecules, but at the moment only
+hypercube-shaped molecules are implemented.
+
+This interpolator supports a number of the options described in
+section~\ref{sect-generic-options}:
+\begin{itemize}
+\item interpolation order
+\item handling of out-of-range interpolation points
+ (if there are multiple out-of-range points/axes, the
+ one reported will be the first, \ie{}~the out-of-range
+ point with the smallest \verb|pt|, and of that points
+ out-of-range axes, the one with the smallest \verb|axis|)
+
+\item non-contiguous input arrays
+\item derivatives
+ (when taking derivatives with this interpolator,
+ it's most efficient to group all operations on
+ a given input array together in the \verb|operand_indices|
+ and \verb|operation_codes| arrays, as in the example in
+ section~\ref{sect-example-derivatives})
+\end{itemize}
+At present this interpolator does not support computing the Jacobian,
+but we hope to add this in the near future. This interpolator also
+does not support any caching features; at present (Feb 2002) we have
+no plans to add these.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Smoothing}
+
+The way the generalized polynomial interpolator is implemented it's
+easy to also do Savitzky-Golay smoothing.%%%
+\footnote{%%%
+ See section 14.8 of Numerical Recipes
+ 2nd edition for a general discussion of
+ Savitzky-Golay smoothing.
+ }%%%
+{} This is best described by way of an example: Suppose we're doing
+1-D cubic interpolation, \ie{} at each interpolation point we're using
+a cubic polynomial fitted to 4~surrounding data points. For
+Savitzky-Golay smoothing, we would instead {\em least-squares fit\/}
+a cubic polynomial to some {\em larger\/} number of surrounding data
+points. This combines interpolation with smoothing, so there's less
+amplification of noise in the input data in the interpolation outputs.
+
+The optional input
+\begin{verbatim}
+const CCTK_INT smoothing;
+\end{verbatim}
+specifies how much (how many points) to enlarge the interpolation
+molecule for this. The default is 0 (no smoothing). 1 would mean to
+enlarge the molecule by 1 point, \eg{} to use a 5-point molecule instead
+of the usual 4-point one for cubic interpolation. 2 would mean to
+enlarge by 2 points, \eg{} to use a 6-point molecule for cubic
+interpolation. Etc etc.
+
+Note that in $>1$~dimension, the default hypercube-shaped molecules
+already use more data points than the number of free parameters in
+the interpolating polynomials, \ie{} they already do some Savitzky-Golay
+smoothing. For example, in 2-D a generic cubic polynomial
+$f(x,y) = \sum_{i+j \leq 3} c_{ij} x^i y^j$ has 10 free parameters
+$c_{ij}$, which we least-squares fit to the 16 data points in the
+$4 \times 4$ molecule.
+
+Savitzky-Golay smoothing is basically free apart from the increase in
+the molecule size, e.g. a \verb|smoothing|=2 cubic interpolation has
+exactly the same cost as any other 6-point--molecule interpolation.
+
+Alas, at the moment only the trivial case \verb|smoothing|=0 is
+implemented, but the framework is all there for more general cases.
+
+%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Implementation}
+
+This interpolator's basic design is to use separate specialized code
+for each combination of
+$(\verb|N_dims|, \verb|molecule_family|, \verb|order|, \verb|smoothing|)$,
+\ie{}~in practice for each distinct choice of interpolation molecule.
+Maple is used to generate all the interpolation coefficients.
+The C preprocessor is then used to generate all the specialized code
+from a single master ``template'' file. The template code uses
+\verb|#ifdef|s to handle lower dimensions with no extra overhead,
+\eg{}~1-D/2-D interpolation is basically just as efficient as in
+a purpose-built 1-D/2-D interpolator, with no extra overhead imposed
+by the interpolator also supporting higher-dimensional interpolation.
+
+The Maple code which generates the interpolation coefficients is quite
+general-purpose, and can handle an arbitrary dimensionality and molecule
+size/shape. Generating new coefficients can be rather time-consuming,
+though, \eg{}~the current coefficients for 3-D for orders~1-4 take about
+8~cpu minutes to generate using Maple~7 on a 1.7~GHz~P4.
+
+See the \verb|README| file in the source code directory
+\verb|LocalInterp/src/UniformCartesian/| for further details on the
+implementation.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{A Simple Example of {\tt CCTK\_InterpLocalUniform} Usage}
+
+Here's a simple example of interpolating a \verb|CCTK_REAL| and a
+\verb|CCTK_COMPLEX| $10 \times 20$ 2-D array, at 5 interpolation points,
+using cubic interpolation.
+
+\begin{verbatim}
+#define N_DIMS 2
+#define N_INTERP_POINTS 5
+#define N_INPUT_ARRAYS 2
+#define N_OUTPUT_ARRAYS 2
+
+/* (x,y,z) coordinates of data grid points */
+#define X_ORIGIN ...
+#define X_DELTA ...
+#define Y_ORIGIN ...
+#define Y_DELTA ...
+const CCTK_REAL origin[N_DIMS] = { X_ORIGIN, Y_ORIGIN };
+const CCTK_REAL delta [N_DIMS] = { X_DELTA, Y_DELTA };
+
+/* (x,y,z) coordinates of interpolation points */
+const CCTK_REAL interp_x[N_INTERP_POINTS];
+const CCTK_REAL interp_y[N_INTERP_POINTS];
+const void *const interp_coords[N_DIMS]
+ = { (const void *) interp_x, (const void *) interp_y };
+
+/* input arrays */
+/* ... note Cactus uses Fortran storage ordering, i.e. X is contiguous */
+#define N_X 10
+#define N_Y 20
+const CCTK_REAL input_real [N_Y][N_X];
+const CCTK_COMPLEX input_complex[N_Y][N_X];
+const CCTK_INT input_array_dims[N_DIMS] = { N_X, N_Y };
+const CCTK_INT input_array_type_codes[N_INPUT_ARRAYS]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_COMPLEX };
+const void *const input_arrays[N_INPUT_ARRAYS]
+ = { (const void *) input_real, (const void *) input_complex };
+
+/* output arrays */
+CCTK_REAL output_real [N_INTERP_POINTS];
+CCTK_COMPLEX output_complex[N_INTERP_POINTS];
+const CCTK_INT output_array_type_codes[N_OUTPUT_ARRAYS]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_COMPLEX };
+void *const output_arrays[N_OUTPUT_ARRAYS]
+ = { (void *) output_real, (void *) output_complex };
+
+int operator_handle, param_table_handle;
+operator_handle = CCTK_InterpHandle("my interpolation operator");
+if (operator_handle < 0)
+ CCTK_WARN(-1, "can't get interpolation handle!");
+param_table_handle = Util_TableCreateFromString("order=3");
+if (param_table_handle < 0)
+ CCTK_WARN(-1, "can't create parameter table!");
+
+if (CCTK_InterpLocalUniform(N_DIMS,
+ operator_handle, param_table_handle,
+ origin, delta,
+ N_INTERP_POINTS,
+ CCTK_VARIABLE_REAL,
+ interp_coords,
+ N_INPUT_ARRAYS,
+ input_array_dims,
+ input_array_type_codes,
+ input_arrays,
+ N_OUTPUT_ARRAYS,
+ output_array_type_codes,
+ output_arrays) < 0)
+ CCTK_WARN(-1, "error return from interpolator!");
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{An Example of Interplating Derivatives}
+\label{sect-example-derivatives}
+
+Consider the problem described earlier: the computation of all the
+2nd~derivatives of the 3-metric at a set of interpolation points on
+a 2-sphere. Here's how we could do this in C:
+\begin{verbatim}
+#define N_DIMS 3
+
+/* interpolation points */
+#define N_INTERP_POINTS 1000
+const CCTK_REAL interp_x[N_INTERP_POINTS],
+ interp_y[N_INTERP_POINTS],
+ interp_z[N_INTERP_POINTS];
+const void *const interp_coords[N_DIMS]
+ = { (const void *) interp_x,
+ (const void *) interp_y,
+ (const void *) interp_z };
+
+/* dimensions of the data grid */
+#define NX 30
+#define NY 40
+#define NZ 50
+
+/* input arrays */
+#define N_INPUT_ARRAYS 6
+const CCTK_REAL gxx[NX][NY][NZ], gxy[NX][NY][NZ], gxz[NX][NY][NZ],
+ gyy[NX][NY][NZ], gyz[NX][NY][NZ],
+ gzz[NX][NY][NZ];
+
+const CCTK_INT input_array_dims[N_DIMS] = {NX, NY, NZ};
+const CCTK_INT input_array_type_codes[N_INPUT_ARRAYS]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL };
+const void *const interp_coords[N_INPUT_ARRAYS]
+ = { (const void *) gxx, (const void *) gxy, (const void *) gxz,
+ (const void *) gyy, (const void *) gyz,
+ (const void *) gzz };
+
+/* output arrays */
+#define N_OUTPUT_ARRAYS 36
+CCTK_REAL
+ dxx_gxx[N_INTERP_POINTS], dxy_gxx[N_INTERP_POINTS], dxz_gxx[N_INTERP_POINTS],
+ dyy_gxx[N_INTERP_POINTS], dyz_gxx[N_INTERP_POINTS],
+ dzz_gxx[N_INTERP_POINTS],
+ dxx_gxy[N_INTERP_POINTS], dxy_gxy[N_INTERP_POINTS], dxz_gxy[N_INTERP_POINTS],
+ dyy_gxy[N_INTERP_POINTS], dyz_gxy[N_INTERP_POINTS],
+ dzz_gxy[N_INTERP_POINTS],
+ dxx_gxz[N_INTERP_POINTS], dxy_gxz[N_INTERP_POINTS], dxz_gxz[N_INTERP_POINTS],
+ dyy_gxz[N_INTERP_POINTS], dyz_gxz[N_INTERP_POINTS],
+ dzz_gxz[N_INTERP_POINTS],
+ dxx_gyy[N_INTERP_POINTS], dxy_gyy[N_INTERP_POINTS], dxz_gyy[N_INTERP_POINTS],
+ dyy_gyy[N_INTERP_POINTS], dyz_gyy[N_INTERP_POINTS],
+ dzz_gyy[N_INTERP_POINTS],
+ dxx_gyz[N_INTERP_POINTS], dxy_gyz[N_INTERP_POINTS], dxz_gyz[N_INTERP_POINTS],
+ dyy_gyz[N_INTERP_POINTS], dyz_gyz[N_INTERP_POINTS],
+ dzz_gyz[N_INTERP_POINTS],
+ dxx_gzz[N_INTERP_POINTS], dxy_gzz[N_INTERP_POINTS], dxz_gzz[N_INTERP_POINTS],
+ dyy_gzz[N_INTERP_POINTS], dyz_gzz[N_INTERP_POINTS],
+ dzz_gzz[N_INTERP_POINTS];
+const CCTK_INT output_array_type_codes[N_OUTPUT_ARRAYS]
+ = { CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ CCTK_VARIABLE_REAL };
+void *const output_arrays[N_OUTPUT_ARRAYS]
+ = { (void *) dxx_gxx, (void *) dxy_gxx, (void *) dxz_gxx,
+ (void *) dyy_gxx, (void *) dyz_gxx,
+ (void *) dzz_gxx,
+ (void *) dxx_gxy, (void *) dxy_gxy, (void *) dxz_gxy,
+ (void *) dyy_gxy, (void *) dyz_gxy,
+ (void *) dzz_gxy,
+ (void *) dxx_gxz, (void *) dxy_gxz, (void *) dxz_gxz,
+ (void *) dyy_gxz, (void *) dyz_gxz,
+ (void *) dzz_gxz,
+ (void *) dxx_gyy, (void *) dxy_gyy, (void *) dxz_gyy,
+ (void *) dyy_gyy, (void *) dyz_gyy,
+ (void *) dzz_gyy,
+ (void *) dxx_gyz, (void *) dxy_gyz, (void *) dxz_gyz,
+ (void *) dyy_gyz, (void *) dyz_gyz,
+ (void *) dzz_gyz,
+ (void *) dxx_gzz, (void *) dxy_gzz, (void *) dxz_gzz,
+ (void *) dyy_gzz, (void *) dyz_gzz,
+ (void *) dzz_gzz };
+
+/* integer codes to specify the derivatives */
+/* (for best efficiency we group all operations on a given input together) */
+const CCTK_INT operand_indices[N_OUTPUT_ARRAYS]
+ = { 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2,
+ 3, 3, 3, 3, 3, 3,
+ 4, 4, 4, 4, 4, 4,
+ 5, 5, 5, 5, 5, 5 };
+#define DERIV(x) x
+const CCTK_INT operation_codes[N_OUTPUT_ARRAYS]
+ = { DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33),
+ DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33),
+ DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33),
+ DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33),
+ DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33),
+ DERIV(11), DERIV(12), DERIV(13), DERIV(22), DERIV(23), DERIV(33) };
+
+int operator_handle, param_table_handle;
+operator_handle = CCTK_InterpHandle("my interpolation operator");
+if (operator_handle < 0)
+ CCTK_WARN(-1, "can't get interpolation handle!");
+
+param_table_handle = Util_TableCreate(UTIL_TABLE_FLAGS_DEFAULT);
+if (param_table_handle < 0)
+ CCTK_WARN(-1, "can't create parameter table!");
+if (Util_TableSetInt(param_table_handle, 3, "order") < 0)
+ CCTK_WARN(-1, "can't set order in parameter table!");
+if (Util_TableSetIntArray(param_table_handle,
+ N_OUTPUT_ARRAYS, operand_indices,
+ "operand_indices") < 0)
+ CCTK_WARN(-1, "can't set operand_indices array in parameter table!");
+if (Util_TableSetIntArray(param_table_handle,
+ N_OUTPUT_ARRAYS, operation_codes,
+ "operation_codes") < 0)
+ CCTK_WARN(-1, "can't set operation_codes array in parameter table!");
+
+if (CCTK_InterpLocalUniform(N_DIMS,
+ operator_handle, param_table_handle,
+ origin, delta,
+ N_INTERP_POINTS,
+ CCTK_VARIABLE_REAL,
+ interp_coords,
+ N_INPUT_ARRAYS,
+ input_array_dims,
+ input_array_type_codes,
+ input_arrays,
+ N_OUTPUT_ARRAYS,
+ output_array_type_codes,
+ output_arrays) < 0)
+ CCTK_WARN(-1, "error return from interpolator!");
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% Automatically created from the ccl files
+% Do not worry for now.
+%
+\include{interface}
+\include{param}
+\include{schedule}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Acknowledgments}
+
+Thanks to Ian Hawke for helpful comments on the documentation,
+to Tom Goodale and Thomas Radke for many useful design discussions,
+and to all the Cactus crew for a great infrastructure!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\end{document}
diff --git a/doc/interface.aux b/doc/interface.aux
new file mode 100644
index 0000000..76caf46
--- /dev/null
+++ b/doc/interface.aux
@@ -0,0 +1,19 @@
+\relax
+\@setckpt{interface}{
+\setcounter{page}{18}
+\setcounter{equation}{2}
+\setcounter{enumi}{0}
+\setcounter{enumii}{0}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{7}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{0}
+\setcounter{section}{5}
+\setcounter{subsection}{4}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{0}
+\setcounter{table}{0}
+}
diff --git a/doc/param.aux b/doc/param.aux
new file mode 100644
index 0000000..4164907
--- /dev/null
+++ b/doc/param.aux
@@ -0,0 +1,19 @@
+\relax
+\@setckpt{param}{
+\setcounter{page}{18}
+\setcounter{equation}{2}
+\setcounter{enumi}{0}
+\setcounter{enumii}{0}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{7}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{0}
+\setcounter{section}{5}
+\setcounter{subsection}{4}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{0}
+\setcounter{table}{0}
+}
diff --git a/doc/references b/doc/references
new file mode 100644
index 0000000..53a38c0
--- /dev/null
+++ b/doc/references
@@ -0,0 +1,12 @@
+Thermodynamic consistency in EOS interpolation
+@ARTICLE{2000ApJS..126..501T,
+ author = {{Timmes}, F.~X. and {Swesty}, F.~D.},
+ title = "{The Accuracy, Consistency, and Speed of an Electron-Positron Equation of State Based on Table Interpolation of the Helmholtz Free Energy}",
+ journal = {Astrophysical Journal Supplement Series},
+ year = 2000,
+ month = feb,
+ volume = 126,
+ pages = {501--516},
+ url = {http://esoads.eso.org/cgi-bin/nph-bib_query?bibcode=2000ApJS..126..501T&db_key=AST},
+ adsnote = {Provided by the NASA Astrophysics Data System}
+}
diff --git a/doc/schedule.aux b/doc/schedule.aux
new file mode 100644
index 0000000..9a76364
--- /dev/null
+++ b/doc/schedule.aux
@@ -0,0 +1,19 @@
+\relax
+\@setckpt{schedule}{
+\setcounter{page}{18}
+\setcounter{equation}{2}
+\setcounter{enumi}{0}
+\setcounter{enumii}{0}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{7}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{0}
+\setcounter{section}{5}
+\setcounter{subsection}{4}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{0}
+\setcounter{table}{0}
+}
diff --git a/interface.ccl b/interface.ccl
new file mode 100644
index 0000000..b94affd
--- /dev/null
+++ b/interface.ccl
@@ -0,0 +1,6 @@
+# Interface definition for thorn LocalInterp
+# $Header$
+
+implements: LocalInterp
+
+# this thorn doesn't define or use any Cactus grid variables
diff --git a/param.ccl b/param.ccl
new file mode 100644
index 0000000..cdbd8aa
--- /dev/null
+++ b/param.ccl
@@ -0,0 +1,4 @@
+# Parameter definitions for thorn LocalInterp
+# $Header$
+
+# there are no parameters for this thorn
diff --git a/schedule.ccl b/schedule.ccl
new file mode 100644
index 0000000..10a3202
--- /dev/null
+++ b/schedule.ccl
@@ -0,0 +1,12 @@
+# Schedule definitions for thorn LocalInterp
+# $Header$
+
+Schedule LocalInterp_UC_Startup at STARTUP after Driver_Startup
+{
+LANG:C
+} "LocalInterp/UniformCartesian startup routine"
+
+Schedule LocalInterp_GPU_Startup at STARTUP after Driver_Startup
+{
+LANG:C
+} "LocalInterp/GeneralizedPolynomial-Uniform startup routine"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..b8ea11e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c
@@ -0,0 +1,2 @@
+ coeff_I_0 = RATIONAL(1.0,1.0)-x;
+ coeff_I_p1 = x;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..4f5fb07
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c
@@ -0,0 +1,2 @@
+ coeff_dx_0 = RATIONAL(-1.0,1.0);
+ coeff_dx_p1 = RATIONAL(1.0,1.0);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..4d0de20
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c
@@ -0,0 +1,9 @@
+fp t3,
+ t2,
+ t1;
+ t3 = x*x;
+ t2 = RATIONAL(1.0,2.0);
+ t1 = t2*t3;
+ coeff_I_m1 = RATIONAL(-1.0,2.0)*x+t1;
+ coeff_I_0 = RATIONAL(1.0,1.0)-t3;
+ coeff_I_p1 = t2*x+t1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..e2532c9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c
@@ -0,0 +1,3 @@
+ coeff_dx_m1 = x+RATIONAL(-1.0,2.0);
+ coeff_dx_0 = RATIONAL(-2.0,1.0)*x;
+ coeff_dx_p1 = RATIONAL(1.0,2.0)+x;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..4e6fd95
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,5 @@
+fp t4;
+ t4 = RATIONAL(1.0,1.0);
+ coeff_dxx_m1 = t4;
+ coeff_dxx_0 = RATIONAL(-2.0,1.0);
+ coeff_dxx_p1 = t4;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..2df6cd1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c
@@ -0,0 +1,16 @@
+fp t10,
+ t9,
+ t8,
+ t7,
+ t6,
+ t5;
+ t10 = x*x;
+ t9 = x*t10;
+ t8 = RATIONAL(-1.0,2.0);
+ t7 = RATIONAL(1.0,2.0);
+ t6 = RATIONAL(-1.0,6.0);
+ t5 = t7*t10;
+ coeff_I_m1 = RATIONAL(-1.0,3.0)*x+t5+t6*t9;
+ coeff_I_0 = RATIONAL(1.0,1.0)+t8*x-t10+t7*t9;
+ coeff_I_p1 = x+t5+t8*t9;
+ coeff_I_p2 = t6*x+RATIONAL(1.0,6.0)*t9;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..f0f513b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c
@@ -0,0 +1,8 @@
+fp t13,
+ t12;
+ t13 = x*x;
+ t12 = RATIONAL(-1.0,2.0);
+ coeff_dx_m1 = x+t12*t13+RATIONAL(-1.0,3.0);
+ coeff_dx_0 = t12+RATIONAL(-2.0,1.0)*x+RATIONAL(3.0,2.0)*t13;
+ coeff_dx_p1 = x+RATIONAL(1.0,1.0)+RATIONAL(-3.0,2.0)*t13;
+ coeff_dx_p2 = RATIONAL(1.0,2.0)*t13+RATIONAL(-1.0,6.0);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..24ecaca
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,6 @@
+fp t14;
+ t14 = RATIONAL(1.0,1.0);
+ coeff_dxx_m1 = t14-x;
+ coeff_dxx_0 = RATIONAL(-2.0,1.0)+RATIONAL(3.0,1.0)*x;
+ coeff_dxx_p1 = t14+RATIONAL(-3.0,1.0)*x;
+ coeff_dxx_p2 = x;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..80df8da
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c
@@ -0,0 +1,24 @@
+fp t23,
+ t24,
+ t29,
+ t21,
+ t22,
+ t28,
+ t25,
+ t20,
+ t19;
+ t23 = x*x;
+ t24 = t23*t23;
+ t29 = RATIONAL(1.0,24.0)*t24+RATIONAL(-1.0,24.0)*t23;
+ t21 = RATIONAL(2.0,3.0);
+ t22 = RATIONAL(-1.0,6.0);
+ t28 = t21*t23+t22*t24;
+ t25 = x*t23;
+ t20 = RATIONAL(-1.0,12.0);
+ t19 = RATIONAL(1.0,12.0);
+ coeff_I_m2 = t19*x+t20*t25+t29;
+ coeff_I_m1 = RATIONAL(-2.0,3.0)*x+RATIONAL(1.0,6.0)*t25+t28;
+ coeff_I_0 = RATIONAL(-5.0,4.0)*t23+RATIONAL(1.0,1.0)+RATIONAL(1.0,4.0)*
+t24;
+ coeff_I_p1 = t22*t25+t21*x+t28;
+ coeff_I_p2 = t19*t25+t20*x+t29;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..4ea29d1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c
@@ -0,0 +1,17 @@
+fp t34,
+ t36,
+ t37,
+ t40,
+ t35,
+ t39;
+ t34 = RATIONAL(-1.0,12.0);
+ t36 = x*x;
+ t37 = x*t36;
+ t40 = t34*x+RATIONAL(1.0,6.0)*t37;
+ t35 = RATIONAL(-2.0,3.0);
+ t39 = t35*t37+RATIONAL(4.0,3.0)*x;
+ coeff_dx_m2 = RATIONAL(-1.0,4.0)*t36+RATIONAL(1.0,12.0)+t40;
+ coeff_dx_m1 = t35+RATIONAL(1.0,2.0)*t36+t39;
+ coeff_dx_0 = RATIONAL(-5.0,2.0)*x+t37;
+ coeff_dx_p1 = RATIONAL(-1.0,2.0)*t36+RATIONAL(2.0,3.0)+t39;
+ coeff_dx_p2 = t34+RATIONAL(1.0,4.0)*t36+t40;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..c38d414
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,13 @@
+fp t45,
+ t46,
+ t48,
+ t47;
+ t45 = RATIONAL(1.0,2.0);
+ t46 = x*x;
+ t48 = t45*t46+RATIONAL(-1.0,12.0);
+ t47 = RATIONAL(-2.0,1.0)*t46+RATIONAL(4.0,3.0);
+ coeff_dxx_m2 = RATIONAL(-1.0,2.0)*x+t48;
+ coeff_dxx_m1 = x+t47;
+ coeff_dxx_0 = RATIONAL(-5.0,2.0)+RATIONAL(3.0,1.0)*t46;
+ coeff_dxx_p1 = -x+t47;
+ coeff_dxx_p2 = t45*x+t48;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..1cbc2d0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c
@@ -0,0 +1,25 @@
+fp t56,
+ t61,
+ t64,
+ t55,
+ t54,
+ t63,
+ t59,
+ t57,
+ t51;
+ t56 = x*x;
+ t61 = t56*t56;
+ t64 = RATIONAL(-1.0,6.0)*t61+RATIONAL(2.0,3.0)*t56;
+ t55 = RATIONAL(-1.0,24.0);
+ t54 = RATIONAL(1.0,24.0);
+ t63 = t54*t61+t55*t56;
+ t59 = t61*x;
+ t57 = x*t56;
+ t51 = t55*t57;
+ coeff_I_m2 = RATIONAL(1.0,20.0)*x+t51+RATIONAL(-1.0,120.0)*t59+t63;
+ coeff_I_m1 = RATIONAL(-1.0,2.0)*x+t51+t54*t59+t64;
+ coeff_I_0 = RATIONAL(1.0,1.0)+RATIONAL(-1.0,3.0)*x+RATIONAL(-5.0,4.0)*t56
++RATIONAL(5.0,12.0)*t57+RATIONAL(1.0,4.0)*t61+RATIONAL(-1.0,12.0)*t59;
+ coeff_I_p1 = x+RATIONAL(-7.0,12.0)*t57+RATIONAL(1.0,12.0)*t59+t64;
+ coeff_I_p2 = RATIONAL(-1.0,4.0)*x+RATIONAL(7.0,24.0)*t57+t55*t59+t63;
+ coeff_I_p3 = RATIONAL(1.0,30.0)*x+RATIONAL(1.0,120.0)*t59+t51;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..7f435ef
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c
@@ -0,0 +1,21 @@
+fp t70,
+ t71,
+ t76,
+ t75,
+ t72,
+ t69;
+ t70 = x*x;
+ t71 = t70*x;
+ t76 = RATIONAL(-2.0,3.0)*t71+RATIONAL(4.0,3.0)*x;
+ t75 = RATIONAL(-1.0,12.0)*x+RATIONAL(1.0,6.0)*t71;
+ t72 = t70*t70;
+ t69 = RATIONAL(-1.0,8.0)*t70;
+ coeff_dx_m2 = t69+RATIONAL(1.0,20.0)+RATIONAL(-1.0,24.0)*t72+t75;
+ coeff_dx_m1 = RATIONAL(5.0,24.0)*t72+RATIONAL(-1.0,2.0)+t69+t76;
+ coeff_dx_0 = RATIONAL(5.0,4.0)*t70+RATIONAL(-5.0,12.0)*t72+t71+RATIONAL(
+-1.0,3.0)+RATIONAL(-5.0,2.0)*x;
+ coeff_dx_p1 = RATIONAL(5.0,12.0)*t72+RATIONAL(-7.0,4.0)*t70+RATIONAL(1.0,
+1.0)+t76;
+ coeff_dx_p2 = RATIONAL(-1.0,4.0)+RATIONAL(-5.0,24.0)*t72+RATIONAL(7.0,8.0
+)*t70+t75;
+ coeff_dx_p3 = RATIONAL(1.0,24.0)*t72+RATIONAL(1.0,30.0)+t69;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..22c1283
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,17 @@
+fp t82,
+ t86,
+ t85,
+ t83,
+ t78;
+ t82 = x*x;
+ t86 = RATIONAL(-2.0,1.0)*t82+RATIONAL(4.0,3.0);
+ t85 = RATIONAL(-1.0,12.0)+RATIONAL(1.0,2.0)*t82;
+ t83 = x*t82;
+ t78 = RATIONAL(-1.0,4.0)*x;
+ coeff_dxx_m2 = RATIONAL(-1.0,6.0)*t83+t78+t85;
+ coeff_dxx_m1 = RATIONAL(5.0,6.0)*t83+t78+t86;
+ coeff_dxx_0 = RATIONAL(-5.0,3.0)*t83+RATIONAL(3.0,1.0)*t82+RATIONAL(5.0,
+2.0)*x+RATIONAL(-5.0,2.0);
+ coeff_dxx_p1 = RATIONAL(5.0,3.0)*t83+RATIONAL(-7.0,2.0)*x+t86;
+ coeff_dxx_p2 = RATIONAL(7.0,4.0)*x+RATIONAL(-5.0,6.0)*t83+t85;
+ coeff_dxx_p3 = RATIONAL(1.0,6.0)*t83+t78;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..adcda00
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c
@@ -0,0 +1,38 @@
+fp t104,
+ t107,
+ t102,
+ t108,
+ t113,
+ t112,
+ t101,
+ t99,
+ t96,
+ t111,
+ t103,
+ t100,
+ t98,
+ t97;
+ t104 = x*x;
+ t107 = x*t104;
+ t102 = t107*t107;
+ t108 = t104*t104;
+ t113 = RATIONAL(1.0,720.0)*t102+RATIONAL(1.0,180.0)*t104+RATIONAL(-1.0,
+144.0)*t108;
+ t112 = RATIONAL(-1.0,120.0)*t102+RATIONAL(-3.0,40.0)*t104+RATIONAL(1.0,
+12.0)*t108;
+ t101 = RATIONAL(3.0,4.0);
+ t99 = RATIONAL(1.0,48.0);
+ t96 = RATIONAL(-13.0,48.0);
+ t111 = t99*t102+t96*t108+t101*t104;
+ t103 = t108*x;
+ t100 = RATIONAL(-1.0,60.0);
+ t98 = RATIONAL(1.0,60.0);
+ t97 = RATIONAL(-1.0,48.0);
+ coeff_I_m3 = t100*x+t99*t107+RATIONAL(-1.0,240.0)*t103+t113;
+ coeff_I_m2 = RATIONAL(3.0,20.0)*x+RATIONAL(-1.0,6.0)*t107+t98*t103+t112;
+ coeff_I_m1 = RATIONAL(-3.0,4.0)*x+RATIONAL(13.0,48.0)*t107+t97*t103+t111;
+ coeff_I_0 = RATIONAL(7.0,18.0)*t108+RATIONAL(-49.0,36.0)*t104+RATIONAL(
+1.0,1.0)+RATIONAL(-1.0,36.0)*t102;
+ coeff_I_p1 = t96*t107+t101*x+t99*t103+t111;
+ coeff_I_p2 = RATIONAL(1.0,6.0)*t107+RATIONAL(-3.0,20.0)*x+t100*t103+t112;
+ coeff_I_p3 = t97*t107+t98*x+RATIONAL(1.0,240.0)*t103+t113;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..f4d8d04
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c
@@ -0,0 +1,31 @@
+fp t125,
+ t129,
+ t124,
+ t126,
+ t133,
+ t123,
+ t132,
+ t131;
+ t125 = x*x;
+ t129 = t125*t125;
+ t124 = x*t129;
+ t126 = x*t125;
+ t133 = RATIONAL(1.0,90.0)*x+RATIONAL(-1.0,36.0)*t126+RATIONAL(1.0,120.0)*
+t124;
+ t123 = RATIONAL(-3.0,20.0);
+ t132 = RATIONAL(1.0,3.0)*t126+RATIONAL(-1.0,20.0)*t124+t123*x;
+ t131 = RATIONAL(3.0,2.0)*x+RATIONAL(1.0,8.0)*t124+RATIONAL(-13.0,12.0)*
+t126;
+ coeff_dx_m3 = RATIONAL(1.0,16.0)*t125+RATIONAL(-1.0,60.0)+RATIONAL(-1.0,
+48.0)*t129+t133;
+ coeff_dx_m2 = RATIONAL(1.0,12.0)*t129+RATIONAL(-1.0,2.0)*t125+RATIONAL(
+3.0,20.0)+t132;
+ coeff_dx_m1 = RATIONAL(13.0,16.0)*t125+RATIONAL(-3.0,4.0)+RATIONAL(-5.0,
+48.0)*t129+t131;
+ coeff_dx_0 = RATIONAL(-1.0,6.0)*t124+RATIONAL(14.0,9.0)*t126+RATIONAL(
+-49.0,18.0)*x;
+ coeff_dx_p1 = RATIONAL(3.0,4.0)+RATIONAL(5.0,48.0)*t129+RATIONAL(-13.0,
+16.0)*t125+t131;
+ coeff_dx_p2 = t123+RATIONAL(-1.0,12.0)*t129+RATIONAL(1.0,2.0)*t125+t132;
+ coeff_dx_p3 = RATIONAL(-1.0,16.0)*t125+RATIONAL(1.0,60.0)+RATIONAL(1.0,
+48.0)*t129+t133;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..d76489a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,22 @@
+fp t143,
+ t140,
+ t145,
+ t150,
+ t149,
+ t148,
+ t144;
+ t143 = x*x;
+ t140 = RATIONAL(-1.0,12.0);
+ t145 = t143*t143;
+ t150 = RATIONAL(1.0,24.0)*t145+t140*t143+RATIONAL(1.0,90.0);
+ t149 = t143+RATIONAL(-3.0,20.0)+RATIONAL(-1.0,4.0)*t145;
+ t148 = RATIONAL(-13.0,4.0)*t143+RATIONAL(5.0,8.0)*t145+RATIONAL(3.0,2.0);
+ t144 = t143*x;
+ coeff_dxx_m3 = RATIONAL(1.0,8.0)*x+t140*t144+t150;
+ coeff_dxx_m2 = RATIONAL(1.0,3.0)*t144-x+t149;
+ coeff_dxx_m1 = RATIONAL(13.0,8.0)*x+RATIONAL(-5.0,12.0)*t144+t148;
+ coeff_dxx_0 = RATIONAL(-5.0,6.0)*t145+RATIONAL(-49.0,18.0)+RATIONAL(14.0,
+3.0)*t143;
+ coeff_dxx_p1 = RATIONAL(-13.0,8.0)*x+RATIONAL(5.0,12.0)*t144+t148;
+ coeff_dxx_p2 = x+RATIONAL(-1.0,3.0)*t144+t149;
+ coeff_dxx_p3 = RATIONAL(1.0,12.0)*t144+RATIONAL(-1.0,8.0)*x+t150;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-I.dcl.c
new file mode 100644
index 0000000..0069517
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-I.dcl.c
@@ -0,0 +1,2 @@
+fp coeff_I_0,
+ coeff_I_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-dx.dcl.c
new file mode 100644
index 0000000..e5b0620
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/coeff-dx.dcl.c
@@ -0,0 +1,2 @@
+fp coeff_dx_0,
+ coeff_dx_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.assign.c
new file mode 100644
index 0000000..652f644
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.assign.c
@@ -0,0 +1,2 @@
+data_0 = DATA(0);
+data_p1 = DATA(1);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.dcl.c
new file mode 100644
index 0000000..3719a9b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/data-var.dcl.c
@@ -0,0 +1,2 @@
+fp data_0,
+ data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-I.compute.c
new file mode 100644
index 0000000..276ea36
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-I.compute.c
@@ -0,0 +1,3 @@
+result =
+ coeff_I_0*data_0
+ + coeff_I_p1*data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-dx.compute.c
new file mode 100644
index 0000000..eb6b63a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size2/interp-dx.compute.c
@@ -0,0 +1,3 @@
+result =
+ coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-I.dcl.c
new file mode 100644
index 0000000..01c8883
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-I.dcl.c
@@ -0,0 +1,3 @@
+fp coeff_I_m1,
+ coeff_I_0,
+ coeff_I_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dx.dcl.c
new file mode 100644
index 0000000..5c4daf6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dx.dcl.c
@@ -0,0 +1,3 @@
+fp coeff_dx_m1,
+ coeff_dx_0,
+ coeff_dx_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c
new file mode 100644
index 0000000..36c909e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c
@@ -0,0 +1,3 @@
+fp coeff_dxx_m1,
+ coeff_dxx_0,
+ coeff_dxx_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.assign.c
new file mode 100644
index 0000000..0229a3c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.assign.c
@@ -0,0 +1,3 @@
+data_m1 = DATA(-1);
+data_0 = DATA(0);
+data_p1 = DATA(1);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.dcl.c
new file mode 100644
index 0000000..a38b9e6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/data-var.dcl.c
@@ -0,0 +1,3 @@
+fp data_m1,
+ data_0,
+ data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-I.compute.c
new file mode 100644
index 0000000..46cfcbc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-I.compute.c
@@ -0,0 +1,4 @@
+result =
+ coeff_I_m1*data_m1
+ + coeff_I_0*data_0
+ + coeff_I_p1*data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dx.compute.c
new file mode 100644
index 0000000..cd754c6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dx.compute.c
@@ -0,0 +1,4 @@
+result =
+ coeff_dx_m1*data_m1
+ + coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dxx.compute.c
new file mode 100644
index 0000000..a4a5b16
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size3/interp-dxx.compute.c
@@ -0,0 +1,4 @@
+result =
+ coeff_dxx_m1*data_m1
+ + coeff_dxx_0*data_0
+ + coeff_dxx_p1*data_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-I.dcl.c
new file mode 100644
index 0000000..c79add1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-I.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_I_m1,
+ coeff_I_0,
+ coeff_I_p1,
+ coeff_I_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dx.dcl.c
new file mode 100644
index 0000000..ab7b0cf
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dx.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_dx_m1,
+ coeff_dx_0,
+ coeff_dx_p1,
+ coeff_dx_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c
new file mode 100644
index 0000000..6e56e96
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_dxx_m1,
+ coeff_dxx_0,
+ coeff_dxx_p1,
+ coeff_dxx_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.assign.c
new file mode 100644
index 0000000..946cb6d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.assign.c
@@ -0,0 +1,4 @@
+data_m1 = DATA(-1);
+data_0 = DATA(0);
+data_p1 = DATA(1);
+data_p2 = DATA(2);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.dcl.c
new file mode 100644
index 0000000..8f598d5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/data-var.dcl.c
@@ -0,0 +1,4 @@
+fp data_m1,
+ data_0,
+ data_p1,
+ data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-I.compute.c
new file mode 100644
index 0000000..82eee03
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-I.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_I_m1*data_m1
+ + coeff_I_0*data_0
+ + coeff_I_p1*data_p1
+ + coeff_I_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dx.compute.c
new file mode 100644
index 0000000..791ca6b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dx.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_dx_m1*data_m1
+ + coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1
+ + coeff_dx_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dxx.compute.c
new file mode 100644
index 0000000..c2d6460
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size4/interp-dxx.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_dxx_m1*data_m1
+ + coeff_dxx_0*data_0
+ + coeff_dxx_p1*data_p1
+ + coeff_dxx_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-I.dcl.c
new file mode 100644
index 0000000..cadcf4f
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-I.dcl.c
@@ -0,0 +1,5 @@
+fp coeff_I_m2,
+ coeff_I_m1,
+ coeff_I_0,
+ coeff_I_p1,
+ coeff_I_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dx.dcl.c
new file mode 100644
index 0000000..ca9bbfe
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dx.dcl.c
@@ -0,0 +1,5 @@
+fp coeff_dx_m2,
+ coeff_dx_m1,
+ coeff_dx_0,
+ coeff_dx_p1,
+ coeff_dx_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c
new file mode 100644
index 0000000..b0aadfc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c
@@ -0,0 +1,5 @@
+fp coeff_dxx_m2,
+ coeff_dxx_m1,
+ coeff_dxx_0,
+ coeff_dxx_p1,
+ coeff_dxx_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.assign.c
new file mode 100644
index 0000000..ee87b78
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.assign.c
@@ -0,0 +1,5 @@
+data_m2 = DATA(-2);
+data_m1 = DATA(-1);
+data_0 = DATA(0);
+data_p1 = DATA(1);
+data_p2 = DATA(2);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.dcl.c
new file mode 100644
index 0000000..2fdf4d9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/data-var.dcl.c
@@ -0,0 +1,5 @@
+fp data_m2,
+ data_m1,
+ data_0,
+ data_p1,
+ data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-I.compute.c
new file mode 100644
index 0000000..f283cb6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-I.compute.c
@@ -0,0 +1,6 @@
+result =
+ coeff_I_m2*data_m2
+ + coeff_I_m1*data_m1
+ + coeff_I_0*data_0
+ + coeff_I_p1*data_p1
+ + coeff_I_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dx.compute.c
new file mode 100644
index 0000000..f6673ec
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dx.compute.c
@@ -0,0 +1,6 @@
+result =
+ coeff_dx_m2*data_m2
+ + coeff_dx_m1*data_m1
+ + coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1
+ + coeff_dx_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dxx.compute.c
new file mode 100644
index 0000000..ab21a19
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size5/interp-dxx.compute.c
@@ -0,0 +1,6 @@
+result =
+ coeff_dxx_m2*data_m2
+ + coeff_dxx_m1*data_m1
+ + coeff_dxx_0*data_0
+ + coeff_dxx_p1*data_p1
+ + coeff_dxx_p2*data_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-I.dcl.c
new file mode 100644
index 0000000..2b98276
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-I.dcl.c
@@ -0,0 +1,6 @@
+fp coeff_I_m2,
+ coeff_I_m1,
+ coeff_I_0,
+ coeff_I_p1,
+ coeff_I_p2,
+ coeff_I_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dx.dcl.c
new file mode 100644
index 0000000..82378bc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dx.dcl.c
@@ -0,0 +1,6 @@
+fp coeff_dx_m2,
+ coeff_dx_m1,
+ coeff_dx_0,
+ coeff_dx_p1,
+ coeff_dx_p2,
+ coeff_dx_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c
new file mode 100644
index 0000000..b903ceb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c
@@ -0,0 +1,6 @@
+fp coeff_dxx_m2,
+ coeff_dxx_m1,
+ coeff_dxx_0,
+ coeff_dxx_p1,
+ coeff_dxx_p2,
+ coeff_dxx_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.assign.c
new file mode 100644
index 0000000..3b1063a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.assign.c
@@ -0,0 +1,6 @@
+data_m2 = DATA(-2);
+data_m1 = DATA(-1);
+data_0 = DATA(0);
+data_p1 = DATA(1);
+data_p2 = DATA(2);
+data_p3 = DATA(3);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.dcl.c
new file mode 100644
index 0000000..fa8151e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/data-var.dcl.c
@@ -0,0 +1,6 @@
+fp data_m2,
+ data_m1,
+ data_0,
+ data_p1,
+ data_p2,
+ data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-I.compute.c
new file mode 100644
index 0000000..d5f93a0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-I.compute.c
@@ -0,0 +1,7 @@
+result =
+ coeff_I_m2*data_m2
+ + coeff_I_m1*data_m1
+ + coeff_I_0*data_0
+ + coeff_I_p1*data_p1
+ + coeff_I_p2*data_p2
+ + coeff_I_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dx.compute.c
new file mode 100644
index 0000000..54a4c39
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dx.compute.c
@@ -0,0 +1,7 @@
+result =
+ coeff_dx_m2*data_m2
+ + coeff_dx_m1*data_m1
+ + coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1
+ + coeff_dx_p2*data_p2
+ + coeff_dx_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dxx.compute.c
new file mode 100644
index 0000000..842312e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size6/interp-dxx.compute.c
@@ -0,0 +1,7 @@
+result =
+ coeff_dxx_m2*data_m2
+ + coeff_dxx_m1*data_m1
+ + coeff_dxx_0*data_0
+ + coeff_dxx_p1*data_p1
+ + coeff_dxx_p2*data_p2
+ + coeff_dxx_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-I.dcl.c
new file mode 100644
index 0000000..ce86fb9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-I.dcl.c
@@ -0,0 +1,7 @@
+fp coeff_I_m3,
+ coeff_I_m2,
+ coeff_I_m1,
+ coeff_I_0,
+ coeff_I_p1,
+ coeff_I_p2,
+ coeff_I_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dx.dcl.c
new file mode 100644
index 0000000..a7cebad
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dx.dcl.c
@@ -0,0 +1,7 @@
+fp coeff_dx_m3,
+ coeff_dx_m2,
+ coeff_dx_m1,
+ coeff_dx_0,
+ coeff_dx_p1,
+ coeff_dx_p2,
+ coeff_dx_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c
new file mode 100644
index 0000000..58c0568
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c
@@ -0,0 +1,7 @@
+fp coeff_dxx_m3,
+ coeff_dxx_m2,
+ coeff_dxx_m1,
+ coeff_dxx_0,
+ coeff_dxx_p1,
+ coeff_dxx_p2,
+ coeff_dxx_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.assign.c
new file mode 100644
index 0000000..5375f17
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.assign.c
@@ -0,0 +1,7 @@
+data_m3 = DATA(-3);
+data_m2 = DATA(-2);
+data_m1 = DATA(-1);
+data_0 = DATA(0);
+data_p1 = DATA(1);
+data_p2 = DATA(2);
+data_p3 = DATA(3);
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.dcl.c
new file mode 100644
index 0000000..cdf1c5c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/data-var.dcl.c
@@ -0,0 +1,7 @@
+fp data_m3,
+ data_m2,
+ data_m1,
+ data_0,
+ data_p1,
+ data_p2,
+ data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-I.compute.c
new file mode 100644
index 0000000..0405d21
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-I.compute.c
@@ -0,0 +1,8 @@
+result =
+ coeff_I_m3*data_m3
+ + coeff_I_m2*data_m2
+ + coeff_I_m1*data_m1
+ + coeff_I_0*data_0
+ + coeff_I_p1*data_p1
+ + coeff_I_p2*data_p2
+ + coeff_I_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dx.compute.c
new file mode 100644
index 0000000..425e3d8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dx.compute.c
@@ -0,0 +1,8 @@
+result =
+ coeff_dx_m3*data_m3
+ + coeff_dx_m2*data_m2
+ + coeff_dx_m1*data_m1
+ + coeff_dx_0*data_0
+ + coeff_dx_p1*data_p1
+ + coeff_dx_p2*data_p2
+ + coeff_dx_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dxx.compute.c
new file mode 100644
index 0000000..045a2b6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.coeffs/1d.cube.size7/interp-dxx.compute.c
@@ -0,0 +1,8 @@
+result =
+ coeff_dxx_m3*data_m3
+ + coeff_dxx_m2*data_m2
+ + coeff_dxx_m1*data_m1
+ + coeff_dxx_0*data_0
+ + coeff_dxx_p1*data_p1
+ + coeff_dxx_p2*data_p2
+ + coeff_dxx_p3*data_p3;
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order1.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order1.smooth0.c
new file mode 100644
index 0000000..4641453
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order1.smooth0.c
@@ -0,0 +1,35 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o1_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 2
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size2/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size2/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size2/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size2/coeff-dx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size2/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size2/interp-dx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order2.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order2.smooth0.c
new file mode 100644
index 0000000..61ed45c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order2.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o2_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 3
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DXX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size3/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size3/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size3/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size3/coeff-dx.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size3/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size3/interp-dx.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size3/interp-dxx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order3.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order3.smooth0.c
new file mode 100644
index 0000000..7908d41
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order3.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o3_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 4
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DXX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size4/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size4/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size4/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size4/coeff-dx.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size4/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size4/interp-dx.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size4/interp-dxx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order4.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order4.smooth0.c
new file mode 100644
index 0000000..89b8cac
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order4.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o4_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 5
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DXX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size5/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size5/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size5/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size5/coeff-dx.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size5/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size5/interp-dx.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size5/interp-dxx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order5.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order5.smooth0.c
new file mode 100644
index 0000000..8de7043
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order5.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o5_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 6
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DXX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size6/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size6/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size6/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size6/coeff-dx.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size6/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size6/interp-dx.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size6/interp-dxx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.cube.order6.smooth0.c b/src/GeneralizedPolynomial-Uniform/1d.cube.order6.smooth0.c
new file mode 100644
index 0000000..2f5a7e4
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.cube.order6.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o6_s0
+#include "template.h"
+
+#define N_DIMS 1
+#define MOLECULE_SIZE 7
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DXX
+
+#define DATA_VAR_DCL_FILE_NAME "1d.coeffs/1d.cube.size7/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "1d.coeffs/1d.cube.size7/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "1d.coeffs/1d.cube.size7/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "1d.coeffs/1d.cube.size7/coeff-dx.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size7/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size7/interp-dx.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.size7/interp-dxx.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/1d.log b/src/GeneralizedPolynomial-Uniform/1d.log
new file mode 100644
index 0000000..4f589e4
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.log
@@ -0,0 +1,1779 @@
+ |\^/| Maple 7 (IBM INTEL LINUX)
+._|\| |/|_. Copyright (c) 2001 by Waterloo Maple Inc.
+ \ MAPLE / All rights reserved. Maple is a registered trademark of
+ <____ ____> Waterloo Maple Inc.
+ | Type ? for help.
+# util.maple -- misc utility routines
+# $Id: util.maple,v 1.1 2001/06/29 09:36:22 jthorn Exp $
+>
+#
+# C_str - codegen[C](), but returning its result as a Maple string
+# fix_rationals - convert numbers to RATIONAL() calls
+# nonmatching_names - find names in a list which *don't* have a specified prefix
+# sprint_numeric_list - convert a numeric list to a valid C identifier suffix
+# print_name_list_dcl - print a C declaration for a list of names
+#
+# hypercube_points - compute all (integer) points in an N-dimensional hypercube
+#
+# ftruncate - truncate a file to zero length
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function is a wrapper around codegen[C]() which returns the
+# genenerated code explictly as a Maple string.
+#
+# Arguments:
+# expr = (in) The expression for which code is to be generated.
+# ... = (in) Any further arguments are taken as options to be passed
+# to codegen[C]()
+#
+# Results:
+# The function returns a maple string of C code.
+#
+> C_str :=
+> proc(expr::algebraic)
+> local tempname, str, temp;
+>
+# name of temp file
+# FIXME: should use process number to ensure uniqueness
+> tempname := "/tmp/C_str.tmp.c";
+>
+# truncate temp file to zero length
+> fopen(tempname, WRITE);
+> fclose(tempname);
+>
+# generate the code
+> codegen[C](args, filename=tempname);
+>
+# read the code back in
+> str := "";
+> while true
+> do
+> temp := readline(tempname);
+> if (temp = 0)
+> then break;
+> end if;
+> str := cat(str, temp);
+> end do;
+> fclose(tempname);
+>
+# strip off the leading " t0 = "
+> return op(2,sscanf(str, "%s = %[^;];"));
+> end proc;
+C_str := proc(expr::algebraic)
+local tempname, str, temp;
+ tempname := "/tmp/C_str.tmp.c";
+ fopen(tempname, WRITE);
+ fclose(tempname);
+ codegen[C](args, filename = tempname);
+ str := "";
+ do
+ temp := readline(tempname);
+ if temp = 0 then break end if;
+ str := cat(str, temp)
+ end do;
+ fclose(tempname);
+ return op(2, sscanf(str, "%s = %[^;];"))
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts all {integer, rational} subexpressions of its
+# input except integer exponents and -1 factors in products, into function
+# calls
+# RATIONAL(num,den)
+# This is useful in conjunction with the C() library function, since
+#
+# C( (1/3) * foo * bar )
+# t0 = foo*bar/3;
+#
+# generates a (slow) division (and runs the risk of mixed-mode-arithmetic
+# problems), while
+#
+# C((1.0/3.0) * foo * bar);
+# t0 = 0.3333333333*foo*bar;
+#
+# suffers from roundoff error. With this function,
+#
+# fix_rationals((1/3) * foo * bar);
+# RATIONAL(1,3) foo bar
+# C(%);
+# t0 = RATIONAL(1.0,3.0)*foo*bar;
+#
+# which a C preprocessor macro can easily convert to the desired
+#
+# t0 = (1.0/3.0)*foo*bar;
+#
+# Additionally, this function can be told to leave certain types of
+# subexpressions unconverged. For example,
+# fix_rationals(expr, type, specfunc(integer, DATA));
+# will leave all subexpressions of the form DATA(integer arguments)
+# unconverted.
+#
+# Arguments:
+# expr = (in) The expression to be converted.
+# inert_fn = (optional in)
+# If specified, this argument should be a Boolean procedure
+# or the name of a Boolean procedure. This procedure should
+# take one or more argument, and return true if and only if
+# the first argument should *not* be converted, i.e. if we
+# should leave this expression unchanged. See the last
+# example above.
+# ... = (optional in)
+# Any further arguments are passed as additional arguments to
+# the inert_fn procedure.
+#
+> fix_rationals :=
+> proc(
+> expr::{
+> algebraic, name = algebraic,
+> list({algebraic, name = algebraic}),
+> set ({algebraic, name = algebraic})
+> },
+> inert_fn::{name, procedure}
+> )
+> local nn, k,
+> base, power, fbase, fpower,
+> fn, fn_args_list,
+> num, den, mult;
+>
+# do we want to convert this expression?
+> if ((nargs >= 2) and inert_fn(expr, args[3..nargs]))
+> then return expr;
+> end if;
+>
+# recurse over lists and sets
+> if (type(expr, {list,set}))
+> then return map(fix_rationals, expr, args[2..nargs]);
+> end if;
+>
+# recurse over equation right hand sides
+> if (type(expr, name = algebraic))
+> then return ( lhs(expr) = fix_rationals(rhs(expr), args[2..nargs]) );
+> end if;
+>
+# recurse over functions other than RATIONAL()
+> if (type(expr, function))
+> then
+> fn := op(0, expr);
+> if (fn <> 'RATIONAL')
+> then
+> fn_args_list := [op(expr)];
+> fn_args_list := map(fix_rationals, fn_args_list, args[2..nargs]);
+> fn; return '%'( op(fn_args_list) );
+> end if;
+> end if;
+>
+> nn := nops(expr);
+>
+# recurse over sums
+> if (type(expr, `+`))
+> then return sum('fix_rationals(op(k,expr), args[2..nargs])', 'k'=1..nn);
+> end if;
+>
+# recurse over products
+# ... leaving leading -1 factors intact, i.e. not converted to RATIONAL(-1,1)
+> if (type(expr, `*`))
+> then
+> if (op(1, expr) = -1)
+> then return -1*fix_rationals(remove(type, expr, 'identical(-1)'),
+> args[2..nargs]);
+> else return product('fix_rationals(op(k,expr), args[2..nargs])',
+> 'k'=1..nn);
+> end if;
+> end if;
+>
+# recurse over powers
+# ... leaving integer exponents intact
+> if (type(expr, `^`))
+> then
+> base := op(1, expr);
+> power := op(2, expr);
+>
+> fbase := fix_rationals(base, args[2..nargs]);
+> if (type(power, integer))
+> then fpower := power;
+> else fpower := fix_rationals(power, args[2..nargs]);
+> end if;
+> return fbase ^ fpower;
+> end if;
+>
+# fix integers and fractions
+> if (type(expr, integer))
+> then return 'RATIONAL'(expr, 1);
+> end if;
+> if (type(expr, fraction))
+> then
+> num := op(1, expr);
+> den := op(2, expr);
+>
+> return 'RATIONAL'(num, den);
+> end if;
+>
+# turn Maple floating-point into integer fraction, then recursively fix that
+> if (type(expr, float))
+> then
+> mult := op(1, expr);
+> power := op(2, expr);
+> return fix_rationals(mult * 10^power, args[2..nargs]);
+> end if;
+>
+# identity op on names
+> if (type(expr, name))
+> then return expr;
+> end if;
+>
+# unknown type
+> error "%0",
+> "unknown type for expr!",
+> " whattype(expr) = ", whattype(expr),
+> " expr = ", expr;
+> end proc;
+fix_rationals := proc(expr::{algebraic, name = algebraic,
+list({algebraic, name = algebraic}), set({algebraic, name = algebraic})},
+inert_fn::{procedure, name})
+local nn, k, base, power, fbase, fpower, fn, fn_args_list, num, den, mult;
+ if 2 <= nargs and inert_fn(expr, args[3 .. nargs]) then return expr
+ end if;
+ if type(expr, {set, list}) then
+ return map(fix_rationals, expr, args[2 .. nargs])
+ end if;
+ if type(expr, name = algebraic) then
+ return lhs(expr) = fix_rationals(rhs(expr), args[2 .. nargs])
+ end if;
+ if type(expr, function) then
+ fn := op(0, expr);
+ if fn <> 'RATIONAL' then
+ fn_args_list := [op(expr)];
+ fn_args_list :=
+ map(fix_rationals, fn_args_list, args[2 .. nargs]);
+ fn;
+ return '%'(op(fn_args_list))
+ end if
+ end if;
+ nn := nops(expr);
+ if type(expr, `+`) then return
+ sum('fix_rationals(op(k, expr), args[2 .. nargs])', 'k' = 1 .. nn)
+ end if;
+ if type(expr, `*`) then
+ if op(1, expr) = -1 then return -fix_rationals(
+ remove(type, expr, 'identical(-1)'), args[2 .. nargs])
+ else return product('fix_rationals(op(k, expr), args[2 .. nargs])',
+ 'k' = 1 .. nn)
+ end if
+ end if;
+ if type(expr, `^`) then
+ base := op(1, expr);
+ power := op(2, expr);
+ fbase := fix_rationals(base, args[2 .. nargs]);
+ if type(power, integer) then fpower := power
+ else fpower := fix_rationals(power, args[2 .. nargs])
+ end if;
+ return fbase^fpower
+ end if;
+ if type(expr, integer) then return 'RATIONAL'(expr, 1) end if;
+ if type(expr, fraction) then
+ num := op(1, expr); den := op(2, expr); return 'RATIONAL'(num, den)
+ end if;
+ if type(expr, float) then
+ mult := op(1, expr);
+ power := op(2, expr);
+ return fix_rationals(mult*10^power, args[2 .. nargs])
+ end if;
+ if type(expr, name) then return expr end if;
+ error "%0", "unknown type for expr!", " whattype(expr) = ",
+ whattype(expr), " expr = ", expr
+end proc
+
+>
+################################################################################
+>
+#
+# This function finds names in a list which *don't* have a specified prefix.
+#
+# Arguments:
+# name_list = A list of the names.
+# prefix = The prefix we want to filter out.
+#
+# Results:
+# This function returns the subset list of names which don't have the
+# specified prefix.
+#
+> nonmatching_names :=
+> proc( name_list::list({name,string}), prefix::{name,string} )
+>
+> select( proc(n)
+> evalb(not StringTools[IsPrefix](prefix,n));
+> end proc
+> ,
+> name_list
+> );
+> end proc;
+nonmatching_names := proc(
+name_list::list({name, string}), prefix::{name, string})
+ select(proc(n) evalb(not StringTools[IsPrefix](prefix, n)) end proc,
+ name_list)
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts a numeric list to a string which is a valid
+# C identifier suffix: elements are separated by "_", decimal points are
+# replaced by "x", and all nonzero values have explicit +/- signs, which
+# are replaced by "p"/"m".
+#
+# For example, [0,-3.5,+4] --> "0_m3x5_p4".
+#
+> sprint_numeric_list :=
+> proc(nlist::list(numeric))
+>
+# generate preliminary string, eg "+0_-3.5_+4"
+> map2(sprintf, "%+a", nlist);
+> ListTools[Join](%, "_");
+> cat(op(%));
+>
+# fixup bad characters
+> StringTools[SubstituteAll](%, "+0", "0");
+> StringTools[CharacterMap](".+-", "xpm", %);
+>
+> return %;
+> end proc;
+sprint_numeric_list := proc(nlist::list(numeric))
+ map2(sprintf, "%+a", nlist);
+ ListTools[Join](%, "_");
+ cat(op(%));
+ StringTools[SubstituteAll](%, "+0", "0");
+ StringTools[CharacterMap](".+-", "xpm", %);
+ return %
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C declaration for a list of names.
+#
+# Argument:
+# name_list = A list of the names.
+# name_type = The C type of the names, eg. "double".
+# file_name = The file name to write the declaration to. This is
+# truncated before writing.
+#
+> print_name_list_dcl :=
+> proc( name_list::list({name,string}),
+> name_type::string,
+> file_name::string )
+> local blanks, separator_string;
+>
+> ftruncate(file_name);
+>
+# a sequence of blanks with the same length as name_type
+> seq(" ", i=1..length(name_type));
+>
+# string to separate names
+> separator_string := cat(",\n", %, " ");
+>
+> map(convert, name_list, string);
+> ListTools[Join](%, separator_string);
+> cat(op(%));
+>
+> fprintf(file_name,
+> "%s %s;\n",
+> name_type, %);
+> NULL;
+> end proc;
+print_name_list_dcl := proc(
+name_list::list({name, string}), name_type::string, file_name::string)
+local blanks, separator_string;
+ ftruncate(file_name);
+ seq(" ", i = 1 .. length(name_type));
+ separator_string := cat(",\n", %, " ");
+ map(convert, name_list, string);
+ ListTools[Join](%, separator_string);
+ cat(op(%));
+ fprintf(file_name, "%s %s;\n", name_type, %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a list of all the (integer) points in an
+# N-dimensional hypercube, in lexicographic order. The present
+# implementation requires N <= 4.
+#
+# Arguments:
+# cmin,cmax = N-element lists of cube minimum/maximum coordinates.
+#
+# Results:
+# The function returns a set of d-element lists giving the coordinates.
+# For example,
+# hypercube([0,0], [2,1]
+# returns
+# { [0,0], [0,1], [1,0], [1,1], [2,0], [2,1] }
+> hypercube_points :=
+> proc(cmin::list(integer), cmax::list(integer))
+> local N, i,j,k,l;
+>
+> N := nops(cmin);
+> if (nops(cmax) <> N)
+> then error
+> "must have same number of dimensions for min and max coordinates!";
+> fi;
+>
+> if (N = 1)
+> then return [seq([i], i=cmin[1]..cmax[1])];
+> elif (N = 2)
+> then return [
+> seq(
+> seq([i,j], j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 3)
+> then return [
+> seq(
+> seq(
+> seq([i,j,k], k=cmin[3]..cmax[3]),
+> j=cmin[2]..cmax[2] ),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 4)
+> then return [
+> seq(
+> seq(
+> seq(
+> seq([i,j,k,l], l=cmin[4]..cmax[4]),
+> k=cmin[3]..cmax[3] ),
+> j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> else
+> error "implementation restriction: must have N <= 4, got %1!", N;
+> fi;
+> end proc;
+hypercube_points := proc(cmin::list(integer), cmax::list(integer))
+local N, i, j, k, l;
+ N := nops(cmin);
+ if nops(cmax) <> N then error
+ "must have same number of dimensions for min and max coordinates!"
+ end if;
+ if N = 1 then return [seq([i], i = cmin[1] .. cmax[1])]
+ elif N = 2 then return
+ [seq(seq([i, j], j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ elif N = 3 then return [seq(
+ seq(seq([i, j, k], k = cmin[3] .. cmax[3]), j = cmin[2] .. cmax[2])
+ , i = cmin[1] .. cmax[1])]
+ elif N = 4 then return [seq(seq(seq(
+ seq([i, j, k, l], l = cmin[4] .. cmax[4]), k = cmin[3] .. cmax[3]),
+ j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ else error "implementation restriction: must have N <= 4, got %1!", N
+ end if
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function truncates a file to 0 length if it exists, or creates
+# it at that length if it doesn't exist.
+#
+# Arguments:
+# file_name = (in) The name of the file.
+#
+> ftruncate :=
+> proc(file_name::string)
+> fopen(file_name, 'WRITE');
+> fclose(%);
+> NULL;
+> end proc;
+ftruncate :=
+
+ proc(file_name::string) fopen(file_name, 'WRITE'); fclose(%); NULL end proc
+
+# GInterpolate.maple -- compute generalized interpolation formulas/coefficients
+# $Id$
+>
+#
+# <<<representation of numbers, data values, etc>>>
+# polynomial_interpolant - compute polynomial interpolant
+# coeff_as_lc_of_data - coefficients of ... (linear combination of data)
+#
+# print_coeff__lc_of_data - print C code to compute coefficients
+# print_data_var_assign - print C code to assign data-value variables
+# print_interp_cmpt__lc_of_data - print C code for computation of interpolant
+#
+# coeff_name - name of coefficient of data at a given [m] coordinate
+# data_var_name - name of variable storing data value at a given [m] coordinate
+#
+>
+################################################################################
+>
+#
+# ***** representation of numbers, data values, etc *****
+#
+# We use RATIONAL(p.0,q.0) to denote the rational number p/q.
+#
+# We use DATA(...) to represent the data values being interpolated at a
+# specified [m] coordinate, where the arguments are the [m] coordinates.
+#
+# We use COEFF(...) to represent the molecule coefficient at a specified
+# [m] coordinate, where the arguments are the [m] coordinates.
+#
+# For example, the usual 1-D centered 2nd order 1st derivative molecule
+# would be written
+# RATIONAL(-1.0,2.0)*DATA(-1) + RATIONA(1.0,2.0)*DATA(1)
+# and its coefficients as
+# COEFF(-1) = RATIONAL(-1.0,2.0)
+# COEFF(1) = RATIONAL(1.0,2.0)
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a polynomial interpolant in any number of dimensions.
+#
+# Arguments:
+# fn = The interpolation function. This should be a procedure in the
+# coordinates, having the coefficients as global variables. For
+# example,
+# proc(x,y) c00 + c10*x + c01*y end proc
+# coeff_list = A set of the interpolation coefficients (coefficients in
+# the interpolation function), for example [c00, c10, c01].
+# coord_list = A list of the coordinates (independent variables in the
+# interpolation function), for example [x,y].
+# posn_list = A list of positions (each a list of numeric values) where the
+# interpolant is to use data, for example hypercube([0,0], [1,1]).
+# Any positions may be used; if they're redundant (as in the
+# example) the least-squares interpolant is computed.
+#
+# Results:
+# This function returns the interpolating polynomial, in the form of
+# an algebraic expression in the coordinates and the data values.
+#
+> polynomial_interpolant :=
+> proc(
+> fn::procedure, coeff_list::list(name),
+> coord_list::list(name), posn_list::list(list(numeric))
+> )
+> local posn, data_eqns, coeff_eqns;
+>
+# coefficients of interpolating polynomial
+> data_eqns := { seq( fn(op(posn))='DATA'(op(posn)) , posn=posn_list ) };
+> coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+> if (has(coeff_eqns, '_t'))
+> then error "interpolation coefficients aren't uniquely determined!";
+> end if;
+>
+# interpolant as a polynomial in the coordinates
+> return subs(coeff_eqns, eval(fn))(op(coord_list));
+> end proc;
+polynomial_interpolant := proc(fn::procedure, coeff_list::list(name),
+coord_list::list(name), posn_list::list(list(numeric)))
+local posn, data_eqns, coeff_eqns;
+ data_eqns := {seq(fn(op(posn)) = 'DATA'(op(posn)), posn = posn_list)};
+ coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+ if has(coeff_eqns, '_t') then
+ error "interpolation coefficients aren't uniquely determined!"
+ end if;
+ return subs(coeff_eqns, eval(fn))(op(coord_list))
+end proc
+
+>
+################################################################################
+>
+#
+# This function takes as input an interpolating polynomial, expresses
+# it as a linear combination of the data values, and returns the coefficeints
+# of that form.
+#
+# Arguments:
+# interpolant = The interpolating polynomial (an algebraic expression
+# in the coordinates and the data values).
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+#
+# Results:
+# This function returns the coefficients, as a list of equations of the
+# form COEFF(...) = value , where each value is a polynomial in the
+# coordinates. The order of the list matches that of posn_list.
+#
+> coeff_as_lc_of_data :=
+> proc(
+> interpolant::algebraic,
+> posn_list::list(list(numeric))
+> )
+> local data_list, interpolant_as_lc_of_data;
+>
+# interpolant as a linear combination of the data values
+> data_list := [ seq( 'DATA'(op(posn)) , posn=posn_list ) ];
+> interpolant_as_lc_of_data := collect(interpolant, data_list);
+>
+# coefficients of the data values in the linear combination
+> return map(
+> proc(posn::list(numeric))
+> coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+> 'COEFF'(op(posn)) = %;
+> end proc
+> ,
+> posn_list
+> );
+> end proc;
+coeff_as_lc_of_data := proc(
+interpolant::algebraic, posn_list::list(list(numeric)))
+local data_list, interpolant_as_lc_of_data;
+ data_list := [seq('DATA'(op(posn)), posn = posn_list)];
+ interpolant_as_lc_of_data := collect(interpolant, data_list);
+ return map(proc(posn::list(numeric))
+ coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+ 'COEFF'(op(posn)) = %
+ end proc, posn_list)
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function prints C expressions for the coefficients of an
+# interpolating polynomial. (The polynomial is expressed as linear
+# combinations of the data values with coefficients which are
+# RATIONAL(p,q) calls.)
+#
+# Arguments:
+# coeff_list = A list of the coefficients, as returned from
+# coeff_as_lc_of_data() .
+# coeff_name_prefix = A prefix string for the coefficient names.
+# temp_name_type = The C type to be used for Maple-introduced temporary
+# names, eg. "double".
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_coeff__lc_of_data :=
+> proc( coeff_list::list(specfunc(numeric,COEFF) = algebraic),
+> coeff_name_prefix::string,
+> temp_name_type::string,
+> file_name::string )
+> global `codegen/C/function/informed`;
+> local coeff_list2, cmpt_list, temp_name_list;
+>
+# convert LHS of each equation from a COEFF() call (eg COEFF(-1,+1))
+# to a Maple/C variable name (eg coeff_I_m1_p1)
+> coeff_list2 := map(
+> proc(coeff_eqn::specfunc(numeric,COEFF) = algebraic)
+> local posn;
+> posn := [op(lhs(coeff_eqn))];
+> coeff_name(posn,coeff_name_prefix);
+> convert(%, name); # codegen[C] wants LHS
+> # to be an actual Maple *name*
+> % = fix_rationals(rhs(coeff_eqn));
+> end proc
+> ,
+> coeff_list
+> );
+>
+#
+# generate the C code
+#
+>
+# tell codegen[C] not to warn about unknown RATIONAL() and DATA() "fn calls"
+# via undocumented :( global table
+> `codegen/C/function/informed`['RATIONAL'] := true;
+> `codegen/C/function/informed`['DATA'] := true;
+>
+> ftruncate(file_name);
+>
+# optimized computation sequence for all the coefficients
+# (may use local variables t0,t1,t2,...)
+> cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+>
+# list of the t0,t1,t2,... local variables
+> temp_name_list := nonmatching_names(map(lhs,cmpt_list), coeff_name_prefix);
+>
+# declare the t0,t1,t2,... local variables (if there are any)
+> if (nops(temp_name_list) > 0)
+> then print_name_list_dcl(%, temp_name_type, file_name);
+> fi;
+>
+# now print the optimized computation sequence
+> codegen[C](cmpt_list, filename=file_name);
+>
+> NULL;
+> end proc;
+print_coeff__lc_of_data := proc(
+coeff_list::list(specfunc(numeric, COEFF) = algebraic),
+coeff_name_prefix::string, temp_name_type::string, file_name::string)
+local coeff_list2, cmpt_list, temp_name_list;
+global `codegen/C/function/informed`;
+ coeff_list2 := map(proc(
+ coeff_eqn::(specfunc(numeric, COEFF) = algebraic))
+ local posn;
+ posn := [op(lhs(coeff_eqn))];
+ coeff_name(posn, coeff_name_prefix);
+ convert(%, name);
+ % = fix_rationals(rhs(coeff_eqn))
+ end proc, coeff_list);
+ `codegen/C/function/informed`['RATIONAL'] := true;
+ `codegen/C/function/informed`['DATA'] := true;
+ ftruncate(file_name);
+ cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+ temp_name_list :=
+ nonmatching_names(map(lhs, cmpt_list), coeff_name_prefix);
+ if 0 < nops(temp_name_list) then
+ print_name_list_dcl(%, temp_name_type, file_name)
+ end if;
+ codegen[C](cmpt_list, filename = file_name);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a sequence of C expression to assign the data-value
+# variables.
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_data_var_assign :=
+> proc(
+> posn_list::list(list(numeric)),
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+>
+> map(
+> proc(posn::list(numeric))
+> fprintf(file_name,
+> "%s = %a;\n",
+> data_var_name(posn,data_var_name_prefix),
+> DATA(op(posn)));
+> end proc
+> ,
+> posn_list
+> );
+>
+> NULL;
+> end proc;
+print_data_var_assign := proc(posn_list::list(list(numeric)),
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ map(proc(posn::list(numeric))
+ fprintf(file_name, "%s = %a;\n",
+ data_var_name(posn, data_var_name_prefix), DATA(op(posn)))
+ end proc, posn_list);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C expression to compute the interpolant,
+# using the coefficients computed by print_coeff__lc_of_data()
+# (i.e. expressing the interpolant as a linear combination of the
+# data values).
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# result_var_name = The (string) name of the variable to which the
+# result is to be assigned.
+# coeff_name_prefix = A prefix string for the coefficient names.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_interp_cmpt__lc_of_data :=
+> proc(
+> posn_list::list(list(numeric)),
+> result_var_name::string,
+> coeff_name_prefix::string,
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+> fprintf(file_name, "%s =\n", result_var_name);
+>
+# list of "coeff*data_var" terms
+> map(
+> proc(posn::list(numeric))
+> sprintf("%s*%s",
+> coeff_name(posn,coeff_name_prefix),
+> data_var_name(posn,data_var_name_prefix));
+> end proc
+> ,
+> posn_list
+> );
+>
+> ListTools[Join](%, "\n\t+ ");
+> cat(op(%));
+>
+> fprintf(file_name, "\t%s;\n", %);
+> NULL;
+> end proc;
+print_interp_cmpt__lc_of_data := proc(posn_list::list(list(numeric)),
+result_var_name::string, coeff_name_prefix::string,
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ fprintf(file_name, "%s =\n", result_var_name);
+ map(proc(posn::list(numeric))
+ sprintf("%s*%s", coeff_name(posn, coeff_name_prefix),
+ data_var_name(posn, data_var_name_prefix))
+ end proc, posn_list);
+ ListTools[Join](%, "\n\t+ ");
+ cat(op(%));
+ fprintf(file_name, "\t%s;\n", %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes the name of the coefficient of the data at a
+# given [m] position, i.e. it encapsulates our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the coefficient name.
+#
+# Results:
+# The function returns the coefficient, as a Maple string.
+#
+> coeff_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+coeff_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+>
+################################################################################
+>
+#
+# This function computes the name of the variable in which the C code
+# will store the input data at a given [m] position, i.e. it encapsulates
+# our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the variable name.
+#
+# Results:
+# The function returns the variable name, as a Maple string.
+#
+> data_var_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+data_var_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+# Maple code to compute 1-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+>
+################################################################################
+>
+#
+# interpolating functions
+#
+>
+> fn_1d_order1 :=
+> proc(x)
+> + c0 + c1*x
+> end proc;
+ fn_1d_order1 := proc(x) c0 + c1*x end proc
+
+>
+> fn_1d_order2 :=
+> proc(x)
+> + c0 + c1*x + c2*x^2
+> end proc;
+ fn_1d_order2 := proc(x) c0 + c1*x + c2*x^2 end proc
+
+>
+> fn_1d_order3 :=
+> proc(x)
+> + c0 + c1*x + c2*x^2 + c3*x^3
+> end proc;
+ fn_1d_order3 := proc(x) c0 + c1*x + c2*x^2 + c3*x^3 end proc
+
+>
+> fn_1d_order4 :=
+> proc(x)
+> + c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4
+> end;
+ fn_1d_order4 := proc(x) c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 end proc
+
+>
+> fn_1d_order5 :=
+> proc(x)
+> + c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5
+> end;
+ fn_1d_order5 := proc(x) c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 end proc
+
+>
+> fn_1d_order6 :=
+> proc(x)
+> + c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 + c6*x^6
+> end;
+fn_1d_order6 :=
+
+ proc(x) c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 + c6*x^6 end proc
+
+>
+########################################
+>
+#
+# coefficients in interpolating functions
+#
+>
+> coeff_list_1d_order1 := [c0, c1];
+ coeff_list_1d_order1 := [c0, c1]
+
+> coeff_list_1d_order2 := [c0, c1, c2];
+ coeff_list_1d_order2 := [c0, c1, c2]
+
+> coeff_list_1d_order3 := [c0, c1, c2, c3];
+ coeff_list_1d_order3 := [c0, c1, c2, c3]
+
+> coeff_list_1d_order4 := [c0, c1, c2, c3, c4];
+ coeff_list_1d_order4 := [c0, c1, c2, c3, c4]
+
+> coeff_list_1d_order5 := [c0, c1, c2, c3, c4, c5];
+ coeff_list_1d_order5 := [c0, c1, c2, c3, c4, c5]
+
+> coeff_list_1d_order6 := [c0, c1, c2, c3, c4, c5, c6];
+ coeff_list_1d_order6 := [c0, c1, c2, c3, c4, c5, c6]
+
+>
+########################################
+>
+#
+# coordinates and interpolation points
+#
+>
+> coord_list_1d := [x];
+ coord_list_1d := [x]
+
+>
+# generate points in Fortran ordering
+> posn_list_1d_size2 := map(ListTools[Reverse], hypercube_points([ 0], [+1]));
+ posn_list_1d_size2 := [[0], [1]]
+
+> posn_list_1d_size3 := map(ListTools[Reverse], hypercube_points([-1], [+1]));
+ posn_list_1d_size3 := [[-1], [0], [1]]
+
+> posn_list_1d_size4 := map(ListTools[Reverse], hypercube_points([-1], [+2]));
+ posn_list_1d_size4 := [[-1], [0], [1], [2]]
+
+> posn_list_1d_size5 := map(ListTools[Reverse], hypercube_points([-2], [+2]));
+ posn_list_1d_size5 := [[-2], [-1], [0], [1], [2]]
+
+> posn_list_1d_size6 := map(ListTools[Reverse], hypercube_points([-2], [+3]));
+ posn_list_1d_size6 := [[-2], [-1], [0], [1], [2], [3]]
+
+> posn_list_1d_size7 := map(ListTools[Reverse], hypercube_points([-3], [+3]));
+ posn_list_1d_size7 := [[-3], [-2], [-1], [0], [1], [2], [3]]
+
+>
+################################################################################
+>
+#
+# generic stuff for 1d, cube, size=2
+#
+>
+> data_var_list_1d_size2 := map(data_var_name, posn_list_1d_size2, "data_");
+ data_var_list_1d_size2 := ["data_0", "data_p1"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size2,
+> "fp", "1d.coeffs/1d.cube.size2/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size2,
+> "data_", "1d.coeffs/1d.cube.size2/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size2, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size2/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size2, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size2/coeff-dx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size2,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size2/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size2,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size2/interp-dx.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 1d, cube, size=3
+#
+>
+> data_var_list_1d_size3 := map(data_var_name, posn_list_1d_size3, "data_");
+ data_var_list_1d_size3 := ["data_m1", "data_0", "data_p1"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size3,
+> "fp", "1d.coeffs/1d.cube.size3/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size3,
+> "data_", "1d.coeffs/1d.cube.size3/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size3/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size3/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_dxx_"),
+> "fp", "1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size3/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size3/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+> "result", "coeff_dxx_", "data_",
+> "1d.coeffs/1d.cube.size3/interp-dxx.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 1d, cube, size=4
+#
+>
+> data_var_list_1d_size4 := map(data_var_name, posn_list_1d_size4, "data_");
+ data_var_list_1d_size4 := ["data_m1", "data_0", "data_p1", "data_p2"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size4,
+> "fp", "1d.coeffs/1d.cube.size4/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size4,
+> "data_", "1d.coeffs/1d.cube.size4/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size4/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size4/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_dxx_"),
+> "fp", "1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size4/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size4/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+> "result", "coeff_dxx_", "data_",
+> "1d.coeffs/1d.cube.size4/interp-dxx.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 1d, cube, size=5
+#
+>
+> data_var_list_1d_size5 := map(data_var_name, posn_list_1d_size5, "data_");
+data_var_list_1d_size5 :=
+
+ ["data_m2", "data_m1", "data_0", "data_p1", "data_p2"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size5,
+> "fp", "1d.coeffs/1d.cube.size5/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size5,
+> "data_", "1d.coeffs/1d.cube.size5/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size5/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size5/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_dxx_"),
+> "fp", "1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size5/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size5/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+> "result", "coeff_dxx_", "data_",
+> "1d.coeffs/1d.cube.size5/interp-dxx.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 1d, cube, size=6
+#
+>
+> data_var_list_1d_size6 := map(data_var_name, posn_list_1d_size6, "data_");
+data_var_list_1d_size6 :=
+
+ ["data_m2", "data_m1", "data_0", "data_p1", "data_p2", "data_p3"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size6,
+> "fp", "1d.coeffs/1d.cube.size6/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size6,
+> "data_", "1d.coeffs/1d.cube.size6/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size6/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size6/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_dxx_"),
+> "fp", "1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size6/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size6/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+> "result", "coeff_dxx_", "data_",
+> "1d.coeffs/1d.cube.size6/interp-dxx.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 1d, cube, size=7
+#
+>
+> data_var_list_1d_size7 := map(data_var_name, posn_list_1d_size7, "data_");
+data_var_list_1d_size7 := [
+
+ "data_m3", "data_m2", "data_m1", "data_0", "data_p1", "data_p2", "data_p3"]
+
+>
+> print_name_list_dcl(data_var_list_1d_size7,
+> "fp", "1d.coeffs/1d.cube.size7/data-var.dcl.c");
+> print_data_var_assign(posn_list_1d_size7,
+> "data_", "1d.coeffs/1d.cube.size7/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_I_"),
+> "fp", "1d.coeffs/1d.cube.size7/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_dx_"),
+> "fp", "1d.coeffs/1d.cube.size7/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_dxx_"),
+> "fp", "1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+> "result", "coeff_I_", "data_",
+> "1d.coeffs/1d.cube.size7/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+> "result", "coeff_dx_", "data_",
+> "1d.coeffs/1d.cube.size7/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+> "result", "coeff_dxx_", "data_",
+> "1d.coeffs/1d.cube.size7/interp-dxx.compute.c");
+>
+################################################################################
+>
+#
+# 1d, cube, order=1, smoothing=0 (size=2)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order1_smooth0
+> := polynomial_interpolant(fn_1d_order1, coeff_list_1d_order1,
+> coord_list_1d, posn_list_1d_size2);
+ interp_1d_cube_order1_smooth0 := DATA(0) + (DATA(1) - DATA(0)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size2);
+ [COEFF(0) = 1 - x, COEFF(1) = x]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c");
+bytes used=1000308, alloc=917336, time=0.08
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order1_smooth0,x) );
+ DATA(1) - DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size2);
+ [COEFF(0) = -1, COEFF(1) = 1]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c");
+>
+########################################
+>
+#
+# 1d, cube, order=2, smoothing=0 (size=3)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order2_smooth0
+> := polynomial_interpolant(fn_1d_order2, coeff_list_1d_order2,
+> coord_list_1d, posn_list_1d_size3);
+interp_1d_cube_order2_smooth0 := DATA(0) + (- 1/2 DATA(-1) + 1/2 DATA(1)) x
+
+ 2
+ + (1/2 DATA(-1) + 1/2 DATA(1) - DATA(0)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size3);
+ 2 2 2
+ [COEFF(-1) = - 1/2 x + 1/2 x , COEFF(0) = 1 - x , COEFF(1) = 1/2 x + 1/2 x ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c");
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order2_smooth0,x) );
+ - 1/2 DATA(-1) + 1/2 DATA(1) + x DATA(-1) + DATA(1) x - 2 x DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size3);
+ [COEFF(-1) = x - 1/2, COEFF(0) = -2 x, COEFF(1) = 1/2 + x]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c");
+bytes used=2000620, alloc=1376004, time=0.11
+>
+# d^2/dx^2
+> simplify( diff(interp_1d_cube_order2_smooth0,x,x) );
+ DATA(-1) + DATA(1) - 2 DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size3);
+ [COEFF(-1) = 1, COEFF(0) = -2, COEFF(1) = 1]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c");
+>
+########################################
+>
+#
+# 1d, cube, order=3, smoothing=0 (size=4)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order3_smooth0
+> := polynomial_interpolant(fn_1d_order3, coeff_list_1d_order3,
+> coord_list_1d, posn_list_1d_size4);
+interp_1d_cube_order3_smooth0 := DATA(0)
+
+ + (- 1/2 DATA(0) - 1/3 DATA(-1) + DATA(1) - 1/6 DATA(2)) x
+
+ 2
+ + (1/2 DATA(-1) + 1/2 DATA(1) - DATA(0)) x
+
+ 3
+ + (1/2 DATA(0) - 1/6 DATA(-1) - 1/2 DATA(1) + 1/6 DATA(2)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size4);
+ 2 3 2 3
+[COEFF(-1) = - 1/3 x + 1/2 x - 1/6 x , COEFF(0) = 1 - 1/2 x - x + 1/2 x ,
+
+ 2 3 3
+ COEFF(1) = x + 1/2 x - 1/2 x , COEFF(2) = - 1/6 x + 1/6 x ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c");
+bytes used=3000928, alloc=1703624, time=0.18
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order3_smooth0,x) );
+- 1/2 DATA(0) - 1/3 DATA(-1) + DATA(1) - 1/6 DATA(2) + x DATA(-1) + x DATA(1)
+
+ 2 2 2
+ - 2 x DATA(0) + 3/2 x DATA(0) - 1/2 x DATA(-1) - 3/2 x DATA(1)
+
+ 2
+ + 1/2 x DATA(2)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size4);
+ 2 2
+[COEFF(-1) = x - 1/2 x - 1/3, COEFF(0) = - 1/2 - 2 x + 3/2 x ,
+
+ 2 2
+ COEFF(1) = x + 1 - 3/2 x , COEFF(2) = 1/2 x - 1/6]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c");
+>
+# d^2/dx^2
+> simplify( diff(interp_1d_cube_order3_smooth0,x,x) );
+DATA(-1) + DATA(1) - 2 DATA(0) + 3 x DATA(0) - x DATA(-1) - 3 x DATA(1)
+
+ + x DATA(2)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size4);
+ [COEFF(-1) = 1 - x, COEFF(0) = -2 + 3 x, COEFF(1) = 1 - 3 x, COEFF(2) = x]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c");
+>
+########################################
+>
+#
+# 1d, cube, order=4, smoothing=0 (size=5)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order4_smooth0
+> := polynomial_interpolant(fn_1d_order4, coeff_list_1d_order4,
+> coord_list_1d, posn_list_1d_size5);
+bytes used=4001224, alloc=1769148, time=0.25
+interp_1d_cube_order4_smooth0 := DATA(0)
+
+ + (- 1/12 DATA(2) + 1/12 DATA(-2) - 2/3 DATA(-1) + 2/3 DATA(1)) x +
+
+ (- 5/4 DATA(0) - 1/24 DATA(2) - 1/24 DATA(-2) + 2/3 DATA(-1) + 2/3 DATA(1))
+
+ 2 3
+ x + (1/12 DATA(2) - 1/12 DATA(-2) + 1/6 DATA(-1) - 1/6 DATA(1)) x +
+
+ (1/24 DATA(2) + 1/24 DATA(-2) - 1/6 DATA(-1) - 1/6 DATA(1) + 1/4 DATA(0))
+
+ 4
+ x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size5);
+ 2 3 4
+[COEFF(-2) = 1/12 x - 1/24 x - 1/12 x + 1/24 x ,
+
+ 2 3 4
+ COEFF(-1) = - 2/3 x + 2/3 x + 1/6 x - 1/6 x ,
+
+ 2 4
+ COEFF(0) = - 5/4 x + 1 + 1/4 x ,
+
+ 3 2 4
+ COEFF(1) = - 1/6 x + 2/3 x + 2/3 x - 1/6 x ,
+
+ 3 2 4
+ COEFF(2) = 1/12 x - 1/12 x - 1/24 x + 1/24 x ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c");
+bytes used=5001468, alloc=1834672, time=0.33
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order4_smooth0,x) );
+- 1/12 DATA(2) + 1/12 DATA(-2) - 2/3 DATA(-1) + 2/3 DATA(1) - 5/2 x DATA(0)
+
+ - 1/12 x DATA(2) - 1/12 x DATA(-2) + 4/3 x DATA(-1) + 4/3 x DATA(1)
+
+ 2 2 2 2
+ + 1/4 x DATA(2) - 1/4 x DATA(-2) + 1/2 x DATA(-1) - 1/2 x DATA(1)
+
+ 3 3 3 3
+ + 1/6 x DATA(2) + 1/6 x DATA(-2) - 2/3 x DATA(-1) - 2/3 x DATA(1)
+
+ 3
+ + x DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size5);
+ 2 3
+[COEFF(-2) = - 1/12 x - 1/4 x + 1/6 x + 1/12,
+
+ 3 2 3
+ COEFF(-1) = - 2/3 + 4/3 x - 2/3 x + 1/2 x , COEFF(0) = - 5/2 x + x ,
+
+ 2 3
+ COEFF(1) = - 1/2 x - 2/3 x + 4/3 x + 2/3,
+
+ 3 2
+ COEFF(2) = - 1/12 - 1/12 x + 1/6 x + 1/4 x ]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c");
+bytes used=6001700, alloc=1900196, time=0.40
+>
+# d^2/dx^2
+> simplify( diff(interp_1d_cube_order4_smooth0,x,x) );
+- 5/2 DATA(0) - 1/12 DATA(2) - 1/12 DATA(-2) + 4/3 DATA(-1) + 4/3 DATA(1)
+
+ 2
+ + 1/2 x DATA(2) - 1/2 x DATA(-2) + x DATA(-1) - x DATA(1) + 1/2 x DATA(2)
+
+ 2 2 2 2
+ + 1/2 x DATA(-2) - 2 x DATA(-1) - 2 x DATA(1) + 3 x DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size5);
+ 2 2
+[COEFF(-2) = - 1/12 - 1/2 x + 1/2 x , COEFF(-1) = -2 x + x + 4/3,
+
+ 2 2
+ COEFF(0) = - 5/2 + 3 x , COEFF(1) = -x + 4/3 - 2 x ,
+
+ 2
+ COEFF(2) = 1/2 x - 1/12 + 1/2 x ]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c");
+bytes used=7001904, alloc=1900196, time=0.47
+>
+########################################
+>
+#
+# 1d, cube, order=5, smoothing=0 (size=6)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order5_smooth0
+> := polynomial_interpolant(fn_1d_order5, coeff_list_1d_order5,
+> coord_list_1d, posn_list_1d_size6);
+bytes used=8002732, alloc=1900196, time=0.54
+interp_1d_cube_order5_smooth0 := DATA(0) + (- 1/2 DATA(-1) - 1/4 DATA(2)
+
+ - 1/3 DATA(0) + 1/20 DATA(-2) + DATA(1) + 1/30 DATA(3)) x +
+
+ (- 5/4 DATA(0) - 1/24 DATA(2) - 1/24 DATA(-2) + 2/3 DATA(-1) + 2/3 DATA(1))
+
+ 2
+ x + (- 1/24 DATA(-1) + 7/24 DATA(2) + 5/12 DATA(0) - 1/24 DATA(-2)
+
+ 3
+ - 7/12 DATA(1) - 1/24 DATA(3)) x +
+
+ (1/24 DATA(2) + 1/24 DATA(-2) - 1/6 DATA(-1) - 1/6 DATA(1) + 1/4 DATA(0))
+
+ 4
+ x + (1/24 DATA(-1) - 1/24 DATA(2) - 1/12 DATA(0) - 1/120 DATA(-2)
+
+ 5
+ + 1/12 DATA(1) + 1/120 DATA(3)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size6);
+ 2 3 4 5
+[COEFF(-2) = 1/20 x - 1/24 x - 1/24 x + 1/24 x - 1/120 x ,
+
+ 2 3 4 5
+ COEFF(-1) = - 1/2 x + 2/3 x - 1/24 x - 1/6 x + 1/24 x ,
+
+ 2 3 4 5
+ COEFF(0) = 1 - 1/3 x - 5/4 x + 5/12 x + 1/4 x - 1/12 x ,
+
+ 2 3 4 5
+ COEFF(1) = x + 2/3 x - 7/12 x - 1/6 x + 1/12 x ,
+
+ 3 4 2 5
+ COEFF(2) = - 1/4 x + 7/24 x + 1/24 x - 1/24 x - 1/24 x ,
+
+ 5 3
+ COEFF(3) = 1/30 x + 1/120 x - 1/24 x ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c");
+bytes used=9002940, alloc=1965720, time=0.63
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order5_smooth0,x) );
+- 1/3 DATA(0) + DATA(1) - 1/2 DATA(-1) - 1/4 DATA(2) + 1/30 DATA(3)
+
+ 2 2 3 3
+ - 7/4 x DATA(1) - 1/8 x DATA(3) + 1/6 x DATA(2) + 1/6 x DATA(-2)
+
+ 3 3 3 4
+ - 2/3 x DATA(-1) - 2/3 x DATA(1) + x DATA(0) + 5/24 x DATA(-1)
+
+ 4 4
+ - 5/24 x DATA(2) - 5/12 x DATA(0) - 5/2 x DATA(0) - 1/12 x DATA(2)
+
+ 2
+ - 1/12 x DATA(-2) + 4/3 x DATA(-1) + 4/3 x DATA(1) - 1/8 x DATA(-1)
+
+ 2 2 2 4
+ + 7/8 x DATA(2) + 5/4 x DATA(0) - 1/8 x DATA(-2) - 1/24 x DATA(-2)
+
+ 4 4
+ + 5/12 x DATA(1) + 1/24 x DATA(3) + 1/20 DATA(-2)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size6);
+bytes used=10003740, alloc=1965720, time=0.71
+ 2 3 4
+[COEFF(-2) = - 1/8 x - 1/12 x + 1/6 x + 1/20 - 1/24 x ,
+
+ 4 3 2
+ COEFF(-1) = 5/24 x - 2/3 x + 4/3 x - 1/2 - 1/8 x ,
+
+ 2 4 3
+ COEFF(0) = 5/4 x - 5/12 x + x - 1/3 - 5/2 x,
+
+ 4 2 3
+ COEFF(1) = 5/12 x + 4/3 x - 7/4 x + 1 - 2/3 x ,
+
+ 4 2 3
+ COEFF(2) = - 1/4 - 5/24 x - 1/12 x + 7/8 x + 1/6 x ,
+
+ 4 2
+ COEFF(3) = 1/24 x + 1/30 - 1/8 x ]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c");
+bytes used=11004108, alloc=1965720, time=0.78
+>
+# d^2/dx^2
+> simplify( diff(interp_1d_cube_order5_smooth0,x,x) );
+- 5/2 DATA(0) - 1/12 DATA(2) - 1/12 DATA(-2) + 4/3 DATA(-1) + 4/3 DATA(1)
+
+ - 1/4 x DATA(-1) + 7/4 x DATA(2) + 5/2 x DATA(0) - 1/4 x DATA(-2)
+
+ 2 2
+ - 7/2 x DATA(1) - 1/4 x DATA(3) + 1/2 x DATA(2) + 1/2 x DATA(-2)
+
+ 2 2 2 3
+ - 2 x DATA(-1) - 2 x DATA(1) + 3 x DATA(0) + 5/6 x DATA(-1)
+
+ 3 3 3 3
+ - 5/6 x DATA(2) - 5/3 x DATA(0) - 1/6 x DATA(-2) + 5/3 x DATA(1)
+
+ 3
+ + 1/6 x DATA(3)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size6);
+ 3 2
+[COEFF(-2) = - 1/12 - 1/6 x + 1/2 x - 1/4 x,
+
+ 3 2
+ COEFF(-1) = 5/6 x - 1/4 x + 4/3 - 2 x ,
+
+ 3 2
+ COEFF(0) = - 5/3 x + 3 x + 5/2 x - 5/2,
+
+ 3 2
+ COEFF(1) = 5/3 x - 7/2 x + 4/3 - 2 x ,
+
+ 3 2 3
+ COEFF(2) = - 1/12 + 7/4 x - 5/6 x + 1/2 x , COEFF(3) = 1/6 x - 1/4 x]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c");
+bytes used=12004376, alloc=1965720, time=0.86
+>
+########################################
+>
+#
+# 1d, cube, order=6, smoothing=0 (size=7)
+#
+>
+# interpolating polynomial
+> interp_1d_cube_order6_smooth0
+> := polynomial_interpolant(fn_1d_order6, coeff_list_1d_order6,
+> coord_list_1d, posn_list_1d_size7);
+bytes used=13004532, alloc=1965720, time=0.95
+interp_1d_cube_order6_smooth0 := DATA(0) + (- 3/4 DATA(-1) - 3/20 DATA(2)
+
+ /
+ - 1/60 DATA(-3) + 3/20 DATA(-2) + 3/4 DATA(1) + 1/60 DATA(3)) x + |
+ \
+
+ 3/4 DATA(-1) + 1/180 DATA(3) - 3/40 DATA(-2) + 1/180 DATA(-3) + 3/4 DATA(1)
+
+ 49 \ 2 /13
+ - -- DATA(0) - 3/40 DATA(2)| x + |-- DATA(-1) + 1/6 DATA(2)
+ 36 / \48
+
+ 13 \ 3 /
+ + 1/48 DATA(-3) - 1/6 DATA(-2) - -- DATA(1) - 1/48 DATA(3)| x + |
+ 48 / \
+
+ 13 13
+ - -- DATA(-1) - 1/144 DATA(3) + 1/12 DATA(-2) - 1/144 DATA(-3) - -- DATA(1)
+ 48 48
+
+ \ 4
+ + 7/18 DATA(0) + 1/12 DATA(2)| x + (- 1/48 DATA(-1) - 1/60 DATA(2)
+ /
+
+ 5
+ - 1/240 DATA(-3) + 1/60 DATA(-2) + 1/48 DATA(1) + 1/240 DATA(3)) x + (
+
+ 1/48 DATA(-1) + 1/720 DATA(3) - 1/120 DATA(-2) + 1/720 DATA(-3)
+
+ 6
+ + 1/48 DATA(1) - 1/36 DATA(0) - 1/120 DATA(2)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_1d_size7);
+ 2 3 4 5 6
+[COEFF(-3) = - 1/60 x + 1/180 x + 1/48 x - 1/144 x - 1/240 x + 1/720 x ,
+
+ 2 3 4 5 6
+ COEFF(-2) = 3/20 x - 3/40 x - 1/6 x + 1/12 x + 1/60 x - 1/120 x ,
+
+ 2 13 3 13 4 5 6
+ COEFF(-1) = - 3/4 x + 3/4 x + -- x - -- x - 1/48 x + 1/48 x ,
+ 48 48
+
+ 4 49 2 6
+ COEFF(0) = 7/18 x - -- x + 1 - 1/36 x ,
+ 36
+
+ 13 3 2 5 6 13 4
+ COEFF(1) = - -- x + 3/4 x + 3/4 x + 1/48 x + 1/48 x - -- x ,
+ 48 48
+
+ 3 2 5 6 4
+ COEFF(2) = 1/6 x - 3/20 x - 3/40 x - 1/60 x - 1/120 x + 1/12 x ,
+
+ 3 2 5 6 4
+ COEFF(3) = - 1/48 x + 1/60 x + 1/180 x + 1/240 x + 1/720 x - 1/144 x ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c");
+bytes used=14004752, alloc=1965720, time=1.02
+bytes used=15005080, alloc=1965720, time=1.11
+>
+# d/dx
+> simplify( diff(interp_1d_cube_order6_smooth0,x) );
+bytes used=16005600, alloc=1965720, time=1.19
+ 2
+3/4 DATA(1) - 3/4 DATA(-1) - 3/20 DATA(2) - 1/60 DATA(-3) + 1/16 x DATA(-3)
+
+ 13 2 2 13 3 3
+ - -- x DATA(1) - 1/16 x DATA(3) - -- x DATA(-1) - 1/36 x DATA(3)
+ 16 12
+
+ 3 3 13 3 3
+ + 1/3 x DATA(-2) - 1/36 x DATA(-3) - -- x DATA(1) + 14/9 x DATA(0)
+ 12
+
+ 3 4 4 4
+ + 1/3 x DATA(2) - 5/48 x DATA(-1) - 1/12 x DATA(2) - 1/48 x DATA(-3)
+
+ 4 4 4 5
+ + 1/12 x DATA(-2) + 5/48 x DATA(1) + 1/48 x DATA(3) + 1/8 x DATA(-1)
+
+ 5 5 5 5
+ + 1/120 x DATA(3) - 1/20 x DATA(-2) + 1/120 x DATA(-3) + 1/8 x DATA(1)
+
+ 5 5 2
+ - 1/6 x DATA(0) - 1/20 x DATA(2) - 1/2 x DATA(-2) + 3/2 x DATA(-1)
+
+ + 1/90 x DATA(3) - 3/20 x DATA(-2) + 1/90 x DATA(-3) + 3/2 x DATA(1)
+
+ 49 13 2 2
+ - -- x DATA(0) - 3/20 x DATA(2) + -- x DATA(-1) + 1/2 x DATA(2)
+ 18 16
+
+ + 1/60 DATA(3) + 3/20 DATA(-2)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size7);
+ 2 5 3 4
+[COEFF(-3) = 1/16 x + 1/120 x - 1/60 + 1/90 x - 1/36 x - 1/48 x ,
+
+ 4 5 2 3
+ COEFF(-2) = 1/12 x - 1/20 x - 3/20 x - 1/2 x + 3/20 + 1/3 x ,
+
+ 5 13 2 4 13 3
+ COEFF(-1) = 1/8 x + -- x - 3/4 - 5/48 x - -- x + 3/2 x,
+ 16 12
+
+ 5 3 49
+ COEFF(0) = - 1/6 x + 14/9 x - -- x,
+ 18
+
+ 4 13 3 5 13 2
+ COEFF(1) = 3/4 + 5/48 x - -- x + 1/8 x + 3/2 x - -- x ,
+ 12 16
+
+ 5 3 4 2
+ COEFF(2) = - 3/20 - 1/20 x + 1/3 x - 1/12 x + 1/2 x - 3/20 x,
+
+ 5 3 2 4
+ COEFF(3) = 1/90 x + 1/120 x - 1/36 x - 1/16 x + 1/60 + 1/48 x ]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c");
+bytes used=17005760, alloc=1965720, time=1.28
+>
+# d^2/dx^2
+> simplify( diff(interp_1d_cube_order6_smooth0,x,x) );
+bytes used=18008016, alloc=1965720, time=1.37
+ 49
+- -- DATA(0) + 3/2 DATA(1) + 3/2 DATA(-1) - 3/20 DATA(2) + 1/90 DATA(-3)
+ 18
+
+ 2 2 2 3
+ - 1/12 x DATA(-3) - 13/4 x DATA(1) - 1/12 x DATA(3) - 5/12 x DATA(-1)
+
+ 3 3 3 3
+ + 1/12 x DATA(3) + 1/3 x DATA(-2) - 1/12 x DATA(-3) + 5/12 x DATA(1)
+
+ 3 4 4 4
+ - 1/3 x DATA(2) + 5/8 x DATA(-1) - 1/4 x DATA(2) + 1/24 x DATA(-3)
+
+ 4 4 4 2
+ - 1/4 x DATA(-2) + 5/8 x DATA(1) + 1/24 x DATA(3) + x DATA(-2)
+
+ + 13/8 x DATA(-1) - 1/8 x DATA(3) - x DATA(-2) + 1/8 x DATA(-3)
+
+ 2 2
+ - 13/8 x DATA(1) + x DATA(2) - 13/4 x DATA(-1) + x DATA(2)
+
+ 2 4
+ + 1/90 DATA(3) - 3/20 DATA(-2) + 14/3 x DATA(0) - 5/6 x DATA(0)
+
+> coeff_as_lc_of_data(%, posn_list_1d_size7);
+ 2 3 4
+[COEFF(-3) = - 1/12 x + 1/8 x - 1/12 x + 1/90 + 1/24 x ,
+
+ 3 2 4
+ COEFF(-2) = 1/3 x + x - x - 1/4 x - 3/20,
+
+ 4 2 3
+ COEFF(-1) = 5/8 x + 13/8 x - 13/4 x - 5/12 x + 3/2,
+
+ 4 49 2
+ COEFF(0) = - 5/6 x - -- + 14/3 x ,
+ 18
+
+ 3 2 4
+ COEFF(1) = - 13/8 x + 5/12 x - 13/4 x + 3/2 + 5/8 x ,
+
+ 2 3 4
+ COEFF(2) = x + x - 1/3 x - 3/20 - 1/4 x ,
+
+ 3 2 4
+ COEFF(3) = 1/12 x - 1/12 x + 1/90 + 1/24 x - 1/8 x]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c");
+bytes used=19008232, alloc=1965720, time=1.45
+>
+########################################
+> quit
+bytes used=19846220, alloc=1965720, time=1.53
diff --git a/src/GeneralizedPolynomial-Uniform/1d.maple b/src/GeneralizedPolynomial-Uniform/1d.maple
new file mode 100644
index 0000000..5125fe8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/1d.maple
@@ -0,0 +1,406 @@
+# Maple code to compute 1-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+
+################################################################################
+
+#
+# interpolating functions
+#
+
+fn_1d_order1 :=
+proc(x)
++ c0 + c1*x
+end proc;
+
+fn_1d_order2 :=
+proc(x)
++ c0 + c1*x + c2*x^2
+end proc;
+
+fn_1d_order3 :=
+proc(x)
++ c0 + c1*x + c2*x^2 + c3*x^3
+end proc;
+
+fn_1d_order4 :=
+proc(x)
++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4
+end;
+
+fn_1d_order5 :=
+proc(x)
++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5
+end;
+
+fn_1d_order6 :=
+proc(x)
++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 + c6*x^6
+end;
+
+########################################
+
+#
+# coefficients in interpolating functions
+#
+
+coeff_list_1d_order1 := [c0, c1];
+coeff_list_1d_order2 := [c0, c1, c2];
+coeff_list_1d_order3 := [c0, c1, c2, c3];
+coeff_list_1d_order4 := [c0, c1, c2, c3, c4];
+coeff_list_1d_order5 := [c0, c1, c2, c3, c4, c5];
+coeff_list_1d_order6 := [c0, c1, c2, c3, c4, c5, c6];
+
+########################################
+
+#
+# coordinates and interpolation points
+#
+
+coord_list_1d := [x];
+
+# generate points in Fortran ordering
+posn_list_1d_size2 := map(ListTools[Reverse], hypercube_points([ 0], [+1]));
+posn_list_1d_size3 := map(ListTools[Reverse], hypercube_points([-1], [+1]));
+posn_list_1d_size4 := map(ListTools[Reverse], hypercube_points([-1], [+2]));
+posn_list_1d_size5 := map(ListTools[Reverse], hypercube_points([-2], [+2]));
+posn_list_1d_size6 := map(ListTools[Reverse], hypercube_points([-2], [+3]));
+posn_list_1d_size7 := map(ListTools[Reverse], hypercube_points([-3], [+3]));
+
+################################################################################
+
+#
+# generic stuff for 1d, cube, size=2
+#
+
+data_var_list_1d_size2 := map(data_var_name, posn_list_1d_size2, "data_");
+
+print_name_list_dcl(data_var_list_1d_size2,
+ "fp", "1d.coeffs/1d.cube.size2/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size2,
+ "data_", "1d.coeffs/1d.cube.size2/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size2, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size2/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size2, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size2/coeff-dx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size2,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size2/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size2,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size2/interp-dx.compute.c");
+
+########################################
+
+#
+# generic stuff for 1d, cube, size=3
+#
+
+data_var_list_1d_size3 := map(data_var_name, posn_list_1d_size3, "data_");
+
+print_name_list_dcl(data_var_list_1d_size3,
+ "fp", "1d.coeffs/1d.cube.size3/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size3,
+ "data_", "1d.coeffs/1d.cube.size3/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size3/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size3/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size3, "coeff_dxx_"),
+ "fp", "1d.coeffs/1d.cube.size3/coeff-dxx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size3/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size3/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size3,
+ "result", "coeff_dxx_", "data_",
+ "1d.coeffs/1d.cube.size3/interp-dxx.compute.c");
+
+########################################
+
+#
+# generic stuff for 1d, cube, size=4
+#
+
+data_var_list_1d_size4 := map(data_var_name, posn_list_1d_size4, "data_");
+
+print_name_list_dcl(data_var_list_1d_size4,
+ "fp", "1d.coeffs/1d.cube.size4/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size4,
+ "data_", "1d.coeffs/1d.cube.size4/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size4/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size4/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size4, "coeff_dxx_"),
+ "fp", "1d.coeffs/1d.cube.size4/coeff-dxx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size4/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size4/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size4,
+ "result", "coeff_dxx_", "data_",
+ "1d.coeffs/1d.cube.size4/interp-dxx.compute.c");
+
+########################################
+
+#
+# generic stuff for 1d, cube, size=5
+#
+
+data_var_list_1d_size5 := map(data_var_name, posn_list_1d_size5, "data_");
+
+print_name_list_dcl(data_var_list_1d_size5,
+ "fp", "1d.coeffs/1d.cube.size5/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size5,
+ "data_", "1d.coeffs/1d.cube.size5/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size5/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size5/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size5, "coeff_dxx_"),
+ "fp", "1d.coeffs/1d.cube.size5/coeff-dxx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size5/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size5/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size5,
+ "result", "coeff_dxx_", "data_",
+ "1d.coeffs/1d.cube.size5/interp-dxx.compute.c");
+
+########################################
+
+#
+# generic stuff for 1d, cube, size=6
+#
+
+data_var_list_1d_size6 := map(data_var_name, posn_list_1d_size6, "data_");
+
+print_name_list_dcl(data_var_list_1d_size6,
+ "fp", "1d.coeffs/1d.cube.size6/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size6,
+ "data_", "1d.coeffs/1d.cube.size6/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size6/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size6/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size6, "coeff_dxx_"),
+ "fp", "1d.coeffs/1d.cube.size6/coeff-dxx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size6/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size6/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size6,
+ "result", "coeff_dxx_", "data_",
+ "1d.coeffs/1d.cube.size6/interp-dxx.compute.c");
+
+########################################
+
+#
+# generic stuff for 1d, cube, size=7
+#
+
+data_var_list_1d_size7 := map(data_var_name, posn_list_1d_size7, "data_");
+
+print_name_list_dcl(data_var_list_1d_size7,
+ "fp", "1d.coeffs/1d.cube.size7/data-var.dcl.c");
+print_data_var_assign(posn_list_1d_size7,
+ "data_", "1d.coeffs/1d.cube.size7/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_I_"),
+ "fp", "1d.coeffs/1d.cube.size7/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_dx_"),
+ "fp", "1d.coeffs/1d.cube.size7/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_1d_size7, "coeff_dxx_"),
+ "fp", "1d.coeffs/1d.cube.size7/coeff-dxx.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+ "result", "coeff_I_", "data_",
+ "1d.coeffs/1d.cube.size7/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+ "result", "coeff_dx_", "data_",
+ "1d.coeffs/1d.cube.size7/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_1d_size7,
+ "result", "coeff_dxx_", "data_",
+ "1d.coeffs/1d.cube.size7/interp-dxx.compute.c");
+
+################################################################################
+
+#
+# 1d, cube, order=1, smoothing=0 (size=2)
+#
+
+# interpolating polynomial
+interp_1d_cube_order1_smooth0
+ := polynomial_interpolant(fn_1d_order1, coeff_list_1d_order1,
+ coord_list_1d, posn_list_1d_size2);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size2);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order1.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order1_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size2);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order1.smooth0/coeff-dx.compute.c");
+
+########################################
+
+#
+# 1d, cube, order=2, smoothing=0 (size=3)
+#
+
+# interpolating polynomial
+interp_1d_cube_order2_smooth0
+ := polynomial_interpolant(fn_1d_order2, coeff_list_1d_order2,
+ coord_list_1d, posn_list_1d_size3);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size3);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order2.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order2_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size3);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order2.smooth0/coeff-dx.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_1d_cube_order2_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size3);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "1d.coeffs/1d.cube.order2.smooth0/coeff-dxx.compute.c");
+
+########################################
+
+#
+# 1d, cube, order=3, smoothing=0 (size=4)
+#
+
+# interpolating polynomial
+interp_1d_cube_order3_smooth0
+ := polynomial_interpolant(fn_1d_order3, coeff_list_1d_order3,
+ coord_list_1d, posn_list_1d_size4);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size4);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order3.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order3_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size4);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order3.smooth0/coeff-dx.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_1d_cube_order3_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size4);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "1d.coeffs/1d.cube.order3.smooth0/coeff-dxx.compute.c");
+
+########################################
+
+#
+# 1d, cube, order=4, smoothing=0 (size=5)
+#
+
+# interpolating polynomial
+interp_1d_cube_order4_smooth0
+ := polynomial_interpolant(fn_1d_order4, coeff_list_1d_order4,
+ coord_list_1d, posn_list_1d_size5);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size5);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order4.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order4_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size5);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order4.smooth0/coeff-dx.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_1d_cube_order4_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size5);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "1d.coeffs/1d.cube.order4.smooth0/coeff-dxx.compute.c");
+
+########################################
+
+#
+# 1d, cube, order=5, smoothing=0 (size=6)
+#
+
+# interpolating polynomial
+interp_1d_cube_order5_smooth0
+ := polynomial_interpolant(fn_1d_order5, coeff_list_1d_order5,
+ coord_list_1d, posn_list_1d_size6);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size6);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order5.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order5_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size6);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order5.smooth0/coeff-dx.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_1d_cube_order5_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size6);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "1d.coeffs/1d.cube.order5.smooth0/coeff-dxx.compute.c");
+
+########################################
+
+#
+# 1d, cube, order=6, smoothing=0 (size=7)
+#
+
+# interpolating polynomial
+interp_1d_cube_order6_smooth0
+ := polynomial_interpolant(fn_1d_order6, coeff_list_1d_order6,
+ coord_list_1d, posn_list_1d_size7);
+
+# I
+coeff_as_lc_of_data(%, posn_list_1d_size7);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "1d.coeffs/1d.cube.order6.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_1d_cube_order6_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size7);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "1d.coeffs/1d.cube.order6.smooth0/coeff-dx.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_1d_cube_order6_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_1d_size7);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "1d.coeffs/1d.cube.order6.smooth0/coeff-dxx.compute.c");
+
+########################################
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..221b33b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c
@@ -0,0 +1,18 @@
+fp t7,
+ t6,
+ t5,
+ t4,
+ t3,
+ t2,
+ t1;
+ t7 = RATIONAL(-1.0,2.0);
+ t6 = RATIONAL(1.0,4.0);
+ t5 = RATIONAL(1.0,2.0);
+ t4 = t7*y;
+ t3 = t7*x;
+ t2 = t5*x;
+ t1 = t5*y;
+ coeff_I_0_0 = RATIONAL(3.0,4.0)+t4+t3;
+ coeff_I_p1_0 = t6+t4+t2;
+ coeff_I_0_p1 = t3+t6+t1;
+ coeff_I_p1_p1 = t1+RATIONAL(-1.0,4.0)+t2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..3d89f01
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c
@@ -0,0 +1,8 @@
+fp t9,
+ t8;
+ t9 = RATIONAL(-1.0,2.0);
+ t8 = RATIONAL(1.0,2.0);
+ coeff_dx_0_0 = t9;
+ coeff_dx_p1_0 = t8;
+ coeff_dx_0_p1 = t9;
+ coeff_dx_p1_p1 = t8;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..42819a8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c
@@ -0,0 +1,8 @@
+fp t11,
+ t10;
+ t11 = RATIONAL(-1.0,2.0);
+ t10 = RATIONAL(1.0,2.0);
+ coeff_dy_0_0 = t11;
+ coeff_dy_p1_0 = t11;
+ coeff_dy_0_p1 = t10;
+ coeff_dy_p1_p1 = t10;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..eae89ba
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c
@@ -0,0 +1,53 @@
+fp t27,
+ t23,
+ t17,
+ t28,
+ t19,
+ t34,
+ t33,
+ t22,
+ t15,
+ t26,
+ t32,
+ t21,
+ t31,
+ t24,
+ t16,
+ t30,
+ t14,
+ t29,
+ t20,
+ t18,
+ t13,
+ t12;
+ t27 = x*x;
+ t23 = RATIONAL(1.0,6.0);
+ t17 = t23*t27;
+ t28 = y*y;
+ t19 = t23*t28;
+ t34 = t17+t19+RATIONAL(-1.0,9.0);
+ t33 = x*y;
+ t22 = RATIONAL(-1.0,3.0);
+ t15 = t22*t28;
+ t26 = RATIONAL(2.0,9.0);
+ t32 = t15+t17+t26;
+ t21 = t22*t27;
+ t31 = t19+t21+t26;
+ t24 = RATIONAL(-1.0,6.0);
+ t16 = t24*y;
+ t30 = t16+t34;
+ t14 = t23*y;
+ t29 = t14+t34;
+ t20 = t23*x;
+ t18 = t24*x;
+ t13 = RATIONAL(-1.0,4.0)*t33;
+ t12 = RATIONAL(1.0,4.0)*t33;
+ coeff_I_m1_m1 = t18+t12+t30;
+ coeff_I_0_m1 = t16+t31;
+ coeff_I_p1_m1 = t20+t13+t30;
+ coeff_I_m1_0 = t18+t32;
+ coeff_I_0_0 = t15+t21+RATIONAL(5.0,9.0);
+ coeff_I_p1_0 = t20+t32;
+ coeff_I_m1_p1 = t18+t13+t29;
+ coeff_I_0_p1 = t14+t31;
+ coeff_I_p1_p1 = t12+t20+t29;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..795310a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c
@@ -0,0 +1,21 @@
+fp t35,
+ t42,
+ t41,
+ t40,
+ t39,
+ t36;
+ t35 = RATIONAL(1.0,3.0)*x;
+ t42 = t35+RATIONAL(-1.0,4.0)*y;
+ t41 = t35+RATIONAL(1.0,4.0)*y;
+ t40 = RATIONAL(-1.0,6.0);
+ t39 = RATIONAL(1.0,6.0);
+ t36 = RATIONAL(-2.0,3.0)*x;
+ coeff_dx_m1_m1 = t40+t41;
+ coeff_dx_0_m1 = t36;
+ coeff_dx_p1_m1 = t39+t42;
+ coeff_dx_m1_0 = t40+t35;
+ coeff_dx_0_0 = t36;
+ coeff_dx_p1_0 = t35+t39;
+ coeff_dx_m1_p1 = t40+t42;
+ coeff_dx_0_p1 = t36;
+ coeff_dx_p1_p1 = t39+t41;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..3381569
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,13 @@
+fp t52,
+ t51;
+ t52 = RATIONAL(-2.0,3.0);
+ t51 = RATIONAL(1.0,3.0);
+ coeff_dxx_m1_m1 = t51;
+ coeff_dxx_0_m1 = t52;
+ coeff_dxx_p1_m1 = t51;
+ coeff_dxx_m1_0 = t51;
+ coeff_dxx_0_0 = t52;
+ coeff_dxx_p1_0 = t51;
+ coeff_dxx_m1_p1 = t51;
+ coeff_dxx_0_p1 = t52;
+ coeff_dxx_p1_p1 = t51;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..c795e1d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,15 @@
+fp t55,
+ t54,
+ t53;
+ t55 = RATIONAL(0.0,1.0);
+ t54 = RATIONAL(1.0,4.0);
+ t53 = RATIONAL(-1.0,4.0);
+ coeff_dxy_m1_m1 = t54;
+ coeff_dxy_0_m1 = t55;
+ coeff_dxy_p1_m1 = t53;
+ coeff_dxy_m1_0 = t55;
+ coeff_dxy_0_0 = t55;
+ coeff_dxy_p1_0 = t55;
+ coeff_dxy_m1_p1 = t53;
+ coeff_dxy_0_p1 = t55;
+ coeff_dxy_p1_p1 = t54;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..c4f9522
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c
@@ -0,0 +1,21 @@
+fp t43,
+ t50,
+ t49,
+ t46,
+ t45,
+ t44;
+ t43 = RATIONAL(1.0,3.0)*y;
+ t50 = RATIONAL(1.0,6.0)+t43;
+ t49 = RATIONAL(-1.0,6.0)+t43;
+ t46 = RATIONAL(-1.0,4.0)*x;
+ t45 = RATIONAL(-2.0,3.0)*y;
+ t44 = RATIONAL(1.0,4.0)*x;
+ coeff_dy_m1_m1 = t44+t49;
+ coeff_dy_0_m1 = t49;
+ coeff_dy_p1_m1 = t46+t49;
+ coeff_dy_m1_0 = t45;
+ coeff_dy_0_0 = t45;
+ coeff_dy_p1_0 = t45;
+ coeff_dy_m1_p1 = t46+t50;
+ coeff_dy_0_p1 = t50;
+ coeff_dy_p1_p1 = t44+t50;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..5d0b896
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,13 @@
+fp t57,
+ t56;
+ t57 = RATIONAL(-2.0,3.0);
+ t56 = RATIONAL(1.0,3.0);
+ coeff_dyy_m1_m1 = t56;
+ coeff_dyy_0_m1 = t56;
+ coeff_dyy_p1_m1 = t56;
+ coeff_dyy_m1_0 = t57;
+ coeff_dyy_0_0 = t57;
+ coeff_dyy_p1_0 = t57;
+ coeff_dyy_m1_p1 = t56;
+ coeff_dyy_0_p1 = t56;
+ coeff_dyy_p1_p1 = t56;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..5a2fe9b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c
@@ -0,0 +1,192 @@
+fp t159,
+ t132,
+ t158,
+ t131,
+ t157,
+ t125,
+ t63,
+ t118,
+ t130,
+ t76,
+ t156,
+ t126,
+ t82,
+ t122,
+ t70,
+ t155,
+ t133,
+ t78,
+ t67,
+ t154,
+ t153,
+ t128,
+ t84,
+ t124,
+ t66,
+ t152,
+ t151,
+ t83,
+ t62,
+ t150,
+ t87,
+ t69,
+ t149,
+ t148,
+ t121,
+ t120,
+ t68,
+ t147,
+ t65,
+ t146,
+ t129,
+ t86,
+ t145,
+ t144,
+ t85,
+ t143,
+ t123,
+ t142,
+ t141,
+ t140,
+ t139,
+ t105,
+ t138,
+ t137,
+ t136,
+ t119,
+ t117,
+ t116,
+ t114,
+ t113,
+ t112,
+ t111,
+ t108,
+ t107,
+ t106,
+ t104,
+ t103,
+ t101,
+ t99,
+ t98,
+ t97,
+ t96,
+ t95,
+ t94,
+ t93,
+ t92,
+ t91,
+ t90,
+ t89,
+ t88,
+ t80,
+ t79,
+ t75,
+ t74,
+ t73,
+ t72;
+ t159 = x*y;
+ t132 = y*y;
+ t158 = x*t132;
+ t131 = x*x;
+ t157 = y*t131;
+ t125 = RATIONAL(-3.0,40.0);
+ t63 = t125*t157;
+ t118 = RATIONAL(1.0,24.0);
+ t130 = t132*y;
+ t76 = t118*t130;
+ t156 = t63+t76;
+ t126 = RATIONAL(-1.0,24.0);
+ t82 = t126*t130;
+ t122 = RATIONAL(3.0,40.0);
+ t70 = t122*t157;
+ t155 = t82+t70;
+ t133 = x*t131;
+ t78 = t118*t133;
+ t67 = t122*t158;
+ t154 = t78+t67;
+ t153 = t70+t76;
+ t128 = RATIONAL(-1.0,8.0);
+ t84 = t128*t130;
+ t124 = RATIONAL(-1.0,40.0);
+ t66 = t124*t157;
+ t152 = t84+t66;
+ t151 = t82+t63;
+ t83 = t126*t133;
+ t62 = t125*t158;
+ t150 = t83+t62;
+ t87 = t128*t133;
+ t69 = t124*t158;
+ t149 = t87+t69;
+ t148 = t83+t67;
+ t121 = RATIONAL(9.0,80.0);
+ t120 = RATIONAL(1.0,40.0);
+ t68 = t120*t158;
+ t147 = t121*t132+t68;
+ t65 = t120*t157;
+ t146 = t121*t131+t65;
+ t129 = RATIONAL(1.0,8.0);
+ t86 = t129*t133;
+ t145 = t86+t69;
+ t144 = t78+t62;
+ t85 = t129*t130;
+ t143 = t85+t66;
+ t123 = RATIONAL(-1.0,50.0);
+ t142 = RATIONAL(11.0,50.0)+t123*t159;
+ t141 = RATIONAL(-2.0,25.0)+RATIONAL(2.0,25.0)*t159;
+ t140 = RATIONAL(-13.0,100.0)*t159+t123;
+ t139 = RATIONAL(37.0,200.0)+RATIONAL(-1.0,100.0)*t159;
+ t105 = RATIONAL(-17.0,200.0);
+ t138 = t105+RATIONAL(-9.0,100.0)*t159;
+ t137 = RATIONAL(13.0,100.0)+RATIONAL(7.0,100.0)*t159;
+ t136 = t131+t132;
+ t119 = RATIONAL(7.0,80.0);
+ t117 = RATIONAL(3.0,80.0);
+ t116 = RATIONAL(1.0,80.0);
+ t114 = RATIONAL(-1.0,80.0);
+ t113 = RATIONAL(13.0,80.0);
+ t112 = RATIONAL(11.0,80.0);
+ t111 = RATIONAL(-23.0,80.0);
+ t108 = RATIONAL(-19.0,80.0);
+ t107 = RATIONAL(-17.0,80.0);
+ t106 = RATIONAL(-31.0,400.0);
+ t104 = RATIONAL(-57.0,400.0);
+ t103 = RATIONAL(-63.0,400.0);
+ t101 = RATIONAL(-49.0,400.0);
+ t99 = RATIONAL(69.0,400.0);
+ t98 = RATIONAL(111.0,400.0);
+ t97 = RATIONAL(89.0,1200.0);
+ t96 = RATIONAL(117.0,400.0);
+ t95 = RATIONAL(43.0,1200.0);
+ t94 = RATIONAL(103.0,400.0);
+ t93 = RATIONAL(37.0,1200.0);
+ t92 = RATIONAL(-149.0,1200.0);
+ t91 = RATIONAL(-109.0,1200.0);
+ t90 = RATIONAL(-223.0,1200.0);
+ t89 = RATIONAL(-157.0,1200.0);
+ t88 = RATIONAL(-131.0,1200.0);
+ t80 = t119*t131;
+ t79 = t119*t132;
+ t75 = t113*t132;
+ t74 = t113*t131;
+ t73 = t112*t132;
+ t72 = t112*t131;
+ coeff_I_m1_m1 = RATIONAL(-23.0,200.0)+t74+t75+t91*y+(RATIONAL(6.0,25.0)*y
++t91)*x+t150+t151;
+ coeff_I_0_m1 = t73+t90*y+t111*t131+t106*x+t142+t145+t155;
+ coeff_I_p1_m1 = t87+t80+t98*x+t89*y+t140+t147+t155;
+ coeff_I_p2_m1 = t117*t131+t88*x+t79+t97*y+t138+t151+t154;
+ coeff_I_m1_0 = t111*t132+t106*y+t72+t90*x+t142+t143+t148;
+ coeff_I_0_0 = t85+RATIONAL(93.0,200.0)+t86+t104*y+t68+t65+t136*RATIONAL(
+-21.0,80.0)+(RATIONAL(-1.0,25.0)*y+t104)*x;
+ coeff_I_p1_0 = t85+t108*t132+t96*x+t103*y+t139+t146+t149;
+ coeff_I_p2_0 = t95*x+t116*t131+t107*t132+t101*y+t137+t143+t144;
+ coeff_I_m1_p1 = t89*x+t84+t79+t98*y+t140+t146+t148;
+ coeff_I_0_p1 = t86+t96*y+t103*x+t108*t131+t139+t147+t152;
+ coeff_I_p1_p1 = t105+t73+t94*y+t72+(t94+RATIONAL(3.0,50.0)*y)*x+t149+t152
+;
+ coeff_I_p2_p1 = t99*y+t84+t93*x+t65+t75+t114*t131+t141+t144;
+ coeff_I_m1_p2 = t97*x+t117*t132+t80+t88*y+t138+t150+t153;
+ coeff_I_0_p2 = t95*y+t107*t131+t101*x+t116*t132+t137+t145+t156;
+ coeff_I_p1_p2 = t93*y+t68+t87+t114*t132+t74+t99*x+t141+t156;
+ coeff_I_p2_p2 = t92*y+RATIONAL(7.0,200.0)+t136*RATIONAL(-3.0,80.0)+(
+RATIONAL(-3.0,50.0)*y+t92)*x+t153+t154;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..f6d13a5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c
@@ -0,0 +1,95 @@
+fp t200,
+ t184,
+ t187,
+ t170,
+ t186,
+ t178,
+ t199,
+ t181,
+ t198,
+ t180,
+ t183,
+ t175,
+ t197,
+ t185,
+ t172,
+ t196,
+ t182,
+ t176,
+ t195,
+ t161,
+ t194,
+ t179,
+ t193,
+ t163,
+ t192,
+ t162,
+ t191,
+ t190,
+ t189,
+ t160,
+ t188,
+ t173,
+ t171,
+ t169,
+ t167,
+ t166,
+ t164;
+ t200 = x*y;
+ t184 = RATIONAL(-1.0,40.0);
+ t187 = y*y;
+ t170 = t184*t187;
+ t186 = x*x;
+ t178 = RATIONAL(3.0,8.0)*t186;
+ t199 = t170+t178;
+ t181 = RATIONAL(-3.0,8.0)*t186;
+ t198 = t170+t181;
+ t180 = RATIONAL(1.0,8.0)*t186;
+ t183 = RATIONAL(3.0,40.0);
+ t175 = t183*t187;
+ t197 = t180+t175;
+ t185 = RATIONAL(-3.0,40.0);
+ t172 = t185*t187;
+ t196 = t172+t180;
+ t182 = RATIONAL(1.0,40.0);
+ t176 = t182*t187;
+ t195 = t176+t181;
+ t161 = RATIONAL(-3.0,20.0)*t200;
+ t194 = t161+RATIONAL(13.0,40.0)*x;
+ t179 = RATIONAL(-1.0,8.0)*t186;
+ t193 = t172+t179;
+ t163 = RATIONAL(-1.0,20.0)*t200;
+ t192 = t163+RATIONAL(11.0,40.0)*x;
+ t162 = RATIONAL(1.0,20.0)*t200;
+ t191 = t162+RATIONAL(9.0,40.0)*x;
+ t190 = t175+t179;
+ t189 = t178+t176;
+ t160 = RATIONAL(3.0,20.0)*t200;
+ t188 = t160+RATIONAL(7.0,40.0)*x;
+ t173 = RATIONAL(2.0,25.0)*y;
+ t171 = RATIONAL(-1.0,50.0)*y;
+ t169 = RATIONAL(-9.0,100.0)*y;
+ t167 = RATIONAL(-1.0,100.0)*y;
+ t166 = RATIONAL(7.0,100.0)*y;
+ t164 = RATIONAL(-13.0,100.0)*y;
+ coeff_dx_m1_m1 = RATIONAL(-109.0,1200.0)+RATIONAL(6.0,25.0)*y+t193+t194;
+ coeff_dx_0_m1 = RATIONAL(-31.0,400.0)+t171+t160+RATIONAL(-23.0,40.0)*x+
+t199;
+ coeff_dx_p1_m1 = t164+RATIONAL(111.0,400.0)+t188+t195;
+ coeff_dx_p2_m1 = t161+t183*x+RATIONAL(-131.0,1200.0)+t169+t197;
+ coeff_dx_m1_0 = t171+RATIONAL(-223.0,1200.0)+t190+t192;
+ coeff_dx_0_0 = RATIONAL(-1.0,25.0)*y+RATIONAL(-57.0,400.0)+RATIONAL(-21.0
+,40.0)*x+t162+t189;
+ coeff_dx_p1_0 = RATIONAL(117.0,400.0)+t167+t191+t198;
+ coeff_dx_p2_0 = t163+t166+t182*x+RATIONAL(43.0,1200.0)+t196;
+ coeff_dx_m1_p1 = RATIONAL(-157.0,1200.0)+t164+t190+t191;
+ coeff_dx_0_p1 = t163+RATIONAL(-19.0,40.0)*x+t167+RATIONAL(-63.0,400.0)+
+t189;
+ coeff_dx_p1_p1 = RATIONAL(103.0,400.0)+RATIONAL(3.0,50.0)*y+t192+t198;
+ coeff_dx_p2_p1 = t173+RATIONAL(37.0,1200.0)+t162+t184*x+t196;
+ coeff_dx_m1_p2 = RATIONAL(89.0,1200.0)+t169+t188+t193;
+ coeff_dx_0_p2 = RATIONAL(-49.0,400.0)+RATIONAL(-17.0,40.0)*x+t166+t161+
+t199;
+ coeff_dx_p1_p2 = RATIONAL(69.0,400.0)+t173+t194+t195;
+ coeff_dx_p2_p2 = t160+RATIONAL(-149.0,1200.0)+RATIONAL(-3.0,50.0)*y+t185*
+x+t197;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..b113dfe
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,40 @@
+fp t244,
+ t257,
+ t243,
+ t256,
+ t242,
+ t255,
+ t245,
+ t254,
+ t249,
+ t248,
+ t247,
+ t246;
+ t244 = RATIONAL(3.0,20.0)*y;
+ t257 = t244+RATIONAL(7.0,40.0);
+ t243 = RATIONAL(1.0,20.0)*y;
+ t256 = RATIONAL(9.0,40.0)+t243;
+ t242 = RATIONAL(-1.0,20.0)*y;
+ t255 = t242+RATIONAL(11.0,40.0);
+ t245 = RATIONAL(-3.0,20.0)*y;
+ t254 = t245+RATIONAL(13.0,40.0);
+ t249 = RATIONAL(-1.0,4.0)*x;
+ t248 = RATIONAL(3.0,4.0)*x;
+ t247 = RATIONAL(-3.0,4.0)*x;
+ t246 = RATIONAL(1.0,4.0)*x;
+ coeff_dxx_m1_m1 = t249+t254;
+ coeff_dxx_0_m1 = RATIONAL(-23.0,40.0)+t248+t244;
+ coeff_dxx_p1_m1 = t247+t257;
+ coeff_dxx_p2_m1 = t246+RATIONAL(3.0,40.0)+t245;
+ coeff_dxx_m1_0 = t249+t255;
+ coeff_dxx_0_0 = t248+t243+RATIONAL(-21.0,40.0);
+ coeff_dxx_p1_0 = t247+t256;
+ coeff_dxx_p2_0 = t242+RATIONAL(1.0,40.0)+t246;
+ coeff_dxx_m1_p1 = t249+t256;
+ coeff_dxx_0_p1 = t242+t248+RATIONAL(-19.0,40.0);
+ coeff_dxx_p1_p1 = t247+t255;
+ coeff_dxx_p2_p1 = RATIONAL(-1.0,40.0)+t243+t246;
+ coeff_dxx_m1_p2 = t249+t257;
+ coeff_dxx_0_p2 = RATIONAL(-17.0,40.0)+t248+t245;
+ coeff_dxx_p1_p2 = t247+t254;
+ coeff_dxx_p2_p2 = t244+RATIONAL(-3.0,40.0)+t246;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..f0c2888
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,52 @@
+fp t275,
+ t274,
+ t273,
+ t272,
+ t271,
+ t270,
+ t269,
+ t268,
+ t267,
+ t266,
+ t265,
+ t264,
+ t263,
+ t262,
+ t261,
+ t260,
+ t259,
+ t258;
+ t275 = RATIONAL(-1.0,20.0);
+ t274 = RATIONAL(1.0,20.0);
+ t273 = RATIONAL(-1.0,50.0);
+ t272 = RATIONAL(-3.0,20.0);
+ t271 = RATIONAL(3.0,20.0);
+ t270 = RATIONAL(2.0,25.0);
+ t269 = RATIONAL(-9.0,100.0);
+ t268 = RATIONAL(7.0,100.0);
+ t267 = RATIONAL(-1.0,100.0);
+ t266 = RATIONAL(-13.0,100.0);
+ t265 = t272*y;
+ t264 = t271*y;
+ t263 = t274*y;
+ t262 = t275*y;
+ t261 = t271*x;
+ t260 = t272*x;
+ t259 = t274*x;
+ t258 = t275*x;
+ coeff_dxy_m1_m1 = t260+t265+RATIONAL(6.0,25.0);
+ coeff_dxy_0_m1 = t273+t262+t261;
+ coeff_dxy_p1_m1 = t266+t261+t263;
+ coeff_dxy_p2_m1 = t260+t269+t264;
+ coeff_dxy_m1_0 = t264+t273+t258;
+ coeff_dxy_0_0 = t263+RATIONAL(-1.0,25.0)+t259;
+ coeff_dxy_p1_0 = t262+t267+t259;
+ coeff_dxy_p2_0 = t258+t265+t268;
+ coeff_dxy_m1_p1 = t264+t259+t266;
+ coeff_dxy_0_p1 = t258+t263+t267;
+ coeff_dxy_p1_p1 = t262+t258+RATIONAL(3.0,50.0);
+ coeff_dxy_p2_p1 = t265+t259+t270;
+ coeff_dxy_m1_p2 = t265+t261+t269;
+ coeff_dxy_0_p2 = t268+t262+t260;
+ coeff_dxy_p1_p2 = t263+t270+t260;
+ coeff_dxy_p2_p2 = RATIONAL(-3.0,50.0)+t261+t264;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..017eadf
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c
@@ -0,0 +1,95 @@
+fp t241,
+ t227,
+ t224,
+ t213,
+ t228,
+ t221,
+ t240,
+ t202,
+ t239,
+ t223,
+ t215,
+ t222,
+ t238,
+ t201,
+ t237,
+ t225,
+ t216,
+ t236,
+ t204,
+ t235,
+ t203,
+ t234,
+ t226,
+ t214,
+ t233,
+ t219,
+ t232,
+ t231,
+ t220,
+ t230,
+ t229,
+ t217,
+ t212,
+ t210,
+ t209,
+ t206,
+ t205;
+ t241 = x*y;
+ t227 = x*x;
+ t224 = RATIONAL(3.0,40.0);
+ t213 = t224*t227;
+ t228 = y*y;
+ t221 = RATIONAL(-1.0,8.0)*t228;
+ t240 = t213+t221;
+ t202 = RATIONAL(3.0,20.0)*t241;
+ t239 = t202+RATIONAL(7.0,40.0)*y;
+ t223 = RATIONAL(1.0,40.0);
+ t215 = t223*t227;
+ t222 = RATIONAL(-3.0,8.0)*t228;
+ t238 = t215+t222;
+ t201 = RATIONAL(1.0,20.0)*t241;
+ t237 = t201+RATIONAL(9.0,40.0)*y;
+ t225 = RATIONAL(-1.0,40.0);
+ t216 = t225*t227;
+ t236 = t216+t222;
+ t204 = RATIONAL(-3.0,20.0)*t241;
+ t235 = t204+RATIONAL(13.0,40.0)*y;
+ t203 = RATIONAL(-1.0,20.0)*t241;
+ t234 = t203+RATIONAL(11.0,40.0)*y;
+ t226 = RATIONAL(-3.0,40.0);
+ t214 = t226*t227;
+ t233 = t214+t221;
+ t219 = RATIONAL(3.0,8.0)*t228;
+ t232 = t215+t219;
+ t231 = t216+t219;
+ t220 = RATIONAL(1.0,8.0)*t228;
+ t230 = t213+t220;
+ t229 = t214+t220;
+ t217 = RATIONAL(2.0,25.0)*x;
+ t212 = RATIONAL(-1.0,50.0)*x;
+ t210 = RATIONAL(7.0,100.0)*x;
+ t209 = RATIONAL(-9.0,100.0)*x;
+ t206 = RATIONAL(-1.0,100.0)*x;
+ t205 = RATIONAL(-13.0,100.0)*x;
+ coeff_dy_m1_m1 = RATIONAL(6.0,25.0)*x+RATIONAL(-109.0,1200.0)+t233+t235;
+ coeff_dy_0_m1 = RATIONAL(-223.0,1200.0)+t212+t234+t240;
+ coeff_dy_p1_m1 = t205+RATIONAL(-157.0,1200.0)+t237+t240;
+ coeff_dy_p2_m1 = t209+RATIONAL(89.0,1200.0)+t233+t239;
+ coeff_dy_m1_0 = t202+RATIONAL(-23.0,40.0)*y+RATIONAL(-31.0,400.0)+t212+
+t231;
+ coeff_dy_0_0 = t201+RATIONAL(-1.0,25.0)*x+RATIONAL(-57.0,400.0)+RATIONAL(
+-21.0,40.0)*y+t232;
+ coeff_dy_p1_0 = t206+RATIONAL(-19.0,40.0)*y+RATIONAL(-63.0,400.0)+t203+
+t232;
+ coeff_dy_p2_0 = t204+RATIONAL(-49.0,400.0)+RATIONAL(-17.0,40.0)*y+t210+
+t231;
+ coeff_dy_m1_p1 = t205+RATIONAL(111.0,400.0)+t238+t239;
+ coeff_dy_0_p1 = t206+RATIONAL(117.0,400.0)+t236+t237;
+ coeff_dy_p1_p1 = RATIONAL(3.0,50.0)*x+RATIONAL(103.0,400.0)+t234+t236;
+ coeff_dy_p2_p1 = t217+RATIONAL(69.0,400.0)+t235+t238;
+ coeff_dy_m1_p2 = RATIONAL(-131.0,1200.0)+t224*y+t209+t204+t230;
+ coeff_dy_0_p2 = t223*y+t210+t203+RATIONAL(43.0,1200.0)+t229;
+ coeff_dy_p1_p2 = RATIONAL(37.0,1200.0)+t201+t225*y+t217+t229;
+ coeff_dy_p2_p2 = t226*y+RATIONAL(-3.0,50.0)*x+t202+RATIONAL(-149.0,1200.0
+)+t230;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..822ddd4
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,40 @@
+fp t279,
+ t291,
+ t276,
+ t290,
+ t277,
+ t289,
+ t278,
+ t288,
+ t283,
+ t282,
+ t281,
+ t280;
+ t279 = RATIONAL(-3.0,20.0)*x;
+ t291 = t279+RATIONAL(13.0,40.0);
+ t276 = RATIONAL(-1.0,20.0)*x;
+ t290 = RATIONAL(11.0,40.0)+t276;
+ t277 = RATIONAL(1.0,20.0)*x;
+ t289 = RATIONAL(9.0,40.0)+t277;
+ t278 = RATIONAL(3.0,20.0)*x;
+ t288 = RATIONAL(7.0,40.0)+t278;
+ t283 = RATIONAL(-1.0,4.0)*y;
+ t282 = RATIONAL(3.0,4.0)*y;
+ t281 = RATIONAL(-3.0,4.0)*y;
+ t280 = RATIONAL(1.0,4.0)*y;
+ coeff_dyy_m1_m1 = t283+t291;
+ coeff_dyy_0_m1 = t283+t290;
+ coeff_dyy_p1_m1 = t283+t289;
+ coeff_dyy_p2_m1 = t283+t288;
+ coeff_dyy_m1_0 = RATIONAL(-23.0,40.0)+t282+t278;
+ coeff_dyy_0_0 = RATIONAL(-21.0,40.0)+t277+t282;
+ coeff_dyy_p1_0 = t276+t282+RATIONAL(-19.0,40.0);
+ coeff_dyy_p2_0 = t282+t279+RATIONAL(-17.0,40.0);
+ coeff_dyy_m1_p1 = t281+t288;
+ coeff_dyy_0_p1 = t281+t289;
+ coeff_dyy_p1_p1 = t281+t290;
+ coeff_dyy_p2_p1 = t281+t291;
+ coeff_dyy_m1_p2 = t280+t279+RATIONAL(3.0,40.0);
+ coeff_dyy_0_p2 = t276+t280+RATIONAL(1.0,40.0);
+ coeff_dyy_p1_p2 = t280+t277+RATIONAL(-1.0,40.0);
+ coeff_dyy_p2_p2 = RATIONAL(-3.0,40.0)+t280+t278;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..e30de22
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c
@@ -0,0 +1,251 @@
+fp t412,
+ t413,
+ t471,
+ t449,
+ t404,
+ t417,
+ t359,
+ t414,
+ t358,
+ t444,
+ t470,
+ t469,
+ t406,
+ t367,
+ t362,
+ t437,
+ t468,
+ t467,
+ t443,
+ t466,
+ t383,
+ t409,
+ t371,
+ t446,
+ t402,
+ t310,
+ t465,
+ t384,
+ t405,
+ t313,
+ t464,
+ t403,
+ t366,
+ t389,
+ t399,
+ t463,
+ t292,
+ t397,
+ t445,
+ t462,
+ t396,
+ t400,
+ t461,
+ t381,
+ t382,
+ t415,
+ t355,
+ t460,
+ t370,
+ t398,
+ t297,
+ t447,
+ t459,
+ t411,
+ t329,
+ t401,
+ t458,
+ t457,
+ t407,
+ t456,
+ t369,
+ t455,
+ t360,
+ t454,
+ t410,
+ t323,
+ t390,
+ t453,
+ t385,
+ t452,
+ t314,
+ t451,
+ t450,
+ t448,
+ t442,
+ t441,
+ t416,
+ t356,
+ t440,
+ t363,
+ t439,
+ t438,
+ t436,
+ t322,
+ t435,
+ t332,
+ t434,
+ t391,
+ t393,
+ t408,
+ t364,
+ t433,
+ t368,
+ t432,
+ t374,
+ t392,
+ t431,
+ t430,
+ t429,
+ t330,
+ t428,
+ t318,
+ t427,
+ t426,
+ t425,
+ t424,
+ t423,
+ t422,
+ t395,
+ t394,
+ t387,
+ t386;
+ t412 = x*x;
+ t413 = y*y;
+ t471 = t412+t413;
+ t449 = x*y;
+ t404 = RATIONAL(-1.0,60.0);
+ t417 = y*t413;
+ t359 = t404*t417;
+ t414 = t412*x;
+ t358 = t404*t414;
+ t444 = y*t358+x*t359;
+ t470 = RATIONAL(11.0,150.0)*t449+t444;
+ t469 = RATIONAL(37.0,300.0)*t449+t444;
+ t406 = RATIONAL(1.0,60.0);
+ t367 = t406*t414;
+ t362 = t406*t417;
+ t437 = y*t367+x*t362;
+ t468 = t437+RATIONAL(-37.0,300.0)*t449;
+ t467 = RATIONAL(-11.0,150.0)*t449+t437;
+ t443 = t412*t413;
+ t466 = RATIONAL(-1.0,98.0)*t443+RATIONAL(-99.0,1225.0);
+ t383 = RATIONAL(-11.0,105.0);
+ t409 = RATIONAL(1.0,30.0);
+ t371 = t409*t414;
+ t446 = x*t413;
+ t402 = RATIONAL(-1.0,70.0);
+ t310 = t402*t446;
+ t465 = t371+t383*x+t310;
+ t384 = RATIONAL(31.0,420.0);
+ t405 = RATIONAL(-1.0,35.0);
+ t313 = t405*t446;
+ t464 = t384*x+t358+t313;
+ t403 = RATIONAL(-1.0,30.0);
+ t366 = t403*t414;
+ t389 = RATIONAL(31.0,210.0);
+ t399 = RATIONAL(-1.0,140.0);
+ t463 = t366+t389*x+t399*t446;
+ t292 = RATIONAL(21.0,200.0)*t449;
+ t397 = RATIONAL(1.0,120.0);
+ t445 = x*t417;
+ t462 = t292+t397*t445+y*t366;
+ t396 = RATIONAL(-31.0,210.0);
+ t400 = RATIONAL(1.0,140.0);
+ t461 = t400*t446+t371+t396*x;
+ t381 = RATIONAL(71.0,5880.0);
+ t382 = RATIONAL(113.0,735.0);
+ t415 = t412*t412;
+ t355 = t397*t415;
+ t460 = t381*t412+t382*t413+t355;
+ t370 = t409*t417;
+ t398 = RATIONAL(-1.0,120.0);
+ t297 = RATIONAL(-21.0,200.0)*t449;
+ t447 = y*t414;
+ t459 = t297+t398*t447+x*t370;
+ t411 = RATIONAL(1.0,70.0);
+ t329 = t411*t446;
+ t401 = RATIONAL(-1.0,84.0);
+ t458 = t329+t401*x+t358;
+ t457 = y*t371+t398*t445+t297;
+ t407 = RATIONAL(1.0,84.0);
+ t456 = t407*x+t367+t310;
+ t369 = t403*t415;
+ t455 = t369+t382*t412+t381*t413;
+ t360 = t403*t417;
+ t454 = x*t360+t292+t397*t447;
+ t410 = RATIONAL(1.0,35.0);
+ t323 = t410*t446;
+ t390 = RATIONAL(-31.0,420.0);
+ t453 = t323+t367+t390*x;
+ t385 = RATIONAL(11.0,105.0);
+ t452 = t366+t329+t385*x;
+ t314 = RATIONAL(1.0,49.0)*t443;
+ t451 = RATIONAL(51.0,1225.0)+t355+t314+t471*RATIONAL(-289.0,5880.0);
+ t450 = RATIONAL(1.0,196.0)*t443+t369+RATIONAL(-24.0,1225.0)+t471*RATIONAL
+(181.0,1470.0);
+ t448 = y*t412;
+ t442 = RATIONAL(246.0,1225.0)+RATIONAL(1.0,98.0)*t443;
+ t441 = RATIONAL(-1.0,49.0)*t443+RATIONAL(96.0,1225.0);
+ t416 = t413*t413;
+ t356 = t397*t416;
+ t440 = t356+t362;
+ t363 = t403*t416;
+ t439 = t360+t363;
+ t438 = t370+t363;
+ t436 = t356+t359;
+ t322 = t402*t448;
+ t435 = t322+t466;
+ t332 = t411*t448;
+ t434 = t332+t466;
+ t391 = RATIONAL(-53.0,196.0);
+ t393 = RATIONAL(83.0,735.0);
+ t408 = RATIONAL(1.0,20.0);
+ t364 = t408*t416;
+ t433 = t369+t393*t412+t391*t413+t364+t442;
+ t368 = t408*t415;
+ t432 = t368+t393*t413+t391*t412+t363+t442;
+ t374 = RATIONAL(191.0,5880.0);
+ t392 = RATIONAL(-41.0,196.0);
+ t431 = t374*t413+t368+t392*t412+t356+t441;
+ t430 = t392*t413+t355+t374*t412+t364+t441;
+ t429 = t400*t448+t396*y+t438+t450;
+ t330 = t410*t448;
+ t428 = t330+t390*y+t440+t451;
+ t318 = t405*t448;
+ t427 = t318+t384*y+t436+t451;
+ t426 = t407*y+t435+t440+t455;
+ t425 = t385*y+t434+t439+t460;
+ t424 = t383*y+t435+t438+t460;
+ t423 = t401*y+t434+t436+t455;
+ t422 = t389*y+t399*t448+t439+t450;
+ t395 = RATIONAL(-17.0,420.0);
+ t394 = RATIONAL(-17.0,105.0);
+ t387 = RATIONAL(17.0,105.0);
+ t386 = RATIONAL(17.0,420.0);
+ coeff_I_m2_m2 = t427+t464+t467;
+ coeff_I_m1_m2 = t423+t462+t465;
+ coeff_I_0_m2 = t395*y+t330+t359+t431;
+ coeff_I_p1_m2 = t423+t452+t457;
+ coeff_I_p2_m2 = t427+t453+t470;
+ coeff_I_m2_m1 = t424+t454+t458;
+ coeff_I_m1_m1 = t429+t461+t469;
+ coeff_I_0_m1 = t332+t394*y+t370+t432;
+ coeff_I_p1_m1 = t429+t463+t468;
+ coeff_I_p2_m1 = t424+t456+t459;
+ coeff_I_m2_0 = t395*x+t358+t323+t430;
+ coeff_I_m1_0 = t394*x+t371+t329+t433;
+ coeff_I_0_0 = t314+t368+t364+RATIONAL(541.0,1225.0)+t471*RATIONAL(-57.0,
+196.0);
+ coeff_I_p1_0 = t366+t310+t387*x+t433;
+ coeff_I_p2_0 = t386*x+t367+t313+t430;
+ coeff_I_m2_p1 = t425+t458+t459;
+ coeff_I_m1_p1 = t422+t461+t468;
+ coeff_I_0_p1 = t322+t387*y+t360+t432;
+ coeff_I_p1_p1 = t422+t463+t469;
+ coeff_I_p2_p1 = t425+t454+t456;
+ coeff_I_m2_p2 = t428+t464+t470;
+ coeff_I_m1_p2 = t426+t457+t465;
+ coeff_I_0_p2 = t318+t386*y+t362+t431;
+ coeff_I_p1_p2 = t426+t452+t462;
+ coeff_I_p2_p2 = t428+t453+t467;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..242cdc8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c
@@ -0,0 +1,151 @@
+fp t536,
+ t539,
+ t541,
+ t515,
+ t575,
+ t509,
+ t574,
+ t540,
+ t542,
+ t495,
+ t510,
+ t573,
+ t530,
+ t512,
+ t514,
+ t572,
+ t562,
+ t497,
+ t571,
+ t570,
+ t561,
+ t569,
+ t508,
+ t568,
+ t567,
+ t566,
+ t537,
+ t518,
+ t519,
+ t565,
+ t481,
+ t564,
+ t563,
+ t477,
+ t529,
+ t511,
+ t560,
+ t538,
+ t507,
+ t559,
+ t558,
+ t557,
+ t521,
+ t474,
+ t556,
+ t475,
+ t555,
+ t554,
+ t553,
+ t552,
+ t551,
+ t550,
+ t549,
+ t548,
+ t547,
+ t546,
+ t545,
+ t487,
+ t484,
+ t482,
+ t478,
+ t476,
+ t473;
+ t536 = RATIONAL(1.0,30.0);
+ t539 = x*x;
+ t541 = t539*x;
+ t515 = t536*t541;
+ t575 = RATIONAL(71.0,2940.0)*x+t515;
+ t509 = RATIONAL(-2.0,15.0)*t541;
+ t574 = RATIONAL(226.0,735.0)*x+t509;
+ t540 = y*y;
+ t542 = t540*y;
+ t495 = RATIONAL(-21.0,200.0)*y;
+ t510 = RATIONAL(1.0,10.0)*t539;
+ t573 = y*t510+RATIONAL(-1.0,120.0)*t542+t495;
+ t530 = RATIONAL(-1.0,35.0);
+ t512 = t530*t540;
+ t514 = RATIONAL(-1.0,20.0)*t539;
+ t572 = RATIONAL(31.0,420.0)+t512+t514;
+ t562 = y*t539;
+ t497 = RATIONAL(21.0,200.0)*y;
+ t571 = RATIONAL(1.0,40.0)*t562+t497+RATIONAL(-1.0,30.0)*t542;
+ t570 = RATIONAL(-1.0,40.0)*t562+t495+t536*t542;
+ t561 = x*t540;
+ t569 = RATIONAL(1.0,98.0)*t561+RATIONAL(181.0,735.0)*x+t509;
+ t508 = RATIONAL(-1.0,10.0)*t539;
+ t568 = RATIONAL(31.0,210.0)+RATIONAL(-1.0,140.0)*t540+t508;
+ t567 = RATIONAL(-31.0,210.0)+RATIONAL(1.0,140.0)*t540+t510;
+ t566 = y*t508+RATIONAL(1.0,120.0)*t542+t497;
+ t537 = RATIONAL(1.0,35.0);
+ t518 = t537*t540;
+ t519 = RATIONAL(1.0,20.0)*t539;
+ t565 = RATIONAL(-31.0,420.0)+t518+t519;
+ t481 = RATIONAL(2.0,49.0)*t561;
+ t564 = t481+RATIONAL(-289.0,2940.0)*x+t515;
+ t563 = x*y;
+ t477 = RATIONAL(-1.0,49.0)*t561;
+ t529 = RATIONAL(-1.0,70.0);
+ t511 = t529*t540;
+ t560 = t477+t511;
+ t538 = RATIONAL(1.0,70.0);
+ t507 = t538*t540;
+ t559 = t477+t507;
+ t558 = y*t514+RATIONAL(-1.0,60.0)*t542;
+ t557 = y*t519+RATIONAL(1.0,60.0)*t542;
+ t521 = RATIONAL(1.0,5.0)*t541;
+ t474 = RATIONAL(-2.0,49.0)*t561;
+ t556 = t521+t474+RATIONAL(-41.0,98.0)*x;
+ t475 = RATIONAL(1.0,49.0)*t561;
+ t555 = t521+t475+RATIONAL(-53.0,98.0)*x;
+ t554 = t475+RATIONAL(166.0,735.0)*x+t509;
+ t553 = t474+RATIONAL(191.0,2940.0)*x+t515;
+ t552 = RATIONAL(-11.0,105.0)+t510+t560+t574;
+ t551 = RATIONAL(-1.0,84.0)+t514+t559+t575;
+ t550 = RATIONAL(-37.0,300.0)*y+t557+t569;
+ t549 = RATIONAL(1.0,84.0)+t519+t560+t575;
+ t548 = RATIONAL(11.0,105.0)+t508+t559+t574;
+ t547 = RATIONAL(11.0,150.0)*y+t558+t564;
+ t546 = RATIONAL(-11.0,150.0)*y+t557+t564;
+ t545 = RATIONAL(37.0,300.0)*y+t558+t569;
+ t487 = t529*t563;
+ t484 = RATIONAL(-2.0,35.0)*t563;
+ t482 = t530*t563;
+ t478 = t538*t563;
+ t476 = RATIONAL(2.0,35.0)*t563;
+ t473 = t537*t563;
+ coeff_dx_m2_m2 = t484+t546+t572;
+ coeff_dx_m1_m2 = t473+t552+t566;
+ coeff_dx_0_m2 = t476+t556;
+ coeff_dx_p1_m2 = t473+t548+t573;
+ coeff_dx_p2_m2 = t484+t547+t565;
+ coeff_dx_m2_m1 = t482+t551+t571;
+ coeff_dx_m1_m1 = t478+t545+t567;
+ coeff_dx_0_m1 = t473+t555;
+ coeff_dx_p1_m1 = t478+t550+t568;
+ coeff_dx_p2_m1 = t482+t549+t570;
+ coeff_dx_m2_0 = t514+RATIONAL(-17.0,420.0)+t518+t553;
+ coeff_dx_m1_0 = t510+t507+RATIONAL(-17.0,105.0)+t554;
+ coeff_dx_0_0 = t481+RATIONAL(-57.0,98.0)*x+t521;
+ coeff_dx_p1_0 = RATIONAL(17.0,105.0)+t511+t508+t554;
+ coeff_dx_p2_0 = t519+t512+RATIONAL(17.0,420.0)+t553;
+ coeff_dx_m2_p1 = t473+t551+t570;
+ coeff_dx_m1_p1 = t487+t550+t567;
+ coeff_dx_0_p1 = t482+t555;
+ coeff_dx_p1_p1 = t487+t545+t568;
+ coeff_dx_p2_p1 = t473+t549+t571;
+ coeff_dx_m2_p2 = t476+t547+t572;
+ coeff_dx_m1_p2 = t482+t552+t573;
+ coeff_dx_0_p2 = t484+t556;
+ coeff_dx_p1_p2 = t482+t548+t566;
+ coeff_dx_p2_p2 = t476+t546+t565;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..51c1f78
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,103 @@
+fp t717,
+ t694,
+ t716,
+ t702,
+ t734,
+ t696,
+ t712,
+ t695,
+ t733,
+ t732,
+ t731,
+ t730,
+ t700,
+ t703,
+ t697,
+ t691,
+ t693,
+ t729,
+ t701,
+ t728,
+ t687,
+ t727,
+ t726,
+ t699,
+ t725,
+ t692,
+ t724,
+ t698,
+ t723,
+ t722,
+ t721,
+ t720,
+ t719,
+ t690,
+ t718,
+ t685,
+ t684,
+ t683,
+ t680;
+ t717 = y*y;
+ t694 = RATIONAL(-1.0,49.0)*t717;
+ t716 = x*x;
+ t702 = RATIONAL(-2.0,5.0)*t716;
+ t734 = t694+t702+RATIONAL(226.0,735.0);
+ t696 = RATIONAL(2.0,49.0)*t717;
+ t712 = RATIONAL(1.0,10.0);
+ t695 = t712*t716;
+ t733 = t696+t695+RATIONAL(-289.0,2940.0);
+ t732 = RATIONAL(1.0,98.0)*t717+t702+RATIONAL(181.0,735.0);
+ t731 = t694+t695+RATIONAL(71.0,2940.0);
+ t730 = x*y;
+ t700 = RATIONAL(-1.0,5.0)*x;
+ t703 = RATIONAL(1.0,5.0)*x;
+ t697 = RATIONAL(-1.0,10.0)*x;
+ t691 = t712*x;
+ t693 = RATIONAL(-2.0,49.0)*t717;
+ t729 = t693+t695+RATIONAL(191.0,2940.0);
+ t701 = RATIONAL(3.0,5.0)*t716;
+ t728 = t693+t701+RATIONAL(-41.0,98.0);
+ t687 = RATIONAL(1.0,49.0)*t717;
+ t727 = t687+t701+RATIONAL(-53.0,98.0);
+ t726 = t687+t702+RATIONAL(166.0,735.0);
+ t699 = RATIONAL(1.0,35.0)*y;
+ t725 = t699+t734;
+ t692 = RATIONAL(2.0,35.0)*y;
+ t724 = t692+t733;
+ t698 = RATIONAL(-2.0,35.0)*y;
+ t723 = t698+t733;
+ t722 = RATIONAL(1.0,20.0)*t730+t731;
+ t721 = RATIONAL(-1.0,70.0)*y+t732;
+ t720 = RATIONAL(1.0,70.0)*y+t732;
+ t719 = RATIONAL(-1.0,20.0)*t730+t731;
+ t690 = RATIONAL(-1.0,35.0)*y;
+ t718 = t690+t734;
+ t685 = y*t703;
+ t684 = y*t700;
+ t683 = y*t697;
+ t680 = y*t691;
+ coeff_dxx_m2_m2 = t697+t680+t723;
+ coeff_dxx_m1_m2 = t684+t703+t725;
+ coeff_dxx_0_m2 = t692+t728;
+ coeff_dxx_p1_m2 = t700+t685+t725;
+ coeff_dxx_p2_m2 = t691+t683+t723;
+ coeff_dxx_m2_m1 = t697+t690+t722;
+ coeff_dxx_m1_m1 = t683+t703+t720;
+ coeff_dxx_0_m1 = t699+t727;
+ coeff_dxx_p1_m1 = t680+t700+t720;
+ coeff_dxx_p2_m1 = t691+t690+t719;
+ coeff_dxx_m2_0 = t697+t729;
+ coeff_dxx_m1_0 = t703+t726;
+ coeff_dxx_0_0 = t701+RATIONAL(-57.0,98.0)+t696;
+ coeff_dxx_p1_0 = t700+t726;
+ coeff_dxx_p2_0 = t691+t729;
+ coeff_dxx_m2_p1 = t699+t697+t719;
+ coeff_dxx_m1_p1 = t680+t703+t721;
+ coeff_dxx_0_p1 = t690+t727;
+ coeff_dxx_p1_p1 = t683+t700+t721;
+ coeff_dxx_p2_p1 = t691+t699+t722;
+ coeff_dxx_m2_p2 = t697+t683+t724;
+ coeff_dxx_m1_p2 = t685+t703+t718;
+ coeff_dxx_0_p2 = t698+t728;
+ coeff_dxx_p1_p2 = t684+t700+t718;
+ coeff_dxx_p2_p2 = t691+t680+t724;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..3f68e3b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,119 @@
+fp t783,
+ t782,
+ t801,
+ t780,
+ t753,
+ t763,
+ t800,
+ t771,
+ t744,
+ t759,
+ t799,
+ t798,
+ t797,
+ t796,
+ t738,
+ t795,
+ t794,
+ t793,
+ t792,
+ t773,
+ t777,
+ t791,
+ t790,
+ t739,
+ t789,
+ t736,
+ t788,
+ t774,
+ t778,
+ t787,
+ t786,
+ t785,
+ t784,
+ t781,
+ t776,
+ t772,
+ t770,
+ t762,
+ t761,
+ t760,
+ t758,
+ t756,
+ t749,
+ t743,
+ t742,
+ t737,
+ t735;
+ t783 = y*y;
+ t782 = x*x;
+ t801 = t783+t782;
+ t780 = RATIONAL(1.0,35.0);
+ t753 = t780*x;
+ t763 = t780*y;
+ t800 = t753+t763;
+ t771 = RATIONAL(-1.0,35.0);
+ t744 = t771*x;
+ t759 = t771*y;
+ t799 = t744+t759;
+ t798 = t753+t759;
+ t797 = t744+t763;
+ t796 = x*y;
+ t738 = RATIONAL(-2.0,49.0)*t796;
+ t795 = t738+RATIONAL(-21.0,200.0);
+ t794 = t801*RATIONAL(-1.0,20.0);
+ t793 = t738+RATIONAL(21.0,200.0);
+ t792 = t801*RATIONAL(1.0,20.0);
+ t773 = RATIONAL(1.0,10.0);
+ t777 = RATIONAL(-1.0,40.0);
+ t791 = t777*t782+t773*t783+t795;
+ t790 = t777*t783+t773*t782+t795;
+ t739 = RATIONAL(4.0,49.0)*t796;
+ t789 = t739+RATIONAL(11.0,150.0)+t794;
+ t736 = RATIONAL(1.0,49.0)*t796;
+ t788 = t736+RATIONAL(37.0,300.0)+t794;
+ t774 = RATIONAL(-1.0,10.0);
+ t778 = RATIONAL(1.0,40.0);
+ t787 = t774*t782+t778*t783+t793;
+ t786 = t739+RATIONAL(-11.0,150.0)+t792;
+ t785 = t736+RATIONAL(-37.0,300.0)+t792;
+ t784 = t774*t783+t778*t782+t793;
+ t781 = RATIONAL(1.0,70.0);
+ t776 = RATIONAL(-2.0,35.0);
+ t772 = RATIONAL(2.0,35.0);
+ t770 = RATIONAL(-1.0,70.0);
+ t762 = t776*y;
+ t761 = t770*x;
+ t760 = t772*y;
+ t758 = t781*y;
+ t756 = t776*x;
+ t749 = t772*x;
+ t743 = t781*x;
+ t742 = t770*y;
+ t737 = RATIONAL(-4.0,49.0)*t796;
+ t735 = RATIONAL(2.0,49.0)*t796;
+ coeff_dxy_m2_m2 = t756+t762+t786;
+ coeff_dxy_m1_m2 = t787+t798;
+ coeff_dxy_0_m2 = t737+t749;
+ coeff_dxy_p1_m2 = t790+t800;
+ coeff_dxy_p2_m2 = t760+t756+t789;
+ coeff_dxy_m2_m1 = t784+t797;
+ coeff_dxy_m1_m1 = t758+t743+t788;
+ coeff_dxy_0_m1 = t735+t753;
+ coeff_dxy_p1_m1 = t743+t742+t785;
+ coeff_dxy_p2_m1 = t791+t799;
+ coeff_dxy_m2_0 = t760+t737;
+ coeff_dxy_m1_0 = t763+t735;
+ coeff_dxy_0_0 = t739;
+ coeff_dxy_p1_0 = t759+t735;
+ coeff_dxy_p2_0 = t762+t737;
+ coeff_dxy_m2_p1 = t791+t800;
+ coeff_dxy_m1_p1 = t758+t761+t785;
+ coeff_dxy_0_p1 = t744+t735;
+ coeff_dxy_p1_p1 = t761+t742+t788;
+ coeff_dxy_p2_p1 = t784+t798;
+ coeff_dxy_m2_p2 = t749+t762+t789;
+ coeff_dxy_m1_p2 = t790+t799;
+ coeff_dxy_0_p2 = t756+t737;
+ coeff_dxy_p1_p2 = t787+t797;
+ coeff_dxy_p2_p2 = t760+t749+t786;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..a3866a1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c
@@ -0,0 +1,147 @@
+fp t644,
+ t646,
+ t623,
+ t679,
+ t643,
+ t645,
+ t618,
+ t661,
+ t678,
+ t624,
+ t662,
+ t677,
+ t640,
+ t620,
+ t676,
+ t633,
+ t621,
+ t675,
+ t634,
+ t616,
+ t674,
+ t641,
+ t613,
+ t673,
+ t642,
+ t615,
+ t619,
+ t672,
+ t671,
+ t666,
+ t670,
+ t588,
+ t669,
+ t622,
+ t668,
+ t667,
+ t665,
+ t584,
+ t664,
+ t663,
+ t582,
+ t625,
+ t660,
+ t586,
+ t659,
+ t658,
+ t657,
+ t656,
+ t655,
+ t654,
+ t653,
+ t652,
+ t651,
+ t650,
+ t649,
+ t593,
+ t591,
+ t590,
+ t583,
+ t578,
+ t577;
+ t644 = y*y;
+ t646 = y*t644;
+ t623 = RATIONAL(-2.0,15.0)*t646;
+ t679 = RATIONAL(226.0,735.0)*y+t623;
+ t643 = x*x;
+ t645 = t643*x;
+ t618 = RATIONAL(-1.0,20.0)*t644;
+ t661 = x*t618+RATIONAL(-1.0,60.0)*t645;
+ t678 = t661+RATIONAL(37.0,300.0)*x;
+ t624 = RATIONAL(1.0,20.0)*t644;
+ t662 = x*t624+RATIONAL(1.0,60.0)*t645;
+ t677 = t662+RATIONAL(-37.0,300.0)*x;
+ t640 = RATIONAL(1.0,30.0);
+ t620 = t640*t646;
+ t676 = RATIONAL(71.0,2940.0)*y+t620;
+ t633 = RATIONAL(-1.0,70.0);
+ t621 = t633*t643;
+ t675 = RATIONAL(1.0,84.0)+t621+t624;
+ t634 = RATIONAL(-1.0,35.0);
+ t616 = t634*t643;
+ t674 = RATIONAL(31.0,420.0)+t616+t618;
+ t641 = RATIONAL(1.0,35.0);
+ t613 = t641*t643;
+ t673 = RATIONAL(-31.0,420.0)+t613+t624;
+ t642 = RATIONAL(1.0,70.0);
+ t615 = t642*t643;
+ t619 = RATIONAL(-1.0,10.0)*t644;
+ t672 = RATIONAL(11.0,105.0)+t615+t619;
+ t671 = RATIONAL(-1.0,84.0)+t615+t618;
+ t666 = y*t643;
+ t670 = RATIONAL(1.0,98.0)*t666+RATIONAL(181.0,735.0)*y+t623;
+ t588 = RATIONAL(2.0,49.0)*t666;
+ t669 = RATIONAL(-289.0,2940.0)*y+t588+t620;
+ t622 = RATIONAL(1.0,10.0)*t644;
+ t668 = RATIONAL(-11.0,105.0)+t621+t622;
+ t667 = x*y;
+ t665 = x*t644;
+ t584 = RATIONAL(-1.0,49.0)*t666;
+ t664 = t584+RATIONAL(-21.0,200.0)*x;
+ t663 = t584+RATIONAL(21.0,200.0)*x;
+ t582 = RATIONAL(-2.0,49.0)*t666;
+ t625 = RATIONAL(1.0,5.0)*t646;
+ t660 = t582+RATIONAL(-41.0,98.0)*y+t625;
+ t586 = RATIONAL(1.0,49.0)*t666;
+ t659 = t586+RATIONAL(-53.0,98.0)*y+t625;
+ t658 = RATIONAL(191.0,2940.0)*y+t582+t620;
+ t657 = t586+RATIONAL(166.0,735.0)*y+t623;
+ t656 = t640*t645+RATIONAL(-1.0,40.0)*t665+t664+t676;
+ t655 = RATIONAL(1.0,40.0)*t665+RATIONAL(-1.0,30.0)*t645+t663+t676;
+ t654 = x*t622+RATIONAL(-1.0,120.0)*t645+t664+t679;
+ t653 = RATIONAL(1.0,120.0)*t645+x*t619+t663+t679;
+ t652 = RATIONAL(-11.0,150.0)*x+t662+t669;
+ t651 = RATIONAL(31.0,210.0)+RATIONAL(-1.0,140.0)*t643+t619+t670;
+ t650 = RATIONAL(-31.0,210.0)+RATIONAL(1.0,140.0)*t643+t622+t670;
+ t649 = RATIONAL(11.0,150.0)*x+t661+t669;
+ t593 = t634*t667;
+ t591 = RATIONAL(-2.0,35.0)*t667;
+ t590 = t642*t667;
+ t583 = t633*t667;
+ t578 = t641*t667;
+ t577 = RATIONAL(2.0,35.0)*t667;
+ coeff_dy_m2_m2 = t591+t652+t674;
+ coeff_dy_m1_m2 = t593+t655+t671;
+ coeff_dy_0_m2 = RATIONAL(-17.0,420.0)+t618+t613+t658;
+ coeff_dy_p1_m2 = t578+t656+t671;
+ coeff_dy_p2_m2 = t577+t649+t674;
+ coeff_dy_m2_m1 = t578+t653+t668;
+ coeff_dy_m1_m1 = t590+t650+t678;
+ coeff_dy_0_m1 = RATIONAL(-17.0,105.0)+t622+t615+t657;
+ coeff_dy_p1_m1 = t583+t650+t677;
+ coeff_dy_p2_m1 = t593+t654+t668;
+ coeff_dy_m2_0 = t577+t660;
+ coeff_dy_m1_0 = t578+t659;
+ coeff_dy_0_0 = RATIONAL(-57.0,98.0)*y+t625+t588;
+ coeff_dy_p1_0 = t593+t659;
+ coeff_dy_p2_0 = t591+t660;
+ coeff_dy_m2_p1 = t578+t654+t672;
+ coeff_dy_m1_p1 = t590+t651+t677;
+ coeff_dy_0_p1 = RATIONAL(17.0,105.0)+t621+t619+t657;
+ coeff_dy_p1_p1 = t583+t651+t678;
+ coeff_dy_p2_p1 = t593+t653+t672;
+ coeff_dy_m2_p2 = t591+t649+t673;
+ coeff_dy_m1_p2 = t593+t656+t675;
+ coeff_dy_0_p2 = t616+t624+RATIONAL(17.0,420.0)+t658;
+ coeff_dy_p1_p2 = t578+t655+t675;
+ coeff_dy_p2_p2 = t577+t652+t673;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..f7dc31e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,107 @@
+fp t838,
+ t818,
+ t839,
+ t824,
+ t856,
+ t855,
+ t834,
+ t816,
+ t854,
+ t820,
+ t853,
+ t852,
+ t823,
+ t808,
+ t821,
+ t825,
+ t815,
+ t851,
+ t810,
+ t850,
+ t822,
+ t849,
+ t848,
+ t802,
+ t847,
+ t805,
+ t846,
+ t845,
+ t844,
+ t843,
+ t842,
+ t841,
+ t840,
+ t819,
+ t817,
+ t814,
+ t813,
+ t807,
+ t806,
+ t804,
+ t803;
+ t838 = x*x;
+ t818 = RATIONAL(-1.0,49.0)*t838;
+ t839 = y*y;
+ t824 = RATIONAL(-2.0,5.0)*t839;
+ t856 = RATIONAL(226.0,735.0)+t818+t824;
+ t855 = RATIONAL(181.0,735.0)+RATIONAL(1.0,98.0)*t838+t824;
+ t834 = RATIONAL(1.0,10.0);
+ t816 = t834*t839;
+ t854 = RATIONAL(71.0,2940.0)+t816+t818;
+ t820 = RATIONAL(2.0,49.0)*t838;
+ t853 = RATIONAL(-289.0,2940.0)+t816+t820;
+ t852 = x*y;
+ t823 = RATIONAL(1.0,5.0)*y;
+ t808 = t834*y;
+ t821 = RATIONAL(-1.0,10.0)*y;
+ t825 = RATIONAL(-1.0,5.0)*y;
+ t815 = RATIONAL(-2.0,49.0)*t838;
+ t851 = RATIONAL(191.0,2940.0)+t815+t816;
+ t810 = RATIONAL(1.0,49.0)*t838;
+ t850 = RATIONAL(166.0,735.0)+t810+t824;
+ t822 = RATIONAL(3.0,5.0)*t839;
+ t849 = RATIONAL(-53.0,98.0)+t810+t822;
+ t848 = RATIONAL(-41.0,98.0)+t815+t822;
+ t802 = x*t821;
+ t847 = t802+t853;
+ t805 = x*t808;
+ t846 = t805+t853;
+ t845 = RATIONAL(1.0,70.0)*x+t855;
+ t844 = RATIONAL(-1.0,70.0)*x+t855;
+ t843 = t823+t856;
+ t842 = t825+t856;
+ t841 = t821+t854;
+ t840 = t808+t854;
+ t819 = RATIONAL(-2.0,35.0)*x;
+ t817 = RATIONAL(-1.0,35.0)*x;
+ t814 = RATIONAL(1.0,35.0)*x;
+ t813 = RATIONAL(2.0,35.0)*x;
+ t807 = x*t825;
+ t806 = x*t823;
+ t804 = RATIONAL(1.0,20.0)*t852;
+ t803 = RATIONAL(-1.0,20.0)*t852;
+ coeff_dyy_m2_m2 = t821+t819+t846;
+ coeff_dyy_m1_m2 = t817+t804+t841;
+ coeff_dyy_0_m2 = t821+t851;
+ coeff_dyy_p1_m2 = t803+t814+t841;
+ coeff_dyy_p2_m2 = t813+t821+t847;
+ coeff_dyy_m2_m1 = t807+t814+t843;
+ coeff_dyy_m1_m1 = t802+t823+t845;
+ coeff_dyy_0_m1 = t823+t850;
+ coeff_dyy_p1_m1 = t823+t805+t844;
+ coeff_dyy_p2_m1 = t817+t806+t843;
+ coeff_dyy_m2_0 = t813+t848;
+ coeff_dyy_m1_0 = t814+t849;
+ coeff_dyy_0_0 = t820+RATIONAL(-57.0,98.0)+t822;
+ coeff_dyy_p1_0 = t817+t849;
+ coeff_dyy_p2_0 = t819+t848;
+ coeff_dyy_m2_p1 = t806+t814+t842;
+ coeff_dyy_m1_p1 = t825+t805+t845;
+ coeff_dyy_0_p1 = t825+t850;
+ coeff_dyy_p1_p1 = t802+t825+t844;
+ coeff_dyy_p2_p1 = t817+t807+t842;
+ coeff_dyy_m2_p2 = t819+t808+t847;
+ coeff_dyy_m1_p2 = t803+t817+t840;
+ coeff_dyy_0_p2 = t808+t851;
+ coeff_dyy_p1_p2 = t814+t804+t840;
+ coeff_dyy_p2_p2 = t808+t813+t846;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-I.dcl.c
new file mode 100644
index 0000000..af64cc9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-I.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_I_0_0,
+ coeff_I_p1_0,
+ coeff_I_0_p1,
+ coeff_I_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dx.dcl.c
new file mode 100644
index 0000000..7d73499
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dx.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_dx_0_0,
+ coeff_dx_p1_0,
+ coeff_dx_0_p1,
+ coeff_dx_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dy.dcl.c
new file mode 100644
index 0000000..6f95065
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/coeff-dy.dcl.c
@@ -0,0 +1,4 @@
+fp coeff_dy_0_0,
+ coeff_dy_p1_0,
+ coeff_dy_0_p1,
+ coeff_dy_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.assign.c
new file mode 100644
index 0000000..9aceea0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.assign.c
@@ -0,0 +1,4 @@
+data_0_0 = DATA(0,0);
+data_p1_0 = DATA(1,0);
+data_0_p1 = DATA(0,1);
+data_p1_p1 = DATA(1,1);
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.dcl.c
new file mode 100644
index 0000000..b2090e4
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/data-var.dcl.c
@@ -0,0 +1,4 @@
+fp data_0_0,
+ data_p1_0,
+ data_0_p1,
+ data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-I.compute.c
new file mode 100644
index 0000000..9253b6c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-I.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_I_0_0*data_0_0
+ + coeff_I_p1_0*data_p1_0
+ + coeff_I_0_p1*data_0_p1
+ + coeff_I_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dx.compute.c
new file mode 100644
index 0000000..c29ba6d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dx.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_dx_0_0*data_0_0
+ + coeff_dx_p1_0*data_p1_0
+ + coeff_dx_0_p1*data_0_p1
+ + coeff_dx_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dy.compute.c
new file mode 100644
index 0000000..ca30ad0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size2/interp-dy.compute.c
@@ -0,0 +1,5 @@
+result =
+ coeff_dy_0_0*data_0_0
+ + coeff_dy_p1_0*data_p1_0
+ + coeff_dy_0_p1*data_0_p1
+ + coeff_dy_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-I.dcl.c
new file mode 100644
index 0000000..3f4b0cb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-I.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_I_m1_m1,
+ coeff_I_0_m1,
+ coeff_I_p1_m1,
+ coeff_I_m1_0,
+ coeff_I_0_0,
+ coeff_I_p1_0,
+ coeff_I_m1_p1,
+ coeff_I_0_p1,
+ coeff_I_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dx.dcl.c
new file mode 100644
index 0000000..3efed8a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dx.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_dx_m1_m1,
+ coeff_dx_0_m1,
+ coeff_dx_p1_m1,
+ coeff_dx_m1_0,
+ coeff_dx_0_0,
+ coeff_dx_p1_0,
+ coeff_dx_m1_p1,
+ coeff_dx_0_p1,
+ coeff_dx_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c
new file mode 100644
index 0000000..2c62a96
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_dxx_m1_m1,
+ coeff_dxx_0_m1,
+ coeff_dxx_p1_m1,
+ coeff_dxx_m1_0,
+ coeff_dxx_0_0,
+ coeff_dxx_p1_0,
+ coeff_dxx_m1_p1,
+ coeff_dxx_0_p1,
+ coeff_dxx_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c
new file mode 100644
index 0000000..0b6a45b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_dxy_m1_m1,
+ coeff_dxy_0_m1,
+ coeff_dxy_p1_m1,
+ coeff_dxy_m1_0,
+ coeff_dxy_0_0,
+ coeff_dxy_p1_0,
+ coeff_dxy_m1_p1,
+ coeff_dxy_0_p1,
+ coeff_dxy_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dy.dcl.c
new file mode 100644
index 0000000..1aebea8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dy.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_dy_m1_m1,
+ coeff_dy_0_m1,
+ coeff_dy_p1_m1,
+ coeff_dy_m1_0,
+ coeff_dy_0_0,
+ coeff_dy_p1_0,
+ coeff_dy_m1_p1,
+ coeff_dy_0_p1,
+ coeff_dy_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c
new file mode 100644
index 0000000..52b76c9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c
@@ -0,0 +1,9 @@
+fp coeff_dyy_m1_m1,
+ coeff_dyy_0_m1,
+ coeff_dyy_p1_m1,
+ coeff_dyy_m1_0,
+ coeff_dyy_0_0,
+ coeff_dyy_p1_0,
+ coeff_dyy_m1_p1,
+ coeff_dyy_0_p1,
+ coeff_dyy_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.assign.c
new file mode 100644
index 0000000..bb68189
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.assign.c
@@ -0,0 +1,9 @@
+data_m1_m1 = DATA(-1,-1);
+data_0_m1 = DATA(0,-1);
+data_p1_m1 = DATA(1,-1);
+data_m1_0 = DATA(-1,0);
+data_0_0 = DATA(0,0);
+data_p1_0 = DATA(1,0);
+data_m1_p1 = DATA(-1,1);
+data_0_p1 = DATA(0,1);
+data_p1_p1 = DATA(1,1);
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.dcl.c
new file mode 100644
index 0000000..77a064e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/data-var.dcl.c
@@ -0,0 +1,9 @@
+fp data_m1_m1,
+ data_0_m1,
+ data_p1_m1,
+ data_m1_0,
+ data_0_0,
+ data_p1_0,
+ data_m1_p1,
+ data_0_p1,
+ data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-I.compute.c
new file mode 100644
index 0000000..b9249fa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-I.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_I_m1_m1*data_m1_m1
+ + coeff_I_0_m1*data_0_m1
+ + coeff_I_p1_m1*data_p1_m1
+ + coeff_I_m1_0*data_m1_0
+ + coeff_I_0_0*data_0_0
+ + coeff_I_p1_0*data_p1_0
+ + coeff_I_m1_p1*data_m1_p1
+ + coeff_I_0_p1*data_0_p1
+ + coeff_I_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dx.compute.c
new file mode 100644
index 0000000..f7d5f3a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dx.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_dx_m1_m1*data_m1_m1
+ + coeff_dx_0_m1*data_0_m1
+ + coeff_dx_p1_m1*data_p1_m1
+ + coeff_dx_m1_0*data_m1_0
+ + coeff_dx_0_0*data_0_0
+ + coeff_dx_p1_0*data_p1_0
+ + coeff_dx_m1_p1*data_m1_p1
+ + coeff_dx_0_p1*data_0_p1
+ + coeff_dx_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxx.compute.c
new file mode 100644
index 0000000..9764dbc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxx.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_dxx_m1_m1*data_m1_m1
+ + coeff_dxx_0_m1*data_0_m1
+ + coeff_dxx_p1_m1*data_p1_m1
+ + coeff_dxx_m1_0*data_m1_0
+ + coeff_dxx_0_0*data_0_0
+ + coeff_dxx_p1_0*data_p1_0
+ + coeff_dxx_m1_p1*data_m1_p1
+ + coeff_dxx_0_p1*data_0_p1
+ + coeff_dxx_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxy.compute.c
new file mode 100644
index 0000000..5c9faa7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dxy.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_dxy_m1_m1*data_m1_m1
+ + coeff_dxy_0_m1*data_0_m1
+ + coeff_dxy_p1_m1*data_p1_m1
+ + coeff_dxy_m1_0*data_m1_0
+ + coeff_dxy_0_0*data_0_0
+ + coeff_dxy_p1_0*data_p1_0
+ + coeff_dxy_m1_p1*data_m1_p1
+ + coeff_dxy_0_p1*data_0_p1
+ + coeff_dxy_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dy.compute.c
new file mode 100644
index 0000000..d4eb9ca
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dy.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_dy_m1_m1*data_m1_m1
+ + coeff_dy_0_m1*data_0_m1
+ + coeff_dy_p1_m1*data_p1_m1
+ + coeff_dy_m1_0*data_m1_0
+ + coeff_dy_0_0*data_0_0
+ + coeff_dy_p1_0*data_p1_0
+ + coeff_dy_m1_p1*data_m1_p1
+ + coeff_dy_0_p1*data_0_p1
+ + coeff_dy_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dyy.compute.c
new file mode 100644
index 0000000..6ee2445
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size3/interp-dyy.compute.c
@@ -0,0 +1,10 @@
+result =
+ coeff_dyy_m1_m1*data_m1_m1
+ + coeff_dyy_0_m1*data_0_m1
+ + coeff_dyy_p1_m1*data_p1_m1
+ + coeff_dyy_m1_0*data_m1_0
+ + coeff_dyy_0_0*data_0_0
+ + coeff_dyy_p1_0*data_p1_0
+ + coeff_dyy_m1_p1*data_m1_p1
+ + coeff_dyy_0_p1*data_0_p1
+ + coeff_dyy_p1_p1*data_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-I.dcl.c
new file mode 100644
index 0000000..d35d81b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-I.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_I_m1_m1,
+ coeff_I_0_m1,
+ coeff_I_p1_m1,
+ coeff_I_p2_m1,
+ coeff_I_m1_0,
+ coeff_I_0_0,
+ coeff_I_p1_0,
+ coeff_I_p2_0,
+ coeff_I_m1_p1,
+ coeff_I_0_p1,
+ coeff_I_p1_p1,
+ coeff_I_p2_p1,
+ coeff_I_m1_p2,
+ coeff_I_0_p2,
+ coeff_I_p1_p2,
+ coeff_I_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dx.dcl.c
new file mode 100644
index 0000000..edfc9bb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dx.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_dx_m1_m1,
+ coeff_dx_0_m1,
+ coeff_dx_p1_m1,
+ coeff_dx_p2_m1,
+ coeff_dx_m1_0,
+ coeff_dx_0_0,
+ coeff_dx_p1_0,
+ coeff_dx_p2_0,
+ coeff_dx_m1_p1,
+ coeff_dx_0_p1,
+ coeff_dx_p1_p1,
+ coeff_dx_p2_p1,
+ coeff_dx_m1_p2,
+ coeff_dx_0_p2,
+ coeff_dx_p1_p2,
+ coeff_dx_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c
new file mode 100644
index 0000000..b5add16
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_dxx_m1_m1,
+ coeff_dxx_0_m1,
+ coeff_dxx_p1_m1,
+ coeff_dxx_p2_m1,
+ coeff_dxx_m1_0,
+ coeff_dxx_0_0,
+ coeff_dxx_p1_0,
+ coeff_dxx_p2_0,
+ coeff_dxx_m1_p1,
+ coeff_dxx_0_p1,
+ coeff_dxx_p1_p1,
+ coeff_dxx_p2_p1,
+ coeff_dxx_m1_p2,
+ coeff_dxx_0_p2,
+ coeff_dxx_p1_p2,
+ coeff_dxx_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c
new file mode 100644
index 0000000..853b503
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_dxy_m1_m1,
+ coeff_dxy_0_m1,
+ coeff_dxy_p1_m1,
+ coeff_dxy_p2_m1,
+ coeff_dxy_m1_0,
+ coeff_dxy_0_0,
+ coeff_dxy_p1_0,
+ coeff_dxy_p2_0,
+ coeff_dxy_m1_p1,
+ coeff_dxy_0_p1,
+ coeff_dxy_p1_p1,
+ coeff_dxy_p2_p1,
+ coeff_dxy_m1_p2,
+ coeff_dxy_0_p2,
+ coeff_dxy_p1_p2,
+ coeff_dxy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dy.dcl.c
new file mode 100644
index 0000000..e27b5ff
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dy.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_dy_m1_m1,
+ coeff_dy_0_m1,
+ coeff_dy_p1_m1,
+ coeff_dy_p2_m1,
+ coeff_dy_m1_0,
+ coeff_dy_0_0,
+ coeff_dy_p1_0,
+ coeff_dy_p2_0,
+ coeff_dy_m1_p1,
+ coeff_dy_0_p1,
+ coeff_dy_p1_p1,
+ coeff_dy_p2_p1,
+ coeff_dy_m1_p2,
+ coeff_dy_0_p2,
+ coeff_dy_p1_p2,
+ coeff_dy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c
new file mode 100644
index 0000000..ee37cfe
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c
@@ -0,0 +1,16 @@
+fp coeff_dyy_m1_m1,
+ coeff_dyy_0_m1,
+ coeff_dyy_p1_m1,
+ coeff_dyy_p2_m1,
+ coeff_dyy_m1_0,
+ coeff_dyy_0_0,
+ coeff_dyy_p1_0,
+ coeff_dyy_p2_0,
+ coeff_dyy_m1_p1,
+ coeff_dyy_0_p1,
+ coeff_dyy_p1_p1,
+ coeff_dyy_p2_p1,
+ coeff_dyy_m1_p2,
+ coeff_dyy_0_p2,
+ coeff_dyy_p1_p2,
+ coeff_dyy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.assign.c
new file mode 100644
index 0000000..d0316f1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.assign.c
@@ -0,0 +1,16 @@
+data_m1_m1 = DATA(-1,-1);
+data_0_m1 = DATA(0,-1);
+data_p1_m1 = DATA(1,-1);
+data_p2_m1 = DATA(2,-1);
+data_m1_0 = DATA(-1,0);
+data_0_0 = DATA(0,0);
+data_p1_0 = DATA(1,0);
+data_p2_0 = DATA(2,0);
+data_m1_p1 = DATA(-1,1);
+data_0_p1 = DATA(0,1);
+data_p1_p1 = DATA(1,1);
+data_p2_p1 = DATA(2,1);
+data_m1_p2 = DATA(-1,2);
+data_0_p2 = DATA(0,2);
+data_p1_p2 = DATA(1,2);
+data_p2_p2 = DATA(2,2);
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.dcl.c
new file mode 100644
index 0000000..abbfb5d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/data-var.dcl.c
@@ -0,0 +1,16 @@
+fp data_m1_m1,
+ data_0_m1,
+ data_p1_m1,
+ data_p2_m1,
+ data_m1_0,
+ data_0_0,
+ data_p1_0,
+ data_p2_0,
+ data_m1_p1,
+ data_0_p1,
+ data_p1_p1,
+ data_p2_p1,
+ data_m1_p2,
+ data_0_p2,
+ data_p1_p2,
+ data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-I.compute.c
new file mode 100644
index 0000000..cf13e49
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-I.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_I_m1_m1*data_m1_m1
+ + coeff_I_0_m1*data_0_m1
+ + coeff_I_p1_m1*data_p1_m1
+ + coeff_I_p2_m1*data_p2_m1
+ + coeff_I_m1_0*data_m1_0
+ + coeff_I_0_0*data_0_0
+ + coeff_I_p1_0*data_p1_0
+ + coeff_I_p2_0*data_p2_0
+ + coeff_I_m1_p1*data_m1_p1
+ + coeff_I_0_p1*data_0_p1
+ + coeff_I_p1_p1*data_p1_p1
+ + coeff_I_p2_p1*data_p2_p1
+ + coeff_I_m1_p2*data_m1_p2
+ + coeff_I_0_p2*data_0_p2
+ + coeff_I_p1_p2*data_p1_p2
+ + coeff_I_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dx.compute.c
new file mode 100644
index 0000000..69f9f56
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dx.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_dx_m1_m1*data_m1_m1
+ + coeff_dx_0_m1*data_0_m1
+ + coeff_dx_p1_m1*data_p1_m1
+ + coeff_dx_p2_m1*data_p2_m1
+ + coeff_dx_m1_0*data_m1_0
+ + coeff_dx_0_0*data_0_0
+ + coeff_dx_p1_0*data_p1_0
+ + coeff_dx_p2_0*data_p2_0
+ + coeff_dx_m1_p1*data_m1_p1
+ + coeff_dx_0_p1*data_0_p1
+ + coeff_dx_p1_p1*data_p1_p1
+ + coeff_dx_p2_p1*data_p2_p1
+ + coeff_dx_m1_p2*data_m1_p2
+ + coeff_dx_0_p2*data_0_p2
+ + coeff_dx_p1_p2*data_p1_p2
+ + coeff_dx_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxx.compute.c
new file mode 100644
index 0000000..9ce20a1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxx.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_dxx_m1_m1*data_m1_m1
+ + coeff_dxx_0_m1*data_0_m1
+ + coeff_dxx_p1_m1*data_p1_m1
+ + coeff_dxx_p2_m1*data_p2_m1
+ + coeff_dxx_m1_0*data_m1_0
+ + coeff_dxx_0_0*data_0_0
+ + coeff_dxx_p1_0*data_p1_0
+ + coeff_dxx_p2_0*data_p2_0
+ + coeff_dxx_m1_p1*data_m1_p1
+ + coeff_dxx_0_p1*data_0_p1
+ + coeff_dxx_p1_p1*data_p1_p1
+ + coeff_dxx_p2_p1*data_p2_p1
+ + coeff_dxx_m1_p2*data_m1_p2
+ + coeff_dxx_0_p2*data_0_p2
+ + coeff_dxx_p1_p2*data_p1_p2
+ + coeff_dxx_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxy.compute.c
new file mode 100644
index 0000000..5130c7b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dxy.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_dxy_m1_m1*data_m1_m1
+ + coeff_dxy_0_m1*data_0_m1
+ + coeff_dxy_p1_m1*data_p1_m1
+ + coeff_dxy_p2_m1*data_p2_m1
+ + coeff_dxy_m1_0*data_m1_0
+ + coeff_dxy_0_0*data_0_0
+ + coeff_dxy_p1_0*data_p1_0
+ + coeff_dxy_p2_0*data_p2_0
+ + coeff_dxy_m1_p1*data_m1_p1
+ + coeff_dxy_0_p1*data_0_p1
+ + coeff_dxy_p1_p1*data_p1_p1
+ + coeff_dxy_p2_p1*data_p2_p1
+ + coeff_dxy_m1_p2*data_m1_p2
+ + coeff_dxy_0_p2*data_0_p2
+ + coeff_dxy_p1_p2*data_p1_p2
+ + coeff_dxy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dy.compute.c
new file mode 100644
index 0000000..f671033
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dy.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_dy_m1_m1*data_m1_m1
+ + coeff_dy_0_m1*data_0_m1
+ + coeff_dy_p1_m1*data_p1_m1
+ + coeff_dy_p2_m1*data_p2_m1
+ + coeff_dy_m1_0*data_m1_0
+ + coeff_dy_0_0*data_0_0
+ + coeff_dy_p1_0*data_p1_0
+ + coeff_dy_p2_0*data_p2_0
+ + coeff_dy_m1_p1*data_m1_p1
+ + coeff_dy_0_p1*data_0_p1
+ + coeff_dy_p1_p1*data_p1_p1
+ + coeff_dy_p2_p1*data_p2_p1
+ + coeff_dy_m1_p2*data_m1_p2
+ + coeff_dy_0_p2*data_0_p2
+ + coeff_dy_p1_p2*data_p1_p2
+ + coeff_dy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dyy.compute.c
new file mode 100644
index 0000000..112e958
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size4/interp-dyy.compute.c
@@ -0,0 +1,17 @@
+result =
+ coeff_dyy_m1_m1*data_m1_m1
+ + coeff_dyy_0_m1*data_0_m1
+ + coeff_dyy_p1_m1*data_p1_m1
+ + coeff_dyy_p2_m1*data_p2_m1
+ + coeff_dyy_m1_0*data_m1_0
+ + coeff_dyy_0_0*data_0_0
+ + coeff_dyy_p1_0*data_p1_0
+ + coeff_dyy_p2_0*data_p2_0
+ + coeff_dyy_m1_p1*data_m1_p1
+ + coeff_dyy_0_p1*data_0_p1
+ + coeff_dyy_p1_p1*data_p1_p1
+ + coeff_dyy_p2_p1*data_p2_p1
+ + coeff_dyy_m1_p2*data_m1_p2
+ + coeff_dyy_0_p2*data_0_p2
+ + coeff_dyy_p1_p2*data_p1_p2
+ + coeff_dyy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-I.dcl.c
new file mode 100644
index 0000000..64d7a53
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-I.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_I_m2_m2,
+ coeff_I_m1_m2,
+ coeff_I_0_m2,
+ coeff_I_p1_m2,
+ coeff_I_p2_m2,
+ coeff_I_m2_m1,
+ coeff_I_m1_m1,
+ coeff_I_0_m1,
+ coeff_I_p1_m1,
+ coeff_I_p2_m1,
+ coeff_I_m2_0,
+ coeff_I_m1_0,
+ coeff_I_0_0,
+ coeff_I_p1_0,
+ coeff_I_p2_0,
+ coeff_I_m2_p1,
+ coeff_I_m1_p1,
+ coeff_I_0_p1,
+ coeff_I_p1_p1,
+ coeff_I_p2_p1,
+ coeff_I_m2_p2,
+ coeff_I_m1_p2,
+ coeff_I_0_p2,
+ coeff_I_p1_p2,
+ coeff_I_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dx.dcl.c
new file mode 100644
index 0000000..965e5ab
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dx.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_dx_m2_m2,
+ coeff_dx_m1_m2,
+ coeff_dx_0_m2,
+ coeff_dx_p1_m2,
+ coeff_dx_p2_m2,
+ coeff_dx_m2_m1,
+ coeff_dx_m1_m1,
+ coeff_dx_0_m1,
+ coeff_dx_p1_m1,
+ coeff_dx_p2_m1,
+ coeff_dx_m2_0,
+ coeff_dx_m1_0,
+ coeff_dx_0_0,
+ coeff_dx_p1_0,
+ coeff_dx_p2_0,
+ coeff_dx_m2_p1,
+ coeff_dx_m1_p1,
+ coeff_dx_0_p1,
+ coeff_dx_p1_p1,
+ coeff_dx_p2_p1,
+ coeff_dx_m2_p2,
+ coeff_dx_m1_p2,
+ coeff_dx_0_p2,
+ coeff_dx_p1_p2,
+ coeff_dx_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c
new file mode 100644
index 0000000..9aa0041
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_dxx_m2_m2,
+ coeff_dxx_m1_m2,
+ coeff_dxx_0_m2,
+ coeff_dxx_p1_m2,
+ coeff_dxx_p2_m2,
+ coeff_dxx_m2_m1,
+ coeff_dxx_m1_m1,
+ coeff_dxx_0_m1,
+ coeff_dxx_p1_m1,
+ coeff_dxx_p2_m1,
+ coeff_dxx_m2_0,
+ coeff_dxx_m1_0,
+ coeff_dxx_0_0,
+ coeff_dxx_p1_0,
+ coeff_dxx_p2_0,
+ coeff_dxx_m2_p1,
+ coeff_dxx_m1_p1,
+ coeff_dxx_0_p1,
+ coeff_dxx_p1_p1,
+ coeff_dxx_p2_p1,
+ coeff_dxx_m2_p2,
+ coeff_dxx_m1_p2,
+ coeff_dxx_0_p2,
+ coeff_dxx_p1_p2,
+ coeff_dxx_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c
new file mode 100644
index 0000000..37cd8db
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_dxy_m2_m2,
+ coeff_dxy_m1_m2,
+ coeff_dxy_0_m2,
+ coeff_dxy_p1_m2,
+ coeff_dxy_p2_m2,
+ coeff_dxy_m2_m1,
+ coeff_dxy_m1_m1,
+ coeff_dxy_0_m1,
+ coeff_dxy_p1_m1,
+ coeff_dxy_p2_m1,
+ coeff_dxy_m2_0,
+ coeff_dxy_m1_0,
+ coeff_dxy_0_0,
+ coeff_dxy_p1_0,
+ coeff_dxy_p2_0,
+ coeff_dxy_m2_p1,
+ coeff_dxy_m1_p1,
+ coeff_dxy_0_p1,
+ coeff_dxy_p1_p1,
+ coeff_dxy_p2_p1,
+ coeff_dxy_m2_p2,
+ coeff_dxy_m1_p2,
+ coeff_dxy_0_p2,
+ coeff_dxy_p1_p2,
+ coeff_dxy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dy.dcl.c
new file mode 100644
index 0000000..b90bf19
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dy.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_dy_m2_m2,
+ coeff_dy_m1_m2,
+ coeff_dy_0_m2,
+ coeff_dy_p1_m2,
+ coeff_dy_p2_m2,
+ coeff_dy_m2_m1,
+ coeff_dy_m1_m1,
+ coeff_dy_0_m1,
+ coeff_dy_p1_m1,
+ coeff_dy_p2_m1,
+ coeff_dy_m2_0,
+ coeff_dy_m1_0,
+ coeff_dy_0_0,
+ coeff_dy_p1_0,
+ coeff_dy_p2_0,
+ coeff_dy_m2_p1,
+ coeff_dy_m1_p1,
+ coeff_dy_0_p1,
+ coeff_dy_p1_p1,
+ coeff_dy_p2_p1,
+ coeff_dy_m2_p2,
+ coeff_dy_m1_p2,
+ coeff_dy_0_p2,
+ coeff_dy_p1_p2,
+ coeff_dy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c
new file mode 100644
index 0000000..45b91b2
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c
@@ -0,0 +1,25 @@
+fp coeff_dyy_m2_m2,
+ coeff_dyy_m1_m2,
+ coeff_dyy_0_m2,
+ coeff_dyy_p1_m2,
+ coeff_dyy_p2_m2,
+ coeff_dyy_m2_m1,
+ coeff_dyy_m1_m1,
+ coeff_dyy_0_m1,
+ coeff_dyy_p1_m1,
+ coeff_dyy_p2_m1,
+ coeff_dyy_m2_0,
+ coeff_dyy_m1_0,
+ coeff_dyy_0_0,
+ coeff_dyy_p1_0,
+ coeff_dyy_p2_0,
+ coeff_dyy_m2_p1,
+ coeff_dyy_m1_p1,
+ coeff_dyy_0_p1,
+ coeff_dyy_p1_p1,
+ coeff_dyy_p2_p1,
+ coeff_dyy_m2_p2,
+ coeff_dyy_m1_p2,
+ coeff_dyy_0_p2,
+ coeff_dyy_p1_p2,
+ coeff_dyy_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.assign.c
new file mode 100644
index 0000000..054be56
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.assign.c
@@ -0,0 +1,25 @@
+data_m2_m2 = DATA(-2,-2);
+data_m1_m2 = DATA(-1,-2);
+data_0_m2 = DATA(0,-2);
+data_p1_m2 = DATA(1,-2);
+data_p2_m2 = DATA(2,-2);
+data_m2_m1 = DATA(-2,-1);
+data_m1_m1 = DATA(-1,-1);
+data_0_m1 = DATA(0,-1);
+data_p1_m1 = DATA(1,-1);
+data_p2_m1 = DATA(2,-1);
+data_m2_0 = DATA(-2,0);
+data_m1_0 = DATA(-1,0);
+data_0_0 = DATA(0,0);
+data_p1_0 = DATA(1,0);
+data_p2_0 = DATA(2,0);
+data_m2_p1 = DATA(-2,1);
+data_m1_p1 = DATA(-1,1);
+data_0_p1 = DATA(0,1);
+data_p1_p1 = DATA(1,1);
+data_p2_p1 = DATA(2,1);
+data_m2_p2 = DATA(-2,2);
+data_m1_p2 = DATA(-1,2);
+data_0_p2 = DATA(0,2);
+data_p1_p2 = DATA(1,2);
+data_p2_p2 = DATA(2,2);
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.dcl.c
new file mode 100644
index 0000000..006894f
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/data-var.dcl.c
@@ -0,0 +1,25 @@
+fp data_m2_m2,
+ data_m1_m2,
+ data_0_m2,
+ data_p1_m2,
+ data_p2_m2,
+ data_m2_m1,
+ data_m1_m1,
+ data_0_m1,
+ data_p1_m1,
+ data_p2_m1,
+ data_m2_0,
+ data_m1_0,
+ data_0_0,
+ data_p1_0,
+ data_p2_0,
+ data_m2_p1,
+ data_m1_p1,
+ data_0_p1,
+ data_p1_p1,
+ data_p2_p1,
+ data_m2_p2,
+ data_m1_p2,
+ data_0_p2,
+ data_p1_p2,
+ data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-I.compute.c
new file mode 100644
index 0000000..63096fa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-I.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_I_m2_m2*data_m2_m2
+ + coeff_I_m1_m2*data_m1_m2
+ + coeff_I_0_m2*data_0_m2
+ + coeff_I_p1_m2*data_p1_m2
+ + coeff_I_p2_m2*data_p2_m2
+ + coeff_I_m2_m1*data_m2_m1
+ + coeff_I_m1_m1*data_m1_m1
+ + coeff_I_0_m1*data_0_m1
+ + coeff_I_p1_m1*data_p1_m1
+ + coeff_I_p2_m1*data_p2_m1
+ + coeff_I_m2_0*data_m2_0
+ + coeff_I_m1_0*data_m1_0
+ + coeff_I_0_0*data_0_0
+ + coeff_I_p1_0*data_p1_0
+ + coeff_I_p2_0*data_p2_0
+ + coeff_I_m2_p1*data_m2_p1
+ + coeff_I_m1_p1*data_m1_p1
+ + coeff_I_0_p1*data_0_p1
+ + coeff_I_p1_p1*data_p1_p1
+ + coeff_I_p2_p1*data_p2_p1
+ + coeff_I_m2_p2*data_m2_p2
+ + coeff_I_m1_p2*data_m1_p2
+ + coeff_I_0_p2*data_0_p2
+ + coeff_I_p1_p2*data_p1_p2
+ + coeff_I_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dx.compute.c
new file mode 100644
index 0000000..f92b558
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dx.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_dx_m2_m2*data_m2_m2
+ + coeff_dx_m1_m2*data_m1_m2
+ + coeff_dx_0_m2*data_0_m2
+ + coeff_dx_p1_m2*data_p1_m2
+ + coeff_dx_p2_m2*data_p2_m2
+ + coeff_dx_m2_m1*data_m2_m1
+ + coeff_dx_m1_m1*data_m1_m1
+ + coeff_dx_0_m1*data_0_m1
+ + coeff_dx_p1_m1*data_p1_m1
+ + coeff_dx_p2_m1*data_p2_m1
+ + coeff_dx_m2_0*data_m2_0
+ + coeff_dx_m1_0*data_m1_0
+ + coeff_dx_0_0*data_0_0
+ + coeff_dx_p1_0*data_p1_0
+ + coeff_dx_p2_0*data_p2_0
+ + coeff_dx_m2_p1*data_m2_p1
+ + coeff_dx_m1_p1*data_m1_p1
+ + coeff_dx_0_p1*data_0_p1
+ + coeff_dx_p1_p1*data_p1_p1
+ + coeff_dx_p2_p1*data_p2_p1
+ + coeff_dx_m2_p2*data_m2_p2
+ + coeff_dx_m1_p2*data_m1_p2
+ + coeff_dx_0_p2*data_0_p2
+ + coeff_dx_p1_p2*data_p1_p2
+ + coeff_dx_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxx.compute.c
new file mode 100644
index 0000000..699eb00
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxx.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_dxx_m2_m2*data_m2_m2
+ + coeff_dxx_m1_m2*data_m1_m2
+ + coeff_dxx_0_m2*data_0_m2
+ + coeff_dxx_p1_m2*data_p1_m2
+ + coeff_dxx_p2_m2*data_p2_m2
+ + coeff_dxx_m2_m1*data_m2_m1
+ + coeff_dxx_m1_m1*data_m1_m1
+ + coeff_dxx_0_m1*data_0_m1
+ + coeff_dxx_p1_m1*data_p1_m1
+ + coeff_dxx_p2_m1*data_p2_m1
+ + coeff_dxx_m2_0*data_m2_0
+ + coeff_dxx_m1_0*data_m1_0
+ + coeff_dxx_0_0*data_0_0
+ + coeff_dxx_p1_0*data_p1_0
+ + coeff_dxx_p2_0*data_p2_0
+ + coeff_dxx_m2_p1*data_m2_p1
+ + coeff_dxx_m1_p1*data_m1_p1
+ + coeff_dxx_0_p1*data_0_p1
+ + coeff_dxx_p1_p1*data_p1_p1
+ + coeff_dxx_p2_p1*data_p2_p1
+ + coeff_dxx_m2_p2*data_m2_p2
+ + coeff_dxx_m1_p2*data_m1_p2
+ + coeff_dxx_0_p2*data_0_p2
+ + coeff_dxx_p1_p2*data_p1_p2
+ + coeff_dxx_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxy.compute.c
new file mode 100644
index 0000000..57a6b8e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dxy.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_dxy_m2_m2*data_m2_m2
+ + coeff_dxy_m1_m2*data_m1_m2
+ + coeff_dxy_0_m2*data_0_m2
+ + coeff_dxy_p1_m2*data_p1_m2
+ + coeff_dxy_p2_m2*data_p2_m2
+ + coeff_dxy_m2_m1*data_m2_m1
+ + coeff_dxy_m1_m1*data_m1_m1
+ + coeff_dxy_0_m1*data_0_m1
+ + coeff_dxy_p1_m1*data_p1_m1
+ + coeff_dxy_p2_m1*data_p2_m1
+ + coeff_dxy_m2_0*data_m2_0
+ + coeff_dxy_m1_0*data_m1_0
+ + coeff_dxy_0_0*data_0_0
+ + coeff_dxy_p1_0*data_p1_0
+ + coeff_dxy_p2_0*data_p2_0
+ + coeff_dxy_m2_p1*data_m2_p1
+ + coeff_dxy_m1_p1*data_m1_p1
+ + coeff_dxy_0_p1*data_0_p1
+ + coeff_dxy_p1_p1*data_p1_p1
+ + coeff_dxy_p2_p1*data_p2_p1
+ + coeff_dxy_m2_p2*data_m2_p2
+ + coeff_dxy_m1_p2*data_m1_p2
+ + coeff_dxy_0_p2*data_0_p2
+ + coeff_dxy_p1_p2*data_p1_p2
+ + coeff_dxy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dy.compute.c
new file mode 100644
index 0000000..74bfb00
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dy.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_dy_m2_m2*data_m2_m2
+ + coeff_dy_m1_m2*data_m1_m2
+ + coeff_dy_0_m2*data_0_m2
+ + coeff_dy_p1_m2*data_p1_m2
+ + coeff_dy_p2_m2*data_p2_m2
+ + coeff_dy_m2_m1*data_m2_m1
+ + coeff_dy_m1_m1*data_m1_m1
+ + coeff_dy_0_m1*data_0_m1
+ + coeff_dy_p1_m1*data_p1_m1
+ + coeff_dy_p2_m1*data_p2_m1
+ + coeff_dy_m2_0*data_m2_0
+ + coeff_dy_m1_0*data_m1_0
+ + coeff_dy_0_0*data_0_0
+ + coeff_dy_p1_0*data_p1_0
+ + coeff_dy_p2_0*data_p2_0
+ + coeff_dy_m2_p1*data_m2_p1
+ + coeff_dy_m1_p1*data_m1_p1
+ + coeff_dy_0_p1*data_0_p1
+ + coeff_dy_p1_p1*data_p1_p1
+ + coeff_dy_p2_p1*data_p2_p1
+ + coeff_dy_m2_p2*data_m2_p2
+ + coeff_dy_m1_p2*data_m1_p2
+ + coeff_dy_0_p2*data_0_p2
+ + coeff_dy_p1_p2*data_p1_p2
+ + coeff_dy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dyy.compute.c
new file mode 100644
index 0000000..aaec7a2
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.coeffs/2d.cube.size5/interp-dyy.compute.c
@@ -0,0 +1,26 @@
+result =
+ coeff_dyy_m2_m2*data_m2_m2
+ + coeff_dyy_m1_m2*data_m1_m2
+ + coeff_dyy_0_m2*data_0_m2
+ + coeff_dyy_p1_m2*data_p1_m2
+ + coeff_dyy_p2_m2*data_p2_m2
+ + coeff_dyy_m2_m1*data_m2_m1
+ + coeff_dyy_m1_m1*data_m1_m1
+ + coeff_dyy_0_m1*data_0_m1
+ + coeff_dyy_p1_m1*data_p1_m1
+ + coeff_dyy_p2_m1*data_p2_m1
+ + coeff_dyy_m2_0*data_m2_0
+ + coeff_dyy_m1_0*data_m1_0
+ + coeff_dyy_0_0*data_0_0
+ + coeff_dyy_p1_0*data_p1_0
+ + coeff_dyy_p2_0*data_p2_0
+ + coeff_dyy_m2_p1*data_m2_p1
+ + coeff_dyy_m1_p1*data_m1_p1
+ + coeff_dyy_0_p1*data_0_p1
+ + coeff_dyy_p1_p1*data_p1_p1
+ + coeff_dyy_p2_p1*data_p2_p1
+ + coeff_dyy_m2_p2*data_m2_p2
+ + coeff_dyy_m1_p2*data_m1_p2
+ + coeff_dyy_0_p2*data_0_p2
+ + coeff_dyy_p1_p2*data_p1_p2
+ + coeff_dyy_p2_p2*data_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/2d.cube.order1.smooth0.c b/src/GeneralizedPolynomial-Uniform/2d.cube.order1.smooth0.c
new file mode 100644
index 0000000..cc8c695
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.cube.order1.smooth0.c
@@ -0,0 +1,39 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o1_s0
+#include "template.h"
+
+#define N_DIMS 2
+#define MOLECULE_SIZE 2
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+
+#define DATA_VAR_DCL_FILE_NAME "2d.coeffs/2d.cube.size2/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "2d.coeffs/2d.cube.size2/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "2d.coeffs/2d.cube.size2/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "2d.coeffs/2d.cube.size2/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "2d.coeffs/2d.cube.size2/coeff-dy.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size2/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size2/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size2/interp-dy.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/2d.cube.order2.smooth0.c b/src/GeneralizedPolynomial-Uniform/2d.cube.order2.smooth0.c
new file mode 100644
index 0000000..4e320d9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.cube.order2.smooth0.c
@@ -0,0 +1,51 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o2_s0
+#include "template.h"
+
+#define N_DIMS 2
+#define MOLECULE_SIZE 3
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DYY
+
+#define DATA_VAR_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "2d.coeffs/2d.cube.size3/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-dy.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-dy.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-dxy.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size3/interp-dyy.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/2d.cube.order3.smooth0.c b/src/GeneralizedPolynomial-Uniform/2d.cube.order3.smooth0.c
new file mode 100644
index 0000000..d75eaad
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.cube.order3.smooth0.c
@@ -0,0 +1,51 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o3_s0
+#include "template.h"
+
+#define N_DIMS 2
+#define MOLECULE_SIZE 4
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DYY
+
+#define DATA_VAR_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "2d.coeffs/2d.cube.size4/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-dy.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-dy.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-dxy.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size4/interp-dyy.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/2d.cube.order4.smooth0.c b/src/GeneralizedPolynomial-Uniform/2d.cube.order4.smooth0.c
new file mode 100644
index 0000000..73d70e7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.cube.order4.smooth0.c
@@ -0,0 +1,51 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o4_s0
+#include "template.h"
+
+#define N_DIMS 2
+#define MOLECULE_SIZE 5
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DYY
+
+#define DATA_VAR_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "2d.coeffs/2d.cube.size5/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-dy.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-dy.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-dxy.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.size5/interp-dyy.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/2d.log b/src/GeneralizedPolynomial-Uniform/2d.log
new file mode 100644
index 0000000..d98cc6d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.log
@@ -0,0 +1,4246 @@
+ |\^/| Maple 7 (IBM INTEL LINUX)
+._|\| |/|_. Copyright (c) 2001 by Waterloo Maple Inc.
+ \ MAPLE / All rights reserved. Maple is a registered trademark of
+ <____ ____> Waterloo Maple Inc.
+ | Type ? for help.
+# util.maple -- misc utility routines
+# $Id: util.maple,v 1.1 2001/06/29 09:36:22 jthorn Exp $
+>
+#
+# C_str - codegen[C](), but returning its result as a Maple string
+# fix_rationals - convert numbers to RATIONAL() calls
+# nonmatching_names - find names in a list which *don't* have a specified prefix
+# sprint_numeric_list - convert a numeric list to a valid C identifier suffix
+# print_name_list_dcl - print a C declaration for a list of names
+#
+# hypercube_points - compute all (integer) points in an N-dimensional hypercube
+#
+# ftruncate - truncate a file to zero length
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function is a wrapper around codegen[C]() which returns the
+# genenerated code explictly as a Maple string.
+#
+# Arguments:
+# expr = (in) The expression for which code is to be generated.
+# ... = (in) Any further arguments are taken as options to be passed
+# to codegen[C]()
+#
+# Results:
+# The function returns a maple string of C code.
+#
+> C_str :=
+> proc(expr::algebraic)
+> local tempname, str, temp;
+>
+# name of temp file
+# FIXME: should use process number to ensure uniqueness
+> tempname := "/tmp/C_str.tmp.c";
+>
+# truncate temp file to zero length
+> fopen(tempname, WRITE);
+> fclose(tempname);
+>
+# generate the code
+> codegen[C](args, filename=tempname);
+>
+# read the code back in
+> str := "";
+> while true
+> do
+> temp := readline(tempname);
+> if (temp = 0)
+> then break;
+> end if;
+> str := cat(str, temp);
+> end do;
+> fclose(tempname);
+>
+# strip off the leading " t0 = "
+> return op(2,sscanf(str, "%s = %[^;];"));
+> end proc;
+C_str := proc(expr::algebraic)
+local tempname, str, temp;
+ tempname := "/tmp/C_str.tmp.c";
+ fopen(tempname, WRITE);
+ fclose(tempname);
+ codegen[C](args, filename = tempname);
+ str := "";
+ do
+ temp := readline(tempname);
+ if temp = 0 then break end if;
+ str := cat(str, temp)
+ end do;
+ fclose(tempname);
+ return op(2, sscanf(str, "%s = %[^;];"))
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts all {integer, rational} subexpressions of its
+# input except integer exponents and -1 factors in products, into function
+# calls
+# RATIONAL(num,den)
+# This is useful in conjunction with the C() library function, since
+#
+# C( (1/3) * foo * bar )
+# t0 = foo*bar/3;
+#
+# generates a (slow) division (and runs the risk of mixed-mode-arithmetic
+# problems), while
+#
+# C((1.0/3.0) * foo * bar);
+# t0 = 0.3333333333*foo*bar;
+#
+# suffers from roundoff error. With this function,
+#
+# fix_rationals((1/3) * foo * bar);
+# RATIONAL(1,3) foo bar
+# C(%);
+# t0 = RATIONAL(1.0,3.0)*foo*bar;
+#
+# which a C preprocessor macro can easily convert to the desired
+#
+# t0 = (1.0/3.0)*foo*bar;
+#
+# Additionally, this function can be told to leave certain types of
+# subexpressions unconverged. For example,
+# fix_rationals(expr, type, specfunc(integer, DATA));
+# will leave all subexpressions of the form DATA(integer arguments)
+# unconverted.
+#
+# Arguments:
+# expr = (in) The expression to be converted.
+# inert_fn = (optional in)
+# If specified, this argument should be a Boolean procedure
+# or the name of a Boolean procedure. This procedure should
+# take one or more argument, and return true if and only if
+# the first argument should *not* be converted, i.e. if we
+# should leave this expression unchanged. See the last
+# example above.
+# ... = (optional in)
+# Any further arguments are passed as additional arguments to
+# the inert_fn procedure.
+#
+> fix_rationals :=
+> proc(
+> expr::{
+> algebraic, name = algebraic,
+> list({algebraic, name = algebraic}),
+> set ({algebraic, name = algebraic})
+> },
+> inert_fn::{name, procedure}
+> )
+> local nn, k,
+> base, power, fbase, fpower,
+> fn, fn_args_list,
+> num, den, mult;
+>
+# do we want to convert this expression?
+> if ((nargs >= 2) and inert_fn(expr, args[3..nargs]))
+> then return expr;
+> end if;
+>
+# recurse over lists and sets
+> if (type(expr, {list,set}))
+> then return map(fix_rationals, expr, args[2..nargs]);
+> end if;
+>
+# recurse over equation right hand sides
+> if (type(expr, name = algebraic))
+> then return ( lhs(expr) = fix_rationals(rhs(expr), args[2..nargs]) );
+> end if;
+>
+# recurse over functions other than RATIONAL()
+> if (type(expr, function))
+> then
+> fn := op(0, expr);
+> if (fn <> 'RATIONAL')
+> then
+> fn_args_list := [op(expr)];
+> fn_args_list := map(fix_rationals, fn_args_list, args[2..nargs]);
+> fn; return '%'( op(fn_args_list) );
+> end if;
+> end if;
+>
+> nn := nops(expr);
+>
+# recurse over sums
+> if (type(expr, `+`))
+> then return sum('fix_rationals(op(k,expr), args[2..nargs])', 'k'=1..nn);
+> end if;
+>
+# recurse over products
+# ... leaving leading -1 factors intact, i.e. not converted to RATIONAL(-1,1)
+> if (type(expr, `*`))
+> then
+> if (op(1, expr) = -1)
+> then return -1*fix_rationals(remove(type, expr, 'identical(-1)'),
+> args[2..nargs]);
+> else return product('fix_rationals(op(k,expr), args[2..nargs])',
+> 'k'=1..nn);
+> end if;
+> end if;
+>
+# recurse over powers
+# ... leaving integer exponents intact
+> if (type(expr, `^`))
+> then
+> base := op(1, expr);
+> power := op(2, expr);
+>
+> fbase := fix_rationals(base, args[2..nargs]);
+> if (type(power, integer))
+> then fpower := power;
+> else fpower := fix_rationals(power, args[2..nargs]);
+> end if;
+> return fbase ^ fpower;
+> end if;
+>
+# fix integers and fractions
+> if (type(expr, integer))
+> then return 'RATIONAL'(expr, 1);
+> end if;
+> if (type(expr, fraction))
+> then
+> num := op(1, expr);
+> den := op(2, expr);
+>
+> return 'RATIONAL'(num, den);
+> end if;
+>
+# turn Maple floating-point into integer fraction, then recursively fix that
+> if (type(expr, float))
+> then
+> mult := op(1, expr);
+> power := op(2, expr);
+> return fix_rationals(mult * 10^power, args[2..nargs]);
+> end if;
+>
+# identity op on names
+> if (type(expr, name))
+> then return expr;
+> end if;
+>
+# unknown type
+> error "%0",
+> "unknown type for expr!",
+> " whattype(expr) = ", whattype(expr),
+> " expr = ", expr;
+> end proc;
+fix_rationals := proc(expr::{algebraic, name = algebraic,
+list({algebraic, name = algebraic}), set({algebraic, name = algebraic})},
+inert_fn::{procedure, name})
+local nn, k, base, power, fbase, fpower, fn, fn_args_list, num, den, mult;
+ if 2 <= nargs and inert_fn(expr, args[3 .. nargs]) then return expr
+ end if;
+ if type(expr, {set, list}) then
+ return map(fix_rationals, expr, args[2 .. nargs])
+ end if;
+ if type(expr, name = algebraic) then
+ return lhs(expr) = fix_rationals(rhs(expr), args[2 .. nargs])
+ end if;
+ if type(expr, function) then
+ fn := op(0, expr);
+ if fn <> 'RATIONAL' then
+ fn_args_list := [op(expr)];
+ fn_args_list :=
+ map(fix_rationals, fn_args_list, args[2 .. nargs]);
+ fn;
+ return '%'(op(fn_args_list))
+ end if
+ end if;
+ nn := nops(expr);
+ if type(expr, `+`) then return
+ sum('fix_rationals(op(k, expr), args[2 .. nargs])', 'k' = 1 .. nn)
+ end if;
+ if type(expr, `*`) then
+ if op(1, expr) = -1 then return -fix_rationals(
+ remove(type, expr, 'identical(-1)'), args[2 .. nargs])
+ else return product('fix_rationals(op(k, expr), args[2 .. nargs])',
+ 'k' = 1 .. nn)
+ end if
+ end if;
+ if type(expr, `^`) then
+ base := op(1, expr);
+ power := op(2, expr);
+ fbase := fix_rationals(base, args[2 .. nargs]);
+ if type(power, integer) then fpower := power
+ else fpower := fix_rationals(power, args[2 .. nargs])
+ end if;
+ return fbase^fpower
+ end if;
+ if type(expr, integer) then return 'RATIONAL'(expr, 1) end if;
+ if type(expr, fraction) then
+ num := op(1, expr); den := op(2, expr); return 'RATIONAL'(num, den)
+ end if;
+ if type(expr, float) then
+ mult := op(1, expr);
+ power := op(2, expr);
+ return fix_rationals(mult*10^power, args[2 .. nargs])
+ end if;
+ if type(expr, name) then return expr end if;
+ error "%0", "unknown type for expr!", " whattype(expr) = ",
+ whattype(expr), " expr = ", expr
+end proc
+
+>
+################################################################################
+>
+#
+# This function finds names in a list which *don't* have a specified prefix.
+#
+# Arguments:
+# name_list = A list of the names.
+# prefix = The prefix we want to filter out.
+#
+# Results:
+# This function returns the subset list of names which don't have the
+# specified prefix.
+#
+> nonmatching_names :=
+> proc( name_list::list({name,string}), prefix::{name,string} )
+>
+> select( proc(n)
+> evalb(not StringTools[IsPrefix](prefix,n));
+> end proc
+> ,
+> name_list
+> );
+> end proc;
+nonmatching_names := proc(
+name_list::list({name, string}), prefix::{name, string})
+ select(proc(n) evalb(not StringTools[IsPrefix](prefix, n)) end proc,
+ name_list)
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts a numeric list to a string which is a valid
+# C identifier suffix: elements are separated by "_", decimal points are
+# replaced by "x", and all nonzero values have explicit +/- signs, which
+# are replaced by "p"/"m".
+#
+# For example, [0,-3.5,+4] --> "0_m3x5_p4".
+#
+> sprint_numeric_list :=
+> proc(nlist::list(numeric))
+>
+# generate preliminary string, eg "+0_-3.5_+4"
+> map2(sprintf, "%+a", nlist);
+> ListTools[Join](%, "_");
+> cat(op(%));
+>
+# fixup bad characters
+> StringTools[SubstituteAll](%, "+0", "0");
+> StringTools[CharacterMap](".+-", "xpm", %);
+>
+> return %;
+> end proc;
+sprint_numeric_list := proc(nlist::list(numeric))
+ map2(sprintf, "%+a", nlist);
+ ListTools[Join](%, "_");
+ cat(op(%));
+ StringTools[SubstituteAll](%, "+0", "0");
+ StringTools[CharacterMap](".+-", "xpm", %);
+ return %
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C declaration for a list of names.
+#
+# Argument:
+# name_list = A list of the names.
+# name_type = The C type of the names, eg. "double".
+# file_name = The file name to write the declaration to. This is
+# truncated before writing.
+#
+> print_name_list_dcl :=
+> proc( name_list::list({name,string}),
+> name_type::string,
+> file_name::string )
+> local blanks, separator_string;
+>
+> ftruncate(file_name);
+>
+# a sequence of blanks with the same length as name_type
+> seq(" ", i=1..length(name_type));
+>
+# string to separate names
+> separator_string := cat(",\n", %, " ");
+>
+> map(convert, name_list, string);
+> ListTools[Join](%, separator_string);
+> cat(op(%));
+>
+> fprintf(file_name,
+> "%s %s;\n",
+> name_type, %);
+> NULL;
+> end proc;
+print_name_list_dcl := proc(
+name_list::list({name, string}), name_type::string, file_name::string)
+local blanks, separator_string;
+ ftruncate(file_name);
+ seq(" ", i = 1 .. length(name_type));
+ separator_string := cat(",\n", %, " ");
+ map(convert, name_list, string);
+ ListTools[Join](%, separator_string);
+ cat(op(%));
+ fprintf(file_name, "%s %s;\n", name_type, %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a list of all the (integer) points in an
+# N-dimensional hypercube, in lexicographic order. The present
+# implementation requires N <= 4.
+#
+# Arguments:
+# cmin,cmax = N-element lists of cube minimum/maximum coordinates.
+#
+# Results:
+# The function returns a set of d-element lists giving the coordinates.
+# For example,
+# hypercube([0,0], [2,1]
+# returns
+# { [0,0], [0,1], [1,0], [1,1], [2,0], [2,1] }
+> hypercube_points :=
+> proc(cmin::list(integer), cmax::list(integer))
+> local N, i,j,k,l;
+>
+> N := nops(cmin);
+> if (nops(cmax) <> N)
+> then error
+> "must have same number of dimensions for min and max coordinates!";
+> fi;
+>
+> if (N = 1)
+> then return [seq([i], i=cmin[1]..cmax[1])];
+> elif (N = 2)
+> then return [
+> seq(
+> seq([i,j], j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 3)
+> then return [
+> seq(
+> seq(
+> seq([i,j,k], k=cmin[3]..cmax[3]),
+> j=cmin[2]..cmax[2] ),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 4)
+> then return [
+> seq(
+> seq(
+> seq(
+> seq([i,j,k,l], l=cmin[4]..cmax[4]),
+> k=cmin[3]..cmax[3] ),
+> j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> else
+> error "implementation restriction: must have N <= 4, got %1!", N;
+> fi;
+> end proc;
+hypercube_points := proc(cmin::list(integer), cmax::list(integer))
+local N, i, j, k, l;
+ N := nops(cmin);
+ if nops(cmax) <> N then error
+ "must have same number of dimensions for min and max coordinates!"
+ end if;
+ if N = 1 then return [seq([i], i = cmin[1] .. cmax[1])]
+ elif N = 2 then return
+ [seq(seq([i, j], j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ elif N = 3 then return [seq(
+ seq(seq([i, j, k], k = cmin[3] .. cmax[3]), j = cmin[2] .. cmax[2])
+ , i = cmin[1] .. cmax[1])]
+ elif N = 4 then return [seq(seq(seq(
+ seq([i, j, k, l], l = cmin[4] .. cmax[4]), k = cmin[3] .. cmax[3]),
+ j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ else error "implementation restriction: must have N <= 4, got %1!", N
+ end if
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function truncates a file to 0 length if it exists, or creates
+# it at that length if it doesn't exist.
+#
+# Arguments:
+# file_name = (in) The name of the file.
+#
+> ftruncate :=
+> proc(file_name::string)
+> fopen(file_name, 'WRITE');
+> fclose(%);
+> NULL;
+> end proc;
+ftruncate :=
+
+ proc(file_name::string) fopen(file_name, 'WRITE'); fclose(%); NULL end proc
+
+# GInterpolate.maple -- compute generalized interpolation formulas/coefficients
+# $Id$
+>
+#
+# <<<representation of numbers, data values, etc>>>
+# polynomial_interpolant - compute polynomial interpolant
+# coeff_as_lc_of_data - coefficients of ... (linear combination of data)
+#
+# print_coeff__lc_of_data - print C code to compute coefficients
+# print_data_var_assign - print C code to assign data-value variables
+# print_interp_cmpt__lc_of_data - print C code for computation of interpolant
+#
+# coeff_name - name of coefficient of data at a given [m] coordinate
+# data_var_name - name of variable storing data value at a given [m] coordinate
+#
+>
+################################################################################
+>
+#
+# ***** representation of numbers, data values, etc *****
+#
+# We use RATIONAL(p.0,q.0) to denote the rational number p/q.
+#
+# We use DATA(...) to represent the data values being interpolated at a
+# specified [m] coordinate, where the arguments are the [m] coordinates.
+#
+# We use COEFF(...) to represent the molecule coefficient at a specified
+# [m] coordinate, where the arguments are the [m] coordinates.
+#
+# For example, the usual 1-D centered 2nd order 1st derivative molecule
+# would be written
+# RATIONAL(-1.0,2.0)*DATA(-1) + RATIONA(1.0,2.0)*DATA(1)
+# and its coefficients as
+# COEFF(-1) = RATIONAL(-1.0,2.0)
+# COEFF(1) = RATIONAL(1.0,2.0)
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a polynomial interpolant in any number of dimensions.
+#
+# Arguments:
+# fn = The interpolation function. This should be a procedure in the
+# coordinates, having the coefficients as global variables. For
+# example,
+# proc(x,y) c00 + c10*x + c01*y end proc
+# coeff_list = A set of the interpolation coefficients (coefficients in
+# the interpolation function), for example [c00, c10, c01].
+# coord_list = A list of the coordinates (independent variables in the
+# interpolation function), for example [x,y].
+# posn_list = A list of positions (each a list of numeric values) where the
+# interpolant is to use data, for example hypercube([0,0], [1,1]).
+# Any positions may be used; if they're redundant (as in the
+# example) the least-squares interpolant is computed.
+#
+# Results:
+# This function returns the interpolating polynomial, in the form of
+# an algebraic expression in the coordinates and the data values.
+#
+> polynomial_interpolant :=
+> proc(
+> fn::procedure, coeff_list::list(name),
+> coord_list::list(name), posn_list::list(list(numeric))
+> )
+> local posn, data_eqns, coeff_eqns;
+>
+# coefficients of interpolating polynomial
+> data_eqns := { seq( fn(op(posn))='DATA'(op(posn)) , posn=posn_list ) };
+> coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+> if (has(coeff_eqns, '_t'))
+> then error "interpolation coefficients aren't uniquely determined!";
+> end if;
+>
+# interpolant as a polynomial in the coordinates
+> return subs(coeff_eqns, eval(fn))(op(coord_list));
+> end proc;
+polynomial_interpolant := proc(fn::procedure, coeff_list::list(name),
+coord_list::list(name), posn_list::list(list(numeric)))
+local posn, data_eqns, coeff_eqns;
+ data_eqns := {seq(fn(op(posn)) = 'DATA'(op(posn)), posn = posn_list)};
+ coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+ if has(coeff_eqns, '_t') then
+ error "interpolation coefficients aren't uniquely determined!"
+ end if;
+ return subs(coeff_eqns, eval(fn))(op(coord_list))
+end proc
+
+>
+################################################################################
+>
+#
+# This function takes as input an interpolating polynomial, expresses
+# it as a linear combination of the data values, and returns the coefficeints
+# of that form.
+#
+# Arguments:
+# interpolant = The interpolating polynomial (an algebraic expression
+# in the coordinates and the data values).
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+#
+# Results:
+# This function returns the coefficients, as a list of equations of the
+# form COEFF(...) = value , where each value is a polynomial in the
+# coordinates. The order of the list matches that of posn_list.
+#
+> coeff_as_lc_of_data :=
+> proc(
+> interpolant::algebraic,
+> posn_list::list(list(numeric))
+> )
+> local data_list, interpolant_as_lc_of_data;
+>
+# interpolant as a linear combination of the data values
+> data_list := [ seq( 'DATA'(op(posn)) , posn=posn_list ) ];
+> interpolant_as_lc_of_data := collect(interpolant, data_list);
+>
+# coefficients of the data values in the linear combination
+> return map(
+> proc(posn::list(numeric))
+> coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+> 'COEFF'(op(posn)) = %;
+> end proc
+> ,
+> posn_list
+> );
+> end proc;
+coeff_as_lc_of_data := proc(
+interpolant::algebraic, posn_list::list(list(numeric)))
+local data_list, interpolant_as_lc_of_data;
+ data_list := [seq('DATA'(op(posn)), posn = posn_list)];
+ interpolant_as_lc_of_data := collect(interpolant, data_list);
+ return map(proc(posn::list(numeric))
+ coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+ 'COEFF'(op(posn)) = %
+ end proc, posn_list)
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function prints C expressions for the coefficients of an
+# interpolating polynomial. (The polynomial is expressed as linear
+# combinations of the data values with coefficients which are
+# RATIONAL(p,q) calls.)
+#
+# Arguments:
+# coeff_list = A list of the coefficients, as returned from
+# coeff_as_lc_of_data() .
+# coeff_name_prefix = A prefix string for the coefficient names.
+# temp_name_type = The C type to be used for Maple-introduced temporary
+# names, eg. "double".
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_coeff__lc_of_data :=
+> proc( coeff_list::list(specfunc(numeric,COEFF) = algebraic),
+> coeff_name_prefix::string,
+> temp_name_type::string,
+> file_name::string )
+> global `codegen/C/function/informed`;
+> local coeff_list2, cmpt_list, temp_name_list;
+>
+# convert LHS of each equation from a COEFF() call (eg COEFF(-1,+1))
+# to a Maple/C variable name (eg coeff_I_m1_p1)
+> coeff_list2 := map(
+> proc(coeff_eqn::specfunc(numeric,COEFF) = algebraic)
+> local posn;
+> posn := [op(lhs(coeff_eqn))];
+> coeff_name(posn,coeff_name_prefix);
+> convert(%, name); # codegen[C] wants LHS
+> # to be an actual Maple *name*
+> % = fix_rationals(rhs(coeff_eqn));
+> end proc
+> ,
+> coeff_list
+> );
+>
+#
+# generate the C code
+#
+>
+# tell codegen[C] not to warn about unknown RATIONAL() and DATA() "fn calls"
+# via undocumented :( global table
+> `codegen/C/function/informed`['RATIONAL'] := true;
+> `codegen/C/function/informed`['DATA'] := true;
+>
+> ftruncate(file_name);
+>
+# optimized computation sequence for all the coefficients
+# (may use local variables t0,t1,t2,...)
+> cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+>
+# list of the t0,t1,t2,... local variables
+> temp_name_list := nonmatching_names(map(lhs,cmpt_list), coeff_name_prefix);
+>
+# declare the t0,t1,t2,... local variables (if there are any)
+> if (nops(temp_name_list) > 0)
+> then print_name_list_dcl(%, temp_name_type, file_name);
+> fi;
+>
+# now print the optimized computation sequence
+> codegen[C](cmpt_list, filename=file_name);
+>
+> NULL;
+> end proc;
+print_coeff__lc_of_data := proc(
+coeff_list::list(specfunc(numeric, COEFF) = algebraic),
+coeff_name_prefix::string, temp_name_type::string, file_name::string)
+local coeff_list2, cmpt_list, temp_name_list;
+global `codegen/C/function/informed`;
+ coeff_list2 := map(proc(
+ coeff_eqn::(specfunc(numeric, COEFF) = algebraic))
+ local posn;
+ posn := [op(lhs(coeff_eqn))];
+ coeff_name(posn, coeff_name_prefix);
+ convert(%, name);
+ % = fix_rationals(rhs(coeff_eqn))
+ end proc, coeff_list);
+ `codegen/C/function/informed`['RATIONAL'] := true;
+ `codegen/C/function/informed`['DATA'] := true;
+ ftruncate(file_name);
+ cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+ temp_name_list :=
+ nonmatching_names(map(lhs, cmpt_list), coeff_name_prefix);
+ if 0 < nops(temp_name_list) then
+ print_name_list_dcl(%, temp_name_type, file_name)
+ end if;
+ codegen[C](cmpt_list, filename = file_name);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a sequence of C expression to assign the data-value
+# variables.
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_data_var_assign :=
+> proc(
+> posn_list::list(list(numeric)),
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+>
+> map(
+> proc(posn::list(numeric))
+> fprintf(file_name,
+> "%s = %a;\n",
+> data_var_name(posn,data_var_name_prefix),
+> DATA(op(posn)));
+> end proc
+> ,
+> posn_list
+> );
+>
+> NULL;
+> end proc;
+print_data_var_assign := proc(posn_list::list(list(numeric)),
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ map(proc(posn::list(numeric))
+ fprintf(file_name, "%s = %a;\n",
+ data_var_name(posn, data_var_name_prefix), DATA(op(posn)))
+ end proc, posn_list);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C expression to compute the interpolant,
+# using the coefficients computed by print_coeff__lc_of_data()
+# (i.e. expressing the interpolant as a linear combination of the
+# data values).
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# result_var_name = The (string) name of the variable to which the
+# result is to be assigned.
+# coeff_name_prefix = A prefix string for the coefficient names.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_interp_cmpt__lc_of_data :=
+> proc(
+> posn_list::list(list(numeric)),
+> result_var_name::string,
+> coeff_name_prefix::string,
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+> fprintf(file_name, "%s =\n", result_var_name);
+>
+# list of "coeff*data_var" terms
+> map(
+> proc(posn::list(numeric))
+> sprintf("%s*%s",
+> coeff_name(posn,coeff_name_prefix),
+> data_var_name(posn,data_var_name_prefix));
+> end proc
+> ,
+> posn_list
+> );
+>
+> ListTools[Join](%, "\n\t+ ");
+> cat(op(%));
+>
+> fprintf(file_name, "\t%s;\n", %);
+> NULL;
+> end proc;
+print_interp_cmpt__lc_of_data := proc(posn_list::list(list(numeric)),
+result_var_name::string, coeff_name_prefix::string,
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ fprintf(file_name, "%s =\n", result_var_name);
+ map(proc(posn::list(numeric))
+ sprintf("%s*%s", coeff_name(posn, coeff_name_prefix),
+ data_var_name(posn, data_var_name_prefix))
+ end proc, posn_list);
+ ListTools[Join](%, "\n\t+ ");
+ cat(op(%));
+ fprintf(file_name, "\t%s;\n", %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes the name of the coefficient of the data at a
+# given [m] position, i.e. it encapsulates our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the coefficient name.
+#
+# Results:
+# The function returns the coefficient, as a Maple string.
+#
+> coeff_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+coeff_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+>
+################################################################################
+>
+#
+# This function computes the name of the variable in which the C code
+# will store the input data at a given [m] position, i.e. it encapsulates
+# our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the variable name.
+#
+# Results:
+# The function returns the variable name, as a Maple string.
+#
+> data_var_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+data_var_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+# Maple code to compute 2-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+>
+################################################################################
+>
+#
+# interpolating functions
+#
+>
+> fn_2d_order1 :=
+> proc(x,y)
+> + c01*y
+> + c00 + c10*x
+> end proc;
+ fn_2d_order1 := proc(x, y) c01*y + c00 + c10*x end proc
+
+>
+> fn_2d_order2 :=
+> proc(x,y)
+> + c02*y^2
+> + c01*y + c11*x*y
+> + c00 + c10*x + c20*x^2
+> end proc;
+fn_2d_order2 :=
+
+ proc(x, y) c02*y^2 + c01*y + c11*x*y + c00 + c10*x + c20*x^2 end proc
+
+>
+> fn_2d_order3 :=
+> proc(x,y)
+> + c03*y^3
+> + c02*y^2 + c12*x*y^2
+> + c01*y + c11*x*y + c21*x^2*y
+> + c00 + c10*x + c20*x^2 + c30*x^3
+> end proc;
+fn_2d_order3 := proc(x, y)
+ c03*y^3 + c02*y^2 + c12*x*y^2 + c01*y + c11*x*y + c21*x^2*y + c00
+ + c10*x + c20*x^2 + c30*x^3
+end proc
+
+>
+> fn_2d_order4 :=
+> proc(x,y)
+> + c04*y^4
+> + c03*y^3 + c13*x*y^3
+> + c02*y^2 + c12*x*y^2 + c22*x^2*y^2
+> + c01*y + c11*x*y + c21*x^2*y + c31*x^3*y
+> + c00 + c10*x + c20*x^2 + c30*x^3 + c40*x^4
+> end;
+fn_2d_order4 := proc(x, y)
+ c04*y^4 + c03*y^3 + c13*x*y^3 + c02*y^2 + c12*x*y^2 + c22*x^2*y^2
+ + c01*y + c11*x*y + c21*x^2*y + c31*x^3*y + c00 + c10*x + c20*x^2
+ + c30*x^3 + c40*x^4
+end proc
+
+>
+########################################
+>
+#
+# coefficients in interpolating functions
+#
+>
+> coeff_list_2d_order1 := [
+> c01,
+> c00, c10
+> ];
+ coeff_list_2d_order1 := [c01, c00, c10]
+
+> coeff_list_2d_order2 := [
+> c02,
+> c01, c11,
+> c00, c10, c20
+> ];
+ coeff_list_2d_order2 := [c02, c01, c11, c00, c10, c20]
+
+> coeff_list_2d_order3 := [
+> c03,
+> c02, c12,
+> c01, c11, c21,
+> c00, c10, c20, c30
+> ];
+ coeff_list_2d_order3 := [c03, c02, c12, c01, c11, c21, c00, c10, c20, c30]
+
+> coeff_list_2d_order4 := [
+> c04,
+> c03, c13,
+> c02, c12, c22,
+> c01, c11, c21, c31,
+> c00, c10, c20, c30, c40
+> ];
+coeff_list_2d_order4 :=
+
+ [c04, c03, c13, c02, c12, c22, c01, c11, c21, c31, c00, c10, c20, c30, c40]
+
+>
+########################################
+>
+#
+# coordinates and interpolation points
+#
+>
+> coord_list_2d := [x,y];
+ coord_list_2d := [x, y]
+
+>
+# generate points in Fortran ordering
+> posn_list_2d_size2 := map(ListTools[Reverse], hypercube_points([ 0, 0], [+1,+1]));
+ posn_list_2d_size2 := [[0, 0], [1, 0], [0, 1], [1, 1]]
+
+> posn_list_2d_size3 := map(ListTools[Reverse], hypercube_points([-1,-1], [+1,+1]));
+posn_list_2d_size3 := [[-1, -1], [0, -1], [1, -1], [-1, 0], [0, 0], [1, 0],
+
+ [-1, 1], [0, 1], [1, 1]]
+
+> posn_list_2d_size4 := map(ListTools[Reverse], hypercube_points([-1,-1], [+2,+2]));
+posn_list_2d_size4 := [[-1, -1], [0, -1], [1, -1], [2, -1], [-1, 0], [0, 0],
+
+ [1, 0], [2, 0], [-1, 1], [0, 1], [1, 1], [2, 1], [-1, 2], [0, 2], [1, 2],
+
+ [2, 2]]
+
+> posn_list_2d_size5 := map(ListTools[Reverse], hypercube_points([-2,-2], [+2,+2]));
+posn_list_2d_size5 := [[-2, -2], [-1, -2], [0, -2], [1, -2], [2, -2], [-2, -1],
+
+ [-1, -1], [0, -1], [1, -1], [2, -1], [-2, 0], [-1, 0], [0, 0], [1, 0],
+
+ [2, 0], [-2, 1], [-1, 1], [0, 1], [1, 1], [2, 1], [-2, 2], [-1, 2], [0, 2],
+
+ [1, 2], [2, 2]]
+
+>
+################################################################################
+>
+#
+# generic stuff for 2d, cube, size=2
+#
+>
+> data_var_list_2d_size2 := map(data_var_name, posn_list_2d_size2, "data_");
+ data_var_list_2d_size2 := ["data_0_0", "data_p1_0", "data_0_p1", "data_p1_p1"]
+
+>
+> print_name_list_dcl(data_var_list_2d_size2,
+> "fp", "2d.coeffs/2d.cube.size2/data-var.dcl.c");
+> print_data_var_assign(posn_list_2d_size2,
+> "data_", "2d.coeffs/2d.cube.size2/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_I_"),
+> "fp", "2d.coeffs/2d.cube.size2/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_dx_"),
+> "fp", "2d.coeffs/2d.cube.size2/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_dy_"),
+> "fp", "2d.coeffs/2d.cube.size2/coeff-dy.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+> "result", "coeff_I_", "data_",
+> "2d.coeffs/2d.cube.size2/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+> "result", "coeff_dx_", "data_",
+> "2d.coeffs/2d.cube.size2/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+> "result", "coeff_dy_", "data_",
+> "2d.coeffs/2d.cube.size2/interp-dy.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 2d, cube, size=3
+#
+>
+> data_var_list_2d_size3 := map(data_var_name, posn_list_2d_size3, "data_");
+data_var_list_2d_size3 := ["data_m1_m1", "data_0_m1", "data_p1_m1", "data_m1_0",
+
+ "data_0_0", "data_p1_0", "data_m1_p1", "data_0_p1", "data_p1_p1"]
+
+>
+> print_name_list_dcl(data_var_list_2d_size3,
+> "fp", "2d.coeffs/2d.cube.size3/data-var.dcl.c");
+> print_data_var_assign(posn_list_2d_size3,
+> "data_", "2d.coeffs/2d.cube.size3/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_I_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dx_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dy_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dxx_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dxy_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dyy_"),
+> "fp", "2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_I_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_dx_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_dy_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_dxx_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-dxx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_dxy_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+> "result", "coeff_dyy_", "data_",
+> "2d.coeffs/2d.cube.size3/interp-dyy.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 2d, cube, size=4
+#
+>
+> data_var_list_2d_size4 := map(data_var_name, posn_list_2d_size4, "data_");
+data_var_list_2d_size4 := ["data_m1_m1", "data_0_m1", "data_p1_m1",
+
+ "data_p2_m1", "data_m1_0", "data_0_0", "data_p1_0", "data_p2_0",
+
+ "data_m1_p1", "data_0_p1", "data_p1_p1", "data_p2_p1", "data_m1_p2",
+
+ "data_0_p2", "data_p1_p2", "data_p2_p2"]
+
+>
+> print_name_list_dcl(data_var_list_2d_size4,
+> "fp", "2d.coeffs/2d.cube.size4/data-var.dcl.c");
+> print_data_var_assign(posn_list_2d_size4,
+> "data_", "2d.coeffs/2d.cube.size4/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_I_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dx_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dy_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dxx_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dxy_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dyy_"),
+> "fp", "2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_I_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_dx_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_dy_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_dxx_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-dxx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_dxy_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+> "result", "coeff_dyy_", "data_",
+> "2d.coeffs/2d.cube.size4/interp-dyy.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 2d, cube, size=5
+#
+>
+> data_var_list_2d_size5 := map(data_var_name, posn_list_2d_size5, "data_");
+data_var_list_2d_size5 := ["data_m2_m2", "data_m1_m2", "data_0_m2",
+
+ "data_p1_m2", "data_p2_m2", "data_m2_m1", "data_m1_m1", "data_0_m1",
+
+ "data_p1_m1", "data_p2_m1", "data_m2_0", "data_m1_0", "data_0_0",
+
+ "data_p1_0", "data_p2_0", "data_m2_p1", "data_m1_p1", "data_0_p1",
+
+ "data_p1_p1", "data_p2_p1", "data_m2_p2", "data_m1_p2", "data_0_p2",
+
+ "data_p1_p2", "data_p2_p2"]
+
+>
+> print_name_list_dcl(data_var_list_2d_size5,
+> "fp", "2d.coeffs/2d.cube.size5/data-var.dcl.c");
+> print_data_var_assign(posn_list_2d_size5,
+> "data_", "2d.coeffs/2d.cube.size5/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_I_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dx_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dy_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dxx_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c");
+bytes used=1000040, alloc=917336, time=0.09
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dxy_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dyy_"),
+> "fp", "2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_I_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_dx_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_dy_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_dxx_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-dxx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_dxy_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+> "result", "coeff_dyy_", "data_",
+> "2d.coeffs/2d.cube.size5/interp-dyy.compute.c");
+>
+>
+################################################################################
+>
+#
+# 2d, cube, order=1, smoothing=0 (size=2)
+#
+>
+# interpolating polynomial
+> interp_2d_cube_order1_smooth0
+> := polynomial_interpolant(fn_2d_order1, coeff_list_2d_order1,
+> coord_list_2d, posn_list_2d_size2);
+interp_2d_cube_order1_smooth0 :=
+
+ (1/2 DATA(1, 1) - 1/2 DATA(0, 0) - 1/2 DATA(1, 0) + 1/2 DATA(0, 1)) y
+
+ - 1/4 DATA(1, 1) + 3/4 DATA(0, 0) + 1/4 DATA(1, 0) + 1/4 DATA(0, 1)
+
+ + (1/2 DATA(1, 1) - 1/2 DATA(0, 0) + 1/2 DATA(1, 0) - 1/2 DATA(0, 1)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_2d_size2);
+[COEFF(0, 0) = 3/4 - 1/2 y - 1/2 x, COEFF(1, 0) = 1/4 - 1/2 y + 1/2 x,
+
+ COEFF(0, 1) = - 1/2 x + 1/4 + 1/2 y, COEFF(1, 1) = 1/2 y - 1/4 + 1/2 x]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c");
+bytes used=2002236, alloc=1179432, time=0.17
+>
+# d/dx
+> simplify( diff(interp_2d_cube_order1_smooth0,x) );
+ 1/2 DATA(1, 1) - 1/2 DATA(0, 0) + 1/2 DATA(1, 0) - 1/2 DATA(0, 1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size2);
+ [COEFF(0, 0) = -1/2, COEFF(1, 0) = 1/2, COEFF(0, 1) = -1/2, COEFF(1, 1) = 1/2]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c");
+>
+# d/dy
+> simplify( diff(interp_2d_cube_order1_smooth0,y) );
+ 1/2 DATA(1, 1) - 1/2 DATA(0, 0) - 1/2 DATA(1, 0) + 1/2 DATA(0, 1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size2);
+ [COEFF(0, 0) = -1/2, COEFF(1, 0) = -1/2, COEFF(0, 1) = 1/2, COEFF(1, 1) = 1/2]
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c");
+>
+########################################
+>
+#
+# 2d, cube, order=2, smoothing=0 (size=3)
+#
+>
+# interpolating polynomial
+> interp_2d_cube_order2_smooth0
+> := polynomial_interpolant(fn_2d_order2, coeff_list_2d_order2,
+> coord_list_2d, posn_list_2d_size3);
+bytes used=3002576, alloc=1441528, time=0.27
+interp_2d_cube_order2_smooth0 := (1/6 DATA(1, 1) + 1/6 DATA(0, -1)
+
+ - 1/3 DATA(0, 0) + 1/6 DATA(0, 1) - 1/3 DATA(1, 0) + 1/6 DATA(-1, -1)
+
+ 2
+ + 1/6 DATA(1, -1) - 1/3 DATA(-1, 0) + 1/6 DATA(-1, 1)) y + (
+
+ - 1/6 DATA(1, -1) + 1/6 DATA(1, 1) - 1/6 DATA(-1, -1) - 1/6 DATA(0, -1)
+
+ + 1/6 DATA(-1, 1) + 1/6 DATA(0, 1)) y +
+
+ (- 1/4 DATA(-1, 1) + 1/4 DATA(1, 1) + 1/4 DATA(-1, -1) - 1/4 DATA(1, -1)) x
+
+ y - 1/9 DATA(1, 1) + 2/9 DATA(0, -1) + 5/9 DATA(0, 0) + 2/9 DATA(0, 1)
+
+ + 2/9 DATA(1, 0) - 1/9 DATA(-1, -1) - 1/9 DATA(1, -1) + 2/9 DATA(-1, 0)
+
+ - 1/9 DATA(-1, 1) + (- 1/6 DATA(-1, 0) + 1/6 DATA(1, 1) - 1/6 DATA(-1, -1)
+
+ + 1/6 DATA(1, -1) + 1/6 DATA(1, 0) - 1/6 DATA(-1, 1)) x + (1/6 DATA(1, 1)
+
+ - 1/3 DATA(0, -1) - 1/3 DATA(0, 0) - 1/3 DATA(0, 1) + 1/6 DATA(1, 0)
+
+ + 1/6 DATA(-1, -1) + 1/6 DATA(1, -1) + 1/6 DATA(-1, 0) + 1/6 DATA(-1, 1))
+
+ 2
+ x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+ 2 2
+[COEFF(-1, -1) = - 1/6 y + 1/6 y - 1/9 - 1/6 x + 1/4 x y + 1/6 x ,
+
+ 2 2
+ COEFF(0, -1) = - 1/6 y + 2/9 + 1/6 y - 1/3 x ,
+
+ 2 2
+ COEFF(1, -1) = 1/6 y - 1/6 y + 1/6 x - 1/9 - 1/4 x y + 1/6 x ,
+
+ 2 2
+ COEFF(-1, 0) = - 1/3 y - 1/6 x + 1/6 x + 2/9,
+
+ 2 2
+ COEFF(0, 0) = - 1/3 y - 1/3 x + 5/9,
+
+ 2 2
+ COEFF(1, 0) = 2/9 - 1/3 y + 1/6 x + 1/6 x,
+
+ 2 2
+ COEFF(-1, 1) = 1/6 y - 1/6 x + 1/6 x - 1/9 - 1/4 x y + 1/6 y,
+
+ 2 2
+ COEFF(0, 1) = 1/6 y - 1/3 x + 2/9 + 1/6 y,
+
+ 2 2
+ COEFF(1, 1) = 1/6 y + 1/4 x y + 1/6 x - 1/9 + 1/6 y + 1/6 x]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c");
+bytes used=4002748, alloc=1769148, time=0.34
+bytes used=5002944, alloc=1834672, time=0.41
+>
+# d/dx
+> simplify( diff(interp_2d_cube_order2_smooth0,x) );
+- 1/4 y DATA(-1, 1) + 1/4 y DATA(1, 1) + 1/4 y DATA(-1, -1) - 1/4 y DATA(1, -1)
+
+ - 1/6 DATA(-1, 0) + 1/6 DATA(1, 1) - 1/6 DATA(-1, -1) + 1/6 DATA(1, -1)
+
+ + 1/6 DATA(1, 0) - 1/6 DATA(-1, 1) + 1/3 x DATA(1, 1) - 2/3 x DATA(0, -1)
+
+ - 2/3 x DATA(0, 0) - 2/3 x DATA(0, 1) + 1/3 x DATA(1, 0)
+
+ + 1/3 x DATA(-1, -1) + 1/3 x DATA(1, -1) + 1/3 x DATA(-1, 0)
+
+ + 1/3 x DATA(-1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+[COEFF(-1, -1) = 1/4 y + 1/3 x - 1/6, COEFF(0, -1) = - 2/3 x,
+
+ COEFF(1, -1) = - 1/4 y + 1/6 + 1/3 x, COEFF(-1, 0) = - 1/6 + 1/3 x,
+
+ COEFF(0, 0) = - 2/3 x, COEFF(1, 0) = 1/3 x + 1/6,
+
+ COEFF(-1, 1) = - 1/4 y - 1/6 + 1/3 x, COEFF(0, 1) = - 2/3 x,
+
+ COEFF(1, 1) = 1/4 y + 1/3 x + 1/6]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c");
+>
+# d/dy
+> simplify( diff(interp_2d_cube_order2_smooth0,y) );
+bytes used=6003572, alloc=1834672, time=0.50
+1/3 y DATA(1, 1) + 1/3 y DATA(0, -1) - 2/3 y DATA(0, 0) + 1/3 y DATA(0, 1)
+
+ - 2/3 y DATA(1, 0) + 1/3 y DATA(-1, -1) + 1/3 y DATA(1, -1)
+
+ - 2/3 y DATA(-1, 0) + 1/3 y DATA(-1, 1) - 1/6 DATA(1, -1) + 1/6 DATA(1, 1)
+
+ - 1/6 DATA(-1, -1) - 1/6 DATA(0, -1) + 1/6 DATA(-1, 1) + 1/6 DATA(0, 1)
+
+ - 1/4 x DATA(-1, 1) + 1/4 x DATA(1, 1) + 1/4 x DATA(-1, -1)
+
+ - 1/4 x DATA(1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+[COEFF(-1, -1) = - 1/6 + 1/4 x + 1/3 y, COEFF(0, -1) = - 1/6 + 1/3 y,
+
+ COEFF(1, -1) = - 1/4 x + 1/3 y - 1/6, COEFF(-1, 0) = - 2/3 y,
+
+ COEFF(0, 0) = - 2/3 y, COEFF(1, 0) = - 2/3 y,
+
+ COEFF(-1, 1) = 1/6 + 1/3 y - 1/4 x, COEFF(0, 1) = 1/6 + 1/3 y,
+
+ COEFF(1, 1) = 1/3 y + 1/6 + 1/4 x]
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c");
+>
+# d^2/dx^2
+> simplify( diff(interp_2d_cube_order2_smooth0,x,x) );
+1/3 DATA(1, 1) - 2/3 DATA(0, -1) - 2/3 DATA(0, 0) - 2/3 DATA(0, 1)
+
+ + 1/3 DATA(1, 0) + 1/3 DATA(-1, -1) + 1/3 DATA(1, -1) + 1/3 DATA(-1, 0)
+
+ + 1/3 DATA(-1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+[COEFF(-1, -1) = 1/3, COEFF(0, -1) = -2/3, COEFF(1, -1) = 1/3,
+
+ COEFF(-1, 0) = 1/3, COEFF(0, 0) = -2/3, COEFF(1, 0) = 1/3,
+
+ COEFF(-1, 1) = 1/3, COEFF(0, 1) = -2/3, COEFF(1, 1) = 1/3]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c");
+bytes used=7003768, alloc=1834672, time=0.59
+>
+# d^2/dxdy
+> simplify( diff(interp_2d_cube_order2_smooth0,x,y) );
+ - 1/4 DATA(-1, 1) + 1/4 DATA(1, 1) + 1/4 DATA(-1, -1) - 1/4 DATA(1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+[COEFF(-1, -1) = 1/4, COEFF(0, -1) = 0, COEFF(1, -1) = -1/4, COEFF(-1, 0) = 0,
+
+ COEFF(0, 0) = 0, COEFF(1, 0) = 0, COEFF(-1, 1) = -1/4, COEFF(0, 1) = 0,
+
+ COEFF(1, 1) = 1/4]
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c");
+>
+# d^2/dy^2
+> simplify( diff(interp_2d_cube_order2_smooth0,y,y) );
+1/3 DATA(1, 1) + 1/3 DATA(0, -1) - 2/3 DATA(0, 0) + 1/3 DATA(0, 1)
+
+ - 2/3 DATA(1, 0) + 1/3 DATA(-1, -1) + 1/3 DATA(1, -1) - 2/3 DATA(-1, 0)
+
+ + 1/3 DATA(-1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size3);
+[COEFF(-1, -1) = 1/3, COEFF(0, -1) = 1/3, COEFF(1, -1) = 1/3,
+
+ COEFF(-1, 0) = -2/3, COEFF(0, 0) = -2/3, COEFF(1, 0) = -2/3,
+
+ COEFF(-1, 1) = 1/3, COEFF(0, 1) = 1/3, COEFF(1, 1) = 1/3]
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c");
+>
+########################################
+>
+#
+# 2d, cube, order=3, smoothing=0 (size=4)
+#
+>
+# interpolating polynomial
+> interp_2d_cube_order3_smooth0
+> := polynomial_interpolant(fn_2d_order3, coeff_list_2d_order3,
+> coord_list_2d, posn_list_2d_size4);
+bytes used=8004052, alloc=1834672, time=0.69
+bytes used=9004712, alloc=1900196, time=0.74
+bytes used=10004884, alloc=1900196, time=0.81
+bytes used=11005104, alloc=1965720, time=0.87
+bytes used=12006440, alloc=1965720, time=0.93
+bytes used=13006792, alloc=1965720, time=0.99
+interp_2d_cube_order3_smooth0 := (1/40 DATA(0, 0) - 1/40 DATA(1, 0)
+
+ + 1/40 DATA(0, 1) - 1/40 DATA(1, 1) - 3/40 DATA(-1, -1) - 1/40 DATA(0, -1)
+
+ + 1/40 DATA(1, -1) + 3/40 DATA(-1, 0) + 3/40 DATA(-1, 1) - 3/40 DATA(2, 1)
+
+ - 3/40 DATA(-1, 2) - 1/40 DATA(0, 2) + 1/40 DATA(1, 2) + 3/40 DATA(2, 2)
+
+ 2 /
+ + 3/40 DATA(2, -1) - 3/40 DATA(2, 0)) x y + |- 1/25 DATA(0, 0)
+ \
+
+ - 1/100 DATA(1, 0) - 1/100 DATA(0, 1) + 3/50 DATA(1, 1)
+
+ 13
+ + 6/25 DATA(-1, -1) - 1/50 DATA(0, -1) - --- DATA(1, -1)
+ 100
+
+ 13
+ - 1/50 DATA(-1, 0) - --- DATA(-1, 1) + 2/25 DATA(2, 1) - 9/100 DATA(-1, 2)
+ 100
+
+ + 7/100 DATA(0, 2) + 2/25 DATA(1, 2) - 3/50 DATA(2, 2) - 9/100 DATA(2, -1)
+
+ \
+ + 7/100 DATA(2, 0)| x y + (1/40 DATA(0, 0) + 1/40 DATA(1, 0)
+ /
+
+ - 1/40 DATA(0, 1) - 1/40 DATA(1, 1) - 3/40 DATA(-1, -1) + 3/40 DATA(0, -1)
+
+ + 3/40 DATA(1, -1) - 1/40 DATA(-1, 0) + 1/40 DATA(-1, 1) + 1/40 DATA(2, 1)
+
+ + 3/40 DATA(-1, 2) - 3/40 DATA(0, 2) - 3/40 DATA(1, 2) + 3/40 DATA(2, 2)
+
+ 2 93
+ - 3/40 DATA(2, -1) - 1/40 DATA(2, 0)) x y + --- DATA(0, 0)
+ 200
+
+ 37 37 17 23
+ + --- DATA(1, 0) + --- DATA(0, 1) - --- DATA(1, 1) - --- DATA(-1, -1)
+ 200 200 200 200
+
+ 11 11
+ + -- DATA(0, -1) - 1/50 DATA(1, -1) + -- DATA(-1, 0) - 1/50 DATA(-1, 1)
+ 50 50
+
+ 17 13
+ - 2/25 DATA(2, 1) - --- DATA(-1, 2) + --- DATA(0, 2) - 2/25 DATA(1, 2)
+ 200 100
+
+ 17 13
+ + 7/200 DATA(2, 2) - --- DATA(2, -1) + --- DATA(2, 0) + (1/8 DATA(0, 0)
+ 200 100
+
+ + 1/8 DATA(1, 0) - 1/8 DATA(0, 1) - 1/8 DATA(1, 1) - 1/24 DATA(-1, -1)
+
+ - 1/24 DATA(0, -1) - 1/24 DATA(1, -1) + 1/8 DATA(-1, 0) - 1/8 DATA(-1, 1)
+
+ - 1/8 DATA(2, 1) + 1/24 DATA(-1, 2) + 1/24 DATA(0, 2) + 1/24 DATA(1, 2)
+
+ 3 /
+ + 1/24 DATA(2, 2) - 1/24 DATA(2, -1) + 1/8 DATA(2, 0)) y + |
+ \
+
+ 21 19 11
+ - -- DATA(0, 0) - -- DATA(1, 0) + 9/80 DATA(0, 1) + -- DATA(1, 1)
+ 80 80 80
+
+ 23 13 11
+ - -- DATA(-1, 0) + -- DATA(-1, -1) + -- DATA(0, -1) + 9/80 DATA(1, -1)
+ 80 80 80
+
+ 13
+ + 1/80 DATA(0, 2) + 7/80 DATA(-1, 1) + -- DATA(2, 1) + 3/80 DATA(-1, 2)
+ 80
+
+ 17 \ 2
+ - -- DATA(2, 0) - 1/80 DATA(1, 2) - 3/80 DATA(2, 2) + 7/80 DATA(2, -1)| y
+ 80 /
+
+ / 57 63 117 103
+ + |- --- DATA(0, 0) - --- DATA(1, 0) + --- DATA(0, 1) + --- DATA(1, 1)
+ \ 400 400 400 400
+
+ 109 223 157
+ - ---- DATA(-1, -1) - ---- DATA(0, -1) - ---- DATA(1, -1)
+ 1200 1200 1200
+
+ 31 111 69 131
+ - --- DATA(-1, 0) + --- DATA(-1, 1) + --- DATA(2, 1) - ---- DATA(-1, 2)
+ 400 400 400 1200
+
+ 43 37 149 89
+ + ---- DATA(0, 2) + ---- DATA(1, 2) - ---- DATA(2, 2) + ---- DATA(2, -1)
+ 1200 1200 1200 1200
+
+ 49 \ / 57 117 63
+ - --- DATA(2, 0)| y + |- --- DATA(0, 0) + --- DATA(1, 0) - --- DATA(0, 1)
+ 400 / \ 400 400 400
+
+ 103 223 109 31
+ + --- DATA(1, 1) - ---- DATA(-1, 0) - ---- DATA(-1, -1) - --- DATA(0, -1)
+ 400 1200 1200 400
+
+ 111 49 157 37
+ + --- DATA(1, -1) - --- DATA(0, 2) - ---- DATA(-1, 1) + ---- DATA(2, 1)
+ 400 400 1200 1200
+
+ 89 43 69 149
+ + ---- DATA(-1, 2) + ---- DATA(2, 0) + --- DATA(1, 2) - ---- DATA(2, 2)
+ 1200 1200 400 1200
+
+ 131 \ / 21 19
+ - ---- DATA(2, -1)| x + |- -- DATA(0, 0) + 9/80 DATA(1, 0) - -- DATA(0, 1)
+ 1200 / \ 80 80
+
+ 11 11 13 23
+ + -- DATA(1, 1) + -- DATA(-1, 0) + -- DATA(-1, -1) - -- DATA(0, -1)
+ 80 80 80 80
+
+ 17
+ + 7/80 DATA(1, -1) - -- DATA(0, 2) + 9/80 DATA(-1, 1) - 1/80 DATA(2, 1)
+ 80
+
+ 13
+ + 7/80 DATA(-1, 2) + 1/80 DATA(2, 0) + -- DATA(1, 2) - 3/80 DATA(2, 2)
+ 80
+
+ \ 2
+ + 3/80 DATA(2, -1)| x + (1/8 DATA(0, 0) - 1/8 DATA(1, 0) + 1/8 DATA(0, 1)
+ /
+
+ - 1/8 DATA(1, 1) - 1/24 DATA(-1, 0) - 1/24 DATA(-1, -1) + 1/8 DATA(0, -1)
+
+ - 1/8 DATA(1, -1) + 1/8 DATA(0, 2) - 1/24 DATA(-1, 1) + 1/24 DATA(2, 1)
+
+ - 1/24 DATA(-1, 2) + 1/24 DATA(2, 0) - 1/8 DATA(1, 2) + 1/24 DATA(2, 2)
+
+ 3
+ + 1/24 DATA(2, -1)) x
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+bytes used=14007112, alloc=1965720, time=1.04
+ 2 23 2 13 2 3
+[COEFF(-1, -1) = - 3/40 x y - --- - 3/40 x y + -- x + 6/25 x y - 1/24 x
+ 200 80
+
+ 13 2 109 3 109 2 11 2
+ + -- y - ---- y - 1/24 y - ---- x, COEFF(0, -1) = - 1/40 x y + -- y
+ 80 1200 1200 80
+
+ 223 3 2 3 11 23 2 31
+ - ---- y - 1/24 y + 3/40 x y + 1/8 x + -- - 1/50 x y - -- x - --- x,
+ 1200 50 80 400
+
+ 3 2 2 2 2
+ COEFF(1, -1) = - 1/50 - 1/8 x + 9/80 y + 7/80 x + 1/40 x y + 3/40 x y
+
+ 3 111 157 13 17
+ - 1/24 y + --- x - ---- y - --- x y, COEFF(2, -1) = - --- - 9/100 x y
+ 400 1200 100 200
+
+ 2 2 3 131 2 2 3
+ - 3/40 x y + 3/80 x + 1/24 x - ---- x + 3/40 x y + 7/80 y - 1/24 y
+ 1200
+
+ 89 23 2 3 31 2
+ + ---- y, COEFF(-1, 0) = - 1/50 x y - -- y - 1/24 x - --- y + 3/40 x y
+ 1200 80 400
+
+ 3 11 2 2 223 11 21 2 93
+ + 1/8 y + -- x - 1/40 x y - ---- x + --, COEFF(0, 0) = - -- x + ---
+ 80 1200 50 80 200
+
+ 3 3 21 2 2 57 2
+ + 1/8 x - 1/25 x y + 1/8 y - -- y + 1/40 x y - --- y + 1/40 x y
+ 80 400
+
+ 57 2 3 3 37 19 2 117
+ - --- x, COEFF(1, 0) = 1/40 x y - 1/8 x + 1/8 y + --- - -- y + --- x
+ 400 200 80 400
+
+ 2 63 2 2
+ - 1/40 x y - --- y - 1/100 x y + 9/80 x , COEFF(2, 0) = - 1/40 x y
+ 400
+
+ 3 3 13 43 2 2 17 2 49
+ + 1/24 x + 1/8 y + --- + ---- x + 1/80 x - 3/40 x y - -- y - --- y
+ 100 1200 80 400
+
+ 2 157 13 3
+ + 7/100 x y, COEFF(-1, 1) = 3/40 x y - 1/50 - ---- x - --- x y - 1/24 x
+ 1200 100
+
+ 3 2 2 2 111
+ - 1/8 y + 1/40 x y + 9/80 x + 7/80 y + --- y, COEFF(0, 1) =
+ 400
+
+ 2 37 3 3 117 2 63
+ - 1/40 x y + --- - 1/8 y + 1/8 x + --- y + 1/40 x y - 1/100 x y - --- x
+ 200 400 400
+
+ 19 2 2 3 2 17 2
+ - -- x + 9/80 y , COEFF(1, 1) = - 1/8 x - 1/40 x y - --- - 1/40 x y
+ 80 200
+
+ 103 11 2 3 11 2 103
+ + --- x + 3/50 x y + -- x - 1/8 y + -- y + --- y, COEFF(2, 1) = - 2/25
+ 400 80 80 400
+
+ 3 69 3 37 2 2
+ + 1/24 x + --- y - 1/8 y + ---- x + 1/40 x y - 3/40 x y + 2/25 x y
+ 400 1200
+
+ 13 2 2 2 2
+ + -- y - 1/80 x , COEFF(-1, 2) = - 3/40 x y - 9/100 x y + 3/40 x y
+ 80
+
+ 89 3 2 17 2 3 131
+ + ---- x + 1/24 y + 3/80 y - --- + 7/80 x - 1/24 x - ---- y,
+ 1200 200 1200
+
+ 2 3 13 43 17 2
+ COEFF(0, 2) = - 3/40 x y + 1/24 y + 7/100 x y + --- + ---- y - -- x
+ 100 1200 80
+
+ 49 3 2 2 37
+ - --- x + 1/8 x - 1/40 x y + 1/80 y , COEFF(1, 2) = ---- y - 2/25
+ 400 1200
+
+ 3 2 2 3 2 13 2
+ + 1/24 y + 2/25 x y - 3/40 x y + 1/40 x y - 1/8 x - 1/80 y + -- x
+ 80
+
+ 69 2 2 3 2 2
+ + --- x, COEFF(2, 2) = 3/40 x y + 3/40 x y + 1/24 x - 3/80 y - 3/80 x
+ 400
+
+ 149 3 149
+ - ---- x + 7/200 + 1/24 y - 3/50 x y - ---- y]
+ 1200 1200
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c");
+bytes used=15007264, alloc=1965720, time=1.10
+bytes used=16016240, alloc=1965720, time=1.19
+bytes used=17016640, alloc=1965720, time=1.27
+bytes used=18016852, alloc=1965720, time=1.35
+bytes used=19017112, alloc=2096768, time=1.43
+bytes used=20017312, alloc=2096768, time=1.51
+bytes used=21017520, alloc=2096768, time=1.60
+bytes used=22017796, alloc=2096768, time=1.69
+>
+# d/dx
+> simplify( diff(interp_2d_cube_order3_smooth0,x) );
+bytes used=23018572, alloc=2096768, time=1.77
+bytes used=24020728, alloc=2096768, time=1.83
+ 2 2 2
+- 1/8 x DATA(-1, 2) + 3/8 x DATA(0, 1) - 1/8 x DATA(-1, 0)
+
+ 2 2 2
+ - 1/8 x DATA(-1, -1) - 3/8 x DATA(1, -1) + 3/8 x DATA(0, 2)
+
+ 2 2 2
+ - 3/8 x DATA(1, 1) - 1/40 y DATA(1, 0) + 1/40 y DATA(0, 1)
+
+ + 1/20 x y DATA(0, 0) - 1/20 x y DATA(0, 1) - 1/20 x y DATA(1, 1)
+
+ - 3/20 x y DATA(-1, -1) + 3/20 x y DATA(0, -1) + 1/20 x y DATA(1, 0)
+
+ 2 2 2
+ - 1/40 y DATA(0, 2) + 1/40 y DATA(1, 2) + 3/40 y DATA(2, 2)
+
+ 2 2 2
+ - 1/40 y DATA(1, 1) - 1/40 y DATA(0, -1) + 1/40 y DATA(1, -1)
+
+ 2 2 2
+ + 3/40 y DATA(-1, 0) + 3/40 y DATA(-1, 1) - 3/40 y DATA(-1, -1)
+
+ 2 13
+ + 1/40 y DATA(0, 0) + 6/25 y DATA(-1, -1) - --- y DATA(1, -1)
+ 100
+
+ 13
+ - 1/50 y DATA(-1, 0) - --- y DATA(-1, 1) + 2/25 y DATA(2, 1)
+ 100
+
+ 2 2
+ - 9/100 y DATA(-1, 2) - 3/40 y DATA(2, 0) - 3/40 y DATA(2, 1)
+
+ 2 11
+ - 3/40 y DATA(-1, 2) - 1/50 y DATA(0, -1) + -- x DATA(-1, 0)
+ 40
+
+ + 2/25 y DATA(1, 2) - 3/50 y DATA(2, 2) - 9/100 y DATA(2, -1)
+
+ 2
+ + 7/100 y DATA(2, 0) + 7/100 y DATA(0, 2) + 3/40 y DATA(2, -1)
+
+ - 1/25 y DATA(0, 0) - 1/100 y DATA(1, 0) - 1/100 y DATA(0, 1)
+
+ 13
+ + 3/50 y DATA(1, 1) + -- x DATA(-1, -1) - 1/20 x y DATA(2, 0)
+ 40
+
+ + 3/20 x y DATA(1, -1) - 1/20 x y DATA(-1, 0) + 1/20 x y DATA(-1, 1)
+
+ + 1/20 x y DATA(2, 1) - 3/20 x y DATA(0, 2) - 3/40 x DATA(2, 2)
+
+ 2
+ + 3/40 x DATA(2, -1) + 3/8 x DATA(0, 0) + 1/40 x DATA(2, 0)
+
+ 21 19 11
+ - -- x DATA(0, 0) + 9/40 x DATA(1, 0) - -- x DATA(0, 1) + -- x DATA(1, 1)
+ 40 40 40
+
+ 2 2
+ + 3/20 x y DATA(-1, 2) - 1/8 x DATA(-1, 1) + 1/8 x DATA(2, 1)
+
+ 2 23
+ + 3/8 x DATA(0, -1) - -- x DATA(0, -1) + 7/40 x DATA(1, -1)
+ 40
+
+ 17
+ - -- x DATA(0, 2) + 9/40 x DATA(-1, 1) - 1/40 x DATA(2, 1)
+ 40
+
+ 13 2
+ + 7/40 x DATA(-1, 2) + -- x DATA(1, 2) + 1/8 x DATA(2, 0)
+ 40
+
+ 2 2 2
+ - 3/8 x DATA(1, 2) + 1/8 x DATA(2, 2) + 1/8 x DATA(2, -1)
+
+ 2
+ - 3/8 x DATA(1, 0) - 3/20 x y DATA(1, 2) + 3/20 x y DATA(2, 2)
+
+ 57 117 63
+ - 3/20 x y DATA(2, -1) - --- DATA(0, 0) + --- DATA(1, 0) - --- DATA(0, 1)
+ 400 400 400
+
+ 103 109 31 111
+ + --- DATA(1, 1) - ---- DATA(-1, -1) - --- DATA(0, -1) + --- DATA(1, -1)
+ 400 1200 400 400
+
+ 223 157 37 89
+ - ---- DATA(-1, 0) - ---- DATA(-1, 1) + ---- DATA(2, 1) + ---- DATA(-1, 2)
+ 1200 1200 1200 1200
+
+ 49 69 149 131
+ - --- DATA(0, 2) + --- DATA(1, 2) - ---- DATA(2, 2) - ---- DATA(2, -1)
+ 400 400 1200 1200
+
+ 43
+ + ---- DATA(2, 0)
+ 1200
+
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+ 109 2 2 13
+[COEFF(-1, -1) = - ---- - 3/40 y + 6/25 y - 1/8 x + -- x - 3/20 x y,
+ 1200 40
+
+ 2 31 23 2
+ COEFF(0, -1) = - 1/40 y - --- - 1/50 y + 3/20 x y - -- x + 3/8 x ,
+ 400 40
+
+ 13 2 111 2
+ COEFF(1, -1) = - --- y + 3/20 x y - 3/8 x + --- + 7/40 x + 1/40 y ,
+ 100 400
+
+ 2 2 131
+ COEFF(2, -1) = - 3/20 x y + 3/40 x + 1/8 x + 3/40 y - ---- - 9/100 y,
+ 1200
+
+ 223 2 2 11
+ COEFF(-1, 0) = - 1/50 y - 1/20 x y - ---- + 3/40 y - 1/8 x + -- x,
+ 1200 40
+
+ 2 57 21 2
+ COEFF(0, 0) = - 1/25 y + 3/8 x - --- - -- x + 1/20 x y + 1/40 y ,
+ 400 40
+
+ 117 2 2
+ COEFF(1, 0) = --- + 9/40 x + 1/20 x y - 1/100 y - 3/8 x - 1/40 y ,
+ 400
+
+ 2 2 43
+ COEFF(2, 0) = - 3/40 y - 1/20 x y + 1/8 x + 7/100 y + 1/40 x + ----,
+ 1200
+
+ 157 13 2 2
+ COEFF(-1, 1) = - ---- - --- y + 9/40 x - 1/8 x + 1/20 x y + 3/40 y ,
+ 1200 100
+
+ 2 19 63 2
+ COEFF(0, 1) = 1/40 y - 1/20 x y - -- x - 1/100 y - --- + 3/8 x ,
+ 40 400
+
+ 103 2 2 11
+ COEFF(1, 1) = --- - 1/40 y - 1/20 x y - 3/8 x + -- x + 3/50 y,
+ 400 40
+
+ 2 37 2
+ COEFF(2, 1) = - 3/40 y + 2/25 y + ---- + 1/20 x y + 1/8 x - 1/40 x,
+ 1200
+
+ 89 2 2
+ COEFF(-1, 2) = ---- + 3/20 x y - 3/40 y - 1/8 x - 9/100 y + 7/40 x,
+ 1200
+
+ 2 49 17 2
+ COEFF(0, 2) = 3/8 x - --- - -- x - 1/40 y + 7/100 y - 3/20 x y,
+ 400 40
+
+ 69 2 2 13
+ COEFF(1, 2) = - 3/20 x y + --- - 3/8 x + 2/25 y + 1/40 y + -- x,
+ 400 40
+
+ 2 149 2
+ COEFF(2, 2) = 3/40 y + 3/20 x y - ---- - 3/50 y + 1/8 x - 3/40 x]
+ 1200
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c");
+bytes used=25020932, alloc=2096768, time=1.91
+bytes used=26021388, alloc=2096768, time=1.99
+bytes used=27021592, alloc=2096768, time=2.09
+bytes used=28021964, alloc=2096768, time=2.20
+>
+# d/dy
+> simplify( diff(interp_2d_cube_order3_smooth0,y) );
+bytes used=29022180, alloc=2096768, time=2.29
+ 2 2 2
+3/40 x DATA(-1, 2) - 1/40 x DATA(0, 1) - 1/40 x DATA(-1, 0)
+
+ 2 2 2
+ - 3/40 x DATA(-1, -1) + 3/40 x DATA(1, -1) - 3/40 x DATA(0, 2)
+
+ 2 2 2
+ - 1/40 x DATA(1, 1) + 3/8 y DATA(1, 0) - 3/8 y DATA(0, 1)
+
+ + 1/20 x y DATA(0, 0) + 1/20 x y DATA(0, 1) - 1/20 x y DATA(1, 1)
+
+ - 3/20 x y DATA(-1, -1) - 1/20 x y DATA(0, -1) - 1/20 x y DATA(1, 0)
+
+ 2 2 2
+ + 1/8 y DATA(0, 2) + 1/8 y DATA(1, 2) + 1/8 y DATA(2, 2)
+
+ 2 2 2
+ - 3/8 y DATA(1, 1) - 1/8 y DATA(0, -1) - 1/8 y DATA(1, -1)
+
+ 2 2 2
+ + 3/8 y DATA(-1, 0) - 3/8 y DATA(-1, 1) - 1/8 y DATA(-1, -1)
+
+ 2 13
+ + 3/8 y DATA(0, 0) + -- y DATA(-1, -1) + 9/40 y DATA(1, -1)
+ 40
+
+ 23 13
+ - -- y DATA(-1, 0) + 7/40 y DATA(-1, 1) + -- y DATA(2, 1)
+ 40 40
+
+ 2 2
+ + 3/40 y DATA(-1, 2) + 3/8 y DATA(2, 0) - 3/8 y DATA(2, 1)
+
+ 2 11
+ + 1/8 y DATA(-1, 2) + -- y DATA(0, -1) - 1/50 x DATA(-1, 0)
+ 40
+
+ - 1/40 y DATA(1, 2) - 3/40 y DATA(2, 2) + 7/40 y DATA(2, -1)
+
+ 17 2
+ - -- y DATA(2, 0) + 1/40 y DATA(0, 2) - 1/8 y DATA(2, -1)
+ 40
+
+ 21 19 11
+ - -- y DATA(0, 0) - -- y DATA(1, 0) + 9/40 y DATA(0, 1) + -- y DATA(1, 1)
+ 40 40 40
+
+ + 6/25 x DATA(-1, -1) - 3/20 x y DATA(2, 0) + 1/20 x y DATA(1, -1)
+
+ + 3/20 x y DATA(-1, 0) + 3/20 x y DATA(-1, 1) - 3/20 x y DATA(2, 1)
+
+ - 1/20 x y DATA(0, 2) - 3/50 x DATA(2, 2) - 9/100 x DATA(2, -1)
+
+ 2
+ + 1/40 x DATA(0, 0) + 7/100 x DATA(2, 0) - 1/25 x DATA(0, 0)
+
+ - 1/100 x DATA(1, 0) - 1/100 x DATA(0, 1) + 3/50 x DATA(1, 1)
+
+ 2 2
+ - 3/20 x y DATA(-1, 2) + 1/40 x DATA(-1, 1) + 1/40 x DATA(2, 1)
+
+ 2 13
+ + 3/40 x DATA(0, -1) - 1/50 x DATA(0, -1) - --- x DATA(1, -1)
+ 100
+
+ 13
+ + 7/100 x DATA(0, 2) - --- x DATA(-1, 1) + 2/25 x DATA(2, 1)
+ 100
+
+ 2
+ - 9/100 x DATA(-1, 2) + 2/25 x DATA(1, 2) - 1/40 x DATA(2, 0)
+
+ 2 2 2
+ - 3/40 x DATA(1, 2) + 3/40 x DATA(2, 2) - 3/40 x DATA(2, -1)
+
+ 2
+ + 1/40 x DATA(1, 0) + 1/20 x y DATA(1, 2) + 3/20 x y DATA(2, 2)
+
+ 57 63 117
+ + 3/20 x y DATA(2, -1) - --- DATA(0, 0) - --- DATA(1, 0) + --- DATA(0, 1)
+ 400 400 400
+
+ 103 109 223 157
+ + --- DATA(1, 1) - ---- DATA(-1, -1) - ---- DATA(0, -1) - ---- DATA(1, -1)
+ 400 1200 1200 1200
+
+ 31 111 69 131
+ - --- DATA(-1, 0) + --- DATA(-1, 1) + --- DATA(2, 1) - ---- DATA(-1, 2)
+ 400 400 400 1200
+
+ 43 37 149 89
+ + ---- DATA(0, 2) + ---- DATA(1, 2) - ---- DATA(2, 2) + ---- DATA(2, -1)
+ 1200 1200 1200 1200
+
+ 49
+ - --- DATA(2, 0)
+ 400
+
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+bytes used=30023228, alloc=2096768, time=2.36
+ 2 109 13 2
+[COEFF(-1, -1) = 6/25 x - 1/8 y - ---- - 3/20 x y + -- y - 3/40 x ,
+ 1200 40
+
+ 11 2 223 2
+ COEFF(0, -1) = -- y + 3/40 x - ---- - 1/50 x - 1/20 x y - 1/8 y ,
+ 40 1200
+
+ 13 157 2 2
+ COEFF(1, -1) = - --- x + 9/40 y - ---- + 3/40 x + 1/20 x y - 1/8 y ,
+ 100 1200
+
+ 2 2 89
+ COEFF(2, -1) = - 9/100 x - 1/8 y + 3/20 x y - 3/40 x + 7/40 y + ----,
+ 1200
+
+ 23 31 2 2
+ COEFF(-1, 0) = 3/20 x y - -- y - --- - 1/50 x - 1/40 x + 3/8 y ,
+ 40 400
+
+ 2 2 57 21
+ COEFF(0, 0) = 1/40 x + 1/20 x y - 1/25 x + 3/8 y - --- - -- y,
+ 400 40
+
+ 2 2 19 63
+ COEFF(1, 0) = 1/40 x - 1/100 x + 3/8 y - -- y - --- - 1/20 x y,
+ 40 400
+
+ 2 49 17 2
+ COEFF(2, 0) = - 3/20 x y - 1/40 x - --- - -- y + 3/8 y + 7/100 x,
+ 400 40
+
+ 2 13 2 111
+ COEFF(-1, 1) = - 3/8 y + 3/20 x y + 7/40 y - --- x + 1/40 x + ---,
+ 100 400
+
+ 2 117 2
+ COEFF(0, 1) = 9/40 y - 3/8 y + 1/20 x y - 1/100 x + --- - 1/40 x ,
+ 400
+
+ 2 11 2 103
+ COEFF(1, 1) = - 3/8 y + 3/50 x + -- y - 1/40 x + --- - 1/20 x y,
+ 40 400
+
+ 13 2 69 2
+ COEFF(2, 1) = 2/25 x + -- y - 3/20 x y - 3/8 y + --- + 1/40 x ,
+ 40 400
+
+ 2 131 2
+ COEFF(-1, 2) = 3/40 x - ---- + 3/40 y - 9/100 x + 1/8 y - 3/20 x y,
+ 1200
+
+ 2 43 2
+ COEFF(0, 2) = 1/40 y + 7/100 x - 3/40 x - 1/20 x y + ---- + 1/8 y ,
+ 1200
+
+ 2 37 2
+ COEFF(1, 2) = 1/8 y + ---- + 1/20 x y - 1/40 y + 2/25 x - 3/40 x ,
+ 1200
+
+ 2 2 149
+ COEFF(2, 2) = 3/40 x - 3/40 y + 1/8 y - 3/50 x + 3/20 x y - ----]
+ 1200
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c");
+bytes used=31023544, alloc=2096768, time=2.43
+bytes used=32023964, alloc=2096768, time=2.51
+bytes used=33024296, alloc=2096768, time=2.61
+>
+# d^2/dx^2
+> simplify( diff(interp_2d_cube_order3_smooth0,x,x) );
+- 3/20 y DATA(-1, -1) + 3/20 y DATA(1, -1) - 1/20 y DATA(-1, 0)
+
+ + 1/20 y DATA(-1, 1) + 1/20 y DATA(2, 1) + 3/20 y DATA(-1, 2)
+
+ + 3/20 y DATA(0, -1) - 1/4 x DATA(-1, 0) - 3/20 y DATA(1, 2)
+
+ + 3/20 y DATA(2, 2) - 3/20 y DATA(2, -1) - 1/20 y DATA(2, 0)
+
+ - 3/20 y DATA(0, 2) + 1/20 y DATA(0, 0) + 1/20 y DATA(1, 0)
+
+ - 1/20 y DATA(0, 1) - 1/20 y DATA(1, 1) - 1/4 x DATA(-1, -1)
+
+ + 1/4 x DATA(2, 2) + 1/4 x DATA(2, -1) + 1/4 x DATA(2, 0)
+
+ + 3/4 x DATA(0, 0) - 3/4 x DATA(1, 0) + 3/4 x DATA(0, 1)
+
+ - 3/4 x DATA(1, 1) + 3/4 x DATA(0, -1) - 3/4 x DATA(1, -1)
+
+ + 3/4 x DATA(0, 2) - 1/4 x DATA(-1, 1) + 1/4 x DATA(2, 1)
+
+ 21
+ - 1/4 x DATA(-1, 2) - 3/4 x DATA(1, 2) - -- DATA(0, 0) + 9/40 DATA(1, 0)
+ 40
+
+ 19 11 13 23
+ - -- DATA(0, 1) + -- DATA(1, 1) + -- DATA(-1, -1) - -- DATA(0, -1)
+ 40 40 40 40
+
+ 11
+ + 7/40 DATA(1, -1) + -- DATA(-1, 0) + 9/40 DATA(-1, 1) - 1/40 DATA(2, 1)
+ 40
+
+ 17 13
+ + 7/40 DATA(-1, 2) - -- DATA(0, 2) + -- DATA(1, 2) - 3/40 DATA(2, 2)
+ 40 40
+
+ + 3/40 DATA(2, -1) + 1/40 DATA(2, 0)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+bytes used=34024524, alloc=2096768, time=2.73
+ 13 23
+[COEFF(-1, -1) = - 3/20 y + -- - 1/4 x, COEFF(0, -1) = - -- + 3/4 x + 3/20 y,
+ 40 40
+
+ COEFF(1, -1) = - 3/4 x + 7/40 + 3/20 y,
+
+ 11
+ COEFF(2, -1) = 1/4 x + 3/40 - 3/20 y, COEFF(-1, 0) = - 1/4 x - 1/20 y + --,
+ 40
+
+ 21
+ COEFF(0, 0) = 3/4 x + 1/20 y - --, COEFF(1, 0) = - 3/4 x + 9/40 + 1/20 y,
+ 40
+
+ COEFF(2, 0) = - 1/20 y + 1/40 + 1/4 x, COEFF(-1, 1) = 1/20 y - 1/4 x + 9/40,
+
+ 19 11
+ COEFF(0, 1) = - 1/20 y + 3/4 x - --, COEFF(1, 1) = -- - 3/4 x - 1/20 y,
+ 40 40
+
+ COEFF(2, 1) = - 1/40 + 1/20 y + 1/4 x,
+
+ 17
+ COEFF(-1, 2) = - 1/4 x + 7/40 + 3/20 y, COEFF(0, 2) = - -- + 3/4 x - 3/20 y,
+ 40
+
+ 13
+ COEFF(1, 2) = - 3/20 y - 3/4 x + --, COEFF(2, 2) = 3/20 y - 3/40 + 1/4 x]
+ 40
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c");
+bytes used=35024704, alloc=2096768, time=2.82
+bytes used=36025012, alloc=2096768, time=2.93
+>
+# d^2/dxdy
+> simplify( diff(interp_2d_cube_order3_smooth0,x,y) );
+- 3/20 y DATA(-1, -1) + 1/20 y DATA(1, -1) + 3/20 y DATA(-1, 0)
+
+ + 3/20 y DATA(-1, 1) - 3/20 y DATA(2, 1) - 3/20 y DATA(-1, 2)
+
+ - 1/20 y DATA(0, -1) - 1/20 x DATA(-1, 0) + 1/20 y DATA(1, 2)
+
+ + 3/20 y DATA(2, 2) + 3/20 y DATA(2, -1) - 3/20 y DATA(2, 0)
+
+ - 1/20 y DATA(0, 2) + 1/20 y DATA(0, 0) - 1/20 y DATA(1, 0)
+
+ + 1/20 y DATA(0, 1) - 1/20 y DATA(1, 1) - 3/20 x DATA(-1, -1)
+
+ + 3/20 x DATA(2, 2) - 3/20 x DATA(2, -1) - 1/20 x DATA(2, 0)
+
+ + 1/20 x DATA(0, 0) + 1/20 x DATA(1, 0) - 1/20 x DATA(0, 1)
+
+ - 1/20 x DATA(1, 1) + 3/20 x DATA(0, -1) + 3/20 x DATA(1, -1)
+
+ - 3/20 x DATA(0, 2) + 1/20 x DATA(-1, 1) + 1/20 x DATA(2, 1)
+
+ + 3/20 x DATA(-1, 2) - 3/20 x DATA(1, 2) - 1/25 DATA(0, 0)
+
+ - 1/100 DATA(1, 0) - 1/100 DATA(0, 1) + 3/50 DATA(1, 1)
+
+ 13
+ + 6/25 DATA(-1, -1) - 1/50 DATA(0, -1) - --- DATA(1, -1)
+ 100
+
+ 13
+ - 1/50 DATA(-1, 0) - --- DATA(-1, 1) + 2/25 DATA(2, 1) - 9/100 DATA(-1, 2)
+ 100
+
+ + 7/100 DATA(0, 2) + 2/25 DATA(1, 2) - 3/50 DATA(2, 2) - 9/100 DATA(2, -1)
+
+ + 7/100 DATA(2, 0)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+[COEFF(-1, -1) = - 3/20 x - 3/20 y + 6/25,
+
+ COEFF(0, -1) = - 1/50 - 1/20 y + 3/20 x,
+
+ 13
+ COEFF(1, -1) = - --- + 3/20 x + 1/20 y,
+ 100
+
+ COEFF(2, -1) = - 3/20 x - 9/100 + 3/20 y,
+
+ COEFF(-1, 0) = 3/20 y - 1/50 - 1/20 x, COEFF(0, 0) = 1/20 y - 1/25 + 1/20 x,
+
+ COEFF(1, 0) = - 1/20 y - 1/100 + 1/20 x,
+
+ COEFF(2, 0) = - 1/20 x - 3/20 y + 7/100,
+
+ 13
+ COEFF(-1, 1) = 3/20 y + 1/20 x - ---,
+ 100
+
+ COEFF(0, 1) = - 1/20 x + 1/20 y - 1/100,
+
+ COEFF(1, 1) = - 1/20 y - 1/20 x + 3/50,
+
+ COEFF(2, 1) = - 3/20 y + 1/20 x + 2/25,
+
+ COEFF(-1, 2) = - 3/20 y + 3/20 x - 9/100,
+
+ COEFF(0, 2) = 7/100 - 1/20 y - 3/20 x, COEFF(1, 2) = 1/20 y + 2/25 - 3/20 x,
+
+ COEFF(2, 2) = - 3/50 + 3/20 x + 3/20 y]
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c");
+bytes used=37025336, alloc=2096768, time=3.00
+>
+# d^2/dy^2
+> simplify( diff(interp_2d_cube_order3_smooth0,y,y) );
+- 1/4 y DATA(-1, -1) - 1/4 y DATA(1, -1) + 3/4 y DATA(-1, 0)
+
+ - 3/4 y DATA(-1, 1) - 3/4 y DATA(2, 1) + 1/4 y DATA(-1, 2)
+
+ - 1/4 y DATA(0, -1) + 3/20 x DATA(-1, 0) + 1/4 y DATA(1, 2)
+
+ + 1/4 y DATA(2, 2) - 1/4 y DATA(2, -1) + 3/4 y DATA(2, 0)
+
+ + 1/4 y DATA(0, 2) + 3/4 y DATA(0, 0) + 3/4 y DATA(1, 0)
+
+ - 3/4 y DATA(0, 1) - 3/4 y DATA(1, 1) - 3/20 x DATA(-1, -1)
+
+ + 3/20 x DATA(2, 2) + 3/20 x DATA(2, -1) - 3/20 x DATA(2, 0)
+
+ + 1/20 x DATA(0, 0) - 1/20 x DATA(1, 0) + 1/20 x DATA(0, 1)
+
+ - 1/20 x DATA(1, 1) - 1/20 x DATA(0, -1) + 1/20 x DATA(1, -1)
+
+ - 1/20 x DATA(0, 2) + 3/20 x DATA(-1, 1) - 3/20 x DATA(2, 1)
+
+ 21 19
+ - 3/20 x DATA(-1, 2) + 1/20 x DATA(1, 2) - -- DATA(0, 0) - -- DATA(1, 0)
+ 40 40
+
+ 11 13 11
+ + 9/40 DATA(0, 1) + -- DATA(1, 1) + -- DATA(-1, -1) + -- DATA(0, -1)
+ 40 40 40
+
+ 23 13
+ + 9/40 DATA(1, -1) - -- DATA(-1, 0) + 7/40 DATA(-1, 1) + -- DATA(2, 1)
+ 40 40
+
+ + 3/40 DATA(-1, 2) + 1/40 DATA(0, 2) - 1/40 DATA(1, 2) - 3/40 DATA(2, 2)
+
+ 17
+ + 7/40 DATA(2, -1) - -- DATA(2, 0)
+ 40
+
+> coeff_as_lc_of_data(%, posn_list_2d_size4);
+bytes used=38025736, alloc=2096768, time=3.12
+ 13 11
+[COEFF(-1, -1) = -- - 3/20 x - 1/4 y, COEFF(0, -1) = - 1/4 y + -- - 1/20 x,
+ 40 40
+
+ COEFF(1, -1) = 1/20 x - 1/4 y + 9/40, COEFF(2, -1) = 3/20 x - 1/4 y + 7/40,
+
+ 23 21
+ COEFF(-1, 0) = - -- + 3/4 y + 3/20 x, COEFF(0, 0) = - -- + 1/20 x + 3/4 y,
+ 40 40
+
+ 19 17
+ COEFF(1, 0) = - 1/20 x + 3/4 y - --, COEFF(2, 0) = 3/4 y - 3/20 x - --,
+ 40 40
+
+ COEFF(-1, 1) = - 3/4 y + 7/40 + 3/20 x,
+
+ 11
+ COEFF(0, 1) = - 3/4 y + 1/20 x + 9/40, COEFF(1, 1) = - 3/4 y - 1/20 x + --,
+ 40
+
+ 13
+ COEFF(2, 1) = - 3/20 x - 3/4 y + --, COEFF(-1, 2) = 1/4 y - 3/20 x + 3/40,
+ 40
+
+ COEFF(0, 2) = - 1/20 x + 1/4 y + 1/40, COEFF(1, 2) = 1/4 y + 1/20 x - 1/40,
+
+ COEFF(2, 2) = - 3/40 + 1/4 y + 3/20 x]
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c");
+bytes used=39026068, alloc=2096768, time=3.20
+bytes used=40026480, alloc=2096768, time=3.32
+>
+########################################
+>
+#
+# 2d, cube, order=4, smoothing=0 (size=5)
+#
+>
+# interpolating polynomial
+> interp_2d_cube_order4_smooth0
+> := polynomial_interpolant(fn_2d_order4, coeff_list_2d_order4,
+> coord_list_2d, posn_list_2d_size5);
+bytes used=41027392, alloc=2096768, time=3.38
+bytes used=42027828, alloc=2162292, time=3.44
+bytes used=43029804, alloc=2162292, time=3.51
+bytes used=44031380, alloc=2162292, time=3.56
+bytes used=45032232, alloc=2162292, time=3.62
+interp_2d_cube_order4_smooth0 := (- 1/49 DATA(0, -2) - 1/98 DATA(-1, -2)
+
+ + 1/49 DATA(-2, -2) + 1/49 DATA(0, 0) + 1/98 DATA(1, 0) + 1/98 DATA(0, 1)
+
+ + 1/196 DATA(1, 1) - 1/98 DATA(-2, -1) + 1/49 DATA(2, -2)
+
+ - 1/98 DATA(1, -2) + 1/49 DATA(-2, 2) - 1/98 DATA(-2, 1)
+
+ - 1/49 DATA(-2, 0) + 1/196 DATA(-1, -1) + 1/98 DATA(0, -1)
+
+ + 1/196 DATA(1, -1) + 1/98 DATA(-1, 0) + 1/196 DATA(-1, 1)
+
+ - 1/98 DATA(2, 1) - 1/98 DATA(-1, 2) - 1/49 DATA(0, 2) - 1/98 DATA(1, 2)
+
+ 2 2 /
+ + 1/49 DATA(2, 2) - 1/98 DATA(2, -1) - 1/49 DATA(2, 0)) x y + |
+ \
+
+ 21 11 37 21
+ --- DATA(-1, -2) - --- DATA(-2, -2) + --- DATA(1, 1) + --- DATA(-2, -1)
+ 200 150 300 200
+
+ 11 21 11 21
+ + --- DATA(2, -2) - --- DATA(1, -2) + --- DATA(-2, 2) - --- DATA(-2, 1)
+ 150 200 150 200
+
+ 37 37 37 21
+ + --- DATA(-1, -1) - --- DATA(1, -1) - --- DATA(-1, 1) + --- DATA(2, 1)
+ 300 300 300 200
+
+ 21 21 11 21 \
+ - --- DATA(-1, 2) + --- DATA(1, 2) - --- DATA(2, 2) - --- DATA(2, -1)| x y
+ 200 200 150 200 /
+
+ + (1/35 DATA(0, -2) + 1/70 DATA(-1, -2) - 1/35 DATA(-2, -2)
+
+ - 1/70 DATA(0, 1) - 1/140 DATA(1, 1) - 1/70 DATA(-2, -1)
+
+ - 1/35 DATA(2, -2) + 1/70 DATA(1, -2) + 1/35 DATA(-2, 2)
+
+ + 1/70 DATA(-2, 1) + 1/140 DATA(-1, -1) + 1/70 DATA(0, -1)
+
+ + 1/140 DATA(1, -1) - 1/140 DATA(-1, 1) + 1/70 DATA(2, 1)
+
+ - 1/70 DATA(-1, 2) - 1/35 DATA(0, 2) - 1/70 DATA(1, 2) + 1/35 DATA(2, 2)
+
+ 2
+ - 1/70 DATA(2, -1)) x y + (- 1/70 DATA(-1, -2) - 1/35 DATA(-2, -2)
+
+ - 1/70 DATA(1, 0) - 1/140 DATA(1, 1) + 1/70 DATA(-2, -1)
+
+ + 1/35 DATA(2, -2) + 1/70 DATA(1, -2) - 1/35 DATA(-2, 2)
+
+ + 1/70 DATA(-2, 1) + 1/35 DATA(-2, 0) + 1/140 DATA(-1, -1)
+
+ - 1/140 DATA(1, -1) + 1/70 DATA(-1, 0) + 1/140 DATA(-1, 1)
+
+ - 1/70 DATA(2, 1) - 1/70 DATA(-1, 2) + 1/70 DATA(1, 2) + 1/35 DATA(2, 2)
+
+ 2 96
+ - 1/70 DATA(2, -1) - 1/35 DATA(2, 0)) x y + ---- DATA(0, -2)
+ 1225
+
+ 99
+ - ---- DATA(-1, -2) + (- 1/30 DATA(-1, -2) + 1/60 DATA(-2, -2)
+ 1225
+
+ - 1/60 DATA(1, 1) + 1/120 DATA(-2, -1) - 1/60 DATA(2, -2)
+
+ + 1/30 DATA(1, -2) - 1/60 DATA(-2, 2) - 1/120 DATA(-2, 1)
+
+ - 1/60 DATA(-1, -1) + 1/60 DATA(1, -1) + 1/60 DATA(-1, 1)
+
+ + 1/120 DATA(2, 1) + 1/30 DATA(-1, 2) - 1/30 DATA(1, 2) + 1/60 DATA(2, 2)
+
+ 3 51 541
+ - 1/120 DATA(2, -1)) x y + ---- DATA(-2, -2) + ---- DATA(0, 0)
+ 1225 1225
+
+ 246 246 24 99
+ + ---- DATA(1, 0) + ---- DATA(0, 1) - ---- DATA(1, 1) - ---- DATA(-2, -1)
+ 1225 1225 1225 1225
+
+ 51 99 51
+ + ---- DATA(2, -2) - ---- DATA(1, -2) + ---- DATA(-2, 2)
+ 1225 1225 1225
+
+ 99 96 / 41
+ - ---- DATA(-2, 1) + ---- DATA(-2, 0) + |- --- DATA(0, -2)
+ 1225 1225 \ 196
+
+ 113 289 57 83
+ + --- DATA(-1, -2) - ---- DATA(-2, -2) - --- DATA(0, 0) + --- DATA(1, 0)
+ 735 5880 196 735
+
+ 53 181 71 289
+ - --- DATA(0, 1) + ---- DATA(1, 1) + ---- DATA(-2, -1) - ---- DATA(2, -2)
+ 196 1470 5880 5880
+
+ 113 289 71 191
+ + --- DATA(1, -2) - ---- DATA(-2, 2) + ---- DATA(-2, 1) + ---- DATA(-2, 0)
+ 735 5880 5880 5880
+
+ 181 53 181 83
+ + ---- DATA(-1, -1) - --- DATA(0, -1) + ---- DATA(1, -1) + --- DATA(-1, 0)
+ 1470 196 1470 735
+
+ 181 71 113 41
+ + ---- DATA(-1, 1) + ---- DATA(2, 1) + --- DATA(-1, 2) - --- DATA(0, 2)
+ 1470 5880 735 196
+
+ 113 289 71 191 \
+ + --- DATA(1, 2) - ---- DATA(2, 2) + ---- DATA(2, -1) + ---- DATA(2, 0)|
+ 735 5880 5880 5880 /
+
+ 2
+ x + (1/30 DATA(-1, -2) - 1/60 DATA(-2, -2) - 1/30 DATA(1, 0)
+
+ - 1/30 DATA(1, 1) - 1/60 DATA(-2, -1) + 1/60 DATA(2, -2)
+
+ - 1/30 DATA(1, -2) - 1/60 DATA(-2, 2) - 1/60 DATA(-2, 1)
+
+ - 1/60 DATA(-2, 0) + 1/30 DATA(-1, -1) - 1/30 DATA(1, -1)
+
+ + 1/30 DATA(-1, 0) + 1/30 DATA(-1, 1) + 1/60 DATA(2, 1) + 1/30 DATA(-1, 2)
+
+ - 1/30 DATA(1, 2) + 1/60 DATA(2, 2) + 1/60 DATA(2, -1) + 1/60 DATA(2, 0))
+
+ 3
+ x + (1/20 DATA(0, -2) - 1/30 DATA(-1, -2) + 1/120 DATA(-2, -2)
+
+ + 1/20 DATA(0, 0) - 1/30 DATA(1, 0) + 1/20 DATA(0, 1) - 1/30 DATA(1, 1)
+
+ + 1/120 DATA(-2, -1) + 1/120 DATA(2, -2) - 1/30 DATA(1, -2)
+
+ + 1/120 DATA(-2, 2) + 1/120 DATA(-2, 1) + 1/120 DATA(-2, 0)
+
+ - 1/30 DATA(-1, -1) + 1/20 DATA(0, -1) - 1/30 DATA(1, -1)
+
+ - 1/30 DATA(-1, 0) - 1/30 DATA(-1, 1) + 1/120 DATA(2, 1)
+
+ - 1/30 DATA(-1, 2) + 1/20 DATA(0, 2) - 1/30 DATA(1, 2) + 1/120 DATA(2, 2)
+
+ 4
+ + 1/120 DATA(2, -1) + 1/120 DATA(2, 0)) x + (1/120 DATA(0, -2)
+
+ + 1/120 DATA(-1, -2) + 1/120 DATA(-2, -2) + 1/20 DATA(0, 0)
+
+ + 1/20 DATA(1, 0) - 1/30 DATA(0, 1) - 1/30 DATA(1, 1) - 1/30 DATA(-2, -1)
+
+ + 1/120 DATA(2, -2) + 1/120 DATA(1, -2) + 1/120 DATA(-2, 2)
+
+ - 1/30 DATA(-2, 1) + 1/20 DATA(-2, 0) - 1/30 DATA(-1, -1)
+
+ - 1/30 DATA(0, -1) - 1/30 DATA(1, -1) + 1/20 DATA(-1, 0)
+
+ - 1/30 DATA(-1, 1) - 1/30 DATA(2, 1) + 1/120 DATA(-1, 2)
+
+ + 1/120 DATA(0, 2) + 1/120 DATA(1, 2) + 1/120 DATA(2, 2)
+
+ 4
+ - 1/30 DATA(2, -1) + 1/20 DATA(2, 0)) y + (- 1/60 DATA(0, -2)
+
+ - 1/60 DATA(-1, -2) - 1/60 DATA(-2, -2) - 1/30 DATA(0, 1)
+
+ - 1/30 DATA(1, 1) + 1/30 DATA(-2, -1) - 1/60 DATA(2, -2)
+
+ - 1/60 DATA(1, -2) + 1/60 DATA(-2, 2) - 1/30 DATA(-2, 1)
+
+ + 1/30 DATA(-1, -1) + 1/30 DATA(0, -1) + 1/30 DATA(1, -1)
+
+ - 1/30 DATA(-1, 1) - 1/30 DATA(2, 1) + 1/60 DATA(-1, 2) + 1/60 DATA(0, 2)
+
+ 3 /
+ + 1/60 DATA(1, 2) + 1/60 DATA(2, 2) + 1/30 DATA(2, -1)) y + |
+ \
+
+ 191 71 289 57
+ ---- DATA(0, -2) + ---- DATA(-1, -2) - ---- DATA(-2, -2) - --- DATA(0, 0)
+ 5880 5880 5880 196
+
+ 53 83 181 113
+ - --- DATA(1, 0) + --- DATA(0, 1) + ---- DATA(1, 1) + --- DATA(-2, -1)
+ 196 735 1470 735
+
+ 289 71 289 113
+ - ---- DATA(2, -2) + ---- DATA(1, -2) - ---- DATA(-2, 2) + --- DATA(-2, 1)
+ 5880 5880 5880 735
+
+ 41 181 83 181
+ - --- DATA(-2, 0) + ---- DATA(-1, -1) + --- DATA(0, -1) + ---- DATA(1, -1)
+ 196 1470 735 1470
+
+ 53 181 113 71
+ - --- DATA(-1, 0) + ---- DATA(-1, 1) + --- DATA(2, 1) + ---- DATA(-1, 2)
+ 196 1470 735 5880
+
+ 191 71 289 113
+ + ---- DATA(0, 2) + ---- DATA(1, 2) - ---- DATA(2, 2) + --- DATA(2, -1)
+ 5880 5880 5880 735
+
+ 41 \ 2 / 17
+ - --- DATA(2, 0)| y + |- --- DATA(0, -2) - 1/84 DATA(-1, -2)
+ 196 / \ 420
+
+ 31 17 31 11
+ + --- DATA(-2, -2) + --- DATA(0, 1) + --- DATA(1, 1) - --- DATA(-2, -1)
+ 420 105 210 105
+
+ 31 31 11
+ + --- DATA(2, -2) - 1/84 DATA(1, -2) - --- DATA(-2, 2) + --- DATA(-2, 1)
+ 420 420 105
+
+ 31 17 31 31
+ - --- DATA(-1, -1) - --- DATA(0, -1) - --- DATA(1, -1) + --- DATA(-1, 1)
+ 210 105 210 210
+
+ 11 17
+ + --- DATA(2, 1) + 1/84 DATA(-1, 2) + --- DATA(0, 2) + 1/84 DATA(1, 2)
+ 105 420
+
+ 31 11 \ / 11
+ - --- DATA(2, 2) - --- DATA(2, -1)| y + |- --- DATA(-1, -2)
+ 420 105 / \ 105
+
+ 31 17 31
+ + --- DATA(-2, -2) + --- DATA(1, 0) + --- DATA(1, 1) - 1/84 DATA(-2, -1)
+ 420 105 210
+
+ 31 11 31
+ - --- DATA(2, -2) + --- DATA(1, -2) + --- DATA(-2, 2) - 1/84 DATA(-2, 1)
+ 420 105 420
+
+ 17 31 31 17
+ - --- DATA(-2, 0) - --- DATA(-1, -1) + --- DATA(1, -1) - --- DATA(-1, 0)
+ 420 210 210 105
+
+ 31 11 11
+ - --- DATA(-1, 1) + 1/84 DATA(2, 1) - --- DATA(-1, 2) + --- DATA(1, 2)
+ 210 105 105
+
+ 31 17 \
+ - --- DATA(2, 2) + 1/84 DATA(2, -1) + --- DATA(2, 0)| x + (
+ 420 420 /
+
+ 1/120 DATA(-1, -2) + 1/60 DATA(-2, -2) - 1/60 DATA(1, 1)
+
+ - 1/30 DATA(-2, -1) - 1/60 DATA(2, -2) - 1/120 DATA(1, -2)
+
+ - 1/60 DATA(-2, 2) + 1/30 DATA(-2, 1) - 1/60 DATA(-1, -1)
+
+ + 1/60 DATA(1, -1) + 1/60 DATA(-1, 1) - 1/30 DATA(2, 1)
+
+ - 1/120 DATA(-1, 2) + 1/120 DATA(1, 2) + 1/60 DATA(2, 2)
+
+ 3 24 246
+ + 1/30 DATA(2, -1)) x y - ---- DATA(-1, -1) + ---- DATA(0, -1)
+ 1225 1225
+
+ 24 246 24 99
+ - ---- DATA(1, -1) + ---- DATA(-1, 0) - ---- DATA(-1, 1) - ---- DATA(2, 1)
+ 1225 1225 1225 1225
+
+ 99 96 99 51
+ - ---- DATA(-1, 2) + ---- DATA(0, 2) - ---- DATA(1, 2) + ---- DATA(2, 2)
+ 1225 1225 1225 1225
+
+ 99 96
+ - ---- DATA(2, -1) + ---- DATA(2, 0)
+ 1225 1225
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=46032680, alloc=2162292, time=3.68
+ 3 2 31 3 2 31
+[COEFF(-2, -2) = 1/60 x y - 1/35 x y + --- x + 1/60 x y - 1/35 x y + --- y
+ 420 420
+
+ 289 2 289 2 4 3 4 11 3
+ - ---- x - ---- y + 1/120 y - 1/60 y + 1/120 x - --- x y - 1/60 x
+ 5880 5880 150
+
+ 2 2 51 4 3 3
+ + 1/49 x y + ----, COEFF(-1, -2) = 1/120 y - 1/30 x y + 1/120 x y
+ 1225
+
+ 2 21 11 2 2 3 3
+ - 1/70 x y + --- x y - --- x - 1/84 y - 1/98 x y + 1/30 x - 1/60 y
+ 200 105
+
+ 113 2 71 2 2 99 4 17
+ + --- x + ---- y + 1/70 x y - ---- - 1/30 x , COEFF(0, -2) = - --- y
+ 735 5880 1225 420
+
+ 2 4 41 2 2 2 191 2 4 3
+ + 1/35 x y + 1/20 x - --- x - 1/49 x y + ---- y + 1/120 y - 1/60 y
+ 196 5880
+
+ 96 3 21 2 2 3
+ + ----, COEFF(1, -2) = - 1/30 x - --- x y - 1/98 x y - 1/120 x y
+ 1225 200
+
+ 71 2 3 3 99 4 11 113 2
+ + ---- y + 1/30 x y - 1/60 y - ---- + 1/120 y + --- x + --- x
+ 5880 1225 105 735
+
+ 2 4 2 2 2
+ + 1/70 x y - 1/30 x + 1/70 x y - 1/84 y, COEFF(2, -2) = 1/49 x y
+
+ 2 11 3 4 3 31 31
+ - 1/35 x y + --- x y + 1/60 x + 1/120 x - 1/60 y + --- y - --- x
+ 150 420 420
+
+ 2 4 3 289 2 289 2 51 3
+ + 1/35 x y + 1/120 y - 1/60 x y - ---- x - ---- y + ---- - 1/60 x y ,
+ 5880 5880 1225
+
+ 3 3 99 71 2 2
+ COEFF(-2, -1) = - 1/30 x y + 1/120 x y - ---- + ---- x - 1/70 x y
+ 1225 5880
+
+ 4 2 2 2 4 113 2 3 21
+ - 1/30 y + 1/70 x y - 1/98 x y + 1/120 x + --- y - 1/60 x + --- x y
+ 735 200
+
+ 11 3 2 3 31
+ - 1/84 x - --- y + 1/30 y , COEFF(-1, -1) = 1/140 x y - 1/60 x y - --- x
+ 105 210
+
+ 3 181 2 24 4 2 3
+ - 1/60 x y + ---- x - ---- - 1/30 y + 1/140 x y + 1/30 y
+ 1470 1225
+
+ 2 2 181 2 31 3 37 4
+ + 1/196 x y + ---- y - --- y + 1/30 x + --- x y - 1/30 x ,
+ 1470 210 300
+
+ 2 246 2 2 4 17 4
+ COEFF(0, -1) = 1/70 x y + ---- + 1/98 x y - 1/30 y - --- y + 1/20 x
+ 1225 105
+
+ 53 2 3 83 2 24 4 3
+ - --- x + 1/30 y + --- y , COEFF(1, -1) = - ---- - 1/30 y + 1/30 y
+ 196 735 1225
+
+ 31 4 3 2 37 181 2 3
+ - --- y - 1/30 x + 1/60 x y - 1/140 x y - --- x y + ---- y + 1/60 x y
+ 210 300 1470
+
+ 181 2 2 3 2 2 31
+ + ---- x + 1/140 x y - 1/30 x + 1/196 x y + --- x, COEFF(2, -1) =
+ 1470 210
+
+ 2 99 2 11 3 2 2 71 2
+ - 1/70 x y - ---- - 1/70 x y - --- y - 1/120 x y - 1/98 x y + ---- x
+ 1225 105 5880
+
+ 3 113 2 4 4 3 3
+ + 1/30 y + --- y - 1/30 y + 1/84 x + 1/120 x + 1/30 x y + 1/60 x
+ 735
+
+ 21 4 17 2 2 191 2 3
+ - --- x y, COEFF(-2, 0) = 1/20 y - --- x - 1/49 x y + ---- x - 1/60 x
+ 200 420 5880
+
+ 41 2 2 4 96 2 2
+ - --- y + 1/35 x y + 1/120 x + ----, COEFF(-1, 0) = 1/98 x y
+ 196 1225
+
+ 4 4 17 53 2 83 2 246 3 2
+ - 1/30 x + 1/20 y - --- x - --- y + --- x + ---- + 1/30 x + 1/70 x y
+ 105 196 735 1225
+
+ 57 2 2 2 4 4 57 2 541
+ , COEFF(0, 0) = - --- x + 1/49 x y + 1/20 x + 1/20 y - --- y + ----,
+ 196 196 1225
+
+ 3 2 17 246 4 53 2
+ COEFF(1, 0) = - 1/30 x - 1/70 x y + --- x + ---- + 1/20 y - --- y
+ 105 1225 196
+
+ 2 2 4 83 2 191 2 17 41 2
+ + 1/98 x y - 1/30 x + --- x , COEFF(2, 0) = ---- x + --- x - --- y
+ 735 5880 420 196
+
+ 3 4 2 4 2 2 96
+ + 1/60 x + 1/120 x - 1/35 x y + 1/20 y - 1/49 x y + ----,
+ 1225
+
+ 2 3 71 2 11
+ COEFF(-2, 1) = 1/70 x y + 1/30 x y - 1/84 x + ---- x + --- y
+ 5880 105
+
+ 2 2 3 113 2 3 4 3
+ - 1/98 x y - 1/120 x y + --- y - 1/60 x - 1/30 y - 1/30 y
+ 735
+
+ 2 99 21 4 181 2
+ + 1/70 x y - ---- - --- x y + 1/120 x , COEFF(-1, 1) = ---- x
+ 1225 200 1470
+
+ 2 2 2 3 31 3 4
+ - 1/140 x y + 1/196 x y + 1/60 x y - --- x - 1/30 y - 1/30 y
+ 210
+
+ 37 3 4 181 2 3 24 2
+ - --- x y + 1/30 x - 1/30 x + ---- y + 1/60 x y - ---- + 1/140 x y
+ 300 1470 1225
+
+ 31 4 246 83 2 2 2 4
+ + --- y, COEFF(0, 1) = 1/20 x + ---- + --- y + 1/98 x y - 1/30 y
+ 210 1225 735
+
+ 2 53 2 17 3 31 24
+ - 1/70 x y - --- x + --- y - 1/30 y , COEFF(1, 1) = --- x - ----
+ 196 105 210 1225
+
+ 3 4 2 2 181 2 3 181 2
+ - 1/30 x - 1/30 y + 1/196 x y + ---- y - 1/30 y + ---- x
+ 1470 1470
+
+ 2 4 3 2 37 31
+ - 1/140 x y - 1/30 x - 1/60 x y - 1/140 x y + --- x y + --- y
+ 300 210
+
+ 3 71 2 3 4 3
+ - 1/60 x y , COEFF(2, 1) = ---- x - 1/30 y + 1/120 x + 1/60 x
+ 5880
+
+ 3 4 99 2 2 21
+ + 1/120 x y - 1/30 y - ---- - 1/70 x y + 1/70 x y + --- x y + 1/84 x
+ 1225 200
+
+ 3 11 2 2 113 2 2
+ - 1/30 x y + --- y - 1/98 x y + --- y , COEFF(-2, 2) = 1/35 x y
+ 105 735
+
+ 2 2 289 2 3 31 3 2
+ + 1/49 x y - ---- x - 1/60 x - --- y - 1/60 x y - 1/35 x y
+ 5880 420
+
+ 4 289 2 11 4 3 3 31
+ + 1/120 y - ---- y + --- x y + 1/120 x + 1/60 y - 1/60 x y + --- x
+ 5880 150 420
+
+ 51 3 3 4 2 2
+ + ----, COEFF(-1, 2) = 1/30 x + 1/60 y + 1/120 y - 1/98 x y + 1/84 y
+ 1225
+
+ 11 71 2 3 21 113 2 2 2
+ - --- x + ---- y + 1/30 x y - --- x y + --- x - 1/70 x y - 1/70 x y
+ 105 5880 200 735
+
+ 4 3 99 2 17
+ - 1/30 x - 1/120 x y - ----, COEFF(0, 2) = - 1/35 x y + --- y
+ 1225 420
+
+ 2 2 191 2 4 4 3 96 41 2
+ - 1/49 x y + ---- y + 1/120 y + 1/20 x + 1/60 y + ---- - --- x ,
+ 5880 1225 196
+
+ 2 71 2 3 4 11
+ COEFF(1, 2) = - 1/70 x y + ---- y + 1/60 y + 1/120 y + --- x
+ 5880 105
+
+ 3 3 4 113 2 2 21
+ - 1/30 x y + 1/120 x y - 1/30 x + --- x + 1/70 x y + --- x y + 1/84 y
+ 735 200
+
+ 2 2 3 99 2 3 289 2
+ - 1/98 x y - 1/30 x - ----, COEFF(2, 2) = 1/35 x y + 1/60 x - ---- y
+ 1225 5880
+
+ 3 4 31 3 3 4 289 2
+ + 1/60 y + 1/120 y - --- x + 1/60 x y + 1/60 x y + 1/120 x - ---- x
+ 420 5880
+
+ 2 11 31 2 2 51
+ + 1/35 x y - --- x y - --- y + 1/49 x y + ----]
+ 150 420 1225
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c");
+bytes used=47032968, alloc=2227816, time=3.74
+bytes used=48033144, alloc=2227816, time=3.79
+bytes used=49033372, alloc=2227816, time=3.87
+bytes used=50040780, alloc=2227816, time=3.93
+bytes used=51056180, alloc=2227816, time=4.00
+bytes used=52056432, alloc=2227816, time=4.08
+bytes used=53056900, alloc=2227816, time=4.23
+bytes used=54058848, alloc=2227816, time=4.32
+bytes used=55061220, alloc=2227816, time=4.40
+bytes used=56061400, alloc=2227816, time=4.48
+bytes used=57061672, alloc=2227816, time=4.65
+bytes used=58061836, alloc=2227816, time=4.71
+bytes used=59061988, alloc=2227816, time=4.82
+bytes used=60062168, alloc=2227816, time=4.99
+bytes used=61062588, alloc=2227816, time=5.06
+bytes used=62063004, alloc=2227816, time=5.15
+bytes used=63063436, alloc=2227816, time=5.28
+bytes used=64063660, alloc=2227816, time=5.36
+bytes used=65063896, alloc=2227816, time=5.53
+bytes used=66064164, alloc=2227816, time=5.57
+bytes used=67064372, alloc=2227816, time=5.77
+bytes used=68064544, alloc=2227816, time=5.89
+>
+# d/dx
+> simplify( diff(interp_2d_cube_order4_smooth0,x) );
+bytes used=69064760, alloc=2293340, time=5.99
+bytes used=70065912, alloc=2293340, time=6.05
+bytes used=71066204, alloc=2358864, time=6.12
+ 11 31 17 31
+- --- DATA(-1, -2) + --- DATA(-2, -2) + --- DATA(1, 0) + --- DATA(1, 1)
+ 105 420 105 210
+
+ 31 11 31
+ - 1/84 DATA(-2, -1) - --- DATA(2, -2) + --- DATA(1, -2) + --- DATA(-2, 2)
+ 420 105 420
+
+ 17 31 31
+ - 1/84 DATA(-2, 1) - --- DATA(-2, 0) - --- DATA(-1, -1) + --- DATA(1, -1)
+ 420 210 210
+
+ 17 31
+ - --- DATA(-1, 0) - --- DATA(-1, 1) - 1/35 x y DATA(0, 1)
+ 105 210
+
+ 3 191
+ + 1/5 x DATA(0, -1) - 2/35 x y DATA(0, 2) + ---- x DATA(2, 0)
+ 2940
+
+ 3 3 3
+ + 1/30 x DATA(-2, -2) - 2/15 x DATA(1, -1) - 2/15 x DATA(-1, 1)
+
+ 3 3 3
+ + 1/30 x DATA(2, 1) - 2/15 x DATA(-1, 2) + 1/5 x DATA(0, 2)
+
+ 3 3 3
+ + 1/5 x DATA(0, -2) - 2/15 x DATA(-1, 0) - 2/15 x DATA(1, -2)
+
+ 3 3 3
+ + 1/30 x DATA(-2, 2) + 1/30 x DATA(-2, 1) + 1/30 x DATA(-2, 0)
+
+ 3 191 181
+ - 2/15 x DATA(-1, -1) + ---- x DATA(-2, 0) + --- x DATA(-1, -1)
+ 2940 735
+
+ 53 181 3
+ - -- x DATA(0, -1) + --- x DATA(1, -1) - 2/15 x DATA(-1, -2)
+ 98 735
+
+ 3 226 289
+ + 1/5 x DATA(0, 0) + --- x DATA(1, 2) - ---- x DATA(2, 2)
+ 735 2940
+
+ 71 41 226
+ + ---- x DATA(2, -1) - -- x DATA(0, -2) + --- x DATA(-1, -2)
+ 2940 98 735
+
+ 289 57 2
+ - ---- x DATA(-2, -2) - -- x DATA(0, 0) + 1/10 x DATA(-1, -2)
+ 2940 98
+
+ 2 2 2
+ - 1/20 x DATA(-2, -2) - 1/10 x DATA(1, 0) - 1/10 x DATA(1, 1)
+
+ 2 2 2
+ - 1/20 x DATA(-2, -1) + 1/20 x DATA(2, -2) - 1/10 x DATA(1, -2)
+
+ 2 181 166
+ - 1/20 x DATA(-2, 2) + --- x DATA(-1, 1) + --- x DATA(1, 0)
+ 735 735
+
+ 53 181 71
+ - -- x DATA(0, 1) + --- x DATA(1, 1) + ---- x DATA(-2, -1)
+ 98 735 2940
+
+ 289 226 289
+ - ---- x DATA(2, -2) + --- x DATA(1, -2) - ---- x DATA(-2, 2)
+ 2940 735 2940
+
+ 71 2 2
+ + ---- x DATA(-2, 1) + 1/10 x DATA(-1, -1) - 1/10 x DATA(1, -1)
+ 2940
+
+ 2 2 166
+ + 1/10 x DATA(-1, 0) + 1/10 x DATA(-1, 1) + --- x DATA(-1, 0)
+ 735
+
+ 71 226 41
+ + ---- x DATA(2, 1) + --- x DATA(-1, 2) - -- x DATA(0, 2)
+ 2940 735 98
+
+ 2 2
+ + 1/35 x y DATA(1, -2) - 1/35 y DATA(-2, -2) - 1/70 y DATA(1, 0)
+
+ 2 2 2
+ - 1/140 y DATA(1, 1) + 1/70 y DATA(-2, -1) + 1/35 y DATA(2, -2)
+
+ 2 2 2
+ + 1/70 y DATA(1, -2) + 1/20 x DATA(2, 1) + 1/10 x DATA(-1, 2)
+
+ 2 2 2
+ - 1/10 x DATA(1, 2) + 1/20 x DATA(2, 2) + 1/20 x DATA(2, -1)
+
+ 2 2 2
+ + 1/20 x DATA(2, 0) - 1/20 x DATA(-2, 1) - 1/20 x DATA(-2, 0)
+
+ 2 2 2
+ - 1/49 x y DATA(-1, 2) - 2/49 x y DATA(0, 2) - 2/49 x y DATA(0, -2)
+
+ 2 2 2
+ + 2/49 x y DATA(-2, 2) - 2/49 x y DATA(2, 0) + 1/49 x y DATA(1, 0)
+
+ 2 2 2
+ + 1/49 x y DATA(0, 1) + 1/98 x y DATA(1, 1) - 1/49 x y DATA(-2, -1)
+
+ 2 2 2
+ + 2/49 x y DATA(2, -2) - 1/49 x y DATA(1, 2) + 1/40 x y DATA(-2, -1)
+
+ 2 2 2
+ - 1/20 x y DATA(2, -2) - 1/49 x y DATA(1, -2) - 1/49 x y DATA(-2, 1)
+
+ 2 2 2
+ - 2/49 x y DATA(-2, 0) + 1/98 x y DATA(-1, -1) + 1/49 x y DATA(0, -1)
+
+ 2 2 2
+ + 1/98 x y DATA(1, -1) + 1/49 x y DATA(-1, 0) + 1/98 x y DATA(-1, 1)
+
+ 2 2 2
+ - 1/49 x y DATA(2, 1) - 1/70 y DATA(-1, -2) - 1/35 y DATA(-2, 2)
+
+ 2 2 2
+ + 1/70 y DATA(-2, 1) + 1/35 y DATA(-2, 0) + 1/140 y DATA(-1, -1)
+
+ 2 2 2
+ - 1/140 y DATA(1, -1) + 1/70 y DATA(-1, 0) - 1/70 y DATA(-1, 2)
+
+ 2 2 2
+ + 1/35 y DATA(2, 2) - 1/70 y DATA(2, -1) - 1/35 y DATA(2, 0)
+
+ 2 2 2
+ - 1/70 y DATA(2, 1) + 1/70 y DATA(1, 2) + 1/20 x y DATA(1, -1)
+
+ 2 2 2
+ + 1/20 x y DATA(-1, 1) + 1/40 x y DATA(2, 1) + 1/10 x y DATA(-1, 2)
+
+ 2 2 2
+ - 1/10 x y DATA(-1, -2) - 1/49 x y DATA(-1, -2) + 2/49 x y DATA(-2, -2)
+
+ 2 2 2
+ + 2/49 x y DATA(0, 0) + 1/20 x y DATA(-2, -2) - 1/20 x y DATA(1, 1)
+
+ 11 37 37
+ + --- y DATA(-2, 2) + --- y DATA(-1, -1) - --- y DATA(1, -1)
+ 150 300 300
+
+ 37 21 21
+ - --- y DATA(-1, 1) + --- y DATA(2, 1) - --- y DATA(-1, 2)
+ 300 200 200
+
+ 21 11 3
+ + --- y DATA(1, 2) - --- y DATA(2, 2) + 1/60 y DATA(-1, 1)
+ 200 150
+
+ 3 3 3
+ - 1/30 y DATA(2, 1) + 1/120 y DATA(-1, -2) + 1/60 y DATA(-2, -2)
+
+ 3 3 3
+ - 1/60 y DATA(1, 1) - 1/30 y DATA(-2, -1) - 1/60 y DATA(2, -2)
+
+ 3 3 3
+ - 1/120 y DATA(1, -2) - 1/60 y DATA(-2, 2) + 1/30 y DATA(-2, 1)
+
+ 3 3 2
+ - 1/60 y DATA(-1, -1) + 1/60 y DATA(1, -1) + 1/140 y DATA(-1, 1)
+
+ 21 21 11
+ - --- y DATA(-2, 1) + --- y DATA(-1, -2) - --- y DATA(-2, -2)
+ 200 200 150
+
+ 37 21 11
+ + --- y DATA(1, 1) + --- y DATA(-2, -1) + --- y DATA(2, -2)
+ 300 200 150
+
+ 21
+ - --- y DATA(1, -2) - 1/35 x y DATA(-2, -1) - 1/70 x y DATA(-1, 1)
+ 200
+
+ + 1/35 x y DATA(2, 1) - 2/35 x y DATA(2, -2) + 2/35 x y DATA(-2, 2)
+
+ + 2/35 x y DATA(0, -2) + 1/35 x y DATA(-1, -2) + 2/35 x y DATA(2, 2)
+
+ 2 2
+ + 1/70 x y DATA(-1, -1) - 1/10 x y DATA(1, 2) + 1/20 x y DATA(2, 2)
+
+ 2 2 2
+ - 1/40 x y DATA(2, -1) + 1/10 x y DATA(1, -2) - 1/20 x y DATA(-2, 2)
+
+ 2 2 3
+ - 1/40 x y DATA(-2, 1) - 1/20 x y DATA(-1, -1) - 2/15 x DATA(1, 2)
+
+ 3 3 3
+ + 1/30 x DATA(2, 2) + 1/30 x DATA(2, -1) + 1/30 x DATA(2, 0)
+
+ 3 3 3
+ - 2/15 x DATA(1, 0) + 1/5 x DATA(0, 1) - 2/15 x DATA(1, 1)
+
+ 3 3 21
+ + 1/30 x DATA(-2, -1) + 1/30 x DATA(2, -2) - --- y DATA(2, -1)
+ 200
+
+ 3 3 3
+ - 1/120 y DATA(-1, 2) + 1/120 y DATA(1, 2) + 1/60 y DATA(2, 2)
+
+ 3
+ + 1/30 y DATA(2, -1) + 1/35 x y DATA(-2, 1) - 1/35 x y DATA(1, 2)
+
+ - 1/35 x y DATA(-1, 2) - 1/35 x y DATA(2, -1) - 2/35 x y DATA(-2, -2)
+
+ 2 2
+ - 1/70 x y DATA(1, 1) + 2/49 x y DATA(2, 2) - 1/49 x y DATA(2, -1)
+
+ + 1/70 x y DATA(1, -1) + 1/35 x y DATA(0, -1) + 1/84 DATA(2, 1)
+
+ 11 11 31
+ - --- DATA(-1, 2) + --- DATA(1, 2) - --- DATA(2, 2) + 1/84 DATA(2, -1)
+ 105 105 420
+
+ 17
+ + --- DATA(2, 0)
+ 420
+
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=72071248, alloc=2424388, time=6.19
+ 289 2 2 2
+[COEFF(-2, -2) = - ---- x + 2/49 x y + 1/20 x y - 2/35 x y - 1/35 y
+ 2940
+
+ 3 2 11 31 3 3
+ + 1/60 y - 1/20 x - --- y + --- + 1/30 x , COEFF(-1, -2) = 1/120 y
+ 150 420
+
+ 2 2 21 2 226 2
+ - 1/49 x y + 1/10 x + --- y - 1/70 y + --- x - 1/10 x y + 1/35 x y
+ 200 735
+
+ 11 3 41 2 3
+ - --- - 2/15 x , COEFF(0, -2) = - -- x - 2/49 x y + 2/35 x y + 1/5 x ,
+ 105 98
+
+ 3 21 11 2 2 3
+ COEFF(1, -2) = - 1/120 y - --- y + --- - 1/10 x + 1/10 x y - 2/15 x
+ 200 105
+
+ 2 226 2 11 2
+ - 1/49 x y + --- x + 1/35 x y + 1/70 y , COEFF(2, -2) = --- y + 1/35 y
+ 735 150
+
+ 2 2 2 289 31 3
+ + 1/20 x - 1/20 x y + 2/49 x y - ---- x - --- - 2/35 x y + 1/30 x
+ 2940 420
+
+ 3 21 2 3 2
+ - 1/60 y , COEFF(-2, -1) = --- y + 1/70 y - 1/30 y + 1/40 x y - 1/84
+ 200
+
+ 71 3 2 2
+ + ---- x + 1/30 x - 1/20 x - 1/35 x y - 1/49 x y , COEFF(-1, -1) =
+ 2940
+
+ 2 2 181 3 2 2 3
+ 1/140 y + 1/98 x y + --- x - 2/15 x - 1/20 x y + 1/10 x - 1/60 y
+ 735
+
+ 31 37
+ - --- + --- y + 1/70 x y,
+ 210 300
+
+ 53 2 3
+ COEFF(0, -1) = - -- x + 1/49 x y + 1/35 x y + 1/5 x , COEFF(1, -1) =
+ 98
+
+ 3 2 2 2 3 181 37
+ - 2/15 x + 1/98 x y - 1/140 y + 1/20 x y + 1/60 y + --- x - --- y
+ 735 300
+
+ 2 31 2 71 3
+ - 1/10 x + --- + 1/70 x y, COEFF(2, -1) = 1/20 x + ---- x + 1/30 x
+ 210 2940
+
+ 21 2 3 2 2
+ - 1/35 x y - --- y - 1/49 x y + 1/30 y + 1/84 - 1/40 x y - 1/70 y ,
+ 200
+
+ 2 2 191 3 17 2
+ COEFF(-2, 0) = - 1/20 x - 2/49 x y + ---- x + 1/30 x - --- + 1/35 y ,
+ 2940 420
+
+ 166 2 2 2 3 17
+ COEFF(-1, 0) = --- x + 1/10 x + 1/70 y + 1/49 x y - 2/15 x - ---,
+ 735 105
+
+ 2 57 3
+ COEFF(0, 0) = 2/49 x y - -- x + 1/5 x ,
+ 98
+
+ 3 17 166 2 2 2
+ COEFF(1, 0) = - 2/15 x + --- + --- x - 1/70 y - 1/10 x + 1/49 x y ,
+ 105 735
+
+ 3 2 2 191 17 2
+ COEFF(2, 0) = 1/30 x + 1/20 x - 1/35 y + ---- x + --- - 2/49 x y ,
+ 2940 420
+
+ 3 71 21 3 2
+ COEFF(-2, 1) = 1/30 y + ---- x - --- y - 1/84 + 1/30 x - 1/20 x
+ 2940 200
+
+ 2 2 2 2
+ - 1/49 x y + 1/70 y - 1/40 x y + 1/35 x y, COEFF(-1, 1) = 1/20 x y
+
+ 181 37 3 2 2 31
+ + --- x - --- y + 1/60 y + 1/98 x y + 1/10 x - 1/70 x y - ---
+ 735 300 210
+
+ 2 3 2 53 3
+ + 1/140 y - 2/15 x , COEFF(0, 1) = 1/49 x y - -- x + 1/5 x - 1/35 x y,
+ 98
+
+ 2 2 3 3 181 31
+ COEFF(1, 1) = - 1/140 y - 1/20 x y - 1/60 y - 2/15 x + --- x + ---
+ 735 210
+
+ 2 2 37 3
+ - 1/10 x - 1/70 x y + 1/98 x y + --- y, COEFF(2, 1) = - 1/30 y
+ 300
+
+ 3 2 2 21 2 2
+ + 1/30 x - 1/70 y + 1/40 x y + --- y + 1/84 - 1/49 x y + 1/20 x
+ 200
+
+ 71 2 289 3 2
+ + ---- x + 1/35 x y, COEFF(-2, 2) = - 1/20 x - ---- x - 1/60 y - 1/35 y
+ 2940 2940
+
+ 2 31 11 3 2
+ - 1/20 x y + --- + 2/35 x y + --- y + 1/30 x + 2/49 x y , COEFF(-1, 2)
+ 420 150
+
+ 2 226 21 2 11 3
+ = - 1/70 y + --- x - --- y + 1/10 x - --- - 1/120 y - 1/35 x y
+ 735 200 105
+
+ 3 2 2
+ - 2/15 x - 1/49 x y + 1/10 x y,
+
+ 2 3 41
+ COEFF(0, 2) = - 2/35 x y - 2/49 x y + 1/5 x - -- x, COEFF(1, 2) =
+ 98
+
+ 3 3 21 2 226 11 2
+ - 2/15 x + 1/120 y + --- y + 1/70 y + --- x - 1/35 x y + --- - 1/10 x y
+ 200 735 105
+
+ 2 2 2 2
+ - 1/49 x y - 1/10 x , COEFF(2, 2) = 2/35 x y + 2/49 x y + 1/20 x y
+
+ 3 31 3 2 289 11 2
+ + 1/30 x - --- + 1/60 y + 1/35 y - ---- x - --- y + 1/20 x ]
+ 420 2940 150
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c");
+bytes used=73071424, alloc=2424388, time=6.27
+bytes used=74071732, alloc=2424388, time=6.34
+bytes used=75080180, alloc=2424388, time=6.41
+bytes used=76080488, alloc=2424388, time=6.57
+bytes used=77080972, alloc=2424388, time=6.64
+bytes used=78086448, alloc=2424388, time=6.81
+bytes used=79086664, alloc=2424388, time=6.92
+bytes used=80089584, alloc=2424388, time=7.07
+bytes used=81089868, alloc=2424388, time=7.17
+bytes used=82090156, alloc=2424388, time=7.32
+>
+# d/dy
+> simplify( diff(interp_2d_cube_order4_smooth0,y) );
+bytes used=83090332, alloc=2424388, time=7.44
+bytes used=84090836, alloc=2424388, time=7.51
+bytes used=85091040, alloc=2424388, time=7.57
+ 17 31 17
+- --- DATA(0, -2) - 1/84 DATA(-1, -2) + --- DATA(-2, -2) + --- DATA(0, 1)
+ 420 420 105
+
+ 31 11 31
+ + --- DATA(1, 1) - --- DATA(-2, -1) + --- DATA(2, -2) - 1/84 DATA(1, -2)
+ 210 105 420
+
+ 31 11 2
+ - --- DATA(-2, 2) + --- DATA(-2, 1) - 1/35 x DATA(0, 2)
+ 420 105
+
+ 31 17 31 31
+ - --- DATA(-1, -1) - --- DATA(0, -1) - --- DATA(1, -1) + --- DATA(-1, 1)
+ 210 105 210 210
+
+ 41 53 191
+ - -- y DATA(-2, 0) - -- y DATA(-1, 0) + ---- y DATA(0, -2)
+ 98 98 2940
+
+ 166 166 191
+ + --- y DATA(0, 1) + --- y DATA(0, -1) + ---- y DATA(0, 2)
+ 735 735 2940
+
+ 57 41 53 3
+ - -- y DATA(0, 0) - -- y DATA(2, 0) - -- y DATA(1, 0) + 1/5 y DATA(1, 0)
+ 98 98 98
+
+ 2 2 2
+ - 1/20 y DATA(0, -2) - 1/10 y DATA(0, 1) + 1/10 y DATA(0, -1)
+
+ 2 3 3
+ + 1/20 y DATA(0, 2) + 1/5 y DATA(-2, 0) + 1/5 y DATA(-1, 0)
+
+ 3 3 3
+ + 1/5 y DATA(2, 0) + 1/30 y DATA(0, -2) - 2/15 y DATA(0, 1)
+
+ 3 3 3
+ - 2/15 y DATA(0, -1) + 1/30 y DATA(0, 2) + 1/5 y DATA(0, 0)
+
+ 2 2 2
+ + 1/35 x DATA(0, -2) - 1/70 x DATA(0, 1) + 1/70 x DATA(0, -1)
+
+ - 1/35 x y DATA(1, 0) - 2/35 x y DATA(2, 0) + 2/35 x y DATA(-2, 0)
+
+ 2 2
+ + 1/35 x y DATA(-1, 0) + 1/49 x y DATA(-1, 0) - 2/49 x y DATA(2, 0)
+
+ 2 2 2
+ - 2/49 x y DATA(0, -2) + 1/49 x y DATA(0, 1) + 1/49 x y DATA(0, -1)
+
+ 2 2 2
+ - 2/49 x y DATA(0, 2) - 2/49 x y DATA(-2, 0) + 2/49 x y DATA(0, 0)
+
+ 2 3 3
+ + 1/49 x y DATA(1, 0) + 1/60 x DATA(-2, -2) + 1/60 x DATA(1, -1)
+
+ 3 3 3
+ + 1/60 x DATA(-1, 1) + 1/120 x DATA(2, 1) + 1/30 x DATA(-1, 2)
+
+ 3 3 3
+ + 1/30 x DATA(1, -2) - 1/60 x DATA(-2, 2) - 1/120 x DATA(-2, 1)
+
+ 3 37 37
+ - 1/60 x DATA(-1, -1) + --- x DATA(-1, -1) - --- x DATA(1, -1)
+ 300 300
+
+ 3 21 11
+ - 1/30 x DATA(-1, -2) + --- x DATA(1, 2) - --- x DATA(2, 2)
+ 200 150
+
+ 21 21 11
+ - --- x DATA(2, -1) + --- x DATA(-1, -2) - --- x DATA(-2, -2)
+ 200 200 150
+
+ 2 2 2
+ + 1/70 x DATA(-1, -2) - 1/35 x DATA(-2, -2) - 1/140 x DATA(1, 1)
+
+ 2 2 2
+ - 1/70 x DATA(-2, -1) - 1/35 x DATA(2, -2) + 1/70 x DATA(1, -2)
+
+ 2 37 37
+ + 1/35 x DATA(-2, 2) - --- x DATA(-1, 1) + --- x DATA(1, 1)
+ 300 300
+
+ 21 11 21
+ + --- x DATA(-2, -1) + --- x DATA(2, -2) - --- x DATA(1, -2)
+ 200 150 200
+
+ 11 21 2
+ + --- x DATA(-2, 2) - --- x DATA(-2, 1) + 1/140 x DATA(-1, -1)
+ 150 200
+
+ 2 2 21
+ + 1/140 x DATA(1, -1) - 1/140 x DATA(-1, 1) + --- x DATA(2, 1)
+ 200
+
+ 21 2
+ - --- x DATA(-1, 2) + 1/35 x y DATA(1, -2) - 1/20 y DATA(-2, -2)
+ 200
+
+ 2 2 2
+ - 1/10 y DATA(1, 1) + 1/10 y DATA(-2, -1) - 1/20 y DATA(2, -2)
+
+ 2 2 2
+ - 1/20 y DATA(1, -2) + 1/70 x DATA(2, 1) - 1/70 x DATA(-1, 2)
+
+ 2 2 2
+ - 1/70 x DATA(1, 2) + 1/35 x DATA(2, 2) - 1/70 x DATA(2, -1)
+
+ 2 2 2
+ + 1/70 x DATA(-2, 1) - 1/40 x y DATA(-1, 2) - 1/20 x y DATA(-2, 2)
+
+ 2 2 2
+ - 1/20 x y DATA(1, 1) - 1/10 x y DATA(-2, -1) - 1/20 x y DATA(2, -2)
+
+ 2 2 2
+ + 1/40 x y DATA(1, 2) - 1/49 x y DATA(-2, -1) + 2/49 x y DATA(2, -2)
+
+ 2 2 2
+ - 1/40 x y DATA(1, -2) + 1/10 x y DATA(-2, 1) - 1/20 x y DATA(-1, -1)
+
+ 2 2 2
+ + 1/20 x y DATA(1, -1) + 1/20 x y DATA(-1, 1) - 1/10 x y DATA(2, 1)
+
+ 2 2 2
+ - 1/20 y DATA(-1, -2) + 1/20 y DATA(-2, 2) - 1/10 y DATA(-2, 1)
+
+ 2 2 2
+ + 1/10 y DATA(-1, -1) + 1/10 y DATA(1, -1) + 1/20 y DATA(-1, 2)
+
+ 2 2 2
+ + 1/20 y DATA(2, 2) + 1/10 y DATA(2, -1) - 1/10 y DATA(2, 1)
+
+ 2 2 2
+ + 1/20 y DATA(1, 2) + 1/98 x y DATA(1, -1) + 1/98 x y DATA(-1, 1)
+
+ 2 2 2
+ - 1/49 x y DATA(2, 1) - 1/49 x y DATA(-1, 2) - 1/49 x y DATA(-1, -2)
+
+ 2 2 2
+ + 1/40 x y DATA(-1, -2) + 1/20 x y DATA(-2, -2) + 2/49 x y DATA(-2, -2)
+
+ 2 289 181
+ + 1/98 x y DATA(1, 1) - ---- y DATA(-2, 2) + --- y DATA(-1, -1)
+ 2940 735
+
+ 181 181 226
+ + --- y DATA(1, -1) + --- y DATA(-1, 1) + --- y DATA(2, 1)
+ 735 735 735
+
+ 71 71 289
+ + ---- y DATA(-1, 2) + ---- y DATA(1, 2) - ---- y DATA(2, 2)
+ 2940 2940 2940
+
+ 3 3 3
+ - 2/15 y DATA(-1, 1) - 2/15 y DATA(2, 1) + 1/30 y DATA(-1, -2)
+
+ 3 3 3
+ + 1/30 y DATA(-2, -2) - 2/15 y DATA(1, 1) - 2/15 y DATA(-2, -1)
+
+ 3 3 3
+ + 1/30 y DATA(2, -2) + 1/30 y DATA(1, -2) + 1/30 y DATA(-2, 2)
+
+ 3 3 3
+ - 2/15 y DATA(-2, 1) - 2/15 y DATA(-1, -1) - 2/15 y DATA(1, -1)
+
+ 2 226 71
+ - 1/10 y DATA(-1, 1) + --- y DATA(-2, 1) + ---- y DATA(-1, -2)
+ 735 2940
+
+ 289 181 226
+ - ---- y DATA(-2, -2) + --- y DATA(1, 1) + --- y DATA(-2, -1)
+ 2940 735 735
+
+ 289 71
+ - ---- y DATA(2, -2) + ---- y DATA(1, -2) + 1/35 x y DATA(-2, -1)
+ 2940 2940
+
+ + 1/70 x y DATA(-1, 1) - 1/35 x y DATA(2, 1) + 2/35 x y DATA(2, -2)
+
+ - 2/35 x y DATA(-2, 2) - 1/35 x y DATA(-1, -2) + 2/35 x y DATA(2, 2)
+
+ 2 2
+ + 1/70 x y DATA(-1, -1) - 1/49 x y DATA(1, 2) + 2/49 x y DATA(2, 2)
+
+ 2 2 2
+ - 1/49 x y DATA(2, -1) - 1/49 x y DATA(1, -2) + 2/49 x y DATA(-2, 2)
+
+ 2 2 3
+ - 1/49 x y DATA(-2, 1) + 1/98 x y DATA(-1, -1) - 1/30 x DATA(1, 2)
+
+ 3 3 3
+ + 1/60 x DATA(2, 2) - 1/120 x DATA(2, -1) - 1/60 x DATA(1, 1)
+
+ 3 3 226
+ + 1/120 x DATA(-2, -1) - 1/60 x DATA(2, -2) + --- y DATA(2, -1)
+ 735
+
+ 3 3 3
+ + 1/30 y DATA(-1, 2) + 1/30 y DATA(1, 2) + 1/30 y DATA(2, 2)
+
+ 3
+ - 2/15 y DATA(2, -1) + 1/35 x y DATA(-2, 1) + 1/35 x y DATA(1, 2)
+
+ - 1/35 x y DATA(-1, 2) - 1/35 x y DATA(2, -1) - 2/35 x y DATA(-2, -2)
+
+ 2 2
+ - 1/70 x y DATA(1, 1) + 1/20 x y DATA(2, 2) + 1/10 x y DATA(2, -1)
+
+ 11
+ - 1/70 x y DATA(1, -1) + --- DATA(2, 1) + 1/84 DATA(-1, 2)
+ 105
+
+ 17 31 11
+ + --- DATA(0, 2) + 1/84 DATA(1, 2) - --- DATA(2, 2) - --- DATA(2, -1)
+ 420 420 105
+
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=86091376, alloc=2424388, time=7.63
+ 3 2 31 2 2 289
+[COEFF(-2, -2) = 1/30 y + 2/49 x y + --- + 1/20 x y - 1/35 x - ---- y
+ 420 2940
+
+ 11 3 2 21 2
+ - --- x + 1/60 x - 2/35 x y - 1/20 y , COEFF(-1, -2) = --- x + 1/40 x y
+ 150 200
+
+ 2 2 71 2 3
+ - 1/35 x y - 1/20 y + 1/70 x - 1/84 + ---- y - 1/49 x y + 1/30 y
+ 2940
+
+ 3
+ - 1/30 x ,
+
+ 17 3 2 2 191 2
+ COEFF(0, -2) = - --- + 1/30 y - 1/20 y + 1/35 x + ---- y - 2/49 x y,
+ 420 2940
+
+ 3 2 2 2
+ COEFF(1, -2) = 1/30 y - 1/49 x y + 1/70 x + 1/35 x y - 1/84 - 1/40 x y
+
+ 71 3 21 2 289
+ + ---- y + 1/30 x - --- x - 1/20 y , COEFF(2, -2) = 2/35 x y - ---- y
+ 2940 200 2940
+
+ 3 2 11 3 2 2 31
+ - 1/60 x - 1/20 y + --- x + 1/30 y + 2/49 x y - 1/20 x y + ---
+ 150 420
+
+ 2 3 21 11 226
+ - 1/35 x , COEFF(-2, -1) = - 2/15 y + --- x - --- + 1/35 x y + --- y
+ 200 105 735
+
+ 2 3 2 2 2
+ - 1/70 x + 1/120 x - 1/10 x y - 1/49 x y + 1/10 y , COEFF(-1, -1) =
+
+ 2 3 2 3 2 2
+ 1/140 x - 2/15 y + 1/10 y + 1/70 x y - 1/60 x + 1/98 x y - 1/20 x y
+
+ 37 31 181
+ + --- x - --- + --- y,
+ 300 210 735
+
+ 166 17 3 2 2 2
+ COEFF(0, -1) = --- y - --- - 2/15 y + 1/49 x y + 1/10 y + 1/70 x ,
+ 735 105
+
+ 181 31 2 37 2
+ COEFF(1, -1) = --- y - 1/70 x y - --- + 1/20 x y - --- x + 1/140 x
+ 735 210 300
+
+ 3 3 2 2 2
+ - 2/15 y + 1/60 x + 1/10 y + 1/98 x y, COEFF(2, -1) = - 1/49 x y
+
+ 2 3 11 3 2 21
+ + 1/10 x y - 1/35 x y - 1/120 x - --- - 2/15 y - 1/70 x - --- x
+ 105 200
+
+ 226 2 2 3 41
+ + --- y + 1/10 y , COEFF(-2, 0) = - 2/49 x y + 2/35 x y + 1/5 y - -- y,
+ 735 98
+
+ 53 2 3
+ COEFF(-1, 0) = - -- y + 1/35 x y + 1/49 x y + 1/5 y ,
+ 98
+
+ 57 3 2
+ COEFF(0, 0) = - -- y + 1/5 y + 2/49 x y,
+ 98
+
+ 2 3 53
+ COEFF(1, 0) = 1/49 x y - 1/35 x y + 1/5 y - -- y,
+ 98
+
+ 3 41 2 2
+ COEFF(2, 0) = 1/5 y - -- y - 2/35 x y - 2/49 x y, COEFF(-2, 1) = 1/70 x
+ 98
+
+ 3 2 2 21 2 226
+ - 2/15 y + 1/10 x y - 1/49 x y - --- x - 1/10 y + 1/35 x y + --- y
+ 200 735
+
+ 3 11 3 181 31
+ - 1/120 x + ---, COEFF(-1, 1) = 1/60 x + --- y + 1/70 x y + ---
+ 105 735 210
+
+ 2 3 2 37 2 2
+ - 1/140 x - 2/15 y + 1/98 x y - --- x - 1/10 y + 1/20 x y ,
+ 300
+
+ 2 166 17 3 2 2
+ COEFF(0, 1) = 1/49 x y + --- y + --- - 2/15 y - 1/70 x - 1/10 y ,
+ 735 105
+
+ 3 37 2 3
+ COEFF(1, 1) = - 1/60 x + --- x - 1/20 x y - 2/15 y - 1/70 x y
+ 300
+
+ 2 2 31 2 181 2
+ + 1/98 x y - 1/140 x + --- - 1/10 y + --- y, COEFF(2, 1) = - 1/10 y
+ 210 735
+
+ 3 226 3 21 2 11
+ + 1/120 x + --- y - 2/15 y + --- x - 1/49 x y + --- - 1/35 x y
+ 735 200 105
+
+ 2 2 2 289 31
+ + 1/70 x - 1/10 x y , COEFF(-2, 2) = 1/35 x - ---- y - 2/35 x y - ---
+ 2940 420
+
+ 3 2 2 3 2 11
+ + 1/30 y + 2/49 x y + 1/20 y - 1/60 x - 1/20 x y + --- x,
+ 150
+
+ 21 2 71 3 2
+ COEFF(-1, 2) = - --- x - 1/49 x y + ---- y + 1/30 x - 1/40 x y + 1/84
+ 200 2940
+
+ 2 3 2
+ + 1/20 y + 1/30 y - 1/70 x - 1/35 x y,
+
+ 3 191 2 2 17 2
+ COEFF(0, 2) = 1/30 y + ---- y - 1/35 x + 1/20 y + --- - 2/49 x y,
+ 2940 420
+
+ 71 2 2 2
+ COEFF(1, 2) = ---- y + 1/20 y + 1/35 x y + 1/84 - 1/49 x y + 1/40 x y
+ 2940
+
+ 21 3 2 3 3
+ + --- x - 1/30 x - 1/70 x + 1/30 y , COEFF(2, 2) = 2/35 x y + 1/60 x
+ 200
+
+ 2 11 2 2 31 2 3
+ + 2/49 x y - --- x + 1/35 x + 1/20 x y - --- + 1/20 y + 1/30 y
+ 150 420
+
+ 289
+ - ---- y]
+ 2940
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c");
+bytes used=87092024, alloc=2424388, time=7.70
+bytes used=88092208, alloc=2424388, time=7.78
+bytes used=89094012, alloc=2424388, time=7.84
+bytes used=90094172, alloc=2424388, time=8.01
+bytes used=91094348, alloc=2424388, time=8.09
+bytes used=92098472, alloc=2424388, time=8.22
+bytes used=93098676, alloc=2424388, time=8.32
+bytes used=94098888, alloc=2424388, time=8.43
+bytes used=95099056, alloc=2424388, time=8.55
+bytes used=96099324, alloc=2424388, time=8.68
+bytes used=97099576, alloc=2424388, time=8.80
+>
+# d^2/dx^2
+> simplify( diff(interp_2d_cube_order4_smooth0,x,x) );
+bytes used=98099784, alloc=2424388, time=8.86
+ 41 226 2 2
+- -- DATA(0, -2) + --- DATA(-1, -2) - 2/5 x DATA(1, 0) + 3/5 x DATA(0, 0)
+ 98 735
+
+ 289 57 166 53
+ - ---- DATA(-2, -2) - -- DATA(0, 0) + --- DATA(1, 0) - -- DATA(0, 1)
+ 2940 98 735 98
+
+ 181 71 2
+ + --- DATA(1, 1) + ---- DATA(-2, -1) + 2/49 y DATA(0, 0)
+ 735 2940
+
+ 2 2 2
+ - 2/49 y DATA(2, 0) + 1/49 y DATA(-1, 0) - 2/49 y DATA(-2, 0)
+
+ 2 289 226
+ + 1/49 y DATA(1, 0) - ---- DATA(2, -2) + --- DATA(1, -2)
+ 2940 735
+
+ 289 71 191
+ - ---- DATA(-2, 2) + ---- DATA(-2, 1) + ---- DATA(-2, 0)
+ 2940 2940 2940
+
+ 2 181 53 181
+ + 3/5 x DATA(0, 2) + --- DATA(-1, -1) - -- DATA(0, -1) + --- DATA(1, -1)
+ 735 98 735
+
+ 166 181
+ + --- DATA(-1, 0) + --- DATA(-1, 1) + 2/35 y DATA(0, -2)
+ 735 735
+
+ - 1/35 y DATA(0, 1) + 1/35 y DATA(0, -1) - 2/35 y DATA(0, 2)
+
+ 2 2 2
+ - 2/49 y DATA(0, -2) + 1/49 y DATA(0, 1) + 1/49 y DATA(0, -1)
+
+ 2 2 2
+ - 2/49 y DATA(0, 2) + 3/5 x DATA(0, -2) + 3/5 x DATA(0, 1)
+
+ 2 2
+ + 3/5 x DATA(0, -1) + 1/10 x DATA(-2, 0) + 1/5 x DATA(-1, -1)
+
+ 2
+ - 2/5 x DATA(-1, 0) - 1/5 x DATA(1, -1) - 1/5 x DATA(1, 2)
+
+ + 1/10 x DATA(2, 2) + 1/10 x DATA(2, -1) + 1/5 x DATA(-1, -2)
+
+ 2 2
+ - 1/10 x DATA(-2, -2) - 2/5 x DATA(-1, -2) + 1/10 x DATA(-2, -2)
+
+ 2 2 2
+ - 2/5 x DATA(1, 1) + 1/10 x DATA(-2, -1) + 1/10 x DATA(2, -2)
+
+ 2 2
+ - 2/5 x DATA(1, -2) + 1/10 x DATA(-2, 2) + 1/5 x DATA(-1, 1)
+
+ - 1/5 x DATA(1, 1) - 1/10 x DATA(-2, -1) + 1/10 x DATA(2, -2)
+
+ - 1/5 x DATA(1, -2) - 1/10 x DATA(-2, 2) - 1/10 x DATA(-2, 1)
+
+ 2 2 2
+ - 2/5 x DATA(-1, -1) - 2/5 x DATA(1, -1) - 2/5 x DATA(-1, 1)
+
+ + 1/10 x DATA(2, 1) + 1/5 x DATA(-1, 2) + 1/5 x y DATA(1, -2)
+
+ 2 2 2
+ + 2/49 y DATA(-2, -2) + 1/98 y DATA(1, 1) - 1/49 y DATA(-2, -1)
+
+ 2 2 2
+ + 2/49 y DATA(2, -2) - 1/49 y DATA(1, -2) + 1/10 x DATA(2, 1)
+
+ 2 2 2
+ - 2/5 x DATA(-1, 2) - 2/5 x DATA(1, 2) + 1/10 x DATA(2, 2)
+
+ 2 2 2
+ + 1/10 x DATA(2, -1) + 1/10 x DATA(-2, 1) - 1/49 y DATA(-1, -2)
+
+ 2 2 2
+ + 2/49 y DATA(-2, 2) - 1/49 y DATA(-2, 1) + 1/10 x DATA(2, 0)
+
+ 2 2 2
+ + 1/98 y DATA(-1, -1) + 1/98 y DATA(1, -1) - 1/49 y DATA(-1, 2)
+
+ 2 2 2
+ + 2/49 y DATA(2, 2) - 1/49 y DATA(2, -1) - 1/49 y DATA(2, 1)
+
+ 2
+ - 1/49 y DATA(1, 2) + 2/35 y DATA(-2, 2) + 1/70 y DATA(-1, -1)
+
+ + 1/70 y DATA(1, -1) - 1/70 y DATA(-1, 1) + 1/35 y DATA(2, 1)
+
+ - 1/35 y DATA(-1, 2) - 1/35 y DATA(1, 2) + 2/35 y DATA(2, 2)
+
+ 2
+ + 1/98 y DATA(-1, 1) + 1/35 y DATA(-2, 1) + 1/35 y DATA(-1, -2)
+
+ - 2/35 y DATA(-2, -2) - 1/70 y DATA(1, 1) - 1/35 y DATA(-2, -1)
+
+ - 2/35 y DATA(2, -2) + 1/35 y DATA(1, -2) + 1/20 x y DATA(-2, -1)
+
+ + 1/10 x y DATA(-1, 1) + 1/20 x y DATA(2, 1) - 1/10 x y DATA(2, -2)
+
+ - 1/10 x y DATA(-2, 2) - 1/5 x y DATA(-1, -2) + 1/10 x y DATA(2, 2)
+
+ - 1/10 x y DATA(-1, -1) - 1/35 y DATA(2, -1) - 1/20 x y DATA(-2, 1)
+
+ - 1/5 x y DATA(1, 2) + 1/5 x y DATA(-1, 2) - 1/20 x y DATA(2, -1)
+
+ + 1/10 x y DATA(-2, -2) - 1/10 x y DATA(1, 1) + 1/10 x y DATA(1, -1)
+
+ 71 226 41 226
+ + ---- DATA(2, 1) + --- DATA(-1, 2) - -- DATA(0, 2) + --- DATA(1, 2)
+ 2940 735 98 735
+
+ 289 71 191
+ - ---- DATA(2, 2) - 1/5 x DATA(1, 0) + ---- DATA(2, -1) + ---- DATA(2, 0)
+ 2940 2940 2940
+
+ - 1/10 x DATA(-2, 0) + 1/5 x DATA(-1, 0) + 1/10 x DATA(2, 0)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=99100008, alloc=2424388, time=8.92
+ 289 2 2
+[COEFF(-2, -2) = - ---- + 1/10 x + 2/49 y - 1/10 x + 1/10 x y - 2/35 y,
+ 2940
+
+ 2 2 226
+ COEFF(-1, -2) = - 1/5 x y + 1/35 y - 1/49 y - 2/5 x + 1/5 x + ---,
+ 735
+
+ 2 41 2
+ COEFF(0, -2) = - 2/49 y - -- + 2/35 y + 3/5 x ,
+ 98
+
+ 2 2 226
+ COEFF(1, -2) = 1/35 y - 1/49 y - 2/5 x + --- - 1/5 x + 1/5 x y,
+ 735
+
+ 2 289 2
+ COEFF(2, -2) = 2/49 y - ---- + 1/10 x + 1/10 x - 2/35 y - 1/10 x y,
+ 2940
+
+ 71 2 2
+ COEFF(-2, -1) = - 1/10 x + ---- - 1/49 y + 1/20 x y - 1/35 y + 1/10 x ,
+ 2940
+
+ 181 2 2
+ COEFF(-1, -1) = - 1/10 x y + --- + 1/5 x - 2/5 x + 1/98 y + 1/70 y,
+ 735
+
+ 53 2 2
+ COEFF(0, -1) = 1/35 y - -- + 3/5 x + 1/49 y ,
+ 98
+
+ 181 2 2
+ COEFF(1, -1) = --- + 1/70 y - 2/5 x + 1/98 y + 1/10 x y - 1/5 x,
+ 735
+
+ 71 2 2
+ COEFF(2, -1) = ---- + 1/10 x + 1/10 x - 1/20 x y - 1/35 y - 1/49 y ,
+ 2940
+
+ 191 2 2
+ COEFF(-2, 0) = ---- - 1/10 x - 2/49 y + 1/10 x ,
+ 2940
+
+ 166 2 2
+ COEFF(-1, 0) = --- - 2/5 x + 1/5 x + 1/49 y ,
+ 735
+
+ 2 57 2
+ COEFF(0, 0) = 3/5 x - -- + 2/49 y ,
+ 98
+
+ 2 166 2
+ COEFF(1, 0) = - 2/5 x - 1/5 x + --- + 1/49 y ,
+ 735
+
+ 2 191 2
+ COEFF(2, 0) = - 2/49 y + ---- + 1/10 x + 1/10 x ,
+ 2940
+
+ 2 71 2
+ COEFF(-2, 1) = 1/35 y - 1/49 y - 1/10 x + ---- - 1/20 x y + 1/10 x ,
+ 2940
+
+ 2 2 181
+ COEFF(-1, 1) = 1/10 x y + 1/98 y - 2/5 x + --- - 1/70 y + 1/5 x,
+ 735
+
+ 53 2 2
+ COEFF(0, 1) = - 1/35 y - -- + 3/5 x + 1/49 y ,
+ 98
+
+ 2 2 181
+ COEFF(1, 1) = - 2/5 x - 1/10 x y - 1/5 x + 1/98 y + --- - 1/70 y,
+ 735
+
+ 2 2 71
+ COEFF(2, 1) = 1/10 x + 1/10 x - 1/49 y + 1/20 x y + ---- + 1/35 y,
+ 2940
+
+ 289 2 2
+ COEFF(-2, 2) = - ---- - 1/10 x + 1/10 x + 2/35 y + 2/49 y - 1/10 x y,
+ 2940
+
+ 226 2 2
+ COEFF(-1, 2) = - 1/35 y + 1/5 x y + --- - 1/49 y - 2/5 x + 1/5 x,
+ 735
+
+ 2 2 41
+ COEFF(0, 2) = - 2/35 y + 3/5 x - 2/49 y - --,
+ 98
+
+ 2 2 226
+ COEFF(1, 2) = - 1/5 x y - 1/5 x - 2/5 x - 1/49 y - 1/35 y + ---,
+ 735
+
+ 289 2 2
+ COEFF(2, 2) = 1/10 x - ---- + 2/49 y + 1/10 x y + 1/10 x + 2/35 y]
+ 2940
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c");
+bytes used=100100196, alloc=2424388, time=8.99
+bytes used=101100416, alloc=2424388, time=9.11
+bytes used=102100664, alloc=2424388, time=9.22
+bytes used=103101008, alloc=2424388, time=9.36
+bytes used=104101236, alloc=2424388, time=9.51
+bytes used=105103668, alloc=2424388, time=9.65
+>
+# d^2/dxdy
+> simplify( diff(interp_2d_cube_order4_smooth0,x,y) );
+bytes used=106103824, alloc=2424388, time=9.74
+21 11 37 21
+--- DATA(-1, -2) - --- DATA(-2, -2) + --- DATA(1, 1) + --- DATA(-2, -1)
+200 150 300 200
+
+ 11 21 11 21
+ + --- DATA(2, -2) - --- DATA(1, -2) + --- DATA(-2, 2) - --- DATA(-2, 1)
+ 150 200 150 200
+
+ 37 37
+ + 1/35 x DATA(0, -1) + --- DATA(-1, -1) - --- DATA(1, -1)
+ 300 300
+
+ 37
+ - --- DATA(-1, 1) + 2/49 x y DATA(0, -1) - 4/49 x y DATA(0, 2)
+ 300
+
+ + 1/70 x DATA(-1, -1) + 1/70 x DATA(1, -1) - 1/35 x DATA(1, 2)
+
+ + 2/35 x DATA(2, 2) - 1/35 x DATA(2, -1) + 1/35 x DATA(-1, -2)
+
+ 2 2
+ - 2/35 x DATA(-2, -2) - 1/10 x DATA(-1, -2) + 1/20 x DATA(-2, -2)
+
+ 2 2 2
+ - 1/20 x DATA(1, 1) + 1/40 x DATA(-2, -1) - 1/20 x DATA(2, -2)
+
+ 2 2
+ + 1/10 x DATA(1, -2) - 1/20 x DATA(-2, 2) - 1/70 x DATA(-1, 1)
+
+ - 1/70 x DATA(1, 1) - 1/35 x DATA(-2, -1) - 2/35 x DATA(2, -2)
+
+ + 1/35 x DATA(1, -2) + 2/35 x DATA(-2, 2) + 1/35 x DATA(-2, 1)
+
+ 2 2 2
+ - 1/20 x DATA(-1, -1) + 1/20 x DATA(1, -1) + 1/20 x DATA(-1, 1)
+
+ + 1/35 x DATA(2, 1) - 1/35 x DATA(-1, 2) - 2/49 x y DATA(1, -2)
+
+ 2 2 2
+ + 1/20 y DATA(-2, -2) - 1/20 y DATA(1, 1) - 1/10 y DATA(-2, -1)
+
+ 2 2 2
+ - 1/20 y DATA(2, -2) - 1/40 y DATA(1, -2) + 1/40 x DATA(2, 1)
+
+ 2 2 2
+ + 1/10 x DATA(-1, 2) - 1/10 x DATA(1, 2) + 1/20 x DATA(2, 2)
+
+ 2 2 2
+ - 1/40 x DATA(2, -1) - 1/40 x DATA(-2, 1) + 1/40 y DATA(-1, -2)
+
+ 2 2 2
+ - 1/20 y DATA(-2, 2) + 1/10 y DATA(-2, 1) - 1/20 y DATA(-1, -1)
+
+ 2 2 2
+ + 1/20 y DATA(1, -1) - 1/40 y DATA(-1, 2) + 1/20 y DATA(2, 2)
+
+ 2 2 2
+ + 1/10 y DATA(2, -1) - 1/10 y DATA(2, 1) + 1/40 y DATA(1, 2)
+
+ - 2/35 y DATA(-2, 2) + 1/70 y DATA(-1, -1) - 1/70 y DATA(1, -1)
+
+ + 1/70 y DATA(-1, 1) - 1/35 y DATA(2, 1) - 1/35 y DATA(-1, 2)
+
+ 2
+ + 1/35 y DATA(1, 2) + 2/35 y DATA(2, 2) + 1/20 y DATA(-1, 1)
+
+ + 1/35 y DATA(-2, 1) - 1/35 y DATA(-1, -2) - 2/35 y DATA(-2, -2)
+
+ - 1/70 y DATA(1, 1) + 1/35 y DATA(-2, -1) + 2/35 y DATA(2, -2)
+
+ + 1/35 y DATA(1, -2) - 2/49 x y DATA(-2, -1) + 1/49 x y DATA(-1, 1)
+
+ - 2/49 x y DATA(2, 1) + 4/49 x y DATA(2, -2) + 4/49 x y DATA(-2, 2)
+
+ + 4/49 x y DATA(0, 0) - 2/49 x y DATA(-1, -2) + 4/49 x y DATA(2, 2)
+
+ + 1/49 x y DATA(-1, -1) + 2/49 x y DATA(-1, 0) - 1/35 y DATA(2, -1)
+
+ - 2/49 x y DATA(-2, 1) - 2/49 x y DATA(1, 2) - 2/49 x y DATA(-1, 2)
+
+ - 2/49 x y DATA(2, -1) + 4/49 x y DATA(-2, -2) + 1/49 x y DATA(1, 1)
+
+ + 1/49 x y DATA(1, -1) + 2/49 x y DATA(1, 0) + 2/49 x y DATA(0, 1)
+
+ 21 21 21 11
+ + --- DATA(2, 1) - --- DATA(-1, 2) + --- DATA(1, 2) - --- DATA(2, 2)
+ 200 200 200 150
+
+ 21
+ - --- DATA(2, -1) - 1/35 y DATA(1, 0) - 2/35 x DATA(0, 2)
+ 200
+
+ + 2/35 y DATA(-2, 0) + 1/35 y DATA(-1, 0) - 2/35 y DATA(2, 0)
+
+ + 2/35 x DATA(0, -2) - 4/49 x y DATA(-2, 0) - 1/35 x DATA(0, 1)
+
+ - 4/49 x y DATA(2, 0) - 4/49 x y DATA(0, -2)
+
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=107106016, alloc=2424388, time=9.81
+ 2 11 2
+[COEFF(-2, -2) = 1/20 y + 4/49 x y - 2/35 x - 2/35 y - --- + 1/20 x ,
+ 150
+
+ 2 21 2
+ COEFF(-1, -2) = - 2/49 x y - 1/35 y - 1/10 x + 1/35 x + --- + 1/40 y ,
+ 200
+
+ COEFF(0, -2) = - 4/49 x y + 2/35 x,
+
+ 2 21 2
+ COEFF(1, -2) = 1/35 y - 2/49 x y + 1/35 x + 1/10 x - --- - 1/40 y ,
+ 200
+
+ 2 2 11
+ COEFF(2, -2) = - 1/20 x + 2/35 y - 1/20 y - 2/35 x + --- + 4/49 x y,
+ 150
+
+ 21 2 2
+ COEFF(-2, -1) = - 2/49 x y + --- - 1/35 x - 1/10 y + 1/35 y + 1/40 x ,
+ 200
+
+ 37 2 2
+ COEFF(-1, -1) = 1/49 x y + 1/70 y + 1/70 x + --- - 1/20 y - 1/20 x ,
+ 300
+
+ COEFF(0, -1) = 2/49 x y + 1/35 x,
+
+ 2 37 2
+ COEFF(1, -1) = 1/20 y - --- + 1/20 x + 1/70 x - 1/70 y + 1/49 x y,
+ 300
+
+ 2 2 21
+ COEFF(2, -1) = 1/10 y - 1/35 y - 1/35 x - 1/40 x - --- - 2/49 x y,
+ 200
+
+ COEFF(-2, 0) = 2/35 y - 4/49 x y, COEFF(-1, 0) = 1/35 y + 2/49 x y,
+
+ COEFF(0, 0) = 4/49 x y, COEFF(1, 0) = - 1/35 y + 2/49 x y,
+
+ COEFF(2, 0) = - 2/35 y - 4/49 x y,
+
+ 2 2 21
+ COEFF(-2, 1) = 1/35 y + 1/10 y - 1/40 x + 1/35 x - 2/49 x y - ---,
+ 200
+
+ 2 37 2
+ COEFF(-1, 1) = 1/70 y + 1/20 y + 1/49 x y - --- - 1/70 x + 1/20 x ,
+ 300
+
+ COEFF(0, 1) = - 1/35 x + 2/49 x y,
+
+ 2 2 37
+ COEFF(1, 1) = - 1/70 x + 1/49 x y - 1/70 y - 1/20 x - 1/20 y + ---,
+ 300
+
+ 2 2 21
+ COEFF(2, 1) = 1/35 x - 1/10 y - 1/35 y - 2/49 x y + 1/40 x + ---,
+ 200
+
+ 2 2 11
+ COEFF(-2, 2) = - 1/20 x + 4/49 x y - 1/20 y + --- + 2/35 x - 2/35 y,
+ 150
+
+ 2 2 21
+ COEFF(-1, 2) = - 1/40 y + 1/10 x - 2/49 x y - --- - 1/35 x - 1/35 y,
+ 200
+
+ COEFF(0, 2) = - 2/35 x - 4/49 x y,
+
+ 2 2 21
+ COEFF(1, 2) = - 1/35 x + 1/35 y + 1/40 y - 2/49 x y - 1/10 x + ---,
+ 200
+
+ 2 11 2
+ COEFF(2, 2) = 1/20 y + 4/49 x y + 2/35 y + 2/35 x - --- + 1/20 x ]
+ 150
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c");
+bytes used=108106268, alloc=2424388, time=9.87
+bytes used=109106456, alloc=2424388, time=9.97
+bytes used=110108000, alloc=2424388, time=10.08
+bytes used=111108304, alloc=2424388, time=10.22
+bytes used=112108480, alloc=2424388, time=10.40
+bytes used=113108824, alloc=2424388, time=10.56
+bytes used=114109048, alloc=2424388, time=10.72
+>
+# d^2/dy^2
+> simplify( diff(interp_2d_cube_order4_smooth0,y,y) );
+bytes used=115109200, alloc=2424388, time=10.80
+191 71 289 57
+---- DATA(0, -2) + ---- DATA(-1, -2) - ---- DATA(-2, -2) - -- DATA(0, 0)
+2940 2940 2940 98
+
+ 53 166 181 226
+ - -- DATA(1, 0) + --- DATA(0, 1) + --- DATA(1, 1) + --- DATA(-2, -1)
+ 98 735 735 735
+
+ 289 71 289 226
+ - ---- DATA(2, -2) + ---- DATA(1, -2) - ---- DATA(-2, 2) + --- DATA(-2, 1)
+ 2940 2940 2940 735
+
+ 41 2 2
+ - -- DATA(-2, 0) + 3/5 y DATA(-1, 0) + 3/5 y DATA(0, 0)
+ 98
+
+ 2 2 2
+ + 1/10 y DATA(0, 2) + 3/5 y DATA(-2, 0) - 2/5 y DATA(0, -1)
+
+ 2 2
+ - 2/5 y DATA(0, 1) + 3/5 y DATA(2, 0) - 1/35 x DATA(1, 0)
+
+ 2 2
+ + 3/5 y DATA(1, 0) - 2/35 x DATA(2, 0) - 2/49 x DATA(0, 2)
+
+ 2 2 2
+ + 1/10 y DATA(0, -2) + 1/49 x DATA(1, 0) + 1/49 x DATA(0, 1)
+
+ 2
+ + 2/35 x DATA(-2, 0) + 1/35 x DATA(-1, 0) - 2/49 x DATA(-2, 0)
+
+ 2 2 2
+ + 1/49 x DATA(0, -1) - 2/49 x DATA(0, -2) + 1/49 x DATA(-1, 0)
+
+ 2 2
+ - 2/49 x DATA(2, 0) + 2/49 x DATA(0, 0) + 1/10 y DATA(0, 2)
+
+ - 1/10 y DATA(0, -2) - 1/5 y DATA(0, 1) + 1/5 y DATA(0, -1)
+
+ 181 166 181 53
+ + --- DATA(-1, -1) + --- DATA(0, -1) + --- DATA(1, -1) - -- DATA(-1, 0)
+ 735 735 735 98
+
+ 181
+ + --- DATA(-1, 1) + 1/70 x DATA(-1, -1) - 1/70 x DATA(1, -1)
+ 735
+
+ + 1/35 x DATA(1, 2) + 2/35 x DATA(2, 2) - 1/35 x DATA(2, -1)
+
+ 2
+ - 1/35 x DATA(-1, -2) - 2/35 x DATA(-2, -2) - 1/49 x DATA(-1, -2)
+
+ 2 2 2
+ + 2/49 x DATA(-2, -2) + 1/98 x DATA(1, 1) - 1/49 x DATA(-2, -1)
+
+ 2 2 2
+ + 2/49 x DATA(2, -2) - 1/49 x DATA(1, -2) + 2/49 x DATA(-2, 2)
+
+ + 1/70 x DATA(-1, 1) - 1/70 x DATA(1, 1) + 1/35 x DATA(-2, -1)
+
+ + 2/35 x DATA(2, -2) + 1/35 x DATA(1, -2) - 2/35 x DATA(-2, 2)
+
+ 2 2
+ + 1/35 x DATA(-2, 1) + 1/98 x DATA(-1, -1) + 1/98 x DATA(1, -1)
+
+ 2
+ + 1/98 x DATA(-1, 1) - 1/35 x DATA(2, 1) - 1/35 x DATA(-1, 2)
+
+ 2 2
+ - 1/20 x y DATA(1, -2) + 1/10 y DATA(-2, -2) - 2/5 y DATA(1, 1)
+
+ 2 2 2
+ - 2/5 y DATA(-2, -1) + 1/10 y DATA(2, -2) + 1/10 y DATA(1, -2)
+
+ 2 2 2
+ - 1/49 x DATA(2, 1) - 1/49 x DATA(-1, 2) - 1/49 x DATA(1, 2)
+
+ 2 2 2
+ + 2/49 x DATA(2, 2) - 1/49 x DATA(2, -1) - 1/49 x DATA(-2, 1)
+
+ 2 2 2
+ + 1/10 y DATA(-1, -2) + 1/10 y DATA(-2, 2) - 2/5 y DATA(-2, 1)
+
+ 2 2 2
+ - 2/5 y DATA(-1, -1) - 2/5 y DATA(1, -1) + 1/10 y DATA(-1, 2)
+
+ 2 2 2
+ + 1/10 y DATA(2, 2) - 2/5 y DATA(2, -1) - 2/5 y DATA(2, 1)
+
+ 2
+ + 1/10 y DATA(1, 2) + 1/10 y DATA(-2, 2) + 1/5 y DATA(-1, -1)
+
+ + 1/5 y DATA(1, -1) - 1/5 y DATA(-1, 1) - 1/5 y DATA(2, 1)
+
+ + 1/10 y DATA(-1, 2) + 1/10 y DATA(1, 2) + 1/10 y DATA(2, 2)
+
+ 2
+ - 2/5 y DATA(-1, 1) - 1/5 y DATA(-2, 1) - 1/10 y DATA(-1, -2)
+
+ - 1/10 y DATA(-2, -2) - 1/5 y DATA(1, 1) + 1/5 y DATA(-2, -1)
+
+ - 1/10 y DATA(2, -2) - 1/10 y DATA(1, -2) - 1/5 x y DATA(-2, -1)
+
+ + 1/10 x y DATA(-1, 1) - 1/5 x y DATA(2, 1) - 1/10 x y DATA(2, -2)
+
+ - 1/10 x y DATA(-2, 2) + 1/20 x y DATA(-1, -2) + 1/10 x y DATA(2, 2)
+
+ - 1/10 x y DATA(-1, -1) + 1/5 y DATA(2, -1) + 1/5 x y DATA(-2, 1)
+
+ + 1/20 x y DATA(1, 2) - 1/20 x y DATA(-1, 2) + 1/5 x y DATA(2, -1)
+
+ + 1/10 x y DATA(-2, -2) - 1/10 x y DATA(1, 1) + 1/10 x y DATA(1, -1)
+
+ 226 71 191 71
+ + --- DATA(2, 1) + ---- DATA(-1, 2) + ---- DATA(0, 2) + ---- DATA(1, 2)
+ 735 2940 2940 2940
+
+ 289 226 41
+ - ---- DATA(2, 2) + --- DATA(2, -1) - -- DATA(2, 0)
+ 2940 735 98
+
+> coeff_as_lc_of_data(%, posn_list_2d_size5);
+bytes used=116109468, alloc=2424388, time=10.86
+ 2 289 2
+[COEFF(-2, -2) = - 1/10 y - 2/35 x + 2/49 x - ---- + 1/10 x y + 1/10 y ,
+ 2940
+
+ 2 2 71
+ COEFF(-1, -2) = 1/10 y - 1/35 x - 1/49 x + ---- + 1/20 x y - 1/10 y,
+ 2940
+
+ 191 2 2
+ COEFF(0, -2) = - 1/10 y + ---- - 2/49 x + 1/10 y ,
+ 2940
+
+ 2 71 2
+ COEFF(1, -2) = - 1/20 x y + 1/10 y + ---- + 1/35 x - 1/10 y - 1/49 x ,
+ 2940
+
+ 2 289 2
+ COEFF(2, -2) = 2/49 x - 1/10 x y + 2/35 x - ---- - 1/10 y + 1/10 y ,
+ 2940
+
+ 2 2 226
+ COEFF(-2, -1) = - 1/5 x y - 2/5 y - 1/49 x + --- + 1/35 x + 1/5 y,
+ 735
+
+ 2 181 2
+ COEFF(-1, -1) = - 2/5 y + --- + 1/70 x + 1/98 x - 1/10 x y + 1/5 y,
+ 735
+
+ 2 166 2
+ COEFF(0, -1) = - 2/5 y + --- + 1/5 y + 1/49 x ,
+ 735
+
+ 2 2 181
+ COEFF(1, -1) = 1/5 y + 1/98 x - 2/5 y + --- - 1/70 x + 1/10 x y,
+ 735
+
+ 2 226 2
+ COEFF(2, -1) = - 1/35 x + 1/5 x y + 1/5 y - 2/5 y + --- - 1/49 x ,
+ 735
+
+ 2 2 41
+ COEFF(-2, 0) = 3/5 y + 2/35 x - 2/49 x - --,
+ 98
+
+ 53 2 2
+ COEFF(-1, 0) = - -- + 1/35 x + 3/5 y + 1/49 x ,
+ 98
+
+ 2 57 2
+ COEFF(0, 0) = 2/49 x - -- + 3/5 y ,
+ 98
+
+ 2 2 53
+ COEFF(1, 0) = - 1/35 x + 1/49 x + 3/5 y - --,
+ 98
+
+ 2 2 41
+ COEFF(2, 0) = - 2/49 x - 2/35 x + 3/5 y - --,
+ 98
+
+ 2 2 226
+ COEFF(-2, 1) = - 1/5 y - 2/5 y - 1/49 x + 1/5 x y + 1/35 x + ---,
+ 735
+
+ 2 181 2
+ COEFF(-1, 1) = 1/98 x - 1/5 y + 1/70 x + --- - 2/5 y + 1/10 x y,
+ 735
+
+ 2 166 2
+ COEFF(0, 1) = - 1/5 y + 1/49 x + --- - 2/5 y ,
+ 735
+
+ 2 181 2
+ COEFF(1, 1) = - 2/5 y - 1/10 x y - 1/70 x - 1/5 y + --- + 1/98 x ,
+ 735
+
+ 2 226 2
+ COEFF(2, 1) = - 1/35 x - 2/5 y - 1/5 x y - 1/5 y + --- - 1/49 x ,
+ 735
+
+ 2 2 289
+ COEFF(-2, 2) = 2/49 x - 2/35 x + 1/10 y + 1/10 y - 1/10 x y - ----,
+ 2940
+
+ 2 71 2
+ COEFF(-1, 2) = 1/10 y + 1/10 y + ---- - 1/20 x y - 1/49 x - 1/35 x,
+ 2940
+
+ 2 2 191
+ COEFF(0, 2) = 1/10 y + 1/10 y - 2/49 x + ----,
+ 2940
+
+ 2 71 2
+ COEFF(1, 2) = 1/10 y + 1/35 x + 1/20 x y - 1/49 x + ---- + 1/10 y ,
+ 2940
+
+ 2 2 289
+ COEFF(2, 2) = 1/10 y + 1/10 y + 2/35 x + 2/49 x + 1/10 x y - ----]
+ 2940
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c");
+bytes used=117109700, alloc=2424388, time=10.93
+bytes used=118109892, alloc=2424388, time=11.00
+bytes used=119110028, alloc=2424388, time=11.16
+bytes used=120110160, alloc=2424388, time=11.28
+bytes used=121110344, alloc=2424388, time=11.37
+bytes used=122110608, alloc=2424388, time=11.52
+>
+########################################
+> quit
+bytes used=123087056, alloc=2424388, time=11.65
diff --git a/src/GeneralizedPolynomial-Uniform/2d.maple b/src/GeneralizedPolynomial-Uniform/2d.maple
new file mode 100644
index 0000000..719c913
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/2d.maple
@@ -0,0 +1,415 @@
+# Maple code to compute 2-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+
+################################################################################
+
+#
+# interpolating functions
+#
+
+fn_2d_order1 :=
+proc(x,y)
++ c01*y
++ c00 + c10*x
+end proc;
+
+fn_2d_order2 :=
+proc(x,y)
++ c02*y^2
++ c01*y + c11*x*y
++ c00 + c10*x + c20*x^2
+end proc;
+
+fn_2d_order3 :=
+proc(x,y)
++ c03*y^3
++ c02*y^2 + c12*x*y^2
++ c01*y + c11*x*y + c21*x^2*y
++ c00 + c10*x + c20*x^2 + c30*x^3
+end proc;
+
+fn_2d_order4 :=
+proc(x,y)
++ c04*y^4
++ c03*y^3 + c13*x*y^3
++ c02*y^2 + c12*x*y^2 + c22*x^2*y^2
++ c01*y + c11*x*y + c21*x^2*y + c31*x^3*y
++ c00 + c10*x + c20*x^2 + c30*x^3 + c40*x^4
+end;
+
+########################################
+
+#
+# coefficients in interpolating functions
+#
+
+coeff_list_2d_order1 := [
+ c01,
+ c00, c10
+ ];
+coeff_list_2d_order2 := [
+ c02,
+ c01, c11,
+ c00, c10, c20
+ ];
+coeff_list_2d_order3 := [
+ c03,
+ c02, c12,
+ c01, c11, c21,
+ c00, c10, c20, c30
+ ];
+coeff_list_2d_order4 := [
+ c04,
+ c03, c13,
+ c02, c12, c22,
+ c01, c11, c21, c31,
+ c00, c10, c20, c30, c40
+ ];
+
+########################################
+
+#
+# coordinates and interpolation points
+#
+
+coord_list_2d := [x,y];
+
+# generate points in Fortran ordering
+posn_list_2d_size2 := map(ListTools[Reverse], hypercube_points([ 0, 0], [+1,+1]));
+posn_list_2d_size3 := map(ListTools[Reverse], hypercube_points([-1,-1], [+1,+1]));
+posn_list_2d_size4 := map(ListTools[Reverse], hypercube_points([-1,-1], [+2,+2]));
+posn_list_2d_size5 := map(ListTools[Reverse], hypercube_points([-2,-2], [+2,+2]));
+
+################################################################################
+
+#
+# generic stuff for 2d, cube, size=2
+#
+
+data_var_list_2d_size2 := map(data_var_name, posn_list_2d_size2, "data_");
+
+print_name_list_dcl(data_var_list_2d_size2,
+ "fp", "2d.coeffs/2d.cube.size2/data-var.dcl.c");
+print_data_var_assign(posn_list_2d_size2,
+ "data_", "2d.coeffs/2d.cube.size2/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_I_"),
+ "fp", "2d.coeffs/2d.cube.size2/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_dx_"),
+ "fp", "2d.coeffs/2d.cube.size2/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size2, "coeff_dy_"),
+ "fp", "2d.coeffs/2d.cube.size2/coeff-dy.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+ "result", "coeff_I_", "data_",
+ "2d.coeffs/2d.cube.size2/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+ "result", "coeff_dx_", "data_",
+ "2d.coeffs/2d.cube.size2/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size2,
+ "result", "coeff_dy_", "data_",
+ "2d.coeffs/2d.cube.size2/interp-dy.compute.c");
+
+########################################
+
+#
+# generic stuff for 2d, cube, size=3
+#
+
+data_var_list_2d_size3 := map(data_var_name, posn_list_2d_size3, "data_");
+
+print_name_list_dcl(data_var_list_2d_size3,
+ "fp", "2d.coeffs/2d.cube.size3/data-var.dcl.c");
+print_data_var_assign(posn_list_2d_size3,
+ "data_", "2d.coeffs/2d.cube.size3/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_I_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dx_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dy_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dxx_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dxy_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size3, "coeff_dyy_"),
+ "fp", "2d.coeffs/2d.cube.size3/coeff-dyy.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_I_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_dx_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_dy_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_dxx_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_dxy_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size3,
+ "result", "coeff_dyy_", "data_",
+ "2d.coeffs/2d.cube.size3/interp-dyy.compute.c");
+
+########################################
+
+#
+# generic stuff for 2d, cube, size=4
+#
+
+data_var_list_2d_size4 := map(data_var_name, posn_list_2d_size4, "data_");
+
+print_name_list_dcl(data_var_list_2d_size4,
+ "fp", "2d.coeffs/2d.cube.size4/data-var.dcl.c");
+print_data_var_assign(posn_list_2d_size4,
+ "data_", "2d.coeffs/2d.cube.size4/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_I_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dx_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dy_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dxx_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dxy_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size4, "coeff_dyy_"),
+ "fp", "2d.coeffs/2d.cube.size4/coeff-dyy.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_I_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_dx_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_dy_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_dxx_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_dxy_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size4,
+ "result", "coeff_dyy_", "data_",
+ "2d.coeffs/2d.cube.size4/interp-dyy.compute.c");
+
+########################################
+
+#
+# generic stuff for 2d, cube, size=5
+#
+
+data_var_list_2d_size5 := map(data_var_name, posn_list_2d_size5, "data_");
+
+print_name_list_dcl(data_var_list_2d_size5,
+ "fp", "2d.coeffs/2d.cube.size5/data-var.dcl.c");
+print_data_var_assign(posn_list_2d_size5,
+ "data_", "2d.coeffs/2d.cube.size5/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_I_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dx_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dy_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dxx_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dxy_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_2d_size5, "coeff_dyy_"),
+ "fp", "2d.coeffs/2d.cube.size5/coeff-dyy.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_I_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_dx_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_dy_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_dxx_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_dxy_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_2d_size5,
+ "result", "coeff_dyy_", "data_",
+ "2d.coeffs/2d.cube.size5/interp-dyy.compute.c");
+
+
+################################################################################
+
+#
+# 2d, cube, order=1, smoothing=0 (size=2)
+#
+
+# interpolating polynomial
+interp_2d_cube_order1_smooth0
+ := polynomial_interpolant(fn_2d_order1, coeff_list_2d_order1,
+ coord_list_2d, posn_list_2d_size2);
+
+# I
+coeff_as_lc_of_data(%, posn_list_2d_size2);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "2d.coeffs/2d.cube.order1.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_2d_cube_order1_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size2);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "2d.coeffs/2d.cube.order1.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_2d_cube_order1_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size2);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "2d.coeffs/2d.cube.order1.smooth0/coeff-dy.compute.c");
+
+########################################
+
+#
+# 2d, cube, order=2, smoothing=0 (size=3)
+#
+
+# interpolating polynomial
+interp_2d_cube_order2_smooth0
+ := polynomial_interpolant(fn_2d_order2, coeff_list_2d_order2,
+ coord_list_2d, posn_list_2d_size3);
+
+# I
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_2d_cube_order2_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_2d_cube_order2_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-dy.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_2d_cube_order2_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_2d_cube_order2_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-dxy.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_2d_cube_order2_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size3);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "2d.coeffs/2d.cube.order2.smooth0/coeff-dyy.compute.c");
+
+########################################
+
+#
+# 2d, cube, order=3, smoothing=0 (size=4)
+#
+
+# interpolating polynomial
+interp_2d_cube_order3_smooth0
+ := polynomial_interpolant(fn_2d_order3, coeff_list_2d_order3,
+ coord_list_2d, posn_list_2d_size4);
+
+# I
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_2d_cube_order3_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_2d_cube_order3_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-dy.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_2d_cube_order3_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_2d_cube_order3_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-dxy.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_2d_cube_order3_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size4);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "2d.coeffs/2d.cube.order3.smooth0/coeff-dyy.compute.c");
+
+########################################
+
+#
+# 2d, cube, order=4, smoothing=0 (size=5)
+#
+
+# interpolating polynomial
+interp_2d_cube_order4_smooth0
+ := polynomial_interpolant(fn_2d_order4, coeff_list_2d_order4,
+ coord_list_2d, posn_list_2d_size5);
+
+# I
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_2d_cube_order4_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_2d_cube_order4_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-dy.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_2d_cube_order4_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_2d_cube_order4_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-dxy.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_2d_cube_order4_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_2d_size5);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "2d.coeffs/2d.cube.order4.smooth0/coeff-dyy.compute.c");
+
+########################################
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..f67cecc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c
@@ -0,0 +1,30 @@
+fp t7,
+ t3,
+ t8,
+ t11,
+ t6,
+ t5,
+ t10,
+ t2,
+ t9,
+ t4,
+ t1;
+ t7 = RATIONAL(-1.0,4.0);
+ t3 = t7*x;
+ t8 = RATIONAL(1.0,4.0);
+ t11 = t3+t8;
+ t6 = t8*x;
+ t5 = t8*y;
+ t10 = t6+t5;
+ t2 = t7*y;
+ t9 = t2+t6;
+ t4 = t7*z;
+ t1 = t8*z;
+ coeff_I_0_0_0 = RATIONAL(1.0,2.0)+t3+t2+t4;
+ coeff_I_p1_0_0 = t8+t4+t9;
+ coeff_I_0_p1_0 = t5+t4+t11;
+ coeff_I_p1_p1_0 = t4+t10;
+ coeff_I_0_0_p1 = t2+t1+t11;
+ coeff_I_p1_0_p1 = t1+t9;
+ coeff_I_0_p1_p1 = t3+t5+t1;
+ coeff_I_p1_p1_p1 = t1+t7+t10;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..ed69d03
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c
@@ -0,0 +1,12 @@
+fp t13,
+ t12;
+ t13 = RATIONAL(1.0,4.0);
+ t12 = RATIONAL(-1.0,4.0);
+ coeff_dx_0_0_0 = t12;
+ coeff_dx_p1_0_0 = t13;
+ coeff_dx_0_p1_0 = t12;
+ coeff_dx_p1_p1_0 = t13;
+ coeff_dx_0_0_p1 = t12;
+ coeff_dx_p1_0_p1 = t13;
+ coeff_dx_0_p1_p1 = t12;
+ coeff_dx_p1_p1_p1 = t13;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..3ef3521
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c
@@ -0,0 +1,12 @@
+fp t15,
+ t14;
+ t15 = RATIONAL(1.0,4.0);
+ t14 = RATIONAL(-1.0,4.0);
+ coeff_dy_0_0_0 = t14;
+ coeff_dy_p1_0_0 = t14;
+ coeff_dy_0_p1_0 = t15;
+ coeff_dy_p1_p1_0 = t15;
+ coeff_dy_0_0_p1 = t14;
+ coeff_dy_p1_0_p1 = t14;
+ coeff_dy_0_p1_p1 = t15;
+ coeff_dy_p1_p1_p1 = t15;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c
new file mode 100644
index 0000000..660271c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c
@@ -0,0 +1,12 @@
+fp t17,
+ t16;
+ t17 = RATIONAL(1.0,4.0);
+ t16 = RATIONAL(-1.0,4.0);
+ coeff_dz_0_0_0 = t16;
+ coeff_dz_p1_0_0 = t16;
+ coeff_dz_0_p1_0 = t16;
+ coeff_dz_p1_p1_0 = t16;
+ coeff_dz_0_0_p1 = t17;
+ coeff_dz_p1_0_p1 = t17;
+ coeff_dz_0_p1_p1 = t17;
+ coeff_dz_p1_p1_p1 = t17;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..6189157
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c
@@ -0,0 +1,153 @@
+fp t37,
+ t71,
+ t20,
+ t40,
+ t28,
+ t81,
+ t39,
+ t72,
+ t23,
+ t36,
+ t25,
+ t80,
+ t45,
+ t24,
+ t41,
+ t79,
+ t21,
+ t29,
+ t78,
+ t18,
+ t31,
+ t77,
+ t43,
+ t46,
+ t35,
+ t38,
+ t76,
+ t33,
+ t75,
+ t30,
+ t66,
+ t44,
+ t34,
+ t74,
+ t73,
+ t27,
+ t32,
+ t70,
+ t69,
+ t67,
+ t26,
+ t65,
+ t42,
+ t64,
+ t63,
+ t62,
+ t61,
+ t60,
+ t59,
+ t58,
+ t22,
+ t57,
+ t19,
+ t56,
+ t55,
+ t54,
+ t53,
+ t52,
+ t51,
+ t50,
+ t49,
+ t48,
+ t47;
+ t37 = RATIONAL(1.0,12.0);
+ t71 = z*t37;
+ t20 = x*t71;
+ t40 = RATIONAL(-1.0,18.0);
+ t28 = t40*x;
+ t81 = t20+t28;
+ t39 = RATIONAL(-1.0,12.0);
+ t72 = x*t39;
+ t23 = z*t72;
+ t36 = RATIONAL(1.0,18.0);
+ t25 = t36*x;
+ t80 = t23+t25;
+ t45 = x*x;
+ t24 = t36*t45;
+ t41 = RATIONAL(-2.0,27.0);
+ t79 = t24+t41;
+ t21 = t39*y*z;
+ t29 = t40*y;
+ t78 = t21+t29;
+ t18 = y*t71;
+ t31 = t36*y;
+ t77 = t18+t31;
+ t43 = RATIONAL(-1.0,9.0);
+ t46 = y*y;
+ t35 = t43*t46;
+ t38 = RATIONAL(1.0,27.0);
+ t76 = t35+t38;
+ t33 = t43*t45;
+ t75 = t33+t38;
+ t30 = t36*t46;
+ t66 = t30+t38;
+ t44 = z*z;
+ t34 = t43*t44;
+ t74 = t66+t24+t34;
+ t73 = t30+t41;
+ t27 = t36*t44;
+ t32 = t36*z;
+ t70 = t27+t32;
+ t69 = t33+t35;
+ t67 = t24+t35;
+ t26 = t40*z;
+ t65 = t26+t27;
+ t42 = RATIONAL(4.0,27.0);
+ t64 = t34+t42;
+ t63 = t24+t70;
+ t62 = t30+t65;
+ t61 = t27+t42+t69;
+ t60 = t64+t67;
+ t59 = t30+t33+t64;
+ t58 = t33+t66+t70;
+ t22 = y*t72;
+ t57 = t22+t74;
+ t19 = t37*x*y;
+ t56 = t19+t74;
+ t55 = t23+t28+t63;
+ t54 = t18+t29+t62;
+ t53 = t38+t65+t67;
+ t52 = t21+t31+t62;
+ t51 = t20+t25+t63;
+ t50 = t54+t79;
+ t49 = t52+t79;
+ t48 = t55+t73;
+ t47 = t51+t73;
+ coeff_I_m1_m1_m1 = t19+t50+t81;
+ coeff_I_0_m1_m1 = t54+t75;
+ coeff_I_p1_m1_m1 = t22+t50+t80;
+ coeff_I_m1_0_m1 = t53+t81;
+ coeff_I_0_0_m1 = t26+t61;
+ coeff_I_p1_0_m1 = t53+t80;
+ coeff_I_m1_p1_m1 = t22+t49+t81;
+ coeff_I_0_p1_m1 = t52+t75;
+ coeff_I_p1_p1_m1 = t19+t49+t80;
+ coeff_I_m1_m1_0 = t28+t29+t56;
+ coeff_I_0_m1_0 = t29+t59;
+ coeff_I_p1_m1_0 = t29+t25+t57;
+ coeff_I_m1_0_0 = t28+t60;
+ coeff_I_0_0_0 = t34+RATIONAL(7.0,27.0)+t69;
+ coeff_I_p1_0_0 = t25+t60;
+ coeff_I_m1_p1_0 = t28+t31+t57;
+ coeff_I_0_p1_0 = t31+t59;
+ coeff_I_p1_p1_0 = t31+t25+t56;
+ coeff_I_m1_m1_p1 = t19+t48+t78;
+ coeff_I_0_m1_p1 = t58+t78;
+ coeff_I_p1_m1_p1 = t22+t47+t78;
+ coeff_I_m1_0_p1 = t55+t76;
+ coeff_I_0_0_p1 = t32+t61;
+ coeff_I_p1_0_p1 = t51+t76;
+ coeff_I_m1_p1_p1 = t22+t48+t77;
+ coeff_I_0_p1_p1 = t58+t77;
+ coeff_I_p1_p1_p1 = t19+t47+t77;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..b568e61
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c
@@ -0,0 +1,59 @@
+fp t87,
+ t99,
+ t98,
+ t90,
+ t83,
+ t97,
+ t89,
+ t82,
+ t96,
+ t85,
+ t95,
+ t94,
+ t93,
+ t92,
+ t86,
+ t84;
+ t87 = RATIONAL(1.0,9.0)*x;
+ t99 = t87+RATIONAL(-1.0,18.0);
+ t98 = t87+RATIONAL(1.0,18.0);
+ t90 = RATIONAL(-1.0,12.0);
+ t83 = t90*y;
+ t97 = t83+t99;
+ t89 = RATIONAL(1.0,12.0);
+ t82 = t89*y;
+ t96 = t82+t99;
+ t85 = t89*z;
+ t95 = t85+t99;
+ t94 = t83+t98;
+ t93 = t82+t98;
+ t92 = t85+t98;
+ t86 = RATIONAL(-2.0,9.0)*x;
+ t84 = t90*z;
+ coeff_dx_m1_m1_m1 = t82+t95;
+ coeff_dx_0_m1_m1 = t86;
+ coeff_dx_p1_m1_m1 = t84+t94;
+ coeff_dx_m1_0_m1 = t95;
+ coeff_dx_0_0_m1 = t86;
+ coeff_dx_p1_0_m1 = t84+t98;
+ coeff_dx_m1_p1_m1 = t83+t95;
+ coeff_dx_0_p1_m1 = t86;
+ coeff_dx_p1_p1_m1 = t84+t93;
+ coeff_dx_m1_m1_0 = t96;
+ coeff_dx_0_m1_0 = t86;
+ coeff_dx_p1_m1_0 = t94;
+ coeff_dx_m1_0_0 = t99;
+ coeff_dx_0_0_0 = t86;
+ coeff_dx_p1_0_0 = t98;
+ coeff_dx_m1_p1_0 = t97;
+ coeff_dx_0_p1_0 = t86;
+ coeff_dx_p1_p1_0 = t93;
+ coeff_dx_m1_m1_p1 = t84+t96;
+ coeff_dx_0_m1_p1 = t86;
+ coeff_dx_p1_m1_p1 = t83+t92;
+ coeff_dx_m1_0_p1 = t84+t99;
+ coeff_dx_0_0_p1 = t86;
+ coeff_dx_p1_0_p1 = t92;
+ coeff_dx_m1_p1_p1 = t84+t97;
+ coeff_dx_0_p1_p1 = t86;
+ coeff_dx_p1_p1_p1 = t82+t92;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..87755fa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,31 @@
+fp t138,
+ t137;
+ t138 = RATIONAL(1.0,9.0);
+ t137 = RATIONAL(-2.0,9.0);
+ coeff_dxx_m1_m1_m1 = t138;
+ coeff_dxx_0_m1_m1 = t137;
+ coeff_dxx_p1_m1_m1 = t138;
+ coeff_dxx_m1_0_m1 = t138;
+ coeff_dxx_0_0_m1 = t137;
+ coeff_dxx_p1_0_m1 = t138;
+ coeff_dxx_m1_p1_m1 = t138;
+ coeff_dxx_0_p1_m1 = t137;
+ coeff_dxx_p1_p1_m1 = t138;
+ coeff_dxx_m1_m1_0 = t138;
+ coeff_dxx_0_m1_0 = t137;
+ coeff_dxx_p1_m1_0 = t138;
+ coeff_dxx_m1_0_0 = t138;
+ coeff_dxx_0_0_0 = t137;
+ coeff_dxx_p1_0_0 = t138;
+ coeff_dxx_m1_p1_0 = t138;
+ coeff_dxx_0_p1_0 = t137;
+ coeff_dxx_p1_p1_0 = t138;
+ coeff_dxx_m1_m1_p1 = t138;
+ coeff_dxx_0_m1_p1 = t137;
+ coeff_dxx_p1_m1_p1 = t138;
+ coeff_dxx_m1_0_p1 = t138;
+ coeff_dxx_0_0_p1 = t137;
+ coeff_dxx_p1_0_p1 = t138;
+ coeff_dxx_m1_p1_p1 = t138;
+ coeff_dxx_0_p1_p1 = t137;
+ coeff_dxx_p1_p1_p1 = t138;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..ac55ad0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,33 @@
+fp t141,
+ t140,
+ t139;
+ t141 = RATIONAL(0.0,1.0);
+ t140 = RATIONAL(-1.0,12.0);
+ t139 = RATIONAL(1.0,12.0);
+ coeff_dxy_m1_m1_m1 = t139;
+ coeff_dxy_0_m1_m1 = t141;
+ coeff_dxy_p1_m1_m1 = t140;
+ coeff_dxy_m1_0_m1 = t141;
+ coeff_dxy_0_0_m1 = t141;
+ coeff_dxy_p1_0_m1 = t141;
+ coeff_dxy_m1_p1_m1 = t140;
+ coeff_dxy_0_p1_m1 = t141;
+ coeff_dxy_p1_p1_m1 = t139;
+ coeff_dxy_m1_m1_0 = t139;
+ coeff_dxy_0_m1_0 = t141;
+ coeff_dxy_p1_m1_0 = t140;
+ coeff_dxy_m1_0_0 = t141;
+ coeff_dxy_0_0_0 = t141;
+ coeff_dxy_p1_0_0 = t141;
+ coeff_dxy_m1_p1_0 = t140;
+ coeff_dxy_0_p1_0 = t141;
+ coeff_dxy_p1_p1_0 = t139;
+ coeff_dxy_m1_m1_p1 = t139;
+ coeff_dxy_0_m1_p1 = t141;
+ coeff_dxy_p1_m1_p1 = t140;
+ coeff_dxy_m1_0_p1 = t141;
+ coeff_dxy_0_0_p1 = t141;
+ coeff_dxy_p1_0_p1 = t141;
+ coeff_dxy_m1_p1_p1 = t140;
+ coeff_dxy_0_p1_p1 = t141;
+ coeff_dxy_p1_p1_p1 = t139;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c
new file mode 100644
index 0000000..2d102b8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c
@@ -0,0 +1,33 @@
+fp t144,
+ t143,
+ t142;
+ t144 = RATIONAL(0.0,1.0);
+ t143 = RATIONAL(-1.0,12.0);
+ t142 = RATIONAL(1.0,12.0);
+ coeff_dxz_m1_m1_m1 = t142;
+ coeff_dxz_0_m1_m1 = t144;
+ coeff_dxz_p1_m1_m1 = t143;
+ coeff_dxz_m1_0_m1 = t142;
+ coeff_dxz_0_0_m1 = t144;
+ coeff_dxz_p1_0_m1 = t143;
+ coeff_dxz_m1_p1_m1 = t142;
+ coeff_dxz_0_p1_m1 = t144;
+ coeff_dxz_p1_p1_m1 = t143;
+ coeff_dxz_m1_m1_0 = t144;
+ coeff_dxz_0_m1_0 = t144;
+ coeff_dxz_p1_m1_0 = t144;
+ coeff_dxz_m1_0_0 = t144;
+ coeff_dxz_0_0_0 = t144;
+ coeff_dxz_p1_0_0 = t144;
+ coeff_dxz_m1_p1_0 = t144;
+ coeff_dxz_0_p1_0 = t144;
+ coeff_dxz_p1_p1_0 = t144;
+ coeff_dxz_m1_m1_p1 = t143;
+ coeff_dxz_0_m1_p1 = t144;
+ coeff_dxz_p1_m1_p1 = t142;
+ coeff_dxz_m1_0_p1 = t143;
+ coeff_dxz_0_0_p1 = t144;
+ coeff_dxz_p1_0_p1 = t142;
+ coeff_dxz_m1_p1_p1 = t143;
+ coeff_dxz_0_p1_p1 = t144;
+ coeff_dxz_p1_p1_p1 = t142;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..269ff50
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c
@@ -0,0 +1,61 @@
+fp t104,
+ t108,
+ t103,
+ t117,
+ t101,
+ t116,
+ t107,
+ t100,
+ t115,
+ t114,
+ t113,
+ t112,
+ t111,
+ t110,
+ t109,
+ t106,
+ t105;
+ t104 = RATIONAL(1.0,9.0)*y;
+ t108 = RATIONAL(-1.0,12.0);
+ t103 = t108*z;
+ t117 = t104+t103;
+ t101 = t108*x;
+ t116 = t101+t104;
+ t107 = RATIONAL(1.0,12.0);
+ t100 = t107*x;
+ t115 = t100+t104;
+ t114 = t104+t107*z;
+ t113 = t100+t114;
+ t112 = t101+t114;
+ t111 = t103+t115;
+ t110 = t103+t116;
+ t109 = RATIONAL(-1.0,18.0);
+ t106 = RATIONAL(1.0,18.0);
+ t105 = RATIONAL(-2.0,9.0)*y;
+ coeff_dy_m1_m1_m1 = t109+t113;
+ coeff_dy_0_m1_m1 = t109+t114;
+ coeff_dy_p1_m1_m1 = t109+t112;
+ coeff_dy_m1_0_m1 = t105;
+ coeff_dy_0_0_m1 = t105;
+ coeff_dy_p1_0_m1 = t105;
+ coeff_dy_m1_p1_m1 = t106+t110;
+ coeff_dy_0_p1_m1 = t106+t117;
+ coeff_dy_p1_p1_m1 = t106+t111;
+ coeff_dy_m1_m1_0 = t109+t115;
+ coeff_dy_0_m1_0 = t104+t109;
+ coeff_dy_p1_m1_0 = t109+t116;
+ coeff_dy_m1_0_0 = t105;
+ coeff_dy_0_0_0 = t105;
+ coeff_dy_p1_0_0 = t105;
+ coeff_dy_m1_p1_0 = t106+t116;
+ coeff_dy_0_p1_0 = t104+t106;
+ coeff_dy_p1_p1_0 = t106+t115;
+ coeff_dy_m1_m1_p1 = t109+t111;
+ coeff_dy_0_m1_p1 = t109+t117;
+ coeff_dy_p1_m1_p1 = t109+t110;
+ coeff_dy_m1_0_p1 = t105;
+ coeff_dy_0_0_p1 = t105;
+ coeff_dy_p1_0_p1 = t105;
+ coeff_dy_m1_p1_p1 = t106+t112;
+ coeff_dy_0_p1_p1 = t106+t114;
+ coeff_dy_p1_p1_p1 = t106+t113;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..1863390
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,31 @@
+fp t146,
+ t145;
+ t146 = RATIONAL(1.0,9.0);
+ t145 = RATIONAL(-2.0,9.0);
+ coeff_dyy_m1_m1_m1 = t146;
+ coeff_dyy_0_m1_m1 = t146;
+ coeff_dyy_p1_m1_m1 = t146;
+ coeff_dyy_m1_0_m1 = t145;
+ coeff_dyy_0_0_m1 = t145;
+ coeff_dyy_p1_0_m1 = t145;
+ coeff_dyy_m1_p1_m1 = t146;
+ coeff_dyy_0_p1_m1 = t146;
+ coeff_dyy_p1_p1_m1 = t146;
+ coeff_dyy_m1_m1_0 = t146;
+ coeff_dyy_0_m1_0 = t146;
+ coeff_dyy_p1_m1_0 = t146;
+ coeff_dyy_m1_0_0 = t145;
+ coeff_dyy_0_0_0 = t145;
+ coeff_dyy_p1_0_0 = t145;
+ coeff_dyy_m1_p1_0 = t146;
+ coeff_dyy_0_p1_0 = t146;
+ coeff_dyy_p1_p1_0 = t146;
+ coeff_dyy_m1_m1_p1 = t146;
+ coeff_dyy_0_m1_p1 = t146;
+ coeff_dyy_p1_m1_p1 = t146;
+ coeff_dyy_m1_0_p1 = t145;
+ coeff_dyy_0_0_p1 = t145;
+ coeff_dyy_p1_0_p1 = t145;
+ coeff_dyy_m1_p1_p1 = t146;
+ coeff_dyy_0_p1_p1 = t146;
+ coeff_dyy_p1_p1_p1 = t146;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c
new file mode 100644
index 0000000..c13a538
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c
@@ -0,0 +1,33 @@
+fp t149,
+ t148,
+ t147;
+ t149 = RATIONAL(0.0,1.0);
+ t148 = RATIONAL(1.0,12.0);
+ t147 = RATIONAL(-1.0,12.0);
+ coeff_dyz_m1_m1_m1 = t148;
+ coeff_dyz_0_m1_m1 = t148;
+ coeff_dyz_p1_m1_m1 = t148;
+ coeff_dyz_m1_0_m1 = t149;
+ coeff_dyz_0_0_m1 = t149;
+ coeff_dyz_p1_0_m1 = t149;
+ coeff_dyz_m1_p1_m1 = t147;
+ coeff_dyz_0_p1_m1 = t147;
+ coeff_dyz_p1_p1_m1 = t147;
+ coeff_dyz_m1_m1_0 = t149;
+ coeff_dyz_0_m1_0 = t149;
+ coeff_dyz_p1_m1_0 = t149;
+ coeff_dyz_m1_0_0 = t149;
+ coeff_dyz_0_0_0 = t149;
+ coeff_dyz_p1_0_0 = t149;
+ coeff_dyz_m1_p1_0 = t149;
+ coeff_dyz_0_p1_0 = t149;
+ coeff_dyz_p1_p1_0 = t149;
+ coeff_dyz_m1_m1_p1 = t147;
+ coeff_dyz_0_m1_p1 = t147;
+ coeff_dyz_p1_m1_p1 = t147;
+ coeff_dyz_m1_0_p1 = t149;
+ coeff_dyz_0_0_p1 = t149;
+ coeff_dyz_p1_0_p1 = t149;
+ coeff_dyz_m1_p1_p1 = t148;
+ coeff_dyz_0_p1_p1 = t148;
+ coeff_dyz_p1_p1_p1 = t148;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c
new file mode 100644
index 0000000..5786753
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c
@@ -0,0 +1,63 @@
+fp t123,
+ t126,
+ t119,
+ t136,
+ t118,
+ t135,
+ t125,
+ t120,
+ t134,
+ t133,
+ t124,
+ t132,
+ t131,
+ t130,
+ t127,
+ t129,
+ t128,
+ t122;
+ t123 = RATIONAL(1.0,9.0)*z;
+ t126 = RATIONAL(-1.0,12.0);
+ t119 = t126*x;
+ t136 = t123+t119;
+ t118 = t126*y;
+ t135 = t123+t118;
+ t125 = RATIONAL(1.0,12.0);
+ t120 = t125*y;
+ t134 = t123+t120;
+ t133 = t123+t125*x;
+ t124 = RATIONAL(1.0,18.0);
+ t132 = t124+t135;
+ t131 = t124+t134;
+ t130 = t124+t133;
+ t127 = RATIONAL(-1.0,18.0);
+ t129 = t127+t136;
+ t128 = t127+t133;
+ t122 = RATIONAL(-2.0,9.0)*z;
+ coeff_dz_m1_m1_m1 = t120+t128;
+ coeff_dz_0_m1_m1 = t127+t134;
+ coeff_dz_p1_m1_m1 = t120+t129;
+ coeff_dz_m1_0_m1 = t128;
+ coeff_dz_0_0_m1 = t127+t123;
+ coeff_dz_p1_0_m1 = t129;
+ coeff_dz_m1_p1_m1 = t118+t128;
+ coeff_dz_0_p1_m1 = t127+t135;
+ coeff_dz_p1_p1_m1 = t118+t129;
+ coeff_dz_m1_m1_0 = t122;
+ coeff_dz_0_m1_0 = t122;
+ coeff_dz_p1_m1_0 = t122;
+ coeff_dz_m1_0_0 = t122;
+ coeff_dz_0_0_0 = t122;
+ coeff_dz_p1_0_0 = t122;
+ coeff_dz_m1_p1_0 = t122;
+ coeff_dz_0_p1_0 = t122;
+ coeff_dz_p1_p1_0 = t122;
+ coeff_dz_m1_m1_p1 = t119+t132;
+ coeff_dz_0_m1_p1 = t132;
+ coeff_dz_p1_m1_p1 = t118+t130;
+ coeff_dz_m1_0_p1 = t124+t136;
+ coeff_dz_0_0_p1 = t123+t124;
+ coeff_dz_p1_0_p1 = t130;
+ coeff_dz_m1_p1_p1 = t119+t131;
+ coeff_dz_0_p1_p1 = t131;
+ coeff_dz_p1_p1_p1 = t120+t130;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c
new file mode 100644
index 0000000..8dbd41a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c
@@ -0,0 +1,31 @@
+fp t151,
+ t150;
+ t151 = RATIONAL(1.0,9.0);
+ t150 = RATIONAL(-2.0,9.0);
+ coeff_dzz_m1_m1_m1 = t151;
+ coeff_dzz_0_m1_m1 = t151;
+ coeff_dzz_p1_m1_m1 = t151;
+ coeff_dzz_m1_0_m1 = t151;
+ coeff_dzz_0_0_m1 = t151;
+ coeff_dzz_p1_0_m1 = t151;
+ coeff_dzz_m1_p1_m1 = t151;
+ coeff_dzz_0_p1_m1 = t151;
+ coeff_dzz_p1_p1_m1 = t151;
+ coeff_dzz_m1_m1_0 = t150;
+ coeff_dzz_0_m1_0 = t150;
+ coeff_dzz_p1_m1_0 = t150;
+ coeff_dzz_m1_0_0 = t150;
+ coeff_dzz_0_0_0 = t150;
+ coeff_dzz_p1_0_0 = t150;
+ coeff_dzz_m1_p1_0 = t150;
+ coeff_dzz_0_p1_0 = t150;
+ coeff_dzz_p1_p1_0 = t150;
+ coeff_dzz_m1_m1_p1 = t151;
+ coeff_dzz_0_m1_p1 = t151;
+ coeff_dzz_p1_m1_p1 = t151;
+ coeff_dzz_m1_0_p1 = t151;
+ coeff_dzz_0_0_p1 = t151;
+ coeff_dzz_p1_0_p1 = t151;
+ coeff_dzz_m1_p1_p1 = t151;
+ coeff_dzz_0_p1_p1 = t151;
+ coeff_dzz_p1_p1_p1 = t151;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..e5b267c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c
@@ -0,0 +1,905 @@
+fp t505,
+ t502,
+ t494,
+ t386,
+ t503,
+ t481,
+ t340,
+ t259,
+ t706,
+ t487,
+ t590,
+ t265,
+ t504,
+ t486,
+ t339,
+ t239,
+ t594,
+ t601,
+ t267,
+ t729,
+ t331,
+ t246,
+ t498,
+ t501,
+ t381,
+ t728,
+ t644,
+ t609,
+ t157,
+ t727,
+ t488,
+ t346,
+ t262,
+ t726,
+ t496,
+ t379,
+ t500,
+ t352,
+ t725,
+ t472,
+ t612,
+ t465,
+ t724,
+ t723,
+ t214,
+ t159,
+ t722,
+ t369,
+ t721,
+ t506,
+ t350,
+ t222,
+ t332,
+ t236,
+ t579,
+ t720,
+ t415,
+ t433,
+ t633,
+ t719,
+ t497,
+ t380,
+ t718,
+ t384,
+ t356,
+ t717,
+ t152,
+ t716,
+ t221,
+ t371,
+ t715,
+ t156,
+ t714,
+ t467,
+ t615,
+ t196,
+ t158,
+ t713,
+ t333,
+ t251,
+ t608,
+ t712,
+ t711,
+ t240,
+ t580,
+ t373,
+ t710,
+ t709,
+ t708,
+ t342,
+ t264,
+ t581,
+ t707,
+ t344,
+ t268,
+ t359,
+ t705,
+ t410,
+ t440,
+ t638,
+ t704,
+ t595,
+ t272,
+ t703,
+ t471,
+ t647,
+ t395,
+ t702,
+ t701,
+ t271,
+ t578,
+ t700,
+ t480,
+ t641,
+ t396,
+ t699,
+ t243,
+ t576,
+ t698,
+ t343,
+ t230,
+ t697,
+ t696,
+ t273,
+ t270,
+ t597,
+ t354,
+ t695,
+ t694,
+ t392,
+ t470,
+ t643,
+ t693,
+ t692,
+ t691,
+ t453,
+ t454,
+ t690,
+ t628,
+ t689,
+ t688,
+ t687,
+ t686,
+ t685,
+ t419,
+ t489,
+ t420,
+ t684,
+ t490,
+ t355,
+ t431,
+ t425,
+ t683,
+ t377,
+ t682,
+ t478,
+ t630,
+ t390,
+ t681,
+ t402,
+ t437,
+ t680,
+ t403,
+ t463,
+ t616,
+ t464,
+ t328,
+ t679,
+ t485,
+ t345,
+ t412,
+ t483,
+ t642,
+ t678,
+ t441,
+ t493,
+ t468,
+ t677,
+ t474,
+ t398,
+ t676,
+ t632,
+ t675,
+ t636,
+ t353,
+ t674,
+ t458,
+ t623,
+ t422,
+ t673,
+ t634,
+ t672,
+ t619,
+ t671,
+ t418,
+ t491,
+ t370,
+ t670,
+ t479,
+ t428,
+ t625,
+ t194,
+ t492,
+ t669,
+ t668,
+ t372,
+ t637,
+ t667,
+ t430,
+ t499,
+ t382,
+ t426,
+ t631,
+ t165,
+ t666,
+ t406,
+ t434,
+ t611,
+ t665,
+ t329,
+ t646,
+ t664,
+ t663,
+ t662,
+ t365,
+ t661,
+ t660,
+ t659,
+ t658,
+ t326,
+ t657,
+ t349,
+ t162,
+ t656,
+ t166,
+ t655,
+ t164,
+ t368,
+ t654,
+ t387,
+ t653,
+ t341,
+ t652,
+ t385,
+ t651,
+ t650,
+ t621,
+ t649,
+ t648,
+ t645,
+ t417,
+ t640,
+ t456,
+ t639,
+ t475,
+ t635,
+ t457,
+ t629,
+ t448,
+ t627,
+ t439,
+ t626,
+ t455,
+ t624,
+ t473,
+ t622,
+ t476,
+ t620,
+ t442,
+ t618,
+ t450,
+ t617,
+ t446,
+ t614,
+ t407,
+ t613,
+ t462,
+ t610,
+ t607,
+ t263,
+ t225,
+ t606,
+ t261,
+ t605,
+ t603,
+ t602,
+ t383,
+ t600,
+ t599,
+ t477,
+ t334,
+ t337,
+ t598,
+ t596,
+ t593,
+ t255,
+ t592,
+ t591,
+ t589,
+ t219,
+ t588,
+ t587,
+ t586,
+ t585,
+ t584,
+ t583,
+ t582,
+ t577,
+ t575,
+ t181,
+ t197,
+ t574,
+ t367,
+ t573,
+ t572,
+ t571,
+ t570,
+ t569,
+ t568,
+ t154,
+ t567,
+ t566,
+ t565,
+ t155,
+ t564,
+ t563,
+ t562,
+ t561,
+ t560,
+ t559,
+ t558,
+ t557,
+ t556,
+ t153,
+ t555,
+ t554,
+ t553,
+ t552,
+ t551,
+ t550,
+ t549,
+ t548,
+ t547,
+ t546,
+ t545,
+ t544,
+ t543,
+ t542,
+ t541,
+ t177,
+ t540,
+ t539,
+ t348,
+ t538,
+ t537,
+ t536,
+ t535,
+ t534,
+ t533,
+ t532,
+ t347,
+ t531,
+ t530,
+ t529,
+ t528,
+ t527,
+ t421,
+ t526,
+ t525,
+ t524,
+ t436,
+ t523,
+ t391,
+ t522,
+ t429,
+ t521,
+ t520,
+ t404,
+ t519,
+ t518,
+ t517,
+ t516,
+ t515,
+ t399,
+ t514,
+ t513,
+ t512,
+ t511,
+ t510,
+ t495,
+ t482,
+ t469,
+ t466,
+ t460,
+ t459,
+ t451,
+ t443,
+ t435,
+ t424,
+ t416,
+ t413,
+ t411,
+ t409,
+ t405,
+ t400,
+ t397,
+ t394,
+ t393,
+ t389,
+ t388,
+ t378,
+ t362,
+ t360,
+ t191,
+ t174,
+ t173;
+ t505 = z*z;
+ t502 = t505*z;
+ t494 = RATIONAL(1.0,32.0);
+ t386 = t494*t502;
+ t503 = x*x;
+ t481 = RATIONAL(-1.0,160.0);
+ t340 = t481*t503;
+ t259 = z*t340;
+ t706 = t386+t259;
+ t487 = RATIONAL(-3.0,160.0);
+ t590 = t487*t505;
+ t265 = x*t590;
+ t504 = y*y;
+ t486 = RATIONAL(3.0,160.0);
+ t339 = t486*t504;
+ t239 = x*t339;
+ t594 = t265+t239;
+ t601 = t487*t503;
+ t267 = z*t601;
+ t729 = t594+t267;
+ t331 = t481*t505;
+ t246 = x*t331;
+ t498 = RATIONAL(-1.0,32.0);
+ t501 = t503*x;
+ t381 = t498*t501;
+ t728 = t246+t381;
+ t644 = x*z;
+ t609 = y*t644;
+ t157 = RATIONAL(9.0,1000.0)*t609;
+ t727 = RATIONAL(73.0,4000.0)+t157;
+ t488 = RATIONAL(1.0,160.0);
+ t346 = t488*t505;
+ t262 = x*t346;
+ t726 = t381+t262;
+ t496 = RATIONAL(-1.0,96.0);
+ t379 = t496*t501;
+ t500 = RATIONAL(3.0,80.0);
+ t352 = t500*t503;
+ t725 = t379+t352;
+ t472 = RATIONAL(-9.0,1000.0);
+ t612 = y*t472;
+ t465 = RATIONAL(-41.0,750.0);
+ t724 = t465*z+x*t612;
+ t723 = RATIONAL(-67.0,4000.0)+t157;
+ t214 = z*t612;
+ t159 = x*t214;
+ t722 = RATIONAL(71.0,2000.0)+t159;
+ t369 = t494*t501;
+ t721 = t246+t369;
+ t506 = t504*y;
+ t350 = t498*t506;
+ t222 = y*t346;
+ t332 = t488*t503;
+ t236 = y*t332;
+ t579 = t222+t236;
+ t720 = t350+t579;
+ t415 = RATIONAL(183.0,4000.0);
+ t433 = RATIONAL(37.0,2000.0);
+ t633 = y*t433;
+ t719 = t415*x+z*t633;
+ t497 = RATIONAL(1.0,96.0);
+ t380 = t497*t501;
+ t718 = t380+t265;
+ t384 = t500*t504;
+ t356 = t496*t506;
+ t717 = t384+t356;
+ t152 = RATIONAL(27.0,1000.0)*t609;
+ t716 = RATIONAL(-59.0,1000.0)+t152;
+ t221 = z*t332;
+ t371 = t498*t502;
+ t715 = t221+t371;
+ t156 = RATIONAL(3.0,1000.0)*t609;
+ t714 = RATIONAL(49.0,1000.0)+t156;
+ t467 = RATIONAL(-3.0,1000.0);
+ t615 = x*t467;
+ t196 = z*t615;
+ t158 = y*t196;
+ t713 = RATIONAL(469.0,4000.0)+t158;
+ t333 = t486*t505;
+ t251 = x*t333;
+ t608 = t239+t251;
+ t712 = t608+t380;
+ t711 = t159+RATIONAL(-59.0,2000.0);
+ t240 = y*t340;
+ t580 = t222+t240;
+ t373 = t494*t506;
+ t710 = t580+t373;
+ t709 = t371+t259;
+ t708 = RATIONAL(49.0,4000.0)+t158;
+ t342 = t481*t504;
+ t264 = x*t342;
+ t581 = t264+t262;
+ t707 = t581+t386;
+ t344 = t486*t503;
+ t268 = z*t344;
+ t359 = t497*t502;
+ t705 = t268+t359;
+ t410 = RATIONAL(141.0,2000.0);
+ t440 = RATIONAL(-31.0,1000.0);
+ t638 = y*t440;
+ t704 = x*t638+t410*z;
+ t595 = t487*t504;
+ t272 = z*t595;
+ t703 = t246+t272;
+ t471 = RATIONAL(11.0,500.0);
+ t647 = x*y;
+ t395 = RATIONAL(-167.0,12000.0);
+ t702 = t471*t647+t395*z;
+ t701 = t415*z+x*t633;
+ t271 = x*t595;
+ t578 = t271+t265;
+ t700 = t380+t578;
+ t480 = RATIONAL(-9.0,250.0);
+ t641 = z*t480;
+ t396 = RATIONAL(281.0,12000.0);
+ t699 = y*t641+t396*x;
+ t243 = y*t331;
+ t576 = t243+t236;
+ t698 = t576+t373;
+ t343 = t488*t504;
+ t230 = z*t343;
+ t697 = t230+t706;
+ t696 = t156+RATIONAL(-23.0,500.0);
+ t273 = y*t590;
+ t270 = y*t601;
+ t597 = t273+t270;
+ t354 = t497*t506;
+ t695 = t597+t354;
+ t694 = z*t638+t410*x;
+ t392 = RATIONAL(-607.0,12000.0);
+ t470 = RATIONAL(-1.0,2000.0);
+ t643 = z*t470;
+ t693 = y*t643+t392*x;
+ t692 = t470*t647+t392*z;
+ t691 = t157+RATIONAL(-97.0,4000.0);
+ t453 = RATIONAL(-97.0,3000.0);
+ t454 = RATIONAL(-37.0,1000.0);
+ t690 = t453*y+t454*t644;
+ t628 = z*t471;
+ t689 = t395*x+y*t628;
+ t688 = t472*t644+t465*y;
+ t687 = RATIONAL(7.0,250.0)+t159;
+ t686 = t267+t359;
+ t685 = RATIONAL(143.0,2000.0)+t156;
+ t419 = RATIONAL(-79.0,2000.0);
+ t489 = RATIONAL(-1.0,20.0);
+ t420 = RATIONAL(43.0,2000.0);
+ t684 = t420*t644+t419*y+t489*t504;
+ t490 = RATIONAL(1.0,40.0);
+ t355 = t490*t505;
+ t431 = RATIONAL(13.0,1000.0);
+ t425 = RATIONAL(-29.0,6000.0);
+ t683 = t355+t425*z+t431*t647;
+ t377 = t494*t505;
+ t682 = t396*z+t377+t480*t647;
+ t478 = RATIONAL(-7.0,250.0);
+ t630 = y*t478;
+ t390 = RATIONAL(-137.0,12000.0);
+ t681 = t390*z+x*t630+t346;
+ t402 = RATIONAL(323.0,4000.0);
+ t437 = RATIONAL(-13.0,2000.0);
+ t680 = t402*y+t339+t437*t644;
+ t403 = RATIONAL(-107.0,4000.0);
+ t463 = RATIONAL(-17.0,500.0);
+ t616 = x*t463;
+ t464 = RATIONAL(-11.0,160.0);
+ t328 = t464*t505;
+ t679 = y*t616+t403*z+t328;
+ t485 = RATIONAL(-9.0,160.0);
+ t345 = t485*t505;
+ t412 = RATIONAL(-137.0,4000.0);
+ t483 = RATIONAL(2.0,125.0);
+ t642 = y*t483;
+ t678 = t345+t412*z+x*t642;
+ t441 = RATIONAL(-49.0,2000.0);
+ t493 = RATIONAL(-3.0,40.0);
+ t468 = RATIONAL(-7.0,2000.0);
+ t677 = t468*t647+t493*t505+t441*z;
+ t474 = RATIONAL(-1.0,500.0);
+ t398 = RATIONAL(299.0,4000.0);
+ t676 = t377+t474*t647+t398*z;
+ t632 = y*t420;
+ t675 = x*t632+t489*t505+t419*z;
+ t636 = z*t474;
+ t353 = t494*t503;
+ t674 = t398*x+t353+y*t636;
+ t458 = RATIONAL(19.0,1000.0);
+ t623 = z*t458;
+ t422 = RATIONAL(53.0,1000.0);
+ t673 = t422*y+t384+x*t623;
+ t634 = z*t468;
+ t672 = x*t634+t441*y+t493*t504;
+ t619 = y*t437;
+ t671 = x*t619+t333+t402*z;
+ t418 = RATIONAL(-87.0,2000.0);
+ t491 = RATIONAL(-1.0,16.0);
+ t370 = t491*t505;
+ t670 = t370+y*t615+t418*z;
+ t479 = RATIONAL(-4.0,375.0);
+ t428 = RATIONAL(31.0,2000.0);
+ t625 = y*t428;
+ t194 = z*t625;
+ t492 = RATIONAL(-1.0,80.0);
+ t669 = t492*t503+t479*x+t194;
+ t668 = z*t632+t419*x+t489*t503;
+ t372 = t490*t504;
+ t637 = z*t431;
+ t667 = t372+x*t637+t425*y;
+ t430 = RATIONAL(-17.0,3000.0);
+ t499 = RATIONAL(1.0,80.0);
+ t382 = t499*t503;
+ t426 = RATIONAL(-19.0,2000.0);
+ t631 = y*t426;
+ t165 = z*t631;
+ t666 = t430*x+t382+t165;
+ t406 = RATIONAL(53.0,12000.0);
+ t434 = RATIONAL(49.0,2000.0);
+ t611 = z*t434;
+ t665 = y*t611+t344+t406*x;
+ t329 = t464*t503;
+ t646 = y*z;
+ t664 = t329+t403*x+t463*t646;
+ t663 = t478*t644+t390*y+t343;
+ t662 = t344+t402*x+z*t619;
+ t365 = t490*t503;
+ t661 = t365+t425*x+y*t637;
+ t660 = t434*t647+t406*z+t333;
+ t659 = t422*x+t352+y*t623;
+ t658 = t332+z*t630+t390*x;
+ t326 = t464*t504;
+ t657 = z*t616+t403*y+t326;
+ t349 = t499*t504;
+ t162 = t426*t644;
+ t656 = t430*y+t349+t162;
+ t166 = x*t625;
+ t655 = t166+t479*z+t492*t505;
+ t164 = x*t631;
+ t368 = t499*t505;
+ t654 = t164+t430*z+t368;
+ t387 = t491*t503;
+ t653 = t467*t646+t387+t418*x;
+ t341 = t485*t504;
+ t652 = t483*t644+t412*y+t341;
+ t385 = t500*t505;
+ t651 = t458*t647+t385+t422*z;
+ t650 = t406*y+t339+x*t611;
+ t621 = y*t454;
+ t649 = z*t621+t453*x+t725;
+ t648 = t365+t355+t372+RATIONAL(-61.0,4000.0)+t158;
+ t645 = z+y;
+ t417 = RATIONAL(111.0,2000.0);
+ t640 = z*t417;
+ t456 = RATIONAL(-21.0,2000.0);
+ t639 = y*t456;
+ t475 = RATIONAL(-9.0,500.0);
+ t635 = x*t475;
+ t457 = RATIONAL(27.0,2000.0);
+ t629 = z*t457;
+ t448 = RATIONAL(-23.0,2000.0);
+ t627 = z*t448;
+ t439 = RATIONAL(-39.0,2000.0);
+ t626 = y*t439;
+ t455 = RATIONAL(-27.0,1000.0);
+ t624 = x*t455;
+ t473 = RATIONAL(-3.0,2000.0);
+ t622 = z*t473;
+ t476 = RATIONAL(-1.0,250.0);
+ t620 = y*t476;
+ t442 = RATIONAL(-17.0,2000.0);
+ t618 = x*t442;
+ t450 = RATIONAL(93.0,2000.0);
+ t617 = z*t450;
+ t446 = RATIONAL(33.0,2000.0);
+ t614 = y*t446;
+ t407 = RATIONAL(129.0,2000.0);
+ t613 = y*t407;
+ t462 = RATIONAL(-1.0,1000.0);
+ t610 = z*t462;
+ t607 = t264+t230;
+ t263 = y*t344;
+ t225 = y*t333;
+ t606 = t263+t225;
+ t261 = x*t343;
+ t605 = t246+t261;
+ t603 = t270+t268;
+ t602 = t273+t263;
+ t383 = t494*t504;
+ t600 = t383+t356;
+ t599 = t271+t251;
+ t477 = RATIONAL(7.0,160.0);
+ t334 = t477*t505;
+ t337 = t477*t503;
+ t598 = t334+t337;
+ t596 = t261+t262;
+ t593 = t243+t240;
+ t255 = z*t342;
+ t592 = t261+t255;
+ t591 = t270+t225;
+ t589 = t272+t267;
+ t219 = z*t339;
+ t588 = t219+t271;
+ t587 = t373+t491*t504;
+ t586 = t383+t350;
+ t585 = t263+t267;
+ t584 = t239+t272;
+ t583 = t219+t268;
+ t582 = t379+t353;
+ t577 = t221+t255;
+ t575 = t221+t230;
+ t181 = y*t624;
+ t197 = t462*t647;
+ t574 = t379+t251+t255;
+ t367 = t496*t502;
+ t573 = t264+t367+t268;
+ t572 = t272+t726;
+ t571 = t239+t715;
+ t570 = t219+t726;
+ t569 = t261+t686;
+ t568 = t709+t728;
+ t154 = RATIONAL(1.0,1000.0)*t609;
+ t567 = t154+t350+t593;
+ t566 = t221+t386+t728;
+ t565 = t380+t367+t267+t251;
+ t155 = z*t197;
+ t564 = t155+t373+t579;
+ t563 = t221+t225+t717;
+ t562 = t272+t367+t225+t354;
+ t561 = t243+t219+t367+t373;
+ t560 = t219+t273+t356+t359;
+ t559 = t265+t379+t705;
+ t558 = t262+t369+t709;
+ t557 = t340+t255+t718;
+ t556 = t331+t264+t686;
+ t153 = z*t181;
+ t555 = t153+t379+t578;
+ t554 = t350+t576+t697;
+ t553 = t558+t607;
+ t552 = t380+t356+t591+t594;
+ t551 = t560+t585;
+ t550 = t386+t369+t575+t596;
+ t549 = t380+t272+t599+t705;
+ t548 = t566+t592;
+ t547 = t264+t255+t568;
+ t546 = t566+t607;
+ t545 = t261+t230+t568;
+ t544 = t559+t584;
+ t543 = t558+t592;
+ t542 = t697+t710;
+ t541 = t562+t603;
+ t177 = t428*t644;
+ t540 = t492*t504+t479*y+t177+t354+t723;
+ t539 = t354+t359+t583+t606;
+ t348 = t477*t504;
+ t538 = x*t643+t356+t348+t392*y+t722;
+ t537 = t441*x+t493*t503+t369+y*t634+t713;
+ t536 = t350+t369+t580+t605;
+ t535 = t565+t588;
+ t534 = t562+t585;
+ t533 = t381+t581+t698;
+ t532 = t379+t354+t599+t602;
+ t347 = t485*t503;
+ t531 = t347+t369+z*t642+t412*x+t685;
+ t530 = t453*z+x*t621+t385+t367+t691;
+ t529 = t371+t577+t710;
+ t528 = t395*y+x*t628+t354+t342+t687;
+ t527 = t433*t644+t350+t348+t415*y+t696;
+ t421 = RATIONAL(79.0,3000.0);
+ t526 = x*t610+t421*y+t695+t708;
+ t525 = t421*x+y*t610+t700+t708;
+ t524 = t197+t421*z+t359+t589+t708;
+ t436 = RATIONAL(-59.0,4000.0);
+ t523 = t436+t153+t465*x+t214+t712;
+ t391 = RATIONAL(-691.0,12000.0);
+ t522 = t391*y+t476*t644+t600+t606+t714;
+ t429 = RATIONAL(-33.0,2000.0);
+ t521 = t264+t429*x+t387+t455*t646+t721+t727;
+ t520 = t155+t398*y+x*t636+t434+t586+t593;
+ t404 = RATIONAL(191.0,4000.0);
+ t519 = t475*t646+t404*x+t381+t353+t596+t711;
+ t518 = t429*y+z*t624+t587+t593+t727;
+ t517 = z*t635+t404*y+t579+t586+t711;
+ t516 = t370+t181+t429*z+t255+t706+t727;
+ t515 = t396*y+x*t641+t597+t600+t716;
+ t399 = RATIONAL(397.0,4000.0);
+ t514 = t154+t418*y+t196+t399+t579+t587;
+ t513 = t377+y*t635+t404*z+t371+t575+t711;
+ t512 = t377+t391*z+t367+x*t620+t583+t714;
+ t511 = t391*x+z*t620+t582+t608+t714;
+ t510 = t410*y+t350+t440*t644+t648;
+ t495 = RATIONAL(1.0,20.0);
+ t482 = RATIONAL(-7.0,160.0);
+ t469 = RATIONAL(-17.0,375.0);
+ t466 = RATIONAL(13.0,500.0);
+ t460 = RATIONAL(-13.0,160.0);
+ t459 = RATIONAL(21.0,250.0);
+ t451 = RATIONAL(-47.0,1500.0);
+ t443 = RATIONAL(-39.0,4000.0);
+ t435 = RATIONAL(29.0,2000.0);
+ t424 = RATIONAL(-57.0,2000.0);
+ t416 = RATIONAL(147.0,2000.0);
+ t413 = RATIONAL(157.0,2000.0);
+ t411 = RATIONAL(-129.0,4000.0);
+ t409 = RATIONAL(-437.0,6000.0);
+ t405 = RATIONAL(133.0,2000.0);
+ t400 = RATIONAL(-191.0,4000.0);
+ t397 = RATIONAL(307.0,6000.0);
+ t394 = RATIONAL(-449.0,12000.0);
+ t393 = RATIONAL(349.0,12000.0);
+ t389 = RATIONAL(-539.0,12000.0);
+ t388 = RATIONAL(319.0,12000.0);
+ t378 = t495*t504;
+ t362 = t495*t503;
+ t360 = t495*t505;
+ t191 = z*t639;
+ t174 = x*t639;
+ t173 = t456*t644;
+ coeff_I_m1_m1_m1 = t362+t360+t451*z+t378+t356+t367+RATIONAL(-269.0,4000.0
+)+(t451+t416*z)*y+(t451+t645*t416)*x+t555+t589+t597;
+ coeff_I_0_m1_m1 = t460*t503+z*t613+t334+t443*x+t538+t369+t573+t602+t692+
+t703;
+ coeff_I_p1_m1_m1 = t413*x+t530+t261+y*t640+t382+t268+t572+t602+t690+t717;
+ coeff_I_p2_m1_m1 = t344+t515+y*t617+t394*x+t565+t584+t682;
+ coeff_I_m1_0_m1 = t460*t504+t407*t644+t443*y+t379+t561+t240+t598+t692+
+t693+t722+t729;
+ coeff_I_0_0_m1 = y*t618+t409*z+t385+t236+t268+t537+t561+t605+t672;
+ coeff_I_p1_0_m1 = t512+t533+t657+t662;
+ coeff_I_p2_0_m1 = t518+t535+t666+t683;
+ coeff_I_m1_p1_m1 = t219+t530+t349+t413*y+x*t640+t649+t720+t729;
+ coeff_I_0_p1_m1 = t512+t536+t664+t680;
+ coeff_I_p1_p1_m1 = x*t614+t469*z+t510+t570+t573+t580+t694;
+ coeff_I_p2_p1_m1 = t517+t535+t658+t660;
+ coeff_I_m1_p2_m1 = x*t617+t394*y+t534+t339+t578+t582+t682+t699+t716;
+ coeff_I_0_p2_m1 = t521+t541+t656+t683;
+ coeff_I_p1_p2_m1 = t519+t541+t660+t663;
+ coeff_I_p2_p2_m1 = t473*t647+t368+t523+t397*z+t534+t688;
+ coeff_I_m1_m1_0 = t271+x*t613+t460*t505+t443*z+t538+t337+t574+t591+t693+
+t706;
+ coeff_I_0_m1_0 = z*t618+t409*y+t263+t255+t537+t563+t677+t707;
+ coeff_I_p1_m1_0 = t522+t548+t662+t679;
+ coeff_I_p2_m1_0 = t516+t552+t666+t667;
+ coeff_I_m1_0_0 = t442*t646+t409*x+t542+t608+t672+t677+t713+t725;
+ coeff_I_0_0_0 = t164+t329+t326+RATIONAL(177.0,1000.0)+(x+t645)*RATIONAL(
+-161.0,4000.0)+t550+t165+t162+t328+t564;
+ coeff_I_p1_0_0 = t514+t365+t191+t459*x+t546+t670;
+ coeff_I_p2_0_0 = t332+y*t627+t393*x+t542+t652+t678+t685+t700;
+ coeff_I_m1_p1_0 = t511+t554+t679+t680;
+ coeff_I_0_p1_0 = t372+t550+t459*y+t173+t399+t567+t653+t670;
+ coeff_I_p1_p1_0 = t345+t520+t166+t400*z+t546+t674;
+ coeff_I_p2_p1_0 = t525+t554+t673+t675;
+ coeff_I_m1_p2_0 = t516+t532+t656+t661;
+ coeff_I_0_p2_0 = x*t627+t393*y+t531+t343+t577+t678+t695+t707;
+ coeff_I_p1_p2_0 = t526+t548+t659+t675;
+ coeff_I_p2_p2_0 = t528+t239+t482*t505+t411*z+t174+t557+t602+t689+t706;
+ coeff_I_m1_m1_p1 = t270+t413*z+t417*t647+t368+t371+t230+t563+t599+t649+
+t690+t691;
+ coeff_I_0_m1_p1 = t522+t553+t664+t671;
+ coeff_I_p1_m1_p1 = t446*t644+t545+t356+t469*y+t606+t648+t694+t704;
+ coeff_I_p2_m1_p1 = t513+t552+t650+t658;
+ coeff_I_m1_0_p1 = t511+t529+t657+t671;
+ coeff_I_0_0_p1 = t514+t355+t459*z+t174+t543+t653;
+ coeff_I_p1_0_p1 = t177+t547+t341+t434+t400*y+t564+t674+t676;
+ coeff_I_p2_0_p1 = t525+t529+t651+t684;
+ coeff_I_m1_p1_p1 = t469*x+z*t614+t510+t571+t574+t576+t704;
+ coeff_I_0_p1_p1 = t347+t520+t194+t400*x+t543+t676;
+ coeff_I_p1_p1_p1 = t405*z+t352+RATIONAL(-193.0,4000.0)+t384+t385+(t405+
+t435*z)*y+(t405+t645*t435)*x+t547+t567;
+ coeff_I_p2_p1_p1 = t271+t334+t527+y*t629+t388*x+t557+t576+t701+t715;
+ coeff_I_m1_p2_p1 = t513+t532+t663+t665;
+ coeff_I_0_p2_p1 = t526+t553+t651+t668;
+ coeff_I_p1_p2_p1 = t545+x*t629+t388*y+t342+t598+t695+t696+t701+t719;
+ coeff_I_p2_p2_p1 = t360+t540+x*t626+t466*z+t230+t571+t602+t669+t718;
+ coeff_I_m1_m1_p2 = t515+t450*t647+t394*z+t353+t333+t559+t588+t699;
+ coeff_I_0_m1_p2 = t521+t551+t654+t667;
+ coeff_I_p1_m1_p2 = t519+t551+t650+t681;
+ coeff_I_p2_m1_p2 = t349+x*t622+t523+t397*y+t560+t603+t724;
+ coeff_I_m1_0_p2 = t518+t544+t654+t661;
+ coeff_I_0_0_p2 = t448*t647+t393*z+t346+t531+t569+t652+t698+t703;
+ coeff_I_p1_0_p2 = t524+t533+t659+t684;
+ coeff_I_p2_0_p2 = t331+t482*t504+t340+t549+t373+t411*y+t173+t593+t687+
+t689+t702;
+ coeff_I_m1_p1_p2 = t517+t544+t665+t681;
+ coeff_I_0_p1_p2 = t524+t536+t668+t673;
+ coeff_I_p1_p1_p2 = t527+t337+t457*t647+t388*z+t556+t572+t580+t719;
+ coeff_I_p2_p1_p2 = t378+t549+t439*t644+t466*y+t655+t669+t720+t723;
+ coeff_I_m1_p2_p2 = t436+t382+y*t622+t539+t397*x+t555+t688+t724;
+ coeff_I_0_p2_p2 = t219+t528+t482*t503+t411*x+t191+t556+t591+t702+t721;
+ coeff_I_p1_p2_p2 = t540+z*t626+t362+t466*x+t569+t570+t591+t655;
+ coeff_I_p2_p2_p2 = t389*z+t152+RATIONAL(77.0,2000.0)+(t424*z+t389)*y+(
+t504+t503+t505)*t487+(t389+t645*t424)*x+t539+t712;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..a19f612
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c
@@ -0,0 +1,501 @@
+fp t893,
+ t883,
+ t804,
+ t892,
+ t816,
+ t989,
+ t894,
+ t800,
+ t988,
+ t818,
+ t987,
+ t871,
+ t778,
+ t735,
+ t821,
+ t986,
+ t806,
+ t886,
+ t784,
+ t953,
+ t785,
+ t985,
+ t813,
+ t984,
+ t887,
+ t794,
+ t983,
+ t811,
+ t982,
+ t796,
+ t935,
+ t981,
+ t817,
+ t980,
+ t809,
+ t979,
+ t885,
+ t789,
+ t791,
+ t810,
+ t951,
+ t978,
+ t977,
+ t801,
+ t976,
+ t975,
+ t948,
+ t974,
+ t970,
+ t736,
+ t808,
+ t973,
+ t972,
+ t971,
+ t969,
+ t864,
+ t766,
+ t868,
+ t776,
+ t875,
+ t780,
+ t968,
+ t812,
+ t967,
+ t743,
+ t745,
+ t966,
+ t738,
+ t739,
+ t965,
+ t819,
+ t964,
+ t742,
+ t963,
+ t962,
+ t961,
+ t960,
+ t959,
+ t740,
+ t744,
+ t958,
+ t955,
+ t741,
+ t954,
+ t952,
+ t950,
+ t949,
+ t947,
+ t946,
+ t945,
+ t944,
+ t943,
+ t940,
+ t939,
+ t865,
+ t938,
+ t937,
+ t936,
+ t878,
+ t732,
+ t934,
+ t933,
+ t932,
+ t931,
+ t733,
+ t930,
+ t929,
+ t928,
+ t927,
+ t926,
+ t925,
+ t924,
+ t730,
+ t923,
+ t922,
+ t921,
+ t734,
+ t920,
+ t919,
+ t918,
+ t917,
+ t916,
+ t731,
+ t915,
+ t914,
+ t913,
+ t912,
+ t911,
+ t910,
+ t909,
+ t908,
+ t907,
+ t737,
+ t906,
+ t905,
+ t904,
+ t903,
+ t902,
+ t901,
+ t814,
+ t900,
+ t899,
+ t898,
+ t897,
+ t896,
+ t895,
+ t884,
+ t882,
+ t880,
+ t879,
+ t877,
+ t876,
+ t874,
+ t873,
+ t872,
+ t869,
+ t867,
+ t866,
+ t863,
+ t861,
+ t860,
+ t859,
+ t858,
+ t856,
+ t855,
+ t854,
+ t852,
+ t851,
+ t850,
+ t847,
+ t846,
+ t841,
+ t838,
+ t833,
+ t803,
+ t802,
+ t799,
+ t797,
+ t795,
+ t793,
+ t792,
+ t790,
+ t788,
+ t787,
+ t783,
+ t782,
+ t781,
+ t779,
+ t777,
+ t775,
+ t774,
+ t773,
+ t772,
+ t771,
+ t770,
+ t769,
+ t768,
+ t767,
+ t765,
+ t764,
+ t763,
+ t762,
+ t761,
+ t760,
+ t759,
+ t758,
+ t756,
+ t755,
+ t754,
+ t753,
+ t752,
+ t751,
+ t750,
+ t749,
+ t747,
+ t746;
+ t893 = y*y;
+ t883 = RATIONAL(-1.0,160.0);
+ t804 = t883*t893;
+ t892 = x*x;
+ t816 = RATIONAL(-3.0,32.0)*t892;
+ t989 = t804+t816;
+ t894 = z*z;
+ t800 = t883*t894;
+ t988 = t800+t989;
+ t818 = RATIONAL(1.0,40.0)*x;
+ t987 = RATIONAL(-17.0,3000.0)+t818;
+ t871 = RATIONAL(-3.0,1000.0);
+ t778 = t871*z;
+ t735 = y*t778;
+ t821 = RATIONAL(3.0,40.0)*x;
+ t986 = t735+t821+RATIONAL(53.0,1000.0);
+ t806 = RATIONAL(-1.0,32.0)*t892;
+ t886 = RATIONAL(-3.0,160.0);
+ t784 = t886*t894;
+ t953 = t806+t784;
+ t785 = t886*t893;
+ t985 = t953+t785;
+ t813 = RATIONAL(-9.0,80.0)*x;
+ t984 = RATIONAL(-137.0,4000.0)+t813;
+ t887 = RATIONAL(1.0,160.0);
+ t794 = t887*t894;
+ t983 = t794+t989;
+ t811 = RATIONAL(3.0,80.0)*x;
+ t982 = RATIONAL(53.0,12000.0)+t811;
+ t796 = t887*t893;
+ t935 = t796+t816;
+ t981 = t935+t794;
+ t817 = RATIONAL(1.0,20.0)*x;
+ t980 = RATIONAL(-29.0,6000.0)+t817;
+ t809 = RATIONAL(1.0,80.0)*x;
+ t979 = RATIONAL(-137.0,12000.0)+t809;
+ t885 = RATIONAL(3.0,160.0);
+ t789 = t885*t894;
+ t791 = t885*t893;
+ t810 = RATIONAL(1.0,32.0)*t892;
+ t951 = t791+t810;
+ t978 = t789+t951;
+ t977 = t784+t785+t810;
+ t801 = RATIONAL(-11.0,80.0)*x;
+ t976 = RATIONAL(-107.0,4000.0)+t801;
+ t975 = t800+t935;
+ t948 = t789+t806;
+ t974 = t791+t948;
+ t970 = y*z;
+ t736 = RATIONAL(3.0,1000.0)*t970;
+ t808 = RATIONAL(7.0,80.0)*x;
+ t973 = t736+RATIONAL(183.0,4000.0)+t808;
+ t972 = RATIONAL(323.0,4000.0)+t736+t811;
+ t971 = t735+RATIONAL(141.0,2000.0)+t817;
+ t969 = z+y;
+ t864 = RATIONAL(-27.0,1000.0);
+ t766 = t864*y;
+ t868 = RATIONAL(-1.0,1000.0);
+ t776 = t868*y;
+ t875 = RATIONAL(-9.0,1000.0);
+ t780 = t875*y;
+ t968 = RATIONAL(-3.0,80.0)*x;
+ t812 = RATIONAL(-1.0,80.0)*x;
+ t967 = t791+t784;
+ t743 = y*t809;
+ t745 = z*t812;
+ t966 = t743+t745;
+ t738 = z*t968;
+ t739 = y*t968;
+ t965 = t738+t739;
+ t819 = RATIONAL(3.0,32.0)*t892;
+ t964 = t735+t819;
+ t742 = y*t812;
+ t963 = t742+t738;
+ t962 = t800+t796;
+ t961 = t745+t739;
+ t960 = t804+t794;
+ t959 = t800+t804;
+ t740 = y*t811;
+ t744 = z*t809;
+ t958 = t740+t744;
+ t955 = t742+t745;
+ t741 = z*t811;
+ t954 = t741+t743;
+ t952 = t740+t738;
+ t950 = t789+t785;
+ t949 = t736+t819;
+ t947 = t740+t745;
+ t946 = t742+t744;
+ t945 = t740+t741;
+ t944 = t743+t738;
+ t943 = RATIONAL(-1.0,8.0)*x+t819;
+ t940 = t744+t739;
+ t939 = t796+t794;
+ t865 = RATIONAL(-21.0,2000.0);
+ t938 = t742+t865*z;
+ t937 = t743+t744;
+ t936 = t741+t739;
+ t878 = RATIONAL(-9.0,500.0);
+ t732 = z*t780;
+ t934 = t878*z+t743+t732;
+ t933 = RATIONAL(1.0,10.0)*x+t965;
+ t932 = t744+t732+t878*y;
+ t931 = t821+t955;
+ t733 = RATIONAL(9.0,1000.0)*t970;
+ t930 = t733+t745+t766;
+ t929 = t817+t937;
+ t928 = t733+t742+t864*z;
+ t927 = t818+t945;
+ t926 = t738+t810+t950;
+ t925 = t741+t791+t953;
+ t924 = RATIONAL(-79.0,2000.0)+RATIONAL(-1.0,10.0)*x+t964;
+ t730 = z*t766;
+ t923 = t730+t985;
+ t922 = t739+t784+t951;
+ t921 = RATIONAL(-49.0,2000.0)+RATIONAL(-3.0,20.0)*x+t964;
+ t734 = RATIONAL(1.0,1000.0)*t970;
+ t920 = t734+t988;
+ t919 = t949+t962;
+ t918 = t736+t977;
+ t917 = RATIONAL(-607.0,12000.0)+t806+t808+t732;
+ t916 = t740+t785+t948;
+ t731 = RATIONAL(27.0,1000.0)*t970;
+ t915 = t731+t978;
+ t914 = t949+t960;
+ t913 = t745+t975;
+ t912 = t738+t983;
+ t911 = RATIONAL(-167.0,12000.0)+t810+t812+t732;
+ t910 = t733+t981;
+ t909 = t733+t810+RATIONAL(-4.0,375.0)+RATIONAL(-1.0,40.0)*x;
+ t908 = t741+t983;
+ t907 = t732+t819+t959;
+ t737 = z*t776;
+ t906 = t737+t819+t939;
+ t905 = t744+t975;
+ t904 = t735+t974;
+ t903 = t733+RATIONAL(-97.0,3000.0)+t806+t821;
+ t902 = t735+RATIONAL(79.0,3000.0)+t977;
+ t901 = RATIONAL(-41.0,750.0)+t730+t978;
+ t814 = RATIONAL(1.0,16.0)*x;
+ t900 = RATIONAL(299.0,4000.0)+t737+t814+t988;
+ t899 = RATIONAL(281.0,12000.0)+t731+t814+t985;
+ t898 = RATIONAL(-691.0,12000.0)+t736+t814+t974;
+ t897 = RATIONAL(191.0,4000.0)+t732+t814+t981;
+ t896 = t733+RATIONAL(-33.0,2000.0)+t943+t959;
+ t895 = t734+RATIONAL(-87.0,2000.0)+t939+t943;
+ t884 = RATIONAL(2.0,125.0);
+ t882 = RATIONAL(-9.0,250.0);
+ t880 = RATIONAL(-7.0,250.0);
+ t879 = RATIONAL(-1.0,250.0);
+ t877 = RATIONAL(-1.0,500.0);
+ t876 = RATIONAL(-3.0,2000.0);
+ t874 = RATIONAL(11.0,500.0);
+ t873 = RATIONAL(-1.0,2000.0);
+ t872 = RATIONAL(-7.0,2000.0);
+ t869 = RATIONAL(-17.0,500.0);
+ t867 = RATIONAL(19.0,1000.0);
+ t866 = RATIONAL(27.0,2000.0);
+ t863 = RATIONAL(-37.0,1000.0);
+ t861 = RATIONAL(93.0,2000.0);
+ t860 = RATIONAL(-23.0,2000.0);
+ t859 = RATIONAL(33.0,2000.0);
+ t858 = RATIONAL(-17.0,2000.0);
+ t856 = RATIONAL(-31.0,1000.0);
+ t855 = RATIONAL(-39.0,2000.0);
+ t854 = RATIONAL(-13.0,2000.0);
+ t852 = RATIONAL(49.0,2000.0);
+ t851 = RATIONAL(37.0,2000.0);
+ t850 = RATIONAL(13.0,1000.0);
+ t847 = RATIONAL(31.0,2000.0);
+ t846 = RATIONAL(-19.0,2000.0);
+ t841 = RATIONAL(43.0,2000.0);
+ t838 = RATIONAL(111.0,2000.0);
+ t833 = RATIONAL(129.0,2000.0);
+ t803 = t879*z;
+ t802 = t880*y;
+ t799 = t884*y;
+ t797 = t884*z;
+ t795 = t880*z;
+ t793 = t877*z;
+ t792 = t882*z;
+ t790 = t882*y;
+ t788 = t877*y;
+ t787 = t879*y;
+ t783 = t872*y;
+ t782 = t873*z;
+ t781 = t869*y;
+ t779 = t871*y;
+ t777 = t873*y;
+ t775 = t874*y;
+ t774 = t875*z;
+ t773 = t868*z;
+ t772 = t874*z;
+ t771 = t872*z;
+ t770 = t869*z;
+ t769 = t850*y;
+ t768 = t847*z;
+ t767 = t841*z;
+ t765 = t867*y;
+ t764 = t850*z;
+ t763 = t846*y;
+ t762 = t851*y;
+ t761 = t846*z;
+ t760 = t854*z;
+ t759 = t863*y;
+ t758 = t847*y;
+ t756 = t841*y;
+ t755 = t856*z;
+ t754 = t863*z;
+ t753 = t867*z;
+ t752 = t851*z;
+ t751 = t865*y;
+ t750 = t852*y;
+ t749 = t854*y;
+ t747 = t856*y;
+ t746 = t852*z;
+ coeff_dx_m1_m1_m1 = RATIONAL(-47.0,1500.0)+t969*RATIONAL(147.0,2000.0)+
+t923+t933;
+ coeff_dx_0_m1_m1 = t782+RATIONAL(-13.0,80.0)*x+t777+RATIONAL(-39.0,4000.0
+)+t907+t945;
+ coeff_dx_p1_m1_m1 = t759+RATIONAL(157.0,2000.0)+t754+t910+t927;
+ coeff_dx_p2_m1_m1 = t792+t790+t811+RATIONAL(-449.0,12000.0)+t915+t965;
+ coeff_dx_m1_0_m1 = t777+t833*z+t917+t963+t967;
+ coeff_dx_0_0_m1 = t771+t858*y+t921+t954+t962;
+ coeff_dx_p1_0_m1 = t787+t770+t743+t908+t972;
+ coeff_dx_p2_0_m1 = t769+t926+t928+t987;
+ coeff_dx_m1_p1_m1 = t838*z+t759+t903+t944+t967;
+ coeff_dx_0_p1_m1 = t760+t742+t787+t741+t919+t976;
+ coeff_dx_p1_p1_m1 = t859*y+t742+t755+t908+t971;
+ coeff_dx_p2_p1_m1 = t750+t926+t934+t979;
+ coeff_dx_m1_p2_m1 = t861*z+t790+t899+t952;
+ coeff_dx_0_p2_m1 = t761+t769+t896+t936;
+ coeff_dx_p1_p2_m1 = t795+t750+t897+t936;
+ coeff_dx_p2_p2_m1 = t876*y+t774+t901+t952;
+ coeff_dx_m1_m1_0 = t782+t833*y+t917+t950+t961;
+ coeff_dx_0_m1_0 = t858*z+t783+t921+t958+t960;
+ coeff_dx_p1_m1_0 = t781+t803+t740+t905+t972;
+ coeff_dx_p2_m1_0 = t764+t922+t930+t987;
+ coeff_dx_m1_0_0 = t771+RATIONAL(-437.0,6000.0)+t783+t904+t931;
+ coeff_dx_0_0_0 = t761+t763+t801+RATIONAL(-161.0,4000.0)+t906+t937;
+ coeff_dx_p1_0_0 = t778+t779+RATIONAL(21.0,250.0)+t920+t929;
+ coeff_dx_p2_0_0 = RATIONAL(349.0,12000.0)+t799+t809+t797+t918+t955;
+ coeff_dx_m1_p1_0 = t760+t781+t898+t966;
+ coeff_dx_0_p1_0 = t779+t744+t895+t938;
+ coeff_dx_p1_p1_0 = t758+t793+t900+t946;
+ coeff_dx_p2_p1_0 = t756+t753+t902+t966;
+ coeff_dx_m1_p2_0 = t761+t916+t930+t980;
+ coeff_dx_0_p2_0 = t860*z+t799+t914+t940+t984;
+ coeff_dx_p1_p2_0 = t773+t739+t756+t905+t986;
+ coeff_dx_p2_p2_0 = t772+t751+t911+t947+t967;
+ coeff_dx_m1_m1_p1 = t838*y+t754+t903+t940+t950;
+ coeff_dx_0_m1_p1 = t803+t749+t914+t947+t976;
+ coeff_dx_p1_m1_p1 = t859*z+t747+t740+t913+t971;
+ coeff_dx_p2_m1_p1 = t746+t922+t932+t979;
+ coeff_dx_m1_0_p1 = t770+t749+t898+t946;
+ coeff_dx_0_0_p1 = t751+t778+t895+t966;
+ coeff_dx_p1_0_p1 = t788+t768+t900+t966;
+ coeff_dx_p2_0_p1 = t767+t765+t902+t946;
+ coeff_dx_m1_p1_p1 = RATIONAL(-17.0,375.0)+t755+t747+t904+t929;
+ coeff_dx_0_p1_p1 = t813+t788+t793+RATIONAL(-191.0,4000.0)+t906+t955;
+ coeff_dx_p1_p1_p1 = RATIONAL(133.0,2000.0)+t969*RATIONAL(29.0,2000.0)+
+t920+t931;
+ coeff_dx_p2_p1_p1 = RATIONAL(319.0,12000.0)+t812+t752+t762+t918+t937;
+ coeff_dx_m1_p2_p1 = t795+t916+t932+t982;
+ coeff_dx_0_p2_p1 = t765+t773+t924+t960+t961;
+ coeff_dx_p1_p2_p1 = t739+t866*z+t762+t913+t973;
+ coeff_dx_p2_p2_p1 = t768+t855*y+t909+t958+t967;
+ coeff_dx_m1_m1_p2 = t792+t861*y+t899+t936;
+ coeff_dx_0_m1_p2 = t764+t763+t896+t952;
+ coeff_dx_p1_m1_p2 = t746+t802+t897+t952;
+ coeff_dx_p2_m1_p2 = t780+t876*z+t901+t936;
+ coeff_dx_m1_0_p2 = t763+t925+t928+t980;
+ coeff_dx_0_0_p2 = t860*y+t797+t919+t944+t984;
+ coeff_dx_p1_0_p2 = t743+t776+t767+t912+t986;
+ coeff_dx_p2_0_p2 = t741+t775+t911+t938+t950;
+ coeff_dx_m1_p1_p2 = t802+t925+t934+t982;
+ coeff_dx_0_p1_p2 = t753+t776+t924+t962+t963;
+ coeff_dx_p1_p1_p2 = t742+t752+t866*y+t912+t973;
+ coeff_dx_p2_p1_p2 = t855*z+t758+t909+t950+t954;
+ coeff_dx_m1_p2_p2 = t774+t780+RATIONAL(307.0,6000.0)+t923+t927;
+ coeff_dx_0_p2_p2 = RATIONAL(-129.0,4000.0)+t775+RATIONAL(-7.0,80.0)*x+
+t772+t907+t965;
+ coeff_dx_p1_p2_p2 = t768+RATIONAL(13.0,500.0)+t758+t910+t933;
+ coeff_dx_p2_p2_p2 = RATIONAL(-539.0,12000.0)+t968+t969*RATIONAL(-57.0,
+2000.0)+t915+t945;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..d6ac5f0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,192 @@
+fp t1525,
+ t1517,
+ t1533,
+ t1520,
+ t1577,
+ t1534,
+ t1515,
+ t1518,
+ t1576,
+ t1510,
+ t1575,
+ t1529,
+ t1514,
+ t1574,
+ t1535,
+ t1512,
+ t1530,
+ t1573,
+ t1511,
+ t1572,
+ t1521,
+ t1571,
+ t1570,
+ t1569,
+ t1568,
+ t1567,
+ t1566,
+ t1519,
+ t1565,
+ t1564,
+ t1563,
+ t1562,
+ t1561,
+ t1560,
+ t1559,
+ t1558,
+ t1557,
+ t1556,
+ t1555,
+ t1554,
+ t1528,
+ t1553,
+ t1552,
+ t1527,
+ t1551,
+ t1550,
+ t1532,
+ t1549,
+ t1548,
+ t1547,
+ t1523,
+ t1546,
+ t1545,
+ t1544,
+ t1543,
+ t1542,
+ t1541,
+ t1540,
+ t1539,
+ t1538,
+ t1526,
+ t1522,
+ t1516,
+ t1513;
+ t1525 = RATIONAL(-3.0,80.0);
+ t1517 = t1525*y;
+ t1533 = RATIONAL(1.0,80.0);
+ t1520 = t1533*z;
+ t1577 = t1517+t1520;
+ t1534 = RATIONAL(3.0,80.0);
+ t1515 = t1534*y;
+ t1518 = t1534*z;
+ t1576 = t1515+t1518;
+ t1510 = t1533*y;
+ t1575 = t1518+t1510;
+ t1529 = RATIONAL(-9.0,80.0);
+ t1514 = RATIONAL(3.0,16.0)*x;
+ t1574 = t1529+t1514;
+ t1535 = RATIONAL(1.0,16.0);
+ t1512 = t1535*x;
+ t1530 = RATIONAL(-1.0,80.0);
+ t1573 = t1512+t1530;
+ t1511 = t1530*y;
+ t1572 = t1511+t1520;
+ t1521 = t1530*z;
+ t1571 = t1521+t1517;
+ t1570 = t1521+t1510;
+ t1569 = t1521+t1515;
+ t1568 = RATIONAL(-1.0,10.0)+t1514;
+ t1567 = t1510+t1520;
+ t1566 = t1514+t1520;
+ t1519 = t1525*z;
+ t1565 = t1519+t1511;
+ t1564 = t1518+t1514;
+ t1563 = t1519+t1510;
+ t1562 = t1512+t1533;
+ t1561 = t1515+t1520;
+ t1560 = t1515+t1519;
+ t1559 = RATIONAL(-1.0,40.0)+t1512;
+ t1558 = t1517+t1519;
+ t1557 = t1514+RATIONAL(-1.0,8.0);
+ t1556 = t1521+t1511;
+ t1555 = t1517+t1518;
+ t1554 = t1512+t1511;
+ t1528 = RATIONAL(1.0,40.0);
+ t1553 = t1528+t1576;
+ t1552 = t1535+t1570;
+ t1527 = RATIONAL(7.0,80.0);
+ t1551 = t1527+t1571;
+ t1550 = t1527+t1565;
+ t1532 = RATIONAL(1.0,20.0);
+ t1549 = t1532+t1569;
+ t1548 = t1532+t1567;
+ t1547 = t1535+t1555;
+ t1523 = RATIONAL(3.0,40.0);
+ t1546 = t1523+t1563;
+ t1545 = t1518+t1532+t1511;
+ t1544 = t1535+t1560;
+ t1543 = RATIONAL(1.0,10.0)+t1558;
+ t1542 = t1534+t1561;
+ t1541 = t1523+t1556;
+ t1540 = t1534+t1575;
+ t1539 = t1523+t1577;
+ t1538 = t1535+t1572;
+ t1526 = RATIONAL(-3.0,20.0);
+ t1522 = RATIONAL(-11.0,80.0);
+ t1516 = RATIONAL(-1.0,16.0)*x;
+ t1513 = RATIONAL(-3.0,16.0)*x;
+ coeff_dxx_m1_m1_m1 = t1516+t1543;
+ coeff_dxx_0_m1_m1 = RATIONAL(-13.0,80.0)+t1515+t1564;
+ coeff_dxx_p1_m1_m1 = t1513+t1553;
+ coeff_dxx_p2_m1_m1 = t1534+t1512+t1558;
+ coeff_dxx_m1_0_m1 = t1516+t1550;
+ coeff_dxx_0_0_m1 = t1510+t1526+t1564;
+ coeff_dxx_p1_0_m1 = t1513+t1540;
+ coeff_dxx_p2_0_m1 = t1519+t1528+t1554;
+ coeff_dxx_m1_p1_m1 = t1516+t1546;
+ coeff_dxx_0_p1_m1 = t1511+t1522+t1564;
+ coeff_dxx_p1_p1_m1 = t1513+t1545;
+ coeff_dxx_p2_p1_m1 = t1562+t1563;
+ coeff_dxx_m1_p2_m1 = t1516+t1544;
+ coeff_dxx_0_p2_m1 = t1555+t1557;
+ coeff_dxx_p1_p2_m1 = t1513+t1547;
+ coeff_dxx_p2_p2_m1 = t1512+t1560;
+ coeff_dxx_m1_m1_0 = t1516+t1551;
+ coeff_dxx_0_m1_0 = t1514+t1526+t1561;
+ coeff_dxx_p1_m1_0 = t1513+t1542;
+ coeff_dxx_p2_m1_0 = t1528+t1512+t1571;
+ coeff_dxx_m1_0_0 = t1516+t1541;
+ coeff_dxx_0_0_0 = t1522+t1510+t1566;
+ coeff_dxx_p1_0_0 = t1513+t1548;
+ coeff_dxx_p2_0_0 = t1533+t1521+t1554;
+ coeff_dxx_m1_p1_0 = t1516+t1552;
+ coeff_dxx_0_p1_0 = t1557+t1572;
+ coeff_dxx_p1_p1_0 = t1513+t1538;
+ coeff_dxx_p2_p1_0 = t1512+t1570;
+ coeff_dxx_m1_p2_0 = t1516+t1549;
+ coeff_dxx_0_p2_0 = t1529+t1517+t1566;
+ coeff_dxx_p1_p2_0 = t1513+t1539;
+ coeff_dxx_p2_p2_0 = t1569+t1573;
+ coeff_dxx_m1_m1_p1 = t1516+t1539;
+ coeff_dxx_0_m1_p1 = t1522+t1514+t1569;
+ coeff_dxx_p1_m1_p1 = t1513+t1549;
+ coeff_dxx_p2_m1_p1 = t1562+t1577;
+ coeff_dxx_m1_0_p1 = t1516+t1538;
+ coeff_dxx_0_0_p1 = t1557+t1570;
+ coeff_dxx_p1_0_p1 = t1513+t1552;
+ coeff_dxx_p2_0_p1 = t1520+t1554;
+ coeff_dxx_m1_p1_p1 = t1516+t1548;
+ coeff_dxx_0_p1_p1 = t1556+t1574;
+ coeff_dxx_p1_p1_p1 = t1513+t1541;
+ coeff_dxx_p2_p1_p1 = t1567+t1573;
+ coeff_dxx_m1_p2_p1 = t1516+t1542;
+ coeff_dxx_0_p2_p1 = t1568+t1571;
+ coeff_dxx_p1_p2_p1 = t1513+t1551;
+ coeff_dxx_p2_p2_p1 = t1559+t1561;
+ coeff_dxx_m1_m1_p2 = t1516+t1547;
+ coeff_dxx_0_m1_p2 = t1557+t1560;
+ coeff_dxx_p1_m1_p2 = t1513+t1544;
+ coeff_dxx_p2_m1_p2 = t1512+t1555;
+ coeff_dxx_m1_0_p2 = t1516+t1545;
+ coeff_dxx_0_0_p2 = t1563+t1574;
+ coeff_dxx_p1_0_p2 = t1513+t1546;
+ coeff_dxx_p2_0_p2 = t1518+t1530+t1554;
+ coeff_dxx_m1_p1_p2 = t1516+t1540;
+ coeff_dxx_0_p1_p2 = t1565+t1568;
+ coeff_dxx_p1_p1_p2 = t1513+t1550;
+ coeff_dxx_p2_p1_p2 = t1559+t1575;
+ coeff_dxx_m1_p2_p2 = t1516+t1553;
+ coeff_dxx_0_p2_p2 = RATIONAL(-7.0,80.0)+t1514+t1558;
+ coeff_dxx_p1_p2_p2 = t1513+t1543;
+ coeff_dxx_p2_p2_p2 = t1525+t1512+t1576;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..873d369
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,212 @@
+fp t1609,
+ t1582,
+ t1661,
+ t1606,
+ t1580,
+ t1660,
+ t1659,
+ t1619,
+ t1589,
+ t1590,
+ t1658,
+ t1585,
+ t1657,
+ t1621,
+ t1591,
+ t1656,
+ t1620,
+ t1592,
+ t1586,
+ t1655,
+ t1622,
+ t1593,
+ t1654,
+ t1583,
+ t1653,
+ t1587,
+ t1652,
+ t1581,
+ t1651,
+ t1588,
+ t1650,
+ t1649,
+ t1648,
+ t1647,
+ t1646,
+ t1645,
+ t1644,
+ t1643,
+ t1642,
+ t1641,
+ t1640,
+ t1639,
+ t1638,
+ t1637,
+ t1610,
+ t1584,
+ t1636,
+ t1635,
+ t1634,
+ t1633,
+ t1594,
+ t1632,
+ t1631,
+ t1630,
+ t1629,
+ t1628,
+ t1579,
+ t1627,
+ t1626,
+ t1578,
+ t1625,
+ t1602,
+ t1624,
+ t1623,
+ t1618,
+ t1614,
+ t1613,
+ t1611,
+ t1607,
+ t1604,
+ t1601,
+ t1598,
+ t1597,
+ t1595;
+ t1609 = RATIONAL(-3.0,1000.0);
+ t1582 = t1609*z;
+ t1661 = RATIONAL(43.0,2000.0)+t1582;
+ t1606 = RATIONAL(-9.0,1000.0);
+ t1580 = t1606*z;
+ t1660 = t1580+RATIONAL(-9.0,500.0);
+ t1659 = t1580+RATIONAL(11.0,500.0);
+ t1619 = RATIONAL(-3.0,80.0);
+ t1589 = t1619*y;
+ t1590 = t1619*x;
+ t1658 = t1589+t1590;
+ t1585 = RATIONAL(9.0,1000.0)*z;
+ t1657 = RATIONAL(-37.0,1000.0)+t1585;
+ t1621 = RATIONAL(1.0,80.0);
+ t1591 = t1621*x;
+ t1656 = t1589+t1591;
+ t1620 = RATIONAL(-1.0,80.0);
+ t1592 = t1620*x;
+ t1586 = t1621*y;
+ t1655 = t1592+t1586;
+ t1622 = RATIONAL(3.0,80.0);
+ t1593 = t1622*y;
+ t1654 = t1591+t1593;
+ t1583 = RATIONAL(1.0,1000.0)*z;
+ t1653 = t1609+t1583;
+ t1587 = t1620*y;
+ t1652 = t1591+t1587;
+ t1581 = RATIONAL(3.0,1000.0)*z;
+ t1651 = t1581+RATIONAL(2.0,125.0);
+ t1588 = t1622*x;
+ t1650 = t1588+t1587;
+ t1649 = t1588+t1586;
+ t1648 = RATIONAL(-31.0,1000.0)+t1582;
+ t1647 = t1589+t1592;
+ t1646 = t1588+t1580;
+ t1645 = t1588+t1593;
+ t1644 = t1592+t1582;
+ t1643 = t1590+t1587;
+ t1642 = t1582+t1587;
+ t1641 = t1592+t1593;
+ t1640 = t1591+t1586;
+ t1639 = t1581+t1586;
+ t1638 = RATIONAL(-7.0,2000.0)+t1582;
+ t1637 = t1592+t1587;
+ t1610 = RATIONAL(-1.0,1000.0);
+ t1584 = t1610*z;
+ t1636 = t1592+t1584;
+ t1635 = t1585+t1587;
+ t1634 = t1581+RATIONAL(-1.0,250.0);
+ t1633 = t1588+t1589;
+ t1594 = RATIONAL(-27.0,1000.0);
+ t1632 = t1594+t1585;
+ t1631 = t1592+t1585;
+ t1630 = t1581+RATIONAL(37.0,2000.0);
+ t1629 = t1580+t1591;
+ t1628 = t1590+t1593;
+ t1579 = RATIONAL(27.0,1000.0)*z;
+ t1627 = t1579+t1593;
+ t1626 = RATIONAL(-13.0,2000.0)+t1581;
+ t1578 = t1594*z;
+ t1625 = t1589+t1578;
+ t1602 = RATIONAL(31.0,2000.0);
+ t1624 = t1602+t1585;
+ t1623 = t1590+t1586;
+ t1618 = RATIONAL(-9.0,250.0);
+ t1614 = RATIONAL(-1.0,500.0);
+ t1613 = RATIONAL(-7.0,250.0);
+ t1611 = RATIONAL(-17.0,500.0);
+ t1607 = RATIONAL(-1.0,2000.0);
+ t1604 = RATIONAL(-19.0,2000.0);
+ t1601 = RATIONAL(-21.0,2000.0);
+ t1598 = RATIONAL(19.0,1000.0);
+ t1597 = RATIONAL(13.0,1000.0);
+ t1595 = RATIONAL(49.0,2000.0);
+ coeff_dxy_m1_m1_m1 = t1590+RATIONAL(147.0,2000.0)+t1625;
+ coeff_dxy_0_m1_m1 = t1607+t1587+t1646;
+ coeff_dxy_p1_m1_m1 = t1649+t1657;
+ coeff_dxy_p2_m1_m1 = t1618+t1590+t1627;
+ coeff_dxy_m1_0_m1 = t1580+t1607+t1641;
+ coeff_dxy_0_0_m1 = t1582+RATIONAL(-17.0,2000.0)+t1640;
+ coeff_dxy_p1_0_m1 = t1634+t1652;
+ coeff_dxy_p2_0_m1 = t1589+t1597+t1631;
+ coeff_dxy_m1_p1_m1 = t1654+t1657;
+ coeff_dxy_0_p1_m1 = t1634+t1655;
+ coeff_dxy_p1_p1_m1 = t1582+RATIONAL(33.0,2000.0)+t1637;
+ coeff_dxy_p2_p1_m1 = t1595+t1589+t1629;
+ coeff_dxy_m1_p2_m1 = t1579+t1618+t1633;
+ coeff_dxy_0_p2_m1 = t1590+t1597+t1635;
+ coeff_dxy_p1_p2_m1 = t1580+t1595+t1623;
+ coeff_dxy_p2_p2_m1 = RATIONAL(-3.0,2000.0)+t1578+t1645;
+ coeff_dxy_m1_m1_0 = RATIONAL(129.0,2000.0)+t1580+t1658;
+ coeff_dxy_0_m1_0 = t1638+t1650;
+ coeff_dxy_p1_m1_0 = t1588+t1611+t1639;
+ coeff_dxy_p2_m1_0 = t1628+t1632;
+ coeff_dxy_m1_0_0 = t1638+t1641;
+ coeff_dxy_0_0_0 = t1604+t1584+t1640;
+ coeff_dxy_p1_0_0 = t1652+t1653;
+ coeff_dxy_p2_0_0 = t1647+t1651;
+ coeff_dxy_m1_p1_0 = t1611+t1581+t1654;
+ coeff_dxy_0_p1_0 = t1653+t1655;
+ coeff_dxy_p1_p1_0 = t1602+t1587+t1636;
+ coeff_dxy_p2_p1_0 = t1656+t1661;
+ coeff_dxy_m1_p2_0 = t1632+t1633;
+ coeff_dxy_0_p2_0 = t1643+t1651;
+ coeff_dxy_p1_p2_0 = t1623+t1661;
+ coeff_dxy_p2_p2_0 = t1580+t1601+t1645;
+ coeff_dxy_m1_m1_p1 = t1585+RATIONAL(111.0,2000.0)+t1658;
+ coeff_dxy_0_m1_p1 = t1626+t1650;
+ coeff_dxy_p1_m1_p1 = t1648+t1649;
+ coeff_dxy_p2_m1_p1 = t1628+t1660;
+ coeff_dxy_m1_0_p1 = t1626+t1641;
+ coeff_dxy_0_0_p1 = t1583+t1601+t1640;
+ coeff_dxy_p1_0_p1 = t1614+t1584+t1652;
+ coeff_dxy_p2_0_p1 = t1589+t1598+t1644;
+ coeff_dxy_m1_p1_p1 = t1648+t1654;
+ coeff_dxy_0_p1_p1 = t1614+t1586+t1636;
+ coeff_dxy_p1_p1_p1 = t1583+RATIONAL(29.0,2000.0)+t1637;
+ coeff_dxy_p2_p1_p1 = t1630+t1656;
+ coeff_dxy_m1_p2_p1 = t1633+t1660;
+ coeff_dxy_0_p2_p1 = t1590+t1598+t1642;
+ coeff_dxy_p1_p2_p1 = t1623+t1630;
+ coeff_dxy_p2_p2_p1 = RATIONAL(-39.0,2000.0)+t1585+t1645;
+ coeff_dxy_m1_m1_p2 = RATIONAL(93.0,2000.0)+t1579+t1658;
+ coeff_dxy_0_m1_p2 = t1604+t1588+t1635;
+ coeff_dxy_p1_m1_p2 = t1613+t1586+t1646;
+ coeff_dxy_p2_m1_p2 = t1578+t1606+t1628;
+ coeff_dxy_m1_0_p2 = t1593+t1604+t1631;
+ coeff_dxy_0_0_p2 = t1591+RATIONAL(-23.0,2000.0)+t1639;
+ coeff_dxy_p1_0_p2 = t1610+t1591+t1642;
+ coeff_dxy_p2_0_p2 = t1647+t1659;
+ coeff_dxy_m1_p1_p2 = t1593+t1613+t1629;
+ coeff_dxy_0_p1_p2 = t1610+t1586+t1644;
+ coeff_dxy_p1_p1_p2 = RATIONAL(27.0,2000.0)+t1581+t1637;
+ coeff_dxy_p2_p1_p2 = t1624+t1656;
+ coeff_dxy_m1_p2_p2 = t1588+t1606+t1625;
+ coeff_dxy_0_p2_p2 = t1643+t1659;
+ coeff_dxy_p1_p2_p2 = t1623+t1624;
+ coeff_dxy_p2_p2_p2 = t1588+RATIONAL(-57.0,2000.0)+t1627;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c
new file mode 100644
index 0000000..be15ad8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c
@@ -0,0 +1,210 @@
+fp t1706,
+ t1670,
+ t1705,
+ t1676,
+ t1742,
+ t1703,
+ t1671,
+ t1741,
+ t1675,
+ t1740,
+ t1672,
+ t1739,
+ t1704,
+ t1673,
+ t1738,
+ t1690,
+ t1667,
+ t1737,
+ t1677,
+ t1736,
+ t1693,
+ t1665,
+ t1735,
+ t1734,
+ t1733,
+ t1674,
+ t1732,
+ t1731,
+ t1730,
+ t1729,
+ t1728,
+ t1727,
+ t1694,
+ t1669,
+ t1726,
+ t1666,
+ t1725,
+ t1724,
+ t1723,
+ t1664,
+ t1722,
+ t1721,
+ t1720,
+ t1719,
+ t1662,
+ t1718,
+ t1688,
+ t1717,
+ t1716,
+ t1715,
+ t1714,
+ t1713,
+ t1678,
+ t1663,
+ t1712,
+ t1711,
+ t1710,
+ t1668,
+ t1709,
+ t1708,
+ t1707,
+ t1700,
+ t1699,
+ t1698,
+ t1697,
+ t1696,
+ t1695,
+ t1686,
+ t1685,
+ t1684,
+ t1681,
+ t1680,
+ t1679;
+ t1706 = RATIONAL(3.0,80.0);
+ t1670 = t1706*z;
+ t1705 = RATIONAL(1.0,80.0);
+ t1676 = t1705*x;
+ t1742 = t1670+t1676;
+ t1703 = RATIONAL(-3.0,80.0);
+ t1671 = t1703*z;
+ t1741 = t1671+t1676;
+ t1675 = t1706*x;
+ t1740 = t1671+t1675;
+ t1672 = t1703*x;
+ t1739 = t1671+t1672;
+ t1704 = RATIONAL(-1.0,80.0);
+ t1673 = t1704*z;
+ t1738 = t1673+t1675;
+ t1690 = RATIONAL(-9.0,1000.0);
+ t1667 = t1690*y;
+ t1737 = t1667+t1671;
+ t1677 = t1704*x;
+ t1736 = t1670+t1677;
+ t1693 = RATIONAL(-3.0,1000.0);
+ t1665 = t1693*y;
+ t1735 = t1677+t1665;
+ t1734 = RATIONAL(-31.0,1000.0)+t1665;
+ t1733 = t1670+t1675;
+ t1674 = t1705*z;
+ t1732 = t1674+t1675;
+ t1731 = t1667+t1670;
+ t1730 = RATIONAL(19.0,1000.0)+t1665;
+ t1729 = t1672+t1673;
+ t1728 = t1674+t1677;
+ t1727 = t1673+t1676;
+ t1694 = RATIONAL(-1.0,1000.0);
+ t1669 = t1694*y;
+ t1726 = t1669+t1673;
+ t1666 = RATIONAL(3.0,1000.0)*y;
+ t1725 = t1666+t1674;
+ t1724 = t1666+t1677;
+ t1723 = t1674+t1676;
+ t1664 = RATIONAL(9.0,1000.0)*y;
+ t1722 = t1664+t1672;
+ t1721 = t1664+t1671;
+ t1720 = t1666+t1673;
+ t1719 = RATIONAL(43.0,2000.0)+t1665;
+ t1662 = RATIONAL(27.0,1000.0)*y;
+ t1718 = RATIONAL(-9.0,250.0)+t1662;
+ t1688 = RATIONAL(-19.0,2000.0);
+ t1717 = t1664+t1688;
+ t1716 = t1670+t1672;
+ t1715 = t1664+RATIONAL(-37.0,1000.0);
+ t1714 = t1667+t1672;
+ t1713 = t1667+RATIONAL(-1.0,2000.0);
+ t1678 = RATIONAL(-27.0,1000.0);
+ t1663 = t1678*y;
+ t1712 = t1663+t1690;
+ t1711 = RATIONAL(2.0,125.0)+t1666;
+ t1710 = t1667+RATIONAL(11.0,500.0);
+ t1668 = RATIONAL(1.0,1000.0)*y;
+ t1709 = t1668+t1693;
+ t1708 = t1671+t1677;
+ t1707 = t1665+t1694;
+ t1700 = RATIONAL(-9.0,500.0);
+ t1699 = RATIONAL(-1.0,250.0);
+ t1698 = RATIONAL(-1.0,500.0);
+ t1697 = RATIONAL(-7.0,250.0);
+ t1696 = RATIONAL(-7.0,2000.0);
+ t1695 = RATIONAL(-17.0,500.0);
+ t1686 = RATIONAL(31.0,2000.0);
+ t1685 = RATIONAL(-21.0,2000.0);
+ t1684 = RATIONAL(-13.0,2000.0);
+ t1681 = RATIONAL(13.0,1000.0);
+ t1680 = RATIONAL(37.0,2000.0);
+ t1679 = RATIONAL(49.0,2000.0);
+ coeff_dxz_m1_m1_m1 = RATIONAL(147.0,2000.0)+t1663+t1739;
+ coeff_dxz_0_m1_m1 = t1713+t1738;
+ coeff_dxz_p1_m1_m1 = t1715+t1732;
+ coeff_dxz_p2_m1_m1 = t1716+t1718;
+ coeff_dxz_m1_0_m1 = RATIONAL(129.0,2000.0)+t1671+t1714;
+ coeff_dxz_0_0_m1 = t1665+t1696+t1738;
+ coeff_dxz_p1_0_m1 = t1675+t1695+t1725;
+ coeff_dxz_p2_0_m1 = t1664+t1678+t1716;
+ coeff_dxz_m1_p1_m1 = t1672+RATIONAL(111.0,2000.0)+t1721;
+ coeff_dxz_0_p1_m1 = t1675+t1684+t1720;
+ coeff_dxz_p1_p1_m1 = t1732+t1734;
+ coeff_dxz_p2_p1_m1 = t1670+t1700+t1714;
+ coeff_dxz_m1_p2_m1 = t1662+RATIONAL(93.0,2000.0)+t1739;
+ coeff_dxz_0_p2_m1 = t1717+t1738;
+ coeff_dxz_p1_p2_m1 = t1697+t1667+t1732;
+ coeff_dxz_p2_p2_m1 = t1712+t1716;
+ coeff_dxz_m1_m1_0 = t1713+t1736;
+ coeff_dxz_0_m1_0 = RATIONAL(-17.0,2000.0)+t1665+t1723;
+ coeff_dxz_p1_m1_0 = t1676+t1699+t1720;
+ coeff_dxz_p2_m1_0 = t1664+t1681+t1708;
+ coeff_dxz_m1_0_0 = t1696+t1670+t1735;
+ coeff_dxz_0_0_0 = t1688+t1669+t1723;
+ coeff_dxz_p1_0_0 = t1709+t1727;
+ coeff_dxz_p2_0_0 = t1708+t1711;
+ coeff_dxz_m1_p1_0 = t1670+t1684+t1724;
+ coeff_dxz_0_p1_0 = t1685+t1668+t1723;
+ coeff_dxz_p1_p1_0 = t1676+t1698+t1726;
+ coeff_dxz_p2_p1_0 = t1708+t1730;
+ coeff_dxz_m1_p2_0 = t1717+t1736;
+ coeff_dxz_0_p2_0 = t1666+RATIONAL(-23.0,2000.0)+t1723;
+ coeff_dxz_p1_p2_0 = t1707+t1727;
+ coeff_dxz_p2_p2_0 = t1708+t1710;
+ coeff_dxz_m1_m1_p1 = t1715+t1742;
+ coeff_dxz_0_m1_p1 = t1699+t1674+t1724;
+ coeff_dxz_p1_m1_p1 = t1673+RATIONAL(33.0,2000.0)+t1735;
+ coeff_dxz_p2_m1_p1 = t1676+t1679+t1737;
+ coeff_dxz_m1_0_p1 = t1695+t1666+t1742;
+ coeff_dxz_0_0_p1 = t1709+t1728;
+ coeff_dxz_p1_0_p1 = t1677+t1686+t1726;
+ coeff_dxz_p2_0_p1 = t1719+t1741;
+ coeff_dxz_m1_p1_p1 = t1734+t1742;
+ coeff_dxz_0_p1_p1 = t1698+t1669+t1728;
+ coeff_dxz_p1_p1_p1 = t1677+t1668+t1673+RATIONAL(29.0,2000.0);
+ coeff_dxz_p2_p1_p1 = t1666+t1680+t1741;
+ coeff_dxz_m1_p2_p1 = t1676+t1697+t1731;
+ coeff_dxz_0_p2_p1 = t1707+t1728;
+ coeff_dxz_p1_p2_p1 = t1677+RATIONAL(27.0,2000.0)+t1720;
+ coeff_dxz_p2_p2_p1 = t1686+t1676+t1721;
+ coeff_dxz_m1_m1_p2 = t1718+t1740;
+ coeff_dxz_0_m1_p2 = t1673+t1681+t1722;
+ coeff_dxz_p1_m1_p2 = t1679+t1674+t1714;
+ coeff_dxz_p2_m1_p2 = t1663+RATIONAL(-3.0,2000.0)+t1733;
+ coeff_dxz_m1_0_p2 = t1678+t1675+t1721;
+ coeff_dxz_0_0_p2 = t1711+t1729;
+ coeff_dxz_p1_0_p2 = t1672+t1674+t1719;
+ coeff_dxz_p2_0_p2 = t1675+t1685+t1731;
+ coeff_dxz_m1_p1_p2 = t1675+t1700+t1737;
+ coeff_dxz_0_p1_p2 = t1729+t1730;
+ coeff_dxz_p1_p1_p2 = t1672+t1680+t1725;
+ coeff_dxz_p2_p1_p2 = RATIONAL(-39.0,2000.0)+t1664+t1733;
+ coeff_dxz_m1_p2_p2 = t1712+t1740;
+ coeff_dxz_0_p2_p2 = t1710+t1729;
+ coeff_dxz_p1_p2_p2 = t1674+t1686+t1722;
+ coeff_dxz_p2_p2_p2 = RATIONAL(-57.0,2000.0)+t1662+t1733;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..b81fc93
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c
@@ -0,0 +1,511 @@
+fp t1152,
+ t1146,
+ t1046,
+ t1154,
+ t1045,
+ t1255,
+ t1147,
+ t1053,
+ t1143,
+ t1055,
+ t1254,
+ t1145,
+ t1061,
+ t1253,
+ t1252,
+ t1153,
+ t1066,
+ t1251,
+ t1078,
+ t1064,
+ t1199,
+ t1250,
+ t1069,
+ t1249,
+ t1076,
+ t1248,
+ t1068,
+ t1247,
+ t1246,
+ t1191,
+ t1245,
+ t1059,
+ t1244,
+ t1071,
+ t1051,
+ t1057,
+ t1243,
+ t1242,
+ t1241,
+ t1080,
+ t1240,
+ t1239,
+ t1081,
+ t1238,
+ t1223,
+ t997,
+ t1070,
+ t1237,
+ t1204,
+ t1236,
+ t1235,
+ t1131,
+ t1033,
+ t995,
+ t1079,
+ t1234,
+ t1233,
+ t1232,
+ t1135,
+ t1043,
+ t992,
+ t1231,
+ t1230,
+ t1077,
+ t1229,
+ t1228,
+ t1074,
+ t1227,
+ t1226,
+ t1225,
+ t1224,
+ t1222,
+ t1128,
+ t1036,
+ t1124,
+ t1015,
+ t998,
+ t999,
+ t1221,
+ t996,
+ t1220,
+ t1219,
+ t1218,
+ t1217,
+ t1000,
+ t1215,
+ t1003,
+ t1214,
+ t1213,
+ t1125,
+ t1212,
+ t1210,
+ t1001,
+ t1005,
+ t1209,
+ t1208,
+ t1205,
+ t1203,
+ t1002,
+ t1004,
+ t1201,
+ t1200,
+ t1196,
+ t1073,
+ t1195,
+ t1192,
+ t1190,
+ t1189,
+ t1188,
+ t1187,
+ t993,
+ t1186,
+ t990,
+ t1185,
+ t1184,
+ t1183,
+ t1182,
+ t991,
+ t1181,
+ t994,
+ t1180,
+ t1179,
+ t1178,
+ t1177,
+ t1176,
+ t1175,
+ t1174,
+ t1173,
+ t1172,
+ t1171,
+ t1170,
+ t1169,
+ t1168,
+ t1167,
+ t1166,
+ t1165,
+ t1164,
+ t1163,
+ t1162,
+ t1161,
+ t1160,
+ t1159,
+ t1158,
+ t1157,
+ t1156,
+ t1155,
+ t1144,
+ t1142,
+ t1140,
+ t1139,
+ t1138,
+ t1137,
+ t1136,
+ t1134,
+ t1133,
+ t1132,
+ t1129,
+ t1127,
+ t1126,
+ t1123,
+ t1121,
+ t1120,
+ t1119,
+ t1118,
+ t1116,
+ t1115,
+ t1114,
+ t1112,
+ t1111,
+ t1110,
+ t1107,
+ t1106,
+ t1101,
+ t1098,
+ t1093,
+ t1063,
+ t1062,
+ t1060,
+ t1058,
+ t1056,
+ t1054,
+ t1052,
+ t1050,
+ t1049,
+ t1048,
+ t1047,
+ t1044,
+ t1042,
+ t1041,
+ t1040,
+ t1039,
+ t1038,
+ t1037,
+ t1035,
+ t1034,
+ t1032,
+ t1031,
+ t1030,
+ t1029,
+ t1028,
+ t1027,
+ t1026,
+ t1025,
+ t1024,
+ t1023,
+ t1022,
+ t1021,
+ t1020,
+ t1019,
+ t1018,
+ t1017,
+ t1016,
+ t1014,
+ t1013,
+ t1012,
+ t1010,
+ t1009,
+ t1008,
+ t1007,
+ t1006;
+ t1152 = x*x;
+ t1146 = RATIONAL(-3.0,160.0);
+ t1046 = t1146*t1152;
+ t1154 = z*z;
+ t1045 = t1146*t1154;
+ t1255 = t1046+t1045;
+ t1147 = RATIONAL(1.0,160.0);
+ t1053 = t1147*t1154;
+ t1143 = RATIONAL(-1.0,160.0);
+ t1055 = t1143*t1152;
+ t1254 = t1053+t1055;
+ t1145 = RATIONAL(3.0,160.0);
+ t1061 = t1145*t1154;
+ t1253 = t1046+t1061;
+ t1252 = RATIONAL(-79.0,2000.0)+RATIONAL(-1.0,10.0)*y;
+ t1153 = y*y;
+ t1066 = RATIONAL(-1.0,32.0)*t1153;
+ t1251 = t1066+t1255;
+ t1078 = RATIONAL(1.0,32.0)*t1153;
+ t1064 = t1145*t1152;
+ t1199 = t1078+t1064;
+ t1250 = t1199+t1061;
+ t1069 = RATIONAL(-9.0,80.0)*y;
+ t1249 = RATIONAL(-137.0,4000.0)+t1069;
+ t1076 = RATIONAL(3.0,32.0)*t1153;
+ t1248 = t1076+t1254;
+ t1068 = RATIONAL(3.0,80.0)*y;
+ t1247 = RATIONAL(323.0,4000.0)+t1068;
+ t1246 = t1078+t1253;
+ t1191 = t1066+t1064;
+ t1245 = t1191+t1045;
+ t1059 = RATIONAL(-11.0,80.0)*y;
+ t1244 = RATIONAL(-107.0,4000.0)+t1059;
+ t1071 = RATIONAL(-3.0,32.0)*t1153;
+ t1051 = t1143*t1154;
+ t1057 = t1147*t1152;
+ t1243 = t1051+t1071+t1057;
+ t1242 = t1078+t1255;
+ t1241 = t1071+t1254;
+ t1080 = RATIONAL(1.0,20.0)*y;
+ t1240 = t1080+RATIONAL(141.0,2000.0);
+ t1239 = t1199+t1045;
+ t1081 = RATIONAL(7.0,80.0)*y;
+ t1238 = RATIONAL(183.0,4000.0)+t1081;
+ t1223 = x*z;
+ t997 = RATIONAL(9.0,1000.0)*t1223;
+ t1070 = RATIONAL(1.0,40.0)*y;
+ t1237 = t997+t1070+RATIONAL(-17.0,3000.0);
+ t1204 = t1051+t1076;
+ t1236 = t1204+t1057;
+ t1235 = t1066+t1253;
+ t1131 = RATIONAL(-3.0,1000.0);
+ t1033 = t1131*z;
+ t995 = x*t1033;
+ t1079 = RATIONAL(3.0,40.0)*y;
+ t1234 = RATIONAL(53.0,1000.0)+t995+t1079;
+ t1233 = t1191+t1061;
+ t1232 = RATIONAL(-4.0,375.0)+RATIONAL(-1.0,40.0)*y+t997;
+ t1135 = RATIONAL(-9.0,1000.0);
+ t1043 = t1135*z;
+ t992 = x*t1043;
+ t1231 = RATIONAL(-607.0,12000.0)+t1081+t992;
+ t1230 = t1080+t997+RATIONAL(-29.0,6000.0);
+ t1077 = RATIONAL(1.0,80.0)*y;
+ t1229 = t992+t1077+RATIONAL(-137.0,12000.0);
+ t1228 = RATIONAL(53.0,12000.0)+t992+t1068;
+ t1074 = RATIONAL(-1.0,80.0)*y;
+ t1227 = RATIONAL(-167.0,12000.0)+t1074+t992;
+ t1226 = t995+RATIONAL(-3.0,20.0)*y+RATIONAL(-49.0,2000.0);
+ t1225 = t997+t1079+RATIONAL(-97.0,3000.0);
+ t1224 = z+x;
+ t1222 = RATIONAL(-3.0,80.0)*y;
+ t1128 = RATIONAL(-1.0,1000.0);
+ t1036 = t1128*x;
+ t1124 = RATIONAL(-27.0,1000.0);
+ t1015 = t1124*x;
+ t998 = x*t1074;
+ t999 = z*t1074;
+ t1221 = t998+t999;
+ t996 = RATIONAL(3.0,1000.0)*t1223;
+ t1220 = t996+t999;
+ t1219 = t996+t998;
+ t1218 = t995+t999;
+ t1217 = t995+t998;
+ t1000 = z*t1077;
+ t1215 = t996+t1000;
+ t1003 = x*t1077;
+ t1214 = t996+t1003;
+ t1213 = t998+t1000;
+ t1125 = RATIONAL(-21.0,2000.0);
+ t1212 = t998+t1125*z;
+ t1210 = t999+t1003;
+ t1001 = x*t1222;
+ t1005 = z*t1222;
+ t1209 = t1001+t1005;
+ t1208 = t1051+t1055;
+ t1205 = t1000+t1003;
+ t1203 = t1076+RATIONAL(-1.0,8.0)*y;
+ t1002 = z*t1068;
+ t1004 = x*t1068;
+ t1201 = t1002+t1004;
+ t1200 = t1001+t1002;
+ t1196 = t1005+t1004;
+ t1073 = RATIONAL(1.0,16.0)*y;
+ t1195 = t1071+t1073;
+ t1192 = t1053+t1057;
+ t1190 = t1079+t1221;
+ t1189 = RATIONAL(1.0,10.0)*y+t1209;
+ t1188 = t1070+t1201;
+ t1187 = t1080+t1205;
+ t993 = RATIONAL(1.0,1000.0)*t1223;
+ t1186 = t1071+t993+t1208;
+ t990 = z*t1015;
+ t1185 = t990+t1251;
+ t1184 = t999+t1235;
+ t1183 = t998+t1245;
+ t1182 = t996+t1242;
+ t991 = RATIONAL(27.0,1000.0)*t1223;
+ t1181 = t991+t1250;
+ t994 = z*t1036;
+ t1180 = t994+t1076+t1192;
+ t1179 = t1071+t997+t1192;
+ t1178 = t992+t1055+t1204;
+ t1177 = t995+t1233;
+ t1176 = t1005+t1241;
+ t1175 = t1001+t1239;
+ t1174 = t1004+t1248;
+ t1173 = t1004+t1243;
+ t1172 = t1005+t1246;
+ t1171 = t1003+t1245;
+ t1170 = t1000+t1235;
+ t1169 = t1002+t1241;
+ t1168 = t1001+t1248;
+ t1167 = t1002+t1236;
+ t1166 = t1002+t1246;
+ t1165 = t1004+t1239;
+ t1164 = t1001+t1243;
+ t1163 = t1005+t1236;
+ t1162 = RATIONAL(-41.0,750.0)+t990+t1250;
+ t1161 = t995+RATIONAL(79.0,3000.0)+t1242;
+ t1160 = t1073+t991+RATIONAL(281.0,12000.0)+t1251;
+ t1159 = RATIONAL(191.0,4000.0)+t992+t1192+t1195;
+ t1158 = t997+RATIONAL(-33.0,2000.0)+t1203+t1208;
+ t1157 = t1073+t996+RATIONAL(-691.0,12000.0)+t1233;
+ t1156 = t993+RATIONAL(-87.0,2000.0)+t1192+t1203;
+ t1155 = t994+RATIONAL(299.0,4000.0)+t1195+t1208;
+ t1144 = RATIONAL(2.0,125.0);
+ t1142 = RATIONAL(-9.0,250.0);
+ t1140 = RATIONAL(-7.0,250.0);
+ t1139 = RATIONAL(-1.0,250.0);
+ t1138 = RATIONAL(-9.0,500.0);
+ t1137 = RATIONAL(-1.0,500.0);
+ t1136 = RATIONAL(-3.0,2000.0);
+ t1134 = RATIONAL(11.0,500.0);
+ t1133 = RATIONAL(-1.0,2000.0);
+ t1132 = RATIONAL(-7.0,2000.0);
+ t1129 = RATIONAL(-17.0,500.0);
+ t1127 = RATIONAL(19.0,1000.0);
+ t1126 = RATIONAL(27.0,2000.0);
+ t1123 = RATIONAL(-37.0,1000.0);
+ t1121 = RATIONAL(93.0,2000.0);
+ t1120 = RATIONAL(-23.0,2000.0);
+ t1119 = RATIONAL(33.0,2000.0);
+ t1118 = RATIONAL(-17.0,2000.0);
+ t1116 = RATIONAL(-31.0,1000.0);
+ t1115 = RATIONAL(-39.0,2000.0);
+ t1114 = RATIONAL(-13.0,2000.0);
+ t1112 = RATIONAL(49.0,2000.0);
+ t1111 = RATIONAL(37.0,2000.0);
+ t1110 = RATIONAL(13.0,1000.0);
+ t1107 = RATIONAL(31.0,2000.0);
+ t1106 = RATIONAL(-19.0,2000.0);
+ t1101 = RATIONAL(43.0,2000.0);
+ t1098 = RATIONAL(111.0,2000.0);
+ t1093 = RATIONAL(129.0,2000.0);
+ t1063 = t1140*z;
+ t1062 = t1142*z;
+ t1060 = t1138*z;
+ t1058 = t1142*x;
+ t1056 = t1140*x;
+ t1054 = t1137*x;
+ t1052 = t1138*x;
+ t1050 = t1144*x;
+ t1049 = t1139*z;
+ t1048 = t1139*x;
+ t1047 = t1137*z;
+ t1044 = t1144*z;
+ t1042 = t1132*x;
+ t1041 = t1134*z;
+ t1040 = t1129*x;
+ t1039 = t1133*z;
+ t1038 = t1135*x;
+ t1037 = t1131*x;
+ t1035 = t1129*z;
+ t1034 = t1134*x;
+ t1032 = t1128*z;
+ t1031 = t1133*x;
+ t1030 = t1132*z;
+ t1029 = t1116*z;
+ t1028 = t1123*x;
+ t1027 = t1107*z;
+ t1026 = t1112*x;
+ t1025 = t1114*x;
+ t1024 = t1111*x;
+ t1023 = t1124*z;
+ t1022 = t1112*z;
+ t1021 = t1101*z;
+ t1020 = t1111*z;
+ t1019 = t1125*x;
+ t1018 = t1116*x;
+ t1017 = t1106*z;
+ t1016 = t1110*x;
+ t1014 = t1106*x;
+ t1013 = t1123*z;
+ t1012 = t1127*x;
+ t1010 = t1107*x;
+ t1009 = t1101*x;
+ t1008 = t1110*z;
+ t1007 = t1114*z;
+ t1006 = t1127*z;
+ coeff_dy_m1_m1_m1 = RATIONAL(-47.0,1500.0)+t1224*RATIONAL(147.0,2000.0)+
+t1185+t1189;
+ coeff_dy_0_m1_m1 = t1005+t1031+t1093*z+t1183+t1231;
+ coeff_dy_p1_m1_m1 = t1005+t1028+t1098*z+t1171+t1225;
+ coeff_dy_p2_m1_m1 = t1058+t1121*z+t1160+t1196;
+ coeff_dy_m1_0_m1 = RATIONAL(-13.0,80.0)*y+t1039+RATIONAL(-39.0,4000.0)+
+t1031+t1178+t1201;
+ coeff_dy_0_0_m1 = t1118*x+t1030+t1003+t1167+t1226;
+ coeff_dy_p1_0_m1 = t1048+t1007+t1167+t1219+t1244;
+ coeff_dy_p2_0_m1 = t1017+t1016+t1158+t1200;
+ coeff_dy_m1_p1_m1 = t1013+RATIONAL(157.0,2000.0)+t1028+t1179+t1188;
+ coeff_dy_0_p1_m1 = t1035+t1048+t1169+t1214+t1247;
+ coeff_dy_p1_p1_m1 = t1119*x+t1029+t1169+t1217+t1240;
+ coeff_dy_p2_p1_m1 = t1026+t1063+t1159+t1200;
+ coeff_dy_m1_p2_m1 = t1068+t1062+RATIONAL(-449.0,12000.0)+t1058+t1181+
+t1209;
+ coeff_dy_0_p2_m1 = t998+t1023+t1016+t1172+t1237;
+ coeff_dy_p1_p2_m1 = t1026+t1060+t1003+t1172+t1229;
+ coeff_dy_p2_p2_m1 = t1136*x+t1043+t1162+t1196;
+ coeff_dy_m1_m1_0 = t1039+t1093*x+t1001+t1184+t1231;
+ coeff_dy_0_m1_0 = t1042+RATIONAL(-437.0,6000.0)+t1030+t1177+t1190;
+ coeff_dy_p1_m1_0 = t1007+t1040+t1157+t1210;
+ coeff_dy_p2_m1_0 = t1004+t1015+t1017+t1184+t1230;
+ coeff_dy_m1_0_0 = t1042+t1118*z+t1000+t1174+t1226;
+ coeff_dy_0_0_0 = RATIONAL(-161.0,4000.0)+t1059+t1017+t1014+t1180+t1205;
+ coeff_dy_p1_0_0 = t1037+t1000+t1156+t1212;
+ coeff_dy_p2_0_0 = t1120*z+t1050+t1168+t1215+t1249;
+ coeff_dy_m1_p1_0 = t1049+t1040+t1173+t1215+t1247;
+ coeff_dy_0_p1_0 = RATIONAL(21.0,250.0)+t1037+t1033+t1186+t1187;
+ coeff_dy_p1_p1_0 = t1010+t1047+t1155+t1213;
+ coeff_dy_p2_p1_0 = t1000+t1032+t1009+t1164+t1234;
+ coeff_dy_m1_p2_0 = t1008+t999+t1015+t1175+t1237;
+ coeff_dy_0_p2_0 = RATIONAL(349.0,12000.0)+t1050+t1077+t1044+t1182+t1221;
+ coeff_dy_p1_p2_0 = t1009+t1006+t1161+t1210;
+ coeff_dy_p2_p2_0 = t1041+t1019+t999+t1165+t1227;
+ coeff_dy_m1_m1_p1 = t1013+t1098*x+t1001+t1170+t1225;
+ coeff_dy_0_m1_p1 = t1025+t1035+t1157+t1213;
+ coeff_dy_p1_m1_p1 = t1018+t1029+RATIONAL(-17.0,375.0)+t1177+t1187;
+ coeff_dy_p2_m1_p1 = t1052+t1004+t1063+t1170+t1228;
+ coeff_dy_m1_0_p1 = t1049+t1025+t1174+t1220+t1244;
+ coeff_dy_0_0_p1 = t1019+t1033+t1156+t1210;
+ coeff_dy_p1_0_p1 = t1047+RATIONAL(-191.0,4000.0)+t1069+t1054+t1180+t1221;
+ coeff_dy_p2_0_p1 = t1012+t1032+t1168+t1218+t1252;
+ coeff_dy_m1_p1_p1 = t1018+t1119*z+t1173+t1218+t1240;
+ coeff_dy_0_p1_p1 = t1054+t1027+t1155+t1210;
+ coeff_dy_p1_p1_p1 = RATIONAL(133.0,2000.0)+t1224*RATIONAL(29.0,2000.0)+
+t1186+t1190;
+ coeff_dy_p2_p1_p1 = t1126*z+t1024+t1164+t1220+t1238;
+ coeff_dy_m1_p2_p1 = t1000+t1052+t1022+t1175+t1229;
+ coeff_dy_0_p2_p1 = t1021+t1012+t1161+t1213;
+ coeff_dy_p1_p2_p1 = t1024+RATIONAL(319.0,12000.0)+t1020+t1074+t1182+t1205
+;
+ coeff_dy_p2_p2_p1 = t1115*x+t1027+t1000+t1165+t1232;
+ coeff_dy_m1_m1_p2 = t1121*x+t1062+t1160+t1200;
+ coeff_dy_0_m1_p2 = t1014+t1023+t1002+t1183+t1230;
+ coeff_dy_p1_m1_p2 = t1056+t1002+t1060+t1171+t1228;
+ coeff_dy_p2_m1_p2 = RATIONAL(307.0,6000.0)+t1043+t1038+t1185+t1188;
+ coeff_dy_m1_0_p2 = t1014+t1008+t1158+t1196;
+ coeff_dy_0_0_p2 = t1120*x+t1044+t1163+t1214+t1249;
+ coeff_dy_p1_0_p2 = t1036+t1006+t1163+t1217+t1252;
+ coeff_dy_p2_0_p2 = RATIONAL(-7.0,80.0)*y+t1034+t1041+RATIONAL(-129.0,
+4000.0)+t1178+t1209;
+ coeff_dy_m1_p1_p2 = t1056+t1022+t1159+t1196;
+ coeff_dy_0_p1_p2 = t1036+t1003+t1021+t1176+t1234;
+ coeff_dy_p1_p1_p2 = t1020+t1126*x+t1176+t1219+t1238;
+ coeff_dy_p2_p1_p2 = t1027+RATIONAL(13.0,500.0)+t1010+t1179+t1189;
+ coeff_dy_m1_p2_p2 = t1038+t1136*z+t1162+t1200;
+ coeff_dy_0_p2_p2 = t1034+t1166+t1212+t1227;
+ coeff_dy_p1_p2_p2 = t1010+t1115*z+t1003+t1166+t1232;
+ coeff_dy_p2_p2_p2 = RATIONAL(-539.0,12000.0)+t1222+t1224*RATIONAL(-57.0,
+2000.0)+t1181+t1201;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..8a4901e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,192 @@
+fp t1751,
+ t1810,
+ t1809,
+ t1767,
+ t1750,
+ t1743,
+ t1808,
+ t1766,
+ t1749,
+ t1807,
+ t1768,
+ t1746,
+ t1806,
+ t1764,
+ t1745,
+ t1805,
+ t1763,
+ t1754,
+ t1753,
+ t1804,
+ t1770,
+ t1803,
+ t1752,
+ t1802,
+ t1801,
+ t1744,
+ t1800,
+ t1799,
+ t1798,
+ t1797,
+ t1796,
+ t1795,
+ t1794,
+ t1793,
+ t1792,
+ t1755,
+ t1791,
+ t1790,
+ t1789,
+ t1788,
+ t1787,
+ t1786,
+ t1762,
+ t1785,
+ t1784,
+ t1783,
+ t1782,
+ t1759,
+ t1781,
+ t1757,
+ t1780,
+ t1779,
+ t1761,
+ t1778,
+ t1777,
+ t1776,
+ t1775,
+ t1774,
+ t1773,
+ t1772,
+ t1771,
+ t1758,
+ t1748,
+ t1747;
+ t1751 = RATIONAL(3.0,16.0)*y;
+ t1810 = t1751+RATIONAL(-1.0,10.0);
+ t1809 = t1751+RATIONAL(-9.0,80.0);
+ t1767 = RATIONAL(1.0,80.0);
+ t1750 = t1767*x;
+ t1743 = t1767*z;
+ t1808 = t1750+t1743;
+ t1766 = RATIONAL(-1.0,80.0);
+ t1749 = t1766*x;
+ t1807 = t1749+t1743;
+ t1768 = RATIONAL(3.0,80.0);
+ t1746 = t1768*z;
+ t1806 = t1746+t1749;
+ t1764 = RATIONAL(1.0,16.0);
+ t1745 = t1764*y;
+ t1805 = t1766+t1745;
+ t1763 = RATIONAL(-3.0,80.0);
+ t1754 = t1763*z;
+ t1753 = t1763*x;
+ t1804 = t1754+t1753;
+ t1770 = RATIONAL(-1.0,8.0);
+ t1803 = t1751+t1770;
+ t1752 = t1768*x;
+ t1802 = t1752+t1754;
+ t1801 = t1750+t1754;
+ t1744 = t1766*z;
+ t1800 = t1749+t1744;
+ t1799 = t1750+t1744;
+ t1798 = t1753+t1744;
+ t1797 = t1749+t1754;
+ t1796 = t1752+t1743;
+ t1795 = t1753+t1743;
+ t1794 = t1746+t1750;
+ t1793 = t1750+t1745;
+ t1792 = t1753+t1745;
+ t1755 = RATIONAL(-11.0,80.0);
+ t1791 = t1751+t1755;
+ t1790 = t1752+t1744;
+ t1789 = RATIONAL(-1.0,40.0)+t1745;
+ t1788 = t1746+t1751;
+ t1787 = t1746+t1752;
+ t1786 = t1768+t1794;
+ t1762 = RATIONAL(3.0,40.0);
+ t1785 = t1762+t1800;
+ t1784 = t1768+t1796;
+ t1783 = t1762+t1795;
+ t1782 = RATIONAL(1.0,10.0)+t1804;
+ t1759 = RATIONAL(1.0,40.0);
+ t1781 = t1759+t1787;
+ t1757 = RATIONAL(1.0,20.0);
+ t1780 = t1757+t1806;
+ t1779 = t1757+t1790;
+ t1761 = RATIONAL(7.0,80.0);
+ t1778 = t1761+t1797;
+ t1777 = t1764+t1802;
+ t1776 = t1757+t1808;
+ t1775 = t1764+t1807;
+ t1774 = t1764+t1799;
+ t1773 = t1746+t1753+t1764;
+ t1772 = t1761+t1798;
+ t1771 = t1762+t1801;
+ t1758 = RATIONAL(-3.0,20.0);
+ t1748 = RATIONAL(-1.0,16.0)*y;
+ t1747 = RATIONAL(-3.0,16.0)*y;
+ coeff_dyy_m1_m1_m1 = t1748+t1782;
+ coeff_dyy_0_m1_m1 = t1748+t1778;
+ coeff_dyy_p1_m1_m1 = t1748+t1771;
+ coeff_dyy_p2_m1_m1 = t1748+t1777;
+ coeff_dyy_m1_0_m1 = t1751+RATIONAL(-13.0,80.0)+t1787;
+ coeff_dyy_0_0_m1 = t1758+t1750+t1788;
+ coeff_dyy_p1_0_m1 = t1749+t1755+t1788;
+ coeff_dyy_p2_0_m1 = t1753+t1770+t1788;
+ coeff_dyy_m1_p1_m1 = t1747+t1781;
+ coeff_dyy_0_p1_m1 = t1747+t1786;
+ coeff_dyy_p1_p1_m1 = t1747+t1780;
+ coeff_dyy_p2_p1_m1 = t1747+t1773;
+ coeff_dyy_m1_p2_m1 = t1768+t1754+t1792;
+ coeff_dyy_0_p2_m1 = t1745+t1759+t1797;
+ coeff_dyy_p1_p2_m1 = t1754+t1767+t1793;
+ coeff_dyy_p2_p2_m1 = t1745+t1802;
+ coeff_dyy_m1_m1_0 = t1748+t1772;
+ coeff_dyy_0_m1_0 = t1748+t1785;
+ coeff_dyy_p1_m1_0 = t1748+t1774;
+ coeff_dyy_p2_m1_0 = t1748+t1779;
+ coeff_dyy_m1_0_0 = t1751+t1758+t1796;
+ coeff_dyy_0_0_0 = t1791+t1808;
+ coeff_dyy_p1_0_0 = t1803+t1807;
+ coeff_dyy_p2_0_0 = t1795+t1809;
+ coeff_dyy_m1_p1_0 = t1747+t1784;
+ coeff_dyy_0_p1_0 = t1747+t1776;
+ coeff_dyy_p1_p1_0 = t1747+t1775;
+ coeff_dyy_p2_p1_0 = t1747+t1783;
+ coeff_dyy_m1_p2_0 = t1744+t1759+t1792;
+ coeff_dyy_0_p2_0 = t1767+t1745+t1800;
+ coeff_dyy_p1_p2_0 = t1744+t1793;
+ coeff_dyy_p2_p2_0 = t1790+t1805;
+ coeff_dyy_m1_m1_p1 = t1748+t1783;
+ coeff_dyy_0_m1_p1 = t1748+t1775;
+ coeff_dyy_p1_m1_p1 = t1748+t1776;
+ coeff_dyy_p2_m1_p1 = t1748+t1784;
+ coeff_dyy_m1_0_p1 = t1790+t1791;
+ coeff_dyy_0_0_p1 = t1799+t1803;
+ coeff_dyy_p1_0_p1 = t1800+t1809;
+ coeff_dyy_p2_0_p1 = t1798+t1810;
+ coeff_dyy_m1_p1_p1 = t1747+t1779;
+ coeff_dyy_0_p1_p1 = t1747+t1774;
+ coeff_dyy_p1_p1_p1 = t1747+t1785;
+ coeff_dyy_p2_p1_p1 = t1747+t1772;
+ coeff_dyy_m1_p2_p1 = t1743+t1767+t1792;
+ coeff_dyy_0_p2_p1 = t1745+t1807;
+ coeff_dyy_p1_p2_p1 = t1766+t1743+t1793;
+ coeff_dyy_p2_p2_p1 = t1789+t1796;
+ coeff_dyy_m1_m1_p2 = t1748+t1773;
+ coeff_dyy_0_m1_p2 = t1748+t1780;
+ coeff_dyy_p1_m1_p2 = t1748+t1786;
+ coeff_dyy_p2_m1_p2 = t1748+t1781;
+ coeff_dyy_m1_0_p2 = t1802+t1803;
+ coeff_dyy_0_0_p2 = t1801+t1809;
+ coeff_dyy_p1_0_p2 = t1797+t1810;
+ coeff_dyy_p2_0_p2 = RATIONAL(-7.0,80.0)+t1751+t1804;
+ coeff_dyy_m1_p1_p2 = t1747+t1777;
+ coeff_dyy_0_p1_p2 = t1747+t1771;
+ coeff_dyy_p1_p1_p2 = t1747+t1778;
+ coeff_dyy_p2_p1_p2 = t1747+t1782;
+ coeff_dyy_m1_p2_p2 = t1746+t1792;
+ coeff_dyy_0_p2_p2 = t1805+t1806;
+ coeff_dyy_p1_p2_p2 = t1789+t1794;
+ coeff_dyy_p2_p2_p2 = t1763+t1745+t1787;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c
new file mode 100644
index 0000000..d56dfe9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c
@@ -0,0 +1,206 @@
+fp t1855,
+ t1823,
+ t1852,
+ t1824,
+ t1893,
+ t1853,
+ t1819,
+ t1822,
+ t1892,
+ t1820,
+ t1825,
+ t1891,
+ t1813,
+ t1890,
+ t1854,
+ t1826,
+ t1889,
+ t1888,
+ t1843,
+ t1816,
+ t1887,
+ t1886,
+ t1831,
+ t1812,
+ t1885,
+ t1815,
+ t1884,
+ t1883,
+ t1841,
+ t1814,
+ t1882,
+ t1821,
+ t1881,
+ t1880,
+ t1879,
+ t1878,
+ t1877,
+ t1817,
+ t1876,
+ t1875,
+ t1874,
+ t1845,
+ t1873,
+ t1872,
+ t1871,
+ t1870,
+ t1869,
+ t1868,
+ t1867,
+ t1866,
+ t1865,
+ t1864,
+ t1863,
+ t1811,
+ t1862,
+ t1861,
+ t1860,
+ t1859,
+ t1858,
+ t1818,
+ t1857,
+ t1856,
+ t1850,
+ t1838,
+ t1835,
+ t1834,
+ t1833,
+ t1832,
+ t1829,
+ t1828,
+ t1827;
+ t1855 = RATIONAL(3.0,80.0);
+ t1823 = t1855*y;
+ t1852 = RATIONAL(-3.0,80.0);
+ t1824 = t1852*z;
+ t1893 = t1823+t1824;
+ t1853 = RATIONAL(-1.0,80.0);
+ t1819 = t1853*y;
+ t1822 = t1853*z;
+ t1892 = t1819+t1822;
+ t1820 = t1855*z;
+ t1825 = t1852*y;
+ t1891 = t1820+t1825;
+ t1813 = RATIONAL(3.0,1000.0)*x;
+ t1890 = t1813+RATIONAL(37.0,2000.0);
+ t1854 = RATIONAL(1.0,80.0);
+ t1826 = t1854*y;
+ t1889 = t1820+t1826;
+ t1888 = t1820+t1823;
+ t1843 = RATIONAL(-9.0,1000.0);
+ t1816 = t1843*x;
+ t1887 = t1816+RATIONAL(-1.0,2000.0);
+ t1886 = t1813+RATIONAL(-17.0,500.0);
+ t1831 = RATIONAL(-27.0,1000.0);
+ t1812 = t1831*x;
+ t1885 = t1812+t1820;
+ t1815 = RATIONAL(9.0,1000.0)*x;
+ t1884 = t1815+t1823;
+ t1883 = t1822+t1825;
+ t1841 = RATIONAL(-3.0,1000.0);
+ t1814 = t1841*x;
+ t1882 = t1814+RATIONAL(19.0,1000.0);
+ t1821 = t1854*z;
+ t1881 = t1821+t1823;
+ t1880 = t1814+RATIONAL(-7.0,2000.0);
+ t1879 = t1816+t1825;
+ t1878 = t1819+t1821;
+ t1877 = t1815+t1825;
+ t1817 = RATIONAL(1.0,1000.0)*x;
+ t1876 = t1817+t1841;
+ t1875 = t1814+t1821;
+ t1874 = t1822+t1826;
+ t1845 = RATIONAL(-1.0,1000.0);
+ t1873 = t1814+t1845;
+ t1872 = t1819+t1824;
+ t1871 = t1816+RATIONAL(11.0,500.0);
+ t1870 = t1813+RATIONAL(-13.0,2000.0);
+ t1869 = t1813+RATIONAL(2.0,125.0);
+ t1868 = t1812+t1824;
+ t1867 = t1816+RATIONAL(-7.0,250.0);
+ t1866 = t1819+t1820;
+ t1865 = t1824+t1826;
+ t1864 = t1816+RATIONAL(-9.0,500.0);
+ t1863 = t1815+t1819;
+ t1811 = RATIONAL(27.0,1000.0)*x;
+ t1862 = t1811+RATIONAL(-9.0,250.0);
+ t1861 = t1813+RATIONAL(-1.0,250.0);
+ t1860 = t1821+t1826;
+ t1859 = t1815+t1826;
+ t1858 = t1823+t1822;
+ t1818 = t1845*x;
+ t1857 = t1818+t1826;
+ t1856 = t1815+t1822;
+ t1850 = RATIONAL(-1.0,500.0);
+ t1838 = RATIONAL(49.0,2000.0);
+ t1835 = RATIONAL(43.0,2000.0);
+ t1834 = RATIONAL(-21.0,2000.0);
+ t1833 = RATIONAL(13.0,1000.0);
+ t1832 = RATIONAL(31.0,2000.0);
+ t1829 = RATIONAL(-31.0,1000.0);
+ t1828 = RATIONAL(-37.0,1000.0);
+ t1827 = RATIONAL(-19.0,2000.0);
+ coeff_dyz_m1_m1_m1 = RATIONAL(147.0,2000.0)+t1825+t1868;
+ coeff_dyz_0_m1_m1 = t1824+RATIONAL(129.0,2000.0)+t1879;
+ coeff_dyz_p1_m1_m1 = RATIONAL(111.0,2000.0)+t1824+t1877;
+ coeff_dyz_p2_m1_m1 = RATIONAL(93.0,2000.0)+t1811+t1824+t1825;
+ coeff_dyz_m1_0_m1 = t1858+t1887;
+ coeff_dyz_0_0_m1 = t1858+t1880;
+ coeff_dyz_p1_0_m1 = t1858+t1870;
+ coeff_dyz_p2_0_m1 = t1827+t1823+t1856;
+ coeff_dyz_m1_p1_m1 = t1815+t1828+t1881;
+ coeff_dyz_0_p1_m1 = t1881+t1886;
+ coeff_dyz_p1_p1_m1 = t1823+t1829+t1875;
+ coeff_dyz_p2_p1_m1 = t1867+t1881;
+ coeff_dyz_m1_p2_m1 = t1862+t1891;
+ coeff_dyz_0_p2_m1 = t1831+t1820+t1877;
+ coeff_dyz_p1_p2_m1 = t1864+t1891;
+ coeff_dyz_p2_p2_m1 = t1825+t1843+t1885;
+ coeff_dyz_m1_m1_0 = t1866+t1887;
+ coeff_dyz_0_m1_0 = t1866+t1880;
+ coeff_dyz_p1_m1_0 = t1866+t1870;
+ coeff_dyz_p2_m1_0 = t1820+t1827+t1863;
+ coeff_dyz_m1_0_0 = t1814+RATIONAL(-17.0,2000.0)+t1860;
+ coeff_dyz_0_0_0 = t1827+t1821+t1857;
+ coeff_dyz_p1_0_0 = t1834+t1817+t1860;
+ coeff_dyz_p2_0_0 = t1813+RATIONAL(-23.0,2000.0)+t1860;
+ coeff_dyz_m1_p1_0 = t1861+t1874;
+ coeff_dyz_0_p1_0 = t1874+t1876;
+ coeff_dyz_p1_p1_0 = t1822+t1850+t1857;
+ coeff_dyz_p2_p1_0 = t1873+t1874;
+ coeff_dyz_m1_p2_0 = t1833+t1824+t1863;
+ coeff_dyz_0_p2_0 = t1869+t1872;
+ coeff_dyz_p1_p2_0 = t1872+t1882;
+ coeff_dyz_p2_p2_0 = t1871+t1872;
+ coeff_dyz_m1_m1_p1 = t1828+t1820+t1859;
+ coeff_dyz_0_m1_p1 = t1886+t1889;
+ coeff_dyz_p1_m1_p1 = t1829+t1814+t1889;
+ coeff_dyz_p2_m1_p1 = t1867+t1889;
+ coeff_dyz_m1_0_p1 = t1861+t1878;
+ coeff_dyz_0_0_p1 = t1876+t1878;
+ coeff_dyz_p1_0_p1 = t1818+t1850+t1878;
+ coeff_dyz_p2_0_p1 = t1873+t1878;
+ coeff_dyz_m1_p1_p1 = RATIONAL(33.0,2000.0)+t1814+t1892;
+ coeff_dyz_0_p1_p1 = t1818+t1832+t1892;
+ coeff_dyz_p1_p1_p1 = t1817+RATIONAL(29.0,2000.0)+t1892;
+ coeff_dyz_p2_p1_p1 = t1813+RATIONAL(27.0,2000.0)+t1892;
+ coeff_dyz_m1_p2_p1 = t1816+t1838+t1865;
+ coeff_dyz_0_p2_p1 = t1814+t1835+t1865;
+ coeff_dyz_p1_p2_p1 = t1865+t1890;
+ coeff_dyz_p2_p2_p1 = t1832+t1824+t1859;
+ coeff_dyz_m1_m1_p2 = t1862+t1893;
+ coeff_dyz_0_m1_p2 = t1831+t1824+t1884;
+ coeff_dyz_p1_m1_p2 = t1864+t1893;
+ coeff_dyz_p2_m1_p2 = t1843+t1823+t1868;
+ coeff_dyz_m1_0_p2 = t1825+t1833+t1856;
+ coeff_dyz_0_0_p2 = t1869+t1883;
+ coeff_dyz_p1_0_p2 = t1882+t1883;
+ coeff_dyz_p2_0_p2 = t1871+t1883;
+ coeff_dyz_m1_p1_p2 = t1821+t1838+t1879;
+ coeff_dyz_0_p1_p2 = t1825+t1835+t1875;
+ coeff_dyz_p1_p1_p2 = t1825+t1821+t1890;
+ coeff_dyz_p2_p1_p2 = t1832+t1821+t1877;
+ coeff_dyz_m1_p2_p2 = RATIONAL(-3.0,2000.0)+t1823+t1885;
+ coeff_dyz_0_p2_p2 = t1816+t1834+t1888;
+ coeff_dyz_p1_p2_p2 = RATIONAL(-39.0,2000.0)+t1820+t1884;
+ coeff_dyz_p2_p2_p2 = RATIONAL(-57.0,2000.0)+t1811+t1888;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c
new file mode 100644
index 0000000..28f410c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c
@@ -0,0 +1,503 @@
+fp t1411,
+ t1418,
+ t1317,
+ t1419,
+ t1312,
+ t1509,
+ t1420,
+ t1340,
+ t1412,
+ t1321,
+ t1460,
+ t1508,
+ t1404,
+ t1401,
+ t1305,
+ t1258,
+ t1507,
+ t1343,
+ t1506,
+ t1335,
+ t1505,
+ t1332,
+ t1504,
+ t1503,
+ t1331,
+ t1502,
+ t1337,
+ t1501,
+ t1500,
+ t1499,
+ t1347,
+ t1498,
+ t1319,
+ t1474,
+ t1497,
+ t1409,
+ t1322,
+ t1413,
+ t1320,
+ t1339,
+ t1470,
+ t1496,
+ t1495,
+ t1494,
+ t1493,
+ t1342,
+ t1492,
+ t1341,
+ t1465,
+ t1491,
+ t1490,
+ t1489,
+ t1488,
+ t1487,
+ t1394,
+ t1304,
+ t1397,
+ t1308,
+ t1486,
+ t1346,
+ t1390,
+ t1277,
+ t1336,
+ t1265,
+ t1267,
+ t1484,
+ t1264,
+ t1483,
+ t1482,
+ t1268,
+ t1269,
+ t1481,
+ t1270,
+ t1479,
+ t1266,
+ t1478,
+ t1477,
+ t1271,
+ t1476,
+ t1318,
+ t1475,
+ t1473,
+ t1316,
+ t1472,
+ t1471,
+ t1468,
+ t1467,
+ t1466,
+ t1464,
+ t1259,
+ t1463,
+ t1462,
+ t1461,
+ t1459,
+ t1334,
+ t1458,
+ t1457,
+ t1262,
+ t1456,
+ t1455,
+ t1454,
+ t1453,
+ t1452,
+ t1263,
+ t1451,
+ t1450,
+ t1449,
+ t1257,
+ t1448,
+ t1447,
+ t1446,
+ t1445,
+ t1444,
+ t1443,
+ t1260,
+ t1442,
+ t1441,
+ t1440,
+ t1256,
+ t1439,
+ t1438,
+ t1261,
+ t1437,
+ t1436,
+ t1435,
+ t1434,
+ t1433,
+ t1432,
+ t1431,
+ t1430,
+ t1326,
+ t1429,
+ t1428,
+ t1427,
+ t1426,
+ t1425,
+ t1424,
+ t1423,
+ t1422,
+ t1421,
+ t1410,
+ t1408,
+ t1406,
+ t1405,
+ t1403,
+ t1402,
+ t1400,
+ t1399,
+ t1398,
+ t1395,
+ t1393,
+ t1392,
+ t1391,
+ t1389,
+ t1387,
+ t1386,
+ t1385,
+ t1384,
+ t1382,
+ t1381,
+ t1380,
+ t1378,
+ t1377,
+ t1376,
+ t1373,
+ t1372,
+ t1367,
+ t1364,
+ t1359,
+ t1358,
+ t1355,
+ t1330,
+ t1329,
+ t1327,
+ t1325,
+ t1324,
+ t1323,
+ t1315,
+ t1314,
+ t1313,
+ t1311,
+ t1310,
+ t1309,
+ t1307,
+ t1306,
+ t1303,
+ t1302,
+ t1301,
+ t1300,
+ t1299,
+ t1298,
+ t1297,
+ t1296,
+ t1295,
+ t1294,
+ t1293,
+ t1292,
+ t1291,
+ t1290,
+ t1289,
+ t1288,
+ t1287,
+ t1286,
+ t1285,
+ t1284,
+ t1283,
+ t1282,
+ t1281,
+ t1280,
+ t1279,
+ t1278,
+ t1276,
+ t1275,
+ t1274,
+ t1273,
+ t1272;
+ t1411 = RATIONAL(3.0,160.0);
+ t1418 = x*x;
+ t1317 = t1411*t1418;
+ t1419 = y*y;
+ t1312 = t1411*t1419;
+ t1509 = t1317+t1312;
+ t1420 = z*z;
+ t1340 = RATIONAL(-1.0,32.0)*t1420;
+ t1412 = RATIONAL(-3.0,160.0);
+ t1321 = t1412*t1418;
+ t1460 = t1321+t1312;
+ t1508 = t1340+t1460;
+ t1404 = RATIONAL(-9.0,500.0);
+ t1401 = RATIONAL(-9.0,1000.0);
+ t1305 = t1401*x;
+ t1258 = y*t1305;
+ t1507 = t1404*y+t1258;
+ t1343 = RATIONAL(1.0,40.0)*z;
+ t1506 = RATIONAL(-17.0,3000.0)+t1343;
+ t1335 = RATIONAL(3.0,40.0)*z;
+ t1505 = t1335+RATIONAL(-97.0,3000.0);
+ t1332 = RATIONAL(1.0,20.0)*z;
+ t1504 = t1332+RATIONAL(141.0,2000.0);
+ t1503 = t1340+t1509;
+ t1331 = RATIONAL(1.0,32.0)*t1420;
+ t1502 = t1331+t1509;
+ t1337 = RATIONAL(7.0,80.0)*z;
+ t1501 = t1337+RATIONAL(-607.0,12000.0);
+ t1500 = RATIONAL(-4.0,375.0)+RATIONAL(-1.0,40.0)*z;
+ t1499 = t1331+t1460;
+ t1347 = RATIONAL(-9.0,80.0)*z;
+ t1498 = RATIONAL(-137.0,4000.0)+t1347;
+ t1319 = t1412*t1419;
+ t1474 = t1319+t1340;
+ t1497 = t1321+t1474;
+ t1409 = RATIONAL(-1.0,160.0);
+ t1322 = t1409*t1418;
+ t1413 = RATIONAL(1.0,160.0);
+ t1320 = t1413*t1419;
+ t1339 = RATIONAL(-3.0,32.0)*t1420;
+ t1470 = t1320+t1339;
+ t1496 = t1322+t1470;
+ t1495 = RATIONAL(53.0,1000.0)+t1335;
+ t1494 = t1319+t1321+t1331;
+ t1493 = RATIONAL(183.0,4000.0)+t1337;
+ t1342 = RATIONAL(1.0,80.0)*z;
+ t1492 = t1342+RATIONAL(-137.0,12000.0);
+ t1341 = RATIONAL(3.0,32.0)*t1420;
+ t1465 = t1322+t1341;
+ t1491 = t1320+t1465;
+ t1490 = RATIONAL(-79.0,2000.0)+RATIONAL(-1.0,10.0)*z;
+ t1489 = RATIONAL(-49.0,2000.0)+RATIONAL(-3.0,20.0)*z;
+ t1488 = x*y;
+ t1487 = x+y;
+ t1394 = RATIONAL(-1.0,1000.0);
+ t1304 = t1394*x;
+ t1397 = RATIONAL(-3.0,1000.0);
+ t1308 = t1397*y;
+ t1486 = RATIONAL(-3.0,80.0)*z;
+ t1346 = RATIONAL(-1.0,80.0)*z;
+ t1390 = RATIONAL(-27.0,1000.0);
+ t1277 = t1390*y;
+ t1336 = RATIONAL(3.0,80.0)*z;
+ t1265 = x*t1336;
+ t1267 = y*t1336;
+ t1484 = t1265+t1267;
+ t1264 = y*t1342;
+ t1483 = t1264+t1265;
+ t1482 = t1319+t1317;
+ t1268 = y*t1486;
+ t1269 = x*t1346;
+ t1481 = t1268+t1269;
+ t1270 = x*t1342;
+ t1479 = t1264+t1270;
+ t1266 = x*t1486;
+ t1478 = t1264+t1266;
+ t1477 = t1269+t1267;
+ t1271 = y*t1346;
+ t1476 = t1271+t1265;
+ t1318 = t1409*t1419;
+ t1475 = t1322+t1318;
+ t1473 = t1268+t1266;
+ t1316 = t1413*t1418;
+ t1472 = t1320+t1316;
+ t1471 = t1271+t1269;
+ t1468 = t1316+t1318;
+ t1467 = t1264+t1269;
+ t1466 = t1271+t1270;
+ t1464 = t1268+t1265;
+ t1259 = RATIONAL(9.0,1000.0)*t1488;
+ t1463 = t1268+t1259;
+ t1462 = t1341+RATIONAL(-1.0,8.0)*z;
+ t1461 = t1271+t1266;
+ t1459 = t1266+t1267;
+ t1334 = RATIONAL(1.0,16.0)*z;
+ t1458 = t1334+t1339;
+ t1457 = t1336+t1483;
+ t1262 = RATIONAL(3.0,1000.0)*t1488;
+ t1456 = t1262+t1468;
+ t1455 = t1332+t1479;
+ t1454 = t1258+t1482;
+ t1453 = t1335+t1471;
+ t1452 = RATIONAL(1.0,10.0)*z+t1473;
+ t1263 = x*t1308;
+ t1451 = t1263+t1468;
+ t1450 = t1343+t1484;
+ t1449 = t1339+t1456;
+ t1257 = RATIONAL(27.0,1000.0)*t1488;
+ t1448 = t1257+t1502;
+ t1447 = t1316+t1259+t1470;
+ t1446 = t1266+t1491;
+ t1445 = t1332+RATIONAL(-29.0,6000.0)+t1340+t1259;
+ t1444 = t1263+t1503;
+ t1443 = t1339+t1451;
+ t1260 = RATIONAL(1.0,1000.0)*t1488;
+ t1442 = t1339+t1260+t1475;
+ t1441 = t1267+t1496;
+ t1440 = t1258+t1318+t1465;
+ t1256 = x*t1277;
+ t1439 = t1256+t1497;
+ t1438 = t1331+t1259+t1482;
+ t1261 = y*t1304;
+ t1437 = t1261+t1341+t1472;
+ t1436 = t1270+t1317+t1474;
+ t1435 = t1341+t1451;
+ t1434 = t1262+t1494;
+ t1433 = t1270+t1499;
+ t1432 = t1266+t1508;
+ t1431 = t1331+RATIONAL(-167.0,12000.0)+t1258+t1346;
+ t1430 = t1268+t1496;
+ t1326 = RATIONAL(-11.0,80.0)*z;
+ t1429 = t1341+t1326+t1262+RATIONAL(-107.0,4000.0);
+ t1428 = RATIONAL(-41.0,750.0)+t1256+t1502;
+ t1427 = t1263+RATIONAL(79.0,3000.0)+t1494;
+ t1426 = t1334+t1257+RATIONAL(281.0,12000.0)+t1497;
+ t1425 = t1258+RATIONAL(191.0,4000.0)+t1458+t1472;
+ t1424 = RATIONAL(-87.0,2000.0)+t1260+t1462+t1472;
+ t1423 = t1334+t1262+RATIONAL(-691.0,12000.0)+t1503;
+ t1422 = RATIONAL(-33.0,2000.0)+t1259+t1462+t1475;
+ t1421 = t1261+RATIONAL(299.0,4000.0)+t1458+t1475;
+ t1410 = RATIONAL(2.0,125.0);
+ t1408 = RATIONAL(-9.0,250.0);
+ t1406 = RATIONAL(-7.0,250.0);
+ t1405 = RATIONAL(-1.0,250.0);
+ t1403 = RATIONAL(-1.0,500.0);
+ t1402 = RATIONAL(-3.0,2000.0);
+ t1400 = RATIONAL(11.0,500.0);
+ t1399 = RATIONAL(-1.0,2000.0);
+ t1398 = RATIONAL(-7.0,2000.0);
+ t1395 = RATIONAL(-17.0,500.0);
+ t1393 = RATIONAL(19.0,1000.0);
+ t1392 = RATIONAL(27.0,2000.0);
+ t1391 = RATIONAL(-21.0,2000.0);
+ t1389 = RATIONAL(-37.0,1000.0);
+ t1387 = RATIONAL(93.0,2000.0);
+ t1386 = RATIONAL(-23.0,2000.0);
+ t1385 = RATIONAL(33.0,2000.0);
+ t1384 = RATIONAL(-17.0,2000.0);
+ t1382 = RATIONAL(-31.0,1000.0);
+ t1381 = RATIONAL(-39.0,2000.0);
+ t1380 = RATIONAL(-13.0,2000.0);
+ t1378 = RATIONAL(49.0,2000.0);
+ t1377 = RATIONAL(37.0,2000.0);
+ t1376 = RATIONAL(13.0,1000.0);
+ t1373 = RATIONAL(31.0,2000.0);
+ t1372 = RATIONAL(-19.0,2000.0);
+ t1367 = RATIONAL(43.0,2000.0);
+ t1364 = RATIONAL(111.0,2000.0);
+ t1359 = RATIONAL(129.0,2000.0);
+ t1358 = RATIONAL(53.0,12000.0);
+ t1355 = RATIONAL(323.0,4000.0);
+ t1330 = t1410*x;
+ t1329 = t1406*x;
+ t1327 = t1405*y;
+ t1325 = t1403*x;
+ t1324 = t1403*y;
+ t1323 = t1410*y;
+ t1315 = t1404*x;
+ t1314 = t1408*x;
+ t1313 = t1406*y;
+ t1311 = t1408*y;
+ t1310 = t1405*x;
+ t1309 = t1395*y;
+ t1307 = t1394*y;
+ t1306 = t1401*y;
+ t1303 = t1400*y;
+ t1302 = t1400*x;
+ t1301 = t1399*x;
+ t1300 = t1398*x;
+ t1299 = t1399*y;
+ t1298 = t1398*y;
+ t1297 = t1397*x;
+ t1296 = t1395*x;
+ t1295 = t1380*x;
+ t1294 = t1378*y;
+ t1293 = t1391*x;
+ t1292 = t1367*y;
+ t1291 = t1393*x;
+ t1290 = t1376*x;
+ t1289 = t1382*x;
+ t1288 = t1376*y;
+ t1287 = t1393*y;
+ t1286 = t1382*y;
+ t1285 = t1377*x;
+ t1284 = t1377*y;
+ t1283 = t1389*x;
+ t1282 = t1378*x;
+ t1281 = t1373*x;
+ t1280 = t1372*x;
+ t1279 = t1380*y;
+ t1278 = t1367*x;
+ t1276 = t1372*y;
+ t1275 = t1390*x;
+ t1274 = t1391*y;
+ t1273 = t1389*y;
+ t1272 = t1373*y;
+ coeff_dz_m1_m1_m1 = RATIONAL(-47.0,1500.0)+t1487*RATIONAL(147.0,2000.0)+
+t1439+t1452;
+ coeff_dz_0_m1_m1 = t1301+t1359*y+t1340+t1454+t1481+t1501;
+ coeff_dz_p1_m1_m1 = t1364*y+t1283+t1436+t1463+t1505;
+ coeff_dz_p2_m1_m1 = t1314+t1387*y+t1426+t1464;
+ coeff_dz_m1_0_m1 = t1359*x+t1258+t1299+t1271+t1432+t1501;
+ coeff_dz_0_0_m1 = t1300+t1298+RATIONAL(-437.0,6000.0)+t1444+t1453;
+ coeff_dz_p1_0_m1 = t1296+t1279+t1423+t1466;
+ coeff_dz_p2_0_m1 = t1276+t1275+t1445+t1460+t1476;
+ coeff_dz_m1_p1_m1 = t1273+t1259+t1264+t1364*x+t1432+t1505;
+ coeff_dz_0_p1_m1 = t1309+t1295+t1423+t1467;
+ coeff_dz_p1_p1_m1 = RATIONAL(-17.0,375.0)+t1289+t1286+t1444+t1455;
+ coeff_dz_p2_p1_m1 = t1358+t1258+t1315+t1313+t1457+t1508;
+ coeff_dz_m1_p2_m1 = t1387*x+t1311+t1426+t1459;
+ coeff_dz_0_p2_m1 = t1277+t1280+t1445+t1477+t1482;
+ coeff_dz_p1_p2_m1 = t1358+t1336+t1329+t1267+t1436+t1507;
+ coeff_dz_p2_p2_m1 = RATIONAL(307.0,6000.0)+t1306+t1305+t1439+t1450;
+ coeff_dz_m1_m1_0 = RATIONAL(-13.0,80.0)*z+t1301+RATIONAL(-39.0,4000.0)+
+t1299+t1440+t1484;
+ coeff_dz_0_m1_0 = t1384*x+t1267+t1298+t1270+t1435+t1489;
+ coeff_dz_p1_m1_0 = t1279+t1310+t1429+t1468+t1477;
+ coeff_dz_p2_m1_0 = t1276+t1290+t1422+t1459;
+ coeff_dz_m1_0_0 = t1300+t1384*y+t1263+t1483+t1489+t1491;
+ coeff_dz_0_0_0 = t1276+t1280+RATIONAL(-161.0,4000.0)+t1326+t1437+t1479;
+ coeff_dz_p1_0_0 = t1297+t1274+t1424+t1467;
+ coeff_dz_p2_0_0 = t1262+t1386*y+t1330+t1264+t1446+t1498;
+ coeff_dz_m1_p1_0 = t1322+t1295+t1327+t1320+t1429+t1476;
+ coeff_dz_0_p1_0 = t1293+t1308+t1424+t1466;
+ coeff_dz_p1_p1_0 = RATIONAL(-191.0,4000.0)+t1324+t1325+t1347+t1437+t1471;
+ coeff_dz_p2_p1_0 = t1307+t1291+t1263+t1271+t1446+t1490;
+ coeff_dz_m1_p2_0 = t1288+t1280+t1422+t1464;
+ coeff_dz_0_p2_0 = t1323+t1386*x+t1341+t1270+t1268+t1456+t1498;
+ coeff_dz_p1_p2_0 = t1287+t1304+t1435+t1481+t1490;
+ coeff_dz_p2_p2_0 = t1303+RATIONAL(-7.0,80.0)*z+t1302+RATIONAL(-129.0,
+4000.0)+t1440+t1473;
+ coeff_dz_m1_m1_p1 = RATIONAL(157.0,2000.0)+t1283+t1273+t1447+t1450;
+ coeff_dz_0_m1_p1 = t1309+t1270+t1336+t1262+t1355+t1310+t1441;
+ coeff_dz_p1_m1_p1 = t1286+t1269+t1263+t1385*x+t1441+t1504;
+ coeff_dz_p2_m1_p1 = t1282+t1313+t1425+t1459;
+ coeff_dz_m1_0_p1 = t1327+t1355+t1296+t1449+t1457;
+ coeff_dz_0_0_p1 = t1297+t1308+RATIONAL(21.0,250.0)+t1442+t1455;
+ coeff_dz_p1_0_p1 = t1324+t1281+t1421+t1467;
+ coeff_dz_p2_0_p1 = t1278+t1307+t1443+t1478+t1495;
+ coeff_dz_m1_p1_p1 = t1385*y+t1289+t1443+t1476+t1504;
+ coeff_dz_0_p1_p1 = t1325+t1272+t1421+t1466;
+ coeff_dz_p1_p1_p1 = RATIONAL(133.0,2000.0)+t1487*RATIONAL(29.0,2000.0)+
+t1442+t1453;
+ coeff_dz_p2_p1_p1 = t1285+t1392*y+t1449+t1461+t1493;
+ coeff_dz_m1_p2_p1 = t1329+t1294+t1425+t1464;
+ coeff_dz_0_p2_p1 = t1304+t1270+t1292+t1263+t1430+t1495;
+ coeff_dz_p1_p2_p1 = t1262+t1269+t1284+t1392*x+t1430+t1493;
+ coeff_dz_p2_p2_p1 = t1281+t1272+RATIONAL(13.0,500.0)+t1447+t1452;
+ coeff_dz_m1_m1_p2 = t1336+RATIONAL(-449.0,12000.0)+t1311+t1314+t1448+
+t1473;
+ coeff_dz_0_m1_p2 = t1290+t1277+t1269+t1463+t1499+t1506;
+ coeff_dz_p1_m1_p2 = t1268+t1282+t1433+t1492+t1507;
+ coeff_dz_p2_m1_p2 = t1402*x+t1306+t1428+t1464;
+ coeff_dz_m1_0_p2 = t1288+t1275+t1438+t1461+t1506;
+ coeff_dz_0_0_p2 = RATIONAL(349.0,12000.0)+t1342+t1330+t1323+t1434+t1471;
+ coeff_dz_p1_0_p2 = t1278+t1287+t1427+t1466;
+ coeff_dz_p2_0_p2 = t1303+t1293+t1431+t1476+t1482;
+ coeff_dz_m1_p1_p2 = t1331+t1315+t1294+t1454+t1478+t1492;
+ coeff_dz_0_p1_p2 = t1291+t1292+t1427+t1467;
+ coeff_dz_p1_p1_p2 = RATIONAL(319.0,12000.0)+t1346+t1285+t1284+t1434+t1479
+;
+ coeff_dz_p2_p1_p2 = t1272+t1381*x+t1438+t1483+t1500;
+ coeff_dz_m1_p2_p2 = t1402*y+t1305+t1428+t1459;
+ coeff_dz_0_p2_p2 = t1302+t1274+t1431+t1460+t1477;
+ coeff_dz_p1_p2_p2 = t1381*y+t1281+t1267+t1259+t1433+t1500;
+ coeff_dz_p2_p2_p2 = RATIONAL(-539.0,12000.0)+t1486+t1487*RATIONAL(-57.0,
+2000.0)+t1448+t1484;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c
new file mode 100644
index 0000000..5b9cd3e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c
@@ -0,0 +1,190 @@
+fp t1917,
+ t1899,
+ t1914,
+ t1895,
+ t1962,
+ t1905,
+ t1961,
+ t1919,
+ t1900,
+ t1960,
+ t1959,
+ t1894,
+ t1897,
+ t1958,
+ t1957,
+ t1896,
+ t1956,
+ t1955,
+ t1954,
+ t1912,
+ t1901,
+ t1953,
+ t1902,
+ t1952,
+ t1951,
+ t1950,
+ t1949,
+ t1948,
+ t1911,
+ t1904,
+ t1920,
+ t1947,
+ t1946,
+ t1945,
+ t1944,
+ t1943,
+ t1942,
+ t1941,
+ t1940,
+ t1939,
+ t1938,
+ t1937,
+ t1907,
+ t1936,
+ t1935,
+ t1934,
+ t1933,
+ t1932,
+ t1910,
+ t1931,
+ t1930,
+ t1929,
+ t1928,
+ t1927,
+ t1926,
+ t1925,
+ t1924,
+ t1909,
+ t1923,
+ t1922,
+ t1915,
+ t1903,
+ t1898;
+ t1917 = RATIONAL(1.0,80.0);
+ t1899 = t1917*x;
+ t1914 = RATIONAL(-1.0,80.0);
+ t1895 = t1914*y;
+ t1962 = t1899+t1895;
+ t1905 = RATIONAL(3.0,16.0)*z;
+ t1961 = t1905+RATIONAL(-9.0,80.0);
+ t1919 = RATIONAL(3.0,80.0);
+ t1900 = t1919*x;
+ t1960 = t1900+t1895;
+ t1959 = t1905+RATIONAL(-11.0,80.0);
+ t1894 = t1919*y;
+ t1897 = t1914*x;
+ t1958 = t1894+t1897;
+ t1957 = t1905+RATIONAL(-1.0,10.0);
+ t1896 = t1917*y;
+ t1956 = t1896+t1899;
+ t1955 = t1894+t1899;
+ t1954 = t1896+t1900;
+ t1912 = RATIONAL(-3.0,80.0);
+ t1901 = t1912*y;
+ t1953 = t1901+t1900;
+ t1902 = t1912*x;
+ t1952 = t1901+t1902;
+ t1951 = t1905+RATIONAL(-3.0,20.0);
+ t1950 = t1894+t1900;
+ t1949 = t1899+t1901;
+ t1948 = t1905+RATIONAL(-1.0,8.0);
+ t1911 = RATIONAL(1.0,16.0);
+ t1904 = t1911*z;
+ t1920 = RATIONAL(1.0,40.0);
+ t1947 = t1904+t1920;
+ t1946 = t1896+t1902;
+ t1945 = t1895+t1897;
+ t1944 = t1894+t1902;
+ t1943 = t1896+t1897;
+ t1942 = t1896+t1904;
+ t1941 = t1904+t1897;
+ t1940 = t1902+t1895;
+ t1939 = t1894+t1904;
+ t1938 = t1901+t1897;
+ t1937 = t1911+t1953;
+ t1907 = RATIONAL(1.0,20.0);
+ t1936 = t1907+t1956;
+ t1935 = t1907+t1960;
+ t1934 = t1911+t1943;
+ t1933 = t1911+t1944;
+ t1932 = RATIONAL(1.0,10.0)+t1952;
+ t1910 = RATIONAL(3.0,40.0);
+ t1931 = t1910+t1949;
+ t1930 = t1919+t1955;
+ t1929 = t1920+t1950;
+ t1928 = t1910+t1946;
+ t1927 = t1919+t1954;
+ t1926 = t1910+t1945;
+ t1925 = t1911+t1962;
+ t1924 = t1907+t1958;
+ t1909 = RATIONAL(7.0,80.0);
+ t1923 = t1909+t1940;
+ t1922 = t1909+t1938;
+ t1915 = RATIONAL(-1.0,40.0);
+ t1903 = RATIONAL(-3.0,16.0)*z;
+ t1898 = RATIONAL(-1.0,16.0)*z;
+ coeff_dzz_m1_m1_m1 = t1898+t1932;
+ coeff_dzz_0_m1_m1 = t1898+t1922;
+ coeff_dzz_p1_m1_m1 = t1898+t1931;
+ coeff_dzz_p2_m1_m1 = t1898+t1937;
+ coeff_dzz_m1_0_m1 = t1898+t1923;
+ coeff_dzz_0_0_m1 = t1898+t1926;
+ coeff_dzz_p1_0_m1 = t1898+t1925;
+ coeff_dzz_p2_0_m1 = t1898+t1935;
+ coeff_dzz_m1_p1_m1 = t1898+t1928;
+ coeff_dzz_0_p1_m1 = t1898+t1934;
+ coeff_dzz_p1_p1_m1 = t1898+t1936;
+ coeff_dzz_p2_p1_m1 = t1898+t1927;
+ coeff_dzz_m1_p2_m1 = t1898+t1933;
+ coeff_dzz_0_p2_m1 = t1898+t1924;
+ coeff_dzz_p1_p2_m1 = t1898+t1930;
+ coeff_dzz_p2_p2_m1 = t1898+t1929;
+ coeff_dzz_m1_m1_0 = RATIONAL(-13.0,80.0)+t1905+t1950;
+ coeff_dzz_0_m1_0 = t1951+t1955;
+ coeff_dzz_p1_m1_0 = t1958+t1959;
+ coeff_dzz_p2_m1_0 = t1944+t1948;
+ coeff_dzz_m1_0_0 = t1951+t1954;
+ coeff_dzz_0_0_0 = t1956+t1959;
+ coeff_dzz_p1_0_0 = t1943+t1948;
+ coeff_dzz_p2_0_0 = t1946+t1961;
+ coeff_dzz_m1_p1_0 = t1959+t1960;
+ coeff_dzz_0_p1_0 = t1948+t1962;
+ coeff_dzz_p1_p1_0 = t1945+t1961;
+ coeff_dzz_p2_p1_0 = t1940+t1957;
+ coeff_dzz_m1_p2_0 = t1948+t1953;
+ coeff_dzz_0_p2_0 = t1949+t1961;
+ coeff_dzz_p1_p2_0 = t1938+t1957;
+ coeff_dzz_p2_p2_0 = t1905+RATIONAL(-7.0,80.0)+t1952;
+ coeff_dzz_m1_m1_p1 = t1903+t1929;
+ coeff_dzz_0_m1_p1 = t1903+t1930;
+ coeff_dzz_p1_m1_p1 = t1903+t1924;
+ coeff_dzz_p2_m1_p1 = t1903+t1933;
+ coeff_dzz_m1_0_p1 = t1903+t1927;
+ coeff_dzz_0_0_p1 = t1903+t1936;
+ coeff_dzz_p1_0_p1 = t1903+t1934;
+ coeff_dzz_p2_0_p1 = t1903+t1928;
+ coeff_dzz_m1_p1_p1 = t1903+t1935;
+ coeff_dzz_0_p1_p1 = t1903+t1925;
+ coeff_dzz_p1_p1_p1 = t1903+t1926;
+ coeff_dzz_p2_p1_p1 = t1903+t1923;
+ coeff_dzz_m1_p2_p1 = t1903+t1937;
+ coeff_dzz_0_p2_p1 = t1903+t1931;
+ coeff_dzz_p1_p2_p1 = t1903+t1922;
+ coeff_dzz_p2_p2_p1 = t1903+t1932;
+ coeff_dzz_m1_m1_p2 = t1919+t1904+t1952;
+ coeff_dzz_0_m1_p2 = t1938+t1947;
+ coeff_dzz_p1_m1_p2 = t1917+t1904+t1949;
+ coeff_dzz_p2_m1_p2 = t1904+t1953;
+ coeff_dzz_m1_0_p2 = t1940+t1947;
+ coeff_dzz_0_0_p2 = t1895+t1917+t1941;
+ coeff_dzz_p1_0_p2 = t1904+t1962;
+ coeff_dzz_p2_0_p2 = t1904+t1914+t1960;
+ coeff_dzz_m1_p1_p2 = t1902+t1917+t1942;
+ coeff_dzz_0_p1_p2 = t1896+t1941;
+ coeff_dzz_p1_p1_p2 = t1914+t1899+t1942;
+ coeff_dzz_p2_p1_p2 = t1900+t1915+t1942;
+ coeff_dzz_m1_p2_p2 = t1902+t1939;
+ coeff_dzz_0_p2_p2 = t1914+t1897+t1939;
+ coeff_dzz_p1_p2_p2 = t1915+t1899+t1939;
+ coeff_dzz_p2_p2_p2 = t1900+t1912+t1939;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c
new file mode 100644
index 0000000..a8f0873
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c
@@ -0,0 +1,1596 @@
+fp t2350,
+ t2351,
+ t2352,
+ t2842,
+ t2337,
+ t2483,
+ t2119,
+ t2347,
+ t2322,
+ t2209,
+ t2843,
+ t2345,
+ t2321,
+ t2210,
+ t2329,
+ t2493,
+ t2112,
+ t2841,
+ t2328,
+ t2123,
+ t2278,
+ t2840,
+ t2325,
+ t2530,
+ t2045,
+ t1975,
+ t2315,
+ t2481,
+ t2101,
+ t2346,
+ t2318,
+ t2208,
+ t2839,
+ t2332,
+ t2229,
+ t2301,
+ t2838,
+ t2270,
+ t2837,
+ t2344,
+ t2205,
+ t2836,
+ t2334,
+ t2502,
+ t2128,
+ t2473,
+ t2333,
+ t2835,
+ t2489,
+ t2132,
+ t2348,
+ t2211,
+ t2787,
+ t2092,
+ t2295,
+ t2165,
+ t2834,
+ t2212,
+ t2275,
+ t2263,
+ t2062,
+ t2833,
+ t2323,
+ t2240,
+ t2235,
+ t2510,
+ t2216,
+ t2492,
+ t2743,
+ t2512,
+ t2049,
+ t1987,
+ t2279,
+ t2569,
+ t2726,
+ t2832,
+ t2335,
+ t2225,
+ t2349,
+ t2224,
+ t2514,
+ t2265,
+ t2560,
+ t1986,
+ t2831,
+ t2316,
+ t2519,
+ t2074,
+ t2515,
+ t2079,
+ t2830,
+ t2330,
+ t2324,
+ t2541,
+ t2091,
+ t2476,
+ t2051,
+ t2525,
+ t2214,
+ t2829,
+ t2054,
+ t2537,
+ t2326,
+ t2828,
+ t2480,
+ t2756,
+ t2563,
+ t2016,
+ t2827,
+ t2090,
+ t2826,
+ t2213,
+ t2297,
+ t2825,
+ t2217,
+ t2824,
+ t2470,
+ t2085,
+ t1994,
+ t2283,
+ t2551,
+ t2823,
+ t2285,
+ t2570,
+ t2026,
+ t2822,
+ t2568,
+ t2554,
+ t1964,
+ t2543,
+ t2308,
+ t1966,
+ t2821,
+ t2220,
+ t2475,
+ t2820,
+ t2277,
+ t2565,
+ t2549,
+ t2099,
+ t1982,
+ t2819,
+ t2511,
+ t2078,
+ t1977,
+ t2282,
+ t2818,
+ t1988,
+ t2317,
+ t2469,
+ t2059,
+ t1978,
+ t2817,
+ t2292,
+ t2816,
+ t2342,
+ t2815,
+ t1970,
+ t2814,
+ t2813,
+ t2812,
+ t2533,
+ t2810,
+ t2494,
+ t2087,
+ t2809,
+ t2327,
+ t2491,
+ t2073,
+ t2808,
+ t2271,
+ t2552,
+ t2528,
+ t2084,
+ t2003,
+ t2807,
+ t2276,
+ t2014,
+ t2544,
+ t2805,
+ t2527,
+ t2804,
+ t2226,
+ t2803,
+ t2487,
+ t2113,
+ t1985,
+ t2802,
+ t2336,
+ t2125,
+ t2207,
+ t2801,
+ t2498,
+ t2800,
+ t2343,
+ t2799,
+ t2474,
+ t2126,
+ t2798,
+ t2797,
+ t2268,
+ t2564,
+ t2796,
+ t2496,
+ t2093,
+ t2006,
+ t2795,
+ t2071,
+ t2794,
+ t2070,
+ t2793,
+ t2236,
+ t2175,
+ t2792,
+ t2500,
+ t2791,
+ t2066,
+ t2320,
+ t2790,
+ t2789,
+ t2788,
+ t1992,
+ t2274,
+ t2557,
+ t2023,
+ t2786,
+ t1993,
+ t2785,
+ t2783,
+ t2782,
+ t2118,
+ t2781,
+ t2556,
+ t2477,
+ t2780,
+ t2095,
+ t1979,
+ t1971,
+ t2779,
+ t2266,
+ t2558,
+ t1989,
+ t2778,
+ t2777,
+ t2539,
+ t2566,
+ t2013,
+ t2776,
+ t2136,
+ t2775,
+ t2774,
+ t2773,
+ t2310,
+ t2772,
+ t2302,
+ t2180,
+ t2771,
+ t2468,
+ t2108,
+ t2770,
+ t2769,
+ t2768,
+ t2241,
+ t2313,
+ t2767,
+ t2766,
+ t2067,
+ t2765,
+ t2135,
+ t2764,
+ t2289,
+ t2763,
+ t2546,
+ t2131,
+ t2762,
+ t2291,
+ t2559,
+ t2761,
+ t2124,
+ t2760,
+ t2524,
+ t2065,
+ t2759,
+ t2233,
+ t2758,
+ t2757,
+ t2540,
+ t2755,
+ t2754,
+ t2060,
+ t2753,
+ t2752,
+ t2339,
+ t2245,
+ t2751,
+ t2286,
+ t2750,
+ t2749,
+ t2748,
+ t2137,
+ t2747,
+ t2340,
+ t2247,
+ t2746,
+ t2745,
+ t2172,
+ t2744,
+ t2742,
+ t2164,
+ t2741,
+ t2259,
+ t2740,
+ t2009,
+ t1980,
+ t2739,
+ t2075,
+ t2738,
+ t2064,
+ t2737,
+ t2272,
+ t2273,
+ t2736,
+ t2300,
+ t2174,
+ t2735,
+ t2734,
+ t2733,
+ t2141,
+ t2732,
+ t2731,
+ t2338,
+ t2730,
+ t2536,
+ t2729,
+ t2471,
+ t2130,
+ t2728,
+ t2077,
+ t2088,
+ t2727,
+ t2562,
+ t2021,
+ t2725,
+ t2139,
+ t2724,
+ t2306,
+ t2723,
+ t2304,
+ t2553,
+ t2722,
+ t2294,
+ t2567,
+ t2002,
+ t2721,
+ t1991,
+ t2720,
+ t2719,
+ t2718,
+ t2008,
+ t2717,
+ t2007,
+ t2716,
+ t2715,
+ t2027,
+ t2714,
+ t2156,
+ t2713,
+ t2296,
+ t2166,
+ t2127,
+ t2712,
+ t2181,
+ t2711,
+ t2710,
+ t2146,
+ t2262,
+ t2709,
+ t2167,
+ t2708,
+ t2244,
+ t2707,
+ t2097,
+ t2706,
+ t1972,
+ t2705,
+ t2052,
+ t2704,
+ t2307,
+ t1968,
+ t2703,
+ t2702,
+ t2001,
+ t2701,
+ t2309,
+ t2700,
+ t2109,
+ t2532,
+ t2170,
+ t2699,
+ t2311,
+ t2698,
+ t2697,
+ t2145,
+ t2696,
+ t2695,
+ t2694,
+ t2693,
+ t1974,
+ t2692,
+ t2691,
+ t2157,
+ t2508,
+ t2690,
+ t2689,
+ t2688,
+ t2687,
+ t2312,
+ t2150,
+ t2686,
+ t2685,
+ t2234,
+ t2684,
+ t2683,
+ t1976,
+ t2682,
+ t2231,
+ t2681,
+ t2680,
+ t1999,
+ t2679,
+ t2299,
+ t2179,
+ t2138,
+ t2678,
+ t2677,
+ t2676,
+ t2675,
+ t2674,
+ t2171,
+ t2673,
+ t2168,
+ t2050,
+ t2672,
+ t2671,
+ t2261,
+ t2670,
+ t2669,
+ t2668,
+ t2043,
+ t2239,
+ t2667,
+ t2666,
+ t2665,
+ t2664,
+ t2663,
+ t2182,
+ t2662,
+ t2223,
+ t2661,
+ t2660,
+ t2659,
+ t2658,
+ t2657,
+ t2656,
+ t2655,
+ t2654,
+ t2653,
+ t2652,
+ t2651,
+ t2650,
+ t2649,
+ t2206,
+ t2648,
+ t2647,
+ t2646,
+ t2018,
+ t2645,
+ t2644,
+ t2643,
+ t2642,
+ t2641,
+ t2122,
+ t2640,
+ t2639,
+ t2638,
+ t2258,
+ t2637,
+ t2238,
+ t2636,
+ t2635,
+ t2634,
+ t2633,
+ t2632,
+ t2173,
+ t2631,
+ t2630,
+ t2629,
+ t2218,
+ t2628,
+ t2627,
+ t2193,
+ t2626,
+ t2190,
+ t2625,
+ t2624,
+ t2623,
+ t2622,
+ t2621,
+ t2620,
+ t2619,
+ t2192,
+ t2466,
+ t1969,
+ t2618,
+ t1963,
+ t2617,
+ t2616,
+ t2615,
+ t2614,
+ t2467,
+ t1967,
+ t2613,
+ t2612,
+ t2611,
+ t2610,
+ t1965,
+ t2609,
+ t2608,
+ t2607,
+ t2606,
+ t2605,
+ t2153,
+ t2604,
+ t2260,
+ t2603,
+ t2314,
+ t2602,
+ t2222,
+ t2601,
+ t2042,
+ t2600,
+ t2287,
+ t2561,
+ t2038,
+ t2599,
+ t2232,
+ t2598,
+ t2227,
+ t2597,
+ t2596,
+ t2516,
+ t2162,
+ t2243,
+ t2595,
+ t2594,
+ t2593,
+ t2465,
+ t2592,
+ t2037,
+ t2591,
+ t2590,
+ t2589,
+ t2253,
+ t2588,
+ t2587,
+ t2221,
+ t2535,
+ t2586,
+ t2456,
+ t2585,
+ t2584,
+ t2583,
+ t2463,
+ t2582,
+ t2581,
+ t2580,
+ t2484,
+ t2248,
+ t2579,
+ t2578,
+ t2577,
+ t2576,
+ t2534,
+ t2440,
+ t2246,
+ t2575,
+ t2574,
+ t2573,
+ t2572,
+ t2571,
+ t2269,
+ t2555,
+ t2550,
+ t2547,
+ t2545,
+ t2542,
+ t2538,
+ t2531,
+ t2529,
+ t2526,
+ t2523,
+ t2522,
+ t2520,
+ t2518,
+ t2517,
+ t2513,
+ t2507,
+ t2506,
+ t2505,
+ t2504,
+ t2501,
+ t2497,
+ t2495,
+ t2490,
+ t2486,
+ t2485,
+ t2482,
+ t2479,
+ t2478,
+ t2472,
+ t2464,
+ t2462,
+ t2460,
+ t2459,
+ t2458,
+ t2457,
+ t2455,
+ t2454,
+ t2280,
+ t2341,
+ t2452,
+ t2281,
+ t2451,
+ t2447,
+ t2445,
+ t2444,
+ t2443,
+ t2442,
+ t2441,
+ t2439,
+ t2438,
+ t2437,
+ t2436,
+ t2435,
+ t2434,
+ t2433,
+ t2432,
+ t2431,
+ t2430,
+ t2429,
+ t2428,
+ t2427,
+ t2426,
+ t2425,
+ t2424,
+ t2423,
+ t2422,
+ t2421,
+ t2267,
+ t2250,
+ t2420,
+ t2252,
+ t2419,
+ t2303,
+ t2418,
+ t2417,
+ t2416,
+ t2415,
+ t2414,
+ t2413,
+ t2412,
+ t2411,
+ t2410,
+ t2409,
+ t2408,
+ t2407,
+ t2406,
+ t2177,
+ t2405,
+ t2404,
+ t2403,
+ t2402,
+ t2401,
+ t2400,
+ t2399,
+ t2398,
+ t2397,
+ t2169,
+ t2396,
+ t2395,
+ t2394,
+ t2393,
+ t2392,
+ t2391,
+ t2390,
+ t2389,
+ t2388,
+ t2387,
+ t2386,
+ t1983,
+ t2385,
+ t2384,
+ t2383,
+ t2382,
+ t2381,
+ t2380,
+ t2379,
+ t2378,
+ t2377,
+ t2376,
+ t2375,
+ t2374,
+ t2373,
+ t2372,
+ t2371,
+ t2370,
+ t2369,
+ t2368,
+ t2367,
+ t2366,
+ t2365,
+ t2364,
+ t1984,
+ t2363,
+ t2362,
+ t2361,
+ t2360,
+ t2359,
+ t2331,
+ t2319,
+ t2298,
+ t2290,
+ t2005,
+ t2004,
+ t1973;
+ t2350 = x*x;
+ t2351 = y*y;
+ t2352 = z*z;
+ t2842 = t2352+t2351+t2350;
+ t2337 = RATIONAL(-1.0,175.0);
+ t2483 = t2337*t2350;
+ t2119 = z*t2483;
+ t2347 = z*t2352;
+ t2322 = RATIONAL(-1.0,300.0);
+ t2209 = t2322*t2347;
+ t2843 = t2119+t2209;
+ t2345 = t2350*t2350;
+ t2321 = RATIONAL(-1.0,150.0);
+ t2210 = t2321*t2345;
+ t2329 = RATIONAL(1.0,980.0);
+ t2493 = t2350*t2351;
+ t2112 = t2329*t2493;
+ t2841 = t2210+t2112;
+ t2328 = RATIONAL(1.0,490.0);
+ t2123 = t2328*t2351*t2352;
+ t2278 = RATIONAL(151.0,7350.0);
+ t2840 = t2123+t2278*t2350;
+ t2325 = RATIONAL(-1.0,350.0);
+ t2530 = t2325*t2352;
+ t2045 = x*t2530;
+ t1975 = y*t2045;
+ t2315 = RATIONAL(-1.0,490.0);
+ t2481 = t2352*t2315;
+ t2101 = t2350*t2481;
+ t2346 = t2351*t2351;
+ t2318 = RATIONAL(1.0,600.0);
+ t2208 = t2318*t2346;
+ t2839 = t2101+t1975+t2208;
+ t2332 = RATIONAL(1.0,100.0);
+ t2229 = t2332*t2345;
+ t2301 = RATIONAL(47.0,6125.0);
+ t2838 = t2229+t2301;
+ t2270 = RATIONAL(311.0,29400.0);
+ t2837 = t2123+t2270*t2350+t2301;
+ t2344 = t2352*t2352;
+ t2205 = t2318*t2344;
+ t2836 = t2205+t2843;
+ t2334 = RATIONAL(-1.0,245.0);
+ t2502 = t2352*t2334;
+ t2128 = t2351*t2502;
+ t2473 = t2128+t2301;
+ t2333 = RATIONAL(-1.0,600.0);
+ t2835 = t2473+t2333*t2350;
+ t2489 = t2337*t2352;
+ t2132 = y*t2489;
+ t2348 = y*t2351;
+ t2211 = t2322*t2348;
+ t2787 = t2132+t2211;
+ t2092 = t2315*t2493;
+ t2295 = RATIONAL(-19.0,2100.0);
+ t2165 = t2295*z;
+ t2834 = t2092+t2165;
+ t2212 = t2321*t2346;
+ t2275 = RATIONAL(128.0,3675.0);
+ t2263 = RATIONAL(-169.0,29400.0);
+ t2062 = t2263*t2352;
+ t2833 = t2212+t2275*t2351+t2062;
+ t2323 = RATIONAL(1.0,150.0);
+ t2240 = t2323*t2347;
+ t2235 = t2321*t2344;
+ t2510 = t2240+t2235;
+ t2216 = t2323*t2348;
+ t2492 = t2333*t2347;
+ t2743 = z*t2216+y*t2492;
+ t2512 = t2325*t2350;
+ t2049 = y*t2512;
+ t1987 = z*t2049;
+ t2279 = RATIONAL(-107.0,7000.0);
+ t2569 = y*z;
+ t2726 = t1987+t2279*t2569;
+ t2832 = t2743+t2726;
+ t2335 = RATIONAL(1.0,300.0);
+ t2225 = t2335*t2347;
+ t2349 = t2350*x;
+ t2224 = t2335*t2349;
+ t2514 = z*t2224+x*t2225;
+ t2265 = RATIONAL(-229.0,10500.0);
+ t2560 = z*t2265;
+ t1986 = x*t2560;
+ t2831 = t2514+t1986;
+ t2316 = RATIONAL(1.0,700.0);
+ t2519 = t2316*t2351;
+ t2074 = z*t2519;
+ t2515 = t2329*t2352;
+ t2079 = t2351*t2515;
+ t2830 = t2074+t2079+t2510;
+ t2330 = RATIONAL(8.0,525.0);
+ t2324 = RATIONAL(1.0,350.0);
+ t2541 = t2324*t2350;
+ t2091 = y*t2541;
+ t2476 = t2324*t2352;
+ t2051 = y*t2476;
+ t2525 = t2091+t2051;
+ t2214 = t2321*t2348;
+ t2829 = t2525+t2214+t2330*y;
+ t2054 = y*t2530;
+ t2537 = t2054+t2049;
+ t2326 = RATIONAL(-8.0,525.0);
+ t2828 = t2216+t2537+t2326*y;
+ t2480 = t2349*t2333;
+ t2756 = x*t2216+y*t2480;
+ t2563 = x*t2279;
+ t2016 = y*t2563;
+ t2827 = t1975+t2756+t2016;
+ t2090 = t2350*t2515;
+ t2826 = RATIONAL(-23.0,6125.0)+t2090+t2842*RATIONAL(83.0,3675.0);
+ t2213 = t2322*t2349;
+ t2297 = RATIONAL(-29.0,2100.0);
+ t2825 = t2213+t2297*x;
+ t2217 = t2323*t2349;
+ t2824 = z*t2217+x*t2492;
+ t2470 = t2325*t2351;
+ t2085 = x*t2470;
+ t1994 = z*t2085;
+ t2283 = RATIONAL(187.0,7000.0);
+ t2551 = z*t2283;
+ t2823 = t1994+x*t2551;
+ t2285 = RATIONAL(-137.0,5250.0);
+ t2570 = x*z;
+ t2026 = t2285*t2570;
+ t2822 = t2026+t2514;
+ t2568 = x*y;
+ t2554 = z*t2568;
+ t1964 = RATIONAL(-1.0,1000.0)*t2554;
+ t2543 = t2352*t2568;
+ t2308 = RATIONAL(1.0,1400.0);
+ t1966 = t2308*t2543;
+ t2821 = t1964+t1966;
+ t2220 = t2321*t2347;
+ t2475 = t2348*t2318;
+ t2820 = z*t2475+y*t2220;
+ t2277 = RATIONAL(-187.0,7000.0);
+ t2565 = x*t2277;
+ t2549 = t2324*t2351;
+ t2099 = x*t2549;
+ t1982 = z*t2099;
+ t2819 = t1982+z*t2565;
+ t2511 = t2316*t2352;
+ t2078 = y*t2511;
+ t1977 = x*t2078;
+ t2282 = RATIONAL(-167.0,7000.0);
+ t2818 = t2282*t2568+t1977;
+ t1988 = RATIONAL(1.0,500.0)*t2554;
+ t2317 = RATIONAL(-1.0,700.0);
+ t2469 = t2351*t2317;
+ t2059 = z*t2469;
+ t1978 = x*t2059;
+ t2817 = t1988+t1978;
+ t2292 = RATIONAL(17.0,2100.0);
+ t2816 = t2225+t2292*z;
+ t2342 = RATIONAL(2.0,75.0);
+ t2815 = t2342*y+t2214;
+ t1970 = RATIONAL(1.0,1000.0)*t2554;
+ t2814 = t1970+t1966;
+ t2813 = t1975+t2283*t2568;
+ t2812 = t2054+t2091;
+ t2533 = t2101+t2045;
+ t2810 = t2205+t2533;
+ t2494 = t2235+t2220;
+ t2087 = z*t2541;
+ t2809 = t2494+t2101+t2087;
+ t2327 = RATIONAL(1.0,175.0);
+ t2491 = t2350*t2327;
+ t2073 = z*t2491;
+ t2808 = t2209+t2073;
+ t2271 = RATIONAL(167.0,7000.0);
+ t2552 = y*t2271;
+ t2528 = t2317*t2352;
+ t2084 = x*t2528;
+ t2003 = y*t2084;
+ t2807 = t2003+x*t2552;
+ t2276 = RATIONAL(137.0,5250.0);
+ t2014 = t2276*t2570;
+ t2544 = z*t2213+x*t2209;
+ t2805 = t2014+t2544;
+ t2527 = t2318*t2347;
+ t2804 = y*t2527+z*t2214;
+ t2226 = t2321*t2349;
+ t2803 = x*t2527+z*t2226;
+ t2487 = t2350*t2317;
+ t2113 = z*t2487;
+ t1985 = y*t2113;
+ t2802 = t1988+t1985;
+ t2336 = RATIONAL(1.0,245.0);
+ t2125 = t2336*t2493;
+ t2207 = t2318*t2345;
+ t2801 = t2125+t2207;
+ t2498 = t2349*t2318;
+ t2800 = y*t2498+x*t2214;
+ t2343 = RATIONAL(-2.0,75.0);
+ t2799 = t2343*y+t2216;
+ t2474 = t2337*t2351;
+ t2126 = z*t2474;
+ t2798 = t2225+t2126;
+ t2797 = t2212+t2112;
+ t2268 = RATIONAL(289.0,10500.0);
+ t2564 = y*t2268;
+ t2796 = z*t2564+t1985;
+ t2496 = t2327*t2351;
+ t2093 = z*t2496;
+ t2006 = x*t2093;
+ t2795 = t2026+t2006;
+ t2071 = y*t2487;
+ t2794 = t2071+t2214;
+ t2070 = t2350*t2502;
+ t2793 = t2333*t2351+t2070;
+ t2236 = t2335*t2348;
+ t2175 = t2295*y;
+ t2792 = t2236+t2175;
+ t2500 = t2348*t2333;
+ t2791 = z*t2500+y*t2240;
+ t2066 = t2263*t2351;
+ t2320 = RATIONAL(-2.0,125.0);
+ t2790 = t2066+t2320;
+ t2789 = t2225+t2073;
+ t2788 = t2070+t2205;
+ t1992 = x*t2051;
+ t2274 = RATIONAL(107.0,7000.0);
+ t2557 = x*t2274;
+ t2023 = y*t2557;
+ t2786 = t1992+t2023;
+ t1993 = x*t2126;
+ t2785 = t1993+t2014;
+ t2783 = t1982+z*t2557;
+ t2782 = y*t2217+x*t2500;
+ t2118 = x*t2474;
+ t2781 = t2118+t2224;
+ t2556 = y*t2285;
+ t2477 = z*t2236+y*t2225;
+ t2780 = z*t2556+t2477;
+ t2095 = x*t2519;
+ t1979 = z*t2095;
+ t1971 = RATIONAL(-1.0,500.0)*t2554;
+ t2779 = t1979+t1971;
+ t2266 = RATIONAL(229.0,10500.0);
+ t2558 = z*t2266;
+ t1989 = x*t2558;
+ t2778 = t1989+t2544;
+ t2777 = t2132+t2236;
+ t2539 = y*t2213+x*t2211;
+ t2566 = y*t2276;
+ t2013 = x*t2566;
+ t2776 = t2539+t2013;
+ t2136 = x*t2511;
+ t2775 = t2217+t2136;
+ t2774 = t1992+y*t2565;
+ t2773 = t2225+t2093;
+ t2310 = RATIONAL(11.0,420.0);
+ t2772 = t2126+t2310*z;
+ t2302 = RATIONAL(-37.0,1050.0);
+ t2180 = t2302*x;
+ t2771 = t2217+t2180;
+ t2468 = t2350*t2328;
+ t2108 = t2352*t2468;
+ t2770 = t2235+t2108;
+ t2769 = t2275*t2350+t2062;
+ t2768 = t2113+t2220;
+ t2241 = t2332*t2344;
+ t2313 = RATIONAL(-61.0,980.0);
+ t2767 = t2241+t2313*t2352;
+ t2766 = t1977+t2266*t2568;
+ t2067 = y*t2528;
+ t2765 = t2067+t2214;
+ t2135 = x*t2489;
+ t2764 = t2135+t2213;
+ t2289 = RATIONAL(-17.0,2100.0);
+ t2763 = t2289*y+t2211;
+ t2546 = t2336*t2352;
+ t2131 = t2351*t2546;
+ t2762 = t2205+t2131;
+ t2291 = RATIONAL(-47.0,5250.0);
+ t2559 = y*t2291;
+ t2761 = t1987+z*t2559;
+ t2124 = t2350*t2546;
+ t2760 = t2124+t2207;
+ t2524 = t2327*t2352;
+ t2065 = y*t2524;
+ t2759 = t2065+t2211;
+ t2233 = t2332*t2346;
+ t2758 = t2313*t2351+t2233;
+ t2757 = t2209+t2289*z;
+ t2540 = y*t2209+z*t2211;
+ t2755 = t2540+z*t2566;
+ t2754 = z*t2480+x*t2240;
+ t2060 = t2263*t2350;
+ t2753 = t2060+t2320;
+ t2752 = t2473+t2342*t2350;
+ t2339 = RATIONAL(-1.0,42.0);
+ t2245 = t2339*y;
+ t2751 = t2245+t2216;
+ t2286 = RATIONAL(272.0,6125.0);
+ t2750 = t2286+t2278*t2351;
+ t2749 = t2049+t2051;
+ t2748 = x*t2475+y*t2226;
+ t2137 = x*t2469;
+ t2747 = t2226+t2137;
+ t2340 = RATIONAL(1.0,42.0);
+ t2247 = t2340*z;
+ t2746 = t2247+t2220;
+ t2745 = x*t2220+z*t2498;
+ t2172 = t2302*y;
+ t2744 = t2216+t2172;
+ t2742 = t2265*t2568+t2003;
+ t2164 = t2295*x;
+ t2741 = t2164+t2224;
+ t2259 = t2339*z;
+ t2740 = t2240+t2259;
+ t2009 = t2274*t2569;
+ t1980 = y*t2087;
+ t2739 = t2009+t1980;
+ t2075 = y*t2491;
+ t2738 = t2075+t2065;
+ t2064 = t2334*t2493;
+ t2737 = t2064+t2233;
+ t2272 = RATIONAL(-173.0,6125.0);
+ t2273 = RATIONAL(211.0,7350.0);
+ t2736 = t2272+t2273*t2352;
+ t2300 = RATIONAL(37.0,1050.0);
+ t2174 = t2300*x;
+ t2735 = t2226+t2174;
+ t2734 = t2135+t2118;
+ t2733 = t2084+t2544;
+ t2141 = t2351*t2468;
+ t2732 = t2212+t2141;
+ t2731 = t2064+t2208;
+ t2338 = RATIONAL(-9.0,196.0);
+ t2730 = t2338*t2351+t2233;
+ t2536 = y*t2224+x*t2236;
+ t2729 = t2536+x*t2556;
+ t2471 = t2350*t2316;
+ t2130 = z*t2471;
+ t2728 = t2084+t2130;
+ t2077 = x*t2496;
+ t2088 = x*t2524;
+ t2727 = t2077+t2088;
+ t2562 = z*t2282;
+ t2021 = y*t2562;
+ t2725 = t2021+t2791;
+ t2139 = z*t2512;
+ t2724 = t2101+t2139+t2510;
+ t2306 = RATIONAL(-17.0,525.0);
+ t2723 = t2095+t2306*x+t2136;
+ t2304 = RATIONAL(-17.0,5250.0);
+ t2553 = z*t2304;
+ t2722 = t1993+t2514+x*t2553;
+ t2294 = RATIONAL(17.0,5250.0);
+ t2567 = y*t2294;
+ t2002 = z*t2075;
+ t2721 = t2540+z*t2567+t2002;
+ t1991 = x*t2132;
+ t2720 = t1991+t2304*t2568+t2536;
+ t2719 = t2165+t2773;
+ t2718 = t2494+t2059+t2079;
+ t2008 = t2271*t2570;
+ t2717 = t2008+t2745;
+ t2007 = z*t2552;
+ t2716 = t2007+t2820;
+ t2715 = t2075+t2792;
+ t2027 = x*t2562;
+ t2714 = t2027+t2754;
+ t2156 = t2300*y;
+ t2713 = t2156+t2794;
+ t2296 = RATIONAL(19.0,2100.0);
+ t2166 = t2296*y;
+ t2127 = y*t2483;
+ t2712 = t2166+t2211+t2127;
+ t2181 = t2292*y;
+ t2711 = t2537+t2181+t2236;
+ t2710 = t1992+t2739;
+ t2146 = t2273*t2351;
+ t2262 = RATIONAL(191.0,29400.0);
+ t2709 = t2079+t2262*t2350+t2146;
+ t2167 = t2296*z;
+ t2708 = t2126+t2209+t2167;
+ t2244 = t2340*y;
+ t2707 = t2244+t2794;
+ t2097 = y*t2471;
+ t2706 = t2097+t2306*y+t2078;
+ t1972 = y*t2119;
+ t2705 = t1972+t2755;
+ t2052 = t2351*t2481;
+ t2704 = t2052+t2820;
+ t2307 = RATIONAL(-1.0,1400.0);
+ t1968 = t2307*t2543;
+ t2703 = t1968+t2776;
+ t2702 = t2095+t2771;
+ t2001 = y*t2088;
+ t2701 = x*t2567+t2001+t2539;
+ t2309 = RATIONAL(17.0,525.0);
+ t2700 = t2309*y+t2071+t2067;
+ t2109 = x*t2476;
+ t2532 = t2109+t2099;
+ t2170 = t2289*x;
+ t2699 = t2532+t2213+t2170;
+ t2311 = RATIONAL(-11.0,420.0);
+ t2698 = t2311*y+t2738;
+ t2697 = y*t2553+t1972+t2477;
+ t2145 = t2273*t2350;
+ t2696 = t2262*t2351+t2090+t2145;
+ t2695 = t2156+t2765;
+ t2694 = t2244+t2765;
+ t2693 = t1994+t2753;
+ t1974 = z*t2097;
+ t2692 = t2216+t1974+t2078;
+ t2691 = t2006+t2544+t2294*t2570;
+ t2157 = t2292*x;
+ t2508 = t2085+t2045;
+ t2690 = t2157+t2508+t2224;
+ t2689 = t2208+t2131+t2787;
+ t2688 = t2525+t2763;
+ t2687 = t2108+t2750;
+ t2312 = RATIONAL(-57.0,980.0);
+ t2150 = t2278*t2352;
+ t2686 = t2312*t2350+t2150+t2229;
+ t2685 = t2745+t2823;
+ t2234 = t2335*x;
+ t2684 = t2234+t2077+t2764;
+ t2683 = t2812+t2815;
+ t1976 = RATIONAL(-1.0,250.0)*t2554;
+ t2682 = t1976+t2708;
+ t2231 = t2335*z;
+ t2681 = t2126+t2231+t2808;
+ t2680 = t2748+t2813;
+ t1999 = RATIONAL(1.0,250.0)*t2554;
+ t2679 = t1999+t2828;
+ t2299 = RATIONAL(29.0,2100.0);
+ t2179 = t2299*z;
+ t2138 = z*t2470;
+ t2678 = t2179+t2225+t2119+t2138;
+ t2677 = t2749+t2815;
+ t2676 = t2088+t2099+t2825;
+ t2675 = t2021+t1974+t2743;
+ t2674 = t2338*t2350+t2052+t2838;
+ t2171 = t2299*y;
+ t2673 = t2171+t2054+t2236+t2127;
+ t2168 = t2297*z;
+ t2050 = z*t2549;
+ t2672 = t2168+t2050+t2808;
+ t2671 = t2772+t2843;
+ t2261 = t2342*z;
+ t2670 = t2261+t2139+t2220+t2050;
+ t2669 = t2799+t2812;
+ t2668 = t1976+t2712;
+ t2043 = t2270*t2351;
+ t2239 = t2338*t2352;
+ t2667 = t2241+t2108+t2043+t2239;
+ t2666 = t2748+t2807;
+ t2665 = t2756+t2818;
+ t2664 = t1985+t2007+t2804;
+ t2663 = t2109+t2077+t2825;
+ t2182 = t2297*y;
+ t2662 = t2091+t2182+t2759;
+ t2223 = t2322*y;
+ t2661 = t2075+t2223+t2777;
+ t2660 = t2179+t2139+t2798;
+ t2659 = t2726+t2791;
+ t2658 = t2139+t2719;
+ t2657 = t1978+t2008+t2803;
+ t2656 = t2782+t2818;
+ t2655 = t2800+t2807;
+ t2654 = t1999+t2712;
+ t2653 = t2171+t2049+t2777;
+ t2652 = RATIONAL(202.0,6125.0)+t2842*RATIONAL(-529.0,29400.0);
+ t2651 = t1976+t2829;
+ t2650 = t1999+t2715;
+ t2649 = t1999+t2829;
+ t2206 = t2322*z;
+ t2648 = t2119+t2206+t2773;
+ t2647 = t2774+t2782;
+ t2646 = t1979+t2027+t2824;
+ t2018 = z*t2563;
+ t2645 = t1994+t2018+t2824;
+ t2644 = t2272+t2262*t2352+t2146+t2145;
+ t2643 = t1999+t2708;
+ t2642 = t2168+t2209+t2087+t2093;
+ t2641 = t1976+t2715;
+ t2122 = t2270*t2352;
+ t2640 = t2122+t2141+t2730;
+ t2639 = t2240+t2130+t2775;
+ t2638 = t2051+t2075+t2182+t2211;
+ t2258 = t2343*z;
+ t2637 = t2240+t2258+t2087+t2138;
+ t2238 = t2335*y;
+ t2636 = t2238+t2127+t2759;
+ t2635 = t2803+t2823;
+ t2634 = t2236+t2698;
+ t2633 = t2749+t2799;
+ t2632 = t2819+t2824;
+ t2173 = t2299*x;
+ t2631 = t2135+t2085+t2173+t2224;
+ t2630 = t2084+t2226+t2768;
+ t2629 = t1976+t2828;
+ t2218 = t2322*x;
+ t2628 = t2218+t2088+t2781;
+ t2627 = t2783+t2790;
+ t2193 = t2311*z;
+ t2626 = t2193+t2073+t2773;
+ t2190 = t2310*x;
+ t2625 = t2213+t2190+t2734;
+ t2624 = t2224+t2311*x+t2727;
+ t2623 = t2216+t2097+t2747;
+ t2622 = t2173+t2045+t2781;
+ t2621 = t2754+t2819;
+ t2620 = t2241+t2312*t2352+t2840;
+ t2619 = t2310*y+t2127+t2787;
+ t2192 = t2309*x;
+ t2466 = t2351*t2570;
+ t1969 = t2308*t2466;
+ t2618 = t2084+t2192+t1969+t2747;
+ t1963 = t2307*t2466;
+ t2617 = t2217+t1963+t2723;
+ t2616 = t1971+t2675;
+ t2615 = t2210+t2208+t2696;
+ t2614 = t1988+t2664;
+ t2467 = t2350*t2569;
+ t1967 = t2308*t2467;
+ t2613 = t1967+t2216+t2706;
+ t2612 = t1988+t1979+t1974+t2740;
+ t2611 = t1988+t2675;
+ t2610 = t2131+t2652;
+ t1965 = t2307*t2467;
+ t2609 = t2214+t1965+t2700;
+ t2608 = t2101+t2207+t2709;
+ t2607 = t1971+t1985+t1978+t2746;
+ t2606 = t2514+t2124+t2291*t2570+t2833;
+ t2605 = t1971+t2664;
+ t2153 = t2275*t2352;
+ t2604 = t2235+t2153+t2060+t2745;
+ t2260 = t2342*t2352;
+ t2603 = t2064+t2207+t2260+t2730+t2837;
+ t2314 = RATIONAL(-33.0,980.0);
+ t2602 = t2314*t2352+t2125+t2241+t2208+t2793+t2835;
+ t2222 = t2326*x;
+ t2601 = t2217+t2222+t2065+t2508+t2792;
+ t2042 = x*t2559;
+ t2600 = t1975+t2042+t2659;
+ t2287 = RATIONAL(47.0,5250.0);
+ t2561 = y*t2287;
+ t2038 = z*t2561;
+ t2599 = t1980+t2038+t2645;
+ t2232 = t2333*t2352;
+ t2598 = t2314*t2350+t2232+t2064+t2793+t2838;
+ t2227 = t2330*x;
+ t2597 = t2227+t2532+t2226+t2166+t2787;
+ t2596 = t2125+t2153+t2066+t2018+t2754;
+ t2516 = t2139+t2138;
+ t2162 = t2296*x;
+ t2243 = t2326*z;
+ t2595 = t2516+t2240+t2213+t2162+t2118+t2243;
+ t2594 = t2761+t2783+t2803;
+ t2593 = t2043+t2260+t2731+t2770;
+ t2465 = t2054+t2539;
+ t2592 = t2097+t2465+t2751+t2766;
+ t2037 = x*t2561;
+ t2591 = t2037+t2710+t2820;
+ t2590 = t2286+t2210+t2312*t2351+t2090+t2150+t2141+t2233+t2840;
+ t2589 = t2125+t2610;
+ t2253 = t2342*t2351;
+ t2588 = t2122+t2253+t2732+t2788;
+ t2587 = t2232+t2314*t2351+t2737+t2835;
+ t2221 = t2330*z;
+ t2535 = t2087+t2050;
+ t2586 = t2221+t2220+t2077+t2535+t2741;
+ t2456 = t2051+t2536;
+ t2585 = t2456+t2707+t2742;
+ t2584 = t2113+t2309*z+t2826;
+ t2583 = t2516+t2657+t2816;
+ t2463 = t2241+t2070+t2207;
+ t2582 = t2212+t2463+t2092+t2253+t2239+t2837;
+ t2581 = t1982+t2287*t2570+t2753+t2833;
+ t2580 = t2535+t2646+t2757;
+ t2484 = t2101+t2052;
+ t2248 = t2340*x;
+ t2579 = t2484+t2248+t2205+t2644;
+ t2578 = t2748+t2769+t2786+t2790;
+ t2577 = t2827+t2832;
+ t2576 = t2786+t2800+t2832;
+ t2534 = t2217+t2210;
+ t2440 = t2534+t2810;
+ t2246 = t2339*x;
+ t2575 = t2440+t2095+t2246+t2112+t2644;
+ t2574 = t2023+t2710+t2800+t2804;
+ t2573 = t2739+t2804+t2827;
+ t2572 = t2306*z+t2130+t2826+t2830+t2841;
+ t2571 = t2210+t2016+t2092+t2762+t2769+t2782;
+ t2269 = RATIONAL(-289.0,10500.0);
+ t2555 = z*t2269;
+ t2550 = t2207+t2224;
+ t2547 = t2085+t2138;
+ t2545 = t2213+t2207;
+ t2542 = t2052+t2138;
+ t2538 = t1979+t2235;
+ t2531 = t2092+t2099;
+ t2529 = t2085+t2092;
+ t2526 = t2109+t2208;
+ t2523 = t2216+t2212;
+ t2522 = t2109+t2101;
+ t2520 = t2054+t2109;
+ t2518 = t2138+t2099;
+ t2517 = t2091+t2092;
+ t2513 = t2049+t2092;
+ t2507 = t2054+t2045;
+ t2506 = t2212+t2214;
+ t2505 = t2108+t2141;
+ t2504 = t2208+t2045;
+ t2501 = t2049+t2087;
+ t2497 = t2050+t2052;
+ t2495 = t2212+t2139;
+ t2490 = t2051+t2045;
+ t2486 = t2085+t2205;
+ t2485 = t2139+t2091;
+ t2482 = t2109+t2051;
+ t2479 = t2050+t2099;
+ t2478 = t2208+t2236;
+ t2472 = t2226+t2210;
+ t2464 = t2051+t2539;
+ t2462 = t2087+t2477;
+ t2460 = t2125+t2124+t2131;
+ t2459 = t2049+t2540;
+ t2458 = t2087+t2540;
+ t2457 = t2139+t2540;
+ t2455 = t2091+t2477;
+ t2454 = t2208+t2514;
+ t2280 = RATIONAL(292.0,6125.0);
+ t2341 = RATIONAL(-1.0,20.0);
+ t2452 = t2341*t2350+t2128+t2280+t2229;
+ t2281 = RATIONAL(592.0,6125.0);
+ t2451 = t2281+t2313*t2350+t2123+t2229;
+ t2447 = t2212+t2687;
+ t2445 = t2205+t2760+t2789;
+ t2444 = t2212+t2718;
+ t2443 = t2208+t2539+t2801;
+ t2442 = t2065+t2478+t2762;
+ t2441 = t2760+t2836;
+ t2439 = t2137+t2472+t2797;
+ t2438 = t2210+t2536+t2797;
+ t2437 = t1980+t2277*t2569+t2674;
+ t2436 = y*t2551+t1987+t2674;
+ t2435 = t2342*x+t2472+t2752;
+ t2434 = t2729+t2805;
+ t2433 = t2729+t2780;
+ t2432 = t2343*x+t2534+t2752;
+ t2431 = t2729+t2755;
+ t2430 = t2776+t2822;
+ t2429 = t2776+t2780;
+ t2428 = t1985+t2092+t2538+t2736+t2807;
+ t2427 = t2162+t2497+t2545+t2693;
+ t2426 = t1978+t2259+t2510+t2531+t2736;
+ t2425 = t2164+t2542+t2550+t2693;
+ t2424 = t2235+t2085+t2513+t2736+t2818;
+ t2423 = t2247+t1974+t2494+t2517+t2736;
+ t2422 = t1980+t2627+t2839;
+ t2421 = t2445+t2544+t2764;
+ t2267 = RATIONAL(431.0,29400.0);
+ t2250 = t2341*t2352;
+ t2420 = t2267*t2351+t2241+t2250+t2124+t2452+t2731;
+ t2252 = t2341*t2351;
+ t2419 = t2252+t2250+t2267*t2350+t2280+t2131+t2463+t2737;
+ t2303 = RATIONAL(68.0,3675.0);
+ t2418 = t2303*t2351+t2124+t2451+t2732+t2767;
+ t2417 = t2125+t2252+t2267*t2352+t2233+t2452+t2788;
+ t2416 = t2125+t2303*t2352+t2451+t2758+t2770;
+ t2415 = t2303*t2350+t2281+t2210+t2131+t2505+t2758+t2767;
+ t2414 = t2582+t2756+t2774;
+ t2413 = t2234+t2088+t2118+t2545+t2602;
+ t2412 = t2436+t2588+t2804;
+ t2411 = t2435+t2504+t2531+t2667;
+ t2410 = x*t2555+t2514+t2538+t2590;
+ t2409 = t2435+t2486+t2522+t2640;
+ t2408 = t2238+t2075+t2205+t2598+t2689;
+ t2407 = t2126+t2206+t2445+t2587;
+ t2406 = t2258+t2050+t2603+t2724;
+ t2177 = t2302*z;
+ t2405 = t2177+t2087+t2141+t2447+t2686+t2830;
+ t2404 = t2235+t1978+t2268*t2570+t2544+t2590;
+ t2403 = t2432+t2526+t2529+t2667;
+ t2402 = x*t2564+t2003+t2447+t2539+t2620+t2841;
+ t2401 = t2437+t2593+t2791;
+ t2400 = t2582+t2800+t2813;
+ t2399 = t2437+t2588+t2743;
+ t2398 = t2261+t2138+t2603+t2809;
+ t2397 = t2099+t2432+t2640+t2810;
+ t2169 = t2300*z;
+ t2396 = t2139+t2169+t2444+t2505+t2686+t2750;
+ t2395 = t2436+t2593+t2820;
+ t2394 = t2223+t2127+t2442+t2598;
+ t2393 = t2269*t2568+t1977+t2438+t2620+t2687;
+ t2392 = t2093+t2231+t2441+t2587;
+ t2391 = t2218+t2135+t2077+t2550+t2602;
+ t2390 = t1991+t2443+t2205+t2124+t2013+t2610+t2619+t2624;
+ t2389 = t1992+t2443+t2037+t2484+t2604+t2627+t2659;
+ t2388 = t2440+t2578+t2085+t2222+t2166+t2517+t2689;
+ t2387 = t2441+t2478+t2589+t2698+t2705+t2772;
+ t2386 = t2109+t2439+t2464+t2579+t2707+t2766;
+ t1983 = y*t2560;
+ t2385 = t1983+t2212+t2428+t2477+t2608+t2714+t2800;
+ t2384 = t2088+t2425+t2486+t2606+t2789+t2834;
+ t2383 = t2212+t2575+t2087+t2497+t2657+t2757;
+ t2382 = t2221+t2427+t2118+t2526+t2596+t2809;
+ t2381 = t2426+t2248+t1986+t2454+t2472+t2542+t2696+t2728;
+ t2380 = t2426+t2074+t2170+t2495+t2522+t2545+t2709+t2717;
+ t2379 = t2523+t2572+t1965+t2706+t2755;
+ t2378 = t2077+t2243+t2425+t2504+t2596+t2724;
+ t2377 = t2162+t2052+t2421+t2518+t2581+t2834;
+ t2376 = t2227+t2442+t2175+t2099+t2472+t2513+t2522+t2578;
+ t2375 = t2571+t2477+t2645+t2761+t2790+t2839;
+ t2374 = t2441+t2088+t2167+t2497+t2529+t2544+t2581+t2741;
+ t2373 = t2428+t2007+t2615+t2704+t2748+t2778;
+ t2372 = t1969+t2444+t2112+t2534+t2584+t2723+t2822;
+ t2371 = t2245+t2438+t2520+t2579+t2623+t2742;
+ t2370 = t2245+t2424+t2157+t2078+t2523+t2533+t2550+t2709+t2756;
+ t2369 = t2054+t2424+t2246+t2136+t2181+t2052+t2478+t2534+t2696+t2782;
+ t2368 = t2423+t2051+t2113+t2497+t2615+t2725+t2763;
+ t2367 = t2422+t2038+t2540+t2571+t2803;
+ t2366 = t2009+t2422+t2042+t2536+t2604+t2704+t2801;
+ t2365 = t2427+t2135+t2167+t2531+t2606+t2836;
+ t2364 = t2001+t2205+t2207+t2433+t2002+t2454+t2460+t2652+t2795;
+ t1984 = y*t2558;
+ t2363 = t1984+t2423+t2059+t2244+t2067+t2458+t2506+t2608;
+ t2362 = t2208+t2193+t2190+t2093+t2118+t2421+t2589+t2785;
+ t2361 = t2495+t2575+t2542+t2646+t2816;
+ t2360 = t1967+t2506+t2572+t2700+t2780;
+ t2359 = t2014+t2192+t1963+t2439+t2584+t2718+t2733;
+ t2331 = RATIONAL(-4.0,105.0);
+ t2319 = RATIONAL(4.0,105.0);
+ t2298 = RATIONAL(-41.0,2100.0);
+ t2290 = RATIONAL(41.0,2100.0);
+ t2005 = RATIONAL(-1.0,125.0)*t2554;
+ t2004 = RATIONAL(1.0,125.0)*t2554;
+ t1973 = y*t2555;
+ coeff_I_m2_m2_m2 = t2005+t2364+t2619+t2625+t2671;
+ coeff_I_m1_m2_m2 = t2388+t2462+t2594+t2682;
+ coeff_I_0_m2_m2 = t2408+t2681+t2697;
+ coeff_I_p1_m2_m2 = t2091+t2375+t2087+t2597+t2643;
+ coeff_I_p2_m2_m2 = t2004+t2390+t2002+t2544+t2671+t2780+t2785;
+ coeff_I_m2_m1_m2 = t2365+t2574+t2629;
+ coeff_I_m1_m1_m2 = t2383+t2592+t2605;
+ coeff_I_0_m1_m2 = t2412+t2669+t2672;
+ coeff_I_p1_m1_m2 = t2371+t2580+t2614;
+ coeff_I_p2_m1_m2 = t2374+t2573+t2679;
+ coeff_I_m2_0_m2 = t2392+t2684+t2722;
+ coeff_I_m1_0_m2 = t2397+t2635+t2642;
+ coeff_I_0_0_m2 = t2298*z+t2417+t2093+t2808;
+ coeff_I_p1_0_m2 = t2409+t2632+t2642;
+ coeff_I_p2_0_m2 = t2392+t2628+t2691;
+ coeff_I_m2_p1_m2 = t2365+t2577+t2649;
+ coeff_I_m1_p1_m2 = t2383+t2585+t2611;
+ coeff_I_0_p1_m2 = t2399+t2672+t2677;
+ coeff_I_p1_p1_m2 = t2386+t2580+t2616;
+ coeff_I_p2_p1_m2 = t2374+t2576+t2651;
+ coeff_I_m2_p2_m2 = t1991+t2004+t2006+t2387+t2430+t2625;
+ coeff_I_m1_p2_m2 = t2367+t2501+t2601+t2643;
+ coeff_I_0_p2_m2 = t2394+t2681+t2721;
+ coeff_I_p1_p2_m2 = t2376+t2458+t2599+t2682;
+ coeff_I_p2_p2_m2 = t2005+t1993+t2001+t2387+t2434+t2624;
+ coeff_I_m2_m2_m1 = t2366+t2482+t2595+t2668;
+ coeff_I_m1_m2_m1 = t1971+t2246+t2259+t2373+t2547+t2639+t2688;
+ coeff_I_0_m2_m1 = t2395+t2637+t2638;
+ coeff_I_p1_m2_m1 = t2381+t2656+t2688+t2716+t2802;
+ coeff_I_p2_m2_m1 = t2378+t2464+t2591+t2654;
+ coeff_I_m2_m1_m1 = t1984+t2245+t1971+t2380+t2459+t2655+t2692;
+ coeff_I_m1_m1_m1 = t1964+t2379+t2617+t2703+t2805;
+ coeff_I_0_m1_m1 = t2091+t2405+t2078+t2540+t2744+t2796;
+ coeff_I_p1_m1_m1 = t2379+t2618+t2729+t2814+t2822;
+ coeff_I_p2_m1_m1 = t1984+t2074+t2370+t2457+t2612+t2714;
+ coeff_I_m2_0_m1 = t2406+t2663+t2685;
+ coeff_I_m1_0_m1 = t2404+t2180+t2177+t2479+t2639;
+ coeff_I_0_0_m1 = t2240+t2331*z+t2416+t2535;
+ coeff_I_p1_0_m1 = t2240+t2085+t2177+t2050+t2410+t2728+t2735;
+ coeff_I_p2_0_m1 = t2406+t2621+t2622;
+ coeff_I_m2_p1_m1 = t1983+t2380+t2455+t2665+t2694+t2802;
+ coeff_I_m1_p1_m1 = t2360+t2434+t2617+t2814;
+ coeff_I_0_p1_m1 = t2049+t1973+t2405+t1974+t2477+t2695;
+ coeff_I_p1_p1_m1 = t1968+t1964+t2360+t2430+t2618;
+ coeff_I_p2_p1_m1 = t2074+t1971+t2385+t2485+t2690+t2694+t2740;
+ coeff_I_m2_p2_m1 = t2389+t2520+t2595+t2650;
+ coeff_I_m1_p2_m1 = t2369+t2130+t2138+t2612+t2725+t2778;
+ coeff_I_0_p2_m1 = t2401+t2637+t2673;
+ coeff_I_p1_p2_m1 = t1971+t2381+t1974+t2666+t2711+t2725;
+ coeff_I_p2_p2_m1 = t2054+t2378+t2536+t2600+t2641;
+ coeff_I_m2_m2_0 = t2413+t2636+t2720;
+ coeff_I_m1_m2_0 = t2403+t2662+t2680;
+ coeff_I_0_m2_0 = t2298*y+t2420+t2211+t2738;
+ coeff_I_p1_m2_0 = t2411+t2647+t2662;
+ coeff_I_p2_m2_0 = t2391+t2636+t2701;
+ coeff_I_m2_m1_0 = t2400+t2633+t2676;
+ coeff_I_m1_m1_0 = t2097+t2402+t2482+t2702+t2744;
+ coeff_I_0_m1_0 = t2216+t2418+t2331*y+t2525;
+ coeff_I_p1_m1_0 = t2172+t2174+t2393+t2490+t2623;
+ coeff_I_p2_m1_0 = t2414+t2631+t2633;
+ coeff_I_m2_0_0 = t2213+t2298*x+t2419+t2727;
+ coeff_I_m1_0_0 = t2415+t2217+t2331*x+t2532;
+ coeff_I_0_0_0 = t2233+RATIONAL(937.0,6125.0)+t2241+t2229+t2842*RATIONAL(
+-13.0,196.0)+t2460;
+ coeff_I_p1_0_0 = t2415+t2226+t2319*x+t2508;
+ coeff_I_p2_0_0 = t2290*x+t2224+t2419+t2734;
+ coeff_I_m2_p1_0 = t2414+t2676+t2683;
+ coeff_I_m1_p1_0 = t2393+t2520+t2702+t2713;
+ coeff_I_0_p1_0 = t2418+t2319*y+t2214+t2537;
+ coeff_I_p1_p1_0 = t2402+t2137+t2507+t2713+t2735;
+ coeff_I_p2_p1_0 = t2400+t2631+t2683;
+ coeff_I_m2_p2_0 = t2413+t2661+t2701;
+ coeff_I_m1_p2_0 = t2403+t2647+t2653;
+ coeff_I_0_p2_0 = t2290*y+t2420+t2127+t2777;
+ coeff_I_p1_p2_0 = t2411+t2653+t2680;
+ coeff_I_p2_p2_0 = t2391+t2661+t2720;
+ coeff_I_m2_m2_p1 = t2382+t2456+t2600+t2654;
+ coeff_I_m1_m2_p1 = t2368+t2085+t2246+t2666+t2775+t2817+t2831;
+ coeff_I_0_m2_p1 = t2401+t2638+t2670;
+ coeff_I_p1_m2_p1 = t1989+t2226+t2368+t2248+t2099+t2656+t2733+t2779;
+ coeff_I_p2_m2_p1 = t2389+t2490+t2586+t2668;
+ coeff_I_m2_m1_p1 = t1988+t2059+t2078+t2385+t2501+t2699+t2746+t2751;
+ coeff_I_m1_m1_p1 = t1968+t2372+t1970+t2429+t2613;
+ coeff_I_0_m1_p1 = t2396+t2172+t1973+t2455+t2692;
+ coeff_I_p1_m1_p1 = t2359+t2433+t2613+t2821;
+ coeff_I_p2_m1_p1 = t1983+t2059+t2370+t2462+t2607+t2717;
+ coeff_I_m2_0_p1 = t2398+t2621+t2663;
+ coeff_I_m1_0_p1 = t2169+t2136+t2410+t2518+t2768+t2771;
+ coeff_I_0_0_p1 = t2319*z+t2220+t2416+t2516;
+ coeff_I_p1_0_p1 = t2404+t2169+t2174+t2547+t2630;
+ coeff_I_p2_0_p1 = t2398+t2622+t2685;
+ coeff_I_m2_p1_p1 = t2363+t2665+t2699+t2714+t2779;
+ coeff_I_m1_p1_p1 = t2372+t2431+t2609+t2821;
+ coeff_I_0_p1_p1 = t2396+t2459+t2695+t2796;
+ coeff_I_p1_p1_p1 = t2359+t1970+t2609+t2703+t2755;
+ coeff_I_p2_p1_p1 = t2363+t2655+t2690+t2717+t2817;
+ coeff_I_m2_p2_p1 = t2382+t2465+t2591+t2641;
+ coeff_I_m1_p2_p1 = t2369+t2113+t2050+t2607+t2716+t2831;
+ coeff_I_0_p2_p1 = t2395+t2670+t2673;
+ coeff_I_p1_p2_p1 = t1988+t2247+t2248+t2373+t2479+t2630+t2711;
+ coeff_I_p2_p2_p1 = t2366+t2507+t2586+t2650;
+ coeff_I_m2_m2_p2 = t1972+t2004+t2362+t2001+t2431+t2619;
+ coeff_I_m1_m2_p2 = t1999+t2388+t2457+t2599+t2719;
+ coeff_I_0_m2_p2 = t2408+t2648+t2721;
+ coeff_I_p1_m2_p2 = t1976+t2367+t2485+t2597+t2719;
+ coeff_I_p2_m2_p2 = t2005+t2390+t2514+t2626+t2705+t2795;
+ coeff_I_m2_m1_p2 = t2377+t2576+t2679;
+ coeff_I_m1_m1_p2 = t2361+t2592+t2611;
+ coeff_I_0_m1_p2 = t2399+t2669+t2678;
+ coeff_I_p1_m1_p2 = t2371+t2583+t2616;
+ coeff_I_p2_m1_p2 = t2384+t2577+t2629;
+ coeff_I_m2_0_p2 = t2407+t2684+t2691;
+ coeff_I_m1_0_p2 = t2397+t2632+t2660;
+ coeff_I_0_0_p2 = t2290*z+t2119+t2417+t2798;
+ coeff_I_p1_0_p2 = t2409+t2635+t2660;
+ coeff_I_p2_0_p2 = t2407+t2628+t2722;
+ coeff_I_m2_p1_p2 = t2377+t2573+t2651;
+ coeff_I_m1_p1_p2 = t2361+t2585+t2605;
+ coeff_I_0_p1_p2 = t2412+t2677+t2678;
+ coeff_I_p1_p1_p2 = t2386+t2583+t2614;
+ coeff_I_p2_p1_p2 = t2384+t2574+t2649;
+ coeff_I_m2_p2_p2 = t2005+t1991+t2362+t2002+t2429+t2634;
+ coeff_I_m1_p2_p2 = t1976+t2049+t2375+t2601+t2658;
+ coeff_I_0_p2_p2 = t2394+t2648+t2697;
+ coeff_I_p1_p2_p2 = t1999+t2376+t2477+t2594+t2658;
+ coeff_I_p2_p2_p2 = t2364+t2004+t2624+t2626+t2634;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c
new file mode 100644
index 0000000..567d333
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c
@@ -0,0 +1,983 @@
+fp t3205,
+ t2864,
+ t3027,
+ t3198,
+ t2868,
+ t2846,
+ t3044,
+ t3202,
+ t2863,
+ t3345,
+ t3203,
+ t3056,
+ t2906,
+ t3054,
+ t3053,
+ t3025,
+ t2978,
+ t3325,
+ t3028,
+ t3196,
+ t2894,
+ t2849,
+ t2876,
+ t3030,
+ t3204,
+ t2903,
+ t3344,
+ t3055,
+ t2913,
+ t3343,
+ t2973,
+ t2960,
+ t3342,
+ t2963,
+ t2912,
+ t2997,
+ t3341,
+ t3045,
+ t2923,
+ t3340,
+ t2883,
+ t3339,
+ t3201,
+ t2908,
+ t3338,
+ t3189,
+ t3052,
+ t3337,
+ t2896,
+ t3199,
+ t2880,
+ t3336,
+ t2966,
+ t2902,
+ t3335,
+ t3024,
+ t2977,
+ t3178,
+ t2996,
+ t2927,
+ t3150,
+ t2979,
+ t2895,
+ t3334,
+ t3022,
+ t2985,
+ t3333,
+ t3332,
+ t3197,
+ t2866,
+ t3331,
+ t2897,
+ t2998,
+ t2928,
+ t3330,
+ t3195,
+ t2879,
+ t2984,
+ t3329,
+ t3020,
+ t2957,
+ t2862,
+ t2999,
+ t2919,
+ t3328,
+ t2932,
+ t3327,
+ t3050,
+ t2987,
+ t3326,
+ t2898,
+ t3324,
+ t3051,
+ t3179,
+ t2925,
+ t3152,
+ t3200,
+ t3015,
+ t2856,
+ t3323,
+ t3002,
+ t3322,
+ t2887,
+ t3192,
+ t2915,
+ t3321,
+ t2909,
+ t3320,
+ t2995,
+ t3319,
+ t2988,
+ t3039,
+ t3318,
+ t2990,
+ t3021,
+ t2967,
+ t2861,
+ t3317,
+ t3316,
+ t3023,
+ t3175,
+ t3315,
+ t3194,
+ t2859,
+ t3314,
+ t2956,
+ t2882,
+ t3313,
+ t2974,
+ t2901,
+ t3312,
+ t2976,
+ t3311,
+ t3310,
+ t3309,
+ t3042,
+ t3187,
+ t3001,
+ t3153,
+ t2962,
+ t2907,
+ t3308,
+ t2918,
+ t3307,
+ t2959,
+ t3306,
+ t2941,
+ t3305,
+ t2885,
+ t3304,
+ t3303,
+ t3302,
+ t3301,
+ t3300,
+ t3299,
+ t2994,
+ t2924,
+ t2869,
+ t3298,
+ t2971,
+ t2899,
+ t2929,
+ t3297,
+ t3171,
+ t3004,
+ t3296,
+ t2982,
+ t3295,
+ t3294,
+ t3293,
+ t3292,
+ t3291,
+ t3290,
+ t2871,
+ t3289,
+ t3288,
+ t3000,
+ t3287,
+ t3286,
+ t2983,
+ t3285,
+ t2917,
+ t3284,
+ t3283,
+ t2935,
+ t3282,
+ t3281,
+ t3280,
+ t3279,
+ t3278,
+ t3191,
+ t3016,
+ t2853,
+ t3277,
+ t2889,
+ t3276,
+ t3275,
+ t3274,
+ t3273,
+ t2904,
+ t3272,
+ t3046,
+ t3271,
+ t3270,
+ t3168,
+ t3269,
+ t3268,
+ t2873,
+ t2920,
+ t3252,
+ t3142,
+ t3267,
+ t3266,
+ t3265,
+ t2992,
+ t3264,
+ t2914,
+ t3006,
+ t3263,
+ t3013,
+ t2892,
+ t3262,
+ t3261,
+ t3180,
+ t3260,
+ t2931,
+ t3133,
+ t3259,
+ t2986,
+ t3159,
+ t3258,
+ t3257,
+ t3256,
+ t3255,
+ t3036,
+ t3254,
+ t3253,
+ t3029,
+ t3251,
+ t3250,
+ t2858,
+ t2993,
+ t3249,
+ t3127,
+ t3248,
+ t3247,
+ t3246,
+ t3009,
+ t3245,
+ t3007,
+ t3244,
+ t3010,
+ t3243,
+ t3242,
+ t3049,
+ t3241,
+ t3240,
+ t3239,
+ t3238,
+ t3237,
+ t3236,
+ t2991,
+ t2867,
+ t3235,
+ t3234,
+ t3233,
+ t2911,
+ t3232,
+ t3231,
+ t3230,
+ t3229,
+ t3012,
+ t3228,
+ t3227,
+ t2872,
+ t3226,
+ t3225,
+ t3011,
+ t3224,
+ t3223,
+ t3222,
+ t3221,
+ t3220,
+ t3219,
+ t3014,
+ t3218,
+ t3217,
+ t2848,
+ t3216,
+ t3215,
+ t3214,
+ t3213,
+ t3018,
+ t2905,
+ t3212,
+ t2847,
+ t3211,
+ t3210,
+ t2900,
+ t3209,
+ t2910,
+ t3208,
+ t3207,
+ t3206,
+ t3193,
+ t3190,
+ t3188,
+ t3186,
+ t3185,
+ t3184,
+ t3182,
+ t3181,
+ t2850,
+ t3177,
+ t3176,
+ t3172,
+ t3170,
+ t3169,
+ t3167,
+ t3166,
+ t3165,
+ t3164,
+ t3163,
+ t3162,
+ t3161,
+ t2844,
+ t3160,
+ t3158,
+ t3157,
+ t3156,
+ t3155,
+ t3154,
+ t3151,
+ t3149,
+ t2989,
+ t3148,
+ t3147,
+ t3146,
+ t3145,
+ t3144,
+ t2953,
+ t3143,
+ t3141,
+ t3140,
+ t3139,
+ t3138,
+ t3137,
+ t3136,
+ t3135,
+ t3134,
+ t3132,
+ t3131,
+ t3130,
+ t3129,
+ t3128,
+ t3126,
+ t3125,
+ t3124,
+ t3123,
+ t3122,
+ t3121,
+ t3120,
+ t3119,
+ t3118,
+ t3117,
+ t3116,
+ t3115,
+ t3114,
+ t3113,
+ t3112,
+ t3111,
+ t3110,
+ t2845,
+ t3109,
+ t3108,
+ t3107,
+ t3106,
+ t3105,
+ t3104,
+ t3103,
+ t3102,
+ t3101,
+ t3100,
+ t3099,
+ t3098,
+ t3097,
+ t3096,
+ t3095,
+ t3094,
+ t3093,
+ t3092,
+ t3091,
+ t3090,
+ t3089,
+ t3088,
+ t3087,
+ t3086,
+ t3085,
+ t3084,
+ t3083,
+ t2857,
+ t2851,
+ t3082,
+ t3081,
+ t3080,
+ t3079,
+ t3078,
+ t3077,
+ t3076,
+ t2944,
+ t3075,
+ t2854,
+ t3074,
+ t3073,
+ t3072,
+ t3071,
+ t3070,
+ t3069,
+ t3068,
+ t3067,
+ t3066,
+ t3065,
+ t3064,
+ t3063,
+ t3062,
+ t3061,
+ t3060,
+ t2855,
+ t2852;
+ t3205 = y*z;
+ t2864 = RATIONAL(1.0,500.0)*t3205;
+ t3027 = RATIONAL(1.0,350.0);
+ t3198 = x*t3027;
+ t2868 = y*t3198;
+ t2846 = z*t2868;
+ t3044 = RATIONAL(-1.0,175.0);
+ t3202 = x*t3044;
+ t2863 = z*t3202;
+ t3345 = t2864+t2846+t2863;
+ t3203 = x*RATIONAL(2.0,245.0);
+ t3056 = z*z;
+ t2906 = t3056*t3203;
+ t3054 = x*x;
+ t3053 = x*t3054;
+ t3025 = RATIONAL(1.0,150.0);
+ t2978 = t3025*t3053;
+ t3325 = t2906+t2978;
+ t3028 = RATIONAL(-1.0,350.0);
+ t3196 = x*t3028;
+ t2894 = y*t3196;
+ t2849 = z*t2894;
+ t2876 = RATIONAL(-1.0,500.0)*t3205;
+ t3030 = RATIONAL(1.0,175.0);
+ t3204 = x*t3030;
+ t2903 = z*t3204;
+ t3344 = t2849+t2903+t2876;
+ t3055 = y*y;
+ t2913 = t3055*t3203;
+ t3343 = RATIONAL(-529.0,14700.0)*x+t2913;
+ t2973 = t3028*t3056;
+ t2960 = RATIONAL(1.0,100.0)*t3054;
+ t3342 = t2973+t2960;
+ t2963 = t3027*t3056;
+ t2912 = y*t2963;
+ t2997 = RATIONAL(-187.0,7000.0);
+ t3341 = t2997*y+t2912;
+ t3045 = RATIONAL(-1.0,42.0);
+ t2923 = RATIONAL(211.0,3675.0)*x;
+ t3340 = t3045+t2923;
+ t2883 = z*t3196;
+ t3339 = t2864+t2883;
+ t3201 = x*RATIONAL(-1.0,245.0);
+ t2908 = t3056*t3201;
+ t3338 = t2908+t2978;
+ t3189 = t3054*RATIONAL(-1.0,200.0);
+ t3052 = t3055*y;
+ t3337 = t3025*t3052+y*t3189;
+ t2896 = RATIONAL(1.0,125.0)*t3205;
+ t3199 = x*RATIONAL(2.0,175.0);
+ t2880 = y*t3199;
+ t3336 = t2896+t2880;
+ t2966 = t3027*t3055;
+ t2902 = z*t2966;
+ t3335 = t2902+t2997*z;
+ t3024 = RATIONAL(-1.0,300.0);
+ t2977 = RATIONAL(-1.0,100.0)*t3054;
+ t3178 = y*t2977+t3024*t3052;
+ t2996 = RATIONAL(137.0,5250.0);
+ t2927 = t2996*y;
+ t3150 = t2927+t3178;
+ t2979 = t3044*t3056;
+ t2895 = y*t2979;
+ t3334 = t3150+t2895;
+ t3022 = RATIONAL(1.0,600.0);
+ t2985 = RATIONAL(-1.0,50.0)*t3054;
+ t3333 = t3022*t3052+y*t2985;
+ t3332 = t2846+t2876;
+ t3197 = x*RATIONAL(1.0,245.0);
+ t2866 = t3055*t3197;
+ t3331 = RATIONAL(136.0,3675.0)*x+t2866;
+ t2897 = y*t2973;
+ t2998 = RATIONAL(-107.0,7000.0);
+ t2928 = t2998*y;
+ t3330 = t2897+t2928;
+ t3195 = x*RATIONAL(-2.0,245.0);
+ t2879 = t3055*t3195;
+ t2984 = RATIONAL(-9.0,98.0)*x;
+ t3329 = t2879+t2984;
+ t3020 = RATIONAL(1.0,700.0);
+ t2957 = t3020*t3055;
+ t2862 = z*t2957;
+ t2999 = RATIONAL(-167.0,7000.0);
+ t2919 = t2999*z;
+ t3328 = t2862+t2919;
+ t2932 = RATIONAL(151.0,3675.0)*x;
+ t3327 = t2866+t2932;
+ t3050 = RATIONAL(-2.0,75.0);
+ t2987 = t3050*t3053;
+ t3326 = t2987+t2908;
+ t2898 = RATIONAL(1.0,250.0)*t3205;
+ t3324 = t2898+t2903;
+ t3051 = z*t3056;
+ t3179 = z*t2977+t3024*t3051;
+ t2925 = t2996*z;
+ t3152 = t2925+t3179;
+ t3200 = z*t3055;
+ t3015 = RATIONAL(-1.0,1400.0);
+ t2856 = t3015*t3200;
+ t3323 = t3152+t2856;
+ t3002 = RATIONAL(47.0,5250.0);
+ t3322 = t2902+t3002*z;
+ t2887 = RATIONAL(-1.0,125.0)*t3205;
+ t3192 = x*RATIONAL(-2.0,175.0);
+ t2915 = y*t3192;
+ t3321 = t2887+t2915;
+ t2909 = t3055*t3201;
+ t3320 = t2978+t2909;
+ t2995 = RATIONAL(107.0,7000.0);
+ t3319 = t2902+t2995*z;
+ t2988 = RATIONAL(1.0,50.0)*t3054;
+ t3039 = RATIONAL(-1.0,600.0);
+ t3318 = z*t2988+t3039*t3051;
+ t2990 = RATIONAL(-229.0,10500.0);
+ t3021 = RATIONAL(-1.0,700.0);
+ t2967 = t3021*t3056;
+ t2861 = y*t2967;
+ t3317 = t2990*y+t2861;
+ t3316 = RATIONAL(-57.0,490.0)*x+t2866;
+ t3023 = RATIONAL(-1.0,150.0);
+ t3175 = t3054*RATIONAL(1.0,200.0);
+ t3315 = z*t3175+t3023*t3051;
+ t3194 = x*RATIONAL(1.0,490.0);
+ t2859 = t3056*t3194;
+ t3314 = t2987+t2859;
+ t2956 = t3021*t3055;
+ t2882 = t3055*t3194;
+ t3313 = t2956+t2882;
+ t2974 = t3024*x;
+ t2901 = t3056*t3195;
+ t3312 = t2974+t2901;
+ t2976 = t3044*t3055;
+ t3311 = t2976+t2977;
+ t3310 = t2960+t2979;
+ t3309 = t2913+t2978;
+ t3042 = RATIONAL(1.0,300.0);
+ t3187 = y*t2960+t3042*t3052;
+ t3001 = RATIONAL(-137.0,5250.0);
+ t3153 = t3001*y+t3187;
+ t2962 = t3030*t3056;
+ t2907 = y*t2962;
+ t3308 = t3153+t2907;
+ t2918 = z*t3198;
+ t3307 = t2876+t2918;
+ t2959 = t3030*t3055;
+ t3306 = t2959+RATIONAL(-11.0,420.0);
+ t2941 = RATIONAL(166.0,3675.0)*x;
+ t3305 = t2941+t2882;
+ t2885 = RATIONAL(311.0,14700.0)*x;
+ t3304 = t2879+t2885;
+ t3303 = z*t2985+t3022*t3051;
+ t3302 = t2864+t2849;
+ t3301 = t2987+t2909;
+ t3300 = t2977+RATIONAL(19.0,2100.0);
+ t3299 = t2879+t2974;
+ t2994 = RATIONAL(167.0,7000.0);
+ t2924 = t2994*z;
+ t2869 = z*t2956;
+ t3298 = t2924+t2869;
+ t2971 = t3028*t3055;
+ t2899 = z*t2971;
+ t2929 = t2998*z;
+ t3297 = t2899+t2929;
+ t3171 = z*t2960+t3042*t3051;
+ t3004 = RATIONAL(-47.0,5250.0);
+ t3296 = t3171+t3004*z;
+ t2982 = t3020*t3056;
+ t3295 = t2982+t2988;
+ t3294 = t2901+t2885;
+ t3293 = t2959+t2977;
+ t3292 = t2864+t2918;
+ t3291 = t2967+t2985;
+ t3290 = t2988+t2966;
+ t2871 = RATIONAL(-169.0,14700.0)*x;
+ t3289 = t2906+t2871;
+ t3288 = t2971+t2963;
+ t3000 = RATIONAL(187.0,7000.0);
+ t3287 = t2899+t3000*z;
+ t3286 = z*t3189+t3025*t3051;
+ t2983 = RATIONAL(4.0,75.0)*x;
+ t3285 = t2983+t2866;
+ t2917 = t3056*t3197;
+ t3284 = t2917+t2983;
+ t3283 = y*t3175+t3023*t3052;
+ t2935 = t2995*y;
+ t3282 = t2935+t2912;
+ t3281 = t2897+t2871;
+ t3280 = t2960+t2962;
+ t3279 = t2897+t3000*y;
+ t3278 = t2882+t2957;
+ t3191 = y*t3056;
+ t3016 = RATIONAL(1.0,1400.0);
+ t2853 = t3016*t3191;
+ t3277 = t3153+t2853;
+ t2889 = y*t3202;
+ t3276 = t2971+t2889;
+ t3275 = t2960+t2971;
+ t3274 = t2960+RATIONAL(17.0,2100.0);
+ t3273 = t2883+t2876;
+ t2904 = RATIONAL(-1.0,250.0)*t3205;
+ t3272 = t2863+t2904;
+ t3046 = RATIONAL(1.0,42.0);
+ t3271 = t3046+t2985;
+ t3270 = t2973+t2985;
+ t3168 = t2973+t2971;
+ t3269 = t3168+t3274;
+ t3268 = t2899+t3296;
+ t2873 = RATIONAL(191.0,14700.0)*x;
+ t2920 = t2999*y;
+ t3252 = t2909+t3337;
+ t3142 = t2978+t3252;
+ t3267 = t2873+t2920+t3142;
+ t3266 = t2923+t3333;
+ t3265 = t3179+t3322;
+ t2992 = RATIONAL(289.0,10500.0);
+ t3264 = t3178+t2992*y+t2861;
+ t2914 = z*t2959;
+ t3006 = RATIONAL(17.0,5250.0);
+ t3263 = t3179+t2914+t3006*z;
+ t3013 = RATIONAL(-17.0,5250.0);
+ t2892 = z*t2976;
+ t3262 = t3013*z+t3171+t2892;
+ t3261 = t2892+t3343;
+ t3180 = t2963+t2966;
+ t3260 = t3180+t2977+RATIONAL(-17.0,2100.0);
+ t2931 = RATIONAL(256.0,3675.0)*x;
+ t3133 = t3301+t3333;
+ t3259 = t2931+t2935+t3133;
+ t2986 = RATIONAL(1.0,25.0)*t3053;
+ t3159 = t2986+t2901;
+ t3258 = t2866+t3159+t2984;
+ t3257 = t2879+t3159+RATIONAL(-33.0,490.0)*x;
+ t3256 = t2994*y+t2909+t2861;
+ t3255 = t2873+t3283;
+ t3036 = RATIONAL(8.0,525.0);
+ t3254 = t3180+t3036+t2985;
+ t3253 = t2908+t3319;
+ t3029 = RATIONAL(-8.0,525.0);
+ t3251 = t3168+t2988+t3029;
+ t3250 = t2931+t3330;
+ t2858 = y*t2982;
+ t2993 = RATIONAL(-289.0,10500.0);
+ t3249 = t2993*y+t2858+t3187;
+ t3127 = t3178+t3309;
+ t3248 = t2871+t3127+t3002*y;
+ t3247 = t3286+t3328;
+ t3246 = t3187+t2868+t3317;
+ t3009 = RATIONAL(-29.0,2100.0);
+ t3245 = t3009+t2962+t2977+t2966;
+ t3007 = RATIONAL(-19.0,2100.0);
+ t3244 = t2959+t3007+t3342;
+ t3010 = RATIONAL(29.0,2100.0);
+ t3243 = t3010+t2976+t3342;
+ t3242 = t2979+t2966+t3300;
+ t3049 = RATIONAL(2.0,75.0);
+ t3241 = t3049+t2966+t3270;
+ t3240 = t2976+t2963+t3300;
+ t3239 = t2988+t3050+t3288;
+ t3238 = t3330+t3337;
+ t3237 = t3298+t3303;
+ t3236 = t2962+t3042+t3311;
+ t2991 = RATIONAL(229.0,10500.0);
+ t2867 = t2991*y;
+ t3235 = t3178+t2858+t2867+t2894;
+ t3234 = t3010+t2979+t3275;
+ t3233 = t3009+t2963+t3293;
+ t2911 = t2991*z;
+ t3232 = t3179+t2862+t2846+t2911;
+ t3231 = t3298+t3315;
+ t3230 = t2923+t2858+t2920+t2859;
+ t3229 = t2959+t3024+t3310;
+ t3012 = RATIONAL(-37.0,1050.0);
+ t3228 = t3012+t2982+t3290;
+ t3227 = t2962+t3007+t3275;
+ t2872 = t2990*z;
+ t3226 = t3171+t2849+t2872+t2869;
+ t3225 = t2956+RATIONAL(17.0,525.0)+t3291;
+ t3011 = RATIONAL(37.0,1050.0);
+ t3224 = t3011+t2971+t3291;
+ t3223 = t3305+t3314;
+ t3222 = t3049+t2985+t3288;
+ t3221 = t2973+t3050+t3290;
+ t3220 = t2914+t3343+t3325;
+ t3219 = t3282+t3283;
+ t3014 = RATIONAL(-17.0,525.0);
+ t3218 = t2957+t3014+t3295;
+ t3217 = t3318+t3328;
+ t2848 = y*t2863;
+ t3216 = t2848+t3297+t3318;
+ t3215 = t2898+t3244;
+ t3214 = t2967+t2889+t2966+t3271;
+ t3213 = t2904+t3244;
+ t3018 = RATIONAL(11.0,420.0);
+ t2905 = z*t3192;
+ t3212 = t3018+t2905+t2979+t3311;
+ t2847 = y*t2903;
+ t3211 = t2847+t3303+t3319;
+ t3210 = t2904+t3240;
+ t2900 = z*t3199;
+ t3209 = t2900+t3280+t3306;
+ t2910 = y*t3204;
+ t3208 = t3045+t2910+t2971+t3295;
+ t3207 = t2898+t3240;
+ t3206 = t2923+t2963+t3271+t3313;
+ t3193 = x*t3205;
+ t3190 = t2910+t2863;
+ t3188 = t2903+t2915;
+ t3186 = t2917+t2986;
+ t3185 = t2846+t2903;
+ t3184 = t2889+t2903;
+ t3182 = t2847+t2905;
+ t3181 = t2973+t2908;
+ t2850 = y*t2900;
+ t3177 = t2850+t2880;
+ t3176 = t2986+t2906;
+ t3172 = t2863+t2880;
+ t3170 = t2987+t2988;
+ t3169 = t2910+t2903;
+ t3167 = t2900+t2847;
+ t3166 = t2863+t2915;
+ t3165 = t2848+t2900;
+ t3164 = t2863+t2889;
+ t3163 = t2850+t2915;
+ t3162 = t2986+t2913;
+ t3161 = t2903+t2880;
+ t2844 = z*t2915;
+ t3160 = t2844+t2880;
+ t3158 = t2849+t2863;
+ t3157 = t2844+t2915;
+ t3156 = t2903+t3186;
+ t3155 = t2908+t3187;
+ t3154 = t3001*z+t3171;
+ t3151 = t2863+t3186;
+ t3149 = t2858+t3181;
+ t2989 = RATIONAL(-1.0,10.0)*x;
+ t3148 = t2879+t2989+t3176;
+ t3147 = t2917+t2987+t3270;
+ t3146 = RATIONAL(431.0,14700.0)*x+t2879+t2901+t2978;
+ t3145 = t3170+t3278;
+ t3144 = t2977+t2979+t3325;
+ t2953 = RATIONAL(-61.0,490.0)*x;
+ t3143 = t2917+t2953+t3162;
+ t3141 = t3179+t3314;
+ t3140 = t3283+t3320;
+ t3139 = t2866+t2953+t3176;
+ t3138 = t3039*t3052+y*t2988+t3301;
+ t3137 = t3315+t3338;
+ t3136 = t3280+t3325;
+ t3135 = t3171+t3314;
+ t3134 = t2917+t2963+t3170;
+ t3132 = t3187+t3309;
+ t3131 = t3318+t3326;
+ t3130 = t3303+t3326;
+ t3129 = t2989+t2913+t3159;
+ t3128 = t3286+t3338;
+ t3126 = t2847+t2908+t2912+t3297;
+ t3125 = t3156+t3316;
+ t3124 = t2848+t2912+t3253;
+ t3123 = t2848+t2899+t2978+t3281;
+ t3122 = t2862+t2849+t3256;
+ t3121 = t2846+t2869+t3256;
+ t3120 = t3151+t3316;
+ t3119 = t2905+t3257;
+ t3118 = t3156+t3329;
+ t3117 = t3151+t3329;
+ t3116 = t2889+t3258;
+ t3115 = t2900+t3257;
+ t3114 = t2910+t3258;
+ t3113 = t3153+t3154;
+ t3112 = t3150+t3154;
+ t3111 = t2868+t3145+t3178;
+ t3110 = t2988+t3138+t3276;
+ t2845 = t3020*t3193;
+ t3109 = t2918+t2845+t2894+t3223;
+ t3108 = t2910+t2966+t2985+t3138;
+ t3107 = t2910+t3167+t3289+t3320;
+ t3106 = t2905+t3136+t3179;
+ t3105 = t2992*z+t2869+t3141+t3327;
+ t3104 = t3131+t3285+t3335;
+ t3103 = t3013*y+t2895+t3132+t3312;
+ t3102 = t3130+t3285+t3287;
+ t3101 = t3142+t3294+t3341;
+ t3100 = t3137+t3287+t3304;
+ t3099 = t2976+t3024+t3136+t3299;
+ t3098 = t3133+t3279+t3284;
+ t3097 = t3011+t2932+t3147+t3313;
+ t3096 = t2862+t2993*z+t3135+t3327;
+ t3095 = t3012+t2932+t3134+t3278;
+ t3094 = t3128+t3304+t3335;
+ t3093 = t3140+t3279+t3294;
+ t3092 = t2959+t3042+t3144+t3299;
+ t3091 = t3138+t3284+t3341;
+ t3090 = t3006*y+t2907+t3127+t3312;
+ t3089 = t2910+t2858+t2908+t3260+t3267;
+ t3088 = t2919+t3122+t3128+t3255;
+ t3087 = t2973+t2894+t3145+t3155+t3317+t3340;
+ t3086 = t2867+t3111+t3149+t3340;
+ t3085 = t3029+t3110+t3181+t3250;
+ t3084 = t3124+t3259+t3303;
+ t3083 = t3149+t3267+t3274+t3276;
+ t2857 = t3016*t3200;
+ t2851 = t3021*t3193;
+ t3082 = t2857+t2851+t2853+t3113+t3223;
+ t3081 = t3126+t3248+t3286;
+ t3080 = t2863+t3130+t3206+t3298;
+ t3079 = t2850+t2907+t3113+t3220;
+ t3078 = t3046+t2967+t3108+t3230;
+ t3077 = t2872+t3121+t3135+t3266;
+ t3076 = t2908+t2963+t3036+t3108+t3250;
+ t2944 = t3004*y;
+ t3075 = t2929+t2944+t2913+t3123+t3155+t3286;
+ t2854 = t3015*t3191;
+ t3074 = t2854+t2941+t2982+t3014+t2859+t2927+t3111;
+ t3073 = t2847+t2944+t3132+t3253+t3281+t3315;
+ t3072 = t3124+t3248+t3315;
+ t3071 = t2903+t3131+t3206+t3328;
+ t3070 = t3045+t2982+t3110+t3230;
+ t3069 = t3018+t2900+t2976+t3144+t3152+t3261;
+ t3068 = t2883+t2925+t2856+t3141+t3225+t3305;
+ t3067 = t2871+t2971+t2909+t3007+t3106+t3322;
+ t3066 = t2925+t3106+t3261+t3306;
+ t3065 = t2924+t3121+t3137+t3255;
+ t3064 = t2906+t2928+t3123+t3252+t3296;
+ t3063 = t2844+t2895+t3112+t3220;
+ t3062 = t2911+t3122+t3141+t3266;
+ t3061 = t3126+t3259+t3318;
+ t3060 = t2889+t3140+t3242+t3282+t3289;
+ t2855 = RATIONAL(-1.0,1000.0)*t3205;
+ t2852 = RATIONAL(1.0,1000.0)*t3205;
+ coeff_dx_m2_m2_m2 = t3079+t3212+t3321;
+ coeff_dx_m1_m2_m2 = t2904+t3084+t3169+t3251;
+ coeff_dx_0_m2_m2 = t3115+t3160;
+ coeff_dx_p1_m2_m2 = t3076+t3216+t3324;
+ coeff_dx_p2_m2_m2 = t2896+t3066+t3163+t3334;
+ coeff_dx_m2_m1_m2 = t3060+t2904+t3182+t3268;
+ coeff_dx_m1_m1_m2 = t3086+t3237+t3344;
+ coeff_dx_0_m1_m2 = t3114+t3165;
+ coeff_dx_p1_m1_m2 = t3071+t3246+t3302;
+ coeff_dx_p2_m1_m2 = t2847+t2898+t3067+t2889+t3238;
+ coeff_dx_m2_0_m2 = t2905+t3092+t3262;
+ coeff_dx_m1_0_m2 = t2903+t3102+t3221;
+ coeff_dx_0_0_m2 = t2900+t3129;
+ coeff_dx_p1_0_m2 = t2903+t3104+t3222;
+ coeff_dx_p2_0_m2 = t2905+t3099+t3263;
+ coeff_dx_m2_p1_m2 = t2910+t3064+t2898+t2905+t3242;
+ coeff_dx_m1_p1_m2 = t2864+t3087+t3185+t3237;
+ coeff_dx_0_p1_m2 = t3116+t3167;
+ coeff_dx_p1_p1_m2 = t3071+t3235+t3332;
+ coeff_dx_p2_p1_m2 = t2848+t2910+t3067+t2904+t3219;
+ coeff_dx_m2_p2_m2 = t3063+t3212+t3336;
+ coeff_dx_m1_p2_m2 = t3085+t3211+t3324;
+ coeff_dx_0_p2_m2 = t3115+t3163;
+ coeff_dx_p1_p2_m2 = t3061+t2904+t3184+t3254;
+ coeff_dx_p2_p2_m2 = t2887+t3066+t3160+t3308;
+ coeff_dx_m2_m2_m1 = t3073+t3166+t3210;
+ coeff_dx_m1_m2_m1 = t3062+t3208+t3307;
+ coeff_dx_0_m2_m1 = t2848+t2880+t3118;
+ coeff_dx_p1_m2_m1 = t3078+t3226+t3292;
+ coeff_dx_p2_m2_m1 = t3081+t3166+t3215;
+ coeff_dx_m2_m1_m1 = t2876+t3065+t3164+t3260;
+ coeff_dx_m1_m1_m1 = t3074+t2855+t2851+t2918+t3323;
+ coeff_dx_0_m1_m1 = t2849+t2910+t3125;
+ coeff_dx_p1_m1_m1 = t2918+t2868+t3082+t2852+t3225;
+ coeff_dx_p2_m1_m1 = t3083+t3247+t3345;
+ coeff_dx_m2_0_m1 = t2863+t3100+t3233;
+ coeff_dx_m1_0_m1 = t2918+t3105+t3228;
+ coeff_dx_0_0_m1 = t2903+t3143;
+ coeff_dx_p1_0_m1 = t2918+t3096+t3224;
+ coeff_dx_p2_0_m1 = t2863+t3094+t3243;
+ coeff_dx_m2_p1_m1 = t2864+t3089+t3158+t3231;
+ coeff_dx_m1_p1_m1 = t3109+t2852+t3218+t3277+t3323;
+ coeff_dx_0_p1_m1 = t2889+t2846+t3125;
+ coeff_dx_p1_p1_m1 = t2854+t2857+t2855+t3109+t3112+t3225;
+ coeff_dx_p2_p1_m1 = t3088+t2876+t3190+t3269;
+ coeff_dx_m2_p2_m1 = t3072+t3172+t3207;
+ coeff_dx_m1_p2_m1 = t3070+t3232+t3292;
+ coeff_dx_0_p2_m1 = t2847+t2915+t3118;
+ coeff_dx_p1_p2_m1 = t3077+t3214+t3307;
+ coeff_dx_p2_p2_m1 = t3075+t3172+t3213;
+ coeff_dx_m2_m2_0 = t2915+t3103+t3236;
+ coeff_dx_m1_m2_0 = t2910+t3098+t3239;
+ coeff_dx_0_m2_0 = t2880+t3148;
+ coeff_dx_p1_m2_0 = t2910+t3091+t3241;
+ coeff_dx_p2_m2_0 = t2915+t3090+t3229;
+ coeff_dx_m2_m1_0 = t2889+t3093+t3245;
+ coeff_dx_m1_m1_0 = t2868+t3095+t3264;
+ coeff_dx_0_m1_0 = t2910+t3139;
+ coeff_dx_p1_m1_0 = t2868+t3097+t3249;
+ coeff_dx_p2_m1_0 = t2889+t3101+t3234;
+ coeff_dx_m2_0_0 = RATIONAL(-41.0,2100.0)+t2962+t3146+t3293;
+ coeff_dx_m1_0_0 = RATIONAL(-4.0,105.0)+t2966+t3134+t3331;
+ coeff_dx_0_0_0 = t2906+RATIONAL(-13.0,98.0)*x+t3162;
+ coeff_dx_p1_0_0 = RATIONAL(4.0,105.0)+t2971+t3147+t3331;
+ coeff_dx_p2_0_0 = RATIONAL(41.0,2100.0)+t2976+t3146+t3310;
+ coeff_dx_m2_p1_0 = t2910+t3101+t3245;
+ coeff_dx_m1_p1_0 = t2894+t3095+t3249;
+ coeff_dx_0_p1_0 = t2889+t3139;
+ coeff_dx_p1_p1_0 = t2894+t3097+t3264;
+ coeff_dx_p2_p1_0 = t2910+t3093+t3234;
+ coeff_dx_m2_p2_0 = t2880+t3090+t3236;
+ coeff_dx_m1_p2_0 = t2889+t3091+t3239;
+ coeff_dx_0_p2_0 = t2915+t3148;
+ coeff_dx_p1_p2_0 = t2889+t3098+t3241;
+ coeff_dx_p2_p2_0 = t2880+t3103+t3229;
+ coeff_dx_m2_m2_p1 = t3075+t3188+t3207;
+ coeff_dx_m1_m2_p1 = t3077+t3208+t3339;
+ coeff_dx_0_m2_p1 = t2880+t2847+t3117;
+ coeff_dx_p1_m2_p1 = t3078+t3232+t3273;
+ coeff_dx_p2_m2_p1 = t3072+t3188+t3213;
+ coeff_dx_m2_m1_p1 = t2864+t3088+t3184+t3260;
+ coeff_dx_m1_m1_p1 = t2857+t3074+t2883+t2845+t2852+t3154;
+ coeff_dx_0_m1_p1 = t2910+t2846+t3120;
+ coeff_dx_p1_m1_p1 = t2855+t3068+t2845+t2868+t3277;
+ coeff_dx_p2_m1_p1 = t3083+t3231+t3344;
+ coeff_dx_m2_0_p1 = t2903+t3094+t3233;
+ coeff_dx_m1_0_p1 = t2883+t3096+t3228;
+ coeff_dx_0_0_p1 = t2863+t3143;
+ coeff_dx_p1_0_p1 = t2883+t3105+t3224;
+ coeff_dx_p2_0_p1 = t2903+t3100+t3243;
+ coeff_dx_m2_p1_p1 = t3089+t2876+t3185+t3247;
+ coeff_dx_m1_p1_p1 = t2855+t2883+t2894+t3082+t3218;
+ coeff_dx_0_p1_p1 = t2889+t2849+t3120;
+ coeff_dx_p1_p1_p1 = t2854+t2851+t3068+t2894+t2852+t3150;
+ coeff_dx_p2_p1_p1 = t2864+t3065+t3169+t3269;
+ coeff_dx_m2_p2_p1 = t3081+t3161+t3210;
+ coeff_dx_m1_p2_p1 = t3070+t3226+t3273;
+ coeff_dx_0_p2_p1 = t2848+t2915+t3117;
+ coeff_dx_p1_p2_p1 = t3062+t3214+t3339;
+ coeff_dx_p2_p2_p1 = t3073+t3161+t3215;
+ coeff_dx_m2_m2_p2 = t2896+t3069+t3157+t3308;
+ coeff_dx_m1_m2_p2 = t2898+t3061+t3190+t3251;
+ coeff_dx_0_m2_p2 = t3119+t3177;
+ coeff_dx_p1_m2_p2 = t3076+t3211+t3272;
+ coeff_dx_p2_m2_p2 = t3063+t3209+t3321;
+ coeff_dx_m2_m1_p2 = t3060+t2898+t3165+t3265;
+ coeff_dx_m1_m1_p2 = t3086+t3217+t3345;
+ coeff_dx_0_m1_p2 = t3114+t3182;
+ coeff_dx_p1_m1_p2 = t3080+t3246+t3332;
+ coeff_dx_p2_m1_p2 = t3064+t2900+t2889+t2904+t3227;
+ coeff_dx_m2_0_p2 = t2900+t3092+t3263;
+ coeff_dx_m1_0_p2 = t2863+t3104+t3221;
+ coeff_dx_0_0_p2 = t2905+t3129;
+ coeff_dx_p1_0_p2 = t2863+t3102+t3222;
+ coeff_dx_p2_0_p2 = t2900+t3099+t3262;
+ coeff_dx_m2_p1_p2 = t3107+t2904+t3238+t3242+t3265;
+ coeff_dx_m1_p1_p2 = t3087+t2876+t3158+t3217;
+ coeff_dx_0_p1_p2 = t2848+t2905+t3116;
+ coeff_dx_p1_p1_p2 = t3080+t3235+t3302;
+ coeff_dx_p2_p1_p2 = t3107+t2898+t3219+t3227+t3268;
+ coeff_dx_m2_p2_p2 = t2887+t3069+t3177+t3334;
+ coeff_dx_m1_p2_p2 = t3085+t3216+t3272;
+ coeff_dx_0_p2_p2 = t3119+t3157;
+ coeff_dx_p1_p2_p2 = t2898+t3084+t3164+t3254;
+ coeff_dx_p2_p2_p2 = t3079+t3209+t3336;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c
new file mode 100644
index 0000000..82c67c7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c
@@ -0,0 +1,611 @@
+fp t4430,
+ t4411,
+ t4380,
+ t4426,
+ t4428,
+ t4391,
+ t4539,
+ t4419,
+ t4368,
+ t4393,
+ t4601,
+ t4407,
+ t4600,
+ t4401,
+ t4387,
+ t4599,
+ t4415,
+ t4372,
+ t4598,
+ t4546,
+ t4345,
+ t4389,
+ t4597,
+ t4421,
+ t4596,
+ t4410,
+ t4383,
+ t4392,
+ t4595,
+ t4400,
+ t4418,
+ t4429,
+ t4367,
+ t4594,
+ t4545,
+ t4346,
+ t4593,
+ t4359,
+ t4592,
+ t4416,
+ t4378,
+ t4358,
+ t4591,
+ t4390,
+ t4364,
+ t4590,
+ t4381,
+ t4397,
+ t4589,
+ t4413,
+ t4386,
+ t4588,
+ t4388,
+ t4363,
+ t4420,
+ t4371,
+ t4587,
+ t4403,
+ t4586,
+ t4374,
+ t4585,
+ t4369,
+ t4583,
+ t4357,
+ t4506,
+ t4584,
+ t4582,
+ t4581,
+ t4385,
+ t4532,
+ t4498,
+ t4396,
+ t4580,
+ t4352,
+ t4579,
+ t4578,
+ t4362,
+ t4412,
+ t4375,
+ t4577,
+ t4576,
+ t4409,
+ t4377,
+ t4575,
+ t4574,
+ t4573,
+ t4572,
+ t4571,
+ t4361,
+ t4570,
+ t4376,
+ t4569,
+ t4568,
+ t4356,
+ t4395,
+ t4567,
+ t4408,
+ t4370,
+ t4566,
+ t4360,
+ t4565,
+ t4564,
+ t4563,
+ t4382,
+ t4562,
+ t4402,
+ t4561,
+ t4560,
+ t4384,
+ t4559,
+ t4558,
+ t4557,
+ t4556,
+ t4555,
+ t4554,
+ t4553,
+ t4379,
+ t4350,
+ t4552,
+ t4513,
+ t4551,
+ t4423,
+ t4550,
+ t4549,
+ t4548,
+ t4547,
+ t4373,
+ t4366,
+ t4544,
+ t4543,
+ t4349,
+ t4365,
+ t4542,
+ t4541,
+ t4540,
+ t4348,
+ t4538,
+ t4354,
+ t4537,
+ t4536,
+ t4535,
+ t4534,
+ t4531,
+ t4530,
+ t4355,
+ t4529,
+ t4528,
+ t4527,
+ t4526,
+ t4525,
+ t4347,
+ t4524,
+ t4523,
+ t4522,
+ t4520,
+ t4519,
+ t4517,
+ t4516,
+ t4515,
+ t4512,
+ t4511,
+ t4510,
+ t4509,
+ t4508,
+ t4507,
+ t4505,
+ t4504,
+ t4503,
+ t4502,
+ t4501,
+ t4500,
+ t4499,
+ t4497,
+ t4496,
+ t4495,
+ t4494,
+ t4404,
+ t4493,
+ t4427,
+ t4492,
+ t4491,
+ t4490,
+ t4489,
+ t4488,
+ t4487,
+ t4486,
+ t4485,
+ t4484,
+ t4483,
+ t4482,
+ t4481,
+ t4480,
+ t4479,
+ t4478,
+ t4477,
+ t4476,
+ t4475,
+ t4474,
+ t4473,
+ t4472,
+ t4471,
+ t4470,
+ t4469,
+ t4468,
+ t4467,
+ t4466,
+ t4465,
+ t4464,
+ t4463,
+ t4462,
+ t4351,
+ t4461,
+ t4460,
+ t4459,
+ t4458,
+ t4457,
+ t4456,
+ t4455,
+ t4454,
+ t4453,
+ t4452,
+ t4353,
+ t4451,
+ t4450,
+ t4449,
+ t4448,
+ t4447,
+ t4446,
+ t4445,
+ t4444,
+ t4443,
+ t4442,
+ t4441,
+ t4440,
+ t4439,
+ t4438,
+ t4437,
+ t4436,
+ t4435,
+ t4434,
+ t4433,
+ t4432,
+ t4431;
+ t4430 = z*z;
+ t4411 = RATIONAL(-2.0,245.0);
+ t4380 = t4411*t4430;
+ t4426 = RATIONAL(1.0,50.0);
+ t4428 = x*x;
+ t4391 = t4426*t4428;
+ t4539 = t4380+t4391;
+ t4419 = RATIONAL(1.0,245.0);
+ t4368 = t4419*t4430;
+ t4393 = RATIONAL(3.0,25.0)*t4428;
+ t4601 = t4368+t4393;
+ t4407 = RATIONAL(-1.0,300.0);
+ t4600 = t4407+t4380;
+ t4401 = RATIONAL(256.0,3675.0);
+ t4387 = RATIONAL(-2.0,25.0)*t4428;
+ t4599 = t4401+t4387;
+ t4415 = RATIONAL(2.0,245.0);
+ t4372 = t4415*t4430;
+ t4598 = t4372+t4391;
+ t4546 = x*RATIONAL(-1.0,100.0);
+ t4345 = z*t4546;
+ t4389 = t4426*x;
+ t4597 = t4345+t4389;
+ t4421 = RATIONAL(4.0,75.0);
+ t4596 = t4421+t4387+t4368;
+ t4410 = RATIONAL(1.0,175.0);
+ t4383 = t4410*z;
+ t4392 = RATIONAL(-1.0,25.0)*x;
+ t4595 = t4383+t4392;
+ t4400 = RATIONAL(211.0,3675.0);
+ t4418 = RATIONAL(-1.0,245.0);
+ t4429 = y*y;
+ t4367 = t4418*t4429;
+ t4594 = t4400+t4367;
+ t4545 = x*RATIONAL(1.0,100.0);
+ t4346 = z*t4545;
+ t4593 = t4346+t4389;
+ t4359 = z*t4392;
+ t4592 = t4383+t4359;
+ t4416 = RATIONAL(2.0,175.0);
+ t4378 = t4416*y;
+ t4358 = y*t4389;
+ t4591 = t4378+t4358;
+ t4390 = RATIONAL(-1.0,50.0)*x;
+ t4364 = z*t4390;
+ t4590 = t4372+t4364;
+ t4381 = t4411*t4429;
+ t4397 = RATIONAL(311.0,14700.0);
+ t4589 = t4381+t4397;
+ t4413 = RATIONAL(1.0,490.0);
+ t4386 = t4413*t4429;
+ t4588 = t4400+t4386;
+ t4388 = RATIONAL(1.0,25.0)*x;
+ t4363 = z*t4388;
+ t4420 = RATIONAL(-1.0,175.0);
+ t4371 = t4420*z;
+ t4587 = t4363+t4371;
+ t4403 = RATIONAL(166.0,3675.0);
+ t4586 = t4403+t4386;
+ t4374 = t4415*t4429;
+ t4585 = t4374+RATIONAL(-529.0,14700.0);
+ t4369 = t4413*t4430;
+ t4583 = t4387+t4369;
+ t4357 = z*t4389;
+ t4506 = t4357+t4583;
+ t4584 = t4400+t4506;
+ t4582 = t4358+t4392;
+ t4581 = t4345+t4390;
+ t4385 = t4418*t4430;
+ t4532 = t4383+t4385;
+ t4498 = t4391+t4532;
+ t4396 = RATIONAL(191.0,14700.0);
+ t4580 = t4498+t4396;
+ t4352 = y*t4546;
+ t4579 = t4345+t4352;
+ t4578 = t4407+t4381;
+ t4362 = y*t4390;
+ t4412 = RATIONAL(-2.0,175.0);
+ t4375 = t4412*y;
+ t4577 = t4362+t4375;
+ t4576 = t4396+t4391;
+ t4409 = RATIONAL(-1.0,350.0);
+ t4377 = t4409*z;
+ t4575 = t4357+t4377;
+ t4574 = t4374+t4389;
+ t4573 = t4386+t4387;
+ t4572 = t4388+t4358;
+ t4571 = t4359+t4392;
+ t4361 = y*t4388;
+ t4570 = t4361+t4388;
+ t4376 = t4409*y;
+ t4569 = t4376+t4362;
+ t4568 = t4346+t4390;
+ t4356 = y*t4545;
+ t4395 = RATIONAL(-169.0,14700.0);
+ t4567 = t4356+t4395;
+ t4408 = RATIONAL(1.0,350.0);
+ t4370 = t4408*z;
+ t4566 = t4392+t4370;
+ t4360 = y*t4392;
+ t4565 = t4360+t4392;
+ t4564 = t4356+t4346;
+ t4563 = t4364+t4370;
+ t4382 = t4419*t4429;
+ t4562 = t4421+t4382;
+ t4402 = RATIONAL(151.0,3675.0);
+ t4561 = t4402+t4382;
+ t4560 = t4388+t4359;
+ t4384 = t4408*y;
+ t4559 = t4384+t4358;
+ t4558 = t4403+t4369;
+ t4557 = t4360+t4388;
+ t4556 = t4402+t4368;
+ t4555 = t4388+t4377;
+ t4554 = t4401+t4367;
+ t4553 = RATIONAL(-57.0,490.0)+t4382+t4601;
+ t4379 = z*t4412;
+ t4350 = y*t4379;
+ t4552 = t4350+t4585;
+ t4513 = t4380+t4393;
+ t4551 = RATIONAL(-33.0,490.0)+t4381+t4513;
+ t4423 = RATIONAL(-9.0,98.0);
+ t4550 = t4382+t4423+t4513;
+ t4549 = t4397+t4367+t4539;
+ t4548 = t4423+t4381+t4601;
+ t4547 = y*z;
+ t4373 = z*t4416;
+ t4366 = t4420*y;
+ t4544 = t4385+t4371;
+ t4543 = t4379+t4366;
+ t4349 = z*t4366;
+ t4365 = t4410*y;
+ t4542 = t4349+t4365;
+ t4541 = t4349+t4367;
+ t4540 = t4349+t4371;
+ t4348 = y*t4370;
+ t4538 = t4348+t4365;
+ t4354 = y*t4377;
+ t4537 = t4366+t4354;
+ t4536 = t4379+t4365;
+ t4535 = t4348+t4366;
+ t4534 = t4357+t4358;
+ t4531 = t4382+t4387;
+ t4530 = t4362+t4364;
+ t4355 = y*t4383;
+ t4529 = t4383+t4355;
+ t4528 = t4365+t4354;
+ t4527 = t4367+t4354;
+ t4526 = t4365+t4367;
+ t4525 = t4372+t4393;
+ t4347 = y*t4373;
+ t4524 = t4347+t4375;
+ t4523 = t4373+t4375;
+ t4522 = t4373+t4365;
+ t4520 = t4366+t4355;
+ t4519 = t4374+t4393;
+ t4517 = t4373+t4366;
+ t4516 = t4378+t4379;
+ t4515 = t4378+t4347;
+ t4512 = t4379+t4598;
+ t4511 = t4391+t4590;
+ t4510 = t4384+t4573;
+ t4509 = t4387+t4532;
+ t4508 = t4373+t4598;
+ t4507 = t4367+t4544;
+ t4505 = t4388+t4531;
+ t4504 = t4364+t4583;
+ t4503 = t4374+t4390+t4391;
+ t4502 = t4391+t4544;
+ t4501 = t4376+t4573;
+ t4500 = t4391+t4395+t4355;
+ t4499 = t4363+t4385+t4387;
+ t4497 = t4357+t4598;
+ t4496 = RATIONAL(136.0,3675.0)+t4368+t4531;
+ t4495 = t4365+t4507;
+ t4494 = t4381+RATIONAL(431.0,14700.0)+t4539;
+ t4404 = RATIONAL(-61.0,490.0);
+ t4493 = t4404+t4382+t4525;
+ t4427 = RATIONAL(-1.0,10.0);
+ t4492 = t4381+t4427+t4525;
+ t4491 = t4404+t4368+t4519;
+ t4490 = t4374+t4427+t4513;
+ t4489 = t4366+t4507;
+ t4488 = t4512+t4578;
+ t4487 = t4355+t4550;
+ t4486 = t4375+t4548;
+ t4485 = t4502+t4589;
+ t4484 = t4526+t4596;
+ t4483 = t4510+t4556;
+ t4482 = t4407+t4539+t4574;
+ t4481 = t4371+t4553;
+ t4480 = t4366+t4367+t4596;
+ t4479 = t4378+t4362+t4503;
+ t4478 = t4498+t4589;
+ t4477 = t4508+t4578;
+ t4476 = t4421+t4385+t4505;
+ t4475 = t4373+t4551;
+ t4474 = t4356+t4549;
+ t4473 = t4352+t4549;
+ t4472 = t4501+t4572;
+ t4471 = t4378+t4548;
+ t4470 = t4377+t4392+t4504;
+ t4469 = t4379+t4551;
+ t4468 = t4402+t4369+t4505;
+ t4467 = t4499+t4595;
+ t4466 = t4383+t4553;
+ t4465 = t4501+t4556;
+ t4464 = t4387+t4544+t4571;
+ t4463 = t4349+t4550;
+ t4462 = t4374+t4349+t4375+t4395+t4498;
+ t4351 = RATIONAL(1.0,700.0)*t4547;
+ t4461 = t4362+t4351+t4506+t4586;
+ t4460 = t4345+t4395+t4502+t4574;
+ t4459 = t4467+t4554;
+ t4458 = t4512+t4524+t4585;
+ t4457 = t4352+t4395+t4497+t4541;
+ t4456 = t4360+t4348+t4367+t4584;
+ t4455 = t4508+t4515+t4585;
+ t4454 = t4472+t4558;
+ t4453 = t4509+t4554+t4560;
+ t4452 = t4384+t4354+t4509+t4588;
+ t4353 = RATIONAL(-1.0,700.0)*t4547;
+ t4451 = t4353+t4370+t4510+t4558;
+ t4450 = t4511+t4541+t4567;
+ t4449 = t4355+t4495+t4599;
+ t4448 = t4348+t4489+t4576;
+ t4447 = t4361+t4527+t4584;
+ t4446 = t4367+t4352+t4500+t4590;
+ t4445 = t4366+t4527+t4580;
+ t4444 = t4354+t4495+t4576;
+ t4443 = t4470+t4586;
+ t4442 = t4348+t4526+t4580;
+ t4441 = t4388+t4370+t4504+t4594;
+ t4440 = t4385+t4395+t4479;
+ t4439 = t4367+t4355+t4497+t4567;
+ t4438 = t4470+t4594;
+ t4437 = t4400+t4385+t4472;
+ t4436 = t4374+t4346+t4385+t4358+t4500;
+ t4435 = t4349+t4489+t4599;
+ t4434 = t4362+t4348+t4499+t4588;
+ t4433 = t4362+t4497+t4552;
+ t4432 = t4464+t4588;
+ t4431 = t4358+t4511+t4552;
+ coeff_dxx_m2_m2_m2 = t4390+t4458+t4534;
+ coeff_dxx_m1_m2_m2 = t4360+t4453+t4542;
+ coeff_dxx_0_m2_m2 = t4350+t4378+t4475;
+ coeff_dxx_p1_m2_m2 = t4361+t4459+t4542;
+ coeff_dxx_p2_m2_m2 = t4389+t4458+t4530;
+ coeff_dxx_m2_m1_m2 = t4390+t4439+t4543;
+ coeff_dxx_m1_m1_m2 = t4362+t4452+t4560;
+ coeff_dxx_0_m1_m2 = t4463+t4522;
+ coeff_dxx_p1_m1_m2 = t4363+t4452+t4582;
+ coeff_dxx_p2_m1_m2 = t4389+t4446+t4543;
+ coeff_dxx_m2_0_m2 = t4357+t4390+t4488;
+ coeff_dxx_m1_0_m2 = t4476+t4592;
+ coeff_dxx_0_0_m2 = t4373+t4490;
+ coeff_dxx_p1_0_m2 = t4467+t4562;
+ coeff_dxx_p2_0_m2 = t4389+t4364+t4488;
+ coeff_dxx_m2_p1_m2 = t4390+t4457+t4536;
+ coeff_dxx_m1_p1_m2 = t4348+t4437+t4592;
+ coeff_dxx_0_p1_m2 = t4487+t4517;
+ coeff_dxx_p1_p1_m2 = t4376+t4434+t4595;
+ coeff_dxx_p2_p1_m2 = t4389+t4450+t4536;
+ coeff_dxx_m2_p2_m2 = t4390+t4433+t4516;
+ coeff_dxx_m1_p2_m2 = t4361+t4453+t4520;
+ coeff_dxx_0_p2_m2 = t4475+t4524;
+ coeff_dxx_p1_p2_m2 = t4360+t4459+t4520;
+ coeff_dxx_p2_p2_m2 = t4389+t4431+t4516;
+ coeff_dxx_m2_m2_m1 = t4390+t4371+t4375+t4436;
+ coeff_dxx_m1_m2_m1 = t4360+t4441+t4528;
+ coeff_dxx_0_m2_m1 = t4349+t4383+t4471;
+ coeff_dxx_p1_m2_m1 = t4365+t4447+t4566;
+ coeff_dxx_p2_m2_m1 = t4355+t4460+t4577;
+ coeff_dxx_m2_m1_m1 = t4390+t4448+t4564;
+ coeff_dxx_m1_m1_m1 = t4388+t4451+t4530;
+ coeff_dxx_0_m1_m1 = t4466+t4528;
+ coeff_dxx_p1_m1_m1 = t4392+t4451+t4534;
+ coeff_dxx_p2_m1_m1 = t4389+t4448+t4579;
+ coeff_dxx_m2_0_m1 = t4485+t4568;
+ coeff_dxx_m1_0_m1 = t4468+t4563;
+ coeff_dxx_0_0_m1 = t4383+t4491;
+ coeff_dxx_p1_0_m1 = t4506+t4561+t4566;
+ coeff_dxx_p2_0_m1 = t4485+t4597;
+ coeff_dxx_m2_p1_m1 = t4352+t4444+t4568;
+ coeff_dxx_m1_p1_m1 = t4351+t4454+t4563;
+ coeff_dxx_0_p1_m1 = t4466+t4535;
+ coeff_dxx_p1_p1_m1 = t4376+t4461+t4566;
+ coeff_dxx_p2_p1_m1 = t4356+t4444+t4597;
+ coeff_dxx_m2_p2_m1 = t4346+t4440+t4540;
+ coeff_dxx_m1_p2_m1 = t4361+t4441+t4535;
+ coeff_dxx_0_p2_m1 = t4486+t4529;
+ coeff_dxx_p1_p2_m1 = t4366+t4456+t4566;
+ coeff_dxx_p2_p2_m1 = t4349+t4460+t4591;
+ coeff_dxx_m2_m2_0 = t4375+t4358+t4503+t4600;
+ coeff_dxx_m1_m2_0 = t4484+t4557;
+ coeff_dxx_0_m2_0 = t4378+t4492;
+ coeff_dxx_p1_m2_0 = t4392+t4361+t4484;
+ coeff_dxx_p2_m2_0 = t4482+t4577;
+ coeff_dxx_m2_m1_0 = t4390+t4366+t4474;
+ coeff_dxx_m1_m1_0 = t4388+t4362+t4483;
+ coeff_dxx_0_m1_0 = t4365+t4493;
+ coeff_dxx_p1_m1_0 = t4483+t4582;
+ coeff_dxx_p2_m1_0 = t4389+t4366+t4473;
+ coeff_dxx_m2_0_0 = t4390+t4494;
+ coeff_dxx_m1_0_0 = t4388+t4496;
+ coeff_dxx_0_0_0 = t4372+RATIONAL(-13.0,98.0)+t4519;
+ coeff_dxx_p1_0_0 = t4392+t4496;
+ coeff_dxx_p2_0_0 = t4389+t4494;
+ coeff_dxx_m2_p1_0 = t4365+t4390+t4473;
+ coeff_dxx_m1_p1_0 = t4465+t4572;
+ coeff_dxx_0_p1_0 = t4366+t4493;
+ coeff_dxx_p1_p1_0 = t4362+t4392+t4465;
+ coeff_dxx_p2_p1_0 = t4389+t4365+t4474;
+ coeff_dxx_m2_p2_0 = t4479+t4600;
+ coeff_dxx_m1_p2_0 = t4480+t4570;
+ coeff_dxx_0_p2_0 = t4375+t4492;
+ coeff_dxx_p1_p2_0 = t4480+t4565;
+ coeff_dxx_p2_p2_0 = t4482+t4591;
+ coeff_dxx_m2_m2_p1 = t4358+t4462+t4581;
+ coeff_dxx_m1_m2_p1 = t4365+t4456+t4555;
+ coeff_dxx_0_m2_p1 = t4371+t4355+t4471;
+ coeff_dxx_p1_m2_p1 = t4361+t4438+t4538;
+ coeff_dxx_p2_m2_p1 = t4362+t4462+t4593;
+ coeff_dxx_m2_m1_p1 = t4356+t4445+t4581;
+ coeff_dxx_m1_m1_p1 = t4384+t4461+t4555;
+ coeff_dxx_0_m1_p1 = t4481+t4538;
+ coeff_dxx_p1_m1_p1 = t4351+t4443+t4559;
+ coeff_dxx_p2_m1_p1 = t4352+t4445+t4593;
+ coeff_dxx_m2_0_p1 = t4478+t4581;
+ coeff_dxx_m1_0_p1 = t4468+t4575;
+ coeff_dxx_0_0_p1 = t4371+t4491;
+ coeff_dxx_p1_0_p1 = t4470+t4561;
+ coeff_dxx_p2_0_p1 = t4478+t4593;
+ coeff_dxx_m2_p1_p1 = t4390+t4442+t4579;
+ coeff_dxx_m1_p1_p1 = t4353+t4454+t4575;
+ coeff_dxx_0_p1_p1 = t4481+t4537;
+ coeff_dxx_p1_p1_p1 = t4353+t4443+t4569;
+ coeff_dxx_p2_p1_p1 = t4389+t4442+t4564;
+ coeff_dxx_m2_p2_p1 = t4345+t4440+t4529;
+ coeff_dxx_m1_p2_p1 = t4366+t4447+t4555;
+ coeff_dxx_0_p2_p1 = t4486+t4540;
+ coeff_dxx_p1_p2_p1 = t4360+t4438+t4537;
+ coeff_dxx_p2_p2_p1 = t4389+t4383+t4378+t4436;
+ coeff_dxx_m2_m2_p2 = t4390+t4431+t4523;
+ coeff_dxx_m1_m2_p2 = t4363+t4449+t4557;
+ coeff_dxx_0_m2_p2 = t4469+t4515;
+ coeff_dxx_p1_m2_p2 = t4361+t4449+t4571;
+ coeff_dxx_p2_m2_p2 = t4389+t4433+t4523;
+ coeff_dxx_m2_m1_p2 = t4390+t4450+t4517;
+ coeff_dxx_m1_m1_p2 = t4384+t4371+t4388+t4434;
+ coeff_dxx_0_m1_p2 = t4487+t4536;
+ coeff_dxx_p1_m1_p2 = t4348+t4432+t4559;
+ coeff_dxx_p2_m1_p2 = t4389+t4457+t4517;
+ coeff_dxx_m2_0_p2 = t4390+t4364+t4477;
+ coeff_dxx_m1_0_p2 = t4476+t4587;
+ coeff_dxx_0_0_p2 = t4379+t4490;
+ coeff_dxx_p1_0_p2 = t4464+t4562;
+ coeff_dxx_p2_0_p2 = t4357+t4389+t4477;
+ coeff_dxx_m2_p1_p2 = t4390+t4446+t4522;
+ coeff_dxx_m1_p1_p2 = t4354+t4437+t4587;
+ coeff_dxx_0_p1_p2 = t4463+t4543;
+ coeff_dxx_p1_p1_p2 = t4354+t4432+t4569;
+ coeff_dxx_p2_p1_p2 = t4389+t4439+t4522;
+ coeff_dxx_m2_p2_p2 = t4390+t4455+t4530;
+ coeff_dxx_m1_p2_p2 = t4363+t4435+t4570;
+ coeff_dxx_0_p2_p2 = t4350+t4375+t4469;
+ coeff_dxx_p1_p2_p2 = t4359+t4435+t4565;
+ coeff_dxx_p2_p2_p2 = t4389+t4455+t4534;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c
new file mode 100644
index 0000000..de01846
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c
@@ -0,0 +1,505 @@
+fp t4693,
+ t4694,
+ t4823,
+ t4783,
+ t4614,
+ t4695,
+ t4683,
+ t4646,
+ t4822,
+ t4690,
+ t4641,
+ t4821,
+ t4682,
+ t4691,
+ t4820,
+ t4692,
+ t4681,
+ t4819,
+ t4686,
+ t4656,
+ t4688,
+ t4640,
+ t4818,
+ t4817,
+ t4631,
+ t4632,
+ t4816,
+ t4684,
+ t4627,
+ t4630,
+ t4815,
+ t4653,
+ t4814,
+ t4647,
+ t4813,
+ t4685,
+ t4651,
+ t4644,
+ t4812,
+ t4637,
+ t4811,
+ t4636,
+ t4810,
+ t4650,
+ t4809,
+ t4645,
+ t4808,
+ t4807,
+ t4806,
+ t4779,
+ t4603,
+ t4778,
+ t4622,
+ t4805,
+ t4649,
+ t4804,
+ t4629,
+ t4803,
+ t4680,
+ t4628,
+ t4802,
+ t4801,
+ t4767,
+ t4606,
+ t4752,
+ t4800,
+ t4602,
+ t4604,
+ t4799,
+ t4798,
+ t4797,
+ t4796,
+ t4633,
+ t4795,
+ t4626,
+ t4794,
+ t4793,
+ t4792,
+ t4746,
+ t4791,
+ t4762,
+ t4745,
+ t4654,
+ t4618,
+ t4790,
+ t4749,
+ t4789,
+ t4788,
+ t4787,
+ t4786,
+ t4754,
+ t4785,
+ t4784,
+ t4679,
+ t4782,
+ t4781,
+ t4780,
+ t4777,
+ t4776,
+ t4775,
+ t4642,
+ t4607,
+ t4774,
+ t4605,
+ t4773,
+ t4772,
+ t4613,
+ t4771,
+ t4615,
+ t4770,
+ t4769,
+ t4768,
+ t4766,
+ t4765,
+ t4617,
+ t4764,
+ t4611,
+ t4763,
+ t4610,
+ t4761,
+ t4760,
+ t4759,
+ t4758,
+ t4757,
+ t4756,
+ t4755,
+ t4753,
+ t4634,
+ t4751,
+ t4750,
+ t4748,
+ t4747,
+ t4744,
+ t4743,
+ t4742,
+ t4741,
+ t4740,
+ t4739,
+ t4738,
+ t4737,
+ t4736,
+ t4735,
+ t4734,
+ t4733,
+ t4732,
+ t4612,
+ t4731,
+ t4730,
+ t4729,
+ t4728,
+ t4727,
+ t4608,
+ t4726,
+ t4725,
+ t4620,
+ t4609,
+ t4724,
+ t4723,
+ t4619,
+ t4616,
+ t4722,
+ t4721,
+ t4720,
+ t4719,
+ t4718,
+ t4717,
+ t4716,
+ t4715,
+ t4714,
+ t4621,
+ t4713,
+ t4712,
+ t4711,
+ t4710,
+ t4709,
+ t4708,
+ t4707,
+ t4706,
+ t4705,
+ t4704,
+ t4703,
+ t4702,
+ t4701,
+ t4700,
+ t4699,
+ t4698,
+ t4697,
+ t4696,
+ t4655,
+ t4623;
+ t4693 = x*x;
+ t4694 = y*y;
+ t4823 = t4694+t4693;
+ t4783 = x*y;
+ t4614 = RATIONAL(-2.0,245.0)*t4783;
+ t4695 = z*z;
+ t4683 = RATIONAL(1.0,350.0);
+ t4646 = t4683*t4695;
+ t4822 = t4614+t4646;
+ t4690 = RATIONAL(-1.0,175.0);
+ t4641 = t4690*t4695;
+ t4821 = t4641+RATIONAL(-17.0,5250.0);
+ t4682 = RATIONAL(1.0,200.0);
+ t4691 = RATIONAL(-1.0,50.0);
+ t4820 = t4691*t4693+t4682*t4694;
+ t4692 = RATIONAL(1.0,50.0);
+ t4681 = RATIONAL(-1.0,200.0);
+ t4819 = t4681*t4694+t4692*t4693;
+ t4686 = RATIONAL(-2.0,175.0);
+ t4656 = t4686*x;
+ t4688 = RATIONAL(2.0,175.0);
+ t4640 = t4688*y;
+ t4818 = t4656+t4640;
+ t4817 = t4681*t4693+t4692*t4694;
+ t4631 = t4683*x;
+ t4632 = t4683*y;
+ t4816 = t4631+t4632;
+ t4684 = RATIONAL(-1.0,350.0);
+ t4627 = t4684*x;
+ t4630 = t4684*y;
+ t4815 = t4627+t4630;
+ t4653 = t4686*y;
+ t4814 = t4653+t4656;
+ t4647 = t4688*x;
+ t4813 = t4653+t4647;
+ t4685 = RATIONAL(1.0,175.0);
+ t4651 = t4685*x;
+ t4644 = t4685*y;
+ t4812 = t4651+t4644;
+ t4637 = RATIONAL(1.0,125.0)*z;
+ t4811 = t4656+t4637;
+ t4636 = t4690*x;
+ t4810 = t4644+t4636;
+ t4650 = t4690*y;
+ t4809 = t4650+t4636;
+ t4645 = t4684*t4695;
+ t4808 = t4645+RATIONAL(187.0,7000.0);
+ t4807 = t4645+RATIONAL(-47.0,5250.0);
+ t4806 = t4627+t4632;
+ t4779 = z*t4684;
+ t4603 = y*t4779;
+ t4778 = z*t4683;
+ t4622 = x*t4778;
+ t4805 = t4603+t4622;
+ t4649 = RATIONAL(-1.0,250.0)*z;
+ t4804 = t4649+t4644;
+ t4629 = RATIONAL(1.0,500.0)*z;
+ t4803 = t4629+t4632;
+ t4680 = RATIONAL(-1.0,700.0);
+ t4628 = t4680*t4695;
+ t4802 = t4628+RATIONAL(167.0,7000.0);
+ t4801 = t4647+t4640;
+ t4767 = t4823*RATIONAL(-1.0,100.0);
+ t4606 = RATIONAL(1.0,245.0)*t4783;
+ t4752 = t4606+t4767;
+ t4800 = RATIONAL(229.0,10500.0)+t4752;
+ t4602 = x*t4779;
+ t4604 = y*t4778;
+ t4799 = t4602+t4604;
+ t4798 = t4650+t4651;
+ t4797 = t4614+RATIONAL(-167.0,7000.0);
+ t4796 = t4630+t4631;
+ t4633 = RATIONAL(-1.0,500.0)*z;
+ t4795 = t4630+t4633;
+ t4626 = RATIONAL(-1.0,1000.0)*z;
+ t4794 = t4626+t4630;
+ t4793 = t4691*t4694+t4682*t4693;
+ t4792 = t4629+t4630;
+ t4746 = RATIONAL(137.0,5250.0)+t4767;
+ t4791 = t4606+RATIONAL(-1.0,1400.0)*t4695+t4746;
+ t4762 = t4823*RATIONAL(1.0,100.0);
+ t4745 = RATIONAL(-137.0,5250.0)+t4762;
+ t4654 = t4685*t4695;
+ t4618 = RATIONAL(4.0,245.0)*t4783;
+ t4790 = t4745+t4654+t4618;
+ t4749 = t4606+t4762;
+ t4789 = t4628+t4749+RATIONAL(-229.0,10500.0);
+ t4788 = RATIONAL(107.0,7000.0)+t4822;
+ t4787 = t4614+RATIONAL(-107.0,7000.0)+t4645;
+ t4786 = t4641+t4746+t4618;
+ t4754 = t4618+t4767;
+ t4785 = t4646+t4754+RATIONAL(47.0,5250.0);
+ t4784 = RATIONAL(1.0,1400.0)*t4695+t4606+t4745;
+ t4679 = RATIONAL(1.0,700.0);
+ t4782 = t4679*z;
+ t4781 = z*t4680;
+ t4780 = z*t4690;
+ t4777 = z*t4685;
+ t4776 = z*t4686;
+ t4775 = z*t4688;
+ t4642 = RATIONAL(1.0,250.0)*z;
+ t4607 = x*t4777;
+ t4774 = t4642+t4607;
+ t4605 = RATIONAL(2.0,245.0)*t4783;
+ t4773 = t4605+t4650;
+ t4772 = t4651+t4605;
+ t4613 = RATIONAL(-4.0,245.0)*t4783;
+ t4771 = t4653+t4613;
+ t4615 = x*t4780;
+ t4770 = t4649+t4615;
+ t4769 = t4656+t4613;
+ t4768 = t4649+t4607;
+ t4766 = t4605+t4644;
+ t4765 = t4613+t4647;
+ t4617 = x*t4775;
+ t4764 = t4617+t4613;
+ t4611 = y*t4780;
+ t4763 = t4611+t4605;
+ t4610 = x*t4776;
+ t4761 = t4610+t4613;
+ t4760 = t4605+t4636;
+ t4759 = t4605+t4622;
+ t4758 = t4642+t4615;
+ t4757 = t4602+t4605;
+ t4756 = t4613+t4640;
+ t4755 = t4618+t4762;
+ t4753 = RATIONAL(-187.0,7000.0)+t4822;
+ t4634 = t4679*t4695;
+ t4751 = t4604+t4634+t4622;
+ t4750 = t4602+t4603+t4634;
+ t4748 = t4614+t4810;
+ t4747 = t4614+t4798;
+ t4744 = t4753+t4812;
+ t4743 = t4747+t4802;
+ t4742 = t4755+t4814;
+ t4741 = t4748+t4808;
+ t4740 = t4615+t4611+t4787;
+ t4739 = t4747+t4808;
+ t4738 = t4753+t4809;
+ t4737 = t4654+RATIONAL(17.0,5250.0)+t4754;
+ t4736 = t4755+t4801;
+ t4735 = t4634+RATIONAL(-289.0,10500.0)+t4749;
+ t4734 = t4607+t4611+t4788;
+ t4733 = t4750+t4797;
+ t4732 = t4751+t4797;
+ t4612 = y*t4777;
+ t4731 = t4615+t4612+t4788;
+ t4730 = t4628+RATIONAL(289.0,10500.0)+t4752;
+ t4729 = t4607+t4612+t4787;
+ t4728 = t4748+t4802;
+ t4727 = t4789+t4799;
+ t4608 = y*t4776;
+ t4726 = t4608+t4617+t4786;
+ t4725 = t4751+t4800;
+ t4620 = y*t4781;
+ t4609 = x*t4782;
+ t4724 = t4620+t4609+t4784;
+ t4723 = t4750+t4800;
+ t4619 = x*t4781;
+ t4616 = y*t4782;
+ t4722 = t4619+t4616+t4784;
+ t4721 = t4619+t4620+t4791;
+ t4720 = t4608+t4610+t4790;
+ t4719 = t4609+t4616+t4791;
+ t4718 = t4785+t4818;
+ t4717 = t4736+t4807;
+ t4716 = t4742+t4807;
+ t4715 = t4789+t4805;
+ t4714 = t4785+t4813;
+ t4621 = y*t4775;
+ t4713 = t4621+t4610+t4786;
+ t4712 = t4621+t4617+t4790;
+ t4711 = t4633+t4743+t4799;
+ t4710 = t4629+t4728+t4799;
+ t4709 = t4629+t4743+t4805;
+ t4708 = t4642+t4740+t4812;
+ t4707 = t4642+t4734+t4798;
+ t4706 = t4649+t4740+t4809;
+ t4705 = t4651+t4729+t4804;
+ t4704 = t4642+t4731+t4810;
+ t4703 = t4636+t4734+t4804;
+ t4702 = t4629+t4733+t4812;
+ t4701 = t4649+t4731+t4798;
+ t4700 = t4629+t4732+t4809;
+ t4699 = t4633+t4733+t4809;
+ t4698 = t4633+t4728+t4805;
+ t4697 = t4633+t4732+t4812;
+ t4696 = t4642+t4729+t4809;
+ t4655 = RATIONAL(-1.0,125.0)*z;
+ t4623 = RATIONAL(1.0,1000.0)*z;
+ coeff_dxy_m2_m2_m2 = t4655+t4712+t4814;
+ coeff_dxy_m1_m2_m2 = t4701+t4820;
+ coeff_dxy_0_m2_m2 = t4647+t4761;
+ coeff_dxy_p1_m2_m2 = t4708+t4819;
+ coeff_dxy_p2_m2_m2 = t4640+t4726+t4811;
+ coeff_dxy_m2_m1_m2 = t4703+t4793;
+ coeff_dxy_m1_m1_m2 = t4633+t4723+t4816;
+ coeff_dxy_0_m1_m2 = t4615+t4772;
+ coeff_dxy_p1_m1_m2 = t4631+t4727+t4792;
+ coeff_dxy_p2_m1_m2 = t4696+t4817;
+ coeff_dxy_m2_0_m2 = t4608+t4756;
+ coeff_dxy_m1_0_m2 = t4644+t4763;
+ coeff_dxy_0_0_m2 = t4618;
+ coeff_dxy_p1_0_m2 = t4612+t4773;
+ coeff_dxy_p2_0_m2 = t4621+t4771;
+ coeff_dxy_m2_p1_m2 = t4708+t4817;
+ coeff_dxy_m1_p1_m2 = t4627+t4715+t4803;
+ coeff_dxy_0_p1_m2 = t4607+t4760;
+ coeff_dxy_p1_p1_m2 = t4627+t4725+t4795;
+ coeff_dxy_p2_p1_m2 = t4701+t4793;
+ coeff_dxy_m2_p2_m2 = t4637+t4713+t4813;
+ coeff_dxy_m1_p2_m2 = t4696+t4819;
+ coeff_dxy_0_p2_m2 = t4656+t4764;
+ coeff_dxy_p1_p2_m2 = t4703+t4820;
+ coeff_dxy_p2_p2_m2 = t4655+t4720+t4801;
+ coeff_dxy_m2_m2_m1 = t4612+t4716+t4768;
+ coeff_dxy_m1_m2_m1 = t4711+t4820;
+ coeff_dxy_0_m2_m1 = t4615+t4765;
+ coeff_dxy_p1_m2_m1 = t4702+t4819;
+ coeff_dxy_p2_m2_m1 = t4611+t4718+t4774;
+ coeff_dxy_m2_m1_m1 = t4698+t4793;
+ coeff_dxy_m1_m1_m1 = t4626+t4721+t4816;
+ coeff_dxy_0_m1_m1 = t4651+t4757;
+ coeff_dxy_p1_m1_m1 = t4623+t4722+t4796;
+ coeff_dxy_p2_m1_m1 = t4700+t4817;
+ coeff_dxy_m2_0_m1 = t4611+t4756;
+ coeff_dxy_m1_0_m1 = t4603+t4766;
+ coeff_dxy_0_0_m1 = t4618;
+ coeff_dxy_p1_0_m1 = t4604+t4773;
+ coeff_dxy_p2_0_m1 = t4612+t4771;
+ coeff_dxy_m2_p1_m1 = t4702+t4817;
+ coeff_dxy_m1_p1_m1 = t4623+t4724+t4806;
+ coeff_dxy_0_p1_m1 = t4636+t4759;
+ coeff_dxy_p1_p1_m1 = t4627+t4719+t4794;
+ coeff_dxy_p2_p1_m1 = t4711+t4793;
+ coeff_dxy_m2_p2_m1 = t4612+t4714+t4758;
+ coeff_dxy_m1_p2_m1 = t4700+t4819;
+ coeff_dxy_0_p2_m1 = t4607+t4769;
+ coeff_dxy_p1_p2_m1 = t4698+t4820;
+ coeff_dxy_p2_p2_m1 = t4611+t4717+t4770;
+ coeff_dxy_m2_m2_0 = t4742+t4821;
+ coeff_dxy_m1_m2_0 = t4739+t4820;
+ coeff_dxy_0_m2_0 = t4765;
+ coeff_dxy_p1_m2_0 = t4744+t4819;
+ coeff_dxy_p2_m2_0 = t4737+t4818;
+ coeff_dxy_m2_m1_0 = t4741+t4793;
+ coeff_dxy_m1_m1_0 = t4730+t4816;
+ coeff_dxy_0_m1_0 = t4772;
+ coeff_dxy_p1_m1_0 = t4735+t4796;
+ coeff_dxy_p2_m1_0 = t4738+t4817;
+ coeff_dxy_m2_0_0 = t4756;
+ coeff_dxy_m1_0_0 = t4766;
+ coeff_dxy_0_0_0 = t4618;
+ coeff_dxy_p1_0_0 = t4773;
+ coeff_dxy_p2_0_0 = t4771;
+ coeff_dxy_m2_p1_0 = t4744+t4817;
+ coeff_dxy_m1_p1_0 = t4735+t4806;
+ coeff_dxy_0_p1_0 = t4760;
+ coeff_dxy_p1_p1_0 = t4730+t4815;
+ coeff_dxy_p2_p1_0 = t4739+t4793;
+ coeff_dxy_m2_p2_0 = t4737+t4813;
+ coeff_dxy_m1_p2_0 = t4738+t4819;
+ coeff_dxy_0_p2_0 = t4769;
+ coeff_dxy_p1_p2_0 = t4741+t4820;
+ coeff_dxy_p2_p2_0 = t4736+t4821;
+ coeff_dxy_m2_m2_p1 = t4611+t4716+t4758;
+ coeff_dxy_m1_m2_p1 = t4709+t4820;
+ coeff_dxy_0_m2_p1 = t4607+t4765;
+ coeff_dxy_p1_m2_p1 = t4697+t4819;
+ coeff_dxy_p2_m2_p1 = t4612+t4718+t4770;
+ coeff_dxy_m2_m1_p1 = t4710+t4793;
+ coeff_dxy_m1_m1_p1 = t4623+t4719+t4816;
+ coeff_dxy_0_m1_p1 = t4651+t4759;
+ coeff_dxy_p1_m1_p1 = t4631+t4724+t4794;
+ coeff_dxy_p2_m1_p1 = t4699+t4817;
+ coeff_dxy_m2_0_p1 = t4612+t4756;
+ coeff_dxy_m1_0_p1 = t4604+t4766;
+ coeff_dxy_0_0_p1 = t4618;
+ coeff_dxy_p1_0_p1 = t4603+t4773;
+ coeff_dxy_p2_0_p1 = t4611+t4771;
+ coeff_dxy_m2_p1_p1 = t4697+t4817;
+ coeff_dxy_m1_p1_p1 = t4626+t4722+t4806;
+ coeff_dxy_0_p1_p1 = t4636+t4757;
+ coeff_dxy_p1_p1_p1 = t4623+t4721+t4815;
+ coeff_dxy_p2_p1_p1 = t4709+t4793;
+ coeff_dxy_m2_p2_p1 = t4611+t4714+t4768;
+ coeff_dxy_m1_p2_p1 = t4699+t4819;
+ coeff_dxy_0_p2_p1 = t4615+t4769;
+ coeff_dxy_p1_p2_p1 = t4710+t4820;
+ coeff_dxy_p2_p2_p1 = t4612+t4717+t4774;
+ coeff_dxy_m2_m2_p2 = t4653+t4720+t4811;
+ coeff_dxy_m1_m2_p2 = t4707+t4820;
+ coeff_dxy_0_m2_p2 = t4647+t4764;
+ coeff_dxy_p1_m2_p2 = t4705+t4819;
+ coeff_dxy_p2_m2_p2 = t4655+t4713+t4818;
+ coeff_dxy_m2_m1_p2 = t4704+t4793;
+ coeff_dxy_m1_m1_p2 = t4631+t4725+t4803;
+ coeff_dxy_0_m1_p2 = t4607+t4772;
+ coeff_dxy_p1_m1_p2 = t4631+t4715+t4795;
+ coeff_dxy_p2_m1_p2 = t4706+t4817;
+ coeff_dxy_m2_0_p2 = t4621+t4756;
+ coeff_dxy_m1_0_p2 = t4612+t4766;
+ coeff_dxy_0_0_p2 = t4618;
+ coeff_dxy_p1_0_p2 = t4650+t4763;
+ coeff_dxy_p2_0_p2 = t4608+t4771;
+ coeff_dxy_m2_p1_p2 = t4705+t4817;
+ coeff_dxy_m1_p1_p2 = t4633+t4727+t4806;
+ coeff_dxy_0_p1_p2 = t4615+t4760;
+ coeff_dxy_p1_p1_p2 = t4627+t4723+t4792;
+ coeff_dxy_p2_p1_p2 = t4707+t4793;
+ coeff_dxy_m2_p2_p2 = t4655+t4726+t4813;
+ coeff_dxy_m1_p2_p2 = t4706+t4819;
+ coeff_dxy_0_p2_p2 = t4656+t4761;
+ coeff_dxy_p1_p2_p2 = t4704+t4820;
+ coeff_dxy_p2_p2_p2 = t4637+t4712+t4801;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c
new file mode 100644
index 0000000..d2f4701
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c
@@ -0,0 +1,499 @@
+fp t4915,
+ t4917,
+ t5040,
+ t4906,
+ t4916,
+ t4863,
+ t5039,
+ t4880,
+ t4905,
+ t4849,
+ t5038,
+ t4908,
+ t4878,
+ t4877,
+ t5037,
+ t4910,
+ t4859,
+ t5036,
+ t4864,
+ t5035,
+ t5034,
+ t4903,
+ t4914,
+ t5033,
+ t5001,
+ t4842,
+ t4868,
+ t5032,
+ t4902,
+ t4853,
+ t5031,
+ t4907,
+ t4870,
+ t4912,
+ t4867,
+ t5030,
+ t4889,
+ t5029,
+ t4999,
+ t4833,
+ t4826,
+ t5028,
+ t4862,
+ t5027,
+ t5026,
+ t5025,
+ t4872,
+ t5024,
+ t4855,
+ t5023,
+ t4901,
+ t4852,
+ t5022,
+ t4879,
+ t4851,
+ t5021,
+ t5020,
+ t4904,
+ t4913,
+ t5019,
+ t4850,
+ t5018,
+ t5000,
+ t4832,
+ t4827,
+ t5017,
+ t4892,
+ t4873,
+ t5016,
+ t5015,
+ t4829,
+ t4841,
+ t5014,
+ t4831,
+ t4858,
+ t5013,
+ t5012,
+ t5011,
+ t4875,
+ t4840,
+ t5010,
+ t5009,
+ t4996,
+ t4838,
+ t4971,
+ t5008,
+ t5007,
+ t4857,
+ t4985,
+ t4824,
+ t4970,
+ t5006,
+ t5005,
+ t5004,
+ t5003,
+ t5002,
+ t4844,
+ t4998,
+ t4837,
+ t4997,
+ t4995,
+ t4839,
+ t4994,
+ t4993,
+ t4992,
+ t4836,
+ t4865,
+ t4991,
+ t4871,
+ t4990,
+ t4989,
+ t4830,
+ t4988,
+ t4834,
+ t4987,
+ t4986,
+ t4825,
+ t4984,
+ t4983,
+ t4982,
+ t4981,
+ t4980,
+ t4979,
+ t4978,
+ t4843,
+ t4977,
+ t4976,
+ t4975,
+ t4974,
+ t4973,
+ t4972,
+ t4969,
+ t4968,
+ t4828,
+ t4967,
+ t4966,
+ t4965,
+ t4964,
+ t4963,
+ t4835,
+ t4962,
+ t4961,
+ t4960,
+ t4959,
+ t4958,
+ t4957,
+ t4956,
+ t4955,
+ t4954,
+ t4953,
+ t4952,
+ t4951,
+ t4950,
+ t4949,
+ t4948,
+ t4947,
+ t4946,
+ t4945,
+ t4944,
+ t4943,
+ t4942,
+ t4941,
+ t4940,
+ t4939,
+ t4938,
+ t4937,
+ t4936,
+ t4935,
+ t4934,
+ t4933,
+ t4932,
+ t4931,
+ t4930,
+ t4929,
+ t4928,
+ t4927,
+ t4926,
+ t4925,
+ t4924,
+ t4923,
+ t4922,
+ t4921,
+ t4920,
+ t4919,
+ t4918,
+ t4848,
+ t4847;
+ t4915 = x*x;
+ t4917 = z*z;
+ t5040 = t4915+t4917;
+ t4906 = RATIONAL(-1.0,350.0);
+ t4916 = y*y;
+ t4863 = t4906*t4916;
+ t5039 = RATIONAL(-47.0,5250.0)+t4863;
+ t4880 = t4906*x;
+ t4905 = RATIONAL(1.0,350.0);
+ t4849 = t4905*z;
+ t5038 = t4880+t4849;
+ t4908 = RATIONAL(-2.0,175.0);
+ t4878 = t4908*z;
+ t4877 = t4908*x;
+ t5037 = t4878+t4877;
+ t4910 = RATIONAL(2.0,175.0);
+ t4859 = t4910*z;
+ t5036 = t4859+t4877;
+ t4864 = t4910*x;
+ t5035 = t4859+t4864;
+ t5034 = t4878+t4864;
+ t4903 = RATIONAL(-1.0,200.0);
+ t4914 = RATIONAL(1.0,50.0);
+ t5033 = t4903*t4915+t4914*t4917;
+ t5001 = x*z;
+ t4842 = RATIONAL(-2.0,245.0)*t5001;
+ t4868 = t4905*t4916;
+ t5032 = t4842+t4868;
+ t4902 = RATIONAL(-1.0,700.0);
+ t4853 = t4902*t4916;
+ t5031 = t4853+RATIONAL(-229.0,10500.0);
+ t4907 = RATIONAL(1.0,175.0);
+ t4870 = t4907*x;
+ t4912 = RATIONAL(-1.0,175.0);
+ t4867 = t4912*z;
+ t5030 = t4870+t4867;
+ t4889 = RATIONAL(137.0,5250.0);
+ t5029 = RATIONAL(-1.0,1400.0)*t4916+t4889;
+ t4999 = y*t4902;
+ t4833 = x*t4999;
+ t4826 = z*t4999;
+ t5028 = t4833+t4826;
+ t4862 = t4907*z;
+ t5027 = t4870+t4862;
+ t5026 = t4914*t4915+t4903*t4917;
+ t5025 = t4853+RATIONAL(289.0,10500.0);
+ t4872 = t4912*x;
+ t5024 = t4872+t4862;
+ t4855 = RATIONAL(-1.0,500.0)*y;
+ t5023 = t4855+t4862;
+ t4901 = RATIONAL(1.0,700.0);
+ t4852 = t4901*t4916;
+ t5022 = t4852+RATIONAL(-289.0,10500.0);
+ t4879 = t4906*z;
+ t4851 = t4905*x;
+ t5021 = t4879+t4851;
+ t5020 = t4872+t4867;
+ t4904 = RATIONAL(1.0,200.0);
+ t4913 = RATIONAL(-1.0,50.0);
+ t5019 = t4913*t4915+t4904*t4917;
+ t4850 = RATIONAL(1.0,500.0)*y;
+ t5018 = t4850+t4867;
+ t5000 = y*t4901;
+ t4832 = z*t5000;
+ t4827 = x*t5000;
+ t5017 = t4832+t4827;
+ t4892 = RATIONAL(-137.0,5250.0);
+ t4873 = t4907*t4916;
+ t5016 = t4892+t4873;
+ t5015 = t4852+RATIONAL(229.0,10500.0);
+ t4829 = y*t4864;
+ t4841 = y*t4859;
+ t5014 = t4829+t4841;
+ t4831 = y*t4877;
+ t4858 = RATIONAL(1.0,125.0)*y;
+ t5013 = t4831+t4858;
+ t5012 = t4863+t4842;
+ t5011 = t4913*t4917+t4904*t4915;
+ t4875 = RATIONAL(-1.0,125.0)*y;
+ t4840 = y*t4878;
+ t5010 = t4875+t4840;
+ t5009 = t4855+t4867;
+ t4996 = t5040*RATIONAL(1.0,100.0);
+ t4838 = RATIONAL(1.0,245.0)*t5001;
+ t4971 = t4838+t4996;
+ t5008 = t4971+t4892+RATIONAL(1.0,1400.0)*t4916;
+ t5007 = t4852+RATIONAL(-167.0,7000.0)+t4842;
+ t4857 = t4912*t4916;
+ t4985 = t5040*RATIONAL(-1.0,100.0);
+ t4824 = RATIONAL(4.0,245.0)*t5001;
+ t4970 = t4824+t4985;
+ t5006 = t4857+t4889+t4970;
+ t5005 = RATIONAL(-107.0,7000.0)+t5012;
+ t5004 = RATIONAL(107.0,7000.0)+t5032;
+ t5003 = RATIONAL(47.0,5250.0)+t4970+t4868;
+ t5002 = t4853+RATIONAL(167.0,7000.0)+t4842;
+ t4844 = RATIONAL(-4.0,245.0)*t5001;
+ t4998 = t4878+t4844;
+ t4837 = y*t4849;
+ t4997 = t4855+t4837;
+ t4995 = t4837+t4850;
+ t4839 = RATIONAL(2.0,245.0)*t5001;
+ t4994 = t4872+t4839;
+ t4993 = t4844+t4859;
+ t4992 = t4840+t4844;
+ t4836 = y*t4870;
+ t4865 = RATIONAL(1.0,250.0)*y;
+ t4991 = t4836+t4865;
+ t4871 = RATIONAL(-1.0,250.0)*y;
+ t4990 = t4871+t4836;
+ t4989 = t4862+t4839;
+ t4830 = y*t4867;
+ t4988 = t4830+t4844;
+ t4834 = y*t4879;
+ t4987 = t4834+t4855;
+ t4986 = t4870+t4839;
+ t4825 = y*t4872;
+ t4984 = t4825+t4865;
+ t4983 = t4864+t4844;
+ t4982 = t4877+t4844;
+ t4981 = t4871+t4825;
+ t4980 = t4836+t4844;
+ t4979 = t4834+t4850;
+ t4978 = t4839+t4867;
+ t4843 = y*t4862;
+ t4977 = t4843+t4844;
+ t4976 = t4825+t4844;
+ t4975 = RATIONAL(-187.0,7000.0)+t5032;
+ t4974 = t4838+t4985;
+ t4973 = RATIONAL(187.0,7000.0)+t5012;
+ t4972 = t4824+t4996;
+ t4969 = t4972+t5035;
+ t4968 = t4873+RATIONAL(17.0,5250.0)+t4970;
+ t4828 = y*t4851;
+ t4967 = t4834+t4828+t5002;
+ t4966 = t4843+t4836+t5005;
+ t4965 = t4975+t5033;
+ t4964 = t4971+t5021;
+ t4963 = t5004+t5024;
+ t4835 = y*t4880;
+ t4962 = t4835+t4837+t5002;
+ t4961 = t4972+t5037;
+ t4960 = t4975+t5026;
+ t4959 = t4830+t4825+t5005;
+ t4958 = t4879+t4880+t4974;
+ t4957 = t5004+t5030;
+ t4956 = t4857+RATIONAL(-17.0,5250.0)+t4972;
+ t4955 = t4973+t5019;
+ t4954 = t4851+t4849+t4974;
+ t4953 = t4837+t4828+t5007;
+ t4952 = t4973+t5011;
+ t4951 = t4834+t4835+t5007;
+ t4950 = t4971+t5038;
+ t4949 = t4826+t4827+t5008;
+ t4948 = t4954+t5029;
+ t4947 = t4958+t5029;
+ t4946 = t4964+t5031;
+ t4945 = t4833+t4832+t5008;
+ t4944 = t4969+t5039;
+ t4943 = t4958+t5015;
+ t4942 = t4961+t5016;
+ t4941 = t5006+t5036;
+ t4940 = t4961+t5039;
+ t4939 = t4836+t4830+t5003;
+ t4938 = t4954+t5015;
+ t4937 = t5006+t5034;
+ t4936 = t4843+t4825+t5003;
+ t4935 = t4950+t5031;
+ t4934 = t4969+t5016;
+ t4933 = t4872+t4953+t5018;
+ t4932 = t4872+t4967+t5023;
+ t4931 = t4865+t4966+t5020;
+ t4930 = t4870+t4967+t5018;
+ t4929 = t4870+t4962+t5009;
+ t4928 = t4830+t4963+t4990;
+ t4927 = t4850+t4962+t5024;
+ t4926 = t4830+t4957+t4991;
+ t4925 = t4865+t4959+t5027;
+ t4924 = t4843+t4957+t4981;
+ t4923 = t4871+t4966+t5027;
+ t4922 = t4872+t4951+t5009;
+ t4921 = t4871+t4959+t5020;
+ t4920 = t4870+t4953+t5023;
+ t4919 = t4843+t4963+t4984;
+ t4918 = t4850+t4951+t5027;
+ t4848 = RATIONAL(1.0,1000.0)*y;
+ t4847 = RATIONAL(-1.0,1000.0)*y;
+ coeff_dxz_m2_m2_m2 = t4875+t4942+t5014;
+ coeff_dxz_m1_m2_m2 = t4924+t5019;
+ coeff_dxz_0_m2_m2 = t4831+t4983;
+ coeff_dxz_p1_m2_m2 = t4925+t5026;
+ coeff_dxz_p2_m2_m2 = t4829+t4858+t4840+t4941;
+ coeff_dxz_m2_m1_m2 = t4843+t4940+t4990;
+ coeff_dxz_m1_m1_m2 = t4929+t5019;
+ coeff_dxz_0_m1_m2 = t4864+t4976;
+ coeff_dxz_p1_m1_m2 = t4918+t5026;
+ coeff_dxz_p2_m1_m2 = t4865+t4939+t5036;
+ coeff_dxz_m2_0_m2 = t4956+t5037;
+ coeff_dxz_m1_0_m2 = t4955+t5030;
+ coeff_dxz_0_0_m2 = t4983;
+ coeff_dxz_p1_0_m2 = t4960+t5027;
+ coeff_dxz_p2_0_m2 = t4968+t5036;
+ coeff_dxz_m2_p1_m2 = t4830+t4940+t4984;
+ coeff_dxz_m1_p1_m2 = t4930+t5019;
+ coeff_dxz_0_p1_m2 = t4864+t4980;
+ coeff_dxz_p1_p1_m2 = t4920+t5026;
+ coeff_dxz_p2_p1_m2 = t4871+t4936+t5036;
+ coeff_dxz_m2_p2_m2 = t4840+t4942+t5013;
+ coeff_dxz_m1_p2_m2 = t4926+t5019;
+ coeff_dxz_0_p2_m2 = t4829+t4983;
+ coeff_dxz_p1_p2_m2 = t4923+t5026;
+ coeff_dxz_p2_p2_m2 = t4841+t4831+t4875+t4941;
+ coeff_dxz_m2_m2_m1 = t4928+t5011;
+ coeff_dxz_m1_m2_m1 = t4835+t4938+t4987;
+ coeff_dxz_0_m2_m1 = t4825+t4986;
+ coeff_dxz_p1_m2_m1 = t4835+t4946+t4995;
+ coeff_dxz_p2_m2_m1 = t4931+t5033;
+ coeff_dxz_m2_m1_m1 = t4932+t5011;
+ coeff_dxz_m1_m1_m1 = t4847+t4948+t5028;
+ coeff_dxz_0_m1_m1 = t4835+t4986;
+ coeff_dxz_p1_m1_m1 = t4848+t4945+t5021;
+ coeff_dxz_p2_m1_m1 = t4933+t5033;
+ coeff_dxz_m2_0_m1 = t4952+t5024;
+ coeff_dxz_m1_0_m1 = t4954+t5025;
+ coeff_dxz_0_0_m1 = t4986;
+ coeff_dxz_p1_0_m1 = t4964+t5022;
+ coeff_dxz_p2_0_m1 = t4965+t5020;
+ coeff_dxz_m2_p1_m1 = t4927+t5011;
+ coeff_dxz_m1_p1_m1 = t4848+t4948+t5017;
+ coeff_dxz_0_p1_m1 = t4828+t4986;
+ coeff_dxz_p1_p1_m1 = t4847+t4949+t5021;
+ coeff_dxz_p2_p1_m1 = t4922+t5033;
+ coeff_dxz_m2_p2_m1 = t4919+t5011;
+ coeff_dxz_m1_p2_m1 = t4828+t4938+t4995;
+ coeff_dxz_0_p2_m1 = t4836+t4986;
+ coeff_dxz_p1_p2_m1 = t4828+t4946+t4987;
+ coeff_dxz_p2_p2_m1 = t4921+t5033;
+ coeff_dxz_m2_m2_0 = t4859+t4992;
+ coeff_dxz_m1_m2_0 = t4830+t4989;
+ coeff_dxz_0_m2_0 = t4824;
+ coeff_dxz_p1_m2_0 = t4843+t4978;
+ coeff_dxz_p2_m2_0 = t4841+t4998;
+ coeff_dxz_m2_m1_0 = t4859+t4988;
+ coeff_dxz_m1_m1_0 = t4834+t4989;
+ coeff_dxz_0_m1_0 = t4824;
+ coeff_dxz_p1_m1_0 = t4837+t4978;
+ coeff_dxz_p2_m1_0 = t4878+t4977;
+ coeff_dxz_m2_0_0 = t4993;
+ coeff_dxz_m1_0_0 = t4989;
+ coeff_dxz_0_0_0 = t4824;
+ coeff_dxz_p1_0_0 = t4978;
+ coeff_dxz_p2_0_0 = t4998;
+ coeff_dxz_m2_p1_0 = t4859+t4977;
+ coeff_dxz_m1_p1_0 = t4837+t4989;
+ coeff_dxz_0_p1_0 = t4824;
+ coeff_dxz_p1_p1_0 = t4834+t4978;
+ coeff_dxz_p2_p1_0 = t4878+t4988;
+ coeff_dxz_m2_p2_0 = t4841+t4993;
+ coeff_dxz_m1_p2_0 = t4843+t4989;
+ coeff_dxz_0_p2_0 = t4824;
+ coeff_dxz_p1_p2_0 = t4830+t4978;
+ coeff_dxz_p2_p2_0 = t4878+t4992;
+ coeff_dxz_m2_m2_p1 = t4925+t5033;
+ coeff_dxz_m1_m2_p1 = t4828+t4935+t4979;
+ coeff_dxz_0_m2_p1 = t4836+t4994;
+ coeff_dxz_p1_m2_p1 = t4828+t4943+t4997;
+ coeff_dxz_p2_m2_p1 = t4924+t5011;
+ coeff_dxz_m2_m1_p1 = t4918+t5033;
+ coeff_dxz_m1_m1_p1 = t4848+t4949+t5038;
+ coeff_dxz_0_m1_p1 = t4828+t4994;
+ coeff_dxz_p1_m1_p1 = t4847+t4947+t5017;
+ coeff_dxz_p2_m1_p1 = t4929+t5011;
+ coeff_dxz_m2_0_p1 = t4965+t5027;
+ coeff_dxz_m1_0_p1 = t4950+t5022;
+ coeff_dxz_0_0_p1 = t4994;
+ coeff_dxz_p1_0_p1 = t4958+t5025;
+ coeff_dxz_p2_0_p1 = t4952+t5030;
+ coeff_dxz_m2_p1_p1 = t4920+t5033;
+ coeff_dxz_m1_p1_p1 = t4847+t4945+t5038;
+ coeff_dxz_0_p1_p1 = t4835+t4994;
+ coeff_dxz_p1_p1_p1 = t4848+t4947+t5028;
+ coeff_dxz_p2_p1_p1 = t4930+t5011;
+ coeff_dxz_m2_p2_p1 = t4923+t5033;
+ coeff_dxz_m1_p2_p1 = t4835+t4935+t4997;
+ coeff_dxz_0_p2_p1 = t4825+t4994;
+ coeff_dxz_p1_p2_p1 = t4835+t4943+t4979;
+ coeff_dxz_p2_p2_p1 = t4926+t5011;
+ coeff_dxz_m2_m2_p2 = t4841+t4937+t5013;
+ coeff_dxz_m1_m2_p2 = t4931+t5026;
+ coeff_dxz_0_m2_p2 = t4829+t4982;
+ coeff_dxz_p1_m2_p2 = t4928+t5019;
+ coeff_dxz_p2_m2_p2 = t4831+t4934+t5010;
+ coeff_dxz_m2_m1_p2 = t4865+t4936+t5034;
+ coeff_dxz_m1_m1_p2 = t4933+t5026;
+ coeff_dxz_0_m1_p2 = t4877+t4980;
+ coeff_dxz_p1_m1_p2 = t4932+t5019;
+ coeff_dxz_p2_m1_p2 = t4830+t4944+t4981;
+ coeff_dxz_m2_0_p2 = t4968+t5034;
+ coeff_dxz_m1_0_p2 = t4960+t5020;
+ coeff_dxz_0_0_p2 = t4982;
+ coeff_dxz_p1_0_p2 = t4955+t5024;
+ coeff_dxz_p2_0_p2 = t4956+t5035;
+ coeff_dxz_m2_p1_p2 = t4871+t4939+t5034;
+ coeff_dxz_m1_p1_p2 = t4922+t5026;
+ coeff_dxz_0_p1_p2 = t4877+t4976;
+ coeff_dxz_p1_p1_p2 = t4927+t5019;
+ coeff_dxz_p2_p1_p2 = t4843+t4944+t4991;
+ coeff_dxz_m2_p2_p2 = t4829+t4937+t5010;
+ coeff_dxz_m1_p2_p2 = t4921+t5026;
+ coeff_dxz_0_p2_p2 = t4831+t4982;
+ coeff_dxz_p1_p2_p2 = t4919+t5019;
+ coeff_dxz_p2_p2_p2 = t4858+t4934+t5014;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c
new file mode 100644
index 0000000..1359ff7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c
@@ -0,0 +1,981 @@
+fp t3532,
+ t3699,
+ t3382,
+ t3708,
+ t3414,
+ t3529,
+ t3704,
+ t3419,
+ t3352,
+ t3845,
+ t3546,
+ t3705,
+ t3415,
+ t3530,
+ t3696,
+ t3391,
+ t3353,
+ t3667,
+ t3844,
+ t3411,
+ t3362,
+ t3686,
+ t3843,
+ t3558,
+ t3483,
+ t3401,
+ t3504,
+ t3842,
+ t3545,
+ t3706,
+ t3375,
+ t3533,
+ t3556,
+ t3701,
+ t3386,
+ t3841,
+ t3523,
+ t3461,
+ t3380,
+ t3496,
+ t3437,
+ t3840,
+ t3503,
+ t3431,
+ t3555,
+ t3544,
+ t3557,
+ t3468,
+ t3688,
+ t3654,
+ t3472,
+ t3405,
+ t3839,
+ t3683,
+ t3525,
+ t3838,
+ t3499,
+ t3837,
+ t3470,
+ t3836,
+ t3698,
+ t3351,
+ t3357,
+ t3835,
+ t3394,
+ t3350,
+ t3396,
+ t3834,
+ t3490,
+ t3522,
+ t3482,
+ t3833,
+ t3537,
+ t3398,
+ t3554,
+ t3527,
+ t3477,
+ t3832,
+ t3378,
+ t3831,
+ t3680,
+ t3830,
+ t3458,
+ t3376,
+ t3502,
+ t3829,
+ t3349,
+ t3373,
+ t3828,
+ t3542,
+ t3393,
+ t3827,
+ t3366,
+ t3402,
+ t3826,
+ t3492,
+ t3825,
+ t3703,
+ t3400,
+ t3824,
+ t3439,
+ t3823,
+ t3500,
+ t3822,
+ t3700,
+ t3385,
+ t3821,
+ t3526,
+ t3469,
+ t3820,
+ t3379,
+ t3407,
+ t3819,
+ t3818,
+ t3474,
+ t3682,
+ t3498,
+ t3652,
+ t3697,
+ t3517,
+ t3817,
+ t3497,
+ t3467,
+ t3361,
+ t3816,
+ t3418,
+ t3429,
+ t3815,
+ t3814,
+ t3510,
+ t3377,
+ t3813,
+ t3416,
+ t3812,
+ t3811,
+ t3810,
+ t3479,
+ t3809,
+ t3493,
+ t3808,
+ t3807,
+ t3475,
+ t3389,
+ t3501,
+ t3438,
+ t3806,
+ t3805,
+ t3804,
+ t3553,
+ t3803,
+ t3442,
+ t3802,
+ t3488,
+ t3524,
+ t3801,
+ t3800,
+ t3702,
+ t3368,
+ t3799,
+ t3798,
+ t3797,
+ t3796,
+ t3795,
+ t3435,
+ t3794,
+ t3793,
+ t3476,
+ t3365,
+ t3792,
+ t3791,
+ t3541,
+ t3790,
+ t3789,
+ t3788,
+ t3358,
+ t3787,
+ t3420,
+ t3481,
+ t3786,
+ t3509,
+ t3785,
+ t3484,
+ t3784,
+ t3783,
+ t3506,
+ t3782,
+ t3781,
+ t3346,
+ t3780,
+ t3779,
+ t3778,
+ t3777,
+ t3776,
+ t3395,
+ t3775,
+ t3774,
+ t3440,
+ t3773,
+ t3693,
+ t3772,
+ t3771,
+ t3770,
+ t3495,
+ t3769,
+ t3397,
+ t3707,
+ t3355,
+ t3677,
+ t3427,
+ t3653,
+ t3768,
+ t3485,
+ t3665,
+ t3767,
+ t3766,
+ t3399,
+ t3765,
+ t3494,
+ t3764,
+ t3548,
+ t3763,
+ t3422,
+ t3762,
+ t3761,
+ t3432,
+ t3656,
+ t3518,
+ t3359,
+ t3369,
+ t3760,
+ t3356,
+ t3759,
+ t3758,
+ t3757,
+ t3658,
+ t3756,
+ t3755,
+ t3512,
+ t3754,
+ t3753,
+ t3514,
+ t3752,
+ t3751,
+ t3750,
+ t3749,
+ t3748,
+ t3747,
+ t3746,
+ t3745,
+ t3451,
+ t3404,
+ t3744,
+ t3743,
+ t3511,
+ t3742,
+ t3741,
+ t3740,
+ t3387,
+ t3739,
+ t3738,
+ t3737,
+ t3406,
+ t3736,
+ t3735,
+ t3521,
+ t3734,
+ t3413,
+ t3733,
+ t3732,
+ t3731,
+ t3730,
+ t3729,
+ t3728,
+ t3513,
+ t3727,
+ t3726,
+ t3725,
+ t3724,
+ t3723,
+ t3722,
+ t3721,
+ t3720,
+ t3719,
+ t3443,
+ t3718,
+ t3717,
+ t3716,
+ t3715,
+ t3714,
+ t3547,
+ t3713,
+ t3712,
+ t3711,
+ t3710,
+ t3417,
+ t3709,
+ t3695,
+ t3694,
+ t3692,
+ t3691,
+ t3689,
+ t3347,
+ t3687,
+ t3685,
+ t3684,
+ t3348,
+ t3681,
+ t3678,
+ t3676,
+ t3675,
+ t3674,
+ t3673,
+ t3552,
+ t3487,
+ t3672,
+ t3671,
+ t3670,
+ t3669,
+ t3668,
+ t3666,
+ t3664,
+ t3663,
+ t3662,
+ t3661,
+ t3660,
+ t3659,
+ t3657,
+ t3655,
+ t3651,
+ t3650,
+ t3649,
+ t3648,
+ t3647,
+ t3646,
+ t3489,
+ t3645,
+ t3454,
+ t3644,
+ t3643,
+ t3642,
+ t3641,
+ t3640,
+ t3639,
+ t3638,
+ t3637,
+ t3636,
+ t3635,
+ t3634,
+ t3633,
+ t3632,
+ t3486,
+ t3631,
+ t3630,
+ t3629,
+ t3628,
+ t3627,
+ t3626,
+ t3625,
+ t3624,
+ t3623,
+ t3622,
+ t3621,
+ t3620,
+ t3619,
+ t3618,
+ t3617,
+ t3616,
+ t3615,
+ t3614,
+ t3613,
+ t3612,
+ t3611,
+ t3610,
+ t3609,
+ t3608,
+ t3515,
+ t3607,
+ t3606,
+ t3605,
+ t3604,
+ t3551,
+ t3603,
+ t3602,
+ t3508,
+ t3601,
+ t3600,
+ t3599,
+ t3598,
+ t3597,
+ t3596,
+ t3595,
+ t3594,
+ t3593,
+ t3592,
+ t3591,
+ t3531,
+ t3590,
+ t3589,
+ t3588,
+ t3587,
+ t3538,
+ t3586,
+ t3585,
+ t3584,
+ t3583,
+ t3582,
+ t3581,
+ t3580,
+ t3579,
+ t3578,
+ t3577,
+ t3576,
+ t3575,
+ t3574,
+ t3573,
+ t3572,
+ t3571,
+ t3570,
+ t3569,
+ t3568,
+ t3567,
+ t3566,
+ t3565,
+ t3564,
+ t3563,
+ t3562,
+ t3408,
+ t3360;
+ t3532 = RATIONAL(1.0,175.0);
+ t3699 = y*t3532;
+ t3382 = x*t3699;
+ t3708 = x*z;
+ t3414 = RATIONAL(-1.0,500.0)*t3708;
+ t3529 = RATIONAL(1.0,350.0);
+ t3704 = y*t3529;
+ t3419 = x*t3704;
+ t3352 = z*t3419;
+ t3845 = t3382+t3352+t3414;
+ t3546 = RATIONAL(-1.0,175.0);
+ t3705 = t3546*y;
+ t3415 = z*t3705;
+ t3530 = RATIONAL(-1.0,350.0);
+ t3696 = y*t3530;
+ t3391 = x*t3696;
+ t3353 = z*t3391;
+ t3667 = t3415+t3353;
+ t3844 = t3414+t3667;
+ t3411 = RATIONAL(1.0,500.0)*t3708;
+ t3362 = z*t3699;
+ t3686 = t3352+t3362;
+ t3843 = t3411+t3686;
+ t3558 = z*z;
+ t3483 = t3529*t3558;
+ t3401 = x*t3483;
+ t3504 = RATIONAL(47.0,5250.0);
+ t3842 = t3401+t3504*x;
+ t3545 = RATIONAL(1.0,245.0);
+ t3706 = y*t3558;
+ t3375 = t3545*t3706;
+ t3533 = RATIONAL(-2.0,245.0);
+ t3556 = x*x;
+ t3701 = y*t3556;
+ t3386 = t3533*t3701;
+ t3841 = t3375+t3386;
+ t3523 = RATIONAL(-1.0,700.0);
+ t3461 = t3523*t3558;
+ t3380 = x*t3461;
+ t3496 = RATIONAL(167.0,7000.0);
+ t3437 = t3496*x;
+ t3840 = t3380+t3437;
+ t3503 = RATIONAL(-137.0,5250.0);
+ t3431 = t3503*x;
+ t3555 = t3556*x;
+ t3544 = RATIONAL(1.0,300.0);
+ t3557 = y*y;
+ t3468 = RATIONAL(1.0,100.0)*t3557;
+ t3688 = t3544*t3555+x*t3468;
+ t3654 = t3431+t3688;
+ t3472 = t3532*t3558;
+ t3405 = x*t3472;
+ t3839 = t3654+t3405;
+ t3683 = t3557*RATIONAL(1.0,200.0);
+ t3525 = RATIONAL(-1.0,150.0);
+ t3838 = t3525*t3555+x*t3683;
+ t3499 = RATIONAL(-187.0,7000.0);
+ t3837 = t3499*x+t3401;
+ t3470 = t3532*t3556;
+ t3836 = t3468+t3470;
+ t3698 = y*t3708;
+ t3351 = t3523*t3698;
+ t3357 = RATIONAL(1.0,1000.0)*t3708;
+ t3835 = t3351+t3357;
+ t3394 = x*t3705;
+ t3350 = z*t3394;
+ t3396 = RATIONAL(-1.0,250.0)*t3708;
+ t3834 = t3350+t3396;
+ t3490 = RATIONAL(1.0,50.0)*t3557;
+ t3522 = RATIONAL(1.0,700.0);
+ t3482 = t3522*t3558;
+ t3833 = t3490+t3482;
+ t3537 = RATIONAL(2.0,245.0);
+ t3398 = t3537*t3706;
+ t3554 = y*t3557;
+ t3527 = RATIONAL(1.0,150.0);
+ t3477 = t3527*t3554;
+ t3832 = t3398+t3477;
+ t3378 = RATIONAL(191.0,14700.0)*y;
+ t3831 = RATIONAL(-17.0,2100.0)+t3378;
+ t3680 = t3557*RATIONAL(-1.0,200.0);
+ t3830 = x*t3680+t3527*t3555;
+ t3458 = t3530*t3558;
+ t3376 = x*t3458;
+ t3502 = RATIONAL(187.0,7000.0);
+ t3829 = t3502*x+t3376;
+ t3349 = x*t3362;
+ t3373 = RATIONAL(1.0,250.0)*t3708;
+ t3828 = t3349+t3373;
+ t3542 = RATIONAL(-1.0,245.0);
+ t3393 = t3542*t3701;
+ t3827 = t3393+t3490;
+ t3366 = RATIONAL(311.0,14700.0)*y;
+ t3402 = t3533*t3706;
+ t3826 = t3366+t3402;
+ t3492 = RATIONAL(-229.0,10500.0);
+ t3825 = t3492*z+t3393;
+ t3703 = y*RATIONAL(-2.0,175.0);
+ t3400 = x*t3703;
+ t3824 = t3400+t3373;
+ t3439 = RATIONAL(166.0,3675.0)*y;
+ t3823 = RATIONAL(-17.0,525.0)+t3439;
+ t3500 = RATIONAL(-107.0,7000.0);
+ t3822 = t3500*x+t3376;
+ t3700 = y*RATIONAL(1.0,490.0);
+ t3385 = t3558*t3700;
+ t3821 = t3385+t3482;
+ t3526 = RATIONAL(-1.0,300.0);
+ t3469 = t3526*y;
+ t3820 = t3469+t3402;
+ t3379 = RATIONAL(-529.0,14700.0)*y;
+ t3407 = t3537*t3701;
+ t3819 = t3379+t3407;
+ t3818 = t3469+t3386;
+ t3474 = RATIONAL(-1.0,100.0)*t3557;
+ t3682 = x*t3474+t3526*t3555;
+ t3498 = RATIONAL(137.0,5250.0);
+ t3652 = t3498*x+t3682;
+ t3697 = x*t3558;
+ t3517 = RATIONAL(-1.0,1400.0);
+ t3817 = t3652+t3517*t3697;
+ t3497 = RATIONAL(107.0,7000.0);
+ t3467 = t3529*t3556;
+ t3361 = z*t3467;
+ t3816 = t3497*z+t3361;
+ t3418 = x*t3482;
+ t3429 = RATIONAL(211.0,3675.0)*y;
+ t3815 = t3418+t3429;
+ t3814 = t3394+t3414;
+ t3510 = RATIONAL(19.0,2100.0);
+ t3377 = RATIONAL(-169.0,14700.0)*y;
+ t3813 = t3510+t3377;
+ t3416 = t3545*t3701;
+ t3812 = t3402+t3416;
+ t3811 = t3401+t3497*x;
+ t3810 = t3393+t3477;
+ t3479 = t3546*t3556;
+ t3809 = RATIONAL(11.0,420.0)+t3479;
+ t3493 = RATIONAL(229.0,10500.0);
+ t3808 = t3493*z+t3429;
+ t3807 = t3492*x+t3429;
+ t3475 = t3522*t3556;
+ t3389 = z*t3475;
+ t3501 = RATIONAL(-167.0,7000.0);
+ t3438 = t3501*z;
+ t3806 = t3389+t3438;
+ t3805 = RATIONAL(17.0,2100.0)+t3378;
+ t3804 = t3499*z+t3361;
+ t3553 = t3558*z;
+ t3803 = z*t3680+t3527*t3553;
+ t3442 = t3501*x;
+ t3802 = t3418+t3442;
+ t3488 = RATIONAL(-1.0,50.0)*t3557;
+ t3524 = RATIONAL(1.0,600.0);
+ t3801 = t3524*t3553+z*t3488;
+ t3800 = t3414+t3362;
+ t3702 = y*RATIONAL(2.0,175.0);
+ t3368 = x*t3702;
+ t3799 = t3368+t3396;
+ t3798 = t3474+t3472;
+ t3797 = t3402+RATIONAL(431.0,14700.0)*y;
+ t3796 = t3504*z+t3361;
+ t3795 = t3411+t3415;
+ t3435 = RATIONAL(151.0,3675.0)*y;
+ t3794 = t3435+t3416;
+ t3793 = t3488+t3461;
+ t3476 = t3546*t3558;
+ t3365 = x*t3476;
+ t3792 = t3652+t3365;
+ t3791 = t3475+t3490;
+ t3541 = RATIONAL(-1.0,600.0);
+ t3790 = x*t3490+t3541*t3555;
+ t3789 = z*t3683+t3525*t3553;
+ t3788 = t3407+t3477;
+ t3358 = RATIONAL(-1.0,1000.0)*t3708;
+ t3787 = t3358+t3351;
+ t3420 = t3556*t3700;
+ t3481 = t3523*t3556;
+ t3786 = t3420+t3481;
+ t3509 = RATIONAL(-19.0,2100.0);
+ t3785 = t3509+t3377;
+ t3484 = t3530*t3556;
+ t3784 = t3484+t3468;
+ t3783 = t3468+t3472;
+ t3506 = RATIONAL(-47.0,5250.0);
+ t3782 = t3376+t3506*x;
+ t3781 = RATIONAL(136.0,3675.0)*y+t3416;
+ t3346 = t3522*t3698;
+ t3780 = t3346+t3357;
+ t3779 = t3474+t3476;
+ t3778 = t3541*t3553+z*t3490;
+ t3777 = t3382+t3411;
+ t3776 = t3524*t3555+x*t3488;
+ t3395 = z*t3484;
+ t3775 = t3395+t3502*z;
+ t3774 = t3398+t3472;
+ t3440 = t3500*z;
+ t3773 = t3440+t3395;
+ t3693 = z*t3468+t3544*t3553;
+ t3772 = t3693+t3385;
+ t3771 = t3420+t3475;
+ t3770 = t3358+t3346;
+ t3495 = RATIONAL(-289.0,10500.0);
+ t3769 = t3418+t3495*x+t3688;
+ t3397 = z*t3704;
+ t3707 = z*t3556;
+ t3355 = t3517*t3707;
+ t3677 = z*t3474+t3526*t3553;
+ t3427 = t3498*z;
+ t3653 = t3427+t3677;
+ t3768 = t3397+t3355+t3653;
+ t3485 = RATIONAL(1.0,25.0)*t3554;
+ t3665 = t3485+t3386;
+ t3767 = RATIONAL(-33.0,490.0)*y+t3665+t3402;
+ t3766 = t3420+t3493*x+t3682;
+ t3399 = z*t3703;
+ t3765 = t3399+t3779;
+ t3494 = RATIONAL(289.0,10500.0);
+ t3764 = t3380+t3682+t3494*x;
+ t3548 = RATIONAL(1.0,42.0);
+ t3763 = t3548+t3488+t3481;
+ t3422 = t3496*z;
+ t3762 = t3422+t3801;
+ t3761 = t3442+t3790;
+ t3432 = t3503*z;
+ t3656 = t3432+t3693;
+ t3518 = RATIONAL(1.0,1400.0);
+ t3359 = t3518*t3707;
+ t3369 = z*t3696;
+ t3760 = t3656+t3359+t3369;
+ t3356 = t3518*t3697;
+ t3759 = t3356+t3419+t3654;
+ t3758 = t3397+t3793;
+ t3757 = t3391+t3817;
+ t3658 = t3485+t3375;
+ t3756 = RATIONAL(-57.0,490.0)*y+t3416+t3658;
+ t3755 = t3775+t3801;
+ t3512 = RATIONAL(29.0,2100.0);
+ t3754 = t3512+t3476+t3784;
+ t3753 = t3790+t3837;
+ t3514 = RATIONAL(-37.0,1050.0);
+ t3752 = t3514+t3467+t3833;
+ t3751 = t3509+t3458+t3836;
+ t3750 = t3776+t3811;
+ t3749 = t3776+t3829;
+ t3748 = RATIONAL(17.0,525.0)+t3439+t3786;
+ t3747 = t3349+t3682+t3842;
+ t3746 = t3510+t3474+t3483+t3479;
+ t3745 = t3526+t3479+t3783;
+ t3451 = t3506*z;
+ t3404 = z*t3702;
+ t3744 = t3693+t3451+t3404+t3395;
+ t3743 = t3476+t3526+t3836;
+ t3511 = RATIONAL(-29.0,2100.0);
+ t3742 = t3511+t3467+t3798;
+ t3741 = t3544+t3479+t3798;
+ t3740 = t3790+t3822;
+ t3387 = z*t3479;
+ t3739 = t3387+t3427+t3819;
+ t3738 = t3350+t3688+t3782;
+ t3737 = t3811+t3838;
+ t3406 = z*t3470;
+ t3736 = t3432+t3406+t3819;
+ t3735 = t3802+t3830;
+ t3521 = RATIONAL(-11.0,420.0);
+ t3734 = t3521+t3470+t3783;
+ t3413 = z*t3481;
+ t3733 = t3413+t3762;
+ t3732 = t3803+t3806;
+ t3731 = t3822+t3830;
+ t3730 = t3803+t3804;
+ t3729 = t3422+t3413+t3789;
+ t3728 = t3774+t3785;
+ t3513 = RATIONAL(37.0,1050.0);
+ t3727 = t3484+t3513+t3793;
+ t3726 = t3776+t3840;
+ t3725 = t3778+t3804;
+ t3724 = t3544+t3470+t3779;
+ t3723 = t3418+t3761;
+ t3722 = t3394+t3353+t3411+t3840;
+ t3721 = t3677+t3399+t3796;
+ t3720 = t3775+t3789;
+ t3719 = t3778+t3806;
+ t3443 = RATIONAL(256.0,3675.0)*y;
+ t3718 = t3443+t3801+t3816;
+ t3717 = t3396+t3740;
+ t3716 = t3373+t3750;
+ t3715 = t3396+t3750;
+ t3714 = t3373+t3740;
+ t3547 = RATIONAL(-1.0,42.0);
+ t3713 = t3484+t3547+t3369+t3833;
+ t3712 = t3391+t3483+t3763;
+ t3711 = t3547+t3458+t3419+t3791;
+ t3710 = t3548+t3467+t3758;
+ t3417 = t3542*t3706;
+ t3709 = t3377+t3417+t3789+t3816;
+ t3695 = t3483+t3417;
+ t3694 = t3398+t3485;
+ t3692 = t3349+t3394;
+ t3691 = t3468+t3477;
+ t3689 = t3368+t3362;
+ t3347 = z*t3400;
+ t3687 = t3400+t3347;
+ t3685 = t3474+t3477;
+ t3684 = t3415+t3352;
+ t3348 = z*t3368;
+ t3681 = t3400+t3348;
+ t3678 = t3484+t3393;
+ t3676 = t3382+t3353;
+ t3675 = t3400+t3362;
+ t3674 = t3349+t3382;
+ t3673 = t3394+t3352;
+ t3552 = RATIONAL(-2.0,75.0);
+ t3487 = t3552*t3554;
+ t3672 = t3487+t3488;
+ t3671 = t3382+t3350;
+ t3670 = t3393+t3467;
+ t3669 = t3487+t3490;
+ t3668 = t3415+t3368;
+ t3666 = t3350+t3394;
+ t3664 = t3348+t3368;
+ t3663 = t3485+RATIONAL(-9.0,98.0)*y;
+ t3662 = t3458+t3417;
+ t3661 = t3362+t3353;
+ t3660 = t3484+t3487;
+ t3659 = t3400+t3415;
+ t3657 = t3395+t3670;
+ t3655 = t3389+t3670;
+ t3651 = t3380+t3662;
+ t3650 = t3349+t3663;
+ t3649 = t3350+t3663;
+ t3648 = t3688+t3788;
+ t3647 = t3407+t3470+t3691;
+ t3646 = t3810+t3830;
+ t3489 = RATIONAL(-1.0,10.0)*y;
+ t3645 = t3398+t3489+t3665;
+ t3454 = RATIONAL(-61.0,490.0)*y;
+ t3644 = t3454+t3407+t3658;
+ t3643 = t3682+t3788;
+ t3642 = t3693+t3832;
+ t3641 = t3407+t3485+t3402+t3489;
+ t3640 = t3483+t3375+t3669;
+ t3639 = t3470+t3386+t3685;
+ t3638 = t3677+t3832;
+ t3637 = t3454+t3416+t3694;
+ t3636 = t3487+t3385+t3677;
+ t3635 = t3487+t3420+t3688;
+ t3634 = t3810+t3838;
+ t3633 = t3487+t3417+t3778;
+ t3632 = t3662+t3669;
+ t3486 = RATIONAL(4.0,75.0)*y;
+ t3631 = t3483+t3486+t3660;
+ t3630 = t3479+t3386+t3691;
+ t3629 = t3375+t3458+t3672;
+ t3628 = t3487+t3772;
+ t3627 = t3669+t3821;
+ t3626 = t3382+t3756;
+ t3625 = t3404+t3767;
+ t3624 = t3650+t3812;
+ t3623 = t3415+t3662+t3773;
+ t3622 = t3649+t3812;
+ t3621 = t3487+t3413+t3353+t3815;
+ t3620 = t3399+t3767;
+ t3619 = t3650+t3841;
+ t3618 = t3649+t3841;
+ t3617 = t3394+t3756;
+ t3616 = t3415+t3670+t3695;
+ t3615 = t3642+t3765;
+ t3614 = t3362+t3685+t3695+t3803;
+ t3613 = t3369+t3636+t3793;
+ t3612 = t3382+t3634+t3784;
+ t3611 = t3391+t3635+t3791;
+ t3610 = t3394+t3646+t3784;
+ t3609 = t3404+t3638+t3779;
+ t3608 = t3513+t3435+t3629+t3786;
+ t3515 = RATIONAL(-17.0,5250.0);
+ t3607 = t3515*x+t3365+t3648+t3820;
+ t3606 = t3435+t3514+t3640+t3771;
+ t3605 = t3634+t3826+t3829;
+ t3604 = t3389+t3495*z+t3628+t3794;
+ t3551 = RATIONAL(2.0,75.0);
+ t3603 = t3551+t3486+t3629+t3670;
+ t3602 = t3511+t3366+t3639+t3695;
+ t3508 = RATIONAL(17.0,5250.0);
+ t3601 = t3508*z+t3406+t3638+t3818;
+ t3600 = t3552+t3486+t3416+t3467+t3632;
+ t3599 = t3494*z+t3413+t3636+t3794;
+ t3598 = t3512+t3366+t3630+t3662;
+ t3597 = t3552+t3375+t3631+t3827;
+ t3596 = t3551+t3488+t3416+t3417+t3631;
+ t3595 = t3646+t3826+t3837;
+ t3594 = t3508*x+t3405+t3643+t3820;
+ t3593 = t3387+t3515*z+t3642+t3818;
+ t3592 = t3407+t3479+t3614+t3773+t3813;
+ t3591 = t3438+t3614+t3655+t3831;
+ t3531 = RATIONAL(-8.0,525.0);
+ t3590 = t3443+t3531+t3623+t3660+t3778+t3827;
+ t3589 = t3432+t3359+t3628+t3748+t3758;
+ t3588 = t3610+t3662+t3802+t3805;
+ t3587 = t3437+t3612+t3651+t3805;
+ t3538 = RATIONAL(8.0,525.0);
+ t3586 = t3488+t3443+t3483+t3538+t3440+t3362+t3633+t3657;
+ t3585 = t3413+t3352+t3429+t3628+t3726+t3825;
+ t3584 = t3350+t3643+t3709+t3842;
+ t3583 = t3417+t3621+t3762+t3766;
+ t3582 = t3612+t3728+t3811;
+ t3581 = t3397+t3547+t3389+t3627+t3677+t3678+t3808;
+ t3580 = t3379+t3521+t3368+t3647+t3774+t3839;
+ t3579 = t3623+t3647+t3785+t3803;
+ t3578 = t3451+t3615+t3657+t3813;
+ t3577 = t3538+t3616+t3672+t3718;
+ t3576 = t3356+t3431+t3611+t3821+t3823;
+ t3575 = t3547+t3611+t3651+t3807;
+ t3574 = t3548+t3613+t3655+t3808;
+ t3573 = t3355+t3427+t3613+t3748;
+ t3572 = t3610+t3728+t3822;
+ t3571 = t3349+t3648+t3709+t3782;
+ t3570 = t3609+t3739+t3809;
+ t3569 = t3419+t3627+t3771+t3817+t3823;
+ t3568 = t3380+t3419+t3635+t3695+t3763+t3807;
+ t3567 = t3347+t3642+t3736+t3792;
+ t3566 = t3609+t3670+t3796+t3813;
+ t3565 = t3352+t3633+t3766+t3806+t3815;
+ t3564 = t3531+t3362+t3632+t3678+t3718;
+ t3563 = t3621+t3761+t3772+t3825;
+ t3562 = t3616+t3685+t3729+t3831;
+ t3408 = RATIONAL(-1.0,125.0)*t3708;
+ t3360 = RATIONAL(1.0,125.0)*t3708;
+ coeff_dy_m2_m2_m2 = t3408+t3615+t3681+t3736+t3809+t3839;
+ coeff_dy_m1_m2_m2 = t3578+t3396+t3692+t3737;
+ coeff_dy_0_m2_m2 = t3399+t3593+t3724;
+ coeff_dy_p1_m2_m2 = t3373+t3578+t3671+t3731;
+ coeff_dy_p2_m2_m2 = t3567+t3368+t3360+t3765+t3809;
+ coeff_dy_m2_m1_m2 = t3564+t3671+t3715;
+ coeff_dy_m1_m1_m2 = t3583+t3711+t3800;
+ coeff_dy_0_m1_m2 = t3362+t3600+t3755;
+ coeff_dy_p1_m1_m2 = t3575+t3733+t3843;
+ coeff_dy_p2_m1_m2 = t3564+t3692+t3714;
+ coeff_dy_m2_0_m2 = t3347+t3368+t3625;
+ coeff_dy_m1_0_m2 = t3404+t3382+t3622;
+ coeff_dy_0_0_m2 = t3404+t3641;
+ coeff_dy_p1_0_m2 = t3394+t3404+t3624;
+ coeff_dy_p2_0_m2 = t3625+t3681;
+ coeff_dy_m2_p1_m2 = t3586+t3671+t3714;
+ coeff_dy_m1_p1_m2 = t3411+t3568+t3661+t3719;
+ coeff_dy_0_p1_m2 = t3362+t3596+t3725;
+ coeff_dy_p1_p1_m2 = t3565+t3712+t3800;
+ coeff_dy_p2_p1_m2 = t3586+t3692+t3715;
+ coeff_dy_m2_p2_m2 = t3638+t3399+t3360+t3681+t3734+t3739+t3792;
+ coeff_dy_m1_p2_m2 = t3572+t3721+t3828;
+ coeff_dy_0_p2_m2 = t3399+t3601+t3745;
+ coeff_dy_p1_p2_m2 = t3582+t3721+t3834;
+ coeff_dy_p2_p2_m2 = t3347+t3580+t3399+t3387+t3408+t3653;
+ coeff_dy_m2_m2_m1 = t3571+t3396+t3659+t3746;
+ coeff_dy_m1_m2_m1 = t3414+t3562+t3673+t3838+t3840;
+ coeff_dy_0_m2_m1 = t3415+t3602+t3720;
+ coeff_dy_p1_m2_m1 = t3411+t3562+t3676+t3735;
+ coeff_dy_p2_m2_m1 = t3584+t3373+t3668+t3746;
+ coeff_dy_m2_m1_m1 = t3581+t3414+t3676+t3726;
+ coeff_dy_m1_m1_m1 = t3569+t3768+t3787;
+ coeff_dy_0_m1_m1 = t3397+t3599+t3752;
+ coeff_dy_p1_m1_m1 = t3576+t3768+t3780;
+ coeff_dy_p2_m1_m1 = t3411+t3581+t3673+t3723;
+ coeff_dy_m2_0_m1 = t3618+t3689;
+ coeff_dy_m1_0_m1 = t3626+t3661;
+ coeff_dy_0_0_m1 = t3362+t3644;
+ coeff_dy_p1_0_m1 = t3617+t3686;
+ coeff_dy_p2_0_m1 = t3619+t3675;
+ coeff_dy_m2_p1_m1 = t3563+t3710+t3777;
+ coeff_dy_m1_p1_m1 = t3589+t3759+t3835;
+ coeff_dy_0_p1_m1 = t3397+t3604+t3727;
+ coeff_dy_p1_p1_m1 = t3589+t3757+t3770;
+ coeff_dy_p2_p1_m1 = t3585+t3710+t3814;
+ coeff_dy_m2_p2_m1 = t3579+t3747+t3824;
+ coeff_dy_m1_p2_m1 = t3411+t3588+t3684+t3732;
+ coeff_dy_0_p2_m1 = t3415+t3598+t3730;
+ coeff_dy_p1_p2_m1 = t3587+t3732+t3844;
+ coeff_dy_p2_p2_m1 = t3579+t3738+t3799;
+ coeff_dy_m2_m2_0 = t3400+t3607+t3741;
+ coeff_dy_m1_m2_0 = t3394+t3605+t3742;
+ coeff_dy_0_m2_0 = t3472+RATIONAL(-41.0,2100.0)+t3639+t3797;
+ coeff_dy_p1_m2_0 = t3382+t3595+t3742;
+ coeff_dy_p2_m2_0 = t3368+t3594+t3741;
+ coeff_dy_m2_m1_0 = t3382+t3597+t3749;
+ coeff_dy_m1_m1_0 = t3419+t3606+t3764;
+ coeff_dy_0_m1_0 = t3467+RATIONAL(-4.0,105.0)+t3640+t3781;
+ coeff_dy_p1_m1_0 = t3391+t3606+t3769;
+ coeff_dy_p2_m1_0 = t3394+t3597+t3753;
+ coeff_dy_m2_0_0 = t3368+t3645;
+ coeff_dy_m1_0_0 = t3382+t3637;
+ coeff_dy_0_0_0 = RATIONAL(-13.0,98.0)*y+t3407+t3694;
+ coeff_dy_p1_0_0 = t3394+t3637;
+ coeff_dy_p2_0_0 = t3400+t3645;
+ coeff_dy_m2_p1_0 = t3382+t3603+t3753;
+ coeff_dy_m1_p1_0 = t3419+t3608+t3769;
+ coeff_dy_0_p1_0 = RATIONAL(4.0,105.0)+t3484+t3629+t3781;
+ coeff_dy_p1_p1_0 = t3391+t3608+t3764;
+ coeff_dy_p2_p1_0 = t3394+t3603+t3749;
+ coeff_dy_m2_p2_0 = t3400+t3594+t3743;
+ coeff_dy_m1_p2_0 = t3394+t3595+t3754;
+ coeff_dy_0_p2_0 = t3476+RATIONAL(41.0,2100.0)+t3630+t3797;
+ coeff_dy_p1_p2_0 = t3382+t3605+t3754;
+ coeff_dy_p2_p2_0 = t3368+t3607+t3743;
+ coeff_dy_m2_m2_p1 = t3592+t3738+t3824;
+ coeff_dy_m1_m2_p1 = t3591+t3722+t3838;
+ coeff_dy_0_m2_p1 = t3362+t3602+t3730;
+ coeff_dy_p1_m2_p1 = t3591+t3735+t3845;
+ coeff_dy_p2_m2_p1 = t3592+t3747+t3799;
+ coeff_dy_m2_m1_p1 = t3585+t3713+t3777;
+ coeff_dy_m1_m1_p1 = t3569+t3760+t3780;
+ coeff_dy_0_m1_p1 = t3369+t3604+t3752;
+ coeff_dy_p1_m1_p1 = t3576+t3760+t3787;
+ coeff_dy_p2_m1_p1 = t3563+t3713+t3814;
+ coeff_dy_m2_0_p1 = t3619+t3668;
+ coeff_dy_m1_0_p1 = t3626+t3684;
+ coeff_dy_0_0_p1 = t3415+t3644;
+ coeff_dy_p1_0_p1 = t3617+t3667;
+ coeff_dy_p2_0_p1 = t3618+t3659;
+ coeff_dy_m2_p1_p1 = t3574+t3723+t3845;
+ coeff_dy_m1_p1_p1 = t3573+t3759+t3770;
+ coeff_dy_0_p1_p1 = t3369+t3599+t3727;
+ coeff_dy_p1_p1_p1 = t3573+t3757+t3835;
+ coeff_dy_p2_p1_p1 = t3574+t3722+t3776;
+ coeff_dy_m2_p2_p1 = t3584+t3396+t3675+t3751;
+ coeff_dy_m1_p2_p1 = t3414+t3588+t3661+t3729;
+ coeff_dy_0_p2_p1 = t3362+t3598+t3720;
+ coeff_dy_p1_p2_p1 = t3587+t3729+t3843;
+ coeff_dy_p2_p2_p1 = t3571+t3373+t3689+t3751;
+ coeff_dy_m2_m2_p2 = t3570+t3360+t3687+t3839;
+ coeff_dy_m1_m2_p2 = t3566+t3373+t3666+t3737;
+ coeff_dy_0_m2_p2 = t3404+t3601+t3724;
+ coeff_dy_p1_m2_p2 = t3566+t3396+t3674+t3731;
+ coeff_dy_p2_m2_p2 = t3570+t3408+t3664+t3792;
+ coeff_dy_m2_m1_p2 = t3590+t3674+t3716;
+ coeff_dy_m1_m1_p2 = t3565+t3711+t3795;
+ coeff_dy_0_m1_p2 = t3415+t3600+t3725;
+ coeff_dy_p1_m1_p2 = t3575+t3719+t3844;
+ coeff_dy_p2_m1_p2 = t3590+t3666+t3717;
+ coeff_dy_m2_0_p2 = t3620+t3664;
+ coeff_dy_m1_0_p2 = t3399+t3382+t3624;
+ coeff_dy_0_0_p2 = t3399+t3641;
+ coeff_dy_p1_0_p2 = t3399+t3394+t3622;
+ coeff_dy_p2_0_p2 = t3620+t3687;
+ coeff_dy_m2_p1_p2 = t3577+t3674+t3717;
+ coeff_dy_m1_p1_p2 = t3414+t3568+t3684+t3733;
+ coeff_dy_0_p1_p2 = t3415+t3596+t3755;
+ coeff_dy_p1_p1_p2 = t3583+t3712+t3795;
+ coeff_dy_p2_p1_p2 = t3577+t3666+t3716;
+ coeff_dy_m2_p2_p2 = t3400+t3567+t3404+t3408+t3734;
+ coeff_dy_m1_p2_p2 = t3572+t3744+t3834;
+ coeff_dy_0_p2_p2 = t3404+t3593+t3745;
+ coeff_dy_p1_p2_p2 = t3582+t3744+t3828;
+ coeff_dy_p2_p2_p2 = t3580+t3348+t3406+t3360+t3404+t3656;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c
new file mode 100644
index 0000000..f3fdd0b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c
@@ -0,0 +1,591 @@
+fp t5120,
+ t5125,
+ t5084,
+ t5112,
+ t5124,
+ t5073,
+ t5286,
+ t5086,
+ t5111,
+ t5065,
+ t5285,
+ t5089,
+ t5284,
+ t5110,
+ t5126,
+ t5066,
+ t5283,
+ t5107,
+ t5106,
+ t5071,
+ t5282,
+ t5069,
+ t5281,
+ t5116,
+ t5080,
+ t5085,
+ t5280,
+ t5094,
+ t5062,
+ t5279,
+ t5083,
+ t5057,
+ t5105,
+ t5070,
+ t5278,
+ t5099,
+ t5082,
+ t5277,
+ t5115,
+ t5076,
+ t5088,
+ t5276,
+ t5074,
+ t5090,
+ t5275,
+ t5092,
+ t5274,
+ t5098,
+ t5273,
+ t5272,
+ t5054,
+ t5271,
+ t5270,
+ t5059,
+ t5269,
+ t5060,
+ t5268,
+ t5267,
+ t5096,
+ t5114,
+ t5078,
+ t5266,
+ t5087,
+ t5053,
+ t5265,
+ t5108,
+ t5063,
+ t5264,
+ t5240,
+ t5041,
+ t5263,
+ t5103,
+ t5081,
+ t5104,
+ t5067,
+ t5262,
+ t5064,
+ t5261,
+ t5260,
+ t5259,
+ t5077,
+ t5079,
+ t5258,
+ t5047,
+ t5091,
+ t5257,
+ t5075,
+ t5256,
+ t5255,
+ t5068,
+ t5254,
+ t5123,
+ t5253,
+ t5252,
+ t5251,
+ t5250,
+ t5055,
+ t5249,
+ t5209,
+ t5248,
+ t5247,
+ t5246,
+ t5097,
+ t5242,
+ t5245,
+ t5244,
+ t5056,
+ t5243,
+ t5241,
+ t5072,
+ t5239,
+ t5061,
+ t5238,
+ t5237,
+ t5050,
+ t5236,
+ t5235,
+ t5234,
+ t5233,
+ t5232,
+ t5231,
+ t5230,
+ t5046,
+ t5229,
+ t5048,
+ t5228,
+ t5227,
+ t5226,
+ t5225,
+ t5224,
+ t5223,
+ t5222,
+ t5221,
+ t5220,
+ t5218,
+ t5217,
+ t5216,
+ t5215,
+ t5214,
+ t5213,
+ t5044,
+ t5212,
+ t5042,
+ t5211,
+ t5210,
+ t5208,
+ t5207,
+ t5206,
+ t5205,
+ t5204,
+ t5203,
+ t5202,
+ t5201,
+ t5052,
+ t5200,
+ t5199,
+ t5198,
+ t5197,
+ t5043,
+ t5196,
+ t5195,
+ t5194,
+ t5058,
+ t5193,
+ t5192,
+ t5191,
+ t5190,
+ t5100,
+ t5189,
+ t5188,
+ t5187,
+ t5186,
+ t5185,
+ t5184,
+ t5045,
+ t5183,
+ t5182,
+ t5181,
+ t5180,
+ t5179,
+ t5178,
+ t5177,
+ t5176,
+ t5175,
+ t5174,
+ t5101,
+ t5173,
+ t5172,
+ t5171,
+ t5170,
+ t5169,
+ t5168,
+ t5167,
+ t5166,
+ t5165,
+ t5164,
+ t5163,
+ t5162,
+ t5161,
+ t5160,
+ t5159,
+ t5158,
+ t5157,
+ t5156,
+ t5155,
+ t5154,
+ t5153,
+ t5152,
+ t5151,
+ t5150,
+ t5149,
+ t5148,
+ t5147,
+ t5146,
+ t5145,
+ t5144,
+ t5143,
+ t5142,
+ t5141,
+ t5140,
+ t5139,
+ t5138,
+ t5137,
+ t5136,
+ t5135,
+ t5134,
+ t5133,
+ t5132,
+ t5131,
+ t5130,
+ t5129,
+ t5128,
+ t5127;
+ t5120 = RATIONAL(1.0,50.0);
+ t5125 = y*y;
+ t5084 = t5120*t5125;
+ t5112 = RATIONAL(-1.0,245.0);
+ t5124 = x*x;
+ t5073 = t5112*t5124;
+ t5286 = t5084+t5073;
+ t5086 = RATIONAL(-1.0,50.0)*y;
+ t5111 = RATIONAL(2.0,175.0);
+ t5065 = t5111*x;
+ t5285 = t5086+t5065;
+ t5089 = RATIONAL(3.0,25.0)*t5125;
+ t5284 = RATIONAL(-33.0,490.0)+t5089;
+ t5110 = RATIONAL(2.0,245.0);
+ t5126 = z*z;
+ t5066 = t5110*t5126;
+ t5283 = t5084+t5066;
+ t5107 = RATIONAL(-1.0,300.0);
+ t5106 = RATIONAL(-2.0,245.0);
+ t5071 = t5106*t5124;
+ t5282 = t5107+t5071;
+ t5069 = t5110*t5124;
+ t5281 = t5069+t5084;
+ t5116 = RATIONAL(1.0,490.0);
+ t5080 = t5116*t5124;
+ t5085 = RATIONAL(-2.0,25.0)*t5125;
+ t5280 = t5080+t5085;
+ t5094 = RATIONAL(-169.0,14700.0);
+ t5062 = t5112*t5126;
+ t5279 = t5094+t5062;
+ t5083 = RATIONAL(1.0,25.0)*y;
+ t5057 = x*t5083;
+ t5105 = RATIONAL(1.0,175.0);
+ t5070 = t5105*x;
+ t5278 = t5057+t5070;
+ t5099 = RATIONAL(211.0,3675.0);
+ t5082 = t5116*t5126;
+ t5277 = t5099+t5082;
+ t5115 = RATIONAL(-1.0,175.0);
+ t5076 = t5115*x;
+ t5088 = RATIONAL(-1.0,25.0)*y;
+ t5276 = t5076+t5088;
+ t5074 = t5106*t5126;
+ t5090 = RATIONAL(311.0,14700.0);
+ t5275 = t5074+t5090;
+ t5092 = RATIONAL(-529.0,14700.0);
+ t5274 = t5066+t5092;
+ t5098 = RATIONAL(256.0,3675.0);
+ t5273 = t5098+t5062;
+ t5272 = t5070+t5083;
+ t5054 = z*t5086;
+ t5271 = t5086+t5054;
+ t5270 = t5074+t5107;
+ t5059 = z*t5088;
+ t5269 = t5059+t5083;
+ t5060 = x*t5086;
+ t5268 = t5069+t5060;
+ t5267 = t5082+t5085;
+ t5096 = RATIONAL(151.0,3675.0);
+ t5114 = RATIONAL(1.0,245.0);
+ t5078 = t5114*t5124;
+ t5266 = t5096+t5078;
+ t5087 = t5120*y;
+ t5053 = x*t5087;
+ t5265 = t5053+t5087;
+ t5108 = RATIONAL(-2.0,175.0);
+ t5063 = t5108*x;
+ t5264 = t5063+t5087;
+ t5240 = y*RATIONAL(1.0,100.0);
+ t5041 = z*t5240;
+ t5263 = t5041+t5062;
+ t5103 = RATIONAL(1.0,350.0);
+ t5081 = t5103*x;
+ t5104 = RATIONAL(-1.0,350.0);
+ t5067 = t5104*z;
+ t5262 = t5081+t5067;
+ t5064 = t5108*z;
+ t5261 = t5064+t5087;
+ t5260 = t5053+t5086;
+ t5259 = t5099+t5062;
+ t5077 = t5104*x;
+ t5079 = t5103*z;
+ t5258 = t5077+t5079;
+ t5047 = x*t5079;
+ t5091 = RATIONAL(191.0,14700.0);
+ t5257 = t5047+t5073+t5091;
+ t5075 = t5114*t5126;
+ t5256 = t5075+t5096;
+ t5255 = t5073+t5085;
+ t5068 = t5115*z;
+ t5254 = t5068+t5086;
+ t5123 = RATIONAL(4.0,75.0);
+ t5253 = t5075+t5123;
+ t5252 = t5062+t5085;
+ t5251 = t5094+t5066;
+ t5250 = t5071+t5090;
+ t5055 = z*t5087;
+ t5249 = t5055+t5087;
+ t5209 = RATIONAL(-9.0,98.0)+t5089;
+ t5248 = t5074+t5209+t5078;
+ t5247 = t5083+t5259;
+ t5246 = t5075+t5209+t5071;
+ t5097 = RATIONAL(166.0,3675.0);
+ t5242 = x*z;
+ t5245 = t5097+RATIONAL(-1.0,700.0)*t5242+t5082;
+ t5244 = t5097+t5080+RATIONAL(1.0,700.0)*t5242;
+ t5056 = z*t5083;
+ t5243 = t5056+t5273;
+ t5241 = y*RATIONAL(-1.0,100.0);
+ t5072 = t5111*z;
+ t5239 = t5070+t5068;
+ t5061 = t5105*z;
+ t5238 = t5070+t5061;
+ t5237 = t5076+t5068;
+ t5050 = x*t5068;
+ t5236 = t5070+t5050;
+ t5235 = t5076+t5061;
+ t5234 = t5060+t5054;
+ t5233 = t5075+t5089;
+ t5232 = t5075+t5085;
+ t5231 = t5076+t5073;
+ t5230 = t5068+t5050;
+ t5046 = z*t5070;
+ t5229 = t5076+t5046;
+ t5048 = z*t5077;
+ t5228 = t5068+t5048;
+ t5227 = RATIONAL(-1.0,10.0)+t5089;
+ t5226 = t5070+t5072;
+ t5225 = t5053+t5055;
+ t5224 = t5068+t5047;
+ t5223 = t5076+t5064;
+ t5222 = t5076+t5047;
+ t5221 = t5061+t5047;
+ t5220 = t5061+t5046;
+ t5218 = t5074+t5084;
+ t5217 = t5074+t5071;
+ t5216 = t5061+t5048;
+ t5215 = t5072+t5071;
+ t5214 = t5078+t5089;
+ t5213 = t5061+t5050;
+ t5044 = x*t5072;
+ t5212 = t5044+t5065;
+ t5042 = x*t5064;
+ t5211 = t5042+t5063;
+ t5210 = t5070+t5048;
+ t5208 = t5073+t5048;
+ t5207 = t5068+t5078;
+ t5206 = t5061+t5252;
+ t5205 = t5055+t5267;
+ t5204 = t5063+t5281;
+ t5203 = t5084+t5263;
+ t5202 = t5065+t5281;
+ t5201 = t5054+t5283;
+ t5052 = x*t5241;
+ t5200 = t5052+t5286;
+ t5199 = t5084+t5231;
+ t5198 = t5054+t5267;
+ t5197 = t5077+t5280;
+ t5043 = z*t5241;
+ t5196 = t5043+t5062+t5084;
+ t5195 = t5055+t5283;
+ t5194 = t5088+t5255;
+ t5058 = x*t5088;
+ t5193 = t5058+t5255;
+ t5192 = t5083+t5232;
+ t5191 = t5081+t5280;
+ t5190 = t5084+RATIONAL(431.0,14700.0)+t5217;
+ t5100 = RATIONAL(-61.0,490.0);
+ t5189 = t5100+t5069+t5233;
+ t5188 = t5100+t5066+t5214;
+ t5187 = RATIONAL(136.0,3675.0)+t5078+t5232;
+ t5186 = t5074+t5069+t5227;
+ t5185 = t5071+t5066+t5227;
+ t5184 = t5060+t5088+t5197;
+ t5045 = x*t5240;
+ t5183 = t5070+t5045+t5087+t5286;
+ t5182 = t5196+t5250;
+ t5181 = t5205+t5266;
+ t5180 = t5096+t5080+t5192;
+ t5179 = t5204+t5260;
+ t5178 = t5107+t5218+t5268;
+ t5177 = t5123+t5078+t5206;
+ t5176 = t5203+t5250;
+ t5175 = t5065+t5246;
+ t5174 = t5053+t5088+t5191;
+ t5101 = RATIONAL(-57.0,490.0);
+ t5173 = t5101+t5075+t5061+t5214;
+ t5172 = t5050+t5248;
+ t5171 = t5101+t5207+t5233;
+ t5170 = t5074+t5215+t5284;
+ t5169 = t5107+t5215+t5283;
+ t5168 = t5073+t5086+t5090+t5218;
+ t5167 = t5046+t5248;
+ t5166 = t5193+t5253;
+ t5165 = t5202+t5265;
+ t5164 = t5079+t5083+t5198;
+ t5163 = t5064+t5217+t5284;
+ t5162 = t5194+t5278;
+ t5161 = t5123+t5207+t5252;
+ t5160 = t5064+t5086+t5195;
+ t5159 = t5063+t5246;
+ t5158 = t5045+t5091+t5196+t5208;
+ t5157 = t5183+t5251;
+ t5156 = t5060+t5205+t5244;
+ t5155 = t5098+t5073+t5206+t5269;
+ t5154 = t5042+t5064+t5202+t5274;
+ t5153 = t5072+t5050+t5199+t5251;
+ t5152 = t5044+t5092+t5201+t5268;
+ t5151 = t5179+t5274;
+ t5150 = t5069+t5072+t5087+t5092+t5195;
+ t5149 = t5094+t5069+t5203+t5254;
+ t5148 = t5068+t5059+t5194+t5273;
+ t5147 = t5184+t5259;
+ t5146 = t5055+t5047+t5193+t5277;
+ t5145 = t5094+t5046+t5196+t5268;
+ t5144 = t5048+t5091+t5200+t5263;
+ t5143 = t5046+t5054+t5200+t5251;
+ t5142 = t5052+t5196+t5257;
+ t5141 = t5057+t5050+t5243+t5255;
+ t5140 = t5053+t5198+t5244;
+ t5139 = t5174+t5259;
+ t5138 = t5067+t5197+t5245;
+ t5137 = t5165+t5279;
+ t5136 = t5076+t5099+t5067+t5208+t5267;
+ t5135 = t5045+t5203+t5257;
+ t5134 = t5046+t5193+t5243;
+ t5133 = t5053+t5197+t5247;
+ t5132 = t5162+t5277;
+ t5131 = t5094+t5073+t5160;
+ t5130 = t5079+t5191+t5245;
+ t5129 = t5204+t5213+t5279;
+ t5128 = t5099+t5073+t5164;
+ t5127 = t5060+t5191+t5247;
+ coeff_dyy_m2_m2_m2 = t5055+t5044+t5064+t5151;
+ coeff_dyy_m1_m2_m2 = t5045+t5131+t5229;
+ coeff_dyy_0_m2_m2 = t5160+t5282;
+ coeff_dyy_p1_m2_m2 = t5052+t5131+t5236;
+ coeff_dyy_p2_m2_m2 = t5060+t5055+t5086+t5154;
+ coeff_dyy_m2_m1_m2 = t5058+t5155+t5236;
+ coeff_dyy_m1_m1_m2 = t5059+t5127+t5216;
+ coeff_dyy_0_m1_m2 = t5177+t5269;
+ coeff_dyy_p1_m1_m2 = t5059+t5133+t5221;
+ coeff_dyy_p2_m1_m2 = t5057+t5155+t5229;
+ coeff_dyy_m2_0_m2 = t5042+t5065+t5170;
+ coeff_dyy_m1_0_m2 = t5172+t5226;
+ coeff_dyy_0_0_m2 = t5072+t5186;
+ coeff_dyy_p1_0_m2 = t5072+t5076+t5167;
+ coeff_dyy_p2_0_m2 = t5044+t5063+t5170;
+ coeff_dyy_m2_p1_m2 = t5088+t5141+t5238;
+ coeff_dyy_m1_p1_m2 = t5056+t5139+t5216;
+ coeff_dyy_0_p1_m2 = t5088+t5056+t5177;
+ coeff_dyy_p1_p1_m2 = t5056+t5147+t5221;
+ coeff_dyy_p2_p1_m2 = t5088+t5134+t5235;
+ coeff_dyy_m2_p2_m2 = t5063+t5152+t5261;
+ coeff_dyy_m1_p2_m2 = t5087+t5143+t5223;
+ coeff_dyy_0_p2_m2 = t5201+t5261+t5282;
+ coeff_dyy_p1_p2_m2 = t5064+t5050+t5054+t5157;
+ coeff_dyy_p2_p2_m2 = t5054+t5154+t5265;
+ coeff_dyy_m2_m2_m1 = t5053+t5063+t5046+t5149;
+ coeff_dyy_m1_m2_m1 = t5086+t5135+t5237;
+ coeff_dyy_0_m2_m1 = t5176+t5254;
+ coeff_dyy_p1_m2_m1 = t5086+t5144+t5239;
+ coeff_dyy_p2_m2_m1 = t5050+t5060+t5065+t5149;
+ coeff_dyy_m2_m1_m1 = t5058+t5128+t5210;
+ coeff_dyy_m1_m1_m1 = t5083+t5130+t5234;
+ coeff_dyy_0_m1_m1 = t5164+t5266;
+ coeff_dyy_p1_m1_m1 = t5083+t5140+t5258;
+ coeff_dyy_p2_m1_m1 = t5057+t5128+t5222;
+ coeff_dyy_m2_0_m1 = t5175+t5213;
+ coeff_dyy_m1_0_m1 = t5173+t5210;
+ coeff_dyy_0_0_m1 = t5061+t5189;
+ coeff_dyy_p1_0_m1 = t5173+t5222;
+ coeff_dyy_p2_0_m1 = t5159+t5220;
+ coeff_dyy_m2_p1_m1 = t5079+t5055+t5048+t5132;
+ coeff_dyy_m1_p1_m1 = t5088+t5130+t5225;
+ coeff_dyy_0_p1_m1 = t5088+t5079+t5181;
+ coeff_dyy_p1_p1_m1 = t5088+t5156+t5258;
+ coeff_dyy_p2_p1_m1 = t5079+t5146+t5276;
+ coeff_dyy_m2_p2_m1 = t5068+t5145+t5264;
+ coeff_dyy_m1_p2_m1 = t5087+t5142+t5237;
+ coeff_dyy_0_p2_m1 = t5068+t5087+t5182;
+ coeff_dyy_p1_p2_m1 = t5087+t5158+t5239;
+ coeff_dyy_p2_p2_m1 = t5043+t5137+t5230;
+ coeff_dyy_m2_m2_0 = t5179+t5270;
+ coeff_dyy_m1_m2_0 = t5045+t5076+t5168;
+ coeff_dyy_0_m2_0 = t5086+t5190;
+ coeff_dyy_p1_m2_0 = t5070+t5052+t5168;
+ coeff_dyy_p2_m2_0 = t5178+t5285;
+ coeff_dyy_m2_m1_0 = t5166+t5272;
+ coeff_dyy_m1_m1_0 = t5060+t5081+t5180;
+ coeff_dyy_0_m1_0 = t5083+t5187;
+ coeff_dyy_p1_m1_0 = t5077+t5053+t5180;
+ coeff_dyy_p2_m1_0 = t5057+t5123+t5192+t5231;
+ coeff_dyy_m2_0_0 = t5065+t5185;
+ coeff_dyy_m1_0_0 = t5070+t5188;
+ coeff_dyy_0_0_0 = RATIONAL(-13.0,98.0)+t5089+t5069+t5066;
+ coeff_dyy_p1_0_0 = t5076+t5188;
+ coeff_dyy_p2_0_0 = t5063+t5185;
+ coeff_dyy_m2_p1_0 = t5162+t5253;
+ coeff_dyy_m1_p1_0 = t5174+t5256;
+ coeff_dyy_0_p1_0 = t5088+t5187;
+ coeff_dyy_p1_p1_0 = t5184+t5256;
+ coeff_dyy_p2_p1_0 = t5166+t5276;
+ coeff_dyy_m2_p2_0 = t5178+t5264;
+ coeff_dyy_m1_p2_0 = t5052+t5087+t5199+t5275;
+ coeff_dyy_0_p2_0 = t5087+t5190;
+ coeff_dyy_p1_p2_0 = t5183+t5275;
+ coeff_dyy_p2_p2_0 = t5165+t5270;
+ coeff_dyy_m2_m2_p1 = t5043+t5129+t5260;
+ coeff_dyy_m1_m2_p1 = t5086+t5158+t5235;
+ coeff_dyy_0_m2_p1 = t5061+t5086+t5182;
+ coeff_dyy_p1_m2_p1 = t5086+t5142+t5238;
+ coeff_dyy_p2_m2_p1 = t5061+t5145+t5285;
+ coeff_dyy_m2_m1_p1 = t5067+t5146+t5272;
+ coeff_dyy_m1_m1_p1 = t5083+t5156+t5262;
+ coeff_dyy_0_m1_p1 = t5083+t5067+t5181;
+ coeff_dyy_p1_m1_p1 = t5083+t5138+t5225;
+ coeff_dyy_p2_m1_p1 = t5057+t5055+t5083+t5136;
+ coeff_dyy_m2_0_p1 = t5046+t5068+t5175;
+ coeff_dyy_m1_0_p1 = t5070+t5047+t5171;
+ coeff_dyy_0_0_p1 = t5068+t5189;
+ coeff_dyy_p1_0_p1 = t5048+t5076+t5171;
+ coeff_dyy_p2_0_p1 = t5159+t5230;
+ coeff_dyy_m2_p1_p1 = t5067+t5054+t5047+t5132;
+ coeff_dyy_m1_p1_p1 = t5088+t5140+t5262;
+ coeff_dyy_0_p1_p1 = t5067+t5088+t5198+t5266;
+ coeff_dyy_p1_p1_p1 = t5088+t5138+t5234;
+ coeff_dyy_p2_p1_p1 = t5054+t5058+t5088+t5136;
+ coeff_dyy_m2_p2_p1 = t5060+t5041+t5087+t5129;
+ coeff_dyy_m1_p2_p1 = t5087+t5144+t5235;
+ coeff_dyy_0_p2_p1 = t5087+t5061+t5176;
+ coeff_dyy_p1_p2_p1 = t5087+t5135+t5238;
+ coeff_dyy_p2_p2_p1 = t5041+t5137+t5220;
+ coeff_dyy_m2_m2_p2 = t5042+t5072+t5054+t5151;
+ coeff_dyy_m1_m2_p2 = t5045+t5153+t5271;
+ coeff_dyy_0_m2_p2 = t5169+t5271;
+ coeff_dyy_p1_m2_p2 = t5086+t5143+t5226;
+ coeff_dyy_p2_m2_p2 = t5072+t5152+t5285;
+ coeff_dyy_m2_m1_p2 = t5083+t5134+t5239;
+ coeff_dyy_m1_m1_p2 = t5056+t5127+t5224;
+ coeff_dyy_0_m1_p2 = t5083+t5056+t5161;
+ coeff_dyy_p1_m1_p2 = t5056+t5133+t5228;
+ coeff_dyy_p2_m1_p2 = t5083+t5141+t5237;
+ coeff_dyy_m2_0_p2 = t5163+t5212;
+ coeff_dyy_m1_0_p2 = t5064+t5070+t5167;
+ coeff_dyy_0_0_p2 = t5064+t5186;
+ coeff_dyy_p1_0_p2 = t5172+t5223;
+ coeff_dyy_p2_0_p2 = t5163+t5211;
+ coeff_dyy_m2_p1_p2 = t5046+t5148+t5278;
+ coeff_dyy_m1_p1_p2 = t5059+t5139+t5224;
+ coeff_dyy_0_p1_p2 = t5059+t5088+t5161;
+ coeff_dyy_p1_p1_p2 = t5059+t5147+t5228;
+ coeff_dyy_p2_p1_p2 = t5058+t5076+t5050+t5148;
+ coeff_dyy_m2_p2_p2 = t5060+t5150+t5211;
+ coeff_dyy_m1_p2_p2 = t5052+t5153+t5249;
+ coeff_dyy_0_p2_p2 = t5169+t5249;
+ coeff_dyy_p1_p2_p2 = t5072+t5055+t5046+t5157;
+ coeff_dyy_p2_p2_p2 = t5053+t5150+t5212;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c
new file mode 100644
index 0000000..43aaaa1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c
@@ -0,0 +1,531 @@
+fp t5369,
+ t5471,
+ t5303,
+ t5304,
+ t5523,
+ t5478,
+ t5294,
+ t5380,
+ t5379,
+ t5521,
+ t5463,
+ t5438,
+ t5374,
+ t5474,
+ t5295,
+ t5302,
+ t5522,
+ t5372,
+ t5336,
+ t5307,
+ t5370,
+ t5475,
+ t5300,
+ t5520,
+ t5301,
+ t5313,
+ t5306,
+ t5519,
+ t5367,
+ t5338,
+ t5339,
+ t5518,
+ t5378,
+ t5358,
+ t5517,
+ t5312,
+ t5320,
+ t5516,
+ t5368,
+ t5327,
+ t5340,
+ t5515,
+ t5514,
+ t5328,
+ t5513,
+ t5377,
+ t5375,
+ t5512,
+ t5364,
+ t5473,
+ t5288,
+ t5289,
+ t5511,
+ t5365,
+ t5477,
+ t5292,
+ t5290,
+ t5510,
+ t5337,
+ t5509,
+ t5321,
+ t5508,
+ t5334,
+ t5507,
+ t5305,
+ t5450,
+ t5436,
+ t5506,
+ t5317,
+ t5505,
+ t5341,
+ t5504,
+ t5503,
+ t5366,
+ t5376,
+ t5502,
+ t5299,
+ t5501,
+ t5500,
+ t5499,
+ t5476,
+ t5293,
+ t5315,
+ t5472,
+ t5291,
+ t5446,
+ t5498,
+ t5497,
+ t5318,
+ t5442,
+ t5496,
+ t5495,
+ t5296,
+ t5297,
+ t5470,
+ t5494,
+ t5329,
+ t5493,
+ t5492,
+ t5491,
+ t5490,
+ t5324,
+ t5489,
+ t5488,
+ t5487,
+ t5486,
+ t5485,
+ t5484,
+ t5431,
+ t5330,
+ t5356,
+ t5483,
+ t5326,
+ t5482,
+ t5325,
+ t5481,
+ t5480,
+ t5440,
+ t5479,
+ t5298,
+ t5469,
+ t5287,
+ t5468,
+ t5467,
+ t5466,
+ t5465,
+ t5464,
+ t5462,
+ t5461,
+ t5459,
+ t5458,
+ t5457,
+ t5455,
+ t5453,
+ t5452,
+ t5451,
+ t5449,
+ t5447,
+ t5445,
+ t5443,
+ t5319,
+ t5441,
+ t5439,
+ t5437,
+ t5435,
+ t5434,
+ t5433,
+ t5430,
+ t5429,
+ t5428,
+ t5427,
+ t5426,
+ t5425,
+ t5424,
+ t5353,
+ t5423,
+ t5422,
+ t5352,
+ t5421,
+ t5420,
+ t5419,
+ t5418,
+ t5417,
+ t5416,
+ t5415,
+ t5414,
+ t5413,
+ t5412,
+ t5411,
+ t5410,
+ t5409,
+ t5408,
+ t5407,
+ t5406,
+ t5405,
+ t5404,
+ t5403,
+ t5402,
+ t5401,
+ t5400,
+ t5399,
+ t5398,
+ t5397,
+ t5396,
+ t5395,
+ t5394,
+ t5393,
+ t5392,
+ t5391,
+ t5390,
+ t5389,
+ t5388,
+ t5387,
+ t5386,
+ t5385,
+ t5384,
+ t5383,
+ t5382,
+ t5381,
+ t5332,
+ t5323,
+ t5310,
+ t5309;
+ t5369 = RATIONAL(1.0,175.0);
+ t5471 = x*t5369;
+ t5303 = z*t5471;
+ t5304 = y*t5471;
+ t5523 = t5303+t5304;
+ t5478 = y*z;
+ t5294 = RATIONAL(1.0,245.0)*t5478;
+ t5380 = z*z;
+ t5379 = y*y;
+ t5521 = t5379+t5380;
+ t5463 = t5521*RATIONAL(1.0,100.0);
+ t5438 = t5294+t5463;
+ t5374 = RATIONAL(-1.0,175.0);
+ t5474 = x*t5374;
+ t5295 = y*t5474;
+ t5302 = z*t5474;
+ t5522 = t5295+t5302;
+ t5372 = RATIONAL(2.0,175.0);
+ t5336 = t5372*z;
+ t5307 = x*t5336;
+ t5370 = RATIONAL(-2.0,175.0);
+ t5475 = x*t5370;
+ t5300 = y*t5475;
+ t5520 = t5307+t5300;
+ t5301 = z*t5475;
+ t5313 = t5372*y;
+ t5306 = x*t5313;
+ t5519 = t5301+t5306;
+ t5367 = RATIONAL(1.0,350.0);
+ t5338 = t5367*y;
+ t5339 = t5367*z;
+ t5518 = t5338+t5339;
+ t5378 = x*x;
+ t5358 = RATIONAL(137.0,5250.0);
+ t5517 = RATIONAL(-1.0,1400.0)*t5378+t5358;
+ t5312 = t5369*z;
+ t5320 = t5369*y;
+ t5516 = t5312+t5320;
+ t5368 = RATIONAL(-1.0,350.0);
+ t5327 = t5368*z;
+ t5340 = t5368*y;
+ t5515 = t5327+t5340;
+ t5514 = t5339+t5340;
+ t5328 = RATIONAL(-1.0,250.0)*x;
+ t5513 = t5328+t5523;
+ t5377 = RATIONAL(1.0,50.0);
+ t5375 = RATIONAL(-1.0,200.0);
+ t5512 = t5375*t5379+t5377*t5380;
+ t5364 = RATIONAL(1.0,700.0);
+ t5473 = x*t5364;
+ t5288 = y*t5473;
+ t5289 = z*t5473;
+ t5511 = t5288+t5289;
+ t5365 = RATIONAL(-1.0,700.0);
+ t5477 = x*t5365;
+ t5292 = z*t5477;
+ t5290 = y*t5477;
+ t5510 = t5292+t5290;
+ t5337 = t5364*t5378;
+ t5509 = t5337+RATIONAL(-167.0,7000.0);
+ t5321 = t5374*z;
+ t5508 = t5320+t5321;
+ t5334 = t5370*z;
+ t5507 = t5334+t5313;
+ t5305 = RATIONAL(4.0,245.0)*t5478;
+ t5450 = t5521*RATIONAL(-1.0,100.0);
+ t5436 = t5305+t5450;
+ t5506 = t5436+RATIONAL(47.0,5250.0);
+ t5317 = t5365*t5378;
+ t5505 = t5317+RATIONAL(167.0,7000.0);
+ t5341 = t5374*y;
+ t5504 = t5341+t5321;
+ t5503 = t5336+t5313;
+ t5366 = RATIONAL(1.0,200.0);
+ t5376 = RATIONAL(-1.0,50.0);
+ t5502 = t5376*t5379+t5366*t5380;
+ t5299 = RATIONAL(-2.0,245.0)*t5478;
+ t5501 = t5299+RATIONAL(107.0,7000.0);
+ t5500 = t5312+t5341;
+ t5499 = t5317+RATIONAL(-229.0,10500.0);
+ t5476 = t5367*x;
+ t5293 = y*t5476;
+ t5315 = RATIONAL(1.0,500.0)*x;
+ t5472 = x*t5368;
+ t5291 = z*t5472;
+ t5446 = t5315+t5291;
+ t5498 = t5293+t5446;
+ t5497 = t5317+RATIONAL(289.0,10500.0);
+ t5318 = RATIONAL(-1.0,500.0)*x;
+ t5442 = t5293+t5318;
+ t5496 = t5442+t5291;
+ t5495 = t5375*t5380+t5377*t5379;
+ t5296 = y*t5472;
+ t5297 = z*t5476;
+ t5470 = t5315+t5297;
+ t5494 = t5296+t5470;
+ t5329 = t5370*y;
+ t5493 = t5334+t5329;
+ t5492 = t5296+t5318+t5297;
+ t5491 = t5328+t5522;
+ t5490 = t5366*t5379+t5376*t5380;
+ t5324 = RATIONAL(1.0,250.0)*x;
+ t5489 = t5324+t5522;
+ t5488 = t5296+t5291;
+ t5487 = t5336+t5329;
+ t5486 = t5327+t5338;
+ t5485 = t5337+RATIONAL(-289.0,10500.0);
+ t5484 = t5324+t5523;
+ t5431 = t5305+t5463;
+ t5330 = t5369*t5378;
+ t5356 = RATIONAL(-137.0,5250.0);
+ t5483 = t5431+t5330+t5356;
+ t5326 = t5368*t5378;
+ t5482 = t5326+t5431+RATIONAL(-47.0,5250.0);
+ t5325 = t5374*t5378;
+ t5481 = t5436+t5358+t5325;
+ t5480 = RATIONAL(1.0,1400.0)*t5378+t5356+t5438;
+ t5440 = t5294+t5450;
+ t5479 = t5337+RATIONAL(229.0,10500.0)+t5440;
+ t5298 = RATIONAL(2.0,245.0)*t5478;
+ t5469 = t5312+t5298;
+ t5287 = RATIONAL(-4.0,245.0)*t5478;
+ t5468 = t5287+t5313;
+ t5467 = t5303+t5287;
+ t5466 = t5287+t5329;
+ t5465 = t5306+t5287;
+ t5464 = t5341+t5298;
+ t5462 = t5320+t5299;
+ t5461 = t5302+t5287;
+ t5459 = t5301+t5287;
+ t5458 = t5320+t5298;
+ t5457 = t5304+t5298;
+ t5455 = t5341+t5299;
+ t5453 = t5307+t5287;
+ t5452 = t5321+t5298;
+ t5451 = t5295+t5287;
+ t5449 = t5293+t5298;
+ t5447 = t5298+t5291;
+ t5445 = t5296+t5298;
+ t5443 = t5303+t5298;
+ t5319 = t5367*t5378;
+ t5441 = t5319+t5299+RATIONAL(-187.0,7000.0);
+ t5439 = t5304+t5319+t5302;
+ t5437 = t5303+t5295+t5319;
+ t5435 = t5326+t5462;
+ t5434 = t5312+t5455;
+ t5433 = t5321+t5455;
+ t5430 = t5441+t5495;
+ t5429 = t5439+t5501;
+ t5428 = t5441+t5512;
+ t5427 = t5440+t5515;
+ t5426 = t5440+t5518;
+ t5425 = t5437+t5501;
+ t5424 = t5438+t5514;
+ t5353 = RATIONAL(187.0,7000.0);
+ t5423 = t5321+t5353+t5435;
+ t5422 = t5438+t5486;
+ t5352 = RATIONAL(-107.0,7000.0);
+ t5421 = t5312+t5352+t5435;
+ t5420 = t5326+t5353+t5434;
+ t5419 = t5312+t5462+t5509;
+ t5418 = t5433+t5509;
+ t5417 = t5326+t5352+t5433;
+ t5416 = t5434+t5505;
+ t5415 = t5330+RATIONAL(17.0,5250.0)+t5436;
+ t5414 = RATIONAL(-17.0,5250.0)+t5325+t5431;
+ t5413 = t5321+t5462+t5505;
+ t5412 = t5439+t5506;
+ t5411 = t5437+t5506;
+ t5410 = t5479+t5488;
+ t5409 = t5426+t5517;
+ t5408 = t5481+t5487;
+ t5407 = t5481+t5507;
+ t5406 = t5427+t5517;
+ t5405 = t5424+t5499;
+ t5404 = t5301+t5300+t5483;
+ t5403 = t5293+t5297+t5479;
+ t5402 = t5306+t5307+t5483;
+ t5401 = t5482+t5493;
+ t5400 = t5422+t5499;
+ t5399 = t5290+t5289+t5480;
+ t5398 = t5482+t5503;
+ t5397 = t5288+t5292+t5480;
+ t5396 = t5413+t5492;
+ t5395 = t5328+t5429+t5500;
+ t5394 = t5324+t5429+t5508;
+ t5393 = t5328+t5425+t5508;
+ t5392 = t5324+t5425+t5500;
+ t5391 = t5421+t5513;
+ t5390 = t5297+t5419+t5442;
+ t5389 = t5421+t5489;
+ t5388 = t5296+t5419+t5446;
+ t5387 = t5417+t5491;
+ t5386 = t5318+t5418+t5488;
+ t5385 = t5293+t5418+t5470;
+ t5384 = t5416+t5496;
+ t5383 = t5417+t5484;
+ t5382 = t5416+t5494;
+ t5381 = t5413+t5498;
+ t5332 = RATIONAL(-1.0,125.0)*x;
+ t5323 = RATIONAL(1.0,125.0)*x;
+ t5310 = RATIONAL(-1.0,1000.0)*x;
+ t5309 = RATIONAL(1.0,1000.0)*x;
+ coeff_dyz_m2_m2_m2 = t5332+t5402+t5493;
+ coeff_dyz_m1_m2_m2 = t5401+t5513;
+ coeff_dyz_0_m2_m2 = t5414+t5493;
+ coeff_dyz_p1_m2_m2 = t5401+t5489;
+ coeff_dyz_p2_m2_m2 = t5323+t5404+t5493;
+ coeff_dyz_m2_m1_m2 = t5393+t5502;
+ coeff_dyz_m1_m1_m2 = t5396+t5502;
+ coeff_dyz_0_m1_m2 = t5423+t5502;
+ coeff_dyz_p1_m1_m2 = t5381+t5502;
+ coeff_dyz_p2_m1_m2 = t5394+t5502;
+ coeff_dyz_m2_0_m2 = t5300+t5468;
+ coeff_dyz_m1_0_m2 = t5313+t5451;
+ coeff_dyz_0_0_m2 = t5468;
+ coeff_dyz_p1_0_m2 = t5304+t5468;
+ coeff_dyz_p2_0_m2 = t5313+t5465;
+ coeff_dyz_m2_p1_m2 = t5389+t5495;
+ coeff_dyz_m1_p1_m2 = t5388+t5495;
+ coeff_dyz_0_p1_m2 = t5430+t5516;
+ coeff_dyz_p1_p1_m2 = t5390+t5495;
+ coeff_dyz_p2_p1_m2 = t5391+t5495;
+ coeff_dyz_m2_p2_m2 = t5323+t5408+t5519;
+ coeff_dyz_m1_p2_m2 = t5324+t5412+t5487;
+ coeff_dyz_0_p2_m2 = t5415+t5487;
+ coeff_dyz_p1_p2_m2 = t5328+t5411+t5487;
+ coeff_dyz_p2_p2_m2 = t5332+t5408+t5520;
+ coeff_dyz_m2_m2_m1 = t5395+t5490;
+ coeff_dyz_m1_m2_m1 = t5384+t5490;
+ coeff_dyz_0_m2_m1 = t5420+t5490;
+ coeff_dyz_p1_m2_m1 = t5382+t5490;
+ coeff_dyz_p2_m2_m1 = t5392+t5490;
+ coeff_dyz_m2_m1_m1 = t5318+t5410+t5518;
+ coeff_dyz_m1_m1_m1 = t5310+t5409+t5510;
+ coeff_dyz_0_m1_m1 = t5426+t5497;
+ coeff_dyz_p1_m1_m1 = t5309+t5409+t5511;
+ coeff_dyz_p2_m1_m1 = t5315+t5403+t5518;
+ coeff_dyz_m2_0_m1 = t5295+t5458;
+ coeff_dyz_m1_0_m1 = t5320+t5445;
+ coeff_dyz_0_0_m1 = t5458;
+ coeff_dyz_p1_0_m1 = t5320+t5449;
+ coeff_dyz_p2_0_m1 = t5320+t5457;
+ coeff_dyz_m2_p1_m1 = t5400+t5494;
+ coeff_dyz_m1_p1_m1 = t5309+t5399+t5486;
+ coeff_dyz_0_p1_m1 = t5422+t5485;
+ coeff_dyz_p1_p1_m1 = t5310+t5397+t5486;
+ coeff_dyz_p2_p1_m1 = t5400+t5496;
+ coeff_dyz_m2_p2_m1 = t5383+t5512;
+ coeff_dyz_m1_p2_m1 = t5385+t5512;
+ coeff_dyz_0_p2_m1 = t5428+t5504;
+ coeff_dyz_p1_p2_m1 = t5386+t5512;
+ coeff_dyz_p2_p2_m1 = t5387+t5512;
+ coeff_dyz_m2_m2_0 = t5336+t5459;
+ coeff_dyz_m1_m2_0 = t5336+t5461;
+ coeff_dyz_0_m2_0 = t5287+t5336;
+ coeff_dyz_p1_m2_0 = t5336+t5467;
+ coeff_dyz_p2_m2_0 = t5336+t5453;
+ coeff_dyz_m2_m1_0 = t5302+t5469;
+ coeff_dyz_m1_m1_0 = t5312+t5447;
+ coeff_dyz_0_m1_0 = t5469;
+ coeff_dyz_p1_m1_0 = t5297+t5469;
+ coeff_dyz_p2_m1_0 = t5312+t5443;
+ coeff_dyz_m2_0_0 = t5305;
+ coeff_dyz_m1_0_0 = t5305;
+ coeff_dyz_0_0_0 = t5305;
+ coeff_dyz_p1_0_0 = t5305;
+ coeff_dyz_p2_0_0 = t5305;
+ coeff_dyz_m2_p1_0 = t5321+t5443;
+ coeff_dyz_m1_p1_0 = t5297+t5452;
+ coeff_dyz_0_p1_0 = t5452;
+ coeff_dyz_p1_p1_0 = t5321+t5447;
+ coeff_dyz_p2_p1_0 = t5302+t5452;
+ coeff_dyz_m2_p2_0 = t5334+t5453;
+ coeff_dyz_m1_p2_0 = t5334+t5467;
+ coeff_dyz_0_p2_0 = t5334+t5287;
+ coeff_dyz_p1_p2_0 = t5334+t5461;
+ coeff_dyz_p2_p2_0 = t5334+t5459;
+ coeff_dyz_m2_m2_p1 = t5389+t5512;
+ coeff_dyz_m1_m2_p1 = t5388+t5512;
+ coeff_dyz_0_m2_p1 = t5428+t5516;
+ coeff_dyz_p1_m2_p1 = t5390+t5512;
+ coeff_dyz_p2_m2_p1 = t5391+t5512;
+ coeff_dyz_m2_m1_p1 = t5405+t5498;
+ coeff_dyz_m1_m1_p1 = t5309+t5397+t5514;
+ coeff_dyz_0_m1_p1 = t5424+t5485;
+ coeff_dyz_p1_m1_p1 = t5310+t5399+t5514;
+ coeff_dyz_p2_m1_p1 = t5405+t5492;
+ coeff_dyz_m2_0_p1 = t5341+t5457;
+ coeff_dyz_m1_0_p1 = t5341+t5449;
+ coeff_dyz_0_0_p1 = t5464;
+ coeff_dyz_p1_0_p1 = t5341+t5445;
+ coeff_dyz_p2_0_p1 = t5295+t5464;
+ coeff_dyz_m2_p1_p1 = t5318+t5403+t5515;
+ coeff_dyz_m1_p1_p1 = t5310+t5406+t5511;
+ coeff_dyz_0_p1_p1 = t5427+t5497;
+ coeff_dyz_p1_p1_p1 = t5309+t5406+t5510;
+ coeff_dyz_p2_p1_p1 = t5315+t5410+t5515;
+ coeff_dyz_m2_p2_p1 = t5393+t5490;
+ coeff_dyz_m1_p2_p1 = t5396+t5490;
+ coeff_dyz_0_p2_p1 = t5423+t5490;
+ coeff_dyz_p1_p2_p1 = t5381+t5490;
+ coeff_dyz_p2_p2_p1 = t5394+t5490;
+ coeff_dyz_m2_m2_p2 = t5323+t5407+t5520;
+ coeff_dyz_m1_m2_p2 = t5324+t5411+t5507;
+ coeff_dyz_0_m2_p2 = t5415+t5507;
+ coeff_dyz_p1_m2_p2 = t5328+t5412+t5507;
+ coeff_dyz_p2_m2_p2 = t5332+t5407+t5519;
+ coeff_dyz_m2_m1_p2 = t5383+t5495;
+ coeff_dyz_m1_m1_p2 = t5385+t5495;
+ coeff_dyz_0_m1_p2 = t5430+t5504;
+ coeff_dyz_p1_m1_p2 = t5386+t5495;
+ coeff_dyz_p2_m1_p2 = t5387+t5495;
+ coeff_dyz_m2_0_p2 = t5329+t5465;
+ coeff_dyz_m1_0_p2 = t5304+t5466;
+ coeff_dyz_0_0_p2 = t5466;
+ coeff_dyz_p1_0_p2 = t5329+t5451;
+ coeff_dyz_p2_0_p2 = t5300+t5466;
+ coeff_dyz_m2_p1_p2 = t5395+t5502;
+ coeff_dyz_m1_p1_p2 = t5384+t5502;
+ coeff_dyz_0_p1_p2 = t5420+t5502;
+ coeff_dyz_p1_p1_p2 = t5382+t5502;
+ coeff_dyz_p2_p1_p2 = t5392+t5502;
+ coeff_dyz_m2_p2_p2 = t5332+t5404+t5503;
+ coeff_dyz_m1_p2_p2 = t5398+t5491;
+ coeff_dyz_0_p2_p2 = t5414+t5503;
+ coeff_dyz_p1_p2_p2 = t5398+t5484;
+ coeff_dyz_p2_p2_p2 = t5323+t5402+t5503;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c
new file mode 100644
index 0000000..cd8d2c0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c
@@ -0,0 +1,971 @@
+fp t4056,
+ t4193,
+ t4035,
+ t3889,
+ t3926,
+ t4344,
+ t4030,
+ t4197,
+ t3870,
+ t4200,
+ t3900,
+ t4343,
+ t4055,
+ t4024,
+ t4058,
+ t3988,
+ t4342,
+ t3997,
+ t4029,
+ t4057,
+ t3975,
+ t3875,
+ t4341,
+ t4006,
+ t3969,
+ t4044,
+ t4054,
+ t4170,
+ t4340,
+ t3898,
+ t4195,
+ t3896,
+ t3847,
+ t4339,
+ t3980,
+ t3917,
+ t4338,
+ t4053,
+ t4027,
+ t3968,
+ t4188,
+ t3887,
+ t4337,
+ t4025,
+ t4178,
+ t4336,
+ t3855,
+ t4335,
+ t4004,
+ t3960,
+ t3910,
+ t4334,
+ t4001,
+ t3945,
+ t4022,
+ t3970,
+ t3904,
+ t4333,
+ t3905,
+ t3907,
+ t4332,
+ t3977,
+ t3874,
+ t4331,
+ t3999,
+ t4330,
+ t3856,
+ t4199,
+ t3888,
+ t4329,
+ t3992,
+ t4023,
+ t3959,
+ t3871,
+ t4328,
+ t3919,
+ t4194,
+ t3918,
+ t3850,
+ t4327,
+ t4326,
+ t4162,
+ t4325,
+ t4046,
+ t4192,
+ t3880,
+ t3979,
+ t4324,
+ t4017,
+ t4026,
+ t3962,
+ t4166,
+ t3998,
+ t3927,
+ t4151,
+ t4198,
+ t4323,
+ t4052,
+ t3991,
+ t4189,
+ t3873,
+ t4322,
+ t4321,
+ t3990,
+ t4320,
+ t3993,
+ t4319,
+ t3916,
+ t3884,
+ t4318,
+ t4190,
+ t3928,
+ t4317,
+ t4316,
+ t4000,
+ t3931,
+ t3942,
+ t4315,
+ t3965,
+ t4314,
+ t4033,
+ t3886,
+ t3861,
+ t4313,
+ t4045,
+ t3876,
+ t4312,
+ t4177,
+ t4003,
+ t3925,
+ t4147,
+ t4032,
+ t3976,
+ t3891,
+ t4311,
+ t3989,
+ t4310,
+ t3881,
+ t4309,
+ t4308,
+ t4041,
+ t4307,
+ t4002,
+ t4306,
+ t4037,
+ t3897,
+ t4305,
+ t4304,
+ t4303,
+ t3872,
+ t3964,
+ t4302,
+ t3862,
+ t3852,
+ t4301,
+ t4300,
+ t4299,
+ t4009,
+ t3864,
+ t4298,
+ t3913,
+ t4297,
+ t4296,
+ t3972,
+ t4048,
+ t4295,
+ t4294,
+ t4293,
+ t3957,
+ t4292,
+ t3958,
+ t4291,
+ t4290,
+ t3899,
+ t4289,
+ t4288,
+ t4287,
+ t3940,
+ t3851,
+ t4286,
+ t4285,
+ t4284,
+ t4283,
+ t4282,
+ t4281,
+ t4280,
+ t3890,
+ t4279,
+ t3996,
+ t4278,
+ t4196,
+ t3877,
+ t3849,
+ t4277,
+ t3879,
+ t4276,
+ t4275,
+ t3923,
+ t3894,
+ t4274,
+ t3868,
+ t4273,
+ t4272,
+ t4271,
+ t4270,
+ t4269,
+ t3987,
+ t4164,
+ t4268,
+ t4267,
+ t4266,
+ t4265,
+ t4264,
+ t3995,
+ t4263,
+ t4191,
+ t3846,
+ t4262,
+ t3912,
+ t4261,
+ t3867,
+ t4260,
+ t4008,
+ t4163,
+ t4259,
+ t3994,
+ t4258,
+ t3865,
+ t3941,
+ t4149,
+ t4257,
+ t4256,
+ t4015,
+ t4255,
+ t4254,
+ t4253,
+ t4155,
+ t4252,
+ t3906,
+ t4159,
+ t4251,
+ t4018,
+ t3854,
+ t3848,
+ t4250,
+ t4249,
+ t4248,
+ t4247,
+ t3853,
+ t4246,
+ t4245,
+ t4244,
+ t4013,
+ t4243,
+ t4242,
+ t4012,
+ t4241,
+ t4240,
+ t4239,
+ t4238,
+ t4237,
+ t4236,
+ t4235,
+ t3929,
+ t4234,
+ t4233,
+ t3908,
+ t4232,
+ t4014,
+ t4231,
+ t4230,
+ t4229,
+ t4011,
+ t4228,
+ t4227,
+ t4226,
+ t4225,
+ t4010,
+ t4224,
+ t4223,
+ t4222,
+ t4221,
+ t4220,
+ t4219,
+ t4218,
+ t4217,
+ t3909,
+ t4216,
+ t3863,
+ t4215,
+ t4214,
+ t4213,
+ t4212,
+ t4211,
+ t4136,
+ t4210,
+ t4209,
+ t4047,
+ t4208,
+ t4207,
+ t4206,
+ t4205,
+ t4204,
+ t4203,
+ t4202,
+ t4201,
+ t4187,
+ t4186,
+ t4185,
+ t4184,
+ t4183,
+ t4182,
+ t4181,
+ t4180,
+ t4179,
+ t4176,
+ t4175,
+ t4174,
+ t4173,
+ t4172,
+ t4171,
+ t4168,
+ t4167,
+ t4165,
+ t4161,
+ t4160,
+ t4158,
+ t4157,
+ t4156,
+ t4154,
+ t4153,
+ t4152,
+ t4148,
+ t3954,
+ t4146,
+ t4145,
+ t4144,
+ t4143,
+ t4142,
+ t4141,
+ t4140,
+ t3985,
+ t4139,
+ t4138,
+ t4137,
+ t4135,
+ t4134,
+ t4133,
+ t4132,
+ t4131,
+ t4130,
+ t4129,
+ t4128,
+ t4127,
+ t4126,
+ t4125,
+ t4124,
+ t4123,
+ t4122,
+ t4121,
+ t4120,
+ t4119,
+ t4118,
+ t4117,
+ t4116,
+ t4115,
+ t4114,
+ t4113,
+ t4112,
+ t4111,
+ t4110,
+ t4109,
+ t4108,
+ t4107,
+ t4106,
+ t4105,
+ t4104,
+ t4103,
+ t4102,
+ t4101,
+ t4100,
+ t4099,
+ t4098,
+ t4097,
+ t4096,
+ t4095,
+ t4094,
+ t4093,
+ t4092,
+ t4091,
+ t4090,
+ t4089,
+ t4088,
+ t4087,
+ t4086,
+ t4085,
+ t4084,
+ t4083,
+ t4031,
+ t4082,
+ t4081,
+ t4080,
+ t4079,
+ t4078,
+ t4077,
+ t4076,
+ t4075,
+ t4074,
+ t4073,
+ t4072,
+ t4038,
+ t4071,
+ t4070,
+ t4069,
+ t4068,
+ t4067,
+ t4066,
+ t4065,
+ t4064,
+ t4063,
+ t4062,
+ t3944,
+ t3893;
+ t4056 = x*x;
+ t4193 = z*t4056;
+ t4035 = RATIONAL(1.0,490.0);
+ t3889 = t4035*t4193;
+ t3926 = RATIONAL(151.0,3675.0)*z;
+ t4344 = t3889+t3926;
+ t4030 = RATIONAL(-1.0,350.0);
+ t4197 = z*t4030;
+ t3870 = x*t4197;
+ t4200 = x*y;
+ t3900 = RATIONAL(1.0,500.0)*t4200;
+ t4343 = t3870+t3900;
+ t4055 = t4056*x;
+ t4024 = RATIONAL(1.0,600.0);
+ t4058 = z*z;
+ t3988 = RATIONAL(-1.0,50.0)*t4058;
+ t4342 = t4024*t4055+x*t3988;
+ t3997 = RATIONAL(107.0,7000.0);
+ t4029 = RATIONAL(1.0,350.0);
+ t4057 = y*y;
+ t3975 = t4029*t4057;
+ t3875 = x*t3975;
+ t4341 = t3997*x+t3875;
+ t4006 = RATIONAL(-47.0,5250.0);
+ t3969 = RATIONAL(1.0,100.0)*t4058;
+ t4044 = RATIONAL(1.0,300.0);
+ t4054 = t4057*y;
+ t4170 = y*t3969+t4044*t4054;
+ t4340 = t4170+t4006*y;
+ t3898 = RATIONAL(-1.0,125.0)*t4200;
+ t4195 = z*RATIONAL(-2.0,175.0);
+ t3896 = y*t4195;
+ t3847 = x*t3896;
+ t4339 = t3898+t3847;
+ t3980 = t4030*t4057;
+ t3917 = x*t3980;
+ t4338 = t3917+t4006*x;
+ t4053 = z*t4058;
+ t4027 = RATIONAL(1.0,150.0);
+ t3968 = t4027*t4053;
+ t4188 = z*RATIONAL(-1.0,245.0);
+ t3887 = t4056*t4188;
+ t4337 = t3968+t3887;
+ t4025 = RATIONAL(-1.0,150.0);
+ t4178 = RATIONAL(1.0,200.0)*t4058;
+ t4336 = x*t4178+t4025*t4055;
+ t3855 = RATIONAL(1.0,1000.0)*t4200;
+ t4335 = t3855+t3870;
+ t4004 = RATIONAL(47.0,5250.0);
+ t3960 = t4029*t4056;
+ t3910 = y*t3960;
+ t4334 = t3910+t4004*y;
+ t4001 = RATIONAL(-167.0,7000.0);
+ t3945 = t4001*x;
+ t4022 = RATIONAL(1.0,700.0);
+ t3970 = t4022*t4057;
+ t3904 = x*t3970;
+ t4333 = t3945+t3904;
+ t3905 = y*t4197;
+ t3907 = RATIONAL(-1.0,500.0)*t4200;
+ t4332 = t3905+t3907;
+ t3977 = t4022*t4056;
+ t3874 = y*t3977;
+ t4331 = t4001*y+t3874;
+ t3999 = RATIONAL(-187.0,7000.0);
+ t4330 = t3910+t3999*y;
+ t3856 = RATIONAL(-1.0,1000.0)*t4200;
+ t4199 = z*t4029;
+ t3888 = x*t4199;
+ t4329 = t3856+t3888;
+ t3992 = RATIONAL(-229.0,10500.0);
+ t4023 = RATIONAL(-1.0,700.0);
+ t3959 = t4023*t4057;
+ t3871 = x*t3959;
+ t4328 = t3992*x+t3871;
+ t3919 = RATIONAL(1.0,125.0)*t4200;
+ t4194 = z*RATIONAL(2.0,175.0);
+ t3918 = y*t4194;
+ t3850 = x*t3918;
+ t4327 = t3919+t3850;
+ t4326 = t3910+t3997*y;
+ t4162 = RATIONAL(-1.0,200.0)*t4058;
+ t4325 = t4027*t4054+y*t4162;
+ t4046 = RATIONAL(-1.0,175.0);
+ t4192 = z*t4046;
+ t3880 = x*t4192;
+ t3979 = t4030*t4056;
+ t4324 = t3880+t3979;
+ t4017 = RATIONAL(-1.0,1400.0);
+ t4026 = RATIONAL(-1.0,300.0);
+ t3962 = RATIONAL(-1.0,100.0)*t4058;
+ t4166 = t4026*t4055+x*t3962;
+ t3998 = RATIONAL(137.0,5250.0);
+ t3927 = t3998*x;
+ t4151 = t3927+t4166;
+ t4198 = x*t4057;
+ t4323 = t4017*t4198+t4151;
+ t4052 = RATIONAL(-2.0,75.0);
+ t3991 = t4052*t4053;
+ t4189 = z*t4057;
+ t3873 = t4035*t4189;
+ t4322 = t3991+t3873;
+ t4321 = t4170+t3992*y;
+ t3990 = RATIONAL(1.0,50.0)*t4058;
+ t4320 = t3990+t3970;
+ t3993 = RATIONAL(229.0,10500.0);
+ t4319 = t3993*y+t3874;
+ t3916 = x*t4194;
+ t3884 = RATIONAL(-1.0,250.0)*t4200;
+ t4318 = t3916+t3884;
+ t4190 = y*t4056;
+ t3928 = RATIONAL(166.0,3675.0)*z;
+ t4317 = t3928+t4017*t4190;
+ t4316 = t3999*x+t3875;
+ t4000 = RATIONAL(-107.0,7000.0);
+ t3931 = t4000*y;
+ t3942 = RATIONAL(256.0,3675.0)*z;
+ t4315 = t3931+t3942;
+ t3965 = t4046*t4057;
+ t4314 = t3969+t3965;
+ t4033 = RATIONAL(-2.0,245.0);
+ t3886 = t4033*t4189;
+ t3861 = RATIONAL(311.0,14700.0)*z;
+ t4313 = t3886+t3861;
+ t4045 = RATIONAL(1.0,245.0);
+ t3876 = t4045*t4193;
+ t4312 = t3979+t3876;
+ t4177 = t4044*t4055+x*t3969;
+ t4003 = RATIONAL(-137.0,5250.0);
+ t3925 = t4003*x;
+ t4147 = t3925+t4177;
+ t4032 = RATIONAL(1.0,175.0);
+ t3976 = t4032*t4057;
+ t3891 = x*t3976;
+ t4311 = t4147+t3891;
+ t3989 = RATIONAL(4.0,75.0)*z;
+ t4310 = RATIONAL(2.0,75.0)+t3989;
+ t3881 = y*t4199;
+ t4309 = t3881+t3900;
+ t4308 = t3900+t3888;
+ t4041 = RATIONAL(-1.0,600.0);
+ t4307 = x*t3990+t4041*t4055;
+ t4002 = RATIONAL(187.0,7000.0);
+ t4306 = t3917+t4002*x;
+ t4037 = RATIONAL(2.0,245.0);
+ t3897 = t4037*t4189;
+ t4305 = t3897+t3976;
+ t4304 = t4024*t4054+y*t3988;
+ t4303 = t3926+t3876;
+ t3872 = t4033*t4193;
+ t3964 = t4046*t4056;
+ t4302 = t3872+t3964;
+ t3862 = RATIONAL(1.0,250.0)*t4200;
+ t3852 = y*t3880;
+ t4301 = t3862+t3852;
+ t4300 = t3917+t4000*x;
+ t4299 = t3897+t3965;
+ t4009 = RATIONAL(-19.0,2100.0);
+ t3864 = RATIONAL(-169.0,14700.0)*z;
+ t4298 = t4009+t3864;
+ t3913 = x*t3965;
+ t4297 = t3913+t4151;
+ t4296 = t3962+t3964;
+ t3972 = t4023*t4056;
+ t4048 = RATIONAL(1.0,42.0);
+ t4295 = t3972+t4048;
+ t4294 = t3907+t3881;
+ t4293 = t3870+t3907;
+ t3957 = t4026*z;
+ t4292 = t3886+t3957;
+ t3958 = t4032*t4056;
+ t4291 = t3958+t4009;
+ t4290 = t3905+t3900;
+ t3899 = x*t4195;
+ t4289 = t3862+t3899;
+ t4288 = x*t4162+t4027*t4055;
+ t4287 = t4052+t3989;
+ t3940 = RATIONAL(211.0,3675.0)*z;
+ t3851 = x*t3881;
+ t4286 = t3940+t3851;
+ t4285 = t4041*t4054+y*t3990;
+ t4284 = t3990+t3977;
+ t4283 = t3993*x+t4166;
+ t4282 = t4025*t4054+y*t4178;
+ t4281 = t3907+t3888;
+ t4280 = t3960+t3876;
+ t3890 = y*t3979;
+ t4279 = t3890+t4002*y;
+ t3996 = RATIONAL(167.0,7000.0);
+ t4278 = t3871+t3996*x;
+ t4196 = z*t4032;
+ t3877 = y*t4196;
+ t3849 = x*t3877;
+ t4277 = t3884+t3849;
+ t3879 = RATIONAL(191.0,14700.0)*z;
+ t4276 = RATIONAL(17.0,2100.0)+t3879;
+ t4275 = t4004*x+t3875;
+ t3923 = t4003*y;
+ t3894 = y*t3958;
+ t4274 = t3923+t4170+t3894;
+ t3868 = t4037*t4193;
+ t4273 = t3968+t3868;
+ t4272 = t3959+t3988;
+ t4271 = t3959+t4048;
+ t4270 = t3870+t3856;
+ t4269 = t3855+t3888;
+ t3987 = RATIONAL(1.0,25.0)*t4053;
+ t4164 = RATIONAL(-9.0,98.0)*z+t3987;
+ t4268 = t4164+t3886+t3876;
+ t4267 = t4177+t4338;
+ t4266 = t3864+t4282;
+ t4265 = t4166+t4275;
+ t4264 = t3942+t4304;
+ t3995 = RATIONAL(-289.0,10500.0);
+ t4263 = t4177+t3904+t3995*x;
+ t4191 = z*t4200;
+ t3846 = t4022*t4191;
+ t4262 = t3846+t4323;
+ t3912 = t4045*t4189;
+ t4261 = t4164+t3872+t3912;
+ t3867 = RATIONAL(-529.0,14700.0)*z;
+ t4260 = t3958+RATIONAL(-11.0,420.0)+t3867;
+ t4008 = RATIONAL(17.0,5250.0);
+ t4163 = t4026*t4054+y*t3962;
+ t4259 = t4163+t4008*y+t3894;
+ t3994 = RATIONAL(289.0,10500.0);
+ t4258 = t3994*x+t3871+t4166;
+ t3865 = y*t3964;
+ t3941 = t3998*y;
+ t4149 = t3941+t4163;
+ t4257 = t3896+t3865+t4149;
+ t4256 = RATIONAL(-57.0,490.0)*z+t3912+t3987+t3876;
+ t4015 = RATIONAL(-17.0,5250.0);
+ t4255 = t4170+t4015*y+t3865;
+ t4254 = t3918+t4274;
+ t4253 = RATIONAL(11.0,420.0)+t3867+t3965;
+ t4155 = t3886+t3872;
+ t4252 = t3987+RATIONAL(-33.0,490.0)*z+t4155;
+ t3906 = t4057*t4188;
+ t4159 = t3975+t3906;
+ t4251 = RATIONAL(-17.0,2100.0)+t3879+t4159;
+ t4018 = RATIONAL(1.0,1400.0);
+ t3854 = t4018*t4198;
+ t3848 = t4023*t4191;
+ t4250 = t3854+t3848+t4147;
+ t4249 = t3918+t4163+t4334;
+ t4248 = t4279+t4282;
+ t4247 = RATIONAL(-17.0,525.0)+t3970+t4284;
+ t3853 = x*t3905;
+ t4246 = t3853+t4177+t4328;
+ t4245 = t3972+RATIONAL(17.0,525.0)+t4272;
+ t4244 = t4325+t4331;
+ t4013 = RATIONAL(37.0,1050.0);
+ t4243 = t4013+t3979+t4272;
+ t4242 = t4341+t4342;
+ t4012 = RATIONAL(29.0,2100.0);
+ t4241 = t4012+t3979+t4314;
+ t4240 = t4325+t4330;
+ t4239 = t4306+t4342;
+ t4238 = t4300+t4307;
+ t4237 = t3945+t3887+t4307;
+ t4236 = t4336+t4341;
+ t4235 = t4279+t4304;
+ t3929 = t3996*y;
+ t4234 = t3929+t3906+t4304;
+ t4233 = t3958+t4026+t4314;
+ t3908 = y*t3972;
+ t4232 = t3851+t3908+t4321;
+ t4014 = RATIONAL(-37.0,1050.0);
+ t4231 = t4014+t3960+t4320;
+ t4230 = t4044+t3976+t4296;
+ t4229 = t3929+t3908+t4282;
+ t4011 = RATIONAL(-29.0,2100.0);
+ t4228 = t4011+t3960+t3976+t3962;
+ t4227 = t3904+t3851+t4283;
+ t4226 = t3853+t4163+t4319;
+ t4225 = t4307+t4316;
+ t4010 = RATIONAL(19.0,2100.0);
+ t4224 = t4010+t3864+t4299;
+ t4223 = t4285+t4330;
+ t4222 = t4288+t4300;
+ t4221 = t3940+t3889+t4331;
+ t4220 = t3940+t3873+t4342;
+ t4219 = t3896+t3890+t4340;
+ t4218 = t4010+t3877+t3975+t4296;
+ t4217 = t3862+t4238;
+ t3909 = y*t4192;
+ t4216 = t3909+t3975+t3988+t4295;
+ t3863 = x*t4196;
+ t4215 = t3960+t3988+t3863+t4271;
+ t4214 = t3905+t4245;
+ t4213 = t3907+t4229;
+ t4212 = t3881+t4247;
+ t4211 = t3907+t4244;
+ t4136 = t4170+t4322;
+ t4210 = t3889+t3928+t4136+t3923+t4018*t4190;
+ t4209 = t3862+t4242;
+ t4047 = RATIONAL(-1.0,42.0);
+ t4208 = t4047+t4320+t4324;
+ t4207 = t3884+t4238;
+ t4206 = t3884+t4242;
+ t4205 = t3900+t4229;
+ t4204 = t3900+t4244;
+ t4203 = t3969+t3980+t3909+t4291;
+ t4202 = t3980+t3877+t4047+t4284;
+ t4201 = t3890+t3864+t3931+t3906+t4325;
+ t4187 = t3916+t3852;
+ t4186 = t3899+t3849;
+ t4185 = t3899+t3850;
+ t4184 = t3991+t3988;
+ t4183 = t3852+t3863;
+ t4182 = t3880+t3852;
+ t4181 = t3909+t3851;
+ t4180 = t3916+t3847;
+ t4179 = t3916+t3850;
+ t4176 = t3990+t3991;
+ t4175 = t3899+t3852;
+ t4174 = t3880+t3849;
+ t4173 = t3899+t3847;
+ t4172 = t3909+t3853;
+ t4171 = t3969+t3968;
+ t4168 = t3887+t3979;
+ t4167 = t3980+t3906;
+ t4165 = t3968+t3962;
+ t4161 = t3960+t3887;
+ t4160 = t3987+t3897;
+ t4158 = t3877+t3851;
+ t4157 = t3849+t3863;
+ t4156 = t3987+t3868;
+ t4154 = t3916+t3849;
+ t4153 = t3991+t3912;
+ t4152 = t3853+t3877;
+ t4148 = t3890+t4168;
+ t3954 = RATIONAL(-61.0,490.0)*z;
+ t4146 = t3954+t3876+t4160;
+ t4145 = t4167+t4176;
+ t4144 = t4161+t4184;
+ t4143 = t4177+t4273;
+ t4142 = t4163+t4322;
+ t4141 = t3889+t3991+t4177;
+ t4140 = t3980+t3988+t4153;
+ t3985 = RATIONAL(-1.0,10.0)*z;
+ t4139 = t3886+t3985+t4156;
+ t4138 = t4167+t4171;
+ t4137 = t3958+t3872+t4165;
+ t4135 = t4171+t4305;
+ t4134 = t3990+t3975+t4153;
+ t4133 = t4288+t4337;
+ t4132 = t4161+t4165;
+ t4131 = t4166+t4273;
+ t4130 = t4159+t4184;
+ t4129 = t3964+t3868+t4165;
+ t4128 = t3985+t3872+t4160;
+ t4127 = t3968+t3897+t4163;
+ t4126 = t3954+t3912+t4156;
+ t4125 = t3877+t4261;
+ t4124 = t3909+t4159+t4326;
+ t4123 = t3877+t4167+t4326;
+ t4122 = t3863+t4168+t4278;
+ t4121 = t3918+t4252;
+ t4120 = t3849+t4268;
+ t4119 = t3853+t4256;
+ t4118 = t3940+t3853+t3991+t3904+t3908;
+ t4117 = t3852+t4268;
+ t4116 = t3851+t4256;
+ t4115 = t3909+t4261;
+ t4114 = t3896+t4252;
+ t4113 = t3880+t4132+t4336;
+ t4112 = t3877+t4130+t4285;
+ t4111 = t3909+t4145+t4285;
+ t4110 = t3863+t4132+t4288;
+ t4109 = t3994*y+t3908+t4142+t4303;
+ t4108 = t4130+t4310+t4312;
+ t4107 = t3972+t4013+t4140+t4344;
+ t4106 = t4044+t3957+t4137+t4299;
+ t4105 = t4145+t4280+t4287;
+ t4104 = t4014+t3977+t4134+t4344;
+ t4103 = t4134+t4168+t4287;
+ t4102 = t4140+t4161+t4310;
+ t4101 = t4026+t3957+t4135+t4302;
+ t4100 = t3861+t4011+t4137+t4159;
+ t4099 = t3913+t4015*x+t4143+t4292;
+ t4098 = t3891+t4008*x+t4131+t4292;
+ t4097 = t4133+t4313+t4316;
+ t4096 = t3861+t4012+t4138+t4302;
+ t4095 = t3874+t3995*y+t4136+t4303;
+ t4094 = t4306+t4313+t4336+t4337;
+ t4093 = t4113+t4251+t4278;
+ t4092 = t4113+t4224+t4341;
+ t4091 = t4047+t3977+t4111+t4221;
+ t4090 = t3880+t4144+t4220+t4271+t4278;
+ t4089 = t3918+t3941+t3865+t3868+t4127+t4253+t4296;
+ t4088 = t3904+t4142+t4237+t4286+t4319;
+ t4087 = t3852+t4143+t4201+t4338;
+ t4086 = t3905+t4210+t4247;
+ t4085 = t3908+t4141+t4234+t4286+t4328;
+ t4084 = t3849+t4131+t4201+t4275;
+ t4083 = t4010+t4124+t4129+t4266;
+ t4031 = RATIONAL(-8.0,525.0);
+ t4082 = t4031+t4111+t4148+t4315;
+ t4081 = t3969+t4133+t4167+t4276+t4324+t4333;
+ t4080 = t3918+t4135+t4148+t4298+t4340;
+ t4079 = t3889+t4118+t4234+t4283;
+ t4078 = t4031+t4123+t4168+t4176+t4264;
+ t4077 = t3873+t4118+t4237+t4321;
+ t4076 = t3896+t3897+t4129+t4253+t4274;
+ t4075 = t3916+t3868+t4135+t4260+t4311;
+ t4074 = t3889+t3941+t3848+t4142+t4317+t4323;
+ t4073 = t4110+t4224+t4300;
+ t4072 = t4110+t4251+t4333;
+ t4038 = RATIONAL(8.0,525.0);
+ t4071 = t3890+t4038+t4112+t4161+t4315;
+ t4070 = t4038+t4124+t4144+t4264;
+ t4069 = t4122+t4138+t4276+t4336;
+ t4068 = t3969+t3913+t3899+t3927+t4131+t4260+t4305;
+ t4067 = t3881+t4210+t4245;
+ t4066 = t3854+t3873+t3925+t3846+t4141+t4149+t4317;
+ t4065 = t3969+t3896+t3976+t4127+t4168+t4298+t4334;
+ t4064 = t4112+t4221+t4295;
+ t4063 = t3970+t4047+t4122+t4176+t4220;
+ t4062 = t3868+t4123+t4171+t4266+t4291;
+ t3944 = RATIONAL(136.0,3675.0)*z;
+ t3893 = RATIONAL(431.0,14700.0)*z;
+ coeff_dz_m2_m2_m2 = t3898+t4076+t4185+t4311;
+ coeff_dz_m1_m2_m2 = t4092+t4219+t4277;
+ coeff_dz_0_m2_m2 = t3896+t4106+t4255;
+ coeff_dz_p1_m2_m2 = t4073+t4219+t4301;
+ coeff_dz_p2_m2_m2 = t3919+t4076+t4180+t4297;
+ coeff_dz_m2_m1_m2 = t4083+t3884+t4186+t4267;
+ coeff_dz_m1_m1_m2 = t4093+t4181+t4213;
+ coeff_dz_0_m1_m2 = t3909+t4100+t4248;
+ coeff_dz_p1_m1_m2 = t4072+t4172+t4205;
+ coeff_dz_p2_m1_m2 = t3862+t4083+t4187+t4265;
+ coeff_dz_m2_0_m2 = t3899+t4099+t4230;
+ coeff_dz_m1_0_m2 = t3880+t4094+t4228;
+ coeff_dz_0_0_m2 = t3976+RATIONAL(-41.0,2100.0)+t3886+t3893+t4137;
+ coeff_dz_p1_0_m2 = t3863+t4097+t4228;
+ coeff_dz_p2_0_m2 = t3916+t4098+t4230;
+ coeff_dz_m2_p1_m2 = t4087+t4218+t4289;
+ coeff_dz_m1_p1_m2 = t4093+t4152+t4204;
+ coeff_dz_0_p1_m2 = t3877+t4100+t4240;
+ coeff_dz_p1_p1_m2 = t4072+t4158+t4211;
+ coeff_dz_p2_p1_m2 = t4084+t4218+t4318;
+ coeff_dz_m2_p2_m2 = t4089+t3919+t4173+t4311;
+ coeff_dz_m1_p2_m2 = t4092+t4249+t4301;
+ coeff_dz_0_p2_m2 = t3918+t4106+t4259;
+ coeff_dz_p1_p2_m2 = t4073+t4249+t4277;
+ coeff_dz_p2_p2_m2 = t3898+t4089+t4179+t4297;
+ coeff_dz_m2_m2_m1 = t4078+t4183+t4206;
+ coeff_dz_m1_m2_m1 = t4079+t4202+t4281;
+ coeff_dz_0_m2_m1 = t3877+t4105+t4235;
+ coeff_dz_p1_m2_m1 = t4085+t4202+t4343;
+ coeff_dz_p2_m2_m1 = t4078+t4174+t4217;
+ coeff_dz_m2_m1_m1 = t4063+t4226+t4294;
+ coeff_dz_m1_m1_m1 = t4074+t4212+t4329;
+ coeff_dz_0_m1_m1 = t3881+t4109+t4231;
+ coeff_dz_p1_m1_m1 = t4066+t4212+t4335;
+ coeff_dz_p2_m1_m1 = t4088+t4208+t4309;
+ coeff_dz_m2_0_m1 = t3863+t4103+t4239;
+ coeff_dz_m1_0_m1 = t3888+t4104+t4258;
+ coeff_dz_0_0_m1 = t3944+RATIONAL(-4.0,105.0)+t4134+t4280;
+ coeff_dz_p1_0_m1 = t3870+t4104+t4263;
+ coeff_dz_p2_0_m1 = t3880+t4103+t4225;
+ coeff_dz_m2_p1_m1 = t4063+t4232+t4290;
+ coeff_dz_m1_p1_m1 = t4086+t4262+t4269;
+ coeff_dz_0_p1_m1 = t3905+t4095+t4231;
+ coeff_dz_p1_p1_m1 = t4086+t4250+t4270;
+ coeff_dz_p2_p1_m1 = t4077+t4208+t4332;
+ coeff_dz_m2_p2_m1 = t4082+t4157+t4209;
+ coeff_dz_m1_p2_m1 = t4091+t4227+t4308;
+ coeff_dz_0_p2_m1 = t3909+t4105+t4223;
+ coeff_dz_p1_p2_m1 = t4091+t4246+t4293;
+ coeff_dz_p2_p2_m1 = t4082+t4182+t4207;
+ coeff_dz_m2_m2_0 = t4121+t4180;
+ coeff_dz_m1_m2_0 = t3863+t3918+t4117;
+ coeff_dz_0_m2_0 = t3918+t4139;
+ coeff_dz_p1_m2_0 = t3918+t3880+t4120;
+ coeff_dz_p2_m2_0 = t4121+t4185;
+ coeff_dz_m2_m1_0 = t4125+t4187;
+ coeff_dz_m1_m1_0 = t3877+t3863+t4119;
+ coeff_dz_0_m1_0 = t3877+t4126;
+ coeff_dz_p1_m1_0 = t3880+t3877+t4116;
+ coeff_dz_p2_m1_0 = t4125+t4186;
+ coeff_dz_m2_0_0 = t3916+t4128;
+ coeff_dz_m1_0_0 = t3863+t4146;
+ coeff_dz_0_0_0 = t3897+RATIONAL(-13.0,98.0)*z+t4156;
+ coeff_dz_p1_0_0 = t3880+t4146;
+ coeff_dz_p2_0_0 = t3899+t4128;
+ coeff_dz_m2_p1_0 = t4115+t4154;
+ coeff_dz_m1_p1_0 = t3863+t3909+t4116;
+ coeff_dz_0_p1_0 = t3909+t4126;
+ coeff_dz_p1_p1_0 = t3880+t3909+t4119;
+ coeff_dz_p2_p1_0 = t4115+t4175;
+ coeff_dz_m2_p2_0 = t4114+t4179;
+ coeff_dz_m1_p2_0 = t3863+t3896+t4120;
+ coeff_dz_0_p2_0 = t3896+t4139;
+ coeff_dz_p1_p2_0 = t3880+t3896+t4117;
+ coeff_dz_p2_p2_0 = t4114+t4173;
+ coeff_dz_m2_m2_p1 = t4071+t4183+t4217;
+ coeff_dz_m1_m2_p1 = t4064+t4246+t4308;
+ coeff_dz_0_m2_p1 = t3877+t4108+t4223;
+ coeff_dz_p1_m2_p1 = t4064+t4227+t4293;
+ coeff_dz_p2_m2_p1 = t4071+t4174+t4206;
+ coeff_dz_m2_m1_p1 = t4077+t4215+t4309;
+ coeff_dz_m1_m1_p1 = t4067+t4250+t4269;
+ coeff_dz_0_m1_p1 = t3881+t4095+t4243;
+ coeff_dz_p1_m1_p1 = t4067+t4262+t4270;
+ coeff_dz_p2_m1_p1 = t4090+t4232+t4294;
+ coeff_dz_m2_0_p1 = t3863+t4102+t4225;
+ coeff_dz_m1_0_p1 = t3888+t4107+t4263;
+ coeff_dz_0_0_p1 = t3944+RATIONAL(4.0,105.0)+t4140+t4312;
+ coeff_dz_p1_0_p1 = t3870+t4107+t4258;
+ coeff_dz_p2_0_p1 = t3880+t4102+t4239;
+ coeff_dz_m2_p1_p1 = t4088+t4215+t4332;
+ coeff_dz_m1_p1_p1 = t4066+t4214+t4329;
+ coeff_dz_0_p1_p1 = t3905+t4109+t4243;
+ coeff_dz_p1_p1_p1 = t4074+t4214+t4335;
+ coeff_dz_p2_p1_p1 = t4090+t4226+t4290;
+ coeff_dz_m2_p2_p1 = t4070+t4157+t4207;
+ coeff_dz_m1_p2_p1 = t4085+t4216+t4281;
+ coeff_dz_0_p2_p1 = t3909+t4108+t4235;
+ coeff_dz_p1_p2_p1 = t4079+t4216+t4343;
+ coeff_dz_p2_p2_p1 = t4070+t4182+t4209;
+ coeff_dz_m2_m2_p2 = t4068+t4257+t4327;
+ coeff_dz_m1_m2_p2 = t3862+t4065+t4174+t4222;
+ coeff_dz_0_m2_p2 = t3896+t4101+t4259;
+ coeff_dz_p1_m2_p2 = t3884+t4065+t4183+t4236;
+ coeff_dz_p2_m2_p2 = t4075+t4257+t4339;
+ coeff_dz_m2_m1_p2 = t4084+t4203+t4289;
+ coeff_dz_m1_m1_p2 = t4081+t4181+t4204;
+ coeff_dz_0_m1_p2 = t3909+t4096+t4240;
+ coeff_dz_p1_m1_p2 = t4069+t4172+t4211;
+ coeff_dz_p2_m1_p2 = t4087+t4203+t4318;
+ coeff_dz_m2_0_p2 = t3899+t4098+t4233;
+ coeff_dz_m1_0_p2 = t3880+t4097+t4241;
+ coeff_dz_0_0_p2 = t3893+t3965+RATIONAL(41.0,2100.0)+t3964+t4155+t4171;
+ coeff_dz_p1_0_p2 = t3863+t4094+t4241;
+ coeff_dz_p2_0_p2 = t3916+t4099+t4233;
+ coeff_dz_m2_p1_p2 = t4062+t3884+t4175+t4265;
+ coeff_dz_m1_p1_p2 = t4081+t4152+t4213;
+ coeff_dz_0_p1_p2 = t3877+t4096+t4248;
+ coeff_dz_p1_p1_p2 = t4069+t4158+t4205;
+ coeff_dz_p2_p1_p2 = t3862+t4062+t4154+t4267;
+ coeff_dz_m2_p2_p2 = t4068+t4254+t4339;
+ coeff_dz_m1_p2_p2 = t3884+t4080+t4182+t4222;
+ coeff_dz_0_p2_p2 = t3918+t4101+t4255;
+ coeff_dz_p1_p2_p2 = t3862+t4080+t4157+t4236;
+ coeff_dz_p2_p2_p2 = t4075+t4254+t4327;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c
new file mode 100644
index 0000000..89d739a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c
@@ -0,0 +1,601 @@
+fp t5607,
+ t5587,
+ t5546,
+ t5581,
+ t5732,
+ t5599,
+ t5547,
+ t5588,
+ t5555,
+ t5773,
+ t5596,
+ t5560,
+ t5604,
+ t5571,
+ t5772,
+ t5593,
+ t5550,
+ t5771,
+ t5573,
+ t5770,
+ t5721,
+ t5535,
+ t5769,
+ t5608,
+ t5595,
+ t5549,
+ t5768,
+ t5566,
+ t5542,
+ t5570,
+ t5767,
+ t5534,
+ t5766,
+ t5609,
+ t5569,
+ t5590,
+ t5558,
+ t5765,
+ t5568,
+ t5537,
+ t5764,
+ t5554,
+ t5763,
+ t5567,
+ t5762,
+ t5579,
+ t5598,
+ t5553,
+ t5761,
+ t5539,
+ t5760,
+ t5565,
+ t5759,
+ t5592,
+ t5545,
+ t5758,
+ t5561,
+ t5586,
+ t5757,
+ t5564,
+ t5756,
+ t5755,
+ t5754,
+ t5559,
+ t5753,
+ t5576,
+ t5752,
+ t5538,
+ t5751,
+ t5750,
+ t5577,
+ t5749,
+ t5574,
+ t5551,
+ t5748,
+ t5552,
+ t5747,
+ t5606,
+ t5557,
+ t5746,
+ t5745,
+ t5563,
+ t5744,
+ t5743,
+ t5722,
+ t5532,
+ t5742,
+ t5589,
+ t5556,
+ t5741,
+ t5740,
+ t5541,
+ t5739,
+ t5562,
+ t5738,
+ t5737,
+ t5600,
+ t5736,
+ t5735,
+ t5580,
+ t5734,
+ t5733,
+ t5731,
+ t5730,
+ t5729,
+ t5728,
+ t5727,
+ t5572,
+ t5695,
+ t5726,
+ t5725,
+ t5688,
+ t5724,
+ t5723,
+ t5591,
+ t5544,
+ t5524,
+ t5720,
+ t5719,
+ t5527,
+ t5718,
+ t5717,
+ t5525,
+ t5716,
+ t5531,
+ t5715,
+ t5714,
+ t5548,
+ t5713,
+ t5712,
+ t5711,
+ t5533,
+ t5710,
+ t5709,
+ t5707,
+ t5706,
+ t5705,
+ t5704,
+ t5703,
+ t5702,
+ t5701,
+ t5700,
+ t5699,
+ t5698,
+ t5697,
+ t5696,
+ t5694,
+ t5693,
+ t5692,
+ t5536,
+ t5691,
+ t5690,
+ t5689,
+ t5687,
+ t5686,
+ t5685,
+ t5684,
+ t5683,
+ t5682,
+ t5681,
+ t5543,
+ t5680,
+ t5679,
+ t5678,
+ t5677,
+ t5676,
+ t5605,
+ t5675,
+ t5674,
+ t5673,
+ t5672,
+ t5671,
+ t5670,
+ t5669,
+ t5668,
+ t5667,
+ t5666,
+ t5665,
+ t5664,
+ t5663,
+ t5662,
+ t5661,
+ t5660,
+ t5530,
+ t5659,
+ t5658,
+ t5657,
+ t5656,
+ t5655,
+ t5654,
+ t5653,
+ t5652,
+ t5651,
+ t5650,
+ t5528,
+ t5649,
+ t5648,
+ t5647,
+ t5646,
+ t5645,
+ t5644,
+ t5643,
+ t5642,
+ t5641,
+ t5640,
+ t5639,
+ t5638,
+ t5529,
+ t5637,
+ t5636,
+ t5526,
+ t5635,
+ t5634,
+ t5633,
+ t5632,
+ t5631,
+ t5630,
+ t5629,
+ t5628,
+ t5627,
+ t5626,
+ t5625,
+ t5624,
+ t5623,
+ t5622,
+ t5621,
+ t5620,
+ t5540,
+ t5619,
+ t5618,
+ t5617,
+ t5616,
+ t5615,
+ t5614,
+ t5613,
+ t5612,
+ t5611,
+ t5610;
+ t5607 = x*x;
+ t5587 = RATIONAL(-1.0,245.0);
+ t5546 = t5587*t5607;
+ t5581 = RATIONAL(211.0,3675.0);
+ t5732 = t5546+t5581;
+ t5599 = RATIONAL(-1.0,175.0);
+ t5547 = t5599*x;
+ t5588 = RATIONAL(1.0,350.0);
+ t5555 = t5588*y;
+ t5773 = t5547+t5555;
+ t5596 = RATIONAL(2.0,175.0);
+ t5560 = t5596*y;
+ t5604 = RATIONAL(1.0,50.0);
+ t5571 = t5604*z;
+ t5772 = t5560+t5571;
+ t5593 = RATIONAL(-2.0,175.0);
+ t5550 = t5593*x;
+ t5771 = t5571+t5550;
+ t5573 = RATIONAL(-169.0,14700.0);
+ t5770 = t5546+t5573;
+ t5721 = z*RATIONAL(1.0,100.0);
+ t5535 = y*t5721;
+ t5769 = t5535+t5571;
+ t5608 = y*y;
+ t5595 = RATIONAL(2.0,245.0);
+ t5549 = t5595*t5608;
+ t5768 = t5573+t5549;
+ t5566 = RATIONAL(-1.0,50.0)*z;
+ t5542 = y*t5566;
+ t5570 = RATIONAL(1.0,25.0)*z;
+ t5767 = t5542+t5570;
+ t5534 = x*t5555;
+ t5766 = t5534+t5732;
+ t5609 = z*z;
+ t5569 = RATIONAL(-2.0,25.0)*t5609;
+ t5590 = RATIONAL(1.0,490.0);
+ t5558 = t5590*t5607;
+ t5765 = t5569+t5558;
+ t5568 = RATIONAL(-1.0,25.0)*z;
+ t5537 = x*t5568;
+ t5764 = t5542+t5537;
+ t5554 = t5590*t5608;
+ t5763 = t5569+t5554;
+ t5567 = t5604*t5609;
+ t5762 = t5567+t5549;
+ t5579 = RATIONAL(151.0,3675.0);
+ t5598 = RATIONAL(1.0,245.0);
+ t5553 = t5598*t5608;
+ t5761 = t5579+t5553;
+ t5539 = x*t5571;
+ t5760 = t5571+t5539;
+ t5565 = t5587*t5608;
+ t5759 = t5565+t5569;
+ t5592 = RATIONAL(-2.0,245.0);
+ t5545 = t5592*t5607;
+ t5758 = t5545+RATIONAL(-33.0,490.0);
+ t5561 = t5592*t5608;
+ t5586 = RATIONAL(-1.0,300.0);
+ t5757 = t5561+t5586;
+ t5564 = t5596*x;
+ t5756 = t5566+t5564;
+ t5755 = t5565+t5581;
+ t5754 = t5546+RATIONAL(256.0,3675.0);
+ t5559 = t5588*x;
+ t5753 = t5559+t5568;
+ t5576 = RATIONAL(311.0,14700.0);
+ t5752 = t5576+t5561;
+ t5538 = y*t5571;
+ t5751 = t5568+t5538;
+ t5750 = t5545+t5586;
+ t5577 = RATIONAL(191.0,14700.0);
+ t5749 = t5546+t5577;
+ t5574 = RATIONAL(-529.0,14700.0);
+ t5551 = t5595*t5607;
+ t5748 = t5574+t5551;
+ t5552 = t5593*y;
+ t5747 = t5538+t5552;
+ t5606 = RATIONAL(-9.0,98.0);
+ t5557 = t5598*t5607;
+ t5746 = t5606+t5557;
+ t5745 = t5545+t5576;
+ t5563 = t5599*y;
+ t5744 = t5568+t5563;
+ t5743 = t5565+t5573;
+ t5722 = z*RATIONAL(-1.0,100.0);
+ t5532 = y*t5722;
+ t5742 = t5566+t5532;
+ t5589 = RATIONAL(-1.0,350.0);
+ t5556 = t5589*x;
+ t5741 = t5570+t5556;
+ t5740 = t5571+t5532;
+ t5541 = x*t5566;
+ t5739 = t5566+t5541;
+ t5562 = t5589*y;
+ t5738 = t5570+t5562;
+ t5737 = t5568+t5541;
+ t5600 = RATIONAL(4.0,75.0);
+ t5736 = t5600+t5557;
+ t5735 = t5600+t5546;
+ t5580 = RATIONAL(166.0,3675.0);
+ t5734 = t5580+t5554;
+ t5733 = t5542+t5560;
+ t5731 = t5557+t5579;
+ t5730 = t5559+t5541;
+ t5729 = t5570+t5538;
+ t5728 = t5567+t5551;
+ t5727 = t5558+t5580;
+ t5572 = RATIONAL(3.0,25.0)*t5609;
+ t5695 = t5572+t5553;
+ t5726 = t5606+t5545+t5695;
+ t5725 = t5557+RATIONAL(-57.0,490.0)+t5695;
+ t5688 = t5538+t5762;
+ t5724 = t5688+t5748;
+ t5723 = x*y;
+ t5591 = RATIONAL(1.0,175.0);
+ t5544 = t5591*x;
+ t5524 = y*t5550;
+ t5720 = t5524+t5564;
+ t5719 = t5569+t5553;
+ t5527 = y*t5544;
+ t5718 = t5547+t5527;
+ t5717 = t5567+t5561;
+ t5525 = x*t5560;
+ t5716 = t5525+t5550;
+ t5531 = x*t5563;
+ t5715 = t5547+t5531;
+ t5714 = t5544+t5531;
+ t5548 = t5591*y;
+ t5713 = t5565+t5548;
+ t5712 = t5565+t5563;
+ t5711 = t5544+t5527;
+ t5533 = y*t5556;
+ t5710 = t5544+t5533;
+ t5709 = t5525+t5564;
+ t5707 = t5563+t5534;
+ t5706 = t5547+t5534;
+ t5705 = t5531+t5548;
+ t5704 = t5566+t5567;
+ t5703 = t5569+t5570;
+ t5702 = t5527+t5563;
+ t5701 = t5524+t5550;
+ t5700 = t5544+t5534;
+ t5699 = t5572+t5561;
+ t5698 = t5547+t5533;
+ t5697 = t5548+t5533;
+ t5696 = t5545+t5549;
+ t5694 = t5572+RATIONAL(-61.0,490.0);
+ t5693 = t5560+t5699;
+ t5692 = t5546+t5704;
+ t5536 = y*t5568;
+ t5691 = t5536+t5759;
+ t5690 = t5567+t5713;
+ t5689 = t5541+t5728;
+ t5687 = t5564+t5728;
+ t5686 = t5552+t5762;
+ t5685 = t5551+t5704;
+ t5684 = t5567+t5712;
+ t5683 = t5562+t5763;
+ t5682 = t5552+t5699;
+ t5681 = t5539+t5765;
+ t5543 = y*t5570;
+ t5680 = t5543+t5759;
+ t5679 = t5556+t5765;
+ t5678 = t5555+t5763;
+ t5677 = t5538+t5763;
+ t5676 = t5557+t5549+t5694;
+ t5605 = RATIONAL(-1.0,10.0);
+ t5675 = t5605+t5551+t5699;
+ t5674 = t5545+RATIONAL(431.0,14700.0)+t5717;
+ t5673 = t5557+RATIONAL(136.0,3675.0)+t5719;
+ t5672 = t5605+t5572+t5696;
+ t5671 = t5551+t5553+t5694;
+ t5670 = t5542+t5571+t5686;
+ t5669 = t5553+t5703+t5735;
+ t5668 = t5531+t5726;
+ t5667 = t5539+t5550+t5685;
+ t5666 = t5693+t5746;
+ t5665 = t5527+t5726;
+ t5664 = t5682+t5746;
+ t5663 = t5693+t5758;
+ t5662 = t5568+t5548+t5680;
+ t5661 = t5688+t5772;
+ t5660 = t5563+t5725;
+ t5530 = x*t5722;
+ t5659 = t5544+t5530+t5692;
+ t5658 = t5558+t5703+t5730;
+ t5657 = t5570+t5548+t5691;
+ t5656 = t5546+t5571+t5576+t5717;
+ t5655 = t5682+t5758;
+ t5654 = t5690+t5745;
+ t5653 = t5570+t5563+t5680;
+ t5652 = t5683+t5731;
+ t5651 = t5684+t5740;
+ t5650 = t5691+t5744;
+ t5528 = x*t5721;
+ t5649 = t5528+t5547+t5692;
+ t5648 = t5678+t5731;
+ t5647 = t5568+t5719+t5735;
+ t5646 = t5542+t5567+t5586+t5696;
+ t5645 = t5681+t5761;
+ t5644 = t5548+t5725;
+ t5643 = t5689+t5757;
+ t5642 = t5679+t5737;
+ t5641 = t5670+t5770;
+ t5640 = t5653+t5754;
+ t5639 = t5525+t5539+t5724;
+ t5638 = t5657+t5754;
+ t5529 = RATIONAL(-1.0,700.0)*t5723;
+ t5637 = t5529+t5559+t5678+t5727;
+ t5636 = t5661+t5770;
+ t5526 = RATIONAL(1.0,700.0)*t5723;
+ t5635 = t5542+t5526+t5681+t5734;
+ t5634 = t5651+t5749;
+ t5633 = t5659+t5768;
+ t5632 = t5658+t5755;
+ t5631 = t5689+t5743+t5771;
+ t5630 = t5533+t5581+t5679+t5712;
+ t5629 = t5683+t5698+t5732;
+ t5628 = t5524+t5541+t5724;
+ t5627 = t5531+t5573+t5551+t5564+t5684;
+ t5626 = t5558+t5581+t5662;
+ t5625 = t5670+t5748;
+ t5624 = t5649+t5768;
+ t5623 = t5537+t5677+t5766;
+ t5622 = t5650+t5754;
+ t5621 = t5690+t5700+t5749;
+ t5620 = t5565+t5577+t5649;
+ t5540 = x*t5570;
+ t5619 = t5540+t5542+t5763+t5766;
+ t5618 = t5642+t5734;
+ t5617 = t5573+t5527+t5687+t5713;
+ t5616 = t5662+t5754;
+ t5615 = t5667+t5743;
+ t5614 = t5678+t5710+t5732;
+ t5613 = t5535+t5565+t5567+t5530+t5533+t5749;
+ t5612 = t5677+t5727+t5738;
+ t5611 = t5534+t5536+t5681+t5755;
+ t5610 = t5549+t5574+t5685+t5733;
+ coeff_dzz_m2_m2_m2 = t5552+t5550+t5566+t5639;
+ coeff_dzz_m1_m2_m2 = t5527+t5624+t5747;
+ coeff_dzz_0_m2_m2 = t5566+t5538+t5686+t5750;
+ coeff_dzz_p1_m2_m2 = t5531+t5633+t5747;
+ coeff_dzz_p2_m2_m2 = t5552+t5628+t5756;
+ coeff_dzz_m2_m1_m2 = t5535+t5615+t5702;
+ coeff_dzz_m1_m1_m2 = t5535+t5620+t5707;
+ coeff_dzz_0_m1_m2 = t5535+t5566+t5684+t5745;
+ coeff_dzz_p1_m1_m2 = t5563+t5566+t5544+t5613;
+ coeff_dzz_p2_m1_m2 = t5535+t5627+t5739;
+ coeff_dzz_m2_0_m2 = t5667+t5757;
+ coeff_dzz_m1_0_m2 = t5649+t5752;
+ coeff_dzz_0_0_m2 = t5566+t5674;
+ coeff_dzz_p1_0_m2 = t5659+t5752;
+ coeff_dzz_p2_0_m2 = t5643+t5756;
+ coeff_dzz_m2_p1_m2 = t5532+t5615+t5705;
+ coeff_dzz_m1_p1_m2 = t5532+t5620+t5697;
+ coeff_dzz_0_p1_m2 = t5654+t5742;
+ coeff_dzz_p1_p1_m2 = t5530+t5621+t5742;
+ coeff_dzz_p2_p1_m2 = t5532+t5617+t5739;
+ coeff_dzz_m2_p2_m2 = t5539+t5610+t5701;
+ coeff_dzz_m1_p2_m2 = t5531+t5624+t5733;
+ coeff_dzz_0_p2_m2 = t5566+t5560+t5646;
+ coeff_dzz_p1_p2_m2 = t5527+t5633+t5733;
+ coeff_dzz_p2_p2_m2 = t5541+t5610+t5709;
+ coeff_dzz_m2_m2_m1 = t5537+t5638+t5714;
+ coeff_dzz_m1_m2_m1 = t5536+t5632+t5697;
+ coeff_dzz_0_m2_m1 = t5657+t5736;
+ coeff_dzz_p1_m2_m1 = t5548+t5611+t5741;
+ coeff_dzz_p2_m2_m1 = t5540+t5638+t5718;
+ coeff_dzz_m2_m1_m1 = t5570+t5614+t5764;
+ coeff_dzz_m1_m1_m1 = t5541+t5637+t5767;
+ coeff_dzz_0_m1_m1 = t5648+t5767;
+ coeff_dzz_p1_m1_m1 = t5555+t5635+t5741;
+ coeff_dzz_p2_m1_m1 = t5570+t5619+t5773;
+ coeff_dzz_m2_0_m1 = t5537+t5544+t5669;
+ coeff_dzz_m1_0_m1 = t5658+t5761;
+ coeff_dzz_0_0_m1 = t5570+t5673;
+ coeff_dzz_p1_0_m1 = t5645+t5741;
+ coeff_dzz_p2_0_m1 = t5540+t5547+t5669;
+ coeff_dzz_m2_p1_m1 = t5544+t5623+t5738;
+ coeff_dzz_m1_p1_m1 = t5526+t5612+t5730;
+ coeff_dzz_0_p1_m1 = t5652+t5729;
+ coeff_dzz_p1_p1_m1 = t5556+t5539+t5529+t5612;
+ coeff_dzz_p2_p1_m1 = t5540+t5629+t5729;
+ coeff_dzz_m2_p2_m1 = t5537+t5640+t5711;
+ coeff_dzz_m1_p2_m1 = t5543+t5632+t5707;
+ coeff_dzz_0_p2_m1 = t5653+t5736;
+ coeff_dzz_p1_p2_m1 = t5539+t5570+t5543+t5630;
+ coeff_dzz_p2_p2_m1 = t5540+t5640+t5715;
+ coeff_dzz_m2_m2_0 = t5663+t5720;
+ coeff_dzz_m1_m2_0 = t5666+t5714;
+ coeff_dzz_0_m2_0 = t5560+t5675;
+ coeff_dzz_p1_m2_0 = t5666+t5718;
+ coeff_dzz_p2_m2_0 = t5663+t5716;
+ coeff_dzz_m2_m1_0 = t5564+t5548+t5668;
+ coeff_dzz_m1_m1_0 = t5644+t5710;
+ coeff_dzz_0_m1_0 = t5548+t5671;
+ coeff_dzz_p1_m1_0 = t5644+t5706;
+ coeff_dzz_p2_m1_0 = t5550+t5548+t5665;
+ coeff_dzz_m2_0_0 = t5564+t5672;
+ coeff_dzz_m1_0_0 = t5544+t5676;
+ coeff_dzz_0_0_0 = t5549+RATIONAL(-13.0,98.0)+t5551+t5572;
+ coeff_dzz_p1_0_0 = t5547+t5676;
+ coeff_dzz_p2_0_0 = t5550+t5672;
+ coeff_dzz_m2_p1_0 = t5563+t5564+t5665;
+ coeff_dzz_m1_p1_0 = t5660+t5700;
+ coeff_dzz_0_p1_0 = t5563+t5671;
+ coeff_dzz_p1_p1_0 = t5660+t5698;
+ coeff_dzz_p2_p1_0 = t5550+t5563+t5668;
+ coeff_dzz_m2_p2_0 = t5655+t5709;
+ coeff_dzz_m1_p2_0 = t5664+t5711;
+ coeff_dzz_0_p2_0 = t5552+t5675;
+ coeff_dzz_p1_p2_0 = t5664+t5715;
+ coeff_dzz_p2_p2_0 = t5655+t5701;
+ coeff_dzz_m2_m2_p1 = t5540+t5616+t5714;
+ coeff_dzz_m1_m2_p1 = t5533+t5559+t5539+t5626;
+ coeff_dzz_0_m2_p1 = t5662+t5736;
+ coeff_dzz_p1_m2_p1 = t5534+t5541+t5556+t5626;
+ coeff_dzz_p2_m2_p1 = t5537+t5616+t5718;
+ coeff_dzz_m2_m1_p1 = t5540+t5614+t5751;
+ coeff_dzz_m1_m1_p1 = t5539+t5637+t5751;
+ coeff_dzz_0_m1_p1 = t5648+t5751;
+ coeff_dzz_p1_m1_p1 = t5538+t5526+t5555+t5618;
+ coeff_dzz_p2_m1_p1 = t5568+t5623+t5773;
+ coeff_dzz_m2_0_p1 = t5540+t5544+t5647;
+ coeff_dzz_m1_0_p1 = t5645+t5753;
+ coeff_dzz_0_0_p1 = t5568+t5673;
+ coeff_dzz_p1_0_p1 = t5642+t5761;
+ coeff_dzz_p2_0_p1 = t5537+t5547+t5647;
+ coeff_dzz_m2_p1_p1 = t5568+t5544+t5562+t5619;
+ coeff_dzz_m1_p1_p1 = t5562+t5635+t5753;
+ coeff_dzz_0_p1_p1 = t5568+t5542+t5652;
+ coeff_dzz_p1_p1_p1 = t5542+t5529+t5562+t5618;
+ coeff_dzz_p2_p1_p1 = t5568+t5629+t5764;
+ coeff_dzz_m2_p2_p1 = t5540+t5622+t5711;
+ coeff_dzz_m1_p2_p1 = t5559+t5611+t5744;
+ coeff_dzz_0_p2_p1 = t5650+t5736;
+ coeff_dzz_p1_p2_p1 = t5536+t5630+t5737;
+ coeff_dzz_p2_p2_p1 = t5537+t5622+t5715;
+ coeff_dzz_m2_m2_p2 = t5541+t5625+t5716;
+ coeff_dzz_m1_m2_p2 = t5530+t5641+t5718;
+ coeff_dzz_0_m2_p2 = t5571+t5552+t5646;
+ coeff_dzz_p1_m2_p2 = t5528+t5641+t5714;
+ coeff_dzz_p2_m2_p2 = t5539+t5625+t5720;
+ coeff_dzz_m2_m1_p2 = t5532+t5631+t5702;
+ coeff_dzz_m1_m1_p2 = t5530+t5634+t5706;
+ coeff_dzz_0_m1_p2 = t5651+t5745;
+ coeff_dzz_p1_m1_p2 = t5528+t5634+t5710;
+ coeff_dzz_p2_m1_p2 = t5539+t5627+t5740;
+ coeff_dzz_m2_0_p2 = t5643+t5771;
+ coeff_dzz_m1_0_p2 = t5530+t5547+t5656;
+ coeff_dzz_0_0_p2 = t5571+t5674;
+ coeff_dzz_p1_0_p2 = t5544+t5528+t5656;
+ coeff_dzz_p2_0_p2 = t5687+t5757+t5760;
+ coeff_dzz_m2_p1_p2 = t5535+t5631+t5705;
+ coeff_dzz_m1_p1_p2 = t5548+t5571+t5547+t5613;
+ coeff_dzz_0_p1_p2 = t5654+t5769;
+ coeff_dzz_p1_p1_p2 = t5528+t5621+t5769;
+ coeff_dzz_p2_p1_p2 = t5535+t5617+t5760;
+ coeff_dzz_m2_p2_p2 = t5560+t5628+t5771;
+ coeff_dzz_m1_p2_p2 = t5530+t5636+t5715;
+ coeff_dzz_0_p2_p2 = t5661+t5750;
+ coeff_dzz_p1_p2_p2 = t5528+t5636+t5711;
+ coeff_dzz_p2_p2_p2 = t5564+t5639+t5772;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-I.dcl.c
new file mode 100644
index 0000000..601e5c7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-I.dcl.c
@@ -0,0 +1,8 @@
+fp coeff_I_0_0_0,
+ coeff_I_p1_0_0,
+ coeff_I_0_p1_0,
+ coeff_I_p1_p1_0,
+ coeff_I_0_0_p1,
+ coeff_I_p1_0_p1,
+ coeff_I_0_p1_p1,
+ coeff_I_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dx.dcl.c
new file mode 100644
index 0000000..c546b35
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dx.dcl.c
@@ -0,0 +1,8 @@
+fp coeff_dx_0_0_0,
+ coeff_dx_p1_0_0,
+ coeff_dx_0_p1_0,
+ coeff_dx_p1_p1_0,
+ coeff_dx_0_0_p1,
+ coeff_dx_p1_0_p1,
+ coeff_dx_0_p1_p1,
+ coeff_dx_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dy.dcl.c
new file mode 100644
index 0000000..4e5bbb6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dy.dcl.c
@@ -0,0 +1,8 @@
+fp coeff_dy_0_0_0,
+ coeff_dy_p1_0_0,
+ coeff_dy_0_p1_0,
+ coeff_dy_p1_p1_0,
+ coeff_dy_0_0_p1,
+ coeff_dy_p1_0_p1,
+ coeff_dy_0_p1_p1,
+ coeff_dy_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dz.dcl.c
new file mode 100644
index 0000000..3ee8587
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/coeff-dz.dcl.c
@@ -0,0 +1,8 @@
+fp coeff_dz_0_0_0,
+ coeff_dz_p1_0_0,
+ coeff_dz_0_p1_0,
+ coeff_dz_p1_p1_0,
+ coeff_dz_0_0_p1,
+ coeff_dz_p1_0_p1,
+ coeff_dz_0_p1_p1,
+ coeff_dz_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.assign.c
new file mode 100644
index 0000000..81a6619
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.assign.c
@@ -0,0 +1,8 @@
+data_0_0_0 = DATA(0,0,0);
+data_p1_0_0 = DATA(1,0,0);
+data_0_p1_0 = DATA(0,1,0);
+data_p1_p1_0 = DATA(1,1,0);
+data_0_0_p1 = DATA(0,0,1);
+data_p1_0_p1 = DATA(1,0,1);
+data_0_p1_p1 = DATA(0,1,1);
+data_p1_p1_p1 = DATA(1,1,1);
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.dcl.c
new file mode 100644
index 0000000..f1e21eb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/data-var.dcl.c
@@ -0,0 +1,8 @@
+fp data_0_0_0,
+ data_p1_0_0,
+ data_0_p1_0,
+ data_p1_p1_0,
+ data_0_0_p1,
+ data_p1_0_p1,
+ data_0_p1_p1,
+ data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-I.compute.c
new file mode 100644
index 0000000..3997d06
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-I.compute.c
@@ -0,0 +1,9 @@
+result =
+ coeff_I_0_0_0*data_0_0_0
+ + coeff_I_p1_0_0*data_p1_0_0
+ + coeff_I_0_p1_0*data_0_p1_0
+ + coeff_I_p1_p1_0*data_p1_p1_0
+ + coeff_I_0_0_p1*data_0_0_p1
+ + coeff_I_p1_0_p1*data_p1_0_p1
+ + coeff_I_0_p1_p1*data_0_p1_p1
+ + coeff_I_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dx.compute.c
new file mode 100644
index 0000000..452f263
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dx.compute.c
@@ -0,0 +1,9 @@
+result =
+ coeff_dx_0_0_0*data_0_0_0
+ + coeff_dx_p1_0_0*data_p1_0_0
+ + coeff_dx_0_p1_0*data_0_p1_0
+ + coeff_dx_p1_p1_0*data_p1_p1_0
+ + coeff_dx_0_0_p1*data_0_0_p1
+ + coeff_dx_p1_0_p1*data_p1_0_p1
+ + coeff_dx_0_p1_p1*data_0_p1_p1
+ + coeff_dx_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dy.compute.c
new file mode 100644
index 0000000..e659b18
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dy.compute.c
@@ -0,0 +1,9 @@
+result =
+ coeff_dy_0_0_0*data_0_0_0
+ + coeff_dy_p1_0_0*data_p1_0_0
+ + coeff_dy_0_p1_0*data_0_p1_0
+ + coeff_dy_p1_p1_0*data_p1_p1_0
+ + coeff_dy_0_0_p1*data_0_0_p1
+ + coeff_dy_p1_0_p1*data_p1_0_p1
+ + coeff_dy_0_p1_p1*data_0_p1_p1
+ + coeff_dy_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dz.compute.c
new file mode 100644
index 0000000..0074979
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size2/interp-dz.compute.c
@@ -0,0 +1,9 @@
+result =
+ coeff_dz_0_0_0*data_0_0_0
+ + coeff_dz_p1_0_0*data_p1_0_0
+ + coeff_dz_0_p1_0*data_0_p1_0
+ + coeff_dz_p1_p1_0*data_p1_p1_0
+ + coeff_dz_0_0_p1*data_0_0_p1
+ + coeff_dz_p1_0_p1*data_p1_0_p1
+ + coeff_dz_0_p1_p1*data_0_p1_p1
+ + coeff_dz_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-I.dcl.c
new file mode 100644
index 0000000..4cf0632
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-I.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_I_m1_m1_m1,
+ coeff_I_0_m1_m1,
+ coeff_I_p1_m1_m1,
+ coeff_I_m1_0_m1,
+ coeff_I_0_0_m1,
+ coeff_I_p1_0_m1,
+ coeff_I_m1_p1_m1,
+ coeff_I_0_p1_m1,
+ coeff_I_p1_p1_m1,
+ coeff_I_m1_m1_0,
+ coeff_I_0_m1_0,
+ coeff_I_p1_m1_0,
+ coeff_I_m1_0_0,
+ coeff_I_0_0_0,
+ coeff_I_p1_0_0,
+ coeff_I_m1_p1_0,
+ coeff_I_0_p1_0,
+ coeff_I_p1_p1_0,
+ coeff_I_m1_m1_p1,
+ coeff_I_0_m1_p1,
+ coeff_I_p1_m1_p1,
+ coeff_I_m1_0_p1,
+ coeff_I_0_0_p1,
+ coeff_I_p1_0_p1,
+ coeff_I_m1_p1_p1,
+ coeff_I_0_p1_p1,
+ coeff_I_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dx.dcl.c
new file mode 100644
index 0000000..9fc8711
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dx.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dx_m1_m1_m1,
+ coeff_dx_0_m1_m1,
+ coeff_dx_p1_m1_m1,
+ coeff_dx_m1_0_m1,
+ coeff_dx_0_0_m1,
+ coeff_dx_p1_0_m1,
+ coeff_dx_m1_p1_m1,
+ coeff_dx_0_p1_m1,
+ coeff_dx_p1_p1_m1,
+ coeff_dx_m1_m1_0,
+ coeff_dx_0_m1_0,
+ coeff_dx_p1_m1_0,
+ coeff_dx_m1_0_0,
+ coeff_dx_0_0_0,
+ coeff_dx_p1_0_0,
+ coeff_dx_m1_p1_0,
+ coeff_dx_0_p1_0,
+ coeff_dx_p1_p1_0,
+ coeff_dx_m1_m1_p1,
+ coeff_dx_0_m1_p1,
+ coeff_dx_p1_m1_p1,
+ coeff_dx_m1_0_p1,
+ coeff_dx_0_0_p1,
+ coeff_dx_p1_0_p1,
+ coeff_dx_m1_p1_p1,
+ coeff_dx_0_p1_p1,
+ coeff_dx_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c
new file mode 100644
index 0000000..27144ed
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dxx_m1_m1_m1,
+ coeff_dxx_0_m1_m1,
+ coeff_dxx_p1_m1_m1,
+ coeff_dxx_m1_0_m1,
+ coeff_dxx_0_0_m1,
+ coeff_dxx_p1_0_m1,
+ coeff_dxx_m1_p1_m1,
+ coeff_dxx_0_p1_m1,
+ coeff_dxx_p1_p1_m1,
+ coeff_dxx_m1_m1_0,
+ coeff_dxx_0_m1_0,
+ coeff_dxx_p1_m1_0,
+ coeff_dxx_m1_0_0,
+ coeff_dxx_0_0_0,
+ coeff_dxx_p1_0_0,
+ coeff_dxx_m1_p1_0,
+ coeff_dxx_0_p1_0,
+ coeff_dxx_p1_p1_0,
+ coeff_dxx_m1_m1_p1,
+ coeff_dxx_0_m1_p1,
+ coeff_dxx_p1_m1_p1,
+ coeff_dxx_m1_0_p1,
+ coeff_dxx_0_0_p1,
+ coeff_dxx_p1_0_p1,
+ coeff_dxx_m1_p1_p1,
+ coeff_dxx_0_p1_p1,
+ coeff_dxx_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c
new file mode 100644
index 0000000..1707bad
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dxy_m1_m1_m1,
+ coeff_dxy_0_m1_m1,
+ coeff_dxy_p1_m1_m1,
+ coeff_dxy_m1_0_m1,
+ coeff_dxy_0_0_m1,
+ coeff_dxy_p1_0_m1,
+ coeff_dxy_m1_p1_m1,
+ coeff_dxy_0_p1_m1,
+ coeff_dxy_p1_p1_m1,
+ coeff_dxy_m1_m1_0,
+ coeff_dxy_0_m1_0,
+ coeff_dxy_p1_m1_0,
+ coeff_dxy_m1_0_0,
+ coeff_dxy_0_0_0,
+ coeff_dxy_p1_0_0,
+ coeff_dxy_m1_p1_0,
+ coeff_dxy_0_p1_0,
+ coeff_dxy_p1_p1_0,
+ coeff_dxy_m1_m1_p1,
+ coeff_dxy_0_m1_p1,
+ coeff_dxy_p1_m1_p1,
+ coeff_dxy_m1_0_p1,
+ coeff_dxy_0_0_p1,
+ coeff_dxy_p1_0_p1,
+ coeff_dxy_m1_p1_p1,
+ coeff_dxy_0_p1_p1,
+ coeff_dxy_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c
new file mode 100644
index 0000000..3ce552e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dxz_m1_m1_m1,
+ coeff_dxz_0_m1_m1,
+ coeff_dxz_p1_m1_m1,
+ coeff_dxz_m1_0_m1,
+ coeff_dxz_0_0_m1,
+ coeff_dxz_p1_0_m1,
+ coeff_dxz_m1_p1_m1,
+ coeff_dxz_0_p1_m1,
+ coeff_dxz_p1_p1_m1,
+ coeff_dxz_m1_m1_0,
+ coeff_dxz_0_m1_0,
+ coeff_dxz_p1_m1_0,
+ coeff_dxz_m1_0_0,
+ coeff_dxz_0_0_0,
+ coeff_dxz_p1_0_0,
+ coeff_dxz_m1_p1_0,
+ coeff_dxz_0_p1_0,
+ coeff_dxz_p1_p1_0,
+ coeff_dxz_m1_m1_p1,
+ coeff_dxz_0_m1_p1,
+ coeff_dxz_p1_m1_p1,
+ coeff_dxz_m1_0_p1,
+ coeff_dxz_0_0_p1,
+ coeff_dxz_p1_0_p1,
+ coeff_dxz_m1_p1_p1,
+ coeff_dxz_0_p1_p1,
+ coeff_dxz_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dy.dcl.c
new file mode 100644
index 0000000..5c3f323
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dy.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dy_m1_m1_m1,
+ coeff_dy_0_m1_m1,
+ coeff_dy_p1_m1_m1,
+ coeff_dy_m1_0_m1,
+ coeff_dy_0_0_m1,
+ coeff_dy_p1_0_m1,
+ coeff_dy_m1_p1_m1,
+ coeff_dy_0_p1_m1,
+ coeff_dy_p1_p1_m1,
+ coeff_dy_m1_m1_0,
+ coeff_dy_0_m1_0,
+ coeff_dy_p1_m1_0,
+ coeff_dy_m1_0_0,
+ coeff_dy_0_0_0,
+ coeff_dy_p1_0_0,
+ coeff_dy_m1_p1_0,
+ coeff_dy_0_p1_0,
+ coeff_dy_p1_p1_0,
+ coeff_dy_m1_m1_p1,
+ coeff_dy_0_m1_p1,
+ coeff_dy_p1_m1_p1,
+ coeff_dy_m1_0_p1,
+ coeff_dy_0_0_p1,
+ coeff_dy_p1_0_p1,
+ coeff_dy_m1_p1_p1,
+ coeff_dy_0_p1_p1,
+ coeff_dy_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c
new file mode 100644
index 0000000..08b14b5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dyy_m1_m1_m1,
+ coeff_dyy_0_m1_m1,
+ coeff_dyy_p1_m1_m1,
+ coeff_dyy_m1_0_m1,
+ coeff_dyy_0_0_m1,
+ coeff_dyy_p1_0_m1,
+ coeff_dyy_m1_p1_m1,
+ coeff_dyy_0_p1_m1,
+ coeff_dyy_p1_p1_m1,
+ coeff_dyy_m1_m1_0,
+ coeff_dyy_0_m1_0,
+ coeff_dyy_p1_m1_0,
+ coeff_dyy_m1_0_0,
+ coeff_dyy_0_0_0,
+ coeff_dyy_p1_0_0,
+ coeff_dyy_m1_p1_0,
+ coeff_dyy_0_p1_0,
+ coeff_dyy_p1_p1_0,
+ coeff_dyy_m1_m1_p1,
+ coeff_dyy_0_m1_p1,
+ coeff_dyy_p1_m1_p1,
+ coeff_dyy_m1_0_p1,
+ coeff_dyy_0_0_p1,
+ coeff_dyy_p1_0_p1,
+ coeff_dyy_m1_p1_p1,
+ coeff_dyy_0_p1_p1,
+ coeff_dyy_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c
new file mode 100644
index 0000000..a3d0575
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dyz_m1_m1_m1,
+ coeff_dyz_0_m1_m1,
+ coeff_dyz_p1_m1_m1,
+ coeff_dyz_m1_0_m1,
+ coeff_dyz_0_0_m1,
+ coeff_dyz_p1_0_m1,
+ coeff_dyz_m1_p1_m1,
+ coeff_dyz_0_p1_m1,
+ coeff_dyz_p1_p1_m1,
+ coeff_dyz_m1_m1_0,
+ coeff_dyz_0_m1_0,
+ coeff_dyz_p1_m1_0,
+ coeff_dyz_m1_0_0,
+ coeff_dyz_0_0_0,
+ coeff_dyz_p1_0_0,
+ coeff_dyz_m1_p1_0,
+ coeff_dyz_0_p1_0,
+ coeff_dyz_p1_p1_0,
+ coeff_dyz_m1_m1_p1,
+ coeff_dyz_0_m1_p1,
+ coeff_dyz_p1_m1_p1,
+ coeff_dyz_m1_0_p1,
+ coeff_dyz_0_0_p1,
+ coeff_dyz_p1_0_p1,
+ coeff_dyz_m1_p1_p1,
+ coeff_dyz_0_p1_p1,
+ coeff_dyz_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dz.dcl.c
new file mode 100644
index 0000000..e9cb0e9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dz.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dz_m1_m1_m1,
+ coeff_dz_0_m1_m1,
+ coeff_dz_p1_m1_m1,
+ coeff_dz_m1_0_m1,
+ coeff_dz_0_0_m1,
+ coeff_dz_p1_0_m1,
+ coeff_dz_m1_p1_m1,
+ coeff_dz_0_p1_m1,
+ coeff_dz_p1_p1_m1,
+ coeff_dz_m1_m1_0,
+ coeff_dz_0_m1_0,
+ coeff_dz_p1_m1_0,
+ coeff_dz_m1_0_0,
+ coeff_dz_0_0_0,
+ coeff_dz_p1_0_0,
+ coeff_dz_m1_p1_0,
+ coeff_dz_0_p1_0,
+ coeff_dz_p1_p1_0,
+ coeff_dz_m1_m1_p1,
+ coeff_dz_0_m1_p1,
+ coeff_dz_p1_m1_p1,
+ coeff_dz_m1_0_p1,
+ coeff_dz_0_0_p1,
+ coeff_dz_p1_0_p1,
+ coeff_dz_m1_p1_p1,
+ coeff_dz_0_p1_p1,
+ coeff_dz_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c
new file mode 100644
index 0000000..e87aa91
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c
@@ -0,0 +1,27 @@
+fp coeff_dzz_m1_m1_m1,
+ coeff_dzz_0_m1_m1,
+ coeff_dzz_p1_m1_m1,
+ coeff_dzz_m1_0_m1,
+ coeff_dzz_0_0_m1,
+ coeff_dzz_p1_0_m1,
+ coeff_dzz_m1_p1_m1,
+ coeff_dzz_0_p1_m1,
+ coeff_dzz_p1_p1_m1,
+ coeff_dzz_m1_m1_0,
+ coeff_dzz_0_m1_0,
+ coeff_dzz_p1_m1_0,
+ coeff_dzz_m1_0_0,
+ coeff_dzz_0_0_0,
+ coeff_dzz_p1_0_0,
+ coeff_dzz_m1_p1_0,
+ coeff_dzz_0_p1_0,
+ coeff_dzz_p1_p1_0,
+ coeff_dzz_m1_m1_p1,
+ coeff_dzz_0_m1_p1,
+ coeff_dzz_p1_m1_p1,
+ coeff_dzz_m1_0_p1,
+ coeff_dzz_0_0_p1,
+ coeff_dzz_p1_0_p1,
+ coeff_dzz_m1_p1_p1,
+ coeff_dzz_0_p1_p1,
+ coeff_dzz_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.assign.c
new file mode 100644
index 0000000..7ea5a98
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.assign.c
@@ -0,0 +1,27 @@
+data_m1_m1_m1 = DATA(-1,-1,-1);
+data_0_m1_m1 = DATA(0,-1,-1);
+data_p1_m1_m1 = DATA(1,-1,-1);
+data_m1_0_m1 = DATA(-1,0,-1);
+data_0_0_m1 = DATA(0,0,-1);
+data_p1_0_m1 = DATA(1,0,-1);
+data_m1_p1_m1 = DATA(-1,1,-1);
+data_0_p1_m1 = DATA(0,1,-1);
+data_p1_p1_m1 = DATA(1,1,-1);
+data_m1_m1_0 = DATA(-1,-1,0);
+data_0_m1_0 = DATA(0,-1,0);
+data_p1_m1_0 = DATA(1,-1,0);
+data_m1_0_0 = DATA(-1,0,0);
+data_0_0_0 = DATA(0,0,0);
+data_p1_0_0 = DATA(1,0,0);
+data_m1_p1_0 = DATA(-1,1,0);
+data_0_p1_0 = DATA(0,1,0);
+data_p1_p1_0 = DATA(1,1,0);
+data_m1_m1_p1 = DATA(-1,-1,1);
+data_0_m1_p1 = DATA(0,-1,1);
+data_p1_m1_p1 = DATA(1,-1,1);
+data_m1_0_p1 = DATA(-1,0,1);
+data_0_0_p1 = DATA(0,0,1);
+data_p1_0_p1 = DATA(1,0,1);
+data_m1_p1_p1 = DATA(-1,1,1);
+data_0_p1_p1 = DATA(0,1,1);
+data_p1_p1_p1 = DATA(1,1,1);
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.dcl.c
new file mode 100644
index 0000000..5128c77
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/data-var.dcl.c
@@ -0,0 +1,27 @@
+fp data_m1_m1_m1,
+ data_0_m1_m1,
+ data_p1_m1_m1,
+ data_m1_0_m1,
+ data_0_0_m1,
+ data_p1_0_m1,
+ data_m1_p1_m1,
+ data_0_p1_m1,
+ data_p1_p1_m1,
+ data_m1_m1_0,
+ data_0_m1_0,
+ data_p1_m1_0,
+ data_m1_0_0,
+ data_0_0_0,
+ data_p1_0_0,
+ data_m1_p1_0,
+ data_0_p1_0,
+ data_p1_p1_0,
+ data_m1_m1_p1,
+ data_0_m1_p1,
+ data_p1_m1_p1,
+ data_m1_0_p1,
+ data_0_0_p1,
+ data_p1_0_p1,
+ data_m1_p1_p1,
+ data_0_p1_p1,
+ data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-I.compute.c
new file mode 100644
index 0000000..3a7cac2
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-I.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_I_m1_m1_m1*data_m1_m1_m1
+ + coeff_I_0_m1_m1*data_0_m1_m1
+ + coeff_I_p1_m1_m1*data_p1_m1_m1
+ + coeff_I_m1_0_m1*data_m1_0_m1
+ + coeff_I_0_0_m1*data_0_0_m1
+ + coeff_I_p1_0_m1*data_p1_0_m1
+ + coeff_I_m1_p1_m1*data_m1_p1_m1
+ + coeff_I_0_p1_m1*data_0_p1_m1
+ + coeff_I_p1_p1_m1*data_p1_p1_m1
+ + coeff_I_m1_m1_0*data_m1_m1_0
+ + coeff_I_0_m1_0*data_0_m1_0
+ + coeff_I_p1_m1_0*data_p1_m1_0
+ + coeff_I_m1_0_0*data_m1_0_0
+ + coeff_I_0_0_0*data_0_0_0
+ + coeff_I_p1_0_0*data_p1_0_0
+ + coeff_I_m1_p1_0*data_m1_p1_0
+ + coeff_I_0_p1_0*data_0_p1_0
+ + coeff_I_p1_p1_0*data_p1_p1_0
+ + coeff_I_m1_m1_p1*data_m1_m1_p1
+ + coeff_I_0_m1_p1*data_0_m1_p1
+ + coeff_I_p1_m1_p1*data_p1_m1_p1
+ + coeff_I_m1_0_p1*data_m1_0_p1
+ + coeff_I_0_0_p1*data_0_0_p1
+ + coeff_I_p1_0_p1*data_p1_0_p1
+ + coeff_I_m1_p1_p1*data_m1_p1_p1
+ + coeff_I_0_p1_p1*data_0_p1_p1
+ + coeff_I_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dx.compute.c
new file mode 100644
index 0000000..bd53de0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dx.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dx_0_m1_m1*data_0_m1_m1
+ + coeff_dx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dx_m1_0_m1*data_m1_0_m1
+ + coeff_dx_0_0_m1*data_0_0_m1
+ + coeff_dx_p1_0_m1*data_p1_0_m1
+ + coeff_dx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dx_0_p1_m1*data_0_p1_m1
+ + coeff_dx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dx_m1_m1_0*data_m1_m1_0
+ + coeff_dx_0_m1_0*data_0_m1_0
+ + coeff_dx_p1_m1_0*data_p1_m1_0
+ + coeff_dx_m1_0_0*data_m1_0_0
+ + coeff_dx_0_0_0*data_0_0_0
+ + coeff_dx_p1_0_0*data_p1_0_0
+ + coeff_dx_m1_p1_0*data_m1_p1_0
+ + coeff_dx_0_p1_0*data_0_p1_0
+ + coeff_dx_p1_p1_0*data_p1_p1_0
+ + coeff_dx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dx_0_m1_p1*data_0_m1_p1
+ + coeff_dx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dx_m1_0_p1*data_m1_0_p1
+ + coeff_dx_0_0_p1*data_0_0_p1
+ + coeff_dx_p1_0_p1*data_p1_0_p1
+ + coeff_dx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dx_0_p1_p1*data_0_p1_p1
+ + coeff_dx_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxx.compute.c
new file mode 100644
index 0000000..5ac4e94
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxx.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dxx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxx_0_m1_m1*data_0_m1_m1
+ + coeff_dxx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxx_m1_0_m1*data_m1_0_m1
+ + coeff_dxx_0_0_m1*data_0_0_m1
+ + coeff_dxx_p1_0_m1*data_p1_0_m1
+ + coeff_dxx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxx_0_p1_m1*data_0_p1_m1
+ + coeff_dxx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxx_m1_m1_0*data_m1_m1_0
+ + coeff_dxx_0_m1_0*data_0_m1_0
+ + coeff_dxx_p1_m1_0*data_p1_m1_0
+ + coeff_dxx_m1_0_0*data_m1_0_0
+ + coeff_dxx_0_0_0*data_0_0_0
+ + coeff_dxx_p1_0_0*data_p1_0_0
+ + coeff_dxx_m1_p1_0*data_m1_p1_0
+ + coeff_dxx_0_p1_0*data_0_p1_0
+ + coeff_dxx_p1_p1_0*data_p1_p1_0
+ + coeff_dxx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxx_0_m1_p1*data_0_m1_p1
+ + coeff_dxx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxx_m1_0_p1*data_m1_0_p1
+ + coeff_dxx_0_0_p1*data_0_0_p1
+ + coeff_dxx_p1_0_p1*data_p1_0_p1
+ + coeff_dxx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxx_0_p1_p1*data_0_p1_p1
+ + coeff_dxx_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxy.compute.c
new file mode 100644
index 0000000..d951b40
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxy.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dxy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxy_0_m1_m1*data_0_m1_m1
+ + coeff_dxy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxy_m1_0_m1*data_m1_0_m1
+ + coeff_dxy_0_0_m1*data_0_0_m1
+ + coeff_dxy_p1_0_m1*data_p1_0_m1
+ + coeff_dxy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxy_0_p1_m1*data_0_p1_m1
+ + coeff_dxy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxy_m1_m1_0*data_m1_m1_0
+ + coeff_dxy_0_m1_0*data_0_m1_0
+ + coeff_dxy_p1_m1_0*data_p1_m1_0
+ + coeff_dxy_m1_0_0*data_m1_0_0
+ + coeff_dxy_0_0_0*data_0_0_0
+ + coeff_dxy_p1_0_0*data_p1_0_0
+ + coeff_dxy_m1_p1_0*data_m1_p1_0
+ + coeff_dxy_0_p1_0*data_0_p1_0
+ + coeff_dxy_p1_p1_0*data_p1_p1_0
+ + coeff_dxy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxy_0_m1_p1*data_0_m1_p1
+ + coeff_dxy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxy_m1_0_p1*data_m1_0_p1
+ + coeff_dxy_0_0_p1*data_0_0_p1
+ + coeff_dxy_p1_0_p1*data_p1_0_p1
+ + coeff_dxy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxy_0_p1_p1*data_0_p1_p1
+ + coeff_dxy_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxz.compute.c
new file mode 100644
index 0000000..33e3969
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dxz.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dxz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxz_0_m1_m1*data_0_m1_m1
+ + coeff_dxz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxz_m1_0_m1*data_m1_0_m1
+ + coeff_dxz_0_0_m1*data_0_0_m1
+ + coeff_dxz_p1_0_m1*data_p1_0_m1
+ + coeff_dxz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxz_0_p1_m1*data_0_p1_m1
+ + coeff_dxz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxz_m1_m1_0*data_m1_m1_0
+ + coeff_dxz_0_m1_0*data_0_m1_0
+ + coeff_dxz_p1_m1_0*data_p1_m1_0
+ + coeff_dxz_m1_0_0*data_m1_0_0
+ + coeff_dxz_0_0_0*data_0_0_0
+ + coeff_dxz_p1_0_0*data_p1_0_0
+ + coeff_dxz_m1_p1_0*data_m1_p1_0
+ + coeff_dxz_0_p1_0*data_0_p1_0
+ + coeff_dxz_p1_p1_0*data_p1_p1_0
+ + coeff_dxz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxz_0_m1_p1*data_0_m1_p1
+ + coeff_dxz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxz_m1_0_p1*data_m1_0_p1
+ + coeff_dxz_0_0_p1*data_0_0_p1
+ + coeff_dxz_p1_0_p1*data_p1_0_p1
+ + coeff_dxz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxz_0_p1_p1*data_0_p1_p1
+ + coeff_dxz_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dy.compute.c
new file mode 100644
index 0000000..59545ac
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dy.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dy_0_m1_m1*data_0_m1_m1
+ + coeff_dy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dy_m1_0_m1*data_m1_0_m1
+ + coeff_dy_0_0_m1*data_0_0_m1
+ + coeff_dy_p1_0_m1*data_p1_0_m1
+ + coeff_dy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dy_0_p1_m1*data_0_p1_m1
+ + coeff_dy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dy_m1_m1_0*data_m1_m1_0
+ + coeff_dy_0_m1_0*data_0_m1_0
+ + coeff_dy_p1_m1_0*data_p1_m1_0
+ + coeff_dy_m1_0_0*data_m1_0_0
+ + coeff_dy_0_0_0*data_0_0_0
+ + coeff_dy_p1_0_0*data_p1_0_0
+ + coeff_dy_m1_p1_0*data_m1_p1_0
+ + coeff_dy_0_p1_0*data_0_p1_0
+ + coeff_dy_p1_p1_0*data_p1_p1_0
+ + coeff_dy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dy_0_m1_p1*data_0_m1_p1
+ + coeff_dy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dy_m1_0_p1*data_m1_0_p1
+ + coeff_dy_0_0_p1*data_0_0_p1
+ + coeff_dy_p1_0_p1*data_p1_0_p1
+ + coeff_dy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dy_0_p1_p1*data_0_p1_p1
+ + coeff_dy_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyy.compute.c
new file mode 100644
index 0000000..70ae839
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyy.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dyy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyy_0_m1_m1*data_0_m1_m1
+ + coeff_dyy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyy_m1_0_m1*data_m1_0_m1
+ + coeff_dyy_0_0_m1*data_0_0_m1
+ + coeff_dyy_p1_0_m1*data_p1_0_m1
+ + coeff_dyy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyy_0_p1_m1*data_0_p1_m1
+ + coeff_dyy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyy_m1_m1_0*data_m1_m1_0
+ + coeff_dyy_0_m1_0*data_0_m1_0
+ + coeff_dyy_p1_m1_0*data_p1_m1_0
+ + coeff_dyy_m1_0_0*data_m1_0_0
+ + coeff_dyy_0_0_0*data_0_0_0
+ + coeff_dyy_p1_0_0*data_p1_0_0
+ + coeff_dyy_m1_p1_0*data_m1_p1_0
+ + coeff_dyy_0_p1_0*data_0_p1_0
+ + coeff_dyy_p1_p1_0*data_p1_p1_0
+ + coeff_dyy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyy_0_m1_p1*data_0_m1_p1
+ + coeff_dyy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyy_m1_0_p1*data_m1_0_p1
+ + coeff_dyy_0_0_p1*data_0_0_p1
+ + coeff_dyy_p1_0_p1*data_p1_0_p1
+ + coeff_dyy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyy_0_p1_p1*data_0_p1_p1
+ + coeff_dyy_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyz.compute.c
new file mode 100644
index 0000000..87ba939
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dyz.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dyz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyz_0_m1_m1*data_0_m1_m1
+ + coeff_dyz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyz_m1_0_m1*data_m1_0_m1
+ + coeff_dyz_0_0_m1*data_0_0_m1
+ + coeff_dyz_p1_0_m1*data_p1_0_m1
+ + coeff_dyz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyz_0_p1_m1*data_0_p1_m1
+ + coeff_dyz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyz_m1_m1_0*data_m1_m1_0
+ + coeff_dyz_0_m1_0*data_0_m1_0
+ + coeff_dyz_p1_m1_0*data_p1_m1_0
+ + coeff_dyz_m1_0_0*data_m1_0_0
+ + coeff_dyz_0_0_0*data_0_0_0
+ + coeff_dyz_p1_0_0*data_p1_0_0
+ + coeff_dyz_m1_p1_0*data_m1_p1_0
+ + coeff_dyz_0_p1_0*data_0_p1_0
+ + coeff_dyz_p1_p1_0*data_p1_p1_0
+ + coeff_dyz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyz_0_m1_p1*data_0_m1_p1
+ + coeff_dyz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyz_m1_0_p1*data_m1_0_p1
+ + coeff_dyz_0_0_p1*data_0_0_p1
+ + coeff_dyz_p1_0_p1*data_p1_0_p1
+ + coeff_dyz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyz_0_p1_p1*data_0_p1_p1
+ + coeff_dyz_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dz.compute.c
new file mode 100644
index 0000000..cd02ac9
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dz.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dz_0_m1_m1*data_0_m1_m1
+ + coeff_dz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dz_m1_0_m1*data_m1_0_m1
+ + coeff_dz_0_0_m1*data_0_0_m1
+ + coeff_dz_p1_0_m1*data_p1_0_m1
+ + coeff_dz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dz_0_p1_m1*data_0_p1_m1
+ + coeff_dz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dz_m1_m1_0*data_m1_m1_0
+ + coeff_dz_0_m1_0*data_0_m1_0
+ + coeff_dz_p1_m1_0*data_p1_m1_0
+ + coeff_dz_m1_0_0*data_m1_0_0
+ + coeff_dz_0_0_0*data_0_0_0
+ + coeff_dz_p1_0_0*data_p1_0_0
+ + coeff_dz_m1_p1_0*data_m1_p1_0
+ + coeff_dz_0_p1_0*data_0_p1_0
+ + coeff_dz_p1_p1_0*data_p1_p1_0
+ + coeff_dz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dz_0_m1_p1*data_0_m1_p1
+ + coeff_dz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dz_m1_0_p1*data_m1_0_p1
+ + coeff_dz_0_0_p1*data_0_0_p1
+ + coeff_dz_p1_0_p1*data_p1_0_p1
+ + coeff_dz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dz_0_p1_p1*data_0_p1_p1
+ + coeff_dz_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dzz.compute.c
new file mode 100644
index 0000000..4593efa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size3/interp-dzz.compute.c
@@ -0,0 +1,28 @@
+result =
+ coeff_dzz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dzz_0_m1_m1*data_0_m1_m1
+ + coeff_dzz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dzz_m1_0_m1*data_m1_0_m1
+ + coeff_dzz_0_0_m1*data_0_0_m1
+ + coeff_dzz_p1_0_m1*data_p1_0_m1
+ + coeff_dzz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dzz_0_p1_m1*data_0_p1_m1
+ + coeff_dzz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dzz_m1_m1_0*data_m1_m1_0
+ + coeff_dzz_0_m1_0*data_0_m1_0
+ + coeff_dzz_p1_m1_0*data_p1_m1_0
+ + coeff_dzz_m1_0_0*data_m1_0_0
+ + coeff_dzz_0_0_0*data_0_0_0
+ + coeff_dzz_p1_0_0*data_p1_0_0
+ + coeff_dzz_m1_p1_0*data_m1_p1_0
+ + coeff_dzz_0_p1_0*data_0_p1_0
+ + coeff_dzz_p1_p1_0*data_p1_p1_0
+ + coeff_dzz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dzz_0_m1_p1*data_0_m1_p1
+ + coeff_dzz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dzz_m1_0_p1*data_m1_0_p1
+ + coeff_dzz_0_0_p1*data_0_0_p1
+ + coeff_dzz_p1_0_p1*data_p1_0_p1
+ + coeff_dzz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dzz_0_p1_p1*data_0_p1_p1
+ + coeff_dzz_p1_p1_p1*data_p1_p1_p1;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-I.dcl.c
new file mode 100644
index 0000000..aed4eb3
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-I.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_I_m1_m1_m1,
+ coeff_I_0_m1_m1,
+ coeff_I_p1_m1_m1,
+ coeff_I_p2_m1_m1,
+ coeff_I_m1_0_m1,
+ coeff_I_0_0_m1,
+ coeff_I_p1_0_m1,
+ coeff_I_p2_0_m1,
+ coeff_I_m1_p1_m1,
+ coeff_I_0_p1_m1,
+ coeff_I_p1_p1_m1,
+ coeff_I_p2_p1_m1,
+ coeff_I_m1_p2_m1,
+ coeff_I_0_p2_m1,
+ coeff_I_p1_p2_m1,
+ coeff_I_p2_p2_m1,
+ coeff_I_m1_m1_0,
+ coeff_I_0_m1_0,
+ coeff_I_p1_m1_0,
+ coeff_I_p2_m1_0,
+ coeff_I_m1_0_0,
+ coeff_I_0_0_0,
+ coeff_I_p1_0_0,
+ coeff_I_p2_0_0,
+ coeff_I_m1_p1_0,
+ coeff_I_0_p1_0,
+ coeff_I_p1_p1_0,
+ coeff_I_p2_p1_0,
+ coeff_I_m1_p2_0,
+ coeff_I_0_p2_0,
+ coeff_I_p1_p2_0,
+ coeff_I_p2_p2_0,
+ coeff_I_m1_m1_p1,
+ coeff_I_0_m1_p1,
+ coeff_I_p1_m1_p1,
+ coeff_I_p2_m1_p1,
+ coeff_I_m1_0_p1,
+ coeff_I_0_0_p1,
+ coeff_I_p1_0_p1,
+ coeff_I_p2_0_p1,
+ coeff_I_m1_p1_p1,
+ coeff_I_0_p1_p1,
+ coeff_I_p1_p1_p1,
+ coeff_I_p2_p1_p1,
+ coeff_I_m1_p2_p1,
+ coeff_I_0_p2_p1,
+ coeff_I_p1_p2_p1,
+ coeff_I_p2_p2_p1,
+ coeff_I_m1_m1_p2,
+ coeff_I_0_m1_p2,
+ coeff_I_p1_m1_p2,
+ coeff_I_p2_m1_p2,
+ coeff_I_m1_0_p2,
+ coeff_I_0_0_p2,
+ coeff_I_p1_0_p2,
+ coeff_I_p2_0_p2,
+ coeff_I_m1_p1_p2,
+ coeff_I_0_p1_p2,
+ coeff_I_p1_p1_p2,
+ coeff_I_p2_p1_p2,
+ coeff_I_m1_p2_p2,
+ coeff_I_0_p2_p2,
+ coeff_I_p1_p2_p2,
+ coeff_I_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dx.dcl.c
new file mode 100644
index 0000000..2afb4a1
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dx.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dx_m1_m1_m1,
+ coeff_dx_0_m1_m1,
+ coeff_dx_p1_m1_m1,
+ coeff_dx_p2_m1_m1,
+ coeff_dx_m1_0_m1,
+ coeff_dx_0_0_m1,
+ coeff_dx_p1_0_m1,
+ coeff_dx_p2_0_m1,
+ coeff_dx_m1_p1_m1,
+ coeff_dx_0_p1_m1,
+ coeff_dx_p1_p1_m1,
+ coeff_dx_p2_p1_m1,
+ coeff_dx_m1_p2_m1,
+ coeff_dx_0_p2_m1,
+ coeff_dx_p1_p2_m1,
+ coeff_dx_p2_p2_m1,
+ coeff_dx_m1_m1_0,
+ coeff_dx_0_m1_0,
+ coeff_dx_p1_m1_0,
+ coeff_dx_p2_m1_0,
+ coeff_dx_m1_0_0,
+ coeff_dx_0_0_0,
+ coeff_dx_p1_0_0,
+ coeff_dx_p2_0_0,
+ coeff_dx_m1_p1_0,
+ coeff_dx_0_p1_0,
+ coeff_dx_p1_p1_0,
+ coeff_dx_p2_p1_0,
+ coeff_dx_m1_p2_0,
+ coeff_dx_0_p2_0,
+ coeff_dx_p1_p2_0,
+ coeff_dx_p2_p2_0,
+ coeff_dx_m1_m1_p1,
+ coeff_dx_0_m1_p1,
+ coeff_dx_p1_m1_p1,
+ coeff_dx_p2_m1_p1,
+ coeff_dx_m1_0_p1,
+ coeff_dx_0_0_p1,
+ coeff_dx_p1_0_p1,
+ coeff_dx_p2_0_p1,
+ coeff_dx_m1_p1_p1,
+ coeff_dx_0_p1_p1,
+ coeff_dx_p1_p1_p1,
+ coeff_dx_p2_p1_p1,
+ coeff_dx_m1_p2_p1,
+ coeff_dx_0_p2_p1,
+ coeff_dx_p1_p2_p1,
+ coeff_dx_p2_p2_p1,
+ coeff_dx_m1_m1_p2,
+ coeff_dx_0_m1_p2,
+ coeff_dx_p1_m1_p2,
+ coeff_dx_p2_m1_p2,
+ coeff_dx_m1_0_p2,
+ coeff_dx_0_0_p2,
+ coeff_dx_p1_0_p2,
+ coeff_dx_p2_0_p2,
+ coeff_dx_m1_p1_p2,
+ coeff_dx_0_p1_p2,
+ coeff_dx_p1_p1_p2,
+ coeff_dx_p2_p1_p2,
+ coeff_dx_m1_p2_p2,
+ coeff_dx_0_p2_p2,
+ coeff_dx_p1_p2_p2,
+ coeff_dx_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c
new file mode 100644
index 0000000..7ccdd97
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dxx_m1_m1_m1,
+ coeff_dxx_0_m1_m1,
+ coeff_dxx_p1_m1_m1,
+ coeff_dxx_p2_m1_m1,
+ coeff_dxx_m1_0_m1,
+ coeff_dxx_0_0_m1,
+ coeff_dxx_p1_0_m1,
+ coeff_dxx_p2_0_m1,
+ coeff_dxx_m1_p1_m1,
+ coeff_dxx_0_p1_m1,
+ coeff_dxx_p1_p1_m1,
+ coeff_dxx_p2_p1_m1,
+ coeff_dxx_m1_p2_m1,
+ coeff_dxx_0_p2_m1,
+ coeff_dxx_p1_p2_m1,
+ coeff_dxx_p2_p2_m1,
+ coeff_dxx_m1_m1_0,
+ coeff_dxx_0_m1_0,
+ coeff_dxx_p1_m1_0,
+ coeff_dxx_p2_m1_0,
+ coeff_dxx_m1_0_0,
+ coeff_dxx_0_0_0,
+ coeff_dxx_p1_0_0,
+ coeff_dxx_p2_0_0,
+ coeff_dxx_m1_p1_0,
+ coeff_dxx_0_p1_0,
+ coeff_dxx_p1_p1_0,
+ coeff_dxx_p2_p1_0,
+ coeff_dxx_m1_p2_0,
+ coeff_dxx_0_p2_0,
+ coeff_dxx_p1_p2_0,
+ coeff_dxx_p2_p2_0,
+ coeff_dxx_m1_m1_p1,
+ coeff_dxx_0_m1_p1,
+ coeff_dxx_p1_m1_p1,
+ coeff_dxx_p2_m1_p1,
+ coeff_dxx_m1_0_p1,
+ coeff_dxx_0_0_p1,
+ coeff_dxx_p1_0_p1,
+ coeff_dxx_p2_0_p1,
+ coeff_dxx_m1_p1_p1,
+ coeff_dxx_0_p1_p1,
+ coeff_dxx_p1_p1_p1,
+ coeff_dxx_p2_p1_p1,
+ coeff_dxx_m1_p2_p1,
+ coeff_dxx_0_p2_p1,
+ coeff_dxx_p1_p2_p1,
+ coeff_dxx_p2_p2_p1,
+ coeff_dxx_m1_m1_p2,
+ coeff_dxx_0_m1_p2,
+ coeff_dxx_p1_m1_p2,
+ coeff_dxx_p2_m1_p2,
+ coeff_dxx_m1_0_p2,
+ coeff_dxx_0_0_p2,
+ coeff_dxx_p1_0_p2,
+ coeff_dxx_p2_0_p2,
+ coeff_dxx_m1_p1_p2,
+ coeff_dxx_0_p1_p2,
+ coeff_dxx_p1_p1_p2,
+ coeff_dxx_p2_p1_p2,
+ coeff_dxx_m1_p2_p2,
+ coeff_dxx_0_p2_p2,
+ coeff_dxx_p1_p2_p2,
+ coeff_dxx_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c
new file mode 100644
index 0000000..72e7a3e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dxy_m1_m1_m1,
+ coeff_dxy_0_m1_m1,
+ coeff_dxy_p1_m1_m1,
+ coeff_dxy_p2_m1_m1,
+ coeff_dxy_m1_0_m1,
+ coeff_dxy_0_0_m1,
+ coeff_dxy_p1_0_m1,
+ coeff_dxy_p2_0_m1,
+ coeff_dxy_m1_p1_m1,
+ coeff_dxy_0_p1_m1,
+ coeff_dxy_p1_p1_m1,
+ coeff_dxy_p2_p1_m1,
+ coeff_dxy_m1_p2_m1,
+ coeff_dxy_0_p2_m1,
+ coeff_dxy_p1_p2_m1,
+ coeff_dxy_p2_p2_m1,
+ coeff_dxy_m1_m1_0,
+ coeff_dxy_0_m1_0,
+ coeff_dxy_p1_m1_0,
+ coeff_dxy_p2_m1_0,
+ coeff_dxy_m1_0_0,
+ coeff_dxy_0_0_0,
+ coeff_dxy_p1_0_0,
+ coeff_dxy_p2_0_0,
+ coeff_dxy_m1_p1_0,
+ coeff_dxy_0_p1_0,
+ coeff_dxy_p1_p1_0,
+ coeff_dxy_p2_p1_0,
+ coeff_dxy_m1_p2_0,
+ coeff_dxy_0_p2_0,
+ coeff_dxy_p1_p2_0,
+ coeff_dxy_p2_p2_0,
+ coeff_dxy_m1_m1_p1,
+ coeff_dxy_0_m1_p1,
+ coeff_dxy_p1_m1_p1,
+ coeff_dxy_p2_m1_p1,
+ coeff_dxy_m1_0_p1,
+ coeff_dxy_0_0_p1,
+ coeff_dxy_p1_0_p1,
+ coeff_dxy_p2_0_p1,
+ coeff_dxy_m1_p1_p1,
+ coeff_dxy_0_p1_p1,
+ coeff_dxy_p1_p1_p1,
+ coeff_dxy_p2_p1_p1,
+ coeff_dxy_m1_p2_p1,
+ coeff_dxy_0_p2_p1,
+ coeff_dxy_p1_p2_p1,
+ coeff_dxy_p2_p2_p1,
+ coeff_dxy_m1_m1_p2,
+ coeff_dxy_0_m1_p2,
+ coeff_dxy_p1_m1_p2,
+ coeff_dxy_p2_m1_p2,
+ coeff_dxy_m1_0_p2,
+ coeff_dxy_0_0_p2,
+ coeff_dxy_p1_0_p2,
+ coeff_dxy_p2_0_p2,
+ coeff_dxy_m1_p1_p2,
+ coeff_dxy_0_p1_p2,
+ coeff_dxy_p1_p1_p2,
+ coeff_dxy_p2_p1_p2,
+ coeff_dxy_m1_p2_p2,
+ coeff_dxy_0_p2_p2,
+ coeff_dxy_p1_p2_p2,
+ coeff_dxy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c
new file mode 100644
index 0000000..0457c9a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dxz_m1_m1_m1,
+ coeff_dxz_0_m1_m1,
+ coeff_dxz_p1_m1_m1,
+ coeff_dxz_p2_m1_m1,
+ coeff_dxz_m1_0_m1,
+ coeff_dxz_0_0_m1,
+ coeff_dxz_p1_0_m1,
+ coeff_dxz_p2_0_m1,
+ coeff_dxz_m1_p1_m1,
+ coeff_dxz_0_p1_m1,
+ coeff_dxz_p1_p1_m1,
+ coeff_dxz_p2_p1_m1,
+ coeff_dxz_m1_p2_m1,
+ coeff_dxz_0_p2_m1,
+ coeff_dxz_p1_p2_m1,
+ coeff_dxz_p2_p2_m1,
+ coeff_dxz_m1_m1_0,
+ coeff_dxz_0_m1_0,
+ coeff_dxz_p1_m1_0,
+ coeff_dxz_p2_m1_0,
+ coeff_dxz_m1_0_0,
+ coeff_dxz_0_0_0,
+ coeff_dxz_p1_0_0,
+ coeff_dxz_p2_0_0,
+ coeff_dxz_m1_p1_0,
+ coeff_dxz_0_p1_0,
+ coeff_dxz_p1_p1_0,
+ coeff_dxz_p2_p1_0,
+ coeff_dxz_m1_p2_0,
+ coeff_dxz_0_p2_0,
+ coeff_dxz_p1_p2_0,
+ coeff_dxz_p2_p2_0,
+ coeff_dxz_m1_m1_p1,
+ coeff_dxz_0_m1_p1,
+ coeff_dxz_p1_m1_p1,
+ coeff_dxz_p2_m1_p1,
+ coeff_dxz_m1_0_p1,
+ coeff_dxz_0_0_p1,
+ coeff_dxz_p1_0_p1,
+ coeff_dxz_p2_0_p1,
+ coeff_dxz_m1_p1_p1,
+ coeff_dxz_0_p1_p1,
+ coeff_dxz_p1_p1_p1,
+ coeff_dxz_p2_p1_p1,
+ coeff_dxz_m1_p2_p1,
+ coeff_dxz_0_p2_p1,
+ coeff_dxz_p1_p2_p1,
+ coeff_dxz_p2_p2_p1,
+ coeff_dxz_m1_m1_p2,
+ coeff_dxz_0_m1_p2,
+ coeff_dxz_p1_m1_p2,
+ coeff_dxz_p2_m1_p2,
+ coeff_dxz_m1_0_p2,
+ coeff_dxz_0_0_p2,
+ coeff_dxz_p1_0_p2,
+ coeff_dxz_p2_0_p2,
+ coeff_dxz_m1_p1_p2,
+ coeff_dxz_0_p1_p2,
+ coeff_dxz_p1_p1_p2,
+ coeff_dxz_p2_p1_p2,
+ coeff_dxz_m1_p2_p2,
+ coeff_dxz_0_p2_p2,
+ coeff_dxz_p1_p2_p2,
+ coeff_dxz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dy.dcl.c
new file mode 100644
index 0000000..db377fb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dy.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dy_m1_m1_m1,
+ coeff_dy_0_m1_m1,
+ coeff_dy_p1_m1_m1,
+ coeff_dy_p2_m1_m1,
+ coeff_dy_m1_0_m1,
+ coeff_dy_0_0_m1,
+ coeff_dy_p1_0_m1,
+ coeff_dy_p2_0_m1,
+ coeff_dy_m1_p1_m1,
+ coeff_dy_0_p1_m1,
+ coeff_dy_p1_p1_m1,
+ coeff_dy_p2_p1_m1,
+ coeff_dy_m1_p2_m1,
+ coeff_dy_0_p2_m1,
+ coeff_dy_p1_p2_m1,
+ coeff_dy_p2_p2_m1,
+ coeff_dy_m1_m1_0,
+ coeff_dy_0_m1_0,
+ coeff_dy_p1_m1_0,
+ coeff_dy_p2_m1_0,
+ coeff_dy_m1_0_0,
+ coeff_dy_0_0_0,
+ coeff_dy_p1_0_0,
+ coeff_dy_p2_0_0,
+ coeff_dy_m1_p1_0,
+ coeff_dy_0_p1_0,
+ coeff_dy_p1_p1_0,
+ coeff_dy_p2_p1_0,
+ coeff_dy_m1_p2_0,
+ coeff_dy_0_p2_0,
+ coeff_dy_p1_p2_0,
+ coeff_dy_p2_p2_0,
+ coeff_dy_m1_m1_p1,
+ coeff_dy_0_m1_p1,
+ coeff_dy_p1_m1_p1,
+ coeff_dy_p2_m1_p1,
+ coeff_dy_m1_0_p1,
+ coeff_dy_0_0_p1,
+ coeff_dy_p1_0_p1,
+ coeff_dy_p2_0_p1,
+ coeff_dy_m1_p1_p1,
+ coeff_dy_0_p1_p1,
+ coeff_dy_p1_p1_p1,
+ coeff_dy_p2_p1_p1,
+ coeff_dy_m1_p2_p1,
+ coeff_dy_0_p2_p1,
+ coeff_dy_p1_p2_p1,
+ coeff_dy_p2_p2_p1,
+ coeff_dy_m1_m1_p2,
+ coeff_dy_0_m1_p2,
+ coeff_dy_p1_m1_p2,
+ coeff_dy_p2_m1_p2,
+ coeff_dy_m1_0_p2,
+ coeff_dy_0_0_p2,
+ coeff_dy_p1_0_p2,
+ coeff_dy_p2_0_p2,
+ coeff_dy_m1_p1_p2,
+ coeff_dy_0_p1_p2,
+ coeff_dy_p1_p1_p2,
+ coeff_dy_p2_p1_p2,
+ coeff_dy_m1_p2_p2,
+ coeff_dy_0_p2_p2,
+ coeff_dy_p1_p2_p2,
+ coeff_dy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c
new file mode 100644
index 0000000..93735d8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dyy_m1_m1_m1,
+ coeff_dyy_0_m1_m1,
+ coeff_dyy_p1_m1_m1,
+ coeff_dyy_p2_m1_m1,
+ coeff_dyy_m1_0_m1,
+ coeff_dyy_0_0_m1,
+ coeff_dyy_p1_0_m1,
+ coeff_dyy_p2_0_m1,
+ coeff_dyy_m1_p1_m1,
+ coeff_dyy_0_p1_m1,
+ coeff_dyy_p1_p1_m1,
+ coeff_dyy_p2_p1_m1,
+ coeff_dyy_m1_p2_m1,
+ coeff_dyy_0_p2_m1,
+ coeff_dyy_p1_p2_m1,
+ coeff_dyy_p2_p2_m1,
+ coeff_dyy_m1_m1_0,
+ coeff_dyy_0_m1_0,
+ coeff_dyy_p1_m1_0,
+ coeff_dyy_p2_m1_0,
+ coeff_dyy_m1_0_0,
+ coeff_dyy_0_0_0,
+ coeff_dyy_p1_0_0,
+ coeff_dyy_p2_0_0,
+ coeff_dyy_m1_p1_0,
+ coeff_dyy_0_p1_0,
+ coeff_dyy_p1_p1_0,
+ coeff_dyy_p2_p1_0,
+ coeff_dyy_m1_p2_0,
+ coeff_dyy_0_p2_0,
+ coeff_dyy_p1_p2_0,
+ coeff_dyy_p2_p2_0,
+ coeff_dyy_m1_m1_p1,
+ coeff_dyy_0_m1_p1,
+ coeff_dyy_p1_m1_p1,
+ coeff_dyy_p2_m1_p1,
+ coeff_dyy_m1_0_p1,
+ coeff_dyy_0_0_p1,
+ coeff_dyy_p1_0_p1,
+ coeff_dyy_p2_0_p1,
+ coeff_dyy_m1_p1_p1,
+ coeff_dyy_0_p1_p1,
+ coeff_dyy_p1_p1_p1,
+ coeff_dyy_p2_p1_p1,
+ coeff_dyy_m1_p2_p1,
+ coeff_dyy_0_p2_p1,
+ coeff_dyy_p1_p2_p1,
+ coeff_dyy_p2_p2_p1,
+ coeff_dyy_m1_m1_p2,
+ coeff_dyy_0_m1_p2,
+ coeff_dyy_p1_m1_p2,
+ coeff_dyy_p2_m1_p2,
+ coeff_dyy_m1_0_p2,
+ coeff_dyy_0_0_p2,
+ coeff_dyy_p1_0_p2,
+ coeff_dyy_p2_0_p2,
+ coeff_dyy_m1_p1_p2,
+ coeff_dyy_0_p1_p2,
+ coeff_dyy_p1_p1_p2,
+ coeff_dyy_p2_p1_p2,
+ coeff_dyy_m1_p2_p2,
+ coeff_dyy_0_p2_p2,
+ coeff_dyy_p1_p2_p2,
+ coeff_dyy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c
new file mode 100644
index 0000000..c82c714
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dyz_m1_m1_m1,
+ coeff_dyz_0_m1_m1,
+ coeff_dyz_p1_m1_m1,
+ coeff_dyz_p2_m1_m1,
+ coeff_dyz_m1_0_m1,
+ coeff_dyz_0_0_m1,
+ coeff_dyz_p1_0_m1,
+ coeff_dyz_p2_0_m1,
+ coeff_dyz_m1_p1_m1,
+ coeff_dyz_0_p1_m1,
+ coeff_dyz_p1_p1_m1,
+ coeff_dyz_p2_p1_m1,
+ coeff_dyz_m1_p2_m1,
+ coeff_dyz_0_p2_m1,
+ coeff_dyz_p1_p2_m1,
+ coeff_dyz_p2_p2_m1,
+ coeff_dyz_m1_m1_0,
+ coeff_dyz_0_m1_0,
+ coeff_dyz_p1_m1_0,
+ coeff_dyz_p2_m1_0,
+ coeff_dyz_m1_0_0,
+ coeff_dyz_0_0_0,
+ coeff_dyz_p1_0_0,
+ coeff_dyz_p2_0_0,
+ coeff_dyz_m1_p1_0,
+ coeff_dyz_0_p1_0,
+ coeff_dyz_p1_p1_0,
+ coeff_dyz_p2_p1_0,
+ coeff_dyz_m1_p2_0,
+ coeff_dyz_0_p2_0,
+ coeff_dyz_p1_p2_0,
+ coeff_dyz_p2_p2_0,
+ coeff_dyz_m1_m1_p1,
+ coeff_dyz_0_m1_p1,
+ coeff_dyz_p1_m1_p1,
+ coeff_dyz_p2_m1_p1,
+ coeff_dyz_m1_0_p1,
+ coeff_dyz_0_0_p1,
+ coeff_dyz_p1_0_p1,
+ coeff_dyz_p2_0_p1,
+ coeff_dyz_m1_p1_p1,
+ coeff_dyz_0_p1_p1,
+ coeff_dyz_p1_p1_p1,
+ coeff_dyz_p2_p1_p1,
+ coeff_dyz_m1_p2_p1,
+ coeff_dyz_0_p2_p1,
+ coeff_dyz_p1_p2_p1,
+ coeff_dyz_p2_p2_p1,
+ coeff_dyz_m1_m1_p2,
+ coeff_dyz_0_m1_p2,
+ coeff_dyz_p1_m1_p2,
+ coeff_dyz_p2_m1_p2,
+ coeff_dyz_m1_0_p2,
+ coeff_dyz_0_0_p2,
+ coeff_dyz_p1_0_p2,
+ coeff_dyz_p2_0_p2,
+ coeff_dyz_m1_p1_p2,
+ coeff_dyz_0_p1_p2,
+ coeff_dyz_p1_p1_p2,
+ coeff_dyz_p2_p1_p2,
+ coeff_dyz_m1_p2_p2,
+ coeff_dyz_0_p2_p2,
+ coeff_dyz_p1_p2_p2,
+ coeff_dyz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dz.dcl.c
new file mode 100644
index 0000000..5d1e021
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dz.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dz_m1_m1_m1,
+ coeff_dz_0_m1_m1,
+ coeff_dz_p1_m1_m1,
+ coeff_dz_p2_m1_m1,
+ coeff_dz_m1_0_m1,
+ coeff_dz_0_0_m1,
+ coeff_dz_p1_0_m1,
+ coeff_dz_p2_0_m1,
+ coeff_dz_m1_p1_m1,
+ coeff_dz_0_p1_m1,
+ coeff_dz_p1_p1_m1,
+ coeff_dz_p2_p1_m1,
+ coeff_dz_m1_p2_m1,
+ coeff_dz_0_p2_m1,
+ coeff_dz_p1_p2_m1,
+ coeff_dz_p2_p2_m1,
+ coeff_dz_m1_m1_0,
+ coeff_dz_0_m1_0,
+ coeff_dz_p1_m1_0,
+ coeff_dz_p2_m1_0,
+ coeff_dz_m1_0_0,
+ coeff_dz_0_0_0,
+ coeff_dz_p1_0_0,
+ coeff_dz_p2_0_0,
+ coeff_dz_m1_p1_0,
+ coeff_dz_0_p1_0,
+ coeff_dz_p1_p1_0,
+ coeff_dz_p2_p1_0,
+ coeff_dz_m1_p2_0,
+ coeff_dz_0_p2_0,
+ coeff_dz_p1_p2_0,
+ coeff_dz_p2_p2_0,
+ coeff_dz_m1_m1_p1,
+ coeff_dz_0_m1_p1,
+ coeff_dz_p1_m1_p1,
+ coeff_dz_p2_m1_p1,
+ coeff_dz_m1_0_p1,
+ coeff_dz_0_0_p1,
+ coeff_dz_p1_0_p1,
+ coeff_dz_p2_0_p1,
+ coeff_dz_m1_p1_p1,
+ coeff_dz_0_p1_p1,
+ coeff_dz_p1_p1_p1,
+ coeff_dz_p2_p1_p1,
+ coeff_dz_m1_p2_p1,
+ coeff_dz_0_p2_p1,
+ coeff_dz_p1_p2_p1,
+ coeff_dz_p2_p2_p1,
+ coeff_dz_m1_m1_p2,
+ coeff_dz_0_m1_p2,
+ coeff_dz_p1_m1_p2,
+ coeff_dz_p2_m1_p2,
+ coeff_dz_m1_0_p2,
+ coeff_dz_0_0_p2,
+ coeff_dz_p1_0_p2,
+ coeff_dz_p2_0_p2,
+ coeff_dz_m1_p1_p2,
+ coeff_dz_0_p1_p2,
+ coeff_dz_p1_p1_p2,
+ coeff_dz_p2_p1_p2,
+ coeff_dz_m1_p2_p2,
+ coeff_dz_0_p2_p2,
+ coeff_dz_p1_p2_p2,
+ coeff_dz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c
new file mode 100644
index 0000000..f6fb93d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c
@@ -0,0 +1,64 @@
+fp coeff_dzz_m1_m1_m1,
+ coeff_dzz_0_m1_m1,
+ coeff_dzz_p1_m1_m1,
+ coeff_dzz_p2_m1_m1,
+ coeff_dzz_m1_0_m1,
+ coeff_dzz_0_0_m1,
+ coeff_dzz_p1_0_m1,
+ coeff_dzz_p2_0_m1,
+ coeff_dzz_m1_p1_m1,
+ coeff_dzz_0_p1_m1,
+ coeff_dzz_p1_p1_m1,
+ coeff_dzz_p2_p1_m1,
+ coeff_dzz_m1_p2_m1,
+ coeff_dzz_0_p2_m1,
+ coeff_dzz_p1_p2_m1,
+ coeff_dzz_p2_p2_m1,
+ coeff_dzz_m1_m1_0,
+ coeff_dzz_0_m1_0,
+ coeff_dzz_p1_m1_0,
+ coeff_dzz_p2_m1_0,
+ coeff_dzz_m1_0_0,
+ coeff_dzz_0_0_0,
+ coeff_dzz_p1_0_0,
+ coeff_dzz_p2_0_0,
+ coeff_dzz_m1_p1_0,
+ coeff_dzz_0_p1_0,
+ coeff_dzz_p1_p1_0,
+ coeff_dzz_p2_p1_0,
+ coeff_dzz_m1_p2_0,
+ coeff_dzz_0_p2_0,
+ coeff_dzz_p1_p2_0,
+ coeff_dzz_p2_p2_0,
+ coeff_dzz_m1_m1_p1,
+ coeff_dzz_0_m1_p1,
+ coeff_dzz_p1_m1_p1,
+ coeff_dzz_p2_m1_p1,
+ coeff_dzz_m1_0_p1,
+ coeff_dzz_0_0_p1,
+ coeff_dzz_p1_0_p1,
+ coeff_dzz_p2_0_p1,
+ coeff_dzz_m1_p1_p1,
+ coeff_dzz_0_p1_p1,
+ coeff_dzz_p1_p1_p1,
+ coeff_dzz_p2_p1_p1,
+ coeff_dzz_m1_p2_p1,
+ coeff_dzz_0_p2_p1,
+ coeff_dzz_p1_p2_p1,
+ coeff_dzz_p2_p2_p1,
+ coeff_dzz_m1_m1_p2,
+ coeff_dzz_0_m1_p2,
+ coeff_dzz_p1_m1_p2,
+ coeff_dzz_p2_m1_p2,
+ coeff_dzz_m1_0_p2,
+ coeff_dzz_0_0_p2,
+ coeff_dzz_p1_0_p2,
+ coeff_dzz_p2_0_p2,
+ coeff_dzz_m1_p1_p2,
+ coeff_dzz_0_p1_p2,
+ coeff_dzz_p1_p1_p2,
+ coeff_dzz_p2_p1_p2,
+ coeff_dzz_m1_p2_p2,
+ coeff_dzz_0_p2_p2,
+ coeff_dzz_p1_p2_p2,
+ coeff_dzz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.assign.c
new file mode 100644
index 0000000..4613787
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.assign.c
@@ -0,0 +1,64 @@
+data_m1_m1_m1 = DATA(-1,-1,-1);
+data_0_m1_m1 = DATA(0,-1,-1);
+data_p1_m1_m1 = DATA(1,-1,-1);
+data_p2_m1_m1 = DATA(2,-1,-1);
+data_m1_0_m1 = DATA(-1,0,-1);
+data_0_0_m1 = DATA(0,0,-1);
+data_p1_0_m1 = DATA(1,0,-1);
+data_p2_0_m1 = DATA(2,0,-1);
+data_m1_p1_m1 = DATA(-1,1,-1);
+data_0_p1_m1 = DATA(0,1,-1);
+data_p1_p1_m1 = DATA(1,1,-1);
+data_p2_p1_m1 = DATA(2,1,-1);
+data_m1_p2_m1 = DATA(-1,2,-1);
+data_0_p2_m1 = DATA(0,2,-1);
+data_p1_p2_m1 = DATA(1,2,-1);
+data_p2_p2_m1 = DATA(2,2,-1);
+data_m1_m1_0 = DATA(-1,-1,0);
+data_0_m1_0 = DATA(0,-1,0);
+data_p1_m1_0 = DATA(1,-1,0);
+data_p2_m1_0 = DATA(2,-1,0);
+data_m1_0_0 = DATA(-1,0,0);
+data_0_0_0 = DATA(0,0,0);
+data_p1_0_0 = DATA(1,0,0);
+data_p2_0_0 = DATA(2,0,0);
+data_m1_p1_0 = DATA(-1,1,0);
+data_0_p1_0 = DATA(0,1,0);
+data_p1_p1_0 = DATA(1,1,0);
+data_p2_p1_0 = DATA(2,1,0);
+data_m1_p2_0 = DATA(-1,2,0);
+data_0_p2_0 = DATA(0,2,0);
+data_p1_p2_0 = DATA(1,2,0);
+data_p2_p2_0 = DATA(2,2,0);
+data_m1_m1_p1 = DATA(-1,-1,1);
+data_0_m1_p1 = DATA(0,-1,1);
+data_p1_m1_p1 = DATA(1,-1,1);
+data_p2_m1_p1 = DATA(2,-1,1);
+data_m1_0_p1 = DATA(-1,0,1);
+data_0_0_p1 = DATA(0,0,1);
+data_p1_0_p1 = DATA(1,0,1);
+data_p2_0_p1 = DATA(2,0,1);
+data_m1_p1_p1 = DATA(-1,1,1);
+data_0_p1_p1 = DATA(0,1,1);
+data_p1_p1_p1 = DATA(1,1,1);
+data_p2_p1_p1 = DATA(2,1,1);
+data_m1_p2_p1 = DATA(-1,2,1);
+data_0_p2_p1 = DATA(0,2,1);
+data_p1_p2_p1 = DATA(1,2,1);
+data_p2_p2_p1 = DATA(2,2,1);
+data_m1_m1_p2 = DATA(-1,-1,2);
+data_0_m1_p2 = DATA(0,-1,2);
+data_p1_m1_p2 = DATA(1,-1,2);
+data_p2_m1_p2 = DATA(2,-1,2);
+data_m1_0_p2 = DATA(-1,0,2);
+data_0_0_p2 = DATA(0,0,2);
+data_p1_0_p2 = DATA(1,0,2);
+data_p2_0_p2 = DATA(2,0,2);
+data_m1_p1_p2 = DATA(-1,1,2);
+data_0_p1_p2 = DATA(0,1,2);
+data_p1_p1_p2 = DATA(1,1,2);
+data_p2_p1_p2 = DATA(2,1,2);
+data_m1_p2_p2 = DATA(-1,2,2);
+data_0_p2_p2 = DATA(0,2,2);
+data_p1_p2_p2 = DATA(1,2,2);
+data_p2_p2_p2 = DATA(2,2,2);
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.dcl.c
new file mode 100644
index 0000000..6c8b455
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/data-var.dcl.c
@@ -0,0 +1,64 @@
+fp data_m1_m1_m1,
+ data_0_m1_m1,
+ data_p1_m1_m1,
+ data_p2_m1_m1,
+ data_m1_0_m1,
+ data_0_0_m1,
+ data_p1_0_m1,
+ data_p2_0_m1,
+ data_m1_p1_m1,
+ data_0_p1_m1,
+ data_p1_p1_m1,
+ data_p2_p1_m1,
+ data_m1_p2_m1,
+ data_0_p2_m1,
+ data_p1_p2_m1,
+ data_p2_p2_m1,
+ data_m1_m1_0,
+ data_0_m1_0,
+ data_p1_m1_0,
+ data_p2_m1_0,
+ data_m1_0_0,
+ data_0_0_0,
+ data_p1_0_0,
+ data_p2_0_0,
+ data_m1_p1_0,
+ data_0_p1_0,
+ data_p1_p1_0,
+ data_p2_p1_0,
+ data_m1_p2_0,
+ data_0_p2_0,
+ data_p1_p2_0,
+ data_p2_p2_0,
+ data_m1_m1_p1,
+ data_0_m1_p1,
+ data_p1_m1_p1,
+ data_p2_m1_p1,
+ data_m1_0_p1,
+ data_0_0_p1,
+ data_p1_0_p1,
+ data_p2_0_p1,
+ data_m1_p1_p1,
+ data_0_p1_p1,
+ data_p1_p1_p1,
+ data_p2_p1_p1,
+ data_m1_p2_p1,
+ data_0_p2_p1,
+ data_p1_p2_p1,
+ data_p2_p2_p1,
+ data_m1_m1_p2,
+ data_0_m1_p2,
+ data_p1_m1_p2,
+ data_p2_m1_p2,
+ data_m1_0_p2,
+ data_0_0_p2,
+ data_p1_0_p2,
+ data_p2_0_p2,
+ data_m1_p1_p2,
+ data_0_p1_p2,
+ data_p1_p1_p2,
+ data_p2_p1_p2,
+ data_m1_p2_p2,
+ data_0_p2_p2,
+ data_p1_p2_p2,
+ data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-I.compute.c
new file mode 100644
index 0000000..4c1fdaa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-I.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_I_m1_m1_m1*data_m1_m1_m1
+ + coeff_I_0_m1_m1*data_0_m1_m1
+ + coeff_I_p1_m1_m1*data_p1_m1_m1
+ + coeff_I_p2_m1_m1*data_p2_m1_m1
+ + coeff_I_m1_0_m1*data_m1_0_m1
+ + coeff_I_0_0_m1*data_0_0_m1
+ + coeff_I_p1_0_m1*data_p1_0_m1
+ + coeff_I_p2_0_m1*data_p2_0_m1
+ + coeff_I_m1_p1_m1*data_m1_p1_m1
+ + coeff_I_0_p1_m1*data_0_p1_m1
+ + coeff_I_p1_p1_m1*data_p1_p1_m1
+ + coeff_I_p2_p1_m1*data_p2_p1_m1
+ + coeff_I_m1_p2_m1*data_m1_p2_m1
+ + coeff_I_0_p2_m1*data_0_p2_m1
+ + coeff_I_p1_p2_m1*data_p1_p2_m1
+ + coeff_I_p2_p2_m1*data_p2_p2_m1
+ + coeff_I_m1_m1_0*data_m1_m1_0
+ + coeff_I_0_m1_0*data_0_m1_0
+ + coeff_I_p1_m1_0*data_p1_m1_0
+ + coeff_I_p2_m1_0*data_p2_m1_0
+ + coeff_I_m1_0_0*data_m1_0_0
+ + coeff_I_0_0_0*data_0_0_0
+ + coeff_I_p1_0_0*data_p1_0_0
+ + coeff_I_p2_0_0*data_p2_0_0
+ + coeff_I_m1_p1_0*data_m1_p1_0
+ + coeff_I_0_p1_0*data_0_p1_0
+ + coeff_I_p1_p1_0*data_p1_p1_0
+ + coeff_I_p2_p1_0*data_p2_p1_0
+ + coeff_I_m1_p2_0*data_m1_p2_0
+ + coeff_I_0_p2_0*data_0_p2_0
+ + coeff_I_p1_p2_0*data_p1_p2_0
+ + coeff_I_p2_p2_0*data_p2_p2_0
+ + coeff_I_m1_m1_p1*data_m1_m1_p1
+ + coeff_I_0_m1_p1*data_0_m1_p1
+ + coeff_I_p1_m1_p1*data_p1_m1_p1
+ + coeff_I_p2_m1_p1*data_p2_m1_p1
+ + coeff_I_m1_0_p1*data_m1_0_p1
+ + coeff_I_0_0_p1*data_0_0_p1
+ + coeff_I_p1_0_p1*data_p1_0_p1
+ + coeff_I_p2_0_p1*data_p2_0_p1
+ + coeff_I_m1_p1_p1*data_m1_p1_p1
+ + coeff_I_0_p1_p1*data_0_p1_p1
+ + coeff_I_p1_p1_p1*data_p1_p1_p1
+ + coeff_I_p2_p1_p1*data_p2_p1_p1
+ + coeff_I_m1_p2_p1*data_m1_p2_p1
+ + coeff_I_0_p2_p1*data_0_p2_p1
+ + coeff_I_p1_p2_p1*data_p1_p2_p1
+ + coeff_I_p2_p2_p1*data_p2_p2_p1
+ + coeff_I_m1_m1_p2*data_m1_m1_p2
+ + coeff_I_0_m1_p2*data_0_m1_p2
+ + coeff_I_p1_m1_p2*data_p1_m1_p2
+ + coeff_I_p2_m1_p2*data_p2_m1_p2
+ + coeff_I_m1_0_p2*data_m1_0_p2
+ + coeff_I_0_0_p2*data_0_0_p2
+ + coeff_I_p1_0_p2*data_p1_0_p2
+ + coeff_I_p2_0_p2*data_p2_0_p2
+ + coeff_I_m1_p1_p2*data_m1_p1_p2
+ + coeff_I_0_p1_p2*data_0_p1_p2
+ + coeff_I_p1_p1_p2*data_p1_p1_p2
+ + coeff_I_p2_p1_p2*data_p2_p1_p2
+ + coeff_I_m1_p2_p2*data_m1_p2_p2
+ + coeff_I_0_p2_p2*data_0_p2_p2
+ + coeff_I_p1_p2_p2*data_p1_p2_p2
+ + coeff_I_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dx.compute.c
new file mode 100644
index 0000000..51caa53
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dx.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dx_0_m1_m1*data_0_m1_m1
+ + coeff_dx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dx_p2_m1_m1*data_p2_m1_m1
+ + coeff_dx_m1_0_m1*data_m1_0_m1
+ + coeff_dx_0_0_m1*data_0_0_m1
+ + coeff_dx_p1_0_m1*data_p1_0_m1
+ + coeff_dx_p2_0_m1*data_p2_0_m1
+ + coeff_dx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dx_0_p1_m1*data_0_p1_m1
+ + coeff_dx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dx_p2_p1_m1*data_p2_p1_m1
+ + coeff_dx_m1_p2_m1*data_m1_p2_m1
+ + coeff_dx_0_p2_m1*data_0_p2_m1
+ + coeff_dx_p1_p2_m1*data_p1_p2_m1
+ + coeff_dx_p2_p2_m1*data_p2_p2_m1
+ + coeff_dx_m1_m1_0*data_m1_m1_0
+ + coeff_dx_0_m1_0*data_0_m1_0
+ + coeff_dx_p1_m1_0*data_p1_m1_0
+ + coeff_dx_p2_m1_0*data_p2_m1_0
+ + coeff_dx_m1_0_0*data_m1_0_0
+ + coeff_dx_0_0_0*data_0_0_0
+ + coeff_dx_p1_0_0*data_p1_0_0
+ + coeff_dx_p2_0_0*data_p2_0_0
+ + coeff_dx_m1_p1_0*data_m1_p1_0
+ + coeff_dx_0_p1_0*data_0_p1_0
+ + coeff_dx_p1_p1_0*data_p1_p1_0
+ + coeff_dx_p2_p1_0*data_p2_p1_0
+ + coeff_dx_m1_p2_0*data_m1_p2_0
+ + coeff_dx_0_p2_0*data_0_p2_0
+ + coeff_dx_p1_p2_0*data_p1_p2_0
+ + coeff_dx_p2_p2_0*data_p2_p2_0
+ + coeff_dx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dx_0_m1_p1*data_0_m1_p1
+ + coeff_dx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dx_p2_m1_p1*data_p2_m1_p1
+ + coeff_dx_m1_0_p1*data_m1_0_p1
+ + coeff_dx_0_0_p1*data_0_0_p1
+ + coeff_dx_p1_0_p1*data_p1_0_p1
+ + coeff_dx_p2_0_p1*data_p2_0_p1
+ + coeff_dx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dx_0_p1_p1*data_0_p1_p1
+ + coeff_dx_p1_p1_p1*data_p1_p1_p1
+ + coeff_dx_p2_p1_p1*data_p2_p1_p1
+ + coeff_dx_m1_p2_p1*data_m1_p2_p1
+ + coeff_dx_0_p2_p1*data_0_p2_p1
+ + coeff_dx_p1_p2_p1*data_p1_p2_p1
+ + coeff_dx_p2_p2_p1*data_p2_p2_p1
+ + coeff_dx_m1_m1_p2*data_m1_m1_p2
+ + coeff_dx_0_m1_p2*data_0_m1_p2
+ + coeff_dx_p1_m1_p2*data_p1_m1_p2
+ + coeff_dx_p2_m1_p2*data_p2_m1_p2
+ + coeff_dx_m1_0_p2*data_m1_0_p2
+ + coeff_dx_0_0_p2*data_0_0_p2
+ + coeff_dx_p1_0_p2*data_p1_0_p2
+ + coeff_dx_p2_0_p2*data_p2_0_p2
+ + coeff_dx_m1_p1_p2*data_m1_p1_p2
+ + coeff_dx_0_p1_p2*data_0_p1_p2
+ + coeff_dx_p1_p1_p2*data_p1_p1_p2
+ + coeff_dx_p2_p1_p2*data_p2_p1_p2
+ + coeff_dx_m1_p2_p2*data_m1_p2_p2
+ + coeff_dx_0_p2_p2*data_0_p2_p2
+ + coeff_dx_p1_p2_p2*data_p1_p2_p2
+ + coeff_dx_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxx.compute.c
new file mode 100644
index 0000000..4d1c4fb
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxx.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dxx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxx_0_m1_m1*data_0_m1_m1
+ + coeff_dxx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxx_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxx_m1_0_m1*data_m1_0_m1
+ + coeff_dxx_0_0_m1*data_0_0_m1
+ + coeff_dxx_p1_0_m1*data_p1_0_m1
+ + coeff_dxx_p2_0_m1*data_p2_0_m1
+ + coeff_dxx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxx_0_p1_m1*data_0_p1_m1
+ + coeff_dxx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxx_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxx_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxx_0_p2_m1*data_0_p2_m1
+ + coeff_dxx_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxx_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxx_m1_m1_0*data_m1_m1_0
+ + coeff_dxx_0_m1_0*data_0_m1_0
+ + coeff_dxx_p1_m1_0*data_p1_m1_0
+ + coeff_dxx_p2_m1_0*data_p2_m1_0
+ + coeff_dxx_m1_0_0*data_m1_0_0
+ + coeff_dxx_0_0_0*data_0_0_0
+ + coeff_dxx_p1_0_0*data_p1_0_0
+ + coeff_dxx_p2_0_0*data_p2_0_0
+ + coeff_dxx_m1_p1_0*data_m1_p1_0
+ + coeff_dxx_0_p1_0*data_0_p1_0
+ + coeff_dxx_p1_p1_0*data_p1_p1_0
+ + coeff_dxx_p2_p1_0*data_p2_p1_0
+ + coeff_dxx_m1_p2_0*data_m1_p2_0
+ + coeff_dxx_0_p2_0*data_0_p2_0
+ + coeff_dxx_p1_p2_0*data_p1_p2_0
+ + coeff_dxx_p2_p2_0*data_p2_p2_0
+ + coeff_dxx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxx_0_m1_p1*data_0_m1_p1
+ + coeff_dxx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxx_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxx_m1_0_p1*data_m1_0_p1
+ + coeff_dxx_0_0_p1*data_0_0_p1
+ + coeff_dxx_p1_0_p1*data_p1_0_p1
+ + coeff_dxx_p2_0_p1*data_p2_0_p1
+ + coeff_dxx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxx_0_p1_p1*data_0_p1_p1
+ + coeff_dxx_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxx_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxx_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxx_0_p2_p1*data_0_p2_p1
+ + coeff_dxx_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxx_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxx_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxx_0_m1_p2*data_0_m1_p2
+ + coeff_dxx_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxx_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxx_m1_0_p2*data_m1_0_p2
+ + coeff_dxx_0_0_p2*data_0_0_p2
+ + coeff_dxx_p1_0_p2*data_p1_0_p2
+ + coeff_dxx_p2_0_p2*data_p2_0_p2
+ + coeff_dxx_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxx_0_p1_p2*data_0_p1_p2
+ + coeff_dxx_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxx_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxx_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxx_0_p2_p2*data_0_p2_p2
+ + coeff_dxx_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxx_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxy.compute.c
new file mode 100644
index 0000000..16c2e90
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxy.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dxy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxy_0_m1_m1*data_0_m1_m1
+ + coeff_dxy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxy_m1_0_m1*data_m1_0_m1
+ + coeff_dxy_0_0_m1*data_0_0_m1
+ + coeff_dxy_p1_0_m1*data_p1_0_m1
+ + coeff_dxy_p2_0_m1*data_p2_0_m1
+ + coeff_dxy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxy_0_p1_m1*data_0_p1_m1
+ + coeff_dxy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxy_0_p2_m1*data_0_p2_m1
+ + coeff_dxy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxy_m1_m1_0*data_m1_m1_0
+ + coeff_dxy_0_m1_0*data_0_m1_0
+ + coeff_dxy_p1_m1_0*data_p1_m1_0
+ + coeff_dxy_p2_m1_0*data_p2_m1_0
+ + coeff_dxy_m1_0_0*data_m1_0_0
+ + coeff_dxy_0_0_0*data_0_0_0
+ + coeff_dxy_p1_0_0*data_p1_0_0
+ + coeff_dxy_p2_0_0*data_p2_0_0
+ + coeff_dxy_m1_p1_0*data_m1_p1_0
+ + coeff_dxy_0_p1_0*data_0_p1_0
+ + coeff_dxy_p1_p1_0*data_p1_p1_0
+ + coeff_dxy_p2_p1_0*data_p2_p1_0
+ + coeff_dxy_m1_p2_0*data_m1_p2_0
+ + coeff_dxy_0_p2_0*data_0_p2_0
+ + coeff_dxy_p1_p2_0*data_p1_p2_0
+ + coeff_dxy_p2_p2_0*data_p2_p2_0
+ + coeff_dxy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxy_0_m1_p1*data_0_m1_p1
+ + coeff_dxy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxy_m1_0_p1*data_m1_0_p1
+ + coeff_dxy_0_0_p1*data_0_0_p1
+ + coeff_dxy_p1_0_p1*data_p1_0_p1
+ + coeff_dxy_p2_0_p1*data_p2_0_p1
+ + coeff_dxy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxy_0_p1_p1*data_0_p1_p1
+ + coeff_dxy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxy_0_p2_p1*data_0_p2_p1
+ + coeff_dxy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxy_0_m1_p2*data_0_m1_p2
+ + coeff_dxy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxy_m1_0_p2*data_m1_0_p2
+ + coeff_dxy_0_0_p2*data_0_0_p2
+ + coeff_dxy_p1_0_p2*data_p1_0_p2
+ + coeff_dxy_p2_0_p2*data_p2_0_p2
+ + coeff_dxy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxy_0_p1_p2*data_0_p1_p2
+ + coeff_dxy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxy_0_p2_p2*data_0_p2_p2
+ + coeff_dxy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxz.compute.c
new file mode 100644
index 0000000..babbf0f
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dxz.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dxz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxz_0_m1_m1*data_0_m1_m1
+ + coeff_dxz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxz_m1_0_m1*data_m1_0_m1
+ + coeff_dxz_0_0_m1*data_0_0_m1
+ + coeff_dxz_p1_0_m1*data_p1_0_m1
+ + coeff_dxz_p2_0_m1*data_p2_0_m1
+ + coeff_dxz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxz_0_p1_m1*data_0_p1_m1
+ + coeff_dxz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxz_0_p2_m1*data_0_p2_m1
+ + coeff_dxz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxz_m1_m1_0*data_m1_m1_0
+ + coeff_dxz_0_m1_0*data_0_m1_0
+ + coeff_dxz_p1_m1_0*data_p1_m1_0
+ + coeff_dxz_p2_m1_0*data_p2_m1_0
+ + coeff_dxz_m1_0_0*data_m1_0_0
+ + coeff_dxz_0_0_0*data_0_0_0
+ + coeff_dxz_p1_0_0*data_p1_0_0
+ + coeff_dxz_p2_0_0*data_p2_0_0
+ + coeff_dxz_m1_p1_0*data_m1_p1_0
+ + coeff_dxz_0_p1_0*data_0_p1_0
+ + coeff_dxz_p1_p1_0*data_p1_p1_0
+ + coeff_dxz_p2_p1_0*data_p2_p1_0
+ + coeff_dxz_m1_p2_0*data_m1_p2_0
+ + coeff_dxz_0_p2_0*data_0_p2_0
+ + coeff_dxz_p1_p2_0*data_p1_p2_0
+ + coeff_dxz_p2_p2_0*data_p2_p2_0
+ + coeff_dxz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxz_0_m1_p1*data_0_m1_p1
+ + coeff_dxz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxz_m1_0_p1*data_m1_0_p1
+ + coeff_dxz_0_0_p1*data_0_0_p1
+ + coeff_dxz_p1_0_p1*data_p1_0_p1
+ + coeff_dxz_p2_0_p1*data_p2_0_p1
+ + coeff_dxz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxz_0_p1_p1*data_0_p1_p1
+ + coeff_dxz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxz_0_p2_p1*data_0_p2_p1
+ + coeff_dxz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxz_0_m1_p2*data_0_m1_p2
+ + coeff_dxz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxz_m1_0_p2*data_m1_0_p2
+ + coeff_dxz_0_0_p2*data_0_0_p2
+ + coeff_dxz_p1_0_p2*data_p1_0_p2
+ + coeff_dxz_p2_0_p2*data_p2_0_p2
+ + coeff_dxz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxz_0_p1_p2*data_0_p1_p2
+ + coeff_dxz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxz_0_p2_p2*data_0_p2_p2
+ + coeff_dxz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dy.compute.c
new file mode 100644
index 0000000..4dd8505
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dy.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dy_0_m1_m1*data_0_m1_m1
+ + coeff_dy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dy_m1_0_m1*data_m1_0_m1
+ + coeff_dy_0_0_m1*data_0_0_m1
+ + coeff_dy_p1_0_m1*data_p1_0_m1
+ + coeff_dy_p2_0_m1*data_p2_0_m1
+ + coeff_dy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dy_0_p1_m1*data_0_p1_m1
+ + coeff_dy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dy_0_p2_m1*data_0_p2_m1
+ + coeff_dy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dy_m1_m1_0*data_m1_m1_0
+ + coeff_dy_0_m1_0*data_0_m1_0
+ + coeff_dy_p1_m1_0*data_p1_m1_0
+ + coeff_dy_p2_m1_0*data_p2_m1_0
+ + coeff_dy_m1_0_0*data_m1_0_0
+ + coeff_dy_0_0_0*data_0_0_0
+ + coeff_dy_p1_0_0*data_p1_0_0
+ + coeff_dy_p2_0_0*data_p2_0_0
+ + coeff_dy_m1_p1_0*data_m1_p1_0
+ + coeff_dy_0_p1_0*data_0_p1_0
+ + coeff_dy_p1_p1_0*data_p1_p1_0
+ + coeff_dy_p2_p1_0*data_p2_p1_0
+ + coeff_dy_m1_p2_0*data_m1_p2_0
+ + coeff_dy_0_p2_0*data_0_p2_0
+ + coeff_dy_p1_p2_0*data_p1_p2_0
+ + coeff_dy_p2_p2_0*data_p2_p2_0
+ + coeff_dy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dy_0_m1_p1*data_0_m1_p1
+ + coeff_dy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dy_m1_0_p1*data_m1_0_p1
+ + coeff_dy_0_0_p1*data_0_0_p1
+ + coeff_dy_p1_0_p1*data_p1_0_p1
+ + coeff_dy_p2_0_p1*data_p2_0_p1
+ + coeff_dy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dy_0_p1_p1*data_0_p1_p1
+ + coeff_dy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dy_0_p2_p1*data_0_p2_p1
+ + coeff_dy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dy_0_m1_p2*data_0_m1_p2
+ + coeff_dy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dy_m1_0_p2*data_m1_0_p2
+ + coeff_dy_0_0_p2*data_0_0_p2
+ + coeff_dy_p1_0_p2*data_p1_0_p2
+ + coeff_dy_p2_0_p2*data_p2_0_p2
+ + coeff_dy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dy_0_p1_p2*data_0_p1_p2
+ + coeff_dy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dy_0_p2_p2*data_0_p2_p2
+ + coeff_dy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyy.compute.c
new file mode 100644
index 0000000..75357b5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyy.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dyy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyy_0_m1_m1*data_0_m1_m1
+ + coeff_dyy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dyy_m1_0_m1*data_m1_0_m1
+ + coeff_dyy_0_0_m1*data_0_0_m1
+ + coeff_dyy_p1_0_m1*data_p1_0_m1
+ + coeff_dyy_p2_0_m1*data_p2_0_m1
+ + coeff_dyy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyy_0_p1_m1*data_0_p1_m1
+ + coeff_dyy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dyy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dyy_0_p2_m1*data_0_p2_m1
+ + coeff_dyy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dyy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dyy_m1_m1_0*data_m1_m1_0
+ + coeff_dyy_0_m1_0*data_0_m1_0
+ + coeff_dyy_p1_m1_0*data_p1_m1_0
+ + coeff_dyy_p2_m1_0*data_p2_m1_0
+ + coeff_dyy_m1_0_0*data_m1_0_0
+ + coeff_dyy_0_0_0*data_0_0_0
+ + coeff_dyy_p1_0_0*data_p1_0_0
+ + coeff_dyy_p2_0_0*data_p2_0_0
+ + coeff_dyy_m1_p1_0*data_m1_p1_0
+ + coeff_dyy_0_p1_0*data_0_p1_0
+ + coeff_dyy_p1_p1_0*data_p1_p1_0
+ + coeff_dyy_p2_p1_0*data_p2_p1_0
+ + coeff_dyy_m1_p2_0*data_m1_p2_0
+ + coeff_dyy_0_p2_0*data_0_p2_0
+ + coeff_dyy_p1_p2_0*data_p1_p2_0
+ + coeff_dyy_p2_p2_0*data_p2_p2_0
+ + coeff_dyy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyy_0_m1_p1*data_0_m1_p1
+ + coeff_dyy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dyy_m1_0_p1*data_m1_0_p1
+ + coeff_dyy_0_0_p1*data_0_0_p1
+ + coeff_dyy_p1_0_p1*data_p1_0_p1
+ + coeff_dyy_p2_0_p1*data_p2_0_p1
+ + coeff_dyy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyy_0_p1_p1*data_0_p1_p1
+ + coeff_dyy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dyy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dyy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dyy_0_p2_p1*data_0_p2_p1
+ + coeff_dyy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dyy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dyy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dyy_0_m1_p2*data_0_m1_p2
+ + coeff_dyy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dyy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dyy_m1_0_p2*data_m1_0_p2
+ + coeff_dyy_0_0_p2*data_0_0_p2
+ + coeff_dyy_p1_0_p2*data_p1_0_p2
+ + coeff_dyy_p2_0_p2*data_p2_0_p2
+ + coeff_dyy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dyy_0_p1_p2*data_0_p1_p2
+ + coeff_dyy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dyy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dyy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dyy_0_p2_p2*data_0_p2_p2
+ + coeff_dyy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dyy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyz.compute.c
new file mode 100644
index 0000000..247cd6e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dyz.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dyz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyz_0_m1_m1*data_0_m1_m1
+ + coeff_dyz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dyz_m1_0_m1*data_m1_0_m1
+ + coeff_dyz_0_0_m1*data_0_0_m1
+ + coeff_dyz_p1_0_m1*data_p1_0_m1
+ + coeff_dyz_p2_0_m1*data_p2_0_m1
+ + coeff_dyz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyz_0_p1_m1*data_0_p1_m1
+ + coeff_dyz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dyz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dyz_0_p2_m1*data_0_p2_m1
+ + coeff_dyz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dyz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dyz_m1_m1_0*data_m1_m1_0
+ + coeff_dyz_0_m1_0*data_0_m1_0
+ + coeff_dyz_p1_m1_0*data_p1_m1_0
+ + coeff_dyz_p2_m1_0*data_p2_m1_0
+ + coeff_dyz_m1_0_0*data_m1_0_0
+ + coeff_dyz_0_0_0*data_0_0_0
+ + coeff_dyz_p1_0_0*data_p1_0_0
+ + coeff_dyz_p2_0_0*data_p2_0_0
+ + coeff_dyz_m1_p1_0*data_m1_p1_0
+ + coeff_dyz_0_p1_0*data_0_p1_0
+ + coeff_dyz_p1_p1_0*data_p1_p1_0
+ + coeff_dyz_p2_p1_0*data_p2_p1_0
+ + coeff_dyz_m1_p2_0*data_m1_p2_0
+ + coeff_dyz_0_p2_0*data_0_p2_0
+ + coeff_dyz_p1_p2_0*data_p1_p2_0
+ + coeff_dyz_p2_p2_0*data_p2_p2_0
+ + coeff_dyz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyz_0_m1_p1*data_0_m1_p1
+ + coeff_dyz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dyz_m1_0_p1*data_m1_0_p1
+ + coeff_dyz_0_0_p1*data_0_0_p1
+ + coeff_dyz_p1_0_p1*data_p1_0_p1
+ + coeff_dyz_p2_0_p1*data_p2_0_p1
+ + coeff_dyz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyz_0_p1_p1*data_0_p1_p1
+ + coeff_dyz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dyz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dyz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dyz_0_p2_p1*data_0_p2_p1
+ + coeff_dyz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dyz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dyz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dyz_0_m1_p2*data_0_m1_p2
+ + coeff_dyz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dyz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dyz_m1_0_p2*data_m1_0_p2
+ + coeff_dyz_0_0_p2*data_0_0_p2
+ + coeff_dyz_p1_0_p2*data_p1_0_p2
+ + coeff_dyz_p2_0_p2*data_p2_0_p2
+ + coeff_dyz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dyz_0_p1_p2*data_0_p1_p2
+ + coeff_dyz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dyz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dyz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dyz_0_p2_p2*data_0_p2_p2
+ + coeff_dyz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dyz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dz.compute.c
new file mode 100644
index 0000000..7bb7e24
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dz.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dz_0_m1_m1*data_0_m1_m1
+ + coeff_dz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dz_m1_0_m1*data_m1_0_m1
+ + coeff_dz_0_0_m1*data_0_0_m1
+ + coeff_dz_p1_0_m1*data_p1_0_m1
+ + coeff_dz_p2_0_m1*data_p2_0_m1
+ + coeff_dz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dz_0_p1_m1*data_0_p1_m1
+ + coeff_dz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dz_0_p2_m1*data_0_p2_m1
+ + coeff_dz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dz_m1_m1_0*data_m1_m1_0
+ + coeff_dz_0_m1_0*data_0_m1_0
+ + coeff_dz_p1_m1_0*data_p1_m1_0
+ + coeff_dz_p2_m1_0*data_p2_m1_0
+ + coeff_dz_m1_0_0*data_m1_0_0
+ + coeff_dz_0_0_0*data_0_0_0
+ + coeff_dz_p1_0_0*data_p1_0_0
+ + coeff_dz_p2_0_0*data_p2_0_0
+ + coeff_dz_m1_p1_0*data_m1_p1_0
+ + coeff_dz_0_p1_0*data_0_p1_0
+ + coeff_dz_p1_p1_0*data_p1_p1_0
+ + coeff_dz_p2_p1_0*data_p2_p1_0
+ + coeff_dz_m1_p2_0*data_m1_p2_0
+ + coeff_dz_0_p2_0*data_0_p2_0
+ + coeff_dz_p1_p2_0*data_p1_p2_0
+ + coeff_dz_p2_p2_0*data_p2_p2_0
+ + coeff_dz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dz_0_m1_p1*data_0_m1_p1
+ + coeff_dz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dz_m1_0_p1*data_m1_0_p1
+ + coeff_dz_0_0_p1*data_0_0_p1
+ + coeff_dz_p1_0_p1*data_p1_0_p1
+ + coeff_dz_p2_0_p1*data_p2_0_p1
+ + coeff_dz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dz_0_p1_p1*data_0_p1_p1
+ + coeff_dz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dz_0_p2_p1*data_0_p2_p1
+ + coeff_dz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dz_0_m1_p2*data_0_m1_p2
+ + coeff_dz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dz_m1_0_p2*data_m1_0_p2
+ + coeff_dz_0_0_p2*data_0_0_p2
+ + coeff_dz_p1_0_p2*data_p1_0_p2
+ + coeff_dz_p2_0_p2*data_p2_0_p2
+ + coeff_dz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dz_0_p1_p2*data_0_p1_p2
+ + coeff_dz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dz_0_p2_p2*data_0_p2_p2
+ + coeff_dz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dzz.compute.c
new file mode 100644
index 0000000..523242a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size4/interp-dzz.compute.c
@@ -0,0 +1,65 @@
+result =
+ coeff_dzz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dzz_0_m1_m1*data_0_m1_m1
+ + coeff_dzz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dzz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dzz_m1_0_m1*data_m1_0_m1
+ + coeff_dzz_0_0_m1*data_0_0_m1
+ + coeff_dzz_p1_0_m1*data_p1_0_m1
+ + coeff_dzz_p2_0_m1*data_p2_0_m1
+ + coeff_dzz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dzz_0_p1_m1*data_0_p1_m1
+ + coeff_dzz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dzz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dzz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dzz_0_p2_m1*data_0_p2_m1
+ + coeff_dzz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dzz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dzz_m1_m1_0*data_m1_m1_0
+ + coeff_dzz_0_m1_0*data_0_m1_0
+ + coeff_dzz_p1_m1_0*data_p1_m1_0
+ + coeff_dzz_p2_m1_0*data_p2_m1_0
+ + coeff_dzz_m1_0_0*data_m1_0_0
+ + coeff_dzz_0_0_0*data_0_0_0
+ + coeff_dzz_p1_0_0*data_p1_0_0
+ + coeff_dzz_p2_0_0*data_p2_0_0
+ + coeff_dzz_m1_p1_0*data_m1_p1_0
+ + coeff_dzz_0_p1_0*data_0_p1_0
+ + coeff_dzz_p1_p1_0*data_p1_p1_0
+ + coeff_dzz_p2_p1_0*data_p2_p1_0
+ + coeff_dzz_m1_p2_0*data_m1_p2_0
+ + coeff_dzz_0_p2_0*data_0_p2_0
+ + coeff_dzz_p1_p2_0*data_p1_p2_0
+ + coeff_dzz_p2_p2_0*data_p2_p2_0
+ + coeff_dzz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dzz_0_m1_p1*data_0_m1_p1
+ + coeff_dzz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dzz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dzz_m1_0_p1*data_m1_0_p1
+ + coeff_dzz_0_0_p1*data_0_0_p1
+ + coeff_dzz_p1_0_p1*data_p1_0_p1
+ + coeff_dzz_p2_0_p1*data_p2_0_p1
+ + coeff_dzz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dzz_0_p1_p1*data_0_p1_p1
+ + coeff_dzz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dzz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dzz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dzz_0_p2_p1*data_0_p2_p1
+ + coeff_dzz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dzz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dzz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dzz_0_m1_p2*data_0_m1_p2
+ + coeff_dzz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dzz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dzz_m1_0_p2*data_m1_0_p2
+ + coeff_dzz_0_0_p2*data_0_0_p2
+ + coeff_dzz_p1_0_p2*data_p1_0_p2
+ + coeff_dzz_p2_0_p2*data_p2_0_p2
+ + coeff_dzz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dzz_0_p1_p2*data_0_p1_p2
+ + coeff_dzz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dzz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dzz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dzz_0_p2_p2*data_0_p2_p2
+ + coeff_dzz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dzz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-I.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-I.dcl.c
new file mode 100644
index 0000000..f491306
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-I.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_I_m2_m2_m2,
+ coeff_I_m1_m2_m2,
+ coeff_I_0_m2_m2,
+ coeff_I_p1_m2_m2,
+ coeff_I_p2_m2_m2,
+ coeff_I_m2_m1_m2,
+ coeff_I_m1_m1_m2,
+ coeff_I_0_m1_m2,
+ coeff_I_p1_m1_m2,
+ coeff_I_p2_m1_m2,
+ coeff_I_m2_0_m2,
+ coeff_I_m1_0_m2,
+ coeff_I_0_0_m2,
+ coeff_I_p1_0_m2,
+ coeff_I_p2_0_m2,
+ coeff_I_m2_p1_m2,
+ coeff_I_m1_p1_m2,
+ coeff_I_0_p1_m2,
+ coeff_I_p1_p1_m2,
+ coeff_I_p2_p1_m2,
+ coeff_I_m2_p2_m2,
+ coeff_I_m1_p2_m2,
+ coeff_I_0_p2_m2,
+ coeff_I_p1_p2_m2,
+ coeff_I_p2_p2_m2,
+ coeff_I_m2_m2_m1,
+ coeff_I_m1_m2_m1,
+ coeff_I_0_m2_m1,
+ coeff_I_p1_m2_m1,
+ coeff_I_p2_m2_m1,
+ coeff_I_m2_m1_m1,
+ coeff_I_m1_m1_m1,
+ coeff_I_0_m1_m1,
+ coeff_I_p1_m1_m1,
+ coeff_I_p2_m1_m1,
+ coeff_I_m2_0_m1,
+ coeff_I_m1_0_m1,
+ coeff_I_0_0_m1,
+ coeff_I_p1_0_m1,
+ coeff_I_p2_0_m1,
+ coeff_I_m2_p1_m1,
+ coeff_I_m1_p1_m1,
+ coeff_I_0_p1_m1,
+ coeff_I_p1_p1_m1,
+ coeff_I_p2_p1_m1,
+ coeff_I_m2_p2_m1,
+ coeff_I_m1_p2_m1,
+ coeff_I_0_p2_m1,
+ coeff_I_p1_p2_m1,
+ coeff_I_p2_p2_m1,
+ coeff_I_m2_m2_0,
+ coeff_I_m1_m2_0,
+ coeff_I_0_m2_0,
+ coeff_I_p1_m2_0,
+ coeff_I_p2_m2_0,
+ coeff_I_m2_m1_0,
+ coeff_I_m1_m1_0,
+ coeff_I_0_m1_0,
+ coeff_I_p1_m1_0,
+ coeff_I_p2_m1_0,
+ coeff_I_m2_0_0,
+ coeff_I_m1_0_0,
+ coeff_I_0_0_0,
+ coeff_I_p1_0_0,
+ coeff_I_p2_0_0,
+ coeff_I_m2_p1_0,
+ coeff_I_m1_p1_0,
+ coeff_I_0_p1_0,
+ coeff_I_p1_p1_0,
+ coeff_I_p2_p1_0,
+ coeff_I_m2_p2_0,
+ coeff_I_m1_p2_0,
+ coeff_I_0_p2_0,
+ coeff_I_p1_p2_0,
+ coeff_I_p2_p2_0,
+ coeff_I_m2_m2_p1,
+ coeff_I_m1_m2_p1,
+ coeff_I_0_m2_p1,
+ coeff_I_p1_m2_p1,
+ coeff_I_p2_m2_p1,
+ coeff_I_m2_m1_p1,
+ coeff_I_m1_m1_p1,
+ coeff_I_0_m1_p1,
+ coeff_I_p1_m1_p1,
+ coeff_I_p2_m1_p1,
+ coeff_I_m2_0_p1,
+ coeff_I_m1_0_p1,
+ coeff_I_0_0_p1,
+ coeff_I_p1_0_p1,
+ coeff_I_p2_0_p1,
+ coeff_I_m2_p1_p1,
+ coeff_I_m1_p1_p1,
+ coeff_I_0_p1_p1,
+ coeff_I_p1_p1_p1,
+ coeff_I_p2_p1_p1,
+ coeff_I_m2_p2_p1,
+ coeff_I_m1_p2_p1,
+ coeff_I_0_p2_p1,
+ coeff_I_p1_p2_p1,
+ coeff_I_p2_p2_p1,
+ coeff_I_m2_m2_p2,
+ coeff_I_m1_m2_p2,
+ coeff_I_0_m2_p2,
+ coeff_I_p1_m2_p2,
+ coeff_I_p2_m2_p2,
+ coeff_I_m2_m1_p2,
+ coeff_I_m1_m1_p2,
+ coeff_I_0_m1_p2,
+ coeff_I_p1_m1_p2,
+ coeff_I_p2_m1_p2,
+ coeff_I_m2_0_p2,
+ coeff_I_m1_0_p2,
+ coeff_I_0_0_p2,
+ coeff_I_p1_0_p2,
+ coeff_I_p2_0_p2,
+ coeff_I_m2_p1_p2,
+ coeff_I_m1_p1_p2,
+ coeff_I_0_p1_p2,
+ coeff_I_p1_p1_p2,
+ coeff_I_p2_p1_p2,
+ coeff_I_m2_p2_p2,
+ coeff_I_m1_p2_p2,
+ coeff_I_0_p2_p2,
+ coeff_I_p1_p2_p2,
+ coeff_I_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dx.dcl.c
new file mode 100644
index 0000000..0c923f3
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dx.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dx_m2_m2_m2,
+ coeff_dx_m1_m2_m2,
+ coeff_dx_0_m2_m2,
+ coeff_dx_p1_m2_m2,
+ coeff_dx_p2_m2_m2,
+ coeff_dx_m2_m1_m2,
+ coeff_dx_m1_m1_m2,
+ coeff_dx_0_m1_m2,
+ coeff_dx_p1_m1_m2,
+ coeff_dx_p2_m1_m2,
+ coeff_dx_m2_0_m2,
+ coeff_dx_m1_0_m2,
+ coeff_dx_0_0_m2,
+ coeff_dx_p1_0_m2,
+ coeff_dx_p2_0_m2,
+ coeff_dx_m2_p1_m2,
+ coeff_dx_m1_p1_m2,
+ coeff_dx_0_p1_m2,
+ coeff_dx_p1_p1_m2,
+ coeff_dx_p2_p1_m2,
+ coeff_dx_m2_p2_m2,
+ coeff_dx_m1_p2_m2,
+ coeff_dx_0_p2_m2,
+ coeff_dx_p1_p2_m2,
+ coeff_dx_p2_p2_m2,
+ coeff_dx_m2_m2_m1,
+ coeff_dx_m1_m2_m1,
+ coeff_dx_0_m2_m1,
+ coeff_dx_p1_m2_m1,
+ coeff_dx_p2_m2_m1,
+ coeff_dx_m2_m1_m1,
+ coeff_dx_m1_m1_m1,
+ coeff_dx_0_m1_m1,
+ coeff_dx_p1_m1_m1,
+ coeff_dx_p2_m1_m1,
+ coeff_dx_m2_0_m1,
+ coeff_dx_m1_0_m1,
+ coeff_dx_0_0_m1,
+ coeff_dx_p1_0_m1,
+ coeff_dx_p2_0_m1,
+ coeff_dx_m2_p1_m1,
+ coeff_dx_m1_p1_m1,
+ coeff_dx_0_p1_m1,
+ coeff_dx_p1_p1_m1,
+ coeff_dx_p2_p1_m1,
+ coeff_dx_m2_p2_m1,
+ coeff_dx_m1_p2_m1,
+ coeff_dx_0_p2_m1,
+ coeff_dx_p1_p2_m1,
+ coeff_dx_p2_p2_m1,
+ coeff_dx_m2_m2_0,
+ coeff_dx_m1_m2_0,
+ coeff_dx_0_m2_0,
+ coeff_dx_p1_m2_0,
+ coeff_dx_p2_m2_0,
+ coeff_dx_m2_m1_0,
+ coeff_dx_m1_m1_0,
+ coeff_dx_0_m1_0,
+ coeff_dx_p1_m1_0,
+ coeff_dx_p2_m1_0,
+ coeff_dx_m2_0_0,
+ coeff_dx_m1_0_0,
+ coeff_dx_0_0_0,
+ coeff_dx_p1_0_0,
+ coeff_dx_p2_0_0,
+ coeff_dx_m2_p1_0,
+ coeff_dx_m1_p1_0,
+ coeff_dx_0_p1_0,
+ coeff_dx_p1_p1_0,
+ coeff_dx_p2_p1_0,
+ coeff_dx_m2_p2_0,
+ coeff_dx_m1_p2_0,
+ coeff_dx_0_p2_0,
+ coeff_dx_p1_p2_0,
+ coeff_dx_p2_p2_0,
+ coeff_dx_m2_m2_p1,
+ coeff_dx_m1_m2_p1,
+ coeff_dx_0_m2_p1,
+ coeff_dx_p1_m2_p1,
+ coeff_dx_p2_m2_p1,
+ coeff_dx_m2_m1_p1,
+ coeff_dx_m1_m1_p1,
+ coeff_dx_0_m1_p1,
+ coeff_dx_p1_m1_p1,
+ coeff_dx_p2_m1_p1,
+ coeff_dx_m2_0_p1,
+ coeff_dx_m1_0_p1,
+ coeff_dx_0_0_p1,
+ coeff_dx_p1_0_p1,
+ coeff_dx_p2_0_p1,
+ coeff_dx_m2_p1_p1,
+ coeff_dx_m1_p1_p1,
+ coeff_dx_0_p1_p1,
+ coeff_dx_p1_p1_p1,
+ coeff_dx_p2_p1_p1,
+ coeff_dx_m2_p2_p1,
+ coeff_dx_m1_p2_p1,
+ coeff_dx_0_p2_p1,
+ coeff_dx_p1_p2_p1,
+ coeff_dx_p2_p2_p1,
+ coeff_dx_m2_m2_p2,
+ coeff_dx_m1_m2_p2,
+ coeff_dx_0_m2_p2,
+ coeff_dx_p1_m2_p2,
+ coeff_dx_p2_m2_p2,
+ coeff_dx_m2_m1_p2,
+ coeff_dx_m1_m1_p2,
+ coeff_dx_0_m1_p2,
+ coeff_dx_p1_m1_p2,
+ coeff_dx_p2_m1_p2,
+ coeff_dx_m2_0_p2,
+ coeff_dx_m1_0_p2,
+ coeff_dx_0_0_p2,
+ coeff_dx_p1_0_p2,
+ coeff_dx_p2_0_p2,
+ coeff_dx_m2_p1_p2,
+ coeff_dx_m1_p1_p2,
+ coeff_dx_0_p1_p2,
+ coeff_dx_p1_p1_p2,
+ coeff_dx_p2_p1_p2,
+ coeff_dx_m2_p2_p2,
+ coeff_dx_m1_p2_p2,
+ coeff_dx_0_p2_p2,
+ coeff_dx_p1_p2_p2,
+ coeff_dx_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c
new file mode 100644
index 0000000..e7cb52f
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dxx_m2_m2_m2,
+ coeff_dxx_m1_m2_m2,
+ coeff_dxx_0_m2_m2,
+ coeff_dxx_p1_m2_m2,
+ coeff_dxx_p2_m2_m2,
+ coeff_dxx_m2_m1_m2,
+ coeff_dxx_m1_m1_m2,
+ coeff_dxx_0_m1_m2,
+ coeff_dxx_p1_m1_m2,
+ coeff_dxx_p2_m1_m2,
+ coeff_dxx_m2_0_m2,
+ coeff_dxx_m1_0_m2,
+ coeff_dxx_0_0_m2,
+ coeff_dxx_p1_0_m2,
+ coeff_dxx_p2_0_m2,
+ coeff_dxx_m2_p1_m2,
+ coeff_dxx_m1_p1_m2,
+ coeff_dxx_0_p1_m2,
+ coeff_dxx_p1_p1_m2,
+ coeff_dxx_p2_p1_m2,
+ coeff_dxx_m2_p2_m2,
+ coeff_dxx_m1_p2_m2,
+ coeff_dxx_0_p2_m2,
+ coeff_dxx_p1_p2_m2,
+ coeff_dxx_p2_p2_m2,
+ coeff_dxx_m2_m2_m1,
+ coeff_dxx_m1_m2_m1,
+ coeff_dxx_0_m2_m1,
+ coeff_dxx_p1_m2_m1,
+ coeff_dxx_p2_m2_m1,
+ coeff_dxx_m2_m1_m1,
+ coeff_dxx_m1_m1_m1,
+ coeff_dxx_0_m1_m1,
+ coeff_dxx_p1_m1_m1,
+ coeff_dxx_p2_m1_m1,
+ coeff_dxx_m2_0_m1,
+ coeff_dxx_m1_0_m1,
+ coeff_dxx_0_0_m1,
+ coeff_dxx_p1_0_m1,
+ coeff_dxx_p2_0_m1,
+ coeff_dxx_m2_p1_m1,
+ coeff_dxx_m1_p1_m1,
+ coeff_dxx_0_p1_m1,
+ coeff_dxx_p1_p1_m1,
+ coeff_dxx_p2_p1_m1,
+ coeff_dxx_m2_p2_m1,
+ coeff_dxx_m1_p2_m1,
+ coeff_dxx_0_p2_m1,
+ coeff_dxx_p1_p2_m1,
+ coeff_dxx_p2_p2_m1,
+ coeff_dxx_m2_m2_0,
+ coeff_dxx_m1_m2_0,
+ coeff_dxx_0_m2_0,
+ coeff_dxx_p1_m2_0,
+ coeff_dxx_p2_m2_0,
+ coeff_dxx_m2_m1_0,
+ coeff_dxx_m1_m1_0,
+ coeff_dxx_0_m1_0,
+ coeff_dxx_p1_m1_0,
+ coeff_dxx_p2_m1_0,
+ coeff_dxx_m2_0_0,
+ coeff_dxx_m1_0_0,
+ coeff_dxx_0_0_0,
+ coeff_dxx_p1_0_0,
+ coeff_dxx_p2_0_0,
+ coeff_dxx_m2_p1_0,
+ coeff_dxx_m1_p1_0,
+ coeff_dxx_0_p1_0,
+ coeff_dxx_p1_p1_0,
+ coeff_dxx_p2_p1_0,
+ coeff_dxx_m2_p2_0,
+ coeff_dxx_m1_p2_0,
+ coeff_dxx_0_p2_0,
+ coeff_dxx_p1_p2_0,
+ coeff_dxx_p2_p2_0,
+ coeff_dxx_m2_m2_p1,
+ coeff_dxx_m1_m2_p1,
+ coeff_dxx_0_m2_p1,
+ coeff_dxx_p1_m2_p1,
+ coeff_dxx_p2_m2_p1,
+ coeff_dxx_m2_m1_p1,
+ coeff_dxx_m1_m1_p1,
+ coeff_dxx_0_m1_p1,
+ coeff_dxx_p1_m1_p1,
+ coeff_dxx_p2_m1_p1,
+ coeff_dxx_m2_0_p1,
+ coeff_dxx_m1_0_p1,
+ coeff_dxx_0_0_p1,
+ coeff_dxx_p1_0_p1,
+ coeff_dxx_p2_0_p1,
+ coeff_dxx_m2_p1_p1,
+ coeff_dxx_m1_p1_p1,
+ coeff_dxx_0_p1_p1,
+ coeff_dxx_p1_p1_p1,
+ coeff_dxx_p2_p1_p1,
+ coeff_dxx_m2_p2_p1,
+ coeff_dxx_m1_p2_p1,
+ coeff_dxx_0_p2_p1,
+ coeff_dxx_p1_p2_p1,
+ coeff_dxx_p2_p2_p1,
+ coeff_dxx_m2_m2_p2,
+ coeff_dxx_m1_m2_p2,
+ coeff_dxx_0_m2_p2,
+ coeff_dxx_p1_m2_p2,
+ coeff_dxx_p2_m2_p2,
+ coeff_dxx_m2_m1_p2,
+ coeff_dxx_m1_m1_p2,
+ coeff_dxx_0_m1_p2,
+ coeff_dxx_p1_m1_p2,
+ coeff_dxx_p2_m1_p2,
+ coeff_dxx_m2_0_p2,
+ coeff_dxx_m1_0_p2,
+ coeff_dxx_0_0_p2,
+ coeff_dxx_p1_0_p2,
+ coeff_dxx_p2_0_p2,
+ coeff_dxx_m2_p1_p2,
+ coeff_dxx_m1_p1_p2,
+ coeff_dxx_0_p1_p2,
+ coeff_dxx_p1_p1_p2,
+ coeff_dxx_p2_p1_p2,
+ coeff_dxx_m2_p2_p2,
+ coeff_dxx_m1_p2_p2,
+ coeff_dxx_0_p2_p2,
+ coeff_dxx_p1_p2_p2,
+ coeff_dxx_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c
new file mode 100644
index 0000000..3b029c8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dxy_m2_m2_m2,
+ coeff_dxy_m1_m2_m2,
+ coeff_dxy_0_m2_m2,
+ coeff_dxy_p1_m2_m2,
+ coeff_dxy_p2_m2_m2,
+ coeff_dxy_m2_m1_m2,
+ coeff_dxy_m1_m1_m2,
+ coeff_dxy_0_m1_m2,
+ coeff_dxy_p1_m1_m2,
+ coeff_dxy_p2_m1_m2,
+ coeff_dxy_m2_0_m2,
+ coeff_dxy_m1_0_m2,
+ coeff_dxy_0_0_m2,
+ coeff_dxy_p1_0_m2,
+ coeff_dxy_p2_0_m2,
+ coeff_dxy_m2_p1_m2,
+ coeff_dxy_m1_p1_m2,
+ coeff_dxy_0_p1_m2,
+ coeff_dxy_p1_p1_m2,
+ coeff_dxy_p2_p1_m2,
+ coeff_dxy_m2_p2_m2,
+ coeff_dxy_m1_p2_m2,
+ coeff_dxy_0_p2_m2,
+ coeff_dxy_p1_p2_m2,
+ coeff_dxy_p2_p2_m2,
+ coeff_dxy_m2_m2_m1,
+ coeff_dxy_m1_m2_m1,
+ coeff_dxy_0_m2_m1,
+ coeff_dxy_p1_m2_m1,
+ coeff_dxy_p2_m2_m1,
+ coeff_dxy_m2_m1_m1,
+ coeff_dxy_m1_m1_m1,
+ coeff_dxy_0_m1_m1,
+ coeff_dxy_p1_m1_m1,
+ coeff_dxy_p2_m1_m1,
+ coeff_dxy_m2_0_m1,
+ coeff_dxy_m1_0_m1,
+ coeff_dxy_0_0_m1,
+ coeff_dxy_p1_0_m1,
+ coeff_dxy_p2_0_m1,
+ coeff_dxy_m2_p1_m1,
+ coeff_dxy_m1_p1_m1,
+ coeff_dxy_0_p1_m1,
+ coeff_dxy_p1_p1_m1,
+ coeff_dxy_p2_p1_m1,
+ coeff_dxy_m2_p2_m1,
+ coeff_dxy_m1_p2_m1,
+ coeff_dxy_0_p2_m1,
+ coeff_dxy_p1_p2_m1,
+ coeff_dxy_p2_p2_m1,
+ coeff_dxy_m2_m2_0,
+ coeff_dxy_m1_m2_0,
+ coeff_dxy_0_m2_0,
+ coeff_dxy_p1_m2_0,
+ coeff_dxy_p2_m2_0,
+ coeff_dxy_m2_m1_0,
+ coeff_dxy_m1_m1_0,
+ coeff_dxy_0_m1_0,
+ coeff_dxy_p1_m1_0,
+ coeff_dxy_p2_m1_0,
+ coeff_dxy_m2_0_0,
+ coeff_dxy_m1_0_0,
+ coeff_dxy_0_0_0,
+ coeff_dxy_p1_0_0,
+ coeff_dxy_p2_0_0,
+ coeff_dxy_m2_p1_0,
+ coeff_dxy_m1_p1_0,
+ coeff_dxy_0_p1_0,
+ coeff_dxy_p1_p1_0,
+ coeff_dxy_p2_p1_0,
+ coeff_dxy_m2_p2_0,
+ coeff_dxy_m1_p2_0,
+ coeff_dxy_0_p2_0,
+ coeff_dxy_p1_p2_0,
+ coeff_dxy_p2_p2_0,
+ coeff_dxy_m2_m2_p1,
+ coeff_dxy_m1_m2_p1,
+ coeff_dxy_0_m2_p1,
+ coeff_dxy_p1_m2_p1,
+ coeff_dxy_p2_m2_p1,
+ coeff_dxy_m2_m1_p1,
+ coeff_dxy_m1_m1_p1,
+ coeff_dxy_0_m1_p1,
+ coeff_dxy_p1_m1_p1,
+ coeff_dxy_p2_m1_p1,
+ coeff_dxy_m2_0_p1,
+ coeff_dxy_m1_0_p1,
+ coeff_dxy_0_0_p1,
+ coeff_dxy_p1_0_p1,
+ coeff_dxy_p2_0_p1,
+ coeff_dxy_m2_p1_p1,
+ coeff_dxy_m1_p1_p1,
+ coeff_dxy_0_p1_p1,
+ coeff_dxy_p1_p1_p1,
+ coeff_dxy_p2_p1_p1,
+ coeff_dxy_m2_p2_p1,
+ coeff_dxy_m1_p2_p1,
+ coeff_dxy_0_p2_p1,
+ coeff_dxy_p1_p2_p1,
+ coeff_dxy_p2_p2_p1,
+ coeff_dxy_m2_m2_p2,
+ coeff_dxy_m1_m2_p2,
+ coeff_dxy_0_m2_p2,
+ coeff_dxy_p1_m2_p2,
+ coeff_dxy_p2_m2_p2,
+ coeff_dxy_m2_m1_p2,
+ coeff_dxy_m1_m1_p2,
+ coeff_dxy_0_m1_p2,
+ coeff_dxy_p1_m1_p2,
+ coeff_dxy_p2_m1_p2,
+ coeff_dxy_m2_0_p2,
+ coeff_dxy_m1_0_p2,
+ coeff_dxy_0_0_p2,
+ coeff_dxy_p1_0_p2,
+ coeff_dxy_p2_0_p2,
+ coeff_dxy_m2_p1_p2,
+ coeff_dxy_m1_p1_p2,
+ coeff_dxy_0_p1_p2,
+ coeff_dxy_p1_p1_p2,
+ coeff_dxy_p2_p1_p2,
+ coeff_dxy_m2_p2_p2,
+ coeff_dxy_m1_p2_p2,
+ coeff_dxy_0_p2_p2,
+ coeff_dxy_p1_p2_p2,
+ coeff_dxy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c
new file mode 100644
index 0000000..4db13a0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dxz_m2_m2_m2,
+ coeff_dxz_m1_m2_m2,
+ coeff_dxz_0_m2_m2,
+ coeff_dxz_p1_m2_m2,
+ coeff_dxz_p2_m2_m2,
+ coeff_dxz_m2_m1_m2,
+ coeff_dxz_m1_m1_m2,
+ coeff_dxz_0_m1_m2,
+ coeff_dxz_p1_m1_m2,
+ coeff_dxz_p2_m1_m2,
+ coeff_dxz_m2_0_m2,
+ coeff_dxz_m1_0_m2,
+ coeff_dxz_0_0_m2,
+ coeff_dxz_p1_0_m2,
+ coeff_dxz_p2_0_m2,
+ coeff_dxz_m2_p1_m2,
+ coeff_dxz_m1_p1_m2,
+ coeff_dxz_0_p1_m2,
+ coeff_dxz_p1_p1_m2,
+ coeff_dxz_p2_p1_m2,
+ coeff_dxz_m2_p2_m2,
+ coeff_dxz_m1_p2_m2,
+ coeff_dxz_0_p2_m2,
+ coeff_dxz_p1_p2_m2,
+ coeff_dxz_p2_p2_m2,
+ coeff_dxz_m2_m2_m1,
+ coeff_dxz_m1_m2_m1,
+ coeff_dxz_0_m2_m1,
+ coeff_dxz_p1_m2_m1,
+ coeff_dxz_p2_m2_m1,
+ coeff_dxz_m2_m1_m1,
+ coeff_dxz_m1_m1_m1,
+ coeff_dxz_0_m1_m1,
+ coeff_dxz_p1_m1_m1,
+ coeff_dxz_p2_m1_m1,
+ coeff_dxz_m2_0_m1,
+ coeff_dxz_m1_0_m1,
+ coeff_dxz_0_0_m1,
+ coeff_dxz_p1_0_m1,
+ coeff_dxz_p2_0_m1,
+ coeff_dxz_m2_p1_m1,
+ coeff_dxz_m1_p1_m1,
+ coeff_dxz_0_p1_m1,
+ coeff_dxz_p1_p1_m1,
+ coeff_dxz_p2_p1_m1,
+ coeff_dxz_m2_p2_m1,
+ coeff_dxz_m1_p2_m1,
+ coeff_dxz_0_p2_m1,
+ coeff_dxz_p1_p2_m1,
+ coeff_dxz_p2_p2_m1,
+ coeff_dxz_m2_m2_0,
+ coeff_dxz_m1_m2_0,
+ coeff_dxz_0_m2_0,
+ coeff_dxz_p1_m2_0,
+ coeff_dxz_p2_m2_0,
+ coeff_dxz_m2_m1_0,
+ coeff_dxz_m1_m1_0,
+ coeff_dxz_0_m1_0,
+ coeff_dxz_p1_m1_0,
+ coeff_dxz_p2_m1_0,
+ coeff_dxz_m2_0_0,
+ coeff_dxz_m1_0_0,
+ coeff_dxz_0_0_0,
+ coeff_dxz_p1_0_0,
+ coeff_dxz_p2_0_0,
+ coeff_dxz_m2_p1_0,
+ coeff_dxz_m1_p1_0,
+ coeff_dxz_0_p1_0,
+ coeff_dxz_p1_p1_0,
+ coeff_dxz_p2_p1_0,
+ coeff_dxz_m2_p2_0,
+ coeff_dxz_m1_p2_0,
+ coeff_dxz_0_p2_0,
+ coeff_dxz_p1_p2_0,
+ coeff_dxz_p2_p2_0,
+ coeff_dxz_m2_m2_p1,
+ coeff_dxz_m1_m2_p1,
+ coeff_dxz_0_m2_p1,
+ coeff_dxz_p1_m2_p1,
+ coeff_dxz_p2_m2_p1,
+ coeff_dxz_m2_m1_p1,
+ coeff_dxz_m1_m1_p1,
+ coeff_dxz_0_m1_p1,
+ coeff_dxz_p1_m1_p1,
+ coeff_dxz_p2_m1_p1,
+ coeff_dxz_m2_0_p1,
+ coeff_dxz_m1_0_p1,
+ coeff_dxz_0_0_p1,
+ coeff_dxz_p1_0_p1,
+ coeff_dxz_p2_0_p1,
+ coeff_dxz_m2_p1_p1,
+ coeff_dxz_m1_p1_p1,
+ coeff_dxz_0_p1_p1,
+ coeff_dxz_p1_p1_p1,
+ coeff_dxz_p2_p1_p1,
+ coeff_dxz_m2_p2_p1,
+ coeff_dxz_m1_p2_p1,
+ coeff_dxz_0_p2_p1,
+ coeff_dxz_p1_p2_p1,
+ coeff_dxz_p2_p2_p1,
+ coeff_dxz_m2_m2_p2,
+ coeff_dxz_m1_m2_p2,
+ coeff_dxz_0_m2_p2,
+ coeff_dxz_p1_m2_p2,
+ coeff_dxz_p2_m2_p2,
+ coeff_dxz_m2_m1_p2,
+ coeff_dxz_m1_m1_p2,
+ coeff_dxz_0_m1_p2,
+ coeff_dxz_p1_m1_p2,
+ coeff_dxz_p2_m1_p2,
+ coeff_dxz_m2_0_p2,
+ coeff_dxz_m1_0_p2,
+ coeff_dxz_0_0_p2,
+ coeff_dxz_p1_0_p2,
+ coeff_dxz_p2_0_p2,
+ coeff_dxz_m2_p1_p2,
+ coeff_dxz_m1_p1_p2,
+ coeff_dxz_0_p1_p2,
+ coeff_dxz_p1_p1_p2,
+ coeff_dxz_p2_p1_p2,
+ coeff_dxz_m2_p2_p2,
+ coeff_dxz_m1_p2_p2,
+ coeff_dxz_0_p2_p2,
+ coeff_dxz_p1_p2_p2,
+ coeff_dxz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dy.dcl.c
new file mode 100644
index 0000000..a26ddf8
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dy.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dy_m2_m2_m2,
+ coeff_dy_m1_m2_m2,
+ coeff_dy_0_m2_m2,
+ coeff_dy_p1_m2_m2,
+ coeff_dy_p2_m2_m2,
+ coeff_dy_m2_m1_m2,
+ coeff_dy_m1_m1_m2,
+ coeff_dy_0_m1_m2,
+ coeff_dy_p1_m1_m2,
+ coeff_dy_p2_m1_m2,
+ coeff_dy_m2_0_m2,
+ coeff_dy_m1_0_m2,
+ coeff_dy_0_0_m2,
+ coeff_dy_p1_0_m2,
+ coeff_dy_p2_0_m2,
+ coeff_dy_m2_p1_m2,
+ coeff_dy_m1_p1_m2,
+ coeff_dy_0_p1_m2,
+ coeff_dy_p1_p1_m2,
+ coeff_dy_p2_p1_m2,
+ coeff_dy_m2_p2_m2,
+ coeff_dy_m1_p2_m2,
+ coeff_dy_0_p2_m2,
+ coeff_dy_p1_p2_m2,
+ coeff_dy_p2_p2_m2,
+ coeff_dy_m2_m2_m1,
+ coeff_dy_m1_m2_m1,
+ coeff_dy_0_m2_m1,
+ coeff_dy_p1_m2_m1,
+ coeff_dy_p2_m2_m1,
+ coeff_dy_m2_m1_m1,
+ coeff_dy_m1_m1_m1,
+ coeff_dy_0_m1_m1,
+ coeff_dy_p1_m1_m1,
+ coeff_dy_p2_m1_m1,
+ coeff_dy_m2_0_m1,
+ coeff_dy_m1_0_m1,
+ coeff_dy_0_0_m1,
+ coeff_dy_p1_0_m1,
+ coeff_dy_p2_0_m1,
+ coeff_dy_m2_p1_m1,
+ coeff_dy_m1_p1_m1,
+ coeff_dy_0_p1_m1,
+ coeff_dy_p1_p1_m1,
+ coeff_dy_p2_p1_m1,
+ coeff_dy_m2_p2_m1,
+ coeff_dy_m1_p2_m1,
+ coeff_dy_0_p2_m1,
+ coeff_dy_p1_p2_m1,
+ coeff_dy_p2_p2_m1,
+ coeff_dy_m2_m2_0,
+ coeff_dy_m1_m2_0,
+ coeff_dy_0_m2_0,
+ coeff_dy_p1_m2_0,
+ coeff_dy_p2_m2_0,
+ coeff_dy_m2_m1_0,
+ coeff_dy_m1_m1_0,
+ coeff_dy_0_m1_0,
+ coeff_dy_p1_m1_0,
+ coeff_dy_p2_m1_0,
+ coeff_dy_m2_0_0,
+ coeff_dy_m1_0_0,
+ coeff_dy_0_0_0,
+ coeff_dy_p1_0_0,
+ coeff_dy_p2_0_0,
+ coeff_dy_m2_p1_0,
+ coeff_dy_m1_p1_0,
+ coeff_dy_0_p1_0,
+ coeff_dy_p1_p1_0,
+ coeff_dy_p2_p1_0,
+ coeff_dy_m2_p2_0,
+ coeff_dy_m1_p2_0,
+ coeff_dy_0_p2_0,
+ coeff_dy_p1_p2_0,
+ coeff_dy_p2_p2_0,
+ coeff_dy_m2_m2_p1,
+ coeff_dy_m1_m2_p1,
+ coeff_dy_0_m2_p1,
+ coeff_dy_p1_m2_p1,
+ coeff_dy_p2_m2_p1,
+ coeff_dy_m2_m1_p1,
+ coeff_dy_m1_m1_p1,
+ coeff_dy_0_m1_p1,
+ coeff_dy_p1_m1_p1,
+ coeff_dy_p2_m1_p1,
+ coeff_dy_m2_0_p1,
+ coeff_dy_m1_0_p1,
+ coeff_dy_0_0_p1,
+ coeff_dy_p1_0_p1,
+ coeff_dy_p2_0_p1,
+ coeff_dy_m2_p1_p1,
+ coeff_dy_m1_p1_p1,
+ coeff_dy_0_p1_p1,
+ coeff_dy_p1_p1_p1,
+ coeff_dy_p2_p1_p1,
+ coeff_dy_m2_p2_p1,
+ coeff_dy_m1_p2_p1,
+ coeff_dy_0_p2_p1,
+ coeff_dy_p1_p2_p1,
+ coeff_dy_p2_p2_p1,
+ coeff_dy_m2_m2_p2,
+ coeff_dy_m1_m2_p2,
+ coeff_dy_0_m2_p2,
+ coeff_dy_p1_m2_p2,
+ coeff_dy_p2_m2_p2,
+ coeff_dy_m2_m1_p2,
+ coeff_dy_m1_m1_p2,
+ coeff_dy_0_m1_p2,
+ coeff_dy_p1_m1_p2,
+ coeff_dy_p2_m1_p2,
+ coeff_dy_m2_0_p2,
+ coeff_dy_m1_0_p2,
+ coeff_dy_0_0_p2,
+ coeff_dy_p1_0_p2,
+ coeff_dy_p2_0_p2,
+ coeff_dy_m2_p1_p2,
+ coeff_dy_m1_p1_p2,
+ coeff_dy_0_p1_p2,
+ coeff_dy_p1_p1_p2,
+ coeff_dy_p2_p1_p2,
+ coeff_dy_m2_p2_p2,
+ coeff_dy_m1_p2_p2,
+ coeff_dy_0_p2_p2,
+ coeff_dy_p1_p2_p2,
+ coeff_dy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c
new file mode 100644
index 0000000..a78af2b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dyy_m2_m2_m2,
+ coeff_dyy_m1_m2_m2,
+ coeff_dyy_0_m2_m2,
+ coeff_dyy_p1_m2_m2,
+ coeff_dyy_p2_m2_m2,
+ coeff_dyy_m2_m1_m2,
+ coeff_dyy_m1_m1_m2,
+ coeff_dyy_0_m1_m2,
+ coeff_dyy_p1_m1_m2,
+ coeff_dyy_p2_m1_m2,
+ coeff_dyy_m2_0_m2,
+ coeff_dyy_m1_0_m2,
+ coeff_dyy_0_0_m2,
+ coeff_dyy_p1_0_m2,
+ coeff_dyy_p2_0_m2,
+ coeff_dyy_m2_p1_m2,
+ coeff_dyy_m1_p1_m2,
+ coeff_dyy_0_p1_m2,
+ coeff_dyy_p1_p1_m2,
+ coeff_dyy_p2_p1_m2,
+ coeff_dyy_m2_p2_m2,
+ coeff_dyy_m1_p2_m2,
+ coeff_dyy_0_p2_m2,
+ coeff_dyy_p1_p2_m2,
+ coeff_dyy_p2_p2_m2,
+ coeff_dyy_m2_m2_m1,
+ coeff_dyy_m1_m2_m1,
+ coeff_dyy_0_m2_m1,
+ coeff_dyy_p1_m2_m1,
+ coeff_dyy_p2_m2_m1,
+ coeff_dyy_m2_m1_m1,
+ coeff_dyy_m1_m1_m1,
+ coeff_dyy_0_m1_m1,
+ coeff_dyy_p1_m1_m1,
+ coeff_dyy_p2_m1_m1,
+ coeff_dyy_m2_0_m1,
+ coeff_dyy_m1_0_m1,
+ coeff_dyy_0_0_m1,
+ coeff_dyy_p1_0_m1,
+ coeff_dyy_p2_0_m1,
+ coeff_dyy_m2_p1_m1,
+ coeff_dyy_m1_p1_m1,
+ coeff_dyy_0_p1_m1,
+ coeff_dyy_p1_p1_m1,
+ coeff_dyy_p2_p1_m1,
+ coeff_dyy_m2_p2_m1,
+ coeff_dyy_m1_p2_m1,
+ coeff_dyy_0_p2_m1,
+ coeff_dyy_p1_p2_m1,
+ coeff_dyy_p2_p2_m1,
+ coeff_dyy_m2_m2_0,
+ coeff_dyy_m1_m2_0,
+ coeff_dyy_0_m2_0,
+ coeff_dyy_p1_m2_0,
+ coeff_dyy_p2_m2_0,
+ coeff_dyy_m2_m1_0,
+ coeff_dyy_m1_m1_0,
+ coeff_dyy_0_m1_0,
+ coeff_dyy_p1_m1_0,
+ coeff_dyy_p2_m1_0,
+ coeff_dyy_m2_0_0,
+ coeff_dyy_m1_0_0,
+ coeff_dyy_0_0_0,
+ coeff_dyy_p1_0_0,
+ coeff_dyy_p2_0_0,
+ coeff_dyy_m2_p1_0,
+ coeff_dyy_m1_p1_0,
+ coeff_dyy_0_p1_0,
+ coeff_dyy_p1_p1_0,
+ coeff_dyy_p2_p1_0,
+ coeff_dyy_m2_p2_0,
+ coeff_dyy_m1_p2_0,
+ coeff_dyy_0_p2_0,
+ coeff_dyy_p1_p2_0,
+ coeff_dyy_p2_p2_0,
+ coeff_dyy_m2_m2_p1,
+ coeff_dyy_m1_m2_p1,
+ coeff_dyy_0_m2_p1,
+ coeff_dyy_p1_m2_p1,
+ coeff_dyy_p2_m2_p1,
+ coeff_dyy_m2_m1_p1,
+ coeff_dyy_m1_m1_p1,
+ coeff_dyy_0_m1_p1,
+ coeff_dyy_p1_m1_p1,
+ coeff_dyy_p2_m1_p1,
+ coeff_dyy_m2_0_p1,
+ coeff_dyy_m1_0_p1,
+ coeff_dyy_0_0_p1,
+ coeff_dyy_p1_0_p1,
+ coeff_dyy_p2_0_p1,
+ coeff_dyy_m2_p1_p1,
+ coeff_dyy_m1_p1_p1,
+ coeff_dyy_0_p1_p1,
+ coeff_dyy_p1_p1_p1,
+ coeff_dyy_p2_p1_p1,
+ coeff_dyy_m2_p2_p1,
+ coeff_dyy_m1_p2_p1,
+ coeff_dyy_0_p2_p1,
+ coeff_dyy_p1_p2_p1,
+ coeff_dyy_p2_p2_p1,
+ coeff_dyy_m2_m2_p2,
+ coeff_dyy_m1_m2_p2,
+ coeff_dyy_0_m2_p2,
+ coeff_dyy_p1_m2_p2,
+ coeff_dyy_p2_m2_p2,
+ coeff_dyy_m2_m1_p2,
+ coeff_dyy_m1_m1_p2,
+ coeff_dyy_0_m1_p2,
+ coeff_dyy_p1_m1_p2,
+ coeff_dyy_p2_m1_p2,
+ coeff_dyy_m2_0_p2,
+ coeff_dyy_m1_0_p2,
+ coeff_dyy_0_0_p2,
+ coeff_dyy_p1_0_p2,
+ coeff_dyy_p2_0_p2,
+ coeff_dyy_m2_p1_p2,
+ coeff_dyy_m1_p1_p2,
+ coeff_dyy_0_p1_p2,
+ coeff_dyy_p1_p1_p2,
+ coeff_dyy_p2_p1_p2,
+ coeff_dyy_m2_p2_p2,
+ coeff_dyy_m1_p2_p2,
+ coeff_dyy_0_p2_p2,
+ coeff_dyy_p1_p2_p2,
+ coeff_dyy_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c
new file mode 100644
index 0000000..f932782
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dyz_m2_m2_m2,
+ coeff_dyz_m1_m2_m2,
+ coeff_dyz_0_m2_m2,
+ coeff_dyz_p1_m2_m2,
+ coeff_dyz_p2_m2_m2,
+ coeff_dyz_m2_m1_m2,
+ coeff_dyz_m1_m1_m2,
+ coeff_dyz_0_m1_m2,
+ coeff_dyz_p1_m1_m2,
+ coeff_dyz_p2_m1_m2,
+ coeff_dyz_m2_0_m2,
+ coeff_dyz_m1_0_m2,
+ coeff_dyz_0_0_m2,
+ coeff_dyz_p1_0_m2,
+ coeff_dyz_p2_0_m2,
+ coeff_dyz_m2_p1_m2,
+ coeff_dyz_m1_p1_m2,
+ coeff_dyz_0_p1_m2,
+ coeff_dyz_p1_p1_m2,
+ coeff_dyz_p2_p1_m2,
+ coeff_dyz_m2_p2_m2,
+ coeff_dyz_m1_p2_m2,
+ coeff_dyz_0_p2_m2,
+ coeff_dyz_p1_p2_m2,
+ coeff_dyz_p2_p2_m2,
+ coeff_dyz_m2_m2_m1,
+ coeff_dyz_m1_m2_m1,
+ coeff_dyz_0_m2_m1,
+ coeff_dyz_p1_m2_m1,
+ coeff_dyz_p2_m2_m1,
+ coeff_dyz_m2_m1_m1,
+ coeff_dyz_m1_m1_m1,
+ coeff_dyz_0_m1_m1,
+ coeff_dyz_p1_m1_m1,
+ coeff_dyz_p2_m1_m1,
+ coeff_dyz_m2_0_m1,
+ coeff_dyz_m1_0_m1,
+ coeff_dyz_0_0_m1,
+ coeff_dyz_p1_0_m1,
+ coeff_dyz_p2_0_m1,
+ coeff_dyz_m2_p1_m1,
+ coeff_dyz_m1_p1_m1,
+ coeff_dyz_0_p1_m1,
+ coeff_dyz_p1_p1_m1,
+ coeff_dyz_p2_p1_m1,
+ coeff_dyz_m2_p2_m1,
+ coeff_dyz_m1_p2_m1,
+ coeff_dyz_0_p2_m1,
+ coeff_dyz_p1_p2_m1,
+ coeff_dyz_p2_p2_m1,
+ coeff_dyz_m2_m2_0,
+ coeff_dyz_m1_m2_0,
+ coeff_dyz_0_m2_0,
+ coeff_dyz_p1_m2_0,
+ coeff_dyz_p2_m2_0,
+ coeff_dyz_m2_m1_0,
+ coeff_dyz_m1_m1_0,
+ coeff_dyz_0_m1_0,
+ coeff_dyz_p1_m1_0,
+ coeff_dyz_p2_m1_0,
+ coeff_dyz_m2_0_0,
+ coeff_dyz_m1_0_0,
+ coeff_dyz_0_0_0,
+ coeff_dyz_p1_0_0,
+ coeff_dyz_p2_0_0,
+ coeff_dyz_m2_p1_0,
+ coeff_dyz_m1_p1_0,
+ coeff_dyz_0_p1_0,
+ coeff_dyz_p1_p1_0,
+ coeff_dyz_p2_p1_0,
+ coeff_dyz_m2_p2_0,
+ coeff_dyz_m1_p2_0,
+ coeff_dyz_0_p2_0,
+ coeff_dyz_p1_p2_0,
+ coeff_dyz_p2_p2_0,
+ coeff_dyz_m2_m2_p1,
+ coeff_dyz_m1_m2_p1,
+ coeff_dyz_0_m2_p1,
+ coeff_dyz_p1_m2_p1,
+ coeff_dyz_p2_m2_p1,
+ coeff_dyz_m2_m1_p1,
+ coeff_dyz_m1_m1_p1,
+ coeff_dyz_0_m1_p1,
+ coeff_dyz_p1_m1_p1,
+ coeff_dyz_p2_m1_p1,
+ coeff_dyz_m2_0_p1,
+ coeff_dyz_m1_0_p1,
+ coeff_dyz_0_0_p1,
+ coeff_dyz_p1_0_p1,
+ coeff_dyz_p2_0_p1,
+ coeff_dyz_m2_p1_p1,
+ coeff_dyz_m1_p1_p1,
+ coeff_dyz_0_p1_p1,
+ coeff_dyz_p1_p1_p1,
+ coeff_dyz_p2_p1_p1,
+ coeff_dyz_m2_p2_p1,
+ coeff_dyz_m1_p2_p1,
+ coeff_dyz_0_p2_p1,
+ coeff_dyz_p1_p2_p1,
+ coeff_dyz_p2_p2_p1,
+ coeff_dyz_m2_m2_p2,
+ coeff_dyz_m1_m2_p2,
+ coeff_dyz_0_m2_p2,
+ coeff_dyz_p1_m2_p2,
+ coeff_dyz_p2_m2_p2,
+ coeff_dyz_m2_m1_p2,
+ coeff_dyz_m1_m1_p2,
+ coeff_dyz_0_m1_p2,
+ coeff_dyz_p1_m1_p2,
+ coeff_dyz_p2_m1_p2,
+ coeff_dyz_m2_0_p2,
+ coeff_dyz_m1_0_p2,
+ coeff_dyz_0_0_p2,
+ coeff_dyz_p1_0_p2,
+ coeff_dyz_p2_0_p2,
+ coeff_dyz_m2_p1_p2,
+ coeff_dyz_m1_p1_p2,
+ coeff_dyz_0_p1_p2,
+ coeff_dyz_p1_p1_p2,
+ coeff_dyz_p2_p1_p2,
+ coeff_dyz_m2_p2_p2,
+ coeff_dyz_m1_p2_p2,
+ coeff_dyz_0_p2_p2,
+ coeff_dyz_p1_p2_p2,
+ coeff_dyz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dz.dcl.c
new file mode 100644
index 0000000..785a843
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dz.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dz_m2_m2_m2,
+ coeff_dz_m1_m2_m2,
+ coeff_dz_0_m2_m2,
+ coeff_dz_p1_m2_m2,
+ coeff_dz_p2_m2_m2,
+ coeff_dz_m2_m1_m2,
+ coeff_dz_m1_m1_m2,
+ coeff_dz_0_m1_m2,
+ coeff_dz_p1_m1_m2,
+ coeff_dz_p2_m1_m2,
+ coeff_dz_m2_0_m2,
+ coeff_dz_m1_0_m2,
+ coeff_dz_0_0_m2,
+ coeff_dz_p1_0_m2,
+ coeff_dz_p2_0_m2,
+ coeff_dz_m2_p1_m2,
+ coeff_dz_m1_p1_m2,
+ coeff_dz_0_p1_m2,
+ coeff_dz_p1_p1_m2,
+ coeff_dz_p2_p1_m2,
+ coeff_dz_m2_p2_m2,
+ coeff_dz_m1_p2_m2,
+ coeff_dz_0_p2_m2,
+ coeff_dz_p1_p2_m2,
+ coeff_dz_p2_p2_m2,
+ coeff_dz_m2_m2_m1,
+ coeff_dz_m1_m2_m1,
+ coeff_dz_0_m2_m1,
+ coeff_dz_p1_m2_m1,
+ coeff_dz_p2_m2_m1,
+ coeff_dz_m2_m1_m1,
+ coeff_dz_m1_m1_m1,
+ coeff_dz_0_m1_m1,
+ coeff_dz_p1_m1_m1,
+ coeff_dz_p2_m1_m1,
+ coeff_dz_m2_0_m1,
+ coeff_dz_m1_0_m1,
+ coeff_dz_0_0_m1,
+ coeff_dz_p1_0_m1,
+ coeff_dz_p2_0_m1,
+ coeff_dz_m2_p1_m1,
+ coeff_dz_m1_p1_m1,
+ coeff_dz_0_p1_m1,
+ coeff_dz_p1_p1_m1,
+ coeff_dz_p2_p1_m1,
+ coeff_dz_m2_p2_m1,
+ coeff_dz_m1_p2_m1,
+ coeff_dz_0_p2_m1,
+ coeff_dz_p1_p2_m1,
+ coeff_dz_p2_p2_m1,
+ coeff_dz_m2_m2_0,
+ coeff_dz_m1_m2_0,
+ coeff_dz_0_m2_0,
+ coeff_dz_p1_m2_0,
+ coeff_dz_p2_m2_0,
+ coeff_dz_m2_m1_0,
+ coeff_dz_m1_m1_0,
+ coeff_dz_0_m1_0,
+ coeff_dz_p1_m1_0,
+ coeff_dz_p2_m1_0,
+ coeff_dz_m2_0_0,
+ coeff_dz_m1_0_0,
+ coeff_dz_0_0_0,
+ coeff_dz_p1_0_0,
+ coeff_dz_p2_0_0,
+ coeff_dz_m2_p1_0,
+ coeff_dz_m1_p1_0,
+ coeff_dz_0_p1_0,
+ coeff_dz_p1_p1_0,
+ coeff_dz_p2_p1_0,
+ coeff_dz_m2_p2_0,
+ coeff_dz_m1_p2_0,
+ coeff_dz_0_p2_0,
+ coeff_dz_p1_p2_0,
+ coeff_dz_p2_p2_0,
+ coeff_dz_m2_m2_p1,
+ coeff_dz_m1_m2_p1,
+ coeff_dz_0_m2_p1,
+ coeff_dz_p1_m2_p1,
+ coeff_dz_p2_m2_p1,
+ coeff_dz_m2_m1_p1,
+ coeff_dz_m1_m1_p1,
+ coeff_dz_0_m1_p1,
+ coeff_dz_p1_m1_p1,
+ coeff_dz_p2_m1_p1,
+ coeff_dz_m2_0_p1,
+ coeff_dz_m1_0_p1,
+ coeff_dz_0_0_p1,
+ coeff_dz_p1_0_p1,
+ coeff_dz_p2_0_p1,
+ coeff_dz_m2_p1_p1,
+ coeff_dz_m1_p1_p1,
+ coeff_dz_0_p1_p1,
+ coeff_dz_p1_p1_p1,
+ coeff_dz_p2_p1_p1,
+ coeff_dz_m2_p2_p1,
+ coeff_dz_m1_p2_p1,
+ coeff_dz_0_p2_p1,
+ coeff_dz_p1_p2_p1,
+ coeff_dz_p2_p2_p1,
+ coeff_dz_m2_m2_p2,
+ coeff_dz_m1_m2_p2,
+ coeff_dz_0_m2_p2,
+ coeff_dz_p1_m2_p2,
+ coeff_dz_p2_m2_p2,
+ coeff_dz_m2_m1_p2,
+ coeff_dz_m1_m1_p2,
+ coeff_dz_0_m1_p2,
+ coeff_dz_p1_m1_p2,
+ coeff_dz_p2_m1_p2,
+ coeff_dz_m2_0_p2,
+ coeff_dz_m1_0_p2,
+ coeff_dz_0_0_p2,
+ coeff_dz_p1_0_p2,
+ coeff_dz_p2_0_p2,
+ coeff_dz_m2_p1_p2,
+ coeff_dz_m1_p1_p2,
+ coeff_dz_0_p1_p2,
+ coeff_dz_p1_p1_p2,
+ coeff_dz_p2_p1_p2,
+ coeff_dz_m2_p2_p2,
+ coeff_dz_m1_p2_p2,
+ coeff_dz_0_p2_p2,
+ coeff_dz_p1_p2_p2,
+ coeff_dz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c
new file mode 100644
index 0000000..baf56e5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c
@@ -0,0 +1,125 @@
+fp coeff_dzz_m2_m2_m2,
+ coeff_dzz_m1_m2_m2,
+ coeff_dzz_0_m2_m2,
+ coeff_dzz_p1_m2_m2,
+ coeff_dzz_p2_m2_m2,
+ coeff_dzz_m2_m1_m2,
+ coeff_dzz_m1_m1_m2,
+ coeff_dzz_0_m1_m2,
+ coeff_dzz_p1_m1_m2,
+ coeff_dzz_p2_m1_m2,
+ coeff_dzz_m2_0_m2,
+ coeff_dzz_m1_0_m2,
+ coeff_dzz_0_0_m2,
+ coeff_dzz_p1_0_m2,
+ coeff_dzz_p2_0_m2,
+ coeff_dzz_m2_p1_m2,
+ coeff_dzz_m1_p1_m2,
+ coeff_dzz_0_p1_m2,
+ coeff_dzz_p1_p1_m2,
+ coeff_dzz_p2_p1_m2,
+ coeff_dzz_m2_p2_m2,
+ coeff_dzz_m1_p2_m2,
+ coeff_dzz_0_p2_m2,
+ coeff_dzz_p1_p2_m2,
+ coeff_dzz_p2_p2_m2,
+ coeff_dzz_m2_m2_m1,
+ coeff_dzz_m1_m2_m1,
+ coeff_dzz_0_m2_m1,
+ coeff_dzz_p1_m2_m1,
+ coeff_dzz_p2_m2_m1,
+ coeff_dzz_m2_m1_m1,
+ coeff_dzz_m1_m1_m1,
+ coeff_dzz_0_m1_m1,
+ coeff_dzz_p1_m1_m1,
+ coeff_dzz_p2_m1_m1,
+ coeff_dzz_m2_0_m1,
+ coeff_dzz_m1_0_m1,
+ coeff_dzz_0_0_m1,
+ coeff_dzz_p1_0_m1,
+ coeff_dzz_p2_0_m1,
+ coeff_dzz_m2_p1_m1,
+ coeff_dzz_m1_p1_m1,
+ coeff_dzz_0_p1_m1,
+ coeff_dzz_p1_p1_m1,
+ coeff_dzz_p2_p1_m1,
+ coeff_dzz_m2_p2_m1,
+ coeff_dzz_m1_p2_m1,
+ coeff_dzz_0_p2_m1,
+ coeff_dzz_p1_p2_m1,
+ coeff_dzz_p2_p2_m1,
+ coeff_dzz_m2_m2_0,
+ coeff_dzz_m1_m2_0,
+ coeff_dzz_0_m2_0,
+ coeff_dzz_p1_m2_0,
+ coeff_dzz_p2_m2_0,
+ coeff_dzz_m2_m1_0,
+ coeff_dzz_m1_m1_0,
+ coeff_dzz_0_m1_0,
+ coeff_dzz_p1_m1_0,
+ coeff_dzz_p2_m1_0,
+ coeff_dzz_m2_0_0,
+ coeff_dzz_m1_0_0,
+ coeff_dzz_0_0_0,
+ coeff_dzz_p1_0_0,
+ coeff_dzz_p2_0_0,
+ coeff_dzz_m2_p1_0,
+ coeff_dzz_m1_p1_0,
+ coeff_dzz_0_p1_0,
+ coeff_dzz_p1_p1_0,
+ coeff_dzz_p2_p1_0,
+ coeff_dzz_m2_p2_0,
+ coeff_dzz_m1_p2_0,
+ coeff_dzz_0_p2_0,
+ coeff_dzz_p1_p2_0,
+ coeff_dzz_p2_p2_0,
+ coeff_dzz_m2_m2_p1,
+ coeff_dzz_m1_m2_p1,
+ coeff_dzz_0_m2_p1,
+ coeff_dzz_p1_m2_p1,
+ coeff_dzz_p2_m2_p1,
+ coeff_dzz_m2_m1_p1,
+ coeff_dzz_m1_m1_p1,
+ coeff_dzz_0_m1_p1,
+ coeff_dzz_p1_m1_p1,
+ coeff_dzz_p2_m1_p1,
+ coeff_dzz_m2_0_p1,
+ coeff_dzz_m1_0_p1,
+ coeff_dzz_0_0_p1,
+ coeff_dzz_p1_0_p1,
+ coeff_dzz_p2_0_p1,
+ coeff_dzz_m2_p1_p1,
+ coeff_dzz_m1_p1_p1,
+ coeff_dzz_0_p1_p1,
+ coeff_dzz_p1_p1_p1,
+ coeff_dzz_p2_p1_p1,
+ coeff_dzz_m2_p2_p1,
+ coeff_dzz_m1_p2_p1,
+ coeff_dzz_0_p2_p1,
+ coeff_dzz_p1_p2_p1,
+ coeff_dzz_p2_p2_p1,
+ coeff_dzz_m2_m2_p2,
+ coeff_dzz_m1_m2_p2,
+ coeff_dzz_0_m2_p2,
+ coeff_dzz_p1_m2_p2,
+ coeff_dzz_p2_m2_p2,
+ coeff_dzz_m2_m1_p2,
+ coeff_dzz_m1_m1_p2,
+ coeff_dzz_0_m1_p2,
+ coeff_dzz_p1_m1_p2,
+ coeff_dzz_p2_m1_p2,
+ coeff_dzz_m2_0_p2,
+ coeff_dzz_m1_0_p2,
+ coeff_dzz_0_0_p2,
+ coeff_dzz_p1_0_p2,
+ coeff_dzz_p2_0_p2,
+ coeff_dzz_m2_p1_p2,
+ coeff_dzz_m1_p1_p2,
+ coeff_dzz_0_p1_p2,
+ coeff_dzz_p1_p1_p2,
+ coeff_dzz_p2_p1_p2,
+ coeff_dzz_m2_p2_p2,
+ coeff_dzz_m1_p2_p2,
+ coeff_dzz_0_p2_p2,
+ coeff_dzz_p1_p2_p2,
+ coeff_dzz_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.assign.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.assign.c
new file mode 100644
index 0000000..963fa1b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.assign.c
@@ -0,0 +1,125 @@
+data_m2_m2_m2 = DATA(-2,-2,-2);
+data_m1_m2_m2 = DATA(-1,-2,-2);
+data_0_m2_m2 = DATA(0,-2,-2);
+data_p1_m2_m2 = DATA(1,-2,-2);
+data_p2_m2_m2 = DATA(2,-2,-2);
+data_m2_m1_m2 = DATA(-2,-1,-2);
+data_m1_m1_m2 = DATA(-1,-1,-2);
+data_0_m1_m2 = DATA(0,-1,-2);
+data_p1_m1_m2 = DATA(1,-1,-2);
+data_p2_m1_m2 = DATA(2,-1,-2);
+data_m2_0_m2 = DATA(-2,0,-2);
+data_m1_0_m2 = DATA(-1,0,-2);
+data_0_0_m2 = DATA(0,0,-2);
+data_p1_0_m2 = DATA(1,0,-2);
+data_p2_0_m2 = DATA(2,0,-2);
+data_m2_p1_m2 = DATA(-2,1,-2);
+data_m1_p1_m2 = DATA(-1,1,-2);
+data_0_p1_m2 = DATA(0,1,-2);
+data_p1_p1_m2 = DATA(1,1,-2);
+data_p2_p1_m2 = DATA(2,1,-2);
+data_m2_p2_m2 = DATA(-2,2,-2);
+data_m1_p2_m2 = DATA(-1,2,-2);
+data_0_p2_m2 = DATA(0,2,-2);
+data_p1_p2_m2 = DATA(1,2,-2);
+data_p2_p2_m2 = DATA(2,2,-2);
+data_m2_m2_m1 = DATA(-2,-2,-1);
+data_m1_m2_m1 = DATA(-1,-2,-1);
+data_0_m2_m1 = DATA(0,-2,-1);
+data_p1_m2_m1 = DATA(1,-2,-1);
+data_p2_m2_m1 = DATA(2,-2,-1);
+data_m2_m1_m1 = DATA(-2,-1,-1);
+data_m1_m1_m1 = DATA(-1,-1,-1);
+data_0_m1_m1 = DATA(0,-1,-1);
+data_p1_m1_m1 = DATA(1,-1,-1);
+data_p2_m1_m1 = DATA(2,-1,-1);
+data_m2_0_m1 = DATA(-2,0,-1);
+data_m1_0_m1 = DATA(-1,0,-1);
+data_0_0_m1 = DATA(0,0,-1);
+data_p1_0_m1 = DATA(1,0,-1);
+data_p2_0_m1 = DATA(2,0,-1);
+data_m2_p1_m1 = DATA(-2,1,-1);
+data_m1_p1_m1 = DATA(-1,1,-1);
+data_0_p1_m1 = DATA(0,1,-1);
+data_p1_p1_m1 = DATA(1,1,-1);
+data_p2_p1_m1 = DATA(2,1,-1);
+data_m2_p2_m1 = DATA(-2,2,-1);
+data_m1_p2_m1 = DATA(-1,2,-1);
+data_0_p2_m1 = DATA(0,2,-1);
+data_p1_p2_m1 = DATA(1,2,-1);
+data_p2_p2_m1 = DATA(2,2,-1);
+data_m2_m2_0 = DATA(-2,-2,0);
+data_m1_m2_0 = DATA(-1,-2,0);
+data_0_m2_0 = DATA(0,-2,0);
+data_p1_m2_0 = DATA(1,-2,0);
+data_p2_m2_0 = DATA(2,-2,0);
+data_m2_m1_0 = DATA(-2,-1,0);
+data_m1_m1_0 = DATA(-1,-1,0);
+data_0_m1_0 = DATA(0,-1,0);
+data_p1_m1_0 = DATA(1,-1,0);
+data_p2_m1_0 = DATA(2,-1,0);
+data_m2_0_0 = DATA(-2,0,0);
+data_m1_0_0 = DATA(-1,0,0);
+data_0_0_0 = DATA(0,0,0);
+data_p1_0_0 = DATA(1,0,0);
+data_p2_0_0 = DATA(2,0,0);
+data_m2_p1_0 = DATA(-2,1,0);
+data_m1_p1_0 = DATA(-1,1,0);
+data_0_p1_0 = DATA(0,1,0);
+data_p1_p1_0 = DATA(1,1,0);
+data_p2_p1_0 = DATA(2,1,0);
+data_m2_p2_0 = DATA(-2,2,0);
+data_m1_p2_0 = DATA(-1,2,0);
+data_0_p2_0 = DATA(0,2,0);
+data_p1_p2_0 = DATA(1,2,0);
+data_p2_p2_0 = DATA(2,2,0);
+data_m2_m2_p1 = DATA(-2,-2,1);
+data_m1_m2_p1 = DATA(-1,-2,1);
+data_0_m2_p1 = DATA(0,-2,1);
+data_p1_m2_p1 = DATA(1,-2,1);
+data_p2_m2_p1 = DATA(2,-2,1);
+data_m2_m1_p1 = DATA(-2,-1,1);
+data_m1_m1_p1 = DATA(-1,-1,1);
+data_0_m1_p1 = DATA(0,-1,1);
+data_p1_m1_p1 = DATA(1,-1,1);
+data_p2_m1_p1 = DATA(2,-1,1);
+data_m2_0_p1 = DATA(-2,0,1);
+data_m1_0_p1 = DATA(-1,0,1);
+data_0_0_p1 = DATA(0,0,1);
+data_p1_0_p1 = DATA(1,0,1);
+data_p2_0_p1 = DATA(2,0,1);
+data_m2_p1_p1 = DATA(-2,1,1);
+data_m1_p1_p1 = DATA(-1,1,1);
+data_0_p1_p1 = DATA(0,1,1);
+data_p1_p1_p1 = DATA(1,1,1);
+data_p2_p1_p1 = DATA(2,1,1);
+data_m2_p2_p1 = DATA(-2,2,1);
+data_m1_p2_p1 = DATA(-1,2,1);
+data_0_p2_p1 = DATA(0,2,1);
+data_p1_p2_p1 = DATA(1,2,1);
+data_p2_p2_p1 = DATA(2,2,1);
+data_m2_m2_p2 = DATA(-2,-2,2);
+data_m1_m2_p2 = DATA(-1,-2,2);
+data_0_m2_p2 = DATA(0,-2,2);
+data_p1_m2_p2 = DATA(1,-2,2);
+data_p2_m2_p2 = DATA(2,-2,2);
+data_m2_m1_p2 = DATA(-2,-1,2);
+data_m1_m1_p2 = DATA(-1,-1,2);
+data_0_m1_p2 = DATA(0,-1,2);
+data_p1_m1_p2 = DATA(1,-1,2);
+data_p2_m1_p2 = DATA(2,-1,2);
+data_m2_0_p2 = DATA(-2,0,2);
+data_m1_0_p2 = DATA(-1,0,2);
+data_0_0_p2 = DATA(0,0,2);
+data_p1_0_p2 = DATA(1,0,2);
+data_p2_0_p2 = DATA(2,0,2);
+data_m2_p1_p2 = DATA(-2,1,2);
+data_m1_p1_p2 = DATA(-1,1,2);
+data_0_p1_p2 = DATA(0,1,2);
+data_p1_p1_p2 = DATA(1,1,2);
+data_p2_p1_p2 = DATA(2,1,2);
+data_m2_p2_p2 = DATA(-2,2,2);
+data_m1_p2_p2 = DATA(-1,2,2);
+data_0_p2_p2 = DATA(0,2,2);
+data_p1_p2_p2 = DATA(1,2,2);
+data_p2_p2_p2 = DATA(2,2,2);
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.dcl.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.dcl.c
new file mode 100644
index 0000000..3f45b12
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/data-var.dcl.c
@@ -0,0 +1,125 @@
+fp data_m2_m2_m2,
+ data_m1_m2_m2,
+ data_0_m2_m2,
+ data_p1_m2_m2,
+ data_p2_m2_m2,
+ data_m2_m1_m2,
+ data_m1_m1_m2,
+ data_0_m1_m2,
+ data_p1_m1_m2,
+ data_p2_m1_m2,
+ data_m2_0_m2,
+ data_m1_0_m2,
+ data_0_0_m2,
+ data_p1_0_m2,
+ data_p2_0_m2,
+ data_m2_p1_m2,
+ data_m1_p1_m2,
+ data_0_p1_m2,
+ data_p1_p1_m2,
+ data_p2_p1_m2,
+ data_m2_p2_m2,
+ data_m1_p2_m2,
+ data_0_p2_m2,
+ data_p1_p2_m2,
+ data_p2_p2_m2,
+ data_m2_m2_m1,
+ data_m1_m2_m1,
+ data_0_m2_m1,
+ data_p1_m2_m1,
+ data_p2_m2_m1,
+ data_m2_m1_m1,
+ data_m1_m1_m1,
+ data_0_m1_m1,
+ data_p1_m1_m1,
+ data_p2_m1_m1,
+ data_m2_0_m1,
+ data_m1_0_m1,
+ data_0_0_m1,
+ data_p1_0_m1,
+ data_p2_0_m1,
+ data_m2_p1_m1,
+ data_m1_p1_m1,
+ data_0_p1_m1,
+ data_p1_p1_m1,
+ data_p2_p1_m1,
+ data_m2_p2_m1,
+ data_m1_p2_m1,
+ data_0_p2_m1,
+ data_p1_p2_m1,
+ data_p2_p2_m1,
+ data_m2_m2_0,
+ data_m1_m2_0,
+ data_0_m2_0,
+ data_p1_m2_0,
+ data_p2_m2_0,
+ data_m2_m1_0,
+ data_m1_m1_0,
+ data_0_m1_0,
+ data_p1_m1_0,
+ data_p2_m1_0,
+ data_m2_0_0,
+ data_m1_0_0,
+ data_0_0_0,
+ data_p1_0_0,
+ data_p2_0_0,
+ data_m2_p1_0,
+ data_m1_p1_0,
+ data_0_p1_0,
+ data_p1_p1_0,
+ data_p2_p1_0,
+ data_m2_p2_0,
+ data_m1_p2_0,
+ data_0_p2_0,
+ data_p1_p2_0,
+ data_p2_p2_0,
+ data_m2_m2_p1,
+ data_m1_m2_p1,
+ data_0_m2_p1,
+ data_p1_m2_p1,
+ data_p2_m2_p1,
+ data_m2_m1_p1,
+ data_m1_m1_p1,
+ data_0_m1_p1,
+ data_p1_m1_p1,
+ data_p2_m1_p1,
+ data_m2_0_p1,
+ data_m1_0_p1,
+ data_0_0_p1,
+ data_p1_0_p1,
+ data_p2_0_p1,
+ data_m2_p1_p1,
+ data_m1_p1_p1,
+ data_0_p1_p1,
+ data_p1_p1_p1,
+ data_p2_p1_p1,
+ data_m2_p2_p1,
+ data_m1_p2_p1,
+ data_0_p2_p1,
+ data_p1_p2_p1,
+ data_p2_p2_p1,
+ data_m2_m2_p2,
+ data_m1_m2_p2,
+ data_0_m2_p2,
+ data_p1_m2_p2,
+ data_p2_m2_p2,
+ data_m2_m1_p2,
+ data_m1_m1_p2,
+ data_0_m1_p2,
+ data_p1_m1_p2,
+ data_p2_m1_p2,
+ data_m2_0_p2,
+ data_m1_0_p2,
+ data_0_0_p2,
+ data_p1_0_p2,
+ data_p2_0_p2,
+ data_m2_p1_p2,
+ data_m1_p1_p2,
+ data_0_p1_p2,
+ data_p1_p1_p2,
+ data_p2_p1_p2,
+ data_m2_p2_p2,
+ data_m1_p2_p2,
+ data_0_p2_p2,
+ data_p1_p2_p2,
+ data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-I.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-I.compute.c
new file mode 100644
index 0000000..06a4bfa
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-I.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_I_m2_m2_m2*data_m2_m2_m2
+ + coeff_I_m1_m2_m2*data_m1_m2_m2
+ + coeff_I_0_m2_m2*data_0_m2_m2
+ + coeff_I_p1_m2_m2*data_p1_m2_m2
+ + coeff_I_p2_m2_m2*data_p2_m2_m2
+ + coeff_I_m2_m1_m2*data_m2_m1_m2
+ + coeff_I_m1_m1_m2*data_m1_m1_m2
+ + coeff_I_0_m1_m2*data_0_m1_m2
+ + coeff_I_p1_m1_m2*data_p1_m1_m2
+ + coeff_I_p2_m1_m2*data_p2_m1_m2
+ + coeff_I_m2_0_m2*data_m2_0_m2
+ + coeff_I_m1_0_m2*data_m1_0_m2
+ + coeff_I_0_0_m2*data_0_0_m2
+ + coeff_I_p1_0_m2*data_p1_0_m2
+ + coeff_I_p2_0_m2*data_p2_0_m2
+ + coeff_I_m2_p1_m2*data_m2_p1_m2
+ + coeff_I_m1_p1_m2*data_m1_p1_m2
+ + coeff_I_0_p1_m2*data_0_p1_m2
+ + coeff_I_p1_p1_m2*data_p1_p1_m2
+ + coeff_I_p2_p1_m2*data_p2_p1_m2
+ + coeff_I_m2_p2_m2*data_m2_p2_m2
+ + coeff_I_m1_p2_m2*data_m1_p2_m2
+ + coeff_I_0_p2_m2*data_0_p2_m2
+ + coeff_I_p1_p2_m2*data_p1_p2_m2
+ + coeff_I_p2_p2_m2*data_p2_p2_m2
+ + coeff_I_m2_m2_m1*data_m2_m2_m1
+ + coeff_I_m1_m2_m1*data_m1_m2_m1
+ + coeff_I_0_m2_m1*data_0_m2_m1
+ + coeff_I_p1_m2_m1*data_p1_m2_m1
+ + coeff_I_p2_m2_m1*data_p2_m2_m1
+ + coeff_I_m2_m1_m1*data_m2_m1_m1
+ + coeff_I_m1_m1_m1*data_m1_m1_m1
+ + coeff_I_0_m1_m1*data_0_m1_m1
+ + coeff_I_p1_m1_m1*data_p1_m1_m1
+ + coeff_I_p2_m1_m1*data_p2_m1_m1
+ + coeff_I_m2_0_m1*data_m2_0_m1
+ + coeff_I_m1_0_m1*data_m1_0_m1
+ + coeff_I_0_0_m1*data_0_0_m1
+ + coeff_I_p1_0_m1*data_p1_0_m1
+ + coeff_I_p2_0_m1*data_p2_0_m1
+ + coeff_I_m2_p1_m1*data_m2_p1_m1
+ + coeff_I_m1_p1_m1*data_m1_p1_m1
+ + coeff_I_0_p1_m1*data_0_p1_m1
+ + coeff_I_p1_p1_m1*data_p1_p1_m1
+ + coeff_I_p2_p1_m1*data_p2_p1_m1
+ + coeff_I_m2_p2_m1*data_m2_p2_m1
+ + coeff_I_m1_p2_m1*data_m1_p2_m1
+ + coeff_I_0_p2_m1*data_0_p2_m1
+ + coeff_I_p1_p2_m1*data_p1_p2_m1
+ + coeff_I_p2_p2_m1*data_p2_p2_m1
+ + coeff_I_m2_m2_0*data_m2_m2_0
+ + coeff_I_m1_m2_0*data_m1_m2_0
+ + coeff_I_0_m2_0*data_0_m2_0
+ + coeff_I_p1_m2_0*data_p1_m2_0
+ + coeff_I_p2_m2_0*data_p2_m2_0
+ + coeff_I_m2_m1_0*data_m2_m1_0
+ + coeff_I_m1_m1_0*data_m1_m1_0
+ + coeff_I_0_m1_0*data_0_m1_0
+ + coeff_I_p1_m1_0*data_p1_m1_0
+ + coeff_I_p2_m1_0*data_p2_m1_0
+ + coeff_I_m2_0_0*data_m2_0_0
+ + coeff_I_m1_0_0*data_m1_0_0
+ + coeff_I_0_0_0*data_0_0_0
+ + coeff_I_p1_0_0*data_p1_0_0
+ + coeff_I_p2_0_0*data_p2_0_0
+ + coeff_I_m2_p1_0*data_m2_p1_0
+ + coeff_I_m1_p1_0*data_m1_p1_0
+ + coeff_I_0_p1_0*data_0_p1_0
+ + coeff_I_p1_p1_0*data_p1_p1_0
+ + coeff_I_p2_p1_0*data_p2_p1_0
+ + coeff_I_m2_p2_0*data_m2_p2_0
+ + coeff_I_m1_p2_0*data_m1_p2_0
+ + coeff_I_0_p2_0*data_0_p2_0
+ + coeff_I_p1_p2_0*data_p1_p2_0
+ + coeff_I_p2_p2_0*data_p2_p2_0
+ + coeff_I_m2_m2_p1*data_m2_m2_p1
+ + coeff_I_m1_m2_p1*data_m1_m2_p1
+ + coeff_I_0_m2_p1*data_0_m2_p1
+ + coeff_I_p1_m2_p1*data_p1_m2_p1
+ + coeff_I_p2_m2_p1*data_p2_m2_p1
+ + coeff_I_m2_m1_p1*data_m2_m1_p1
+ + coeff_I_m1_m1_p1*data_m1_m1_p1
+ + coeff_I_0_m1_p1*data_0_m1_p1
+ + coeff_I_p1_m1_p1*data_p1_m1_p1
+ + coeff_I_p2_m1_p1*data_p2_m1_p1
+ + coeff_I_m2_0_p1*data_m2_0_p1
+ + coeff_I_m1_0_p1*data_m1_0_p1
+ + coeff_I_0_0_p1*data_0_0_p1
+ + coeff_I_p1_0_p1*data_p1_0_p1
+ + coeff_I_p2_0_p1*data_p2_0_p1
+ + coeff_I_m2_p1_p1*data_m2_p1_p1
+ + coeff_I_m1_p1_p1*data_m1_p1_p1
+ + coeff_I_0_p1_p1*data_0_p1_p1
+ + coeff_I_p1_p1_p1*data_p1_p1_p1
+ + coeff_I_p2_p1_p1*data_p2_p1_p1
+ + coeff_I_m2_p2_p1*data_m2_p2_p1
+ + coeff_I_m1_p2_p1*data_m1_p2_p1
+ + coeff_I_0_p2_p1*data_0_p2_p1
+ + coeff_I_p1_p2_p1*data_p1_p2_p1
+ + coeff_I_p2_p2_p1*data_p2_p2_p1
+ + coeff_I_m2_m2_p2*data_m2_m2_p2
+ + coeff_I_m1_m2_p2*data_m1_m2_p2
+ + coeff_I_0_m2_p2*data_0_m2_p2
+ + coeff_I_p1_m2_p2*data_p1_m2_p2
+ + coeff_I_p2_m2_p2*data_p2_m2_p2
+ + coeff_I_m2_m1_p2*data_m2_m1_p2
+ + coeff_I_m1_m1_p2*data_m1_m1_p2
+ + coeff_I_0_m1_p2*data_0_m1_p2
+ + coeff_I_p1_m1_p2*data_p1_m1_p2
+ + coeff_I_p2_m1_p2*data_p2_m1_p2
+ + coeff_I_m2_0_p2*data_m2_0_p2
+ + coeff_I_m1_0_p2*data_m1_0_p2
+ + coeff_I_0_0_p2*data_0_0_p2
+ + coeff_I_p1_0_p2*data_p1_0_p2
+ + coeff_I_p2_0_p2*data_p2_0_p2
+ + coeff_I_m2_p1_p2*data_m2_p1_p2
+ + coeff_I_m1_p1_p2*data_m1_p1_p2
+ + coeff_I_0_p1_p2*data_0_p1_p2
+ + coeff_I_p1_p1_p2*data_p1_p1_p2
+ + coeff_I_p2_p1_p2*data_p2_p1_p2
+ + coeff_I_m2_p2_p2*data_m2_p2_p2
+ + coeff_I_m1_p2_p2*data_m1_p2_p2
+ + coeff_I_0_p2_p2*data_0_p2_p2
+ + coeff_I_p1_p2_p2*data_p1_p2_p2
+ + coeff_I_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dx.compute.c
new file mode 100644
index 0000000..013ae98
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dx.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dx_m2_m2_m2*data_m2_m2_m2
+ + coeff_dx_m1_m2_m2*data_m1_m2_m2
+ + coeff_dx_0_m2_m2*data_0_m2_m2
+ + coeff_dx_p1_m2_m2*data_p1_m2_m2
+ + coeff_dx_p2_m2_m2*data_p2_m2_m2
+ + coeff_dx_m2_m1_m2*data_m2_m1_m2
+ + coeff_dx_m1_m1_m2*data_m1_m1_m2
+ + coeff_dx_0_m1_m2*data_0_m1_m2
+ + coeff_dx_p1_m1_m2*data_p1_m1_m2
+ + coeff_dx_p2_m1_m2*data_p2_m1_m2
+ + coeff_dx_m2_0_m2*data_m2_0_m2
+ + coeff_dx_m1_0_m2*data_m1_0_m2
+ + coeff_dx_0_0_m2*data_0_0_m2
+ + coeff_dx_p1_0_m2*data_p1_0_m2
+ + coeff_dx_p2_0_m2*data_p2_0_m2
+ + coeff_dx_m2_p1_m2*data_m2_p1_m2
+ + coeff_dx_m1_p1_m2*data_m1_p1_m2
+ + coeff_dx_0_p1_m2*data_0_p1_m2
+ + coeff_dx_p1_p1_m2*data_p1_p1_m2
+ + coeff_dx_p2_p1_m2*data_p2_p1_m2
+ + coeff_dx_m2_p2_m2*data_m2_p2_m2
+ + coeff_dx_m1_p2_m2*data_m1_p2_m2
+ + coeff_dx_0_p2_m2*data_0_p2_m2
+ + coeff_dx_p1_p2_m2*data_p1_p2_m2
+ + coeff_dx_p2_p2_m2*data_p2_p2_m2
+ + coeff_dx_m2_m2_m1*data_m2_m2_m1
+ + coeff_dx_m1_m2_m1*data_m1_m2_m1
+ + coeff_dx_0_m2_m1*data_0_m2_m1
+ + coeff_dx_p1_m2_m1*data_p1_m2_m1
+ + coeff_dx_p2_m2_m1*data_p2_m2_m1
+ + coeff_dx_m2_m1_m1*data_m2_m1_m1
+ + coeff_dx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dx_0_m1_m1*data_0_m1_m1
+ + coeff_dx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dx_p2_m1_m1*data_p2_m1_m1
+ + coeff_dx_m2_0_m1*data_m2_0_m1
+ + coeff_dx_m1_0_m1*data_m1_0_m1
+ + coeff_dx_0_0_m1*data_0_0_m1
+ + coeff_dx_p1_0_m1*data_p1_0_m1
+ + coeff_dx_p2_0_m1*data_p2_0_m1
+ + coeff_dx_m2_p1_m1*data_m2_p1_m1
+ + coeff_dx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dx_0_p1_m1*data_0_p1_m1
+ + coeff_dx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dx_p2_p1_m1*data_p2_p1_m1
+ + coeff_dx_m2_p2_m1*data_m2_p2_m1
+ + coeff_dx_m1_p2_m1*data_m1_p2_m1
+ + coeff_dx_0_p2_m1*data_0_p2_m1
+ + coeff_dx_p1_p2_m1*data_p1_p2_m1
+ + coeff_dx_p2_p2_m1*data_p2_p2_m1
+ + coeff_dx_m2_m2_0*data_m2_m2_0
+ + coeff_dx_m1_m2_0*data_m1_m2_0
+ + coeff_dx_0_m2_0*data_0_m2_0
+ + coeff_dx_p1_m2_0*data_p1_m2_0
+ + coeff_dx_p2_m2_0*data_p2_m2_0
+ + coeff_dx_m2_m1_0*data_m2_m1_0
+ + coeff_dx_m1_m1_0*data_m1_m1_0
+ + coeff_dx_0_m1_0*data_0_m1_0
+ + coeff_dx_p1_m1_0*data_p1_m1_0
+ + coeff_dx_p2_m1_0*data_p2_m1_0
+ + coeff_dx_m2_0_0*data_m2_0_0
+ + coeff_dx_m1_0_0*data_m1_0_0
+ + coeff_dx_0_0_0*data_0_0_0
+ + coeff_dx_p1_0_0*data_p1_0_0
+ + coeff_dx_p2_0_0*data_p2_0_0
+ + coeff_dx_m2_p1_0*data_m2_p1_0
+ + coeff_dx_m1_p1_0*data_m1_p1_0
+ + coeff_dx_0_p1_0*data_0_p1_0
+ + coeff_dx_p1_p1_0*data_p1_p1_0
+ + coeff_dx_p2_p1_0*data_p2_p1_0
+ + coeff_dx_m2_p2_0*data_m2_p2_0
+ + coeff_dx_m1_p2_0*data_m1_p2_0
+ + coeff_dx_0_p2_0*data_0_p2_0
+ + coeff_dx_p1_p2_0*data_p1_p2_0
+ + coeff_dx_p2_p2_0*data_p2_p2_0
+ + coeff_dx_m2_m2_p1*data_m2_m2_p1
+ + coeff_dx_m1_m2_p1*data_m1_m2_p1
+ + coeff_dx_0_m2_p1*data_0_m2_p1
+ + coeff_dx_p1_m2_p1*data_p1_m2_p1
+ + coeff_dx_p2_m2_p1*data_p2_m2_p1
+ + coeff_dx_m2_m1_p1*data_m2_m1_p1
+ + coeff_dx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dx_0_m1_p1*data_0_m1_p1
+ + coeff_dx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dx_p2_m1_p1*data_p2_m1_p1
+ + coeff_dx_m2_0_p1*data_m2_0_p1
+ + coeff_dx_m1_0_p1*data_m1_0_p1
+ + coeff_dx_0_0_p1*data_0_0_p1
+ + coeff_dx_p1_0_p1*data_p1_0_p1
+ + coeff_dx_p2_0_p1*data_p2_0_p1
+ + coeff_dx_m2_p1_p1*data_m2_p1_p1
+ + coeff_dx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dx_0_p1_p1*data_0_p1_p1
+ + coeff_dx_p1_p1_p1*data_p1_p1_p1
+ + coeff_dx_p2_p1_p1*data_p2_p1_p1
+ + coeff_dx_m2_p2_p1*data_m2_p2_p1
+ + coeff_dx_m1_p2_p1*data_m1_p2_p1
+ + coeff_dx_0_p2_p1*data_0_p2_p1
+ + coeff_dx_p1_p2_p1*data_p1_p2_p1
+ + coeff_dx_p2_p2_p1*data_p2_p2_p1
+ + coeff_dx_m2_m2_p2*data_m2_m2_p2
+ + coeff_dx_m1_m2_p2*data_m1_m2_p2
+ + coeff_dx_0_m2_p2*data_0_m2_p2
+ + coeff_dx_p1_m2_p2*data_p1_m2_p2
+ + coeff_dx_p2_m2_p2*data_p2_m2_p2
+ + coeff_dx_m2_m1_p2*data_m2_m1_p2
+ + coeff_dx_m1_m1_p2*data_m1_m1_p2
+ + coeff_dx_0_m1_p2*data_0_m1_p2
+ + coeff_dx_p1_m1_p2*data_p1_m1_p2
+ + coeff_dx_p2_m1_p2*data_p2_m1_p2
+ + coeff_dx_m2_0_p2*data_m2_0_p2
+ + coeff_dx_m1_0_p2*data_m1_0_p2
+ + coeff_dx_0_0_p2*data_0_0_p2
+ + coeff_dx_p1_0_p2*data_p1_0_p2
+ + coeff_dx_p2_0_p2*data_p2_0_p2
+ + coeff_dx_m2_p1_p2*data_m2_p1_p2
+ + coeff_dx_m1_p1_p2*data_m1_p1_p2
+ + coeff_dx_0_p1_p2*data_0_p1_p2
+ + coeff_dx_p1_p1_p2*data_p1_p1_p2
+ + coeff_dx_p2_p1_p2*data_p2_p1_p2
+ + coeff_dx_m2_p2_p2*data_m2_p2_p2
+ + coeff_dx_m1_p2_p2*data_m1_p2_p2
+ + coeff_dx_0_p2_p2*data_0_p2_p2
+ + coeff_dx_p1_p2_p2*data_p1_p2_p2
+ + coeff_dx_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxx.compute.c
new file mode 100644
index 0000000..bd0b7be
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxx.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dxx_m2_m2_m2*data_m2_m2_m2
+ + coeff_dxx_m1_m2_m2*data_m1_m2_m2
+ + coeff_dxx_0_m2_m2*data_0_m2_m2
+ + coeff_dxx_p1_m2_m2*data_p1_m2_m2
+ + coeff_dxx_p2_m2_m2*data_p2_m2_m2
+ + coeff_dxx_m2_m1_m2*data_m2_m1_m2
+ + coeff_dxx_m1_m1_m2*data_m1_m1_m2
+ + coeff_dxx_0_m1_m2*data_0_m1_m2
+ + coeff_dxx_p1_m1_m2*data_p1_m1_m2
+ + coeff_dxx_p2_m1_m2*data_p2_m1_m2
+ + coeff_dxx_m2_0_m2*data_m2_0_m2
+ + coeff_dxx_m1_0_m2*data_m1_0_m2
+ + coeff_dxx_0_0_m2*data_0_0_m2
+ + coeff_dxx_p1_0_m2*data_p1_0_m2
+ + coeff_dxx_p2_0_m2*data_p2_0_m2
+ + coeff_dxx_m2_p1_m2*data_m2_p1_m2
+ + coeff_dxx_m1_p1_m2*data_m1_p1_m2
+ + coeff_dxx_0_p1_m2*data_0_p1_m2
+ + coeff_dxx_p1_p1_m2*data_p1_p1_m2
+ + coeff_dxx_p2_p1_m2*data_p2_p1_m2
+ + coeff_dxx_m2_p2_m2*data_m2_p2_m2
+ + coeff_dxx_m1_p2_m2*data_m1_p2_m2
+ + coeff_dxx_0_p2_m2*data_0_p2_m2
+ + coeff_dxx_p1_p2_m2*data_p1_p2_m2
+ + coeff_dxx_p2_p2_m2*data_p2_p2_m2
+ + coeff_dxx_m2_m2_m1*data_m2_m2_m1
+ + coeff_dxx_m1_m2_m1*data_m1_m2_m1
+ + coeff_dxx_0_m2_m1*data_0_m2_m1
+ + coeff_dxx_p1_m2_m1*data_p1_m2_m1
+ + coeff_dxx_p2_m2_m1*data_p2_m2_m1
+ + coeff_dxx_m2_m1_m1*data_m2_m1_m1
+ + coeff_dxx_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxx_0_m1_m1*data_0_m1_m1
+ + coeff_dxx_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxx_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxx_m2_0_m1*data_m2_0_m1
+ + coeff_dxx_m1_0_m1*data_m1_0_m1
+ + coeff_dxx_0_0_m1*data_0_0_m1
+ + coeff_dxx_p1_0_m1*data_p1_0_m1
+ + coeff_dxx_p2_0_m1*data_p2_0_m1
+ + coeff_dxx_m2_p1_m1*data_m2_p1_m1
+ + coeff_dxx_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxx_0_p1_m1*data_0_p1_m1
+ + coeff_dxx_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxx_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxx_m2_p2_m1*data_m2_p2_m1
+ + coeff_dxx_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxx_0_p2_m1*data_0_p2_m1
+ + coeff_dxx_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxx_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxx_m2_m2_0*data_m2_m2_0
+ + coeff_dxx_m1_m2_0*data_m1_m2_0
+ + coeff_dxx_0_m2_0*data_0_m2_0
+ + coeff_dxx_p1_m2_0*data_p1_m2_0
+ + coeff_dxx_p2_m2_0*data_p2_m2_0
+ + coeff_dxx_m2_m1_0*data_m2_m1_0
+ + coeff_dxx_m1_m1_0*data_m1_m1_0
+ + coeff_dxx_0_m1_0*data_0_m1_0
+ + coeff_dxx_p1_m1_0*data_p1_m1_0
+ + coeff_dxx_p2_m1_0*data_p2_m1_0
+ + coeff_dxx_m2_0_0*data_m2_0_0
+ + coeff_dxx_m1_0_0*data_m1_0_0
+ + coeff_dxx_0_0_0*data_0_0_0
+ + coeff_dxx_p1_0_0*data_p1_0_0
+ + coeff_dxx_p2_0_0*data_p2_0_0
+ + coeff_dxx_m2_p1_0*data_m2_p1_0
+ + coeff_dxx_m1_p1_0*data_m1_p1_0
+ + coeff_dxx_0_p1_0*data_0_p1_0
+ + coeff_dxx_p1_p1_0*data_p1_p1_0
+ + coeff_dxx_p2_p1_0*data_p2_p1_0
+ + coeff_dxx_m2_p2_0*data_m2_p2_0
+ + coeff_dxx_m1_p2_0*data_m1_p2_0
+ + coeff_dxx_0_p2_0*data_0_p2_0
+ + coeff_dxx_p1_p2_0*data_p1_p2_0
+ + coeff_dxx_p2_p2_0*data_p2_p2_0
+ + coeff_dxx_m2_m2_p1*data_m2_m2_p1
+ + coeff_dxx_m1_m2_p1*data_m1_m2_p1
+ + coeff_dxx_0_m2_p1*data_0_m2_p1
+ + coeff_dxx_p1_m2_p1*data_p1_m2_p1
+ + coeff_dxx_p2_m2_p1*data_p2_m2_p1
+ + coeff_dxx_m2_m1_p1*data_m2_m1_p1
+ + coeff_dxx_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxx_0_m1_p1*data_0_m1_p1
+ + coeff_dxx_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxx_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxx_m2_0_p1*data_m2_0_p1
+ + coeff_dxx_m1_0_p1*data_m1_0_p1
+ + coeff_dxx_0_0_p1*data_0_0_p1
+ + coeff_dxx_p1_0_p1*data_p1_0_p1
+ + coeff_dxx_p2_0_p1*data_p2_0_p1
+ + coeff_dxx_m2_p1_p1*data_m2_p1_p1
+ + coeff_dxx_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxx_0_p1_p1*data_0_p1_p1
+ + coeff_dxx_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxx_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxx_m2_p2_p1*data_m2_p2_p1
+ + coeff_dxx_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxx_0_p2_p1*data_0_p2_p1
+ + coeff_dxx_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxx_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxx_m2_m2_p2*data_m2_m2_p2
+ + coeff_dxx_m1_m2_p2*data_m1_m2_p2
+ + coeff_dxx_0_m2_p2*data_0_m2_p2
+ + coeff_dxx_p1_m2_p2*data_p1_m2_p2
+ + coeff_dxx_p2_m2_p2*data_p2_m2_p2
+ + coeff_dxx_m2_m1_p2*data_m2_m1_p2
+ + coeff_dxx_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxx_0_m1_p2*data_0_m1_p2
+ + coeff_dxx_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxx_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxx_m2_0_p2*data_m2_0_p2
+ + coeff_dxx_m1_0_p2*data_m1_0_p2
+ + coeff_dxx_0_0_p2*data_0_0_p2
+ + coeff_dxx_p1_0_p2*data_p1_0_p2
+ + coeff_dxx_p2_0_p2*data_p2_0_p2
+ + coeff_dxx_m2_p1_p2*data_m2_p1_p2
+ + coeff_dxx_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxx_0_p1_p2*data_0_p1_p2
+ + coeff_dxx_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxx_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxx_m2_p2_p2*data_m2_p2_p2
+ + coeff_dxx_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxx_0_p2_p2*data_0_p2_p2
+ + coeff_dxx_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxx_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxy.compute.c
new file mode 100644
index 0000000..8e202fd
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxy.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dxy_m2_m2_m2*data_m2_m2_m2
+ + coeff_dxy_m1_m2_m2*data_m1_m2_m2
+ + coeff_dxy_0_m2_m2*data_0_m2_m2
+ + coeff_dxy_p1_m2_m2*data_p1_m2_m2
+ + coeff_dxy_p2_m2_m2*data_p2_m2_m2
+ + coeff_dxy_m2_m1_m2*data_m2_m1_m2
+ + coeff_dxy_m1_m1_m2*data_m1_m1_m2
+ + coeff_dxy_0_m1_m2*data_0_m1_m2
+ + coeff_dxy_p1_m1_m2*data_p1_m1_m2
+ + coeff_dxy_p2_m1_m2*data_p2_m1_m2
+ + coeff_dxy_m2_0_m2*data_m2_0_m2
+ + coeff_dxy_m1_0_m2*data_m1_0_m2
+ + coeff_dxy_0_0_m2*data_0_0_m2
+ + coeff_dxy_p1_0_m2*data_p1_0_m2
+ + coeff_dxy_p2_0_m2*data_p2_0_m2
+ + coeff_dxy_m2_p1_m2*data_m2_p1_m2
+ + coeff_dxy_m1_p1_m2*data_m1_p1_m2
+ + coeff_dxy_0_p1_m2*data_0_p1_m2
+ + coeff_dxy_p1_p1_m2*data_p1_p1_m2
+ + coeff_dxy_p2_p1_m2*data_p2_p1_m2
+ + coeff_dxy_m2_p2_m2*data_m2_p2_m2
+ + coeff_dxy_m1_p2_m2*data_m1_p2_m2
+ + coeff_dxy_0_p2_m2*data_0_p2_m2
+ + coeff_dxy_p1_p2_m2*data_p1_p2_m2
+ + coeff_dxy_p2_p2_m2*data_p2_p2_m2
+ + coeff_dxy_m2_m2_m1*data_m2_m2_m1
+ + coeff_dxy_m1_m2_m1*data_m1_m2_m1
+ + coeff_dxy_0_m2_m1*data_0_m2_m1
+ + coeff_dxy_p1_m2_m1*data_p1_m2_m1
+ + coeff_dxy_p2_m2_m1*data_p2_m2_m1
+ + coeff_dxy_m2_m1_m1*data_m2_m1_m1
+ + coeff_dxy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxy_0_m1_m1*data_0_m1_m1
+ + coeff_dxy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxy_m2_0_m1*data_m2_0_m1
+ + coeff_dxy_m1_0_m1*data_m1_0_m1
+ + coeff_dxy_0_0_m1*data_0_0_m1
+ + coeff_dxy_p1_0_m1*data_p1_0_m1
+ + coeff_dxy_p2_0_m1*data_p2_0_m1
+ + coeff_dxy_m2_p1_m1*data_m2_p1_m1
+ + coeff_dxy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxy_0_p1_m1*data_0_p1_m1
+ + coeff_dxy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxy_m2_p2_m1*data_m2_p2_m1
+ + coeff_dxy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxy_0_p2_m1*data_0_p2_m1
+ + coeff_dxy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxy_m2_m2_0*data_m2_m2_0
+ + coeff_dxy_m1_m2_0*data_m1_m2_0
+ + coeff_dxy_0_m2_0*data_0_m2_0
+ + coeff_dxy_p1_m2_0*data_p1_m2_0
+ + coeff_dxy_p2_m2_0*data_p2_m2_0
+ + coeff_dxy_m2_m1_0*data_m2_m1_0
+ + coeff_dxy_m1_m1_0*data_m1_m1_0
+ + coeff_dxy_0_m1_0*data_0_m1_0
+ + coeff_dxy_p1_m1_0*data_p1_m1_0
+ + coeff_dxy_p2_m1_0*data_p2_m1_0
+ + coeff_dxy_m2_0_0*data_m2_0_0
+ + coeff_dxy_m1_0_0*data_m1_0_0
+ + coeff_dxy_0_0_0*data_0_0_0
+ + coeff_dxy_p1_0_0*data_p1_0_0
+ + coeff_dxy_p2_0_0*data_p2_0_0
+ + coeff_dxy_m2_p1_0*data_m2_p1_0
+ + coeff_dxy_m1_p1_0*data_m1_p1_0
+ + coeff_dxy_0_p1_0*data_0_p1_0
+ + coeff_dxy_p1_p1_0*data_p1_p1_0
+ + coeff_dxy_p2_p1_0*data_p2_p1_0
+ + coeff_dxy_m2_p2_0*data_m2_p2_0
+ + coeff_dxy_m1_p2_0*data_m1_p2_0
+ + coeff_dxy_0_p2_0*data_0_p2_0
+ + coeff_dxy_p1_p2_0*data_p1_p2_0
+ + coeff_dxy_p2_p2_0*data_p2_p2_0
+ + coeff_dxy_m2_m2_p1*data_m2_m2_p1
+ + coeff_dxy_m1_m2_p1*data_m1_m2_p1
+ + coeff_dxy_0_m2_p1*data_0_m2_p1
+ + coeff_dxy_p1_m2_p1*data_p1_m2_p1
+ + coeff_dxy_p2_m2_p1*data_p2_m2_p1
+ + coeff_dxy_m2_m1_p1*data_m2_m1_p1
+ + coeff_dxy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxy_0_m1_p1*data_0_m1_p1
+ + coeff_dxy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxy_m2_0_p1*data_m2_0_p1
+ + coeff_dxy_m1_0_p1*data_m1_0_p1
+ + coeff_dxy_0_0_p1*data_0_0_p1
+ + coeff_dxy_p1_0_p1*data_p1_0_p1
+ + coeff_dxy_p2_0_p1*data_p2_0_p1
+ + coeff_dxy_m2_p1_p1*data_m2_p1_p1
+ + coeff_dxy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxy_0_p1_p1*data_0_p1_p1
+ + coeff_dxy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxy_m2_p2_p1*data_m2_p2_p1
+ + coeff_dxy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxy_0_p2_p1*data_0_p2_p1
+ + coeff_dxy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxy_m2_m2_p2*data_m2_m2_p2
+ + coeff_dxy_m1_m2_p2*data_m1_m2_p2
+ + coeff_dxy_0_m2_p2*data_0_m2_p2
+ + coeff_dxy_p1_m2_p2*data_p1_m2_p2
+ + coeff_dxy_p2_m2_p2*data_p2_m2_p2
+ + coeff_dxy_m2_m1_p2*data_m2_m1_p2
+ + coeff_dxy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxy_0_m1_p2*data_0_m1_p2
+ + coeff_dxy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxy_m2_0_p2*data_m2_0_p2
+ + coeff_dxy_m1_0_p2*data_m1_0_p2
+ + coeff_dxy_0_0_p2*data_0_0_p2
+ + coeff_dxy_p1_0_p2*data_p1_0_p2
+ + coeff_dxy_p2_0_p2*data_p2_0_p2
+ + coeff_dxy_m2_p1_p2*data_m2_p1_p2
+ + coeff_dxy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxy_0_p1_p2*data_0_p1_p2
+ + coeff_dxy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxy_m2_p2_p2*data_m2_p2_p2
+ + coeff_dxy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxy_0_p2_p2*data_0_p2_p2
+ + coeff_dxy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxz.compute.c
new file mode 100644
index 0000000..5789505
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dxz.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dxz_m2_m2_m2*data_m2_m2_m2
+ + coeff_dxz_m1_m2_m2*data_m1_m2_m2
+ + coeff_dxz_0_m2_m2*data_0_m2_m2
+ + coeff_dxz_p1_m2_m2*data_p1_m2_m2
+ + coeff_dxz_p2_m2_m2*data_p2_m2_m2
+ + coeff_dxz_m2_m1_m2*data_m2_m1_m2
+ + coeff_dxz_m1_m1_m2*data_m1_m1_m2
+ + coeff_dxz_0_m1_m2*data_0_m1_m2
+ + coeff_dxz_p1_m1_m2*data_p1_m1_m2
+ + coeff_dxz_p2_m1_m2*data_p2_m1_m2
+ + coeff_dxz_m2_0_m2*data_m2_0_m2
+ + coeff_dxz_m1_0_m2*data_m1_0_m2
+ + coeff_dxz_0_0_m2*data_0_0_m2
+ + coeff_dxz_p1_0_m2*data_p1_0_m2
+ + coeff_dxz_p2_0_m2*data_p2_0_m2
+ + coeff_dxz_m2_p1_m2*data_m2_p1_m2
+ + coeff_dxz_m1_p1_m2*data_m1_p1_m2
+ + coeff_dxz_0_p1_m2*data_0_p1_m2
+ + coeff_dxz_p1_p1_m2*data_p1_p1_m2
+ + coeff_dxz_p2_p1_m2*data_p2_p1_m2
+ + coeff_dxz_m2_p2_m2*data_m2_p2_m2
+ + coeff_dxz_m1_p2_m2*data_m1_p2_m2
+ + coeff_dxz_0_p2_m2*data_0_p2_m2
+ + coeff_dxz_p1_p2_m2*data_p1_p2_m2
+ + coeff_dxz_p2_p2_m2*data_p2_p2_m2
+ + coeff_dxz_m2_m2_m1*data_m2_m2_m1
+ + coeff_dxz_m1_m2_m1*data_m1_m2_m1
+ + coeff_dxz_0_m2_m1*data_0_m2_m1
+ + coeff_dxz_p1_m2_m1*data_p1_m2_m1
+ + coeff_dxz_p2_m2_m1*data_p2_m2_m1
+ + coeff_dxz_m2_m1_m1*data_m2_m1_m1
+ + coeff_dxz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dxz_0_m1_m1*data_0_m1_m1
+ + coeff_dxz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dxz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dxz_m2_0_m1*data_m2_0_m1
+ + coeff_dxz_m1_0_m1*data_m1_0_m1
+ + coeff_dxz_0_0_m1*data_0_0_m1
+ + coeff_dxz_p1_0_m1*data_p1_0_m1
+ + coeff_dxz_p2_0_m1*data_p2_0_m1
+ + coeff_dxz_m2_p1_m1*data_m2_p1_m1
+ + coeff_dxz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dxz_0_p1_m1*data_0_p1_m1
+ + coeff_dxz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dxz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dxz_m2_p2_m1*data_m2_p2_m1
+ + coeff_dxz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dxz_0_p2_m1*data_0_p2_m1
+ + coeff_dxz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dxz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dxz_m2_m2_0*data_m2_m2_0
+ + coeff_dxz_m1_m2_0*data_m1_m2_0
+ + coeff_dxz_0_m2_0*data_0_m2_0
+ + coeff_dxz_p1_m2_0*data_p1_m2_0
+ + coeff_dxz_p2_m2_0*data_p2_m2_0
+ + coeff_dxz_m2_m1_0*data_m2_m1_0
+ + coeff_dxz_m1_m1_0*data_m1_m1_0
+ + coeff_dxz_0_m1_0*data_0_m1_0
+ + coeff_dxz_p1_m1_0*data_p1_m1_0
+ + coeff_dxz_p2_m1_0*data_p2_m1_0
+ + coeff_dxz_m2_0_0*data_m2_0_0
+ + coeff_dxz_m1_0_0*data_m1_0_0
+ + coeff_dxz_0_0_0*data_0_0_0
+ + coeff_dxz_p1_0_0*data_p1_0_0
+ + coeff_dxz_p2_0_0*data_p2_0_0
+ + coeff_dxz_m2_p1_0*data_m2_p1_0
+ + coeff_dxz_m1_p1_0*data_m1_p1_0
+ + coeff_dxz_0_p1_0*data_0_p1_0
+ + coeff_dxz_p1_p1_0*data_p1_p1_0
+ + coeff_dxz_p2_p1_0*data_p2_p1_0
+ + coeff_dxz_m2_p2_0*data_m2_p2_0
+ + coeff_dxz_m1_p2_0*data_m1_p2_0
+ + coeff_dxz_0_p2_0*data_0_p2_0
+ + coeff_dxz_p1_p2_0*data_p1_p2_0
+ + coeff_dxz_p2_p2_0*data_p2_p2_0
+ + coeff_dxz_m2_m2_p1*data_m2_m2_p1
+ + coeff_dxz_m1_m2_p1*data_m1_m2_p1
+ + coeff_dxz_0_m2_p1*data_0_m2_p1
+ + coeff_dxz_p1_m2_p1*data_p1_m2_p1
+ + coeff_dxz_p2_m2_p1*data_p2_m2_p1
+ + coeff_dxz_m2_m1_p1*data_m2_m1_p1
+ + coeff_dxz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dxz_0_m1_p1*data_0_m1_p1
+ + coeff_dxz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dxz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dxz_m2_0_p1*data_m2_0_p1
+ + coeff_dxz_m1_0_p1*data_m1_0_p1
+ + coeff_dxz_0_0_p1*data_0_0_p1
+ + coeff_dxz_p1_0_p1*data_p1_0_p1
+ + coeff_dxz_p2_0_p1*data_p2_0_p1
+ + coeff_dxz_m2_p1_p1*data_m2_p1_p1
+ + coeff_dxz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dxz_0_p1_p1*data_0_p1_p1
+ + coeff_dxz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dxz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dxz_m2_p2_p1*data_m2_p2_p1
+ + coeff_dxz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dxz_0_p2_p1*data_0_p2_p1
+ + coeff_dxz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dxz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dxz_m2_m2_p2*data_m2_m2_p2
+ + coeff_dxz_m1_m2_p2*data_m1_m2_p2
+ + coeff_dxz_0_m2_p2*data_0_m2_p2
+ + coeff_dxz_p1_m2_p2*data_p1_m2_p2
+ + coeff_dxz_p2_m2_p2*data_p2_m2_p2
+ + coeff_dxz_m2_m1_p2*data_m2_m1_p2
+ + coeff_dxz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dxz_0_m1_p2*data_0_m1_p2
+ + coeff_dxz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dxz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dxz_m2_0_p2*data_m2_0_p2
+ + coeff_dxz_m1_0_p2*data_m1_0_p2
+ + coeff_dxz_0_0_p2*data_0_0_p2
+ + coeff_dxz_p1_0_p2*data_p1_0_p2
+ + coeff_dxz_p2_0_p2*data_p2_0_p2
+ + coeff_dxz_m2_p1_p2*data_m2_p1_p2
+ + coeff_dxz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dxz_0_p1_p2*data_0_p1_p2
+ + coeff_dxz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dxz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dxz_m2_p2_p2*data_m2_p2_p2
+ + coeff_dxz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dxz_0_p2_p2*data_0_p2_p2
+ + coeff_dxz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dxz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dy.compute.c
new file mode 100644
index 0000000..af7007a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dy.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dy_m2_m2_m2*data_m2_m2_m2
+ + coeff_dy_m1_m2_m2*data_m1_m2_m2
+ + coeff_dy_0_m2_m2*data_0_m2_m2
+ + coeff_dy_p1_m2_m2*data_p1_m2_m2
+ + coeff_dy_p2_m2_m2*data_p2_m2_m2
+ + coeff_dy_m2_m1_m2*data_m2_m1_m2
+ + coeff_dy_m1_m1_m2*data_m1_m1_m2
+ + coeff_dy_0_m1_m2*data_0_m1_m2
+ + coeff_dy_p1_m1_m2*data_p1_m1_m2
+ + coeff_dy_p2_m1_m2*data_p2_m1_m2
+ + coeff_dy_m2_0_m2*data_m2_0_m2
+ + coeff_dy_m1_0_m2*data_m1_0_m2
+ + coeff_dy_0_0_m2*data_0_0_m2
+ + coeff_dy_p1_0_m2*data_p1_0_m2
+ + coeff_dy_p2_0_m2*data_p2_0_m2
+ + coeff_dy_m2_p1_m2*data_m2_p1_m2
+ + coeff_dy_m1_p1_m2*data_m1_p1_m2
+ + coeff_dy_0_p1_m2*data_0_p1_m2
+ + coeff_dy_p1_p1_m2*data_p1_p1_m2
+ + coeff_dy_p2_p1_m2*data_p2_p1_m2
+ + coeff_dy_m2_p2_m2*data_m2_p2_m2
+ + coeff_dy_m1_p2_m2*data_m1_p2_m2
+ + coeff_dy_0_p2_m2*data_0_p2_m2
+ + coeff_dy_p1_p2_m2*data_p1_p2_m2
+ + coeff_dy_p2_p2_m2*data_p2_p2_m2
+ + coeff_dy_m2_m2_m1*data_m2_m2_m1
+ + coeff_dy_m1_m2_m1*data_m1_m2_m1
+ + coeff_dy_0_m2_m1*data_0_m2_m1
+ + coeff_dy_p1_m2_m1*data_p1_m2_m1
+ + coeff_dy_p2_m2_m1*data_p2_m2_m1
+ + coeff_dy_m2_m1_m1*data_m2_m1_m1
+ + coeff_dy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dy_0_m1_m1*data_0_m1_m1
+ + coeff_dy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dy_m2_0_m1*data_m2_0_m1
+ + coeff_dy_m1_0_m1*data_m1_0_m1
+ + coeff_dy_0_0_m1*data_0_0_m1
+ + coeff_dy_p1_0_m1*data_p1_0_m1
+ + coeff_dy_p2_0_m1*data_p2_0_m1
+ + coeff_dy_m2_p1_m1*data_m2_p1_m1
+ + coeff_dy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dy_0_p1_m1*data_0_p1_m1
+ + coeff_dy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dy_m2_p2_m1*data_m2_p2_m1
+ + coeff_dy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dy_0_p2_m1*data_0_p2_m1
+ + coeff_dy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dy_m2_m2_0*data_m2_m2_0
+ + coeff_dy_m1_m2_0*data_m1_m2_0
+ + coeff_dy_0_m2_0*data_0_m2_0
+ + coeff_dy_p1_m2_0*data_p1_m2_0
+ + coeff_dy_p2_m2_0*data_p2_m2_0
+ + coeff_dy_m2_m1_0*data_m2_m1_0
+ + coeff_dy_m1_m1_0*data_m1_m1_0
+ + coeff_dy_0_m1_0*data_0_m1_0
+ + coeff_dy_p1_m1_0*data_p1_m1_0
+ + coeff_dy_p2_m1_0*data_p2_m1_0
+ + coeff_dy_m2_0_0*data_m2_0_0
+ + coeff_dy_m1_0_0*data_m1_0_0
+ + coeff_dy_0_0_0*data_0_0_0
+ + coeff_dy_p1_0_0*data_p1_0_0
+ + coeff_dy_p2_0_0*data_p2_0_0
+ + coeff_dy_m2_p1_0*data_m2_p1_0
+ + coeff_dy_m1_p1_0*data_m1_p1_0
+ + coeff_dy_0_p1_0*data_0_p1_0
+ + coeff_dy_p1_p1_0*data_p1_p1_0
+ + coeff_dy_p2_p1_0*data_p2_p1_0
+ + coeff_dy_m2_p2_0*data_m2_p2_0
+ + coeff_dy_m1_p2_0*data_m1_p2_0
+ + coeff_dy_0_p2_0*data_0_p2_0
+ + coeff_dy_p1_p2_0*data_p1_p2_0
+ + coeff_dy_p2_p2_0*data_p2_p2_0
+ + coeff_dy_m2_m2_p1*data_m2_m2_p1
+ + coeff_dy_m1_m2_p1*data_m1_m2_p1
+ + coeff_dy_0_m2_p1*data_0_m2_p1
+ + coeff_dy_p1_m2_p1*data_p1_m2_p1
+ + coeff_dy_p2_m2_p1*data_p2_m2_p1
+ + coeff_dy_m2_m1_p1*data_m2_m1_p1
+ + coeff_dy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dy_0_m1_p1*data_0_m1_p1
+ + coeff_dy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dy_m2_0_p1*data_m2_0_p1
+ + coeff_dy_m1_0_p1*data_m1_0_p1
+ + coeff_dy_0_0_p1*data_0_0_p1
+ + coeff_dy_p1_0_p1*data_p1_0_p1
+ + coeff_dy_p2_0_p1*data_p2_0_p1
+ + coeff_dy_m2_p1_p1*data_m2_p1_p1
+ + coeff_dy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dy_0_p1_p1*data_0_p1_p1
+ + coeff_dy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dy_m2_p2_p1*data_m2_p2_p1
+ + coeff_dy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dy_0_p2_p1*data_0_p2_p1
+ + coeff_dy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dy_m2_m2_p2*data_m2_m2_p2
+ + coeff_dy_m1_m2_p2*data_m1_m2_p2
+ + coeff_dy_0_m2_p2*data_0_m2_p2
+ + coeff_dy_p1_m2_p2*data_p1_m2_p2
+ + coeff_dy_p2_m2_p2*data_p2_m2_p2
+ + coeff_dy_m2_m1_p2*data_m2_m1_p2
+ + coeff_dy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dy_0_m1_p2*data_0_m1_p2
+ + coeff_dy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dy_m2_0_p2*data_m2_0_p2
+ + coeff_dy_m1_0_p2*data_m1_0_p2
+ + coeff_dy_0_0_p2*data_0_0_p2
+ + coeff_dy_p1_0_p2*data_p1_0_p2
+ + coeff_dy_p2_0_p2*data_p2_0_p2
+ + coeff_dy_m2_p1_p2*data_m2_p1_p2
+ + coeff_dy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dy_0_p1_p2*data_0_p1_p2
+ + coeff_dy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dy_m2_p2_p2*data_m2_p2_p2
+ + coeff_dy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dy_0_p2_p2*data_0_p2_p2
+ + coeff_dy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyy.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyy.compute.c
new file mode 100644
index 0000000..55088e7
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyy.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dyy_m2_m2_m2*data_m2_m2_m2
+ + coeff_dyy_m1_m2_m2*data_m1_m2_m2
+ + coeff_dyy_0_m2_m2*data_0_m2_m2
+ + coeff_dyy_p1_m2_m2*data_p1_m2_m2
+ + coeff_dyy_p2_m2_m2*data_p2_m2_m2
+ + coeff_dyy_m2_m1_m2*data_m2_m1_m2
+ + coeff_dyy_m1_m1_m2*data_m1_m1_m2
+ + coeff_dyy_0_m1_m2*data_0_m1_m2
+ + coeff_dyy_p1_m1_m2*data_p1_m1_m2
+ + coeff_dyy_p2_m1_m2*data_p2_m1_m2
+ + coeff_dyy_m2_0_m2*data_m2_0_m2
+ + coeff_dyy_m1_0_m2*data_m1_0_m2
+ + coeff_dyy_0_0_m2*data_0_0_m2
+ + coeff_dyy_p1_0_m2*data_p1_0_m2
+ + coeff_dyy_p2_0_m2*data_p2_0_m2
+ + coeff_dyy_m2_p1_m2*data_m2_p1_m2
+ + coeff_dyy_m1_p1_m2*data_m1_p1_m2
+ + coeff_dyy_0_p1_m2*data_0_p1_m2
+ + coeff_dyy_p1_p1_m2*data_p1_p1_m2
+ + coeff_dyy_p2_p1_m2*data_p2_p1_m2
+ + coeff_dyy_m2_p2_m2*data_m2_p2_m2
+ + coeff_dyy_m1_p2_m2*data_m1_p2_m2
+ + coeff_dyy_0_p2_m2*data_0_p2_m2
+ + coeff_dyy_p1_p2_m2*data_p1_p2_m2
+ + coeff_dyy_p2_p2_m2*data_p2_p2_m2
+ + coeff_dyy_m2_m2_m1*data_m2_m2_m1
+ + coeff_dyy_m1_m2_m1*data_m1_m2_m1
+ + coeff_dyy_0_m2_m1*data_0_m2_m1
+ + coeff_dyy_p1_m2_m1*data_p1_m2_m1
+ + coeff_dyy_p2_m2_m1*data_p2_m2_m1
+ + coeff_dyy_m2_m1_m1*data_m2_m1_m1
+ + coeff_dyy_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyy_0_m1_m1*data_0_m1_m1
+ + coeff_dyy_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyy_p2_m1_m1*data_p2_m1_m1
+ + coeff_dyy_m2_0_m1*data_m2_0_m1
+ + coeff_dyy_m1_0_m1*data_m1_0_m1
+ + coeff_dyy_0_0_m1*data_0_0_m1
+ + coeff_dyy_p1_0_m1*data_p1_0_m1
+ + coeff_dyy_p2_0_m1*data_p2_0_m1
+ + coeff_dyy_m2_p1_m1*data_m2_p1_m1
+ + coeff_dyy_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyy_0_p1_m1*data_0_p1_m1
+ + coeff_dyy_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyy_p2_p1_m1*data_p2_p1_m1
+ + coeff_dyy_m2_p2_m1*data_m2_p2_m1
+ + coeff_dyy_m1_p2_m1*data_m1_p2_m1
+ + coeff_dyy_0_p2_m1*data_0_p2_m1
+ + coeff_dyy_p1_p2_m1*data_p1_p2_m1
+ + coeff_dyy_p2_p2_m1*data_p2_p2_m1
+ + coeff_dyy_m2_m2_0*data_m2_m2_0
+ + coeff_dyy_m1_m2_0*data_m1_m2_0
+ + coeff_dyy_0_m2_0*data_0_m2_0
+ + coeff_dyy_p1_m2_0*data_p1_m2_0
+ + coeff_dyy_p2_m2_0*data_p2_m2_0
+ + coeff_dyy_m2_m1_0*data_m2_m1_0
+ + coeff_dyy_m1_m1_0*data_m1_m1_0
+ + coeff_dyy_0_m1_0*data_0_m1_0
+ + coeff_dyy_p1_m1_0*data_p1_m1_0
+ + coeff_dyy_p2_m1_0*data_p2_m1_0
+ + coeff_dyy_m2_0_0*data_m2_0_0
+ + coeff_dyy_m1_0_0*data_m1_0_0
+ + coeff_dyy_0_0_0*data_0_0_0
+ + coeff_dyy_p1_0_0*data_p1_0_0
+ + coeff_dyy_p2_0_0*data_p2_0_0
+ + coeff_dyy_m2_p1_0*data_m2_p1_0
+ + coeff_dyy_m1_p1_0*data_m1_p1_0
+ + coeff_dyy_0_p1_0*data_0_p1_0
+ + coeff_dyy_p1_p1_0*data_p1_p1_0
+ + coeff_dyy_p2_p1_0*data_p2_p1_0
+ + coeff_dyy_m2_p2_0*data_m2_p2_0
+ + coeff_dyy_m1_p2_0*data_m1_p2_0
+ + coeff_dyy_0_p2_0*data_0_p2_0
+ + coeff_dyy_p1_p2_0*data_p1_p2_0
+ + coeff_dyy_p2_p2_0*data_p2_p2_0
+ + coeff_dyy_m2_m2_p1*data_m2_m2_p1
+ + coeff_dyy_m1_m2_p1*data_m1_m2_p1
+ + coeff_dyy_0_m2_p1*data_0_m2_p1
+ + coeff_dyy_p1_m2_p1*data_p1_m2_p1
+ + coeff_dyy_p2_m2_p1*data_p2_m2_p1
+ + coeff_dyy_m2_m1_p1*data_m2_m1_p1
+ + coeff_dyy_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyy_0_m1_p1*data_0_m1_p1
+ + coeff_dyy_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyy_p2_m1_p1*data_p2_m1_p1
+ + coeff_dyy_m2_0_p1*data_m2_0_p1
+ + coeff_dyy_m1_0_p1*data_m1_0_p1
+ + coeff_dyy_0_0_p1*data_0_0_p1
+ + coeff_dyy_p1_0_p1*data_p1_0_p1
+ + coeff_dyy_p2_0_p1*data_p2_0_p1
+ + coeff_dyy_m2_p1_p1*data_m2_p1_p1
+ + coeff_dyy_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyy_0_p1_p1*data_0_p1_p1
+ + coeff_dyy_p1_p1_p1*data_p1_p1_p1
+ + coeff_dyy_p2_p1_p1*data_p2_p1_p1
+ + coeff_dyy_m2_p2_p1*data_m2_p2_p1
+ + coeff_dyy_m1_p2_p1*data_m1_p2_p1
+ + coeff_dyy_0_p2_p1*data_0_p2_p1
+ + coeff_dyy_p1_p2_p1*data_p1_p2_p1
+ + coeff_dyy_p2_p2_p1*data_p2_p2_p1
+ + coeff_dyy_m2_m2_p2*data_m2_m2_p2
+ + coeff_dyy_m1_m2_p2*data_m1_m2_p2
+ + coeff_dyy_0_m2_p2*data_0_m2_p2
+ + coeff_dyy_p1_m2_p2*data_p1_m2_p2
+ + coeff_dyy_p2_m2_p2*data_p2_m2_p2
+ + coeff_dyy_m2_m1_p2*data_m2_m1_p2
+ + coeff_dyy_m1_m1_p2*data_m1_m1_p2
+ + coeff_dyy_0_m1_p2*data_0_m1_p2
+ + coeff_dyy_p1_m1_p2*data_p1_m1_p2
+ + coeff_dyy_p2_m1_p2*data_p2_m1_p2
+ + coeff_dyy_m2_0_p2*data_m2_0_p2
+ + coeff_dyy_m1_0_p2*data_m1_0_p2
+ + coeff_dyy_0_0_p2*data_0_0_p2
+ + coeff_dyy_p1_0_p2*data_p1_0_p2
+ + coeff_dyy_p2_0_p2*data_p2_0_p2
+ + coeff_dyy_m2_p1_p2*data_m2_p1_p2
+ + coeff_dyy_m1_p1_p2*data_m1_p1_p2
+ + coeff_dyy_0_p1_p2*data_0_p1_p2
+ + coeff_dyy_p1_p1_p2*data_p1_p1_p2
+ + coeff_dyy_p2_p1_p2*data_p2_p1_p2
+ + coeff_dyy_m2_p2_p2*data_m2_p2_p2
+ + coeff_dyy_m1_p2_p2*data_m1_p2_p2
+ + coeff_dyy_0_p2_p2*data_0_p2_p2
+ + coeff_dyy_p1_p2_p2*data_p1_p2_p2
+ + coeff_dyy_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyz.compute.c
new file mode 100644
index 0000000..9b8120b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dyz.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dyz_m2_m2_m2*data_m2_m2_m2
+ + coeff_dyz_m1_m2_m2*data_m1_m2_m2
+ + coeff_dyz_0_m2_m2*data_0_m2_m2
+ + coeff_dyz_p1_m2_m2*data_p1_m2_m2
+ + coeff_dyz_p2_m2_m2*data_p2_m2_m2
+ + coeff_dyz_m2_m1_m2*data_m2_m1_m2
+ + coeff_dyz_m1_m1_m2*data_m1_m1_m2
+ + coeff_dyz_0_m1_m2*data_0_m1_m2
+ + coeff_dyz_p1_m1_m2*data_p1_m1_m2
+ + coeff_dyz_p2_m1_m2*data_p2_m1_m2
+ + coeff_dyz_m2_0_m2*data_m2_0_m2
+ + coeff_dyz_m1_0_m2*data_m1_0_m2
+ + coeff_dyz_0_0_m2*data_0_0_m2
+ + coeff_dyz_p1_0_m2*data_p1_0_m2
+ + coeff_dyz_p2_0_m2*data_p2_0_m2
+ + coeff_dyz_m2_p1_m2*data_m2_p1_m2
+ + coeff_dyz_m1_p1_m2*data_m1_p1_m2
+ + coeff_dyz_0_p1_m2*data_0_p1_m2
+ + coeff_dyz_p1_p1_m2*data_p1_p1_m2
+ + coeff_dyz_p2_p1_m2*data_p2_p1_m2
+ + coeff_dyz_m2_p2_m2*data_m2_p2_m2
+ + coeff_dyz_m1_p2_m2*data_m1_p2_m2
+ + coeff_dyz_0_p2_m2*data_0_p2_m2
+ + coeff_dyz_p1_p2_m2*data_p1_p2_m2
+ + coeff_dyz_p2_p2_m2*data_p2_p2_m2
+ + coeff_dyz_m2_m2_m1*data_m2_m2_m1
+ + coeff_dyz_m1_m2_m1*data_m1_m2_m1
+ + coeff_dyz_0_m2_m1*data_0_m2_m1
+ + coeff_dyz_p1_m2_m1*data_p1_m2_m1
+ + coeff_dyz_p2_m2_m1*data_p2_m2_m1
+ + coeff_dyz_m2_m1_m1*data_m2_m1_m1
+ + coeff_dyz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dyz_0_m1_m1*data_0_m1_m1
+ + coeff_dyz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dyz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dyz_m2_0_m1*data_m2_0_m1
+ + coeff_dyz_m1_0_m1*data_m1_0_m1
+ + coeff_dyz_0_0_m1*data_0_0_m1
+ + coeff_dyz_p1_0_m1*data_p1_0_m1
+ + coeff_dyz_p2_0_m1*data_p2_0_m1
+ + coeff_dyz_m2_p1_m1*data_m2_p1_m1
+ + coeff_dyz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dyz_0_p1_m1*data_0_p1_m1
+ + coeff_dyz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dyz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dyz_m2_p2_m1*data_m2_p2_m1
+ + coeff_dyz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dyz_0_p2_m1*data_0_p2_m1
+ + coeff_dyz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dyz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dyz_m2_m2_0*data_m2_m2_0
+ + coeff_dyz_m1_m2_0*data_m1_m2_0
+ + coeff_dyz_0_m2_0*data_0_m2_0
+ + coeff_dyz_p1_m2_0*data_p1_m2_0
+ + coeff_dyz_p2_m2_0*data_p2_m2_0
+ + coeff_dyz_m2_m1_0*data_m2_m1_0
+ + coeff_dyz_m1_m1_0*data_m1_m1_0
+ + coeff_dyz_0_m1_0*data_0_m1_0
+ + coeff_dyz_p1_m1_0*data_p1_m1_0
+ + coeff_dyz_p2_m1_0*data_p2_m1_0
+ + coeff_dyz_m2_0_0*data_m2_0_0
+ + coeff_dyz_m1_0_0*data_m1_0_0
+ + coeff_dyz_0_0_0*data_0_0_0
+ + coeff_dyz_p1_0_0*data_p1_0_0
+ + coeff_dyz_p2_0_0*data_p2_0_0
+ + coeff_dyz_m2_p1_0*data_m2_p1_0
+ + coeff_dyz_m1_p1_0*data_m1_p1_0
+ + coeff_dyz_0_p1_0*data_0_p1_0
+ + coeff_dyz_p1_p1_0*data_p1_p1_0
+ + coeff_dyz_p2_p1_0*data_p2_p1_0
+ + coeff_dyz_m2_p2_0*data_m2_p2_0
+ + coeff_dyz_m1_p2_0*data_m1_p2_0
+ + coeff_dyz_0_p2_0*data_0_p2_0
+ + coeff_dyz_p1_p2_0*data_p1_p2_0
+ + coeff_dyz_p2_p2_0*data_p2_p2_0
+ + coeff_dyz_m2_m2_p1*data_m2_m2_p1
+ + coeff_dyz_m1_m2_p1*data_m1_m2_p1
+ + coeff_dyz_0_m2_p1*data_0_m2_p1
+ + coeff_dyz_p1_m2_p1*data_p1_m2_p1
+ + coeff_dyz_p2_m2_p1*data_p2_m2_p1
+ + coeff_dyz_m2_m1_p1*data_m2_m1_p1
+ + coeff_dyz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dyz_0_m1_p1*data_0_m1_p1
+ + coeff_dyz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dyz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dyz_m2_0_p1*data_m2_0_p1
+ + coeff_dyz_m1_0_p1*data_m1_0_p1
+ + coeff_dyz_0_0_p1*data_0_0_p1
+ + coeff_dyz_p1_0_p1*data_p1_0_p1
+ + coeff_dyz_p2_0_p1*data_p2_0_p1
+ + coeff_dyz_m2_p1_p1*data_m2_p1_p1
+ + coeff_dyz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dyz_0_p1_p1*data_0_p1_p1
+ + coeff_dyz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dyz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dyz_m2_p2_p1*data_m2_p2_p1
+ + coeff_dyz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dyz_0_p2_p1*data_0_p2_p1
+ + coeff_dyz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dyz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dyz_m2_m2_p2*data_m2_m2_p2
+ + coeff_dyz_m1_m2_p2*data_m1_m2_p2
+ + coeff_dyz_0_m2_p2*data_0_m2_p2
+ + coeff_dyz_p1_m2_p2*data_p1_m2_p2
+ + coeff_dyz_p2_m2_p2*data_p2_m2_p2
+ + coeff_dyz_m2_m1_p2*data_m2_m1_p2
+ + coeff_dyz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dyz_0_m1_p2*data_0_m1_p2
+ + coeff_dyz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dyz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dyz_m2_0_p2*data_m2_0_p2
+ + coeff_dyz_m1_0_p2*data_m1_0_p2
+ + coeff_dyz_0_0_p2*data_0_0_p2
+ + coeff_dyz_p1_0_p2*data_p1_0_p2
+ + coeff_dyz_p2_0_p2*data_p2_0_p2
+ + coeff_dyz_m2_p1_p2*data_m2_p1_p2
+ + coeff_dyz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dyz_0_p1_p2*data_0_p1_p2
+ + coeff_dyz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dyz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dyz_m2_p2_p2*data_m2_p2_p2
+ + coeff_dyz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dyz_0_p2_p2*data_0_p2_p2
+ + coeff_dyz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dyz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dz.compute.c
new file mode 100644
index 0000000..df21dcc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dz.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dz_m2_m2_m2*data_m2_m2_m2
+ + coeff_dz_m1_m2_m2*data_m1_m2_m2
+ + coeff_dz_0_m2_m2*data_0_m2_m2
+ + coeff_dz_p1_m2_m2*data_p1_m2_m2
+ + coeff_dz_p2_m2_m2*data_p2_m2_m2
+ + coeff_dz_m2_m1_m2*data_m2_m1_m2
+ + coeff_dz_m1_m1_m2*data_m1_m1_m2
+ + coeff_dz_0_m1_m2*data_0_m1_m2
+ + coeff_dz_p1_m1_m2*data_p1_m1_m2
+ + coeff_dz_p2_m1_m2*data_p2_m1_m2
+ + coeff_dz_m2_0_m2*data_m2_0_m2
+ + coeff_dz_m1_0_m2*data_m1_0_m2
+ + coeff_dz_0_0_m2*data_0_0_m2
+ + coeff_dz_p1_0_m2*data_p1_0_m2
+ + coeff_dz_p2_0_m2*data_p2_0_m2
+ + coeff_dz_m2_p1_m2*data_m2_p1_m2
+ + coeff_dz_m1_p1_m2*data_m1_p1_m2
+ + coeff_dz_0_p1_m2*data_0_p1_m2
+ + coeff_dz_p1_p1_m2*data_p1_p1_m2
+ + coeff_dz_p2_p1_m2*data_p2_p1_m2
+ + coeff_dz_m2_p2_m2*data_m2_p2_m2
+ + coeff_dz_m1_p2_m2*data_m1_p2_m2
+ + coeff_dz_0_p2_m2*data_0_p2_m2
+ + coeff_dz_p1_p2_m2*data_p1_p2_m2
+ + coeff_dz_p2_p2_m2*data_p2_p2_m2
+ + coeff_dz_m2_m2_m1*data_m2_m2_m1
+ + coeff_dz_m1_m2_m1*data_m1_m2_m1
+ + coeff_dz_0_m2_m1*data_0_m2_m1
+ + coeff_dz_p1_m2_m1*data_p1_m2_m1
+ + coeff_dz_p2_m2_m1*data_p2_m2_m1
+ + coeff_dz_m2_m1_m1*data_m2_m1_m1
+ + coeff_dz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dz_0_m1_m1*data_0_m1_m1
+ + coeff_dz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dz_m2_0_m1*data_m2_0_m1
+ + coeff_dz_m1_0_m1*data_m1_0_m1
+ + coeff_dz_0_0_m1*data_0_0_m1
+ + coeff_dz_p1_0_m1*data_p1_0_m1
+ + coeff_dz_p2_0_m1*data_p2_0_m1
+ + coeff_dz_m2_p1_m1*data_m2_p1_m1
+ + coeff_dz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dz_0_p1_m1*data_0_p1_m1
+ + coeff_dz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dz_m2_p2_m1*data_m2_p2_m1
+ + coeff_dz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dz_0_p2_m1*data_0_p2_m1
+ + coeff_dz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dz_m2_m2_0*data_m2_m2_0
+ + coeff_dz_m1_m2_0*data_m1_m2_0
+ + coeff_dz_0_m2_0*data_0_m2_0
+ + coeff_dz_p1_m2_0*data_p1_m2_0
+ + coeff_dz_p2_m2_0*data_p2_m2_0
+ + coeff_dz_m2_m1_0*data_m2_m1_0
+ + coeff_dz_m1_m1_0*data_m1_m1_0
+ + coeff_dz_0_m1_0*data_0_m1_0
+ + coeff_dz_p1_m1_0*data_p1_m1_0
+ + coeff_dz_p2_m1_0*data_p2_m1_0
+ + coeff_dz_m2_0_0*data_m2_0_0
+ + coeff_dz_m1_0_0*data_m1_0_0
+ + coeff_dz_0_0_0*data_0_0_0
+ + coeff_dz_p1_0_0*data_p1_0_0
+ + coeff_dz_p2_0_0*data_p2_0_0
+ + coeff_dz_m2_p1_0*data_m2_p1_0
+ + coeff_dz_m1_p1_0*data_m1_p1_0
+ + coeff_dz_0_p1_0*data_0_p1_0
+ + coeff_dz_p1_p1_0*data_p1_p1_0
+ + coeff_dz_p2_p1_0*data_p2_p1_0
+ + coeff_dz_m2_p2_0*data_m2_p2_0
+ + coeff_dz_m1_p2_0*data_m1_p2_0
+ + coeff_dz_0_p2_0*data_0_p2_0
+ + coeff_dz_p1_p2_0*data_p1_p2_0
+ + coeff_dz_p2_p2_0*data_p2_p2_0
+ + coeff_dz_m2_m2_p1*data_m2_m2_p1
+ + coeff_dz_m1_m2_p1*data_m1_m2_p1
+ + coeff_dz_0_m2_p1*data_0_m2_p1
+ + coeff_dz_p1_m2_p1*data_p1_m2_p1
+ + coeff_dz_p2_m2_p1*data_p2_m2_p1
+ + coeff_dz_m2_m1_p1*data_m2_m1_p1
+ + coeff_dz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dz_0_m1_p1*data_0_m1_p1
+ + coeff_dz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dz_m2_0_p1*data_m2_0_p1
+ + coeff_dz_m1_0_p1*data_m1_0_p1
+ + coeff_dz_0_0_p1*data_0_0_p1
+ + coeff_dz_p1_0_p1*data_p1_0_p1
+ + coeff_dz_p2_0_p1*data_p2_0_p1
+ + coeff_dz_m2_p1_p1*data_m2_p1_p1
+ + coeff_dz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dz_0_p1_p1*data_0_p1_p1
+ + coeff_dz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dz_m2_p2_p1*data_m2_p2_p1
+ + coeff_dz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dz_0_p2_p1*data_0_p2_p1
+ + coeff_dz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dz_m2_m2_p2*data_m2_m2_p2
+ + coeff_dz_m1_m2_p2*data_m1_m2_p2
+ + coeff_dz_0_m2_p2*data_0_m2_p2
+ + coeff_dz_p1_m2_p2*data_p1_m2_p2
+ + coeff_dz_p2_m2_p2*data_p2_m2_p2
+ + coeff_dz_m2_m1_p2*data_m2_m1_p2
+ + coeff_dz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dz_0_m1_p2*data_0_m1_p2
+ + coeff_dz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dz_m2_0_p2*data_m2_0_p2
+ + coeff_dz_m1_0_p2*data_m1_0_p2
+ + coeff_dz_0_0_p2*data_0_0_p2
+ + coeff_dz_p1_0_p2*data_p1_0_p2
+ + coeff_dz_p2_0_p2*data_p2_0_p2
+ + coeff_dz_m2_p1_p2*data_m2_p1_p2
+ + coeff_dz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dz_0_p1_p2*data_0_p1_p2
+ + coeff_dz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dz_m2_p2_p2*data_m2_p2_p2
+ + coeff_dz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dz_0_p2_p2*data_0_p2_p2
+ + coeff_dz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dzz.compute.c b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dzz.compute.c
new file mode 100644
index 0000000..c085ef6
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.coeffs/3d.cube.size5/interp-dzz.compute.c
@@ -0,0 +1,126 @@
+result =
+ coeff_dzz_m2_m2_m2*data_m2_m2_m2
+ + coeff_dzz_m1_m2_m2*data_m1_m2_m2
+ + coeff_dzz_0_m2_m2*data_0_m2_m2
+ + coeff_dzz_p1_m2_m2*data_p1_m2_m2
+ + coeff_dzz_p2_m2_m2*data_p2_m2_m2
+ + coeff_dzz_m2_m1_m2*data_m2_m1_m2
+ + coeff_dzz_m1_m1_m2*data_m1_m1_m2
+ + coeff_dzz_0_m1_m2*data_0_m1_m2
+ + coeff_dzz_p1_m1_m2*data_p1_m1_m2
+ + coeff_dzz_p2_m1_m2*data_p2_m1_m2
+ + coeff_dzz_m2_0_m2*data_m2_0_m2
+ + coeff_dzz_m1_0_m2*data_m1_0_m2
+ + coeff_dzz_0_0_m2*data_0_0_m2
+ + coeff_dzz_p1_0_m2*data_p1_0_m2
+ + coeff_dzz_p2_0_m2*data_p2_0_m2
+ + coeff_dzz_m2_p1_m2*data_m2_p1_m2
+ + coeff_dzz_m1_p1_m2*data_m1_p1_m2
+ + coeff_dzz_0_p1_m2*data_0_p1_m2
+ + coeff_dzz_p1_p1_m2*data_p1_p1_m2
+ + coeff_dzz_p2_p1_m2*data_p2_p1_m2
+ + coeff_dzz_m2_p2_m2*data_m2_p2_m2
+ + coeff_dzz_m1_p2_m2*data_m1_p2_m2
+ + coeff_dzz_0_p2_m2*data_0_p2_m2
+ + coeff_dzz_p1_p2_m2*data_p1_p2_m2
+ + coeff_dzz_p2_p2_m2*data_p2_p2_m2
+ + coeff_dzz_m2_m2_m1*data_m2_m2_m1
+ + coeff_dzz_m1_m2_m1*data_m1_m2_m1
+ + coeff_dzz_0_m2_m1*data_0_m2_m1
+ + coeff_dzz_p1_m2_m1*data_p1_m2_m1
+ + coeff_dzz_p2_m2_m1*data_p2_m2_m1
+ + coeff_dzz_m2_m1_m1*data_m2_m1_m1
+ + coeff_dzz_m1_m1_m1*data_m1_m1_m1
+ + coeff_dzz_0_m1_m1*data_0_m1_m1
+ + coeff_dzz_p1_m1_m1*data_p1_m1_m1
+ + coeff_dzz_p2_m1_m1*data_p2_m1_m1
+ + coeff_dzz_m2_0_m1*data_m2_0_m1
+ + coeff_dzz_m1_0_m1*data_m1_0_m1
+ + coeff_dzz_0_0_m1*data_0_0_m1
+ + coeff_dzz_p1_0_m1*data_p1_0_m1
+ + coeff_dzz_p2_0_m1*data_p2_0_m1
+ + coeff_dzz_m2_p1_m1*data_m2_p1_m1
+ + coeff_dzz_m1_p1_m1*data_m1_p1_m1
+ + coeff_dzz_0_p1_m1*data_0_p1_m1
+ + coeff_dzz_p1_p1_m1*data_p1_p1_m1
+ + coeff_dzz_p2_p1_m1*data_p2_p1_m1
+ + coeff_dzz_m2_p2_m1*data_m2_p2_m1
+ + coeff_dzz_m1_p2_m1*data_m1_p2_m1
+ + coeff_dzz_0_p2_m1*data_0_p2_m1
+ + coeff_dzz_p1_p2_m1*data_p1_p2_m1
+ + coeff_dzz_p2_p2_m1*data_p2_p2_m1
+ + coeff_dzz_m2_m2_0*data_m2_m2_0
+ + coeff_dzz_m1_m2_0*data_m1_m2_0
+ + coeff_dzz_0_m2_0*data_0_m2_0
+ + coeff_dzz_p1_m2_0*data_p1_m2_0
+ + coeff_dzz_p2_m2_0*data_p2_m2_0
+ + coeff_dzz_m2_m1_0*data_m2_m1_0
+ + coeff_dzz_m1_m1_0*data_m1_m1_0
+ + coeff_dzz_0_m1_0*data_0_m1_0
+ + coeff_dzz_p1_m1_0*data_p1_m1_0
+ + coeff_dzz_p2_m1_0*data_p2_m1_0
+ + coeff_dzz_m2_0_0*data_m2_0_0
+ + coeff_dzz_m1_0_0*data_m1_0_0
+ + coeff_dzz_0_0_0*data_0_0_0
+ + coeff_dzz_p1_0_0*data_p1_0_0
+ + coeff_dzz_p2_0_0*data_p2_0_0
+ + coeff_dzz_m2_p1_0*data_m2_p1_0
+ + coeff_dzz_m1_p1_0*data_m1_p1_0
+ + coeff_dzz_0_p1_0*data_0_p1_0
+ + coeff_dzz_p1_p1_0*data_p1_p1_0
+ + coeff_dzz_p2_p1_0*data_p2_p1_0
+ + coeff_dzz_m2_p2_0*data_m2_p2_0
+ + coeff_dzz_m1_p2_0*data_m1_p2_0
+ + coeff_dzz_0_p2_0*data_0_p2_0
+ + coeff_dzz_p1_p2_0*data_p1_p2_0
+ + coeff_dzz_p2_p2_0*data_p2_p2_0
+ + coeff_dzz_m2_m2_p1*data_m2_m2_p1
+ + coeff_dzz_m1_m2_p1*data_m1_m2_p1
+ + coeff_dzz_0_m2_p1*data_0_m2_p1
+ + coeff_dzz_p1_m2_p1*data_p1_m2_p1
+ + coeff_dzz_p2_m2_p1*data_p2_m2_p1
+ + coeff_dzz_m2_m1_p1*data_m2_m1_p1
+ + coeff_dzz_m1_m1_p1*data_m1_m1_p1
+ + coeff_dzz_0_m1_p1*data_0_m1_p1
+ + coeff_dzz_p1_m1_p1*data_p1_m1_p1
+ + coeff_dzz_p2_m1_p1*data_p2_m1_p1
+ + coeff_dzz_m2_0_p1*data_m2_0_p1
+ + coeff_dzz_m1_0_p1*data_m1_0_p1
+ + coeff_dzz_0_0_p1*data_0_0_p1
+ + coeff_dzz_p1_0_p1*data_p1_0_p1
+ + coeff_dzz_p2_0_p1*data_p2_0_p1
+ + coeff_dzz_m2_p1_p1*data_m2_p1_p1
+ + coeff_dzz_m1_p1_p1*data_m1_p1_p1
+ + coeff_dzz_0_p1_p1*data_0_p1_p1
+ + coeff_dzz_p1_p1_p1*data_p1_p1_p1
+ + coeff_dzz_p2_p1_p1*data_p2_p1_p1
+ + coeff_dzz_m2_p2_p1*data_m2_p2_p1
+ + coeff_dzz_m1_p2_p1*data_m1_p2_p1
+ + coeff_dzz_0_p2_p1*data_0_p2_p1
+ + coeff_dzz_p1_p2_p1*data_p1_p2_p1
+ + coeff_dzz_p2_p2_p1*data_p2_p2_p1
+ + coeff_dzz_m2_m2_p2*data_m2_m2_p2
+ + coeff_dzz_m1_m2_p2*data_m1_m2_p2
+ + coeff_dzz_0_m2_p2*data_0_m2_p2
+ + coeff_dzz_p1_m2_p2*data_p1_m2_p2
+ + coeff_dzz_p2_m2_p2*data_p2_m2_p2
+ + coeff_dzz_m2_m1_p2*data_m2_m1_p2
+ + coeff_dzz_m1_m1_p2*data_m1_m1_p2
+ + coeff_dzz_0_m1_p2*data_0_m1_p2
+ + coeff_dzz_p1_m1_p2*data_p1_m1_p2
+ + coeff_dzz_p2_m1_p2*data_p2_m1_p2
+ + coeff_dzz_m2_0_p2*data_m2_0_p2
+ + coeff_dzz_m1_0_p2*data_m1_0_p2
+ + coeff_dzz_0_0_p2*data_0_0_p2
+ + coeff_dzz_p1_0_p2*data_p1_0_p2
+ + coeff_dzz_p2_0_p2*data_p2_0_p2
+ + coeff_dzz_m2_p1_p2*data_m2_p1_p2
+ + coeff_dzz_m1_p1_p2*data_m1_p1_p2
+ + coeff_dzz_0_p1_p2*data_0_p1_p2
+ + coeff_dzz_p1_p1_p2*data_p1_p1_p2
+ + coeff_dzz_p2_p1_p2*data_p2_p1_p2
+ + coeff_dzz_m2_p2_p2*data_m2_p2_p2
+ + coeff_dzz_m1_p2_p2*data_m1_p2_p2
+ + coeff_dzz_0_p2_p2*data_0_p2_p2
+ + coeff_dzz_p1_p2_p2*data_p1_p2_p2
+ + coeff_dzz_p2_p2_p2*data_p2_p2_p2;
diff --git a/src/GeneralizedPolynomial-Uniform/3d.cube.order1.smooth0.c b/src/GeneralizedPolynomial-Uniform/3d.cube.order1.smooth0.c
new file mode 100644
index 0000000..5bc4c9c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.cube.order1.smooth0.c
@@ -0,0 +1,43 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o1_s0
+#include "template.h"
+
+#define N_DIMS 3
+#define MOLECULE_SIZE 2
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DZ
+
+#define DATA_VAR_DCL_FILE_NAME "3d.coeffs/3d.cube.size2/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "3d.coeffs/3d.cube.size2/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "3d.coeffs/3d.cube.size2/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "3d.coeffs/3d.cube.size2/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "3d.coeffs/3d.cube.size2/coeff-dy.dcl.c"
+#define COEFF_DZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size2/coeff-dz.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size2/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size2/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size2/interp-dy.compute.c"
+#define INTERP_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size2/interp-dz.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c"
+#define COEFF_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/3d.cube.order2.smooth0.c b/src/GeneralizedPolynomial-Uniform/3d.cube.order2.smooth0.c
new file mode 100644
index 0000000..c64fcff
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.cube.order2.smooth0.c
@@ -0,0 +1,67 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o2_s0
+#include "template.h"
+
+#define N_DIMS 3
+#define MOLECULE_SIZE 3
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DZ
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DXZ
+#define HAVE_OP_DYY
+#define HAVE_OP_DYZ
+#define HAVE_OP_DZZ
+
+#define DATA_VAR_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "3d.coeffs/3d.cube.size3/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dy.dcl.c"
+#define COEFF_DZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dz.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c"
+#define COEFF_DXZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c"
+#define COEFF_DYZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c"
+#define COEFF_DZZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dy.compute.c"
+#define INTERP_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dz.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dxy.compute.c"
+#define INTERP_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dxz.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dyy.compute.c"
+#define INTERP_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dyz.compute.c"
+#define INTERP_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size3/interp-dzz.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c"
+#define COEFF_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c"
+#define COEFF_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c"
+#define COEFF_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c"
+#define COEFF_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/3d.cube.order3.smooth0.c b/src/GeneralizedPolynomial-Uniform/3d.cube.order3.smooth0.c
new file mode 100644
index 0000000..72be322
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.cube.order3.smooth0.c
@@ -0,0 +1,67 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o3_s0
+#include "template.h"
+
+#define N_DIMS 3
+#define MOLECULE_SIZE 4
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DZ
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DXZ
+#define HAVE_OP_DYY
+#define HAVE_OP_DYZ
+#define HAVE_OP_DZZ
+
+#define DATA_VAR_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "3d.coeffs/3d.cube.size4/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dy.dcl.c"
+#define COEFF_DZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dz.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c"
+#define COEFF_DXZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c"
+#define COEFF_DYZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c"
+#define COEFF_DZZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dy.compute.c"
+#define INTERP_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dz.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dxy.compute.c"
+#define INTERP_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dxz.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dyy.compute.c"
+#define INTERP_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dyz.compute.c"
+#define INTERP_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size4/interp-dzz.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c"
+#define COEFF_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c"
+#define COEFF_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c"
+#define COEFF_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c"
+#define COEFF_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/3d.cube.order4.smooth0.c b/src/GeneralizedPolynomial-Uniform/3d.cube.order4.smooth0.c
new file mode 100644
index 0000000..907931a
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.cube.order4.smooth0.c
@@ -0,0 +1,67 @@
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "InterpLocalUniform.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o4_s0
+#include "template.h"
+
+#define N_DIMS 3
+#define MOLECULE_SIZE 5
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DZ
+#define HAVE_OP_DXX
+#define HAVE_OP_DXY
+#define HAVE_OP_DXZ
+#define HAVE_OP_DYY
+#define HAVE_OP_DYZ
+#define HAVE_OP_DZZ
+
+#define DATA_VAR_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/data-var.dcl.c"
+#define DATA_VAR_ASSIGN_FILE_NAME "3d.coeffs/3d.cube.size5/data-var.assign.c"
+
+#define COEFF_I_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-I.dcl.c"
+#define COEFF_DX_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dx.dcl.c"
+#define COEFF_DY_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dy.dcl.c"
+#define COEFF_DZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dz.dcl.c"
+#define COEFF_DXX_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c"
+#define COEFF_DXY_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c"
+#define COEFF_DXZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c"
+#define COEFF_DYY_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c"
+#define COEFF_DYZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c"
+#define COEFF_DZZ_DCL_FILE_NAME "3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c"
+
+#define INTERP_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-I.compute.c"
+#define INTERP_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dx.compute.c"
+#define INTERP_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dy.compute.c"
+#define INTERP_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dz.compute.c"
+#define INTERP_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dxx.compute.c"
+#define INTERP_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dxy.compute.c"
+#define INTERP_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dxz.compute.c"
+#define INTERP_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dyy.compute.c"
+#define INTERP_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dyz.compute.c"
+#define INTERP_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.size5/interp-dzz.compute.c"
+
+#define COEFF_I_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c"
+#define COEFF_DX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c"
+#define COEFF_DY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c"
+#define COEFF_DZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c"
+#define COEFF_DXX_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c"
+#define COEFF_DXY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c"
+#define COEFF_DXZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c"
+#define COEFF_DYY_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c"
+#define COEFF_DYZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c"
+#define COEFF_DZZ_COMPUTE_FILE_NAME "3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c"
+
+/* actual code */
+#include "template.c"
diff --git a/src/GeneralizedPolynomial-Uniform/3d.log b/src/GeneralizedPolynomial-Uniform/3d.log
new file mode 100644
index 0000000..cc5db9f
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.log
@@ -0,0 +1,40705 @@
+ |\^/| Maple 7 (IBM INTEL LINUX)
+._|\| |/|_. Copyright (c) 2001 by Waterloo Maple Inc.
+ \ MAPLE / All rights reserved. Maple is a registered trademark of
+ <____ ____> Waterloo Maple Inc.
+ | Type ? for help.
+# util.maple -- misc utility routines
+# $Id: util.maple,v 1.1 2001/06/29 09:36:22 jthorn Exp $
+>
+#
+# C_str - codegen[C](), but returning its result as a Maple string
+# fix_rationals - convert numbers to RATIONAL() calls
+# nonmatching_names - find names in a list which *don't* have a specified prefix
+# sprint_numeric_list - convert a numeric list to a valid C identifier suffix
+# print_name_list_dcl - print a C declaration for a list of names
+#
+# hypercube_points - compute all (integer) points in an N-dimensional hypercube
+#
+# ftruncate - truncate a file to zero length
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function is a wrapper around codegen[C]() which returns the
+# genenerated code explictly as a Maple string.
+#
+# Arguments:
+# expr = (in) The expression for which code is to be generated.
+# ... = (in) Any further arguments are taken as options to be passed
+# to codegen[C]()
+#
+# Results:
+# The function returns a maple string of C code.
+#
+> C_str :=
+> proc(expr::algebraic)
+> local tempname, str, temp;
+>
+# name of temp file
+# FIXME: should use process number to ensure uniqueness
+> tempname := "/tmp/C_str.tmp.c";
+>
+# truncate temp file to zero length
+> fopen(tempname, WRITE);
+> fclose(tempname);
+>
+# generate the code
+> codegen[C](args, filename=tempname);
+>
+# read the code back in
+> str := "";
+> while true
+> do
+> temp := readline(tempname);
+> if (temp = 0)
+> then break;
+> end if;
+> str := cat(str, temp);
+> end do;
+> fclose(tempname);
+>
+# strip off the leading " t0 = "
+> return op(2,sscanf(str, "%s = %[^;];"));
+> end proc;
+C_str := proc(expr::algebraic)
+local tempname, str, temp;
+ tempname := "/tmp/C_str.tmp.c";
+ fopen(tempname, WRITE);
+ fclose(tempname);
+ codegen[C](args, filename = tempname);
+ str := "";
+ do
+ temp := readline(tempname);
+ if temp = 0 then break end if;
+ str := cat(str, temp)
+ end do;
+ fclose(tempname);
+ return op(2, sscanf(str, "%s = %[^;];"))
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts all {integer, rational} subexpressions of its
+# input except integer exponents and -1 factors in products, into function
+# calls
+# RATIONAL(num,den)
+# This is useful in conjunction with the C() library function, since
+#
+# C( (1/3) * foo * bar )
+# t0 = foo*bar/3;
+#
+# generates a (slow) division (and runs the risk of mixed-mode-arithmetic
+# problems), while
+#
+# C((1.0/3.0) * foo * bar);
+# t0 = 0.3333333333*foo*bar;
+#
+# suffers from roundoff error. With this function,
+#
+# fix_rationals((1/3) * foo * bar);
+# RATIONAL(1,3) foo bar
+# C(%);
+# t0 = RATIONAL(1.0,3.0)*foo*bar;
+#
+# which a C preprocessor macro can easily convert to the desired
+#
+# t0 = (1.0/3.0)*foo*bar;
+#
+# Additionally, this function can be told to leave certain types of
+# subexpressions unconverged. For example,
+# fix_rationals(expr, type, specfunc(integer, DATA));
+# will leave all subexpressions of the form DATA(integer arguments)
+# unconverted.
+#
+# Arguments:
+# expr = (in) The expression to be converted.
+# inert_fn = (optional in)
+# If specified, this argument should be a Boolean procedure
+# or the name of a Boolean procedure. This procedure should
+# take one or more argument, and return true if and only if
+# the first argument should *not* be converted, i.e. if we
+# should leave this expression unchanged. See the last
+# example above.
+# ... = (optional in)
+# Any further arguments are passed as additional arguments to
+# the inert_fn procedure.
+#
+> fix_rationals :=
+> proc(
+> expr::{
+> algebraic, name = algebraic,
+> list({algebraic, name = algebraic}),
+> set ({algebraic, name = algebraic})
+> },
+> inert_fn::{name, procedure}
+> )
+> local nn, k,
+> base, power, fbase, fpower,
+> fn, fn_args_list,
+> num, den, mult;
+>
+# do we want to convert this expression?
+> if ((nargs >= 2) and inert_fn(expr, args[3..nargs]))
+> then return expr;
+> end if;
+>
+# recurse over lists and sets
+> if (type(expr, {list,set}))
+> then return map(fix_rationals, expr, args[2..nargs]);
+> end if;
+>
+# recurse over equation right hand sides
+> if (type(expr, name = algebraic))
+> then return ( lhs(expr) = fix_rationals(rhs(expr), args[2..nargs]) );
+> end if;
+>
+# recurse over functions other than RATIONAL()
+> if (type(expr, function))
+> then
+> fn := op(0, expr);
+> if (fn <> 'RATIONAL')
+> then
+> fn_args_list := [op(expr)];
+> fn_args_list := map(fix_rationals, fn_args_list, args[2..nargs]);
+> fn; return '%'( op(fn_args_list) );
+> end if;
+> end if;
+>
+> nn := nops(expr);
+>
+# recurse over sums
+> if (type(expr, `+`))
+> then return sum('fix_rationals(op(k,expr), args[2..nargs])', 'k'=1..nn);
+> end if;
+>
+# recurse over products
+# ... leaving leading -1 factors intact, i.e. not converted to RATIONAL(-1,1)
+> if (type(expr, `*`))
+> then
+> if (op(1, expr) = -1)
+> then return -1*fix_rationals(remove(type, expr, 'identical(-1)'),
+> args[2..nargs]);
+> else return product('fix_rationals(op(k,expr), args[2..nargs])',
+> 'k'=1..nn);
+> end if;
+> end if;
+>
+# recurse over powers
+# ... leaving integer exponents intact
+> if (type(expr, `^`))
+> then
+> base := op(1, expr);
+> power := op(2, expr);
+>
+> fbase := fix_rationals(base, args[2..nargs]);
+> if (type(power, integer))
+> then fpower := power;
+> else fpower := fix_rationals(power, args[2..nargs]);
+> end if;
+> return fbase ^ fpower;
+> end if;
+>
+# fix integers and fractions
+> if (type(expr, integer))
+> then return 'RATIONAL'(expr, 1);
+> end if;
+> if (type(expr, fraction))
+> then
+> num := op(1, expr);
+> den := op(2, expr);
+>
+> return 'RATIONAL'(num, den);
+> end if;
+>
+# turn Maple floating-point into integer fraction, then recursively fix that
+> if (type(expr, float))
+> then
+> mult := op(1, expr);
+> power := op(2, expr);
+> return fix_rationals(mult * 10^power, args[2..nargs]);
+> end if;
+>
+# identity op on names
+> if (type(expr, name))
+> then return expr;
+> end if;
+>
+# unknown type
+> error "%0",
+> "unknown type for expr!",
+> " whattype(expr) = ", whattype(expr),
+> " expr = ", expr;
+> end proc;
+fix_rationals := proc(expr::{algebraic, name = algebraic,
+list({algebraic, name = algebraic}), set({algebraic, name = algebraic})},
+inert_fn::{procedure, name})
+local nn, k, base, power, fbase, fpower, fn, fn_args_list, num, den, mult;
+ if 2 <= nargs and inert_fn(expr, args[3 .. nargs]) then return expr
+ end if;
+ if type(expr, {set, list}) then
+ return map(fix_rationals, expr, args[2 .. nargs])
+ end if;
+ if type(expr, name = algebraic) then
+ return lhs(expr) = fix_rationals(rhs(expr), args[2 .. nargs])
+ end if;
+ if type(expr, function) then
+ fn := op(0, expr);
+ if fn <> 'RATIONAL' then
+ fn_args_list := [op(expr)];
+ fn_args_list :=
+ map(fix_rationals, fn_args_list, args[2 .. nargs]);
+ fn;
+ return '%'(op(fn_args_list))
+ end if
+ end if;
+ nn := nops(expr);
+ if type(expr, `+`) then return
+ sum('fix_rationals(op(k, expr), args[2 .. nargs])', 'k' = 1 .. nn)
+ end if;
+ if type(expr, `*`) then
+ if op(1, expr) = -1 then return -fix_rationals(
+ remove(type, expr, 'identical(-1)'), args[2 .. nargs])
+ else return product('fix_rationals(op(k, expr), args[2 .. nargs])',
+ 'k' = 1 .. nn)
+ end if
+ end if;
+ if type(expr, `^`) then
+ base := op(1, expr);
+ power := op(2, expr);
+ fbase := fix_rationals(base, args[2 .. nargs]);
+ if type(power, integer) then fpower := power
+ else fpower := fix_rationals(power, args[2 .. nargs])
+ end if;
+ return fbase^fpower
+ end if;
+ if type(expr, integer) then return 'RATIONAL'(expr, 1) end if;
+ if type(expr, fraction) then
+ num := op(1, expr); den := op(2, expr); return 'RATIONAL'(num, den)
+ end if;
+ if type(expr, float) then
+ mult := op(1, expr);
+ power := op(2, expr);
+ return fix_rationals(mult*10^power, args[2 .. nargs])
+ end if;
+ if type(expr, name) then return expr end if;
+ error "%0", "unknown type for expr!", " whattype(expr) = ",
+ whattype(expr), " expr = ", expr
+end proc
+
+>
+################################################################################
+>
+#
+# This function finds names in a list which *don't* have a specified prefix.
+#
+# Arguments:
+# name_list = A list of the names.
+# prefix = The prefix we want to filter out.
+#
+# Results:
+# This function returns the subset list of names which don't have the
+# specified prefix.
+#
+> nonmatching_names :=
+> proc( name_list::list({name,string}), prefix::{name,string} )
+>
+> select( proc(n)
+> evalb(not StringTools[IsPrefix](prefix,n));
+> end proc
+> ,
+> name_list
+> );
+> end proc;
+nonmatching_names := proc(
+name_list::list({name, string}), prefix::{name, string})
+ select(proc(n) evalb(not StringTools[IsPrefix](prefix, n)) end proc,
+ name_list)
+end proc
+
+>
+################################################################################
+>
+#
+# This function converts a numeric list to a string which is a valid
+# C identifier suffix: elements are separated by "_", decimal points are
+# replaced by "x", and all nonzero values have explicit +/- signs, which
+# are replaced by "p"/"m".
+#
+# For example, [0,-3.5,+4] --> "0_m3x5_p4".
+#
+> sprint_numeric_list :=
+> proc(nlist::list(numeric))
+>
+# generate preliminary string, eg "+0_-3.5_+4"
+> map2(sprintf, "%+a", nlist);
+> ListTools[Join](%, "_");
+> cat(op(%));
+>
+# fixup bad characters
+> StringTools[SubstituteAll](%, "+0", "0");
+> StringTools[CharacterMap](".+-", "xpm", %);
+>
+> return %;
+> end proc;
+sprint_numeric_list := proc(nlist::list(numeric))
+ map2(sprintf, "%+a", nlist);
+ ListTools[Join](%, "_");
+ cat(op(%));
+ StringTools[SubstituteAll](%, "+0", "0");
+ StringTools[CharacterMap](".+-", "xpm", %);
+ return %
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C declaration for a list of names.
+#
+# Argument:
+# name_list = A list of the names.
+# name_type = The C type of the names, eg. "double".
+# file_name = The file name to write the declaration to. This is
+# truncated before writing.
+#
+> print_name_list_dcl :=
+> proc( name_list::list({name,string}),
+> name_type::string,
+> file_name::string )
+> local blanks, separator_string;
+>
+> ftruncate(file_name);
+>
+# a sequence of blanks with the same length as name_type
+> seq(" ", i=1..length(name_type));
+>
+# string to separate names
+> separator_string := cat(",\n", %, " ");
+>
+> map(convert, name_list, string);
+> ListTools[Join](%, separator_string);
+> cat(op(%));
+>
+> fprintf(file_name,
+> "%s %s;\n",
+> name_type, %);
+> NULL;
+> end proc;
+print_name_list_dcl := proc(
+name_list::list({name, string}), name_type::string, file_name::string)
+local blanks, separator_string;
+ ftruncate(file_name);
+ seq(" ", i = 1 .. length(name_type));
+ separator_string := cat(",\n", %, " ");
+ map(convert, name_list, string);
+ ListTools[Join](%, separator_string);
+ cat(op(%));
+ fprintf(file_name, "%s %s;\n", name_type, %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a list of all the (integer) points in an
+# N-dimensional hypercube, in lexicographic order. The present
+# implementation requires N <= 4.
+#
+# Arguments:
+# cmin,cmax = N-element lists of cube minimum/maximum coordinates.
+#
+# Results:
+# The function returns a set of d-element lists giving the coordinates.
+# For example,
+# hypercube([0,0], [2,1]
+# returns
+# { [0,0], [0,1], [1,0], [1,1], [2,0], [2,1] }
+> hypercube_points :=
+> proc(cmin::list(integer), cmax::list(integer))
+> local N, i,j,k,l;
+>
+> N := nops(cmin);
+> if (nops(cmax) <> N)
+> then error
+> "must have same number of dimensions for min and max coordinates!";
+> fi;
+>
+> if (N = 1)
+> then return [seq([i], i=cmin[1]..cmax[1])];
+> elif (N = 2)
+> then return [
+> seq(
+> seq([i,j], j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 3)
+> then return [
+> seq(
+> seq(
+> seq([i,j,k], k=cmin[3]..cmax[3]),
+> j=cmin[2]..cmax[2] ),
+> i=cmin[1]..cmax[1])
+> ];
+> elif (N = 4)
+> then return [
+> seq(
+> seq(
+> seq(
+> seq([i,j,k,l], l=cmin[4]..cmax[4]),
+> k=cmin[3]..cmax[3] ),
+> j=cmin[2]..cmax[2]),
+> i=cmin[1]..cmax[1])
+> ];
+> else
+> error "implementation restriction: must have N <= 4, got %1!", N;
+> fi;
+> end proc;
+hypercube_points := proc(cmin::list(integer), cmax::list(integer))
+local N, i, j, k, l;
+ N := nops(cmin);
+ if nops(cmax) <> N then error
+ "must have same number of dimensions for min and max coordinates!"
+ end if;
+ if N = 1 then return [seq([i], i = cmin[1] .. cmax[1])]
+ elif N = 2 then return
+ [seq(seq([i, j], j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ elif N = 3 then return [seq(
+ seq(seq([i, j, k], k = cmin[3] .. cmax[3]), j = cmin[2] .. cmax[2])
+ , i = cmin[1] .. cmax[1])]
+ elif N = 4 then return [seq(seq(seq(
+ seq([i, j, k, l], l = cmin[4] .. cmax[4]), k = cmin[3] .. cmax[3]),
+ j = cmin[2] .. cmax[2]), i = cmin[1] .. cmax[1])]
+ else error "implementation restriction: must have N <= 4, got %1!", N
+ end if
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function truncates a file to 0 length if it exists, or creates
+# it at that length if it doesn't exist.
+#
+# Arguments:
+# file_name = (in) The name of the file.
+#
+> ftruncate :=
+> proc(file_name::string)
+> fopen(file_name, 'WRITE');
+> fclose(%);
+> NULL;
+> end proc;
+ftruncate :=
+
+ proc(file_name::string) fopen(file_name, 'WRITE'); fclose(%); NULL end proc
+
+# GInterpolate.maple -- compute generalized interpolation formulas/coefficients
+# $Id$
+>
+#
+# <<<representation of numbers, data values, etc>>>
+# polynomial_interpolant - compute polynomial interpolant
+# coeff_as_lc_of_data - coefficients of ... (linear combination of data)
+#
+# print_coeff__lc_of_data - print C code to compute coefficients
+# print_data_var_assign - print C code to assign data-value variables
+# print_interp_cmpt__lc_of_data - print C code for computation of interpolant
+#
+# coeff_name - name of coefficient of data at a given [m] coordinate
+# data_var_name - name of variable storing data value at a given [m] coordinate
+#
+>
+################################################################################
+>
+#
+# ***** representation of numbers, data values, etc *****
+#
+# We use RATIONAL(p.0,q.0) to denote the rational number p/q.
+#
+# We use DATA(...) to represent the data values being interpolated at a
+# specified [m] coordinate, where the arguments are the [m] coordinates.
+#
+# We use COEFF(...) to represent the molecule coefficient at a specified
+# [m] coordinate, where the arguments are the [m] coordinates.
+#
+# For example, the usual 1-D centered 2nd order 1st derivative molecule
+# would be written
+# RATIONAL(-1.0,2.0)*DATA(-1) + RATIONA(1.0,2.0)*DATA(1)
+# and its coefficients as
+# COEFF(-1) = RATIONAL(-1.0,2.0)
+# COEFF(1) = RATIONAL(1.0,2.0)
+#
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes a polynomial interpolant in any number of dimensions.
+#
+# Arguments:
+# fn = The interpolation function. This should be a procedure in the
+# coordinates, having the coefficients as global variables. For
+# example,
+# proc(x,y) c00 + c10*x + c01*y end proc
+# coeff_list = A set of the interpolation coefficients (coefficients in
+# the interpolation function), for example [c00, c10, c01].
+# coord_list = A list of the coordinates (independent variables in the
+# interpolation function), for example [x,y].
+# posn_list = A list of positions (each a list of numeric values) where the
+# interpolant is to use data, for example hypercube([0,0], [1,1]).
+# Any positions may be used; if they're redundant (as in the
+# example) the least-squares interpolant is computed.
+#
+# Results:
+# This function returns the interpolating polynomial, in the form of
+# an algebraic expression in the coordinates and the data values.
+#
+> polynomial_interpolant :=
+> proc(
+> fn::procedure, coeff_list::list(name),
+> coord_list::list(name), posn_list::list(list(numeric))
+> )
+> local posn, data_eqns, coeff_eqns;
+>
+# coefficients of interpolating polynomial
+> data_eqns := { seq( fn(op(posn))='DATA'(op(posn)) , posn=posn_list ) };
+> coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+> if (has(coeff_eqns, '_t'))
+> then error "interpolation coefficients aren't uniquely determined!";
+> end if;
+>
+# interpolant as a polynomial in the coordinates
+> return subs(coeff_eqns, eval(fn))(op(coord_list));
+> end proc;
+polynomial_interpolant := proc(fn::procedure, coeff_list::list(name),
+coord_list::list(name), posn_list::list(list(numeric)))
+local posn, data_eqns, coeff_eqns;
+ data_eqns := {seq(fn(op(posn)) = 'DATA'(op(posn)), posn = posn_list)};
+ coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+ if has(coeff_eqns, '_t') then
+ error "interpolation coefficients aren't uniquely determined!"
+ end if;
+ return subs(coeff_eqns, eval(fn))(op(coord_list))
+end proc
+
+>
+################################################################################
+>
+#
+# This function takes as input an interpolating polynomial, expresses
+# it as a linear combination of the data values, and returns the coefficeints
+# of that form.
+#
+# Arguments:
+# interpolant = The interpolating polynomial (an algebraic expression
+# in the coordinates and the data values).
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+#
+# Results:
+# This function returns the coefficients, as a list of equations of the
+# form COEFF(...) = value , where each value is a polynomial in the
+# coordinates. The order of the list matches that of posn_list.
+#
+> coeff_as_lc_of_data :=
+> proc(
+> interpolant::algebraic,
+> posn_list::list(list(numeric))
+> )
+> local data_list, interpolant_as_lc_of_data;
+>
+# interpolant as a linear combination of the data values
+> data_list := [ seq( 'DATA'(op(posn)) , posn=posn_list ) ];
+> interpolant_as_lc_of_data := collect(interpolant, data_list);
+>
+# coefficients of the data values in the linear combination
+> return map(
+> proc(posn::list(numeric))
+> coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+> 'COEFF'(op(posn)) = %;
+> end proc
+> ,
+> posn_list
+> );
+> end proc;
+coeff_as_lc_of_data := proc(
+interpolant::algebraic, posn_list::list(list(numeric)))
+local data_list, interpolant_as_lc_of_data;
+ data_list := [seq('DATA'(op(posn)), posn = posn_list)];
+ interpolant_as_lc_of_data := collect(interpolant, data_list);
+ return map(proc(posn::list(numeric))
+ coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+ 'COEFF'(op(posn)) = %
+ end proc, posn_list)
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function prints C expressions for the coefficients of an
+# interpolating polynomial. (The polynomial is expressed as linear
+# combinations of the data values with coefficients which are
+# RATIONAL(p,q) calls.)
+#
+# Arguments:
+# coeff_list = A list of the coefficients, as returned from
+# coeff_as_lc_of_data() .
+# coeff_name_prefix = A prefix string for the coefficient names.
+# temp_name_type = The C type to be used for Maple-introduced temporary
+# names, eg. "double".
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_coeff__lc_of_data :=
+> proc( coeff_list::list(specfunc(numeric,COEFF) = algebraic),
+> coeff_name_prefix::string,
+> temp_name_type::string,
+> file_name::string )
+> global `codegen/C/function/informed`;
+> local coeff_list2, cmpt_list, temp_name_list;
+>
+# convert LHS of each equation from a COEFF() call (eg COEFF(-1,+1))
+# to a Maple/C variable name (eg coeff_I_m1_p1)
+> coeff_list2 := map(
+> proc(coeff_eqn::specfunc(numeric,COEFF) = algebraic)
+> local posn;
+> posn := [op(lhs(coeff_eqn))];
+> coeff_name(posn,coeff_name_prefix);
+> convert(%, name); # codegen[C] wants LHS
+> # to be an actual Maple *name*
+> % = fix_rationals(rhs(coeff_eqn));
+> end proc
+> ,
+> coeff_list
+> );
+>
+#
+# generate the C code
+#
+>
+# tell codegen[C] not to warn about unknown RATIONAL() and DATA() "fn calls"
+# via undocumented :( global table
+> `codegen/C/function/informed`['RATIONAL'] := true;
+> `codegen/C/function/informed`['DATA'] := true;
+>
+> ftruncate(file_name);
+>
+# optimized computation sequence for all the coefficients
+# (may use local variables t0,t1,t2,...)
+> cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+>
+# list of the t0,t1,t2,... local variables
+> temp_name_list := nonmatching_names(map(lhs,cmpt_list), coeff_name_prefix);
+>
+# declare the t0,t1,t2,... local variables (if there are any)
+> if (nops(temp_name_list) > 0)
+> then print_name_list_dcl(%, temp_name_type, file_name);
+> fi;
+>
+# now print the optimized computation sequence
+> codegen[C](cmpt_list, filename=file_name);
+>
+> NULL;
+> end proc;
+print_coeff__lc_of_data := proc(
+coeff_list::list(specfunc(numeric, COEFF) = algebraic),
+coeff_name_prefix::string, temp_name_type::string, file_name::string)
+local coeff_list2, cmpt_list, temp_name_list;
+global `codegen/C/function/informed`;
+ coeff_list2 := map(proc(
+ coeff_eqn::(specfunc(numeric, COEFF) = algebraic))
+ local posn;
+ posn := [op(lhs(coeff_eqn))];
+ coeff_name(posn, coeff_name_prefix);
+ convert(%, name);
+ % = fix_rationals(rhs(coeff_eqn))
+ end proc, coeff_list);
+ `codegen/C/function/informed`['RATIONAL'] := true;
+ `codegen/C/function/informed`['DATA'] := true;
+ ftruncate(file_name);
+ cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+ temp_name_list :=
+ nonmatching_names(map(lhs, cmpt_list), coeff_name_prefix);
+ if 0 < nops(temp_name_list) then
+ print_name_list_dcl(%, temp_name_type, file_name)
+ end if;
+ codegen[C](cmpt_list, filename = file_name);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a sequence of C expression to assign the data-value
+# variables.
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_data_var_assign :=
+> proc(
+> posn_list::list(list(numeric)),
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+>
+> map(
+> proc(posn::list(numeric))
+> fprintf(file_name,
+> "%s = %a;\n",
+> data_var_name(posn,data_var_name_prefix),
+> DATA(op(posn)));
+> end proc
+> ,
+> posn_list
+> );
+>
+> NULL;
+> end proc;
+print_data_var_assign := proc(posn_list::list(list(numeric)),
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ map(proc(posn::list(numeric))
+ fprintf(file_name, "%s = %a;\n",
+ data_var_name(posn, data_var_name_prefix), DATA(op(posn)))
+ end proc, posn_list);
+ NULL
+end proc
+
+>
+################################################################################
+>
+#
+# This function prints a C expression to compute the interpolant,
+# using the coefficients computed by print_coeff__lc_of_data()
+# (i.e. expressing the interpolant as a linear combination of the
+# data values).
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# result_var_name = The (string) name of the variable to which the
+# result is to be assigned.
+# coeff_name_prefix = A prefix string for the coefficient names.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+> print_interp_cmpt__lc_of_data :=
+> proc(
+> posn_list::list(list(numeric)),
+> result_var_name::string,
+> coeff_name_prefix::string,
+> data_var_name_prefix::string,
+> file_name::string
+> )
+>
+> ftruncate(file_name);
+> fprintf(file_name, "%s =\n", result_var_name);
+>
+# list of "coeff*data_var" terms
+> map(
+> proc(posn::list(numeric))
+> sprintf("%s*%s",
+> coeff_name(posn,coeff_name_prefix),
+> data_var_name(posn,data_var_name_prefix));
+> end proc
+> ,
+> posn_list
+> );
+>
+> ListTools[Join](%, "\n\t+ ");
+> cat(op(%));
+>
+> fprintf(file_name, "\t%s;\n", %);
+> NULL;
+> end proc;
+print_interp_cmpt__lc_of_data := proc(posn_list::list(list(numeric)),
+result_var_name::string, coeff_name_prefix::string,
+data_var_name_prefix::string, file_name::string)
+ ftruncate(file_name);
+ fprintf(file_name, "%s =\n", result_var_name);
+ map(proc(posn::list(numeric))
+ sprintf("%s*%s", coeff_name(posn, coeff_name_prefix),
+ data_var_name(posn, data_var_name_prefix))
+ end proc, posn_list);
+ ListTools[Join](%, "\n\t+ ");
+ cat(op(%));
+ fprintf(file_name, "\t%s;\n", %);
+ NULL
+end proc
+
+>
+################################################################################
+################################################################################
+################################################################################
+>
+#
+# This function computes the name of the coefficient of the data at a
+# given [m] position, i.e. it encapsulates our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the coefficient name.
+#
+# Results:
+# The function returns the coefficient, as a Maple string.
+#
+> coeff_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+coeff_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+>
+################################################################################
+>
+#
+# This function computes the name of the variable in which the C code
+# will store the input data at a given [m] position, i.e. it encapsulates
+# our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the variable name.
+#
+# Results:
+# The function returns the variable name, as a Maple string.
+#
+> data_var_name :=
+> proc(posn::list(numeric), name_prefix::string)
+> cat(name_prefix, sprint_numeric_list(posn));
+> end proc;
+data_var_name := proc(posn::list(numeric), name_prefix::string)
+ cat(name_prefix, sprint_numeric_list(posn))
+end proc
+
+# Maple code to compute 3-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+>
+################################################################################
+>
+#
+# interpolating functions
+#
+>
+> fn_3d_order1 :=
+> proc(x,y,z)
+# z^0 -----------
+> + c010*y
+> + c000 + c100*x
+# z^1 -----------
+> + c001*z
+> end proc;
+ fn_3d_order1 := proc(x, y, z) c010*y + c000 + c100*x + c001*z end proc
+
+>
+> fn_3d_order2 :=
+> proc(x,y,z)
+# z^0 --------------------------
+> + c020*y^2
+> + c010*y + c110*x*y
+> + c000 + c100*x + c200*x^2
+# z^1 --------------------------
+> + c011*y*z
+> + c001*z + c101*x*z
+# z^2 --------------------------
+> + c002*z^2
+> end proc;
+fn_3d_order2 := proc(x, y, z)
+ c020*y^2 + c010*y + c110*x*y + c000 + c100*x + c200*x^2 + c011*y*z
+ + c001*z + c101*x*z + c002*z^2
+end proc
+
+>
+> fn_3d_order3 :=
+> proc(x,y,z)
+# z^0 -------------------------------------------
+> + c030*y^3
+> + c020*y^2 + c120*x*y^2
+> + c010*y + c110*x*y + c210*x^2*y
+> + c000 + c100*x + c200*x^2 + c300*x^3
+# z^1 -------------------------------------------
+> + c021*y^2*z
+> + c011*y *z + c111*x*y*z
+> + c001 *z + c101*x *z + c201*x^2*z
+# z^2 -------------------------------------------
+> + c012*y*z^2
+> + c002 *z^2 + c102*x*z^2
+# z^3 -------------------------------------------
+> + c003 *z^3
+> end proc;
+fn_3d_order3 := proc(x, y, z)
+ c030*y^3 + c020*y^2 + c120*x*y^2 + c010*y + c110*x*y + c210*x^2*y
+ + c000 + c100*x + c200*x^2 + c300*x^3 + c021*y^2*z + c011*y*z
+ + c111*x*y*z + c001*z + c101*x*z + c201*x^2*z + c012*y*z^2 + c002*z^2
+ + c102*x*z^2 + c003*z^3
+end proc
+
+>
+> fn_3d_order4 :=
+> proc(x,y,z)
+# z^0 --------------------------------------------------------
+> + c040*y^4
+> + c030*y^3 + c130*x*y^3
+> + c020*y^2 + c120*x*y^2 + c220*x^2*y^2
+> + c010*y + c110*x*y + c210*x^2*y + c310*x^3*y
+> + c000 + c100*x + c200*x^2 + c300*x^3 + c400*x^4
+# z^1 -------------------------------------------
+> + c031*y^3*z
+> + c021*y^2*z + c121*x*y^2*z
+> + c011*y *z + c111*x*y *z + c211*x^2*y*z
+> + c001 *z + c101*x *z + c201*x^2 *z + c301*x^3*z
+# z^2 -------------------------------------------
+> + c022*y^2*z^2
+> + c012*y *z^2 + c112*x*y*z^2
+> + c002 *z^2 + c102*x *z^2 + c202*x^2*z^2
+# z^3 -------------------------------------------
+> + c013*y *z^3
+> + c003 *z^3 + c103*x *z^3
+# z^4 -------------------------------------------
+> + c004 *z^4
+> end;
+fn_3d_order4 := proc(x, y, z)
+ c102*x*z^2 + c012*y*z^2 + c111*x*y*z + c121*x*y^2*z + c211*x^2*y*z
+ + c112*x*y*z^2 + c110*x*y + c011*y*z + c101*x*z + c120*x*y^2
+ + c210*x^2*y + c021*y^2*z + c201*x^2*z + c000 + c100*x + c001*z
+ + c020*y^2 + c200*x^2 + c002*z^2 + c030*y^3 + c300*x^3 + c003*z^3
+ + c040*y^4 + c400*x^4 + c004*z^4 + c010*y + c130*x*y^3 + c220*x^2*y^2
+ + c310*x^3*y + c031*y^3*z + c301*x^3*z + c022*y^2*z^2 + c202*x^2*z^2
+ + c013*y*z^3 + c103*x*z^3
+end proc
+
+>
+################################################################################
+>
+#
+# coefficients in interpolating functions
+#
+>
+> coeff_list_3d_order1 := [
+> # z^0 -----
+> c010,
+> c000, c100,
+> # z^1 -----
+> c001
+> ];
+ coeff_list_3d_order1 := [c010, c000, c100, c001]
+
+> coeff_list_3d_order2 := [
+> # z^0 -----------
+> c020,
+> c010, c110,
+> c000, c100, c200,
+> # z^1 -----------
+> c011,
+> c001, c101,
+> # z^2 -----------
+> c002
+> ];
+coeff_list_3d_order2 :=
+
+ [c020, c010, c110, c000, c100, c200, c011, c001, c101, c002]
+
+> coeff_list_3d_order3 := [
+> # z^0 ----------------
+> c030,
+> c020, c120,
+> c010, c110, c210,
+> c000, c100, c200, c300,
+> # z^1 ----------------
+> c021,
+> c011, c111,
+> c001, c101, c201,
+> # z^2 ----------------
+> c012,
+> c002, c102,
+> # z^3 ----------------
+> c003
+> ];
+coeff_list_3d_order3 := [c030, c020, c120, c010, c110, c210, c000, c100, c200,
+
+ c300, c021, c011, c111, c001, c101, c201, c012, c002, c102, c003]
+
+> coeff_list_3d_order4 := [
+> # z^0 -----------------------
+> c040,
+> c030, c130,
+> c020, c120, c220,
+> c010, c110, c210, c310,
+> c000, c100, c200, c300, c400,
+> # z^1 -----------------------
+> c031,
+> c021, c121,
+> c011, c111, c211,
+> c001, c101, c201, c301,
+> # z^2 -----------------------
+> c022,
+> c012, c112,
+> c002, c102, c202,
+> # z^3 -----------------------
+> c013,
+> c003, c103,
+> # z^4 -----------------------
+> c004
+> ];
+coeff_list_3d_order4 := [c040, c030, c130, c020, c120, c220, c010, c110, c210,
+
+ c310, c000, c100, c200, c300, c400, c031, c021, c121, c011, c111, c211,
+
+ c001, c101, c201, c301, c022, c012, c112, c002, c102, c202, c013, c003,
+
+ c103, c004]
+
+>
+################################################################################
+>
+#
+# coordinates and interpolation points
+#
+>
+> coord_list_3d := [x,y,z];
+ coord_list_3d := [x, y, z]
+
+>
+# generate points in Fortran ordering
+> posn_list_3d_size2 := map(ListTools[Reverse], hypercube_points([ 0, 0, 0], [+1,+1,+1]));
+posn_list_3d_size2 := [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0], [0, 0, 1],
+
+ [1, 0, 1], [0, 1, 1], [1, 1, 1]]
+
+> posn_list_3d_size3 := map(ListTools[Reverse], hypercube_points([-1,-1,-1], [+1,+1,+1]));
+posn_list_3d_size3 := [[-1, -1, -1], [0, -1, -1], [1, -1, -1], [-1, 0, -1],
+
+ [0, 0, -1], [1, 0, -1], [-1, 1, -1], [0, 1, -1], [1, 1, -1], [-1, -1, 0],
+
+ [0, -1, 0], [1, -1, 0], [-1, 0, 0], [0, 0, 0], [1, 0, 0], [-1, 1, 0],
+
+ [0, 1, 0], [1, 1, 0], [-1, -1, 1], [0, -1, 1], [1, -1, 1], [-1, 0, 1],
+
+ [0, 0, 1], [1, 0, 1], [-1, 1, 1], [0, 1, 1], [1, 1, 1]]
+
+> posn_list_3d_size4 := map(ListTools[Reverse], hypercube_points([-1,-1,-1], [+2,+2,+2]));
+posn_list_3d_size4 := [[-1, -1, -1], [0, -1, -1], [1, -1, -1], [2, -1, -1],
+
+ [-1, 0, -1], [0, 0, -1], [1, 0, -1], [2, 0, -1], [-1, 1, -1], [0, 1, -1],
+
+ [1, 1, -1], [2, 1, -1], [-1, 2, -1], [0, 2, -1], [1, 2, -1], [2, 2, -1],
+
+ [-1, -1, 0], [0, -1, 0], [1, -1, 0], [2, -1, 0], [-1, 0, 0], [0, 0, 0],
+
+ [1, 0, 0], [2, 0, 0], [-1, 1, 0], [0, 1, 0], [1, 1, 0], [2, 1, 0],
+
+ [-1, 2, 0], [0, 2, 0], [1, 2, 0], [2, 2, 0], [-1, -1, 1], [0, -1, 1],
+
+ [1, -1, 1], [2, -1, 1], [-1, 0, 1], [0, 0, 1], [1, 0, 1], [2, 0, 1],
+
+ [-1, 1, 1], [0, 1, 1], [1, 1, 1], [2, 1, 1], [-1, 2, 1], [0, 2, 1],
+
+ [1, 2, 1], [2, 2, 1], [-1, -1, 2], [0, -1, 2], [1, -1, 2], [2, -1, 2],
+
+ [-1, 0, 2], [0, 0, 2], [1, 0, 2], [2, 0, 2], [-1, 1, 2], [0, 1, 2],
+
+ [1, 1, 2], [2, 1, 2], [-1, 2, 2], [0, 2, 2], [1, 2, 2], [2, 2, 2]]
+
+> posn_list_3d_size5 := map(ListTools[Reverse], hypercube_points([-2,-2,-2], [+2,+2,+2]));
+posn_list_3d_size5 := [[-2, -2, -2], [-1, -2, -2], [0, -2, -2], [1, -2, -2],
+
+ [2, -2, -2], [-2, -1, -2], [-1, -1, -2], [0, -1, -2], [1, -1, -2],
+
+ [2, -1, -2], [-2, 0, -2], [-1, 0, -2], [0, 0, -2], [1, 0, -2], [2, 0, -2],
+
+ [-2, 1, -2], [-1, 1, -2], [0, 1, -2], [1, 1, -2], [2, 1, -2], [-2, 2, -2],
+
+ [-1, 2, -2], [0, 2, -2], [1, 2, -2], [2, 2, -2], [-2, -2, -1], [-1, -2, -1],
+
+ [0, -2, -1], [1, -2, -1], [2, -2, -1], [-2, -1, -1], [-1, -1, -1],
+
+ [0, -1, -1], [1, -1, -1], [2, -1, -1], [-2, 0, -1], [-1, 0, -1], [0, 0, -1],
+
+ [1, 0, -1], [2, 0, -1], [-2, 1, -1], [-1, 1, -1], [0, 1, -1], [1, 1, -1],
+
+ [2, 1, -1], [-2, 2, -1], [-1, 2, -1], [0, 2, -1], [1, 2, -1], [2, 2, -1],
+
+ [-2, -2, 0], [-1, -2, 0], [0, -2, 0], [1, -2, 0], [2, -2, 0], [-2, -1, 0],
+
+ [-1, -1, 0], [0, -1, 0], [1, -1, 0], [2, -1, 0], [-2, 0, 0], [-1, 0, 0],
+
+ [0, 0, 0], [1, 0, 0], [2, 0, 0], [-2, 1, 0], [-1, 1, 0], [0, 1, 0],
+
+ [1, 1, 0], [2, 1, 0], [-2, 2, 0], [-1, 2, 0], [0, 2, 0], [1, 2, 0],
+
+ [2, 2, 0], [-2, -2, 1], [-1, -2, 1], [0, -2, 1], [1, -2, 1], [2, -2, 1],
+
+ [-2, -1, 1], [-1, -1, 1], [0, -1, 1], [1, -1, 1], [2, -1, 1], [-2, 0, 1],
+
+ [-1, 0, 1], [0, 0, 1], [1, 0, 1], [2, 0, 1], [-2, 1, 1], [-1, 1, 1],
+
+ [0, 1, 1], [1, 1, 1], [2, 1, 1], [-2, 2, 1], [-1, 2, 1], [0, 2, 1],
+
+ [1, 2, 1], [2, 2, 1], [-2, -2, 2], [-1, -2, 2], [0, -2, 2], [1, -2, 2],
+
+ [2, -2, 2], [-2, -1, 2], [-1, -1, 2], [0, -1, 2], [1, -1, 2], [2, -1, 2],
+
+ [-2, 0, 2], [-1, 0, 2], [0, 0, 2], [1, 0, 2], [2, 0, 2], [-2, 1, 2],
+
+ [-1, 1, 2], [0, 1, 2], [1, 1, 2], [2, 1, 2], [-2, 2, 2], [-1, 2, 2],
+
+ [0, 2, 2], [1, 2, 2], [2, 2, 2]]
+
+>
+################################################################################
+>
+#
+# generic stuff for 3d, cube, size=2
+#
+>
+> data_var_list_3d_size2 := map(data_var_name, posn_list_3d_size2, "data_");
+data_var_list_3d_size2 := ["data_0_0_0", "data_p1_0_0", "data_0_p1_0",
+
+ "data_p1_p1_0", "data_0_0_p1", "data_p1_0_p1", "data_0_p1_p1",
+
+ "data_p1_p1_p1"]
+
+>
+> print_name_list_dcl(data_var_list_3d_size2,
+> "fp", "3d.coeffs/3d.cube.size2/data-var.dcl.c");
+> print_data_var_assign(posn_list_3d_size2,
+> "data_", "3d.coeffs/3d.cube.size2/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_I_"),
+> "fp", "3d.coeffs/3d.cube.size2/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dx_"),
+> "fp", "3d.coeffs/3d.cube.size2/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dy_"),
+> "fp", "3d.coeffs/3d.cube.size2/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dz_"),
+> "fp", "3d.coeffs/3d.cube.size2/coeff-dz.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+> "result", "coeff_I_", "data_",
+> "3d.coeffs/3d.cube.size2/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+> "result", "coeff_dx_", "data_",
+> "3d.coeffs/3d.cube.size2/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+> "result", "coeff_dy_", "data_",
+> "3d.coeffs/3d.cube.size2/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+> "result", "coeff_dz_", "data_",
+> "3d.coeffs/3d.cube.size2/interp-dz.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 3d, cube, size=3
+#
+>
+> data_var_list_3d_size3 := map(data_var_name, posn_list_3d_size3, "data_");
+data_var_list_3d_size3 := ["data_m1_m1_m1", "data_0_m1_m1", "data_p1_m1_m1",
+
+ "data_m1_0_m1", "data_0_0_m1", "data_p1_0_m1", "data_m1_p1_m1",
+
+ "data_0_p1_m1", "data_p1_p1_m1", "data_m1_m1_0", "data_0_m1_0",
+
+ "data_p1_m1_0", "data_m1_0_0", "data_0_0_0", "data_p1_0_0", "data_m1_p1_0",
+
+ "data_0_p1_0", "data_p1_p1_0", "data_m1_m1_p1", "data_0_m1_p1",
+
+ "data_p1_m1_p1", "data_m1_0_p1", "data_0_0_p1", "data_p1_0_p1",
+
+ "data_m1_p1_p1", "data_0_p1_p1", "data_p1_p1_p1"]
+
+>
+> print_name_list_dcl(data_var_list_3d_size3,
+> "fp", "3d.coeffs/3d.cube.size3/data-var.dcl.c");
+> print_data_var_assign(posn_list_3d_size3,
+> "data_", "3d.coeffs/3d.cube.size3/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_I_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dx_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dy_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dz_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxx_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxy_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxz_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dyy_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dyz_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dzz_"),
+> "fp", "3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_I_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dx_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dx.compute.c");
+bytes used=1000036, alloc=917336, time=0.07
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dy_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dz_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dxx_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dxx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dxy_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dxz_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dxz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dyy_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dyy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dyz_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dyz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+> "result", "coeff_dzz_", "data_",
+> "3d.coeffs/3d.cube.size3/interp-dzz.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 3d, cube, size=4
+#
+>
+> data_var_list_3d_size4 := map(data_var_name, posn_list_3d_size4, "data_");
+data_var_list_3d_size4 := ["data_m1_m1_m1", "data_0_m1_m1", "data_p1_m1_m1",
+
+ "data_p2_m1_m1", "data_m1_0_m1", "data_0_0_m1", "data_p1_0_m1",
+
+ "data_p2_0_m1", "data_m1_p1_m1", "data_0_p1_m1", "data_p1_p1_m1",
+
+ "data_p2_p1_m1", "data_m1_p2_m1", "data_0_p2_m1", "data_p1_p2_m1",
+
+ "data_p2_p2_m1", "data_m1_m1_0", "data_0_m1_0", "data_p1_m1_0",
+
+ "data_p2_m1_0", "data_m1_0_0", "data_0_0_0", "data_p1_0_0", "data_p2_0_0",
+
+ "data_m1_p1_0", "data_0_p1_0", "data_p1_p1_0", "data_p2_p1_0",
+
+ "data_m1_p2_0", "data_0_p2_0", "data_p1_p2_0", "data_p2_p2_0",
+
+ "data_m1_m1_p1", "data_0_m1_p1", "data_p1_m1_p1", "data_p2_m1_p1",
+
+ "data_m1_0_p1", "data_0_0_p1", "data_p1_0_p1", "data_p2_0_p1",
+
+ "data_m1_p1_p1", "data_0_p1_p1", "data_p1_p1_p1", "data_p2_p1_p1",
+
+ "data_m1_p2_p1", "data_0_p2_p1", "data_p1_p2_p1", "data_p2_p2_p1",
+
+ "data_m1_m1_p2", "data_0_m1_p2", "data_p1_m1_p2", "data_p2_m1_p2",
+
+ "data_m1_0_p2", "data_0_0_p2", "data_p1_0_p2", "data_p2_0_p2",
+
+ "data_m1_p1_p2", "data_0_p1_p2", "data_p1_p1_p2", "data_p2_p1_p2",
+
+ "data_m1_p2_p2", "data_0_p2_p2", "data_p1_p2_p2", "data_p2_p2_p2"]
+
+>
+> print_name_list_dcl(data_var_list_3d_size4,
+> "fp", "3d.coeffs/3d.cube.size4/data-var.dcl.c");
+> print_data_var_assign(posn_list_3d_size4,
+> "data_", "3d.coeffs/3d.cube.size4/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_I_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dx_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dy_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dz_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dz.dcl.c");
+bytes used=2000312, alloc=1179432, time=0.19
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxx_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxy_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxz_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dyy_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dyz_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dzz_"),
+> "fp", "3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_I_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dx_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dy_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dz_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dz.compute.c");
+bytes used=3000544, alloc=1310480, time=0.28
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dxx_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dxx.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dxy_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dxz_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dxz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dyy_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dyy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dyz_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dyz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+> "result", "coeff_dzz_", "data_",
+> "3d.coeffs/3d.cube.size4/interp-dzz.compute.c");
+>
+########################################
+>
+#
+# generic stuff for 3d, cube, size=5
+#
+>
+> data_var_list_3d_size5 := map(data_var_name, posn_list_3d_size5, "data_");
+data_var_list_3d_size5 := ["data_m2_m2_m2", "data_m1_m2_m2", "data_0_m2_m2",
+
+ "data_p1_m2_m2", "data_p2_m2_m2", "data_m2_m1_m2", "data_m1_m1_m2",
+
+ "data_0_m1_m2", "data_p1_m1_m2", "data_p2_m1_m2", "data_m2_0_m2",
+
+ "data_m1_0_m2", "data_0_0_m2", "data_p1_0_m2", "data_p2_0_m2",
+
+ "data_m2_p1_m2", "data_m1_p1_m2", "data_0_p1_m2", "data_p1_p1_m2",
+
+ "data_p2_p1_m2", "data_m2_p2_m2", "data_m1_p2_m2", "data_0_p2_m2",
+
+ "data_p1_p2_m2", "data_p2_p2_m2", "data_m2_m2_m1", "data_m1_m2_m1",
+
+ "data_0_m2_m1", "data_p1_m2_m1", "data_p2_m2_m1", "data_m2_m1_m1",
+
+ "data_m1_m1_m1", "data_0_m1_m1", "data_p1_m1_m1", "data_p2_m1_m1",
+
+ "data_m2_0_m1", "data_m1_0_m1", "data_0_0_m1", "data_p1_0_m1",
+
+ "data_p2_0_m1", "data_m2_p1_m1", "data_m1_p1_m1", "data_0_p1_m1",
+
+ "data_p1_p1_m1", "data_p2_p1_m1", "data_m2_p2_m1", "data_m1_p2_m1",
+
+ "data_0_p2_m1", "data_p1_p2_m1", "data_p2_p2_m1", "data_m2_m2_0",
+
+ "data_m1_m2_0", "data_0_m2_0", "data_p1_m2_0", "data_p2_m2_0",
+
+ "data_m2_m1_0", "data_m1_m1_0", "data_0_m1_0", "data_p1_m1_0",
+
+ "data_p2_m1_0", "data_m2_0_0", "data_m1_0_0", "data_0_0_0", "data_p1_0_0",
+
+ "data_p2_0_0", "data_m2_p1_0", "data_m1_p1_0", "data_0_p1_0",
+
+ "data_p1_p1_0", "data_p2_p1_0", "data_m2_p2_0", "data_m1_p2_0",
+
+ "data_0_p2_0", "data_p1_p2_0", "data_p2_p2_0", "data_m2_m2_p1",
+
+ "data_m1_m2_p1", "data_0_m2_p1", "data_p1_m2_p1", "data_p2_m2_p1",
+
+ "data_m2_m1_p1", "data_m1_m1_p1", "data_0_m1_p1", "data_p1_m1_p1",
+
+ "data_p2_m1_p1", "data_m2_0_p1", "data_m1_0_p1", "data_0_0_p1",
+
+ "data_p1_0_p1", "data_p2_0_p1", "data_m2_p1_p1", "data_m1_p1_p1",
+
+ "data_0_p1_p1", "data_p1_p1_p1", "data_p2_p1_p1", "data_m2_p2_p1",
+
+ "data_m1_p2_p1", "data_0_p2_p1", "data_p1_p2_p1", "data_p2_p2_p1",
+
+ "data_m2_m2_p2", "data_m1_m2_p2", "data_0_m2_p2", "data_p1_m2_p2",
+
+ "data_p2_m2_p2", "data_m2_m1_p2", "data_m1_m1_p2", "data_0_m1_p2",
+
+ "data_p1_m1_p2", "data_p2_m1_p2", "data_m2_0_p2", "data_m1_0_p2",
+
+ "data_0_0_p2", "data_p1_0_p2", "data_p2_0_p2", "data_m2_p1_p2",
+
+ "data_m1_p1_p2", "data_0_p1_p2", "data_p1_p1_p2", "data_p2_p1_p2",
+
+ "data_m2_p2_p2", "data_m1_p2_p2", "data_0_p2_p2", "data_p1_p2_p2",
+
+ "data_p2_p2_p2"]
+
+>
+> print_name_list_dcl(data_var_list_3d_size5,
+> "fp", "3d.coeffs/3d.cube.size5/data-var.dcl.c");
+bytes used=4000788, alloc=1310480, time=0.40
+> print_data_var_assign(posn_list_3d_size5,
+> "data_", "3d.coeffs/3d.cube.size5/data-var.assign.c");
+>
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_I_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-I.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dx_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dy_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dz_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxx_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxy_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c");
+bytes used=5000988, alloc=1376004, time=0.49
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxz_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dyy_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dyz_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c");
+> print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dzz_"),
+> "fp", "3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c");
+>
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_I_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-I.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dx_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dx.compute.c");
+bytes used=6001140, alloc=1376004, time=0.60
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dy_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dz_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dxx_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dxx.compute.c");
+bytes used=7002056, alloc=1441528, time=0.71
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dxy_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dxy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dxz_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dxz.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dyy_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dyy.compute.c");
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dyz_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dyz.compute.c");
+bytes used=8002208, alloc=1441528, time=0.82
+> print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+> "result", "coeff_dzz_", "data_",
+> "3d.coeffs/3d.cube.size5/interp-dzz.compute.c");
+>
+>
+################################################################################
+>
+#
+# 3d, cube, order=1, smoothing=0 (size=2)
+#
+>
+# interpolating polynomial
+> interp_3d_cube_order1_smooth0
+> := polynomial_interpolant(fn_3d_order1, coeff_list_3d_order1,
+> coord_list_3d, posn_list_3d_size2);
+interp_3d_cube_order1_smooth0 := (- 1/4 DATA(0, 0, 0) - 1/4 DATA(1, 0, 0)
+
+ + 1/4 DATA(0, 1, 0) + 1/4 DATA(1, 1, 0) - 1/4 DATA(0, 0, 1)
+
+ - 1/4 DATA(1, 0, 1) + 1/4 DATA(0, 1, 1) + 1/4 DATA(1, 1, 1)) y
+
+ + 1/4 DATA(0, 0, 1) - 1/4 DATA(1, 1, 1) + 1/4 DATA(1, 0, 0)
+
+ + 1/4 DATA(0, 1, 0) + 1/2 DATA(0, 0, 0) + (1/4 DATA(1, 1, 0)
+
+ - 1/4 DATA(0, 1, 1) - 1/4 DATA(0, 0, 1) + 1/4 DATA(1, 1, 1)
+
+ + 1/4 DATA(1, 0, 1) + 1/4 DATA(1, 0, 0) - 1/4 DATA(0, 1, 0)
+
+ - 1/4 DATA(0, 0, 0)) x + (1/4 DATA(0, 1, 1) + 1/4 DATA(0, 0, 1)
+
+ + 1/4 DATA(1, 1, 1) + 1/4 DATA(1, 0, 1) - 1/4 DATA(1, 0, 0)
+
+ - 1/4 DATA(0, 1, 0) - 1/4 DATA(0, 0, 0) - 1/4 DATA(1, 1, 0)) z
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_3d_size2);
+[COEFF(0, 0, 0) = 1/2 - 1/4 x - 1/4 y - 1/4 z,
+
+ COEFF(1, 0, 0) = - 1/4 y + 1/4 - 1/4 z + 1/4 x,
+
+ COEFF(0, 1, 0) = 1/4 + 1/4 y - 1/4 z - 1/4 x,
+
+ COEFF(1, 1, 0) = - 1/4 z + 1/4 y + 1/4 x,
+
+ COEFF(0, 0, 1) = - 1/4 y + 1/4 z + 1/4 - 1/4 x,
+
+ COEFF(1, 0, 1) = 1/4 z - 1/4 y + 1/4 x,
+
+ COEFF(0, 1, 1) = - 1/4 x + 1/4 y + 1/4 z,
+
+ COEFF(1, 1, 1) = 1/4 y + 1/4 z + 1/4 x - 1/4]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c");
+bytes used=9002704, alloc=1441528, time=0.91
+>
+# d/dx
+> simplify( diff(interp_3d_cube_order1_smooth0,x) );
+bytes used=10017460, alloc=1572576, time=0.96
+1/4 DATA(1, 1, 0) - 1/4 DATA(0, 1, 1) - 1/4 DATA(0, 0, 1) + 1/4 DATA(1, 1, 1)
+
+ + 1/4 DATA(1, 0, 1) + 1/4 DATA(1, 0, 0) - 1/4 DATA(0, 1, 0)
+
+ - 1/4 DATA(0, 0, 0)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size2);
+[COEFF(0, 0, 0) = -1/4, COEFF(1, 0, 0) = 1/4, COEFF(0, 1, 0) = -1/4,
+
+ COEFF(1, 1, 0) = 1/4, COEFF(0, 0, 1) = -1/4, COEFF(1, 0, 1) = 1/4,
+
+ COEFF(0, 1, 1) = -1/4, COEFF(1, 1, 1) = 1/4]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c");
+>
+# d/dy
+> simplify( diff(interp_3d_cube_order1_smooth0,y) );
+- 1/4 DATA(0, 0, 0) - 1/4 DATA(1, 0, 0) + 1/4 DATA(0, 1, 0) + 1/4 DATA(1, 1, 0)
+
+ - 1/4 DATA(0, 0, 1) - 1/4 DATA(1, 0, 1) + 1/4 DATA(0, 1, 1)
+
+ + 1/4 DATA(1, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size2);
+[COEFF(0, 0, 0) = -1/4, COEFF(1, 0, 0) = -1/4, COEFF(0, 1, 0) = 1/4,
+
+ COEFF(1, 1, 0) = 1/4, COEFF(0, 0, 1) = -1/4, COEFF(1, 0, 1) = -1/4,
+
+ COEFF(0, 1, 1) = 1/4, COEFF(1, 1, 1) = 1/4]
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c");
+>
+# d/dz
+> simplify( diff(interp_3d_cube_order1_smooth0,z) );
+1/4 DATA(0, 1, 1) + 1/4 DATA(0, 0, 1) + 1/4 DATA(1, 1, 1) + 1/4 DATA(1, 0, 1)
+
+ - 1/4 DATA(1, 0, 0) - 1/4 DATA(0, 1, 0) - 1/4 DATA(0, 0, 0)
+
+ - 1/4 DATA(1, 1, 0)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size2);
+[COEFF(0, 0, 0) = -1/4, COEFF(1, 0, 0) = -1/4, COEFF(0, 1, 0) = -1/4,
+
+ COEFF(1, 1, 0) = -1/4, COEFF(0, 0, 1) = 1/4, COEFF(1, 0, 1) = 1/4,
+
+ COEFF(0, 1, 1) = 1/4, COEFF(1, 1, 1) = 1/4]
+
+> print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+> "3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c");
+bytes used=11017932, alloc=1769148, time=1.06
+>
+########################################
+>
+#
+# 3d, cube, order=2, smoothing=0 (size=3)
+#
+>
+# interpolating polynomial
+> interp_3d_cube_order2_smooth0
+> := polynomial_interpolant(fn_3d_order2, coeff_list_3d_order2,
+> coord_list_3d, posn_list_3d_size3);
+bytes used=12018084, alloc=1900196, time=1.11
+interp_3d_cube_order2_smooth0 := - 2/27 DATA(-1, 1, -1) + 1/27 DATA(0, 1, -1)
+
+ - 2/27 DATA(1, 1, -1) + 1/27 DATA(-1, -1, 0) + 4/27 DATA(0, -1, 0)
+
+ + 1/27 DATA(1, -1, 0) + 4/27 DATA(-1, 0, 0) + 1/27 DATA(-1, 1, 0)
+
+ - 2/27 DATA(-1, 1, 1) + 1/27 DATA(-1, 0, 1) - 2/27 DATA(1, -1, 1)
+
+ - 2/27 DATA(-1, -1, 1) + 1/27 DATA(0, -1, 1) + 1/27 DATA(-1, 0, -1)
+
+ + 4/27 DATA(0, 0, -1) + 1/27 DATA(1, 0, -1) + 7/27 DATA(0, 0, 0)
+
+ + 4/27 DATA(1, 0, 0) + 4/27 DATA(0, 1, 0) + 1/27 DATA(1, 1, 0)
+
+ + 4/27 DATA(0, 0, 1) + (- 1/12 DATA(1, -1, 0) - 1/12 DATA(-1, 1, -1)
+
+ + 1/12 DATA(1, 1, -1) + 1/12 DATA(-1, -1, 0) + 1/12 DATA(-1, -1, 1)
+
+ - 1/12 DATA(-1, 1, 0) - 1/12 DATA(-1, 1, 1) - 1/12 DATA(1, -1, 1)
+
+ - 1/12 DATA(1, -1, -1) + 1/12 DATA(1, 1, 0) + 1/12 DATA(1, 1, 1)
+
+ + 1/12 DATA(-1, -1, -1)) x y + (- 1/12 DATA(-1, 1, -1)
+
+ - 1/12 DATA(0, 1, -1) - 1/12 DATA(1, 1, -1) + 1/12 DATA(-1, 1, 1)
+
+ - 1/12 DATA(1, -1, 1) - 1/12 DATA(-1, -1, 1) - 1/12 DATA(0, -1, 1)
+
+ + 1/12 DATA(0, 1, 1) + 1/12 DATA(1, 1, 1) + 1/12 DATA(-1, -1, -1)
+
+ + 1/12 DATA(0, -1, -1) + 1/12 DATA(1, -1, -1)) y z + (1/12 DATA(-1, 1, -1)
+
+ - 1/12 DATA(1, 1, -1) - 1/12 DATA(-1, 1, 1) - 1/12 DATA(-1, 0, 1)
+
+ + 1/12 DATA(1, -1, 1) - 1/12 DATA(-1, -1, 1) + 1/12 DATA(-1, 0, -1)
+
+ - 1/12 DATA(1, 0, -1) + 1/12 DATA(1, 0, 1) + 1/12 DATA(1, 1, 1)
+
+ + 1/12 DATA(-1, -1, -1) - 1/12 DATA(1, -1, -1)) x z + 1/27 DATA(1, 0, 1)
+
+ + 1/27 DATA(0, 1, 1) - 2/27 DATA(1, 1, 1) - 2/27 DATA(-1, -1, -1)
+
+ + 1/27 DATA(0, -1, -1) - 2/27 DATA(1, -1, -1) + (1/18 DATA(-1, 1, -1)
+
+ + 1/18 DATA(0, 1, -1) + 1/18 DATA(1, 1, -1) + 1/18 DATA(-1, -1, 0)
+
+ + 1/18 DATA(0, -1, 0) + 1/18 DATA(1, -1, 0) - 1/9 DATA(-1, 0, 0)
+
+ + 1/18 DATA(-1, 1, 0) + 1/18 DATA(-1, 1, 1) - 1/9 DATA(-1, 0, 1)
+
+ + 1/18 DATA(1, -1, 1) + 1/18 DATA(-1, -1, 1) + 1/18 DATA(0, -1, 1)
+
+ - 1/9 DATA(-1, 0, -1) - 1/9 DATA(0, 0, -1) - 1/9 DATA(1, 0, -1)
+
+ - 1/9 DATA(0, 0, 0) - 1/9 DATA(1, 0, 0) + 1/18 DATA(0, 1, 0)
+
+ + 1/18 DATA(1, 1, 0) - 1/9 DATA(0, 0, 1) - 1/9 DATA(1, 0, 1)
+
+ + 1/18 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1) + 1/18 DATA(-1, -1, -1)
+
+ 2
+ + 1/18 DATA(0, -1, -1) + 1/18 DATA(1, -1, -1)) y + (1/18 DATA(1, 1, 0)
+
+ + 1/18 DATA(-1, 1, -1) + 1/18 DATA(0, 1, -1) + 1/18 DATA(1, 1, -1)
+
+ - 1/18 DATA(-1, -1, 0) - 1/18 DATA(0, -1, 0) - 1/18 DATA(1, -1, 0)
+
+ + 1/18 DATA(-1, 1, 0) + 1/18 DATA(-1, 1, 1) - 1/18 DATA(1, -1, 1)
+
+ - 1/18 DATA(-1, -1, 1) - 1/18 DATA(0, -1, 1) + 1/18 DATA(0, 1, 0)
+
+ - 1/18 DATA(0, -1, -1) + 1/18 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1)
+
+ - 1/18 DATA(-1, -1, -1) - 1/18 DATA(1, -1, -1)) y + (1/18 DATA(1, 0, 0)
+
+ - 1/18 DATA(-1, 1, -1) + 1/18 DATA(1, 1, -1) - 1/18 DATA(-1, -1, 0)
+
+ + 1/18 DATA(1, -1, 0) - 1/18 DATA(-1, 0, 0) - 1/18 DATA(-1, 1, 0)
+
+ - 1/18 DATA(-1, 1, 1) - 1/18 DATA(-1, 0, 1) + 1/18 DATA(1, -1, 1)
+
+ - 1/18 DATA(-1, -1, 1) - 1/18 DATA(-1, 0, -1) + 1/18 DATA(1, 0, -1)
+
+ - 1/18 DATA(-1, -1, -1) + 1/18 DATA(1, 1, 0) + 1/18 DATA(1, 0, 1)
+
+ + 1/18 DATA(1, 1, 1) + 1/18 DATA(1, -1, -1)) x + (1/18 DATA(-1, 1, -1)
+
+ - 1/9 DATA(0, 1, -1) + 1/18 DATA(1, 1, -1) + 1/18 DATA(-1, -1, 0)
+
+ - 1/9 DATA(0, -1, 0) + 1/18 DATA(1, -1, 0) + 1/18 DATA(-1, 0, 0)
+
+ + 1/18 DATA(-1, 1, 0) + 1/18 DATA(-1, 1, 1) + 1/18 DATA(-1, 0, 1)
+
+ + 1/18 DATA(1, -1, 1) + 1/18 DATA(-1, -1, 1) - 1/9 DATA(0, -1, 1)
+
+ + 1/18 DATA(-1, 0, -1) - 1/9 DATA(0, 0, -1) + 1/18 DATA(1, 0, -1)
+
+ - 1/9 DATA(0, 0, 0) + 1/18 DATA(1, 0, 0) - 1/9 DATA(0, 1, 0)
+
+ + 1/18 DATA(1, 1, 0) - 1/9 DATA(0, 0, 1) + 1/18 DATA(1, 0, 1)
+
+ - 1/9 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1) + 1/18 DATA(-1, -1, -1)
+
+ 2
+ - 1/9 DATA(0, -1, -1) + 1/18 DATA(1, -1, -1)) x + (1/18 DATA(1, 0, 1)
+
+ - 1/18 DATA(-1, 1, -1) - 1/18 DATA(0, 1, -1) - 1/18 DATA(1, 1, -1)
+
+ + 1/18 DATA(-1, 1, 1) + 1/18 DATA(-1, 0, 1) + 1/18 DATA(1, -1, 1)
+
+ + 1/18 DATA(-1, -1, 1) + 1/18 DATA(0, -1, 1) - 1/18 DATA(-1, 0, -1)
+
+ - 1/18 DATA(0, 0, -1) - 1/18 DATA(1, 0, -1) + 1/18 DATA(0, 0, 1)
+
+ - 1/18 DATA(0, -1, -1) + 1/18 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1)
+
+ - 1/18 DATA(-1, -1, -1) - 1/18 DATA(1, -1, -1)) z + (1/18 DATA(-1, 1, -1)
+
+ + 1/18 DATA(0, 1, -1) + 1/18 DATA(1, 1, -1) - 1/9 DATA(-1, -1, 0)
+
+ - 1/9 DATA(0, -1, 0) - 1/9 DATA(1, -1, 0) - 1/9 DATA(-1, 0, 0)
+
+ - 1/9 DATA(-1, 1, 0) + 1/18 DATA(-1, 1, 1) + 1/18 DATA(-1, 0, 1)
+
+ + 1/18 DATA(1, -1, 1) + 1/18 DATA(-1, -1, 1) + 1/18 DATA(0, -1, 1)
+
+ + 1/18 DATA(-1, 0, -1) + 1/18 DATA(0, 0, -1) + 1/18 DATA(1, 0, -1)
+
+ - 1/9 DATA(0, 0, 0) - 1/9 DATA(1, 0, 0) - 1/9 DATA(0, 1, 0)
+
+ - 1/9 DATA(1, 1, 0) + 1/18 DATA(0, 0, 1) + 1/18 DATA(1, 0, 1)
+
+ + 1/18 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1) + 1/18 DATA(-1, -1, -1)
+
+ 2
+ + 1/18 DATA(0, -1, -1) + 1/18 DATA(1, -1, -1)) z
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+bytes used=13018268, alloc=1965720, time=1.17
+ 2 2
+[COEFF(-1, -1, -1) = - 2/27 - 1/18 z + 1/18 y - 1/18 y - 1/18 x + 1/18 z
+
+ 2
+ + 1/12 x y + 1/12 x z + 1/18 x + 1/12 y z, COEFF(0, -1, -1) =
+
+ 2 2 2
+ - 1/9 x - 1/18 z + 1/18 y + 1/18 z - 1/18 y + 1/27 + 1/12 y z,
+
+ 2 2
+ COEFF(1, -1, -1) = 1/18 x - 1/12 x y + 1/18 y - 1/12 x z + 1/18 x
+
+ 2
+ - 1/18 z - 2/27 - 1/18 y + 1/12 y z + 1/18 z , COEFF(-1, 0, -1) =
+
+ 2 2 2
+ 1/18 x - 1/9 y + 1/18 z + 1/27 - 1/18 x + 1/12 x z - 1/18 z,
+
+ 2 2 2
+ COEFF(0, 0, -1) = - 1/9 y + 4/27 - 1/9 x - 1/18 z + 1/18 z ,
+
+ COEFF(1, 0, -1) =
+
+ 2 2 2
+ - 1/9 y + 1/18 z + 1/18 x - 1/18 z + 1/18 x + 1/27 - 1/12 x z,
+
+ 2
+ COEFF(-1, 1, -1) = 1/12 x z - 1/12 x y - 2/27 - 1/18 x + 1/18 x - 1/18 z
+
+ 2 2
+ + 1/18 y - 1/12 y z + 1/18 z + 1/18 y, COEFF(0, 1, -1) =
+
+ 2 2 2
+ - 1/12 y z + 1/27 - 1/9 x + 1/18 z + 1/18 y - 1/18 z + 1/18 y ,
+
+ 2
+ COEFF(1, 1, -1) = 1/12 x y + 1/18 x + 1/18 y - 1/12 x z - 2/27 - 1/12 y z
+
+ 2 2
+ - 1/18 z + 1/18 z + 1/18 y + 1/18 x , COEFF(-1, -1, 0) =
+
+ 2 2 2
+ - 1/9 z - 1/18 x + 1/27 - 1/18 y + 1/18 x + 1/12 x y + 1/18 y ,
+
+ 2 2 2
+ COEFF(0, -1, 0) = 4/27 - 1/9 z + 1/18 y - 1/18 y - 1/9 x ,
+
+ COEFF(1, -1, 0) =
+
+ 2 2 2
+ - 1/18 y + 1/18 y - 1/9 z - 1/12 x y + 1/18 x + 1/27 + 1/18 x,
+
+ 2 2 2
+ COEFF(-1, 0, 0) = 4/27 - 1/9 y - 1/18 x + 1/18 x - 1/9 z ,
+
+ 2 2 2
+ COEFF(0, 0, 0) = - 1/9 x - 1/9 z + 7/27 - 1/9 y ,
+
+ 2 2 2
+ COEFF(1, 0, 0) = 1/18 x - 1/9 y + 4/27 - 1/9 z + 1/18 x, COEFF(-1, 1, 0)
+
+ 2 2 2
+ = 1/18 x - 1/18 x - 1/9 z - 1/12 x y + 1/18 y + 1/18 y + 1/27,
+
+ 2 2 2
+ COEFF(0, 1, 0) = 4/27 - 1/9 z + 1/18 y - 1/9 x + 1/18 y , COEFF(1, 1, 0)
+
+ 2 2 2
+ = 1/12 x y + 1/27 - 1/9 z + 1/18 x + 1/18 y + 1/18 y + 1/18 x,
+
+ 2
+ COEFF(-1, -1, 1) = 1/18 y - 1/12 x z - 1/18 x - 1/12 y z + 1/18 z
+
+ 2 2
+ + 1/12 x y + 1/18 z + 1/18 x - 1/18 y - 2/27, COEFF(0, -1, 1) =
+
+ 2 2 2
+ 1/18 z - 1/18 y + 1/18 z + 1/18 y + 1/27 - 1/12 y z - 1/9 x ,
+
+ 2 2 2
+ COEFF(1, -1, 1) = 1/18 x + 1/18 x + 1/12 x z - 1/18 y + 1/18 y + 1/18 z
+
+ - 2/27 + 1/18 z - 1/12 x y - 1/12 y z, COEFF(-1, 0, 1) =
+
+ 2 2 2
+ 1/18 x - 1/18 x + 1/18 z - 1/9 y - 1/12 x z + 1/18 z + 1/27,
+
+ 2 2 2
+ COEFF(0, 0, 1) = 4/27 - 1/9 x + 1/18 z - 1/9 y + 1/18 z, COEFF(1, 0, 1)
+
+ 2 2 2
+ = 1/18 x + 1/12 x z + 1/18 z + 1/27 + 1/18 x + 1/18 z - 1/9 y ,
+
+ 2 2
+ COEFF(-1, 1, 1) = - 1/12 x z + 1/18 x + 1/18 y - 1/18 x - 1/12 x y
+
+ 2
+ + 1/18 y + 1/18 z + 1/12 y z - 2/27 + 1/18 z, COEFF(0, 1, 1) =
+
+ 2 2 2
+ 1/18 y + 1/18 z + 1/12 y z + 1/18 y + 1/27 - 1/9 x + 1/18 z,
+
+ 2
+ COEFF(1, 1, 1) = 1/12 x z - 2/27 + 1/18 y + 1/18 z + 1/18 z + 1/12 x y
+
+ 2 2
+ + 1/12 y z + 1/18 x + 1/18 x + 1/18 y ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c");
+bytes used=14018620, alloc=1965720, time=1.22
+bytes used=15018932, alloc=1965720, time=1.29
+bytes used=16019108, alloc=1965720, time=1.37
+bytes used=17019336, alloc=1965720, time=1.43
+bytes used=18019548, alloc=1965720, time=1.51
+bytes used=19019704, alloc=2031244, time=1.59
+bytes used=20020156, alloc=2031244, time=1.67
+>
+# d/dx
+> simplify( diff(interp_3d_cube_order2_smooth0,x) );
+- 1/18 DATA(-1, 1, -1) + 1/18 DATA(1, 1, -1) - 1/18 DATA(-1, -1, 0)
+
+ + 1/18 DATA(1, -1, 0) - 1/18 DATA(-1, 0, 0) - 1/18 DATA(-1, 1, 0)
+
+ - 1/18 DATA(-1, 1, 1) - 1/18 DATA(-1, 0, 1) + 1/18 DATA(1, -1, 1)
+
+ - 1/18 DATA(-1, -1, 1) - 1/18 DATA(-1, 0, -1) + 1/18 DATA(1, 0, -1)
+
+ + 1/18 DATA(1, 0, 0) + 1/18 DATA(1, 1, 0) + 1/9 x DATA(-1, 0, 0)
+
+ - 2/9 x DATA(0, 1, -1) - 2/9 x DATA(0, -1, 0) - 2/9 x DATA(0, -1, 1)
+
+ - 2/9 x DATA(0, 0, -1) - 2/9 x DATA(0, 0, 0) - 2/9 x DATA(0, 1, 0)
+
+ - 2/9 x DATA(0, 0, 1) - 2/9 x DATA(0, 1, 1) - 2/9 x DATA(0, -1, -1)
+
+ + 1/9 x DATA(1, 0, -1) + 1/9 x DATA(1, 0, 1) + 1/9 x DATA(1, 0, 0)
+
+ - 1/12 y DATA(1, -1, 0) - 1/12 y DATA(-1, 1, -1) + 1/12 y DATA(1, 1, -1)
+
+ + 1/12 y DATA(-1, -1, 0) + 1/12 y DATA(-1, -1, 1) - 1/12 y DATA(-1, 1, 0)
+
+ - 1/12 y DATA(-1, 1, 1) - 1/12 y DATA(1, -1, 1) - 1/12 y DATA(1, -1, -1)
+
+ + 1/12 y DATA(1, 1, 0) + 1/12 y DATA(1, 1, 1) + 1/12 y DATA(-1, -1, -1)
+
+ + 1/12 z DATA(-1, 1, -1) - 1/12 z DATA(1, 1, -1) - 1/12 z DATA(-1, 1, 1)
+
+ - 1/12 z DATA(-1, 0, 1) + 1/12 z DATA(1, -1, 1) - 1/12 z DATA(-1, -1, 1)
+
+ + 1/12 z DATA(-1, 0, -1) - 1/12 z DATA(1, 0, -1) + 1/12 z DATA(1, 0, 1)
+
+ + 1/12 z DATA(1, 1, 1) + 1/12 z DATA(-1, -1, -1) - 1/12 z DATA(1, -1, -1)
+
+ + 1/9 x DATA(1, -1, 0) + 1/9 x DATA(-1, 1, -1) + 1/9 x DATA(1, 1, -1)
+
+ + 1/9 x DATA(-1, -1, 0) + 1/9 x DATA(-1, -1, 1) + 1/9 x DATA(-1, 1, 0)
+
+ + 1/9 x DATA(-1, 1, 1) + 1/9 x DATA(1, -1, 1) + 1/9 x DATA(1, -1, -1)
+
+ + 1/9 x DATA(1, 1, 0) + 1/9 x DATA(1, 1, 1) + 1/9 x DATA(-1, -1, -1)
+
+ + 1/9 x DATA(-1, 0, 1) + 1/9 x DATA(-1, 0, -1) + 1/18 DATA(1, 0, 1)
+
+ + 1/18 DATA(1, 1, 1) - 1/18 DATA(-1, -1, -1) + 1/18 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+bytes used=21020936, alloc=2031244, time=1.76
+[COEFF(-1, -1, -1) = 1/12 z + 1/9 x - 1/18 + 1/12 y, COEFF(0, -1, -1) = - 2/9 x,
+
+ COEFF(1, -1, -1) = 1/18 + 1/9 x - 1/12 y - 1/12 z,
+
+ COEFF(-1, 0, -1) = 1/9 x + 1/12 z - 1/18, COEFF(0, 0, -1) = - 2/9 x,
+
+ COEFF(1, 0, -1) = - 1/12 z + 1/18 + 1/9 x,
+
+ COEFF(-1, 1, -1) = 1/9 x - 1/18 + 1/12 z - 1/12 y,
+
+ COEFF(0, 1, -1) = - 2/9 x, COEFF(1, 1, -1) = 1/12 y + 1/18 + 1/9 x - 1/12 z,
+
+ COEFF(-1, -1, 0) = - 1/18 + 1/12 y + 1/9 x, COEFF(0, -1, 0) = - 2/9 x,
+
+ COEFF(1, -1, 0) = 1/9 x - 1/12 y + 1/18, COEFF(-1, 0, 0) = 1/9 x - 1/18,
+
+ COEFF(0, 0, 0) = - 2/9 x, COEFF(1, 0, 0) = 1/9 x + 1/18,
+
+ COEFF(-1, 1, 0) = - 1/12 y - 1/18 + 1/9 x, COEFF(0, 1, 0) = - 2/9 x,
+
+ COEFF(1, 1, 0) = 1/12 y + 1/18 + 1/9 x,
+
+ COEFF(-1, -1, 1) = 1/12 y + 1/9 x - 1/18 - 1/12 z,
+
+ COEFF(0, -1, 1) = - 2/9 x, COEFF(1, -1, 1) = 1/9 x + 1/18 + 1/12 z - 1/12 y,
+
+ COEFF(-1, 0, 1) = 1/9 x - 1/12 z - 1/18, COEFF(0, 0, 1) = - 2/9 x,
+
+ COEFF(1, 0, 1) = 1/18 + 1/12 z + 1/9 x,
+
+ COEFF(-1, 1, 1) = - 1/12 y - 1/18 + 1/9 x - 1/12 z,
+
+ COEFF(0, 1, 1) = - 2/9 x, COEFF(1, 1, 1) = 1/12 z + 1/18 + 1/12 y + 1/9 x]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c");
+bytes used=22021236, alloc=2031244, time=1.84
+bytes used=23021408, alloc=2031244, time=1.93
+>
+# d/dy
+> simplify( diff(interp_3d_cube_order2_smooth0,y) );
+1/18 DATA(-1, 1, -1) + 1/18 DATA(0, 1, -1) + 1/18 DATA(1, 1, -1)
+
+ - 1/18 DATA(-1, -1, 0) - 1/18 DATA(0, -1, 0) - 1/18 DATA(1, -1, 0)
+
+ + 1/18 DATA(-1, 1, 0) + 1/18 DATA(-1, 1, 1) - 1/18 DATA(1, -1, 1)
+
+ - 1/18 DATA(-1, -1, 1) - 1/18 DATA(0, -1, 1) + 1/18 DATA(0, 1, 0)
+
+ + 1/18 DATA(1, 1, 0) + 1/9 y DATA(1, -1, 0) + 1/9 y DATA(-1, 1, -1)
+
+ + 1/9 y DATA(1, 1, -1) + 1/9 y DATA(-1, -1, 0) + 1/9 y DATA(-1, -1, 1)
+
+ + 1/9 y DATA(-1, 1, 0) + 1/9 y DATA(-1, 1, 1) + 1/9 y DATA(1, -1, 1)
+
+ + 1/9 y DATA(1, -1, -1) + 1/9 y DATA(1, 1, 0) + 1/9 y DATA(1, 1, 1)
+
+ + 1/9 y DATA(-1, -1, -1) - 1/12 z DATA(-1, 1, -1) - 1/12 z DATA(1, 1, -1)
+
+ + 1/12 z DATA(-1, 1, 1) - 1/12 z DATA(1, -1, 1) - 1/12 z DATA(-1, -1, 1)
+
+ + 1/12 z DATA(1, 1, 1) + 1/12 z DATA(-1, -1, -1) + 1/12 z DATA(1, -1, -1)
+
+ - 1/12 x DATA(1, -1, 0) - 1/12 x DATA(-1, 1, -1) + 1/12 x DATA(1, 1, -1)
+
+ + 1/12 x DATA(-1, -1, 0) + 1/12 x DATA(-1, -1, 1) - 1/12 x DATA(-1, 1, 0)
+
+ - 1/12 x DATA(-1, 1, 1) - 1/12 x DATA(1, -1, 1) - 1/12 x DATA(1, -1, -1)
+
+ + 1/12 x DATA(1, 1, 0) + 1/12 x DATA(1, 1, 1) + 1/12 x DATA(-1, -1, -1)
+
+ + 1/18 DATA(0, 1, 1) + 1/18 DATA(1, 1, 1) + 1/12 z DATA(0, 1, 1)
+
+ + 1/12 z DATA(0, -1, -1) + 1/9 y DATA(0, 1, -1) + 1/9 y DATA(0, -1, 1)
+
+ + 1/9 y DATA(0, 1, 1) + 1/9 y DATA(0, -1, -1) + 1/9 y DATA(0, -1, 0)
+
+ - 1/12 z DATA(0, 1, -1) - 2/9 y DATA(-1, 0, -1) - 2/9 y DATA(1, 0, 1)
+
+ - 2/9 y DATA(-1, 0, 0) - 2/9 y DATA(0, 0, -1) - 2/9 y DATA(1, 0, -1)
+
+ - 2/9 y DATA(0, 0, 0) - 2/9 y DATA(1, 0, 0) + 1/9 y DATA(0, 1, 0)
+
+ - 2/9 y DATA(0, 0, 1) - 2/9 y DATA(-1, 0, 1) - 1/12 z DATA(0, -1, 1)
+
+ - 1/18 DATA(-1, -1, -1) - 1/18 DATA(0, -1, -1) - 1/18 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+[COEFF(-1, -1, -1) = 1/9 y - 1/18 + 1/12 z + 1/12 x,
+
+ COEFF(0, -1, -1) = 1/12 z + 1/9 y - 1/18,
+
+ COEFF(1, -1, -1) = 1/9 y - 1/12 x - 1/18 + 1/12 z,
+
+ COEFF(-1, 0, -1) = - 2/9 y, COEFF(0, 0, -1) = - 2/9 y,
+
+ COEFF(1, 0, -1) = - 2/9 y,
+
+ COEFF(-1, 1, -1) = - 1/12 z + 1/9 y + 1/18 - 1/12 x,
+
+ COEFF(0, 1, -1) = 1/18 - 1/12 z + 1/9 y,
+
+ COEFF(1, 1, -1) = 1/18 + 1/9 y - 1/12 z + 1/12 x,
+
+ COEFF(-1, -1, 0) = 1/9 y - 1/18 + 1/12 x, COEFF(0, -1, 0) = 1/9 y - 1/18,
+
+ COEFF(1, -1, 0) = 1/9 y - 1/18 - 1/12 x, COEFF(-1, 0, 0) = - 2/9 y,
+
+ COEFF(0, 0, 0) = - 2/9 y, COEFF(1, 0, 0) = - 2/9 y,
+
+ COEFF(-1, 1, 0) = 1/9 y - 1/12 x + 1/18, COEFF(0, 1, 0) = 1/9 y + 1/18,
+
+ COEFF(1, 1, 0) = 1/18 + 1/9 y + 1/12 x,
+
+ COEFF(-1, -1, 1) = - 1/18 + 1/9 y + 1/12 x - 1/12 z,
+
+ COEFF(0, -1, 1) = - 1/18 + 1/9 y - 1/12 z,
+
+ COEFF(1, -1, 1) = 1/9 y - 1/12 z - 1/18 - 1/12 x, COEFF(-1, 0, 1) = - 2/9 y,
+
+ COEFF(0, 0, 1) = - 2/9 y, COEFF(1, 0, 1) = - 2/9 y,
+
+ COEFF(-1, 1, 1) = 1/18 + 1/9 y + 1/12 z - 1/12 x,
+
+ COEFF(0, 1, 1) = 1/12 z + 1/18 + 1/9 y,
+
+ COEFF(1, 1, 1) = 1/12 z + 1/12 x + 1/9 y + 1/18]
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c");
+bytes used=24021792, alloc=2031244, time=2.00
+bytes used=25021952, alloc=2031244, time=2.08
+>
+# d/dz
+> simplify( diff(interp_3d_cube_order2_smooth0,z) );
+bytes used=26022160, alloc=2031244, time=2.17
+- 1/18 DATA(-1, 1, -1) - 1/18 DATA(0, 1, -1) - 1/18 DATA(1, 1, -1)
+
+ + 1/12 x DATA(1, 0, 1) + 1/18 DATA(-1, 1, 1) + 1/18 DATA(-1, 0, 1)
+
+ + 1/18 DATA(1, -1, 1) + 1/18 DATA(-1, -1, 1) + 1/18 DATA(0, -1, 1)
+
+ - 1/12 x DATA(1, 0, -1) + 1/12 x DATA(-1, 0, -1) - 1/12 x DATA(-1, 0, 1)
+
+ + 1/9 z DATA(1, 0, -1) + 1/9 z DATA(-1, 0, 1) + 1/9 z DATA(-1, 0, -1)
+
+ - 2/9 z DATA(-1, -1, 0) + 1/9 z DATA(0, 0, -1) + 1/9 z DATA(1, 0, 1)
+
+ - 2/9 z DATA(-1, 0, 0) - 2/9 z DATA(1, -1, 0) - 2/9 z DATA(1, 0, 0)
+
+ + 1/9 z DATA(0, 0, 1) - 2/9 z DATA(0, -1, 0) - 2/9 z DATA(0, 0, 0)
+
+ - 2/9 z DATA(0, 1, 0) - 2/9 z DATA(-1, 1, 0) - 2/9 z DATA(1, 1, 0)
+
+ - 1/18 DATA(-1, 0, -1) - 1/18 DATA(0, 0, -1) - 1/18 DATA(1, 0, -1)
+
+ + 1/18 DATA(0, 0, 1) - 1/12 y DATA(-1, 1, -1) - 1/12 y DATA(1, 1, -1)
+
+ - 1/12 y DATA(-1, -1, 1) + 1/12 y DATA(-1, 1, 1) - 1/12 y DATA(1, -1, 1)
+
+ + 1/12 y DATA(1, -1, -1) + 1/12 y DATA(1, 1, 1) + 1/12 y DATA(-1, -1, -1)
+
+ + 1/9 z DATA(-1, 1, -1) + 1/9 z DATA(1, 1, -1) + 1/9 z DATA(-1, 1, 1)
+
+ + 1/9 z DATA(1, -1, 1) + 1/9 z DATA(-1, -1, 1) + 1/9 z DATA(1, 1, 1)
+
+ + 1/9 z DATA(-1, -1, -1) + 1/9 z DATA(1, -1, -1) + 1/12 x DATA(-1, 1, -1)
+
+ - 1/12 x DATA(1, 1, -1) - 1/12 x DATA(-1, -1, 1) - 1/12 x DATA(-1, 1, 1)
+
+ + 1/12 x DATA(1, -1, 1) - 1/12 x DATA(1, -1, -1) + 1/12 x DATA(1, 1, 1)
+
+ + 1/12 x DATA(-1, -1, -1) + 1/18 DATA(1, 0, 1) + 1/18 DATA(0, 1, 1)
+
+ + 1/18 DATA(1, 1, 1) + 1/9 z DATA(0, 1, 1) + 1/9 z DATA(0, -1, -1)
+
+ - 1/12 y DATA(0, 1, -1) - 1/12 y DATA(0, -1, 1) + 1/12 y DATA(0, 1, 1)
+
+ + 1/12 y DATA(0, -1, -1) + 1/9 z DATA(0, 1, -1) + 1/9 z DATA(0, -1, 1)
+
+ - 1/18 DATA(-1, -1, -1) - 1/18 DATA(0, -1, -1) - 1/18 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+[COEFF(-1, -1, -1) = - 1/18 + 1/12 x + 1/9 z + 1/12 y,
+
+ COEFF(0, -1, -1) = - 1/18 + 1/12 y + 1/9 z,
+
+ COEFF(1, -1, -1) = - 1/12 x - 1/18 + 1/9 z + 1/12 y,
+
+ COEFF(-1, 0, -1) = - 1/18 + 1/9 z + 1/12 x,
+
+ COEFF(0, 0, -1) = - 1/18 + 1/9 z, COEFF(1, 0, -1) = 1/9 z - 1/18 - 1/12 x,
+
+ COEFF(-1, 1, -1) = 1/12 x - 1/12 y - 1/18 + 1/9 z,
+
+ COEFF(0, 1, -1) = 1/9 z - 1/12 y - 1/18,
+
+ COEFF(1, 1, -1) = - 1/18 - 1/12 y + 1/9 z - 1/12 x,
+
+ COEFF(-1, -1, 0) = - 2/9 z, COEFF(0, -1, 0) = - 2/9 z,
+
+ COEFF(1, -1, 0) = - 2/9 z, COEFF(-1, 0, 0) = - 2/9 z,
+
+ COEFF(0, 0, 0) = - 2/9 z, COEFF(1, 0, 0) = - 2/9 z,
+
+ COEFF(-1, 1, 0) = - 2/9 z, COEFF(0, 1, 0) = - 2/9 z,
+
+ COEFF(1, 1, 0) = - 2/9 z, COEFF(-1, -1, 1) = 1/9 z - 1/12 y + 1/18 - 1/12 x,
+
+ COEFF(0, -1, 1) = - 1/12 y + 1/9 z + 1/18,
+
+ COEFF(1, -1, 1) = 1/18 + 1/12 x - 1/12 y + 1/9 z,
+
+ COEFF(-1, 0, 1) = 1/9 z - 1/12 x + 1/18, COEFF(0, 0, 1) = 1/9 z + 1/18,
+
+ COEFF(1, 0, 1) = 1/9 z + 1/18 + 1/12 x,
+
+ COEFF(-1, 1, 1) = 1/12 y + 1/9 z - 1/12 x + 1/18,
+
+ COEFF(0, 1, 1) = 1/12 y + 1/9 z + 1/18,
+
+ COEFF(1, 1, 1) = 1/12 y + 1/9 z + 1/12 x + 1/18]
+
+> print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c");
+bytes used=27022488, alloc=2031244, time=2.23
+bytes used=28022664, alloc=2031244, time=2.32
+>
+# d^2/dx^2
+> simplify( diff(interp_3d_cube_order2_smooth0,x,x) );
+bytes used=29023132, alloc=2031244, time=2.44
+1/9 DATA(-1, 1, -1) - 2/9 DATA(0, 1, -1) + 1/9 DATA(1, 1, -1)
+
+ + 1/9 DATA(-1, -1, 0) - 2/9 DATA(0, -1, 0) + 1/9 DATA(1, -1, 0)
+
+ + 1/9 DATA(-1, 0, 0) + 1/9 DATA(-1, 1, 0) + 1/9 DATA(-1, 1, 1)
+
+ + 1/9 DATA(-1, 0, 1) + 1/9 DATA(1, -1, 1) + 1/9 DATA(-1, -1, 1)
+
+ - 2/9 DATA(0, -1, 1) + 1/9 DATA(-1, 0, -1) - 2/9 DATA(0, 0, -1)
+
+ + 1/9 DATA(1, 0, -1) - 2/9 DATA(0, 0, 0) + 1/9 DATA(1, 0, 0)
+
+ - 2/9 DATA(0, 1, 0) + 1/9 DATA(1, 1, 0) - 2/9 DATA(0, 0, 1)
+
+ + 1/9 DATA(1, 0, 1) - 2/9 DATA(0, 1, 1) + 1/9 DATA(1, 1, 1)
+
+ + 1/9 DATA(-1, -1, -1) - 2/9 DATA(0, -1, -1) + 1/9 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+[COEFF(-1, -1, -1) = 1/9, COEFF(0, -1, -1) = -2/9, COEFF(1, -1, -1) = 1/9,
+
+ COEFF(-1, 0, -1) = 1/9, COEFF(0, 0, -1) = -2/9, COEFF(1, 0, -1) = 1/9,
+
+ COEFF(-1, 1, -1) = 1/9, COEFF(0, 1, -1) = -2/9, COEFF(1, 1, -1) = 1/9,
+
+ COEFF(-1, -1, 0) = 1/9, COEFF(0, -1, 0) = -2/9, COEFF(1, -1, 0) = 1/9,
+
+ COEFF(-1, 0, 0) = 1/9, COEFF(0, 0, 0) = -2/9, COEFF(1, 0, 0) = 1/9,
+
+ COEFF(-1, 1, 0) = 1/9, COEFF(0, 1, 0) = -2/9, COEFF(1, 1, 0) = 1/9,
+
+ COEFF(-1, -1, 1) = 1/9, COEFF(0, -1, 1) = -2/9, COEFF(1, -1, 1) = 1/9,
+
+ COEFF(-1, 0, 1) = 1/9, COEFF(0, 0, 1) = -2/9, COEFF(1, 0, 1) = 1/9,
+
+ COEFF(-1, 1, 1) = 1/9, COEFF(0, 1, 1) = -2/9, COEFF(1, 1, 1) = 1/9]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c");
+>
+# d^2/dxdy
+> simplify( diff(interp_3d_cube_order2_smooth0,x,y) );
+bytes used=30023300, alloc=2031244, time=2.54
+- 1/12 DATA(1, -1, 0) - 1/12 DATA(-1, 1, -1) + 1/12 DATA(1, 1, -1)
+
+ + 1/12 DATA(-1, -1, 0) + 1/12 DATA(-1, -1, 1) - 1/12 DATA(-1, 1, 0)
+
+ - 1/12 DATA(-1, 1, 1) - 1/12 DATA(1, -1, 1) - 1/12 DATA(1, -1, -1)
+
+ + 1/12 DATA(1, 1, 0) + 1/12 DATA(1, 1, 1) + 1/12 DATA(-1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+ -1
+[COEFF(-1, -1, -1) = 1/12, COEFF(0, -1, -1) = 0, COEFF(1, -1, -1) = --,
+ 12
+
+ COEFF(-1, 0, -1) = 0, COEFF(0, 0, -1) = 0, COEFF(1, 0, -1) = 0,
+
+ -1
+ COEFF(-1, 1, -1) = --, COEFF(0, 1, -1) = 0, COEFF(1, 1, -1) = 1/12,
+ 12
+
+ -1
+ COEFF(-1, -1, 0) = 1/12, COEFF(0, -1, 0) = 0, COEFF(1, -1, 0) = --,
+ 12
+
+ COEFF(-1, 0, 0) = 0, COEFF(0, 0, 0) = 0, COEFF(1, 0, 0) = 0,
+
+ -1
+ COEFF(-1, 1, 0) = --, COEFF(0, 1, 0) = 0, COEFF(1, 1, 0) = 1/12,
+ 12
+
+ -1
+ COEFF(-1, -1, 1) = 1/12, COEFF(0, -1, 1) = 0, COEFF(1, -1, 1) = --,
+ 12
+
+ COEFF(-1, 0, 1) = 0, COEFF(0, 0, 1) = 0, COEFF(1, 0, 1) = 0,
+
+ -1
+ COEFF(-1, 1, 1) = --, COEFF(0, 1, 1) = 0, COEFF(1, 1, 1) = 1/12]
+ 12
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c");
+>
+# d^2/dxdz
+> simplify( diff(interp_3d_cube_order2_smooth0,x,z) );
+1/12 DATA(-1, 1, -1) - 1/12 DATA(1, 1, -1) - 1/12 DATA(-1, 1, 1)
+
+ - 1/12 DATA(-1, 0, 1) + 1/12 DATA(1, -1, 1) - 1/12 DATA(-1, -1, 1)
+
+ + 1/12 DATA(-1, 0, -1) - 1/12 DATA(1, 0, -1) + 1/12 DATA(1, 0, 1)
+
+ + 1/12 DATA(1, 1, 1) + 1/12 DATA(-1, -1, -1) - 1/12 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+bytes used=31024036, alloc=2031244, time=2.61
+ -1
+[COEFF(-1, -1, -1) = 1/12, COEFF(0, -1, -1) = 0, COEFF(1, -1, -1) = --,
+ 12
+
+ -1
+ COEFF(-1, 0, -1) = 1/12, COEFF(0, 0, -1) = 0, COEFF(1, 0, -1) = --,
+ 12
+
+ -1
+ COEFF(-1, 1, -1) = 1/12, COEFF(0, 1, -1) = 0, COEFF(1, 1, -1) = --,
+ 12
+
+ COEFF(-1, -1, 0) = 0, COEFF(0, -1, 0) = 0, COEFF(1, -1, 0) = 0,
+
+ COEFF(-1, 0, 0) = 0, COEFF(0, 0, 0) = 0, COEFF(1, 0, 0) = 0,
+
+ COEFF(-1, 1, 0) = 0, COEFF(0, 1, 0) = 0, COEFF(1, 1, 0) = 0,
+
+ -1
+ COEFF(-1, -1, 1) = --, COEFF(0, -1, 1) = 0, COEFF(1, -1, 1) = 1/12,
+ 12
+
+ -1
+ COEFF(-1, 0, 1) = --, COEFF(0, 0, 1) = 0, COEFF(1, 0, 1) = 1/12,
+ 12
+
+ -1
+ COEFF(-1, 1, 1) = --, COEFF(0, 1, 1) = 0, COEFF(1, 1, 1) = 1/12]
+ 12
+
+> print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c");
+>
+# d^2/dy^2
+> simplify( diff(interp_3d_cube_order2_smooth0,y,y) );
+1/9 DATA(-1, 1, -1) + 1/9 DATA(0, 1, -1) + 1/9 DATA(1, 1, -1)
+
+ + 1/9 DATA(-1, -1, 0) + 1/9 DATA(0, -1, 0) + 1/9 DATA(1, -1, 0)
+
+ - 2/9 DATA(-1, 0, 0) + 1/9 DATA(-1, 1, 0) + 1/9 DATA(-1, 1, 1)
+
+ - 2/9 DATA(-1, 0, 1) + 1/9 DATA(1, -1, 1) + 1/9 DATA(-1, -1, 1)
+
+ + 1/9 DATA(0, -1, 1) - 2/9 DATA(-1, 0, -1) - 2/9 DATA(0, 0, -1)
+
+ - 2/9 DATA(1, 0, -1) - 2/9 DATA(0, 0, 0) - 2/9 DATA(1, 0, 0)
+
+ + 1/9 DATA(0, 1, 0) + 1/9 DATA(1, 1, 0) - 2/9 DATA(0, 0, 1)
+
+ - 2/9 DATA(1, 0, 1) + 1/9 DATA(0, 1, 1) + 1/9 DATA(1, 1, 1)
+
+ + 1/9 DATA(-1, -1, -1) + 1/9 DATA(0, -1, -1) + 1/9 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+bytes used=32024752, alloc=2031244, time=2.69
+[COEFF(-1, -1, -1) = 1/9, COEFF(0, -1, -1) = 1/9, COEFF(1, -1, -1) = 1/9,
+
+ COEFF(-1, 0, -1) = -2/9, COEFF(0, 0, -1) = -2/9, COEFF(1, 0, -1) = -2/9,
+
+ COEFF(-1, 1, -1) = 1/9, COEFF(0, 1, -1) = 1/9, COEFF(1, 1, -1) = 1/9,
+
+ COEFF(-1, -1, 0) = 1/9, COEFF(0, -1, 0) = 1/9, COEFF(1, -1, 0) = 1/9,
+
+ COEFF(-1, 0, 0) = -2/9, COEFF(0, 0, 0) = -2/9, COEFF(1, 0, 0) = -2/9,
+
+ COEFF(-1, 1, 0) = 1/9, COEFF(0, 1, 0) = 1/9, COEFF(1, 1, 0) = 1/9,
+
+ COEFF(-1, -1, 1) = 1/9, COEFF(0, -1, 1) = 1/9, COEFF(1, -1, 1) = 1/9,
+
+ COEFF(-1, 0, 1) = -2/9, COEFF(0, 0, 1) = -2/9, COEFF(1, 0, 1) = -2/9,
+
+ COEFF(-1, 1, 1) = 1/9, COEFF(0, 1, 1) = 1/9, COEFF(1, 1, 1) = 1/9]
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c");
+>
+# d^2/dydz
+> simplify( diff(interp_3d_cube_order2_smooth0,y,z) );
+- 1/12 DATA(-1, 1, -1) - 1/12 DATA(0, 1, -1) - 1/12 DATA(1, 1, -1)
+
+ + 1/12 DATA(-1, 1, 1) - 1/12 DATA(1, -1, 1) - 1/12 DATA(-1, -1, 1)
+
+ - 1/12 DATA(0, -1, 1) + 1/12 DATA(0, 1, 1) + 1/12 DATA(1, 1, 1)
+
+ + 1/12 DATA(-1, -1, -1) + 1/12 DATA(0, -1, -1) + 1/12 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+bytes used=33024928, alloc=2031244, time=2.78
+[COEFF(-1, -1, -1) = 1/12, COEFF(0, -1, -1) = 1/12, COEFF(1, -1, -1) = 1/12,
+
+ COEFF(-1, 0, -1) = 0, COEFF(0, 0, -1) = 0, COEFF(1, 0, -1) = 0,
+
+ -1 -1 -1
+ COEFF(-1, 1, -1) = --, COEFF(0, 1, -1) = --, COEFF(1, 1, -1) = --,
+ 12 12 12
+
+ COEFF(-1, -1, 0) = 0, COEFF(0, -1, 0) = 0, COEFF(1, -1, 0) = 0,
+
+ COEFF(-1, 0, 0) = 0, COEFF(0, 0, 0) = 0, COEFF(1, 0, 0) = 0,
+
+ COEFF(-1, 1, 0) = 0, COEFF(0, 1, 0) = 0, COEFF(1, 1, 0) = 0,
+
+ -1 -1 -1
+ COEFF(-1, -1, 1) = --, COEFF(0, -1, 1) = --, COEFF(1, -1, 1) = --,
+ 12 12 12
+
+ COEFF(-1, 0, 1) = 0, COEFF(0, 0, 1) = 0, COEFF(1, 0, 1) = 0,
+
+ COEFF(-1, 1, 1) = 1/12, COEFF(0, 1, 1) = 1/12, COEFF(1, 1, 1) = 1/12]
+
+> print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c");
+>
+# d^2/dz^2
+> simplify( diff(interp_3d_cube_order2_smooth0,z,z) );
+bytes used=34025312, alloc=2031244, time=2.89
+1/9 DATA(-1, 1, -1) + 1/9 DATA(0, 1, -1) + 1/9 DATA(1, 1, -1)
+
+ - 2/9 DATA(-1, -1, 0) - 2/9 DATA(0, -1, 0) - 2/9 DATA(1, -1, 0)
+
+ - 2/9 DATA(-1, 0, 0) - 2/9 DATA(-1, 1, 0) + 1/9 DATA(-1, 1, 1)
+
+ + 1/9 DATA(-1, 0, 1) + 1/9 DATA(1, -1, 1) + 1/9 DATA(-1, -1, 1)
+
+ + 1/9 DATA(0, -1, 1) + 1/9 DATA(-1, 0, -1) + 1/9 DATA(0, 0, -1)
+
+ + 1/9 DATA(1, 0, -1) - 2/9 DATA(0, 0, 0) - 2/9 DATA(1, 0, 0)
+
+ - 2/9 DATA(0, 1, 0) - 2/9 DATA(1, 1, 0) + 1/9 DATA(0, 0, 1)
+
+ + 1/9 DATA(1, 0, 1) + 1/9 DATA(0, 1, 1) + 1/9 DATA(1, 1, 1)
+
+ + 1/9 DATA(-1, -1, -1) + 1/9 DATA(0, -1, -1) + 1/9 DATA(1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size3);
+[COEFF(-1, -1, -1) = 1/9, COEFF(0, -1, -1) = 1/9, COEFF(1, -1, -1) = 1/9,
+
+ COEFF(-1, 0, -1) = 1/9, COEFF(0, 0, -1) = 1/9, COEFF(1, 0, -1) = 1/9,
+
+ COEFF(-1, 1, -1) = 1/9, COEFF(0, 1, -1) = 1/9, COEFF(1, 1, -1) = 1/9,
+
+ COEFF(-1, -1, 0) = -2/9, COEFF(0, -1, 0) = -2/9, COEFF(1, -1, 0) = -2/9,
+
+ COEFF(-1, 0, 0) = -2/9, COEFF(0, 0, 0) = -2/9, COEFF(1, 0, 0) = -2/9,
+
+ COEFF(-1, 1, 0) = -2/9, COEFF(0, 1, 0) = -2/9, COEFF(1, 1, 0) = -2/9,
+
+ COEFF(-1, -1, 1) = 1/9, COEFF(0, -1, 1) = 1/9, COEFF(1, -1, 1) = 1/9,
+
+ COEFF(-1, 0, 1) = 1/9, COEFF(0, 0, 1) = 1/9, COEFF(1, 0, 1) = 1/9,
+
+ COEFF(-1, 1, 1) = 1/9, COEFF(0, 1, 1) = 1/9, COEFF(1, 1, 1) = 1/9]
+
+> print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+> "3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c");
+>
+########################################
+>
+#
+# 3d, cube, order=3, smoothing=0 (size=4)
+#
+>
+# interpolating polynomial
+> interp_3d_cube_order3_smooth0
+> := polynomial_interpolant(fn_3d_order3, coeff_list_3d_order3,
+> coord_list_3d, posn_list_3d_size4);
+bytes used=35026948, alloc=2031244, time=2.98
+bytes used=36027136, alloc=2096768, time=3.05
+bytes used=37027456, alloc=2096768, time=3.11
+bytes used=38030376, alloc=2293340, time=3.17
+bytes used=39030536, alloc=2293340, time=3.23
+bytes used=40030756, alloc=2293340, time=3.29
+bytes used=41030928, alloc=2293340, time=3.34
+bytes used=42031404, alloc=2293340, time=3.40
+bytes used=43033292, alloc=2293340, time=3.47
+bytes used=44035376, alloc=2358864, time=3.53
+bytes used=45040940, alloc=2358864, time=3.60
+bytes used=46041308, alloc=2358864, time=3.66
+bytes used=47043752, alloc=2358864, time=3.73
+bytes used=48044056, alloc=2358864, time=3.79
+bytes used=49044220, alloc=2358864, time=3.85
+bytes used=50046492, alloc=2358864, time=3.91
+bytes used=51046824, alloc=2358864, time=3.98
+bytes used=52046944, alloc=2358864, time=4.04
+bytes used=53047268, alloc=2358864, time=4.10
+bytes used=54047528, alloc=2358864, time=4.17
+bytes used=55050640, alloc=2358864, time=4.23
+bytes used=56050828, alloc=2358864, time=4.29
+bytes used=57051208, alloc=2358864, time=4.36
+bytes used=58052460, alloc=2358864, time=4.42
+bytes used=59052768, alloc=2489912, time=4.48
+bytes used=60057372, alloc=2489912, time=4.55
+bytes used=61059752, alloc=2489912, time=4.60
+bytes used=62060724, alloc=2489912, time=4.66
+bytes used=63060956, alloc=2489912, time=4.72
+bytes used=64061432, alloc=2489912, time=4.78
+bytes used=65066040, alloc=2489912, time=4.85
+bytes used=66066332, alloc=2489912, time=4.90
+bytes used=67066496, alloc=2489912, time=4.96
+bytes used=68068000, alloc=2489912, time=5.02
+bytes used=69068220, alloc=2489912, time=5.09
+bytes used=70072748, alloc=2489912, time=5.15
+bytes used=71077796, alloc=2489912, time=5.21
+bytes used=72078156, alloc=2489912, time=5.27
+bytes used=73078376, alloc=2489912, time=5.33
+bytes used=74078596, alloc=2489912, time=5.40
+bytes used=75079856, alloc=2489912, time=5.46
+bytes used=76084640, alloc=2489912, time=5.52
+bytes used=77086068, alloc=2489912, time=5.59
+bytes used=78090380, alloc=2489912, time=5.65
+bytes used=79090644, alloc=2489912, time=5.71
+bytes used=80091296, alloc=2489912, time=5.77
+bytes used=81095352, alloc=2489912, time=5.84
+bytes used=82096664, alloc=2489912, time=5.90
+bytes used=83096844, alloc=2489912, time=5.96
+bytes used=84102552, alloc=2489912, time=6.02
+bytes used=85104180, alloc=2489912, time=6.08
+bytes used=86104432, alloc=2489912, time=6.15
+bytes used=87104660, alloc=2489912, time=6.21
+bytes used=88104924, alloc=2489912, time=6.27
+bytes used=89110948, alloc=2489912, time=6.34
+bytes used=90111216, alloc=2489912, time=6.39
+bytes used=91112852, alloc=2489912, time=6.46
+bytes used=92113016, alloc=2489912, time=6.51
+bytes used=93113312, alloc=2489912, time=6.58
+bytes used=94113512, alloc=2489912, time=6.64
+bytes used=95113780, alloc=2489912, time=6.70
+bytes used=96114016, alloc=2489912, time=6.76
+bytes used=97115612, alloc=2489912, time=6.82
+bytes used=98115780, alloc=2489912, time=6.88
+bytes used=99122180, alloc=2489912, time=6.94
+bytes used=100122344, alloc=2489912, time=7.00
+bytes used=101127360, alloc=2489912, time=7.06
+bytes used=102129696, alloc=2489912, time=7.12
+bytes used=103132368, alloc=2489912, time=7.17
+bytes used=104143644, alloc=2489912, time=7.22
+ 97 49
+interp_3d_cube_order3_smooth0 := - ---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1)
+ 4000 1000
+
+ 61 71 469
+ - ---- DATA(1, 1, -1) + ---- DATA(-1, -1, 0) + ---- DATA(0, -1, 0)
+ 4000 2000 4000
+
+ 49 469 49
+ + ---- DATA(1, -1, 0) + ---- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0)
+ 1000 4000 1000
+
+ 61 49 61
+ - ---- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) - ---- DATA(1, -1, 1)
+ 4000 1000 4000
+
+ 97 49 71
+ - ---- DATA(-1, -1, 1) + ---- DATA(0, -1, 1) + ---- DATA(-1, 0, -1)
+ 4000 1000 2000
+
+ 469 49 177
+ + ---- DATA(0, 0, -1) + ---- DATA(1, 0, -1) + ---- DATA(0, 0, 0)
+ 4000 1000 1000
+
+ 397 397 49
+ + ---- DATA(1, 0, 0) + ---- DATA(0, 1, 0) + ---- DATA(1, 1, 0)
+ 4000 4000 2000
+
+ 397 49 49
+ + ---- DATA(0, 0, 1) + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1)
+ 4000 2000 2000
+
+ 193
+ - ---- DATA(1, 1, 1) + (1/160 DATA(-1, 1, -1) - 1/160 DATA(0, 1, -1)
+ 4000
+
+ - 1/160 DATA(1, 1, -1) - 3/160 DATA(-1, -1, 0) + 3/160 DATA(0, -1, 0)
+
+ + 3/160 DATA(1, -1, 0) - 1/160 DATA(-1, 0, 0) + 1/160 DATA(-1, 1, 0)
+
+ + 1/160 DATA(-1, 1, 1) - 1/160 DATA(-1, 0, 1) + 3/160 DATA(1, -1, 1)
+
+ - 3/160 DATA(-1, -1, 1) + 3/160 DATA(0, -1, 1) - 1/160 DATA(-1, 0, -1)
+
+ + 1/160 DATA(0, 0, -1) + 1/160 DATA(1, 0, -1) + 1/160 DATA(0, 0, 0)
+
+ + 1/160 DATA(1, 0, 0) - 1/160 DATA(0, 1, 0) - 1/160 DATA(1, 1, 0)
+
+ + 1/160 DATA(0, 0, 1) + 1/160 DATA(1, 0, 1) - 1/160 DATA(0, 1, 1)
+
+ - 1/160 DATA(1, 1, 1) - 3/160 DATA(-1, -1, -1) + 3/160 DATA(0, -1, -1)
+
+ - 3/160 DATA(1, 2, -1) + 1/160 DATA(2, 1, -1) + 3/160 DATA(-1, 2, -1)
+
+ - 3/160 DATA(0, 2, -1) - 3/160 DATA(2, -1, -1) - 1/160 DATA(2, 0, -1)
+
+ + 1/160 DATA(2, 1, 1) + 3/160 DATA(-1, 2, 1) - 3/160 DATA(0, 2, 1)
+
+ - 3/160 DATA(1, 2, 1) - 3/160 DATA(2, -1, 1) - 1/160 DATA(2, 0, 1)
+
+ + 3/160 DATA(1, -1, -1) - 3/160 DATA(1, 2, 0) + 3/160 DATA(2, 2, 0)
+
+ + 1/160 DATA(2, 1, 0) + 3/160 DATA(-1, 2, 0) - 3/160 DATA(0, 2, 0)
+
+ - 3/160 DATA(2, -1, 0) - 1/160 DATA(2, 0, 0) + 3/160 DATA(2, 2, -1)
+
+ - 3/160 DATA(1, 2, 2) + 3/160 DATA(2, 2, 2) - 1/160 DATA(1, 1, 2)
+
+ + 1/160 DATA(2, 1, 2) + 3/160 DATA(-1, 2, 2) - 3/160 DATA(0, 2, 2)
+
+ + 1/160 DATA(1, 0, 2) - 1/160 DATA(2, 0, 2) + 1/160 DATA(-1, 1, 2)
+
+ - 1/160 DATA(0, 1, 2) + 3/160 DATA(1, -1, 2) - 3/160 DATA(2, -1, 2)
+
+ - 1/160 DATA(-1, 0, 2) + 1/160 DATA(0, 0, 2) - 3/160 DATA(-1, -1, 2)
+
+ 2
+ + 3/160 DATA(0, -1, 2) + 3/160 DATA(2, 2, 1)) x y + (
+
+ 3/160 DATA(-1, 1, -1) + 3/160 DATA(0, 1, -1) + 3/160 DATA(1, 1, -1)
+
+ - 1/160 DATA(-1, -1, 0) - 1/160 DATA(0, -1, 0) - 1/160 DATA(1, -1, 0)
+
+ + 1/160 DATA(-1, 0, 0) + 1/160 DATA(-1, 1, 0) - 1/160 DATA(-1, 1, 1)
+
+ - 1/160 DATA(-1, 0, 1) + 1/160 DATA(1, -1, 1) + 1/160 DATA(-1, -1, 1)
+
+ + 1/160 DATA(0, -1, 1) + 3/160 DATA(-1, 0, -1) + 3/160 DATA(0, 0, -1)
+
+ + 3/160 DATA(1, 0, -1) + 1/160 DATA(0, 0, 0) + 1/160 DATA(1, 0, 0)
+
+ + 1/160 DATA(0, 1, 0) + 1/160 DATA(1, 1, 0) - 1/160 DATA(0, 0, 1)
+
+ - 1/160 DATA(1, 0, 1) - 1/160 DATA(0, 1, 1) - 1/160 DATA(1, 1, 1)
+
+ - 3/160 DATA(-1, -1, -1) - 3/160 DATA(0, -1, -1) - 3/160 DATA(1, 2, -1)
+
+ + 3/160 DATA(2, 1, -1) - 3/160 DATA(-1, 2, -1) - 3/160 DATA(0, 2, -1)
+
+ - 3/160 DATA(2, -1, -1) + 3/160 DATA(2, 0, -1) - 1/160 DATA(2, 1, 1)
+
+ + 1/160 DATA(-1, 2, 1) + 1/160 DATA(0, 2, 1) + 1/160 DATA(1, 2, 1)
+
+ + 1/160 DATA(2, -1, 1) - 1/160 DATA(2, 0, 1) - 3/160 DATA(1, -1, -1)
+
+ - 1/160 DATA(1, 2, 0) - 1/160 DATA(2, 2, 0) + 1/160 DATA(2, 1, 0)
+
+ - 1/160 DATA(-1, 2, 0) - 1/160 DATA(0, 2, 0) - 1/160 DATA(2, -1, 0)
+
+ + 1/160 DATA(2, 0, 0) - 3/160 DATA(2, 2, -1) + 3/160 DATA(1, 2, 2)
+
+ + 3/160 DATA(2, 2, 2) - 3/160 DATA(1, 1, 2) - 3/160 DATA(2, 1, 2)
+
+ + 3/160 DATA(-1, 2, 2) + 3/160 DATA(0, 2, 2) - 3/160 DATA(1, 0, 2)
+
+ - 3/160 DATA(2, 0, 2) - 3/160 DATA(-1, 1, 2) - 3/160 DATA(0, 1, 2)
+
+ + 3/160 DATA(1, -1, 2) + 3/160 DATA(2, -1, 2) - 3/160 DATA(-1, 0, 2)
+
+ - 3/160 DATA(0, 0, 2) + 3/160 DATA(-1, -1, 2) + 3/160 DATA(0, -1, 2)
+
+ 2
+ + 1/160 DATA(2, 2, 1)) y z + (- 3/160 DATA(-1, 1, -1)
+
+ + 3/160 DATA(0, 1, -1) + 3/160 DATA(1, 1, -1) - 1/160 DATA(-1, -1, 0)
+
+ + 1/160 DATA(0, -1, 0) + 1/160 DATA(1, -1, 0) - 1/160 DATA(-1, 0, 0)
+
+ - 1/160 DATA(-1, 1, 0) + 1/160 DATA(-1, 1, 1) + 1/160 DATA(-1, 0, 1)
+
+ - 1/160 DATA(1, -1, 1) + 1/160 DATA(-1, -1, 1) - 1/160 DATA(0, -1, 1)
+
+ - 3/160 DATA(-1, 0, -1) + 3/160 DATA(0, 0, -1) + 3/160 DATA(1, 0, -1)
+
+ + 1/160 DATA(0, 0, 0) + 1/160 DATA(1, 0, 0) + 1/160 DATA(0, 1, 0)
+
+ + 1/160 DATA(1, 1, 0) - 1/160 DATA(0, 0, 1) - 1/160 DATA(1, 0, 1)
+
+ - 1/160 DATA(0, 1, 1) - 1/160 DATA(1, 1, 1) - 3/160 DATA(-1, -1, -1)
+
+ + 3/160 DATA(0, -1, -1) + 3/160 DATA(1, 2, -1) - 3/160 DATA(2, 1, -1)
+
+ - 3/160 DATA(-1, 2, -1) + 3/160 DATA(0, 2, -1) - 3/160 DATA(2, -1, -1)
+
+ - 3/160 DATA(2, 0, -1) + 1/160 DATA(2, 1, 1) + 1/160 DATA(-1, 2, 1)
+
+ - 1/160 DATA(0, 2, 1) - 1/160 DATA(1, 2, 1) + 1/160 DATA(2, -1, 1)
+
+ + 1/160 DATA(2, 0, 1) + 3/160 DATA(1, -1, -1) + 1/160 DATA(1, 2, 0)
+
+ - 1/160 DATA(2, 2, 0) - 1/160 DATA(2, 1, 0) - 1/160 DATA(-1, 2, 0)
+
+ + 1/160 DATA(0, 2, 0) - 1/160 DATA(2, -1, 0) - 1/160 DATA(2, 0, 0)
+
+ - 3/160 DATA(2, 2, -1) - 3/160 DATA(1, 2, 2) + 3/160 DATA(2, 2, 2)
+
+ - 3/160 DATA(1, 1, 2) + 3/160 DATA(2, 1, 2) + 3/160 DATA(-1, 2, 2)
+
+ - 3/160 DATA(0, 2, 2) - 3/160 DATA(1, 0, 2) + 3/160 DATA(2, 0, 2)
+
+ + 3/160 DATA(-1, 1, 2) - 3/160 DATA(0, 1, 2) - 3/160 DATA(1, -1, 2)
+
+ + 3/160 DATA(2, -1, 2) + 3/160 DATA(-1, 0, 2) - 3/160 DATA(0, 0, 2)
+
+ 2
+ + 3/160 DATA(-1, -1, 2) - 3/160 DATA(0, -1, 2) + 1/160 DATA(2, 2, 1)) x z
+
+ + (3/160 DATA(-1, 1, -1) + 1/160 DATA(0, 1, -1) - 1/160 DATA(1, 1, -1)
+
+ - 3/160 DATA(-1, -1, 0) - 1/160 DATA(0, -1, 0) + 1/160 DATA(1, -1, 0)
+
+ + 3/160 DATA(-1, 0, 0) + 3/160 DATA(-1, 1, 0) + 3/160 DATA(-1, 1, 1)
+
+ + 3/160 DATA(-1, 0, 1) + 1/160 DATA(1, -1, 1) - 3/160 DATA(-1, -1, 1)
+
+ - 1/160 DATA(0, -1, 1) + 3/160 DATA(-1, 0, -1) + 1/160 DATA(0, 0, -1)
+
+ - 1/160 DATA(1, 0, -1) + 1/160 DATA(0, 0, 0) - 1/160 DATA(1, 0, 0)
+
+ + 1/160 DATA(0, 1, 0) - 1/160 DATA(1, 1, 0) + 1/160 DATA(0, 0, 1)
+
+ - 1/160 DATA(1, 0, 1) + 1/160 DATA(0, 1, 1) - 1/160 DATA(1, 1, 1)
+
+ - 3/160 DATA(-1, -1, -1) - 1/160 DATA(0, -1, -1) + 1/160 DATA(1, 2, -1)
+
+ - 3/160 DATA(2, 1, -1) - 3/160 DATA(-1, 2, -1) - 1/160 DATA(0, 2, -1)
+
+ + 3/160 DATA(2, -1, -1) - 3/160 DATA(2, 0, -1) - 3/160 DATA(2, 1, 1)
+
+ - 3/160 DATA(-1, 2, 1) - 1/160 DATA(0, 2, 1) + 1/160 DATA(1, 2, 1)
+
+ + 3/160 DATA(2, -1, 1) - 3/160 DATA(2, 0, 1) + 1/160 DATA(1, -1, -1)
+
+ + 1/160 DATA(1, 2, 0) + 3/160 DATA(2, 2, 0) - 3/160 DATA(2, 1, 0)
+
+ - 3/160 DATA(-1, 2, 0) - 1/160 DATA(0, 2, 0) + 3/160 DATA(2, -1, 0)
+
+ - 3/160 DATA(2, 0, 0) + 3/160 DATA(2, 2, -1) + 1/160 DATA(1, 2, 2)
+
+ + 3/160 DATA(2, 2, 2) - 1/160 DATA(1, 1, 2) - 3/160 DATA(2, 1, 2)
+
+ - 3/160 DATA(-1, 2, 2) - 1/160 DATA(0, 2, 2) - 1/160 DATA(1, 0, 2)
+
+ - 3/160 DATA(2, 0, 2) + 3/160 DATA(-1, 1, 2) + 1/160 DATA(0, 1, 2)
+
+ + 1/160 DATA(1, -1, 2) + 3/160 DATA(2, -1, 2) + 3/160 DATA(-1, 0, 2)
+
+ + 1/160 DATA(0, 0, 2) - 3/160 DATA(-1, -1, 2) - 1/160 DATA(0, -1, 2)
+
+ 2 / 37
+ + 3/160 DATA(2, 2, 1)) x y + |- ---- DATA(-1, 1, -1)
+ \ 1000
+
+ 33 129
+ - 1/250 DATA(0, 1, -1) + ---- DATA(1, 1, -1) + ---- DATA(-1, -1, 0)
+ 2000 2000
+
+ 17
+ - 7/2000 DATA(0, -1, 0) - --- DATA(1, -1, 0) - 7/2000 DATA(-1, 0, 0)
+ 500
+
+ 17 31 13
+ - --- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1) - ---- DATA(-1, 0, 1)
+ 500 1000 2000
+
+ 31 111 13
+ - ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1) - ---- DATA(0, -1, 1)
+ 1000 2000 2000
+
+ 17
+ - 1/2000 DATA(-1, 0, -1) - ---- DATA(0, 0, -1) - 1/250 DATA(1, 0, -1)
+ 2000
+
+ 19
+ - ---- DATA(0, 0, 0) - 3/1000 DATA(1, 0, 0) - 3/1000 DATA(0, 1, 0)
+ 2000
+
+ 31 21
+ + ---- DATA(1, 1, 0) - ---- DATA(0, 0, 1) - 1/500 DATA(1, 0, 1)
+ 2000 2000
+
+ 29 147
+ - 1/500 DATA(0, 1, 1) + ---- DATA(1, 1, 1) + ---- DATA(-1, -1, -1)
+ 2000 2000
+
+ 49 49
+ - 1/2000 DATA(0, -1, -1) + ---- DATA(1, 2, -1) + ---- DATA(2, 1, -1)
+ 2000 2000
+
+ 13
+ - 9/250 DATA(-1, 2, -1) + ---- DATA(0, 2, -1) - 9/250 DATA(2, -1, -1)
+ 1000
+
+ 13 37
+ + ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1) - 9/500 DATA(-1, 2, 1)
+ 1000 2000
+
+ 19 37
+ + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1) - 9/500 DATA(2, -1, 1)
+ 1000 2000
+
+ 19 37 43
+ + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0)
+ 1000 1000 2000
+
+ 21 43 27
+ - ---- DATA(2, 2, 0) + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0)
+ 2000 2000 1000
+
+ 27
+ + 2/125 DATA(0, 2, 0) - ---- DATA(2, -1, 0) + 2/125 DATA(2, 0, 0)
+ 1000
+
+ 31 57
+ - 3/2000 DATA(2, 2, -1) + ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2)
+ 2000 2000
+
+ 27 31
+ + ---- DATA(1, 1, 2) + ---- DATA(2, 1, 2) - 9/1000 DATA(-1, 2, 2)
+ 2000 2000
+
+ 11 11
+ + --- DATA(0, 2, 2) - 1/1000 DATA(1, 0, 2) + --- DATA(2, 0, 2)
+ 500 500
+
+ - 7/250 DATA(-1, 1, 2) - 1/1000 DATA(0, 1, 2) - 7/250 DATA(1, -1, 2)
+
+ 19 23
+ - 9/1000 DATA(2, -1, 2) - ---- DATA(-1, 0, 2) - ---- DATA(0, 0, 2)
+ 2000 2000
+
+ 93 19 39 \
+ + ---- DATA(-1, -1, 2) - ---- DATA(0, -1, 2) - ---- DATA(2, 2, 1)| x y + (
+ 2000 2000 2000 /
+
+ - 3/160 DATA(-1, 1, -1) - 1/160 DATA(0, 1, -1) + 1/160 DATA(1, 1, -1)
+
+ + 3/160 DATA(-1, -1, 0) + 1/160 DATA(0, -1, 0) - 1/160 DATA(1, -1, 0)
+
+ + 3/160 DATA(-1, 0, 0) + 3/160 DATA(-1, 1, 0) + 3/160 DATA(-1, 1, 1)
+
+ + 3/160 DATA(-1, 0, 1) - 1/160 DATA(1, -1, 1) + 3/160 DATA(-1, -1, 1)
+
+ + 1/160 DATA(0, -1, 1) - 3/160 DATA(-1, 0, -1) - 1/160 DATA(0, 0, -1)
+
+ + 1/160 DATA(1, 0, -1) + 1/160 DATA(0, 0, 0) - 1/160 DATA(1, 0, 0)
+
+ + 1/160 DATA(0, 1, 0) - 1/160 DATA(1, 1, 0) + 1/160 DATA(0, 0, 1)
+
+ - 1/160 DATA(1, 0, 1) + 1/160 DATA(0, 1, 1) - 1/160 DATA(1, 1, 1)
+
+ - 3/160 DATA(-1, -1, -1) - 1/160 DATA(0, -1, -1) + 1/160 DATA(1, 2, -1)
+
+ + 3/160 DATA(2, 1, -1) - 3/160 DATA(-1, 2, -1) - 1/160 DATA(0, 2, -1)
+
+ + 3/160 DATA(2, -1, -1) + 3/160 DATA(2, 0, -1) - 3/160 DATA(2, 1, 1)
+
+ + 3/160 DATA(-1, 2, 1) + 1/160 DATA(0, 2, 1) - 1/160 DATA(1, 2, 1)
+
+ - 3/160 DATA(2, -1, 1) - 3/160 DATA(2, 0, 1) + 1/160 DATA(1, -1, -1)
+
+ - 1/160 DATA(1, 2, 0) - 3/160 DATA(2, 2, 0) - 3/160 DATA(2, 1, 0)
+
+ + 3/160 DATA(-1, 2, 0) + 1/160 DATA(0, 2, 0) - 3/160 DATA(2, -1, 0)
+
+ - 3/160 DATA(2, 0, 0) + 3/160 DATA(2, 2, -1) + 1/160 DATA(1, 2, 2)
+
+ + 3/160 DATA(2, 2, 2) + 1/160 DATA(1, 1, 2) + 3/160 DATA(2, 1, 2)
+
+ - 3/160 DATA(-1, 2, 2) - 1/160 DATA(0, 2, 2) + 1/160 DATA(1, 0, 2)
+
+ + 3/160 DATA(2, 0, 2) - 3/160 DATA(-1, 1, 2) - 1/160 DATA(0, 1, 2)
+
+ + 1/160 DATA(1, -1, 2) + 3/160 DATA(2, -1, 2) - 3/160 DATA(-1, 0, 2)
+
+ - 1/160 DATA(0, 0, 2) - 3/160 DATA(-1, -1, 2) - 1/160 DATA(0, -1, 2)
+
+ 2
+ - 3/160 DATA(2, 2, 1)) x z + (- 1/32 DATA(-1, 1, -1)
+
+ - 1/32 DATA(0, 1, -1) - 1/32 DATA(1, 1, -1) - 1/96 DATA(-1, -1, 0)
+
+ - 1/96 DATA(0, -1, 0) - 1/96 DATA(1, -1, 0) + 1/32 DATA(-1, 0, 0)
+
+ - 1/32 DATA(-1, 1, 0) - 1/32 DATA(-1, 1, 1) + 1/32 DATA(-1, 0, 1)
+
+ - 1/96 DATA(1, -1, 1) - 1/96 DATA(-1, -1, 1) - 1/96 DATA(0, -1, 1)
+
+ + 1/32 DATA(-1, 0, -1) + 1/32 DATA(0, 0, -1) + 1/32 DATA(1, 0, -1)
+
+ + 1/32 DATA(0, 0, 0) + 1/32 DATA(1, 0, 0) - 1/32 DATA(0, 1, 0)
+
+ - 1/32 DATA(1, 1, 0) + 1/32 DATA(0, 0, 1) + 1/32 DATA(1, 0, 1)
+
+ - 1/32 DATA(0, 1, 1) - 1/32 DATA(1, 1, 1) - 1/96 DATA(-1, -1, -1)
+
+ - 1/96 DATA(0, -1, -1) + 1/96 DATA(1, 2, -1) - 1/32 DATA(2, 1, -1)
+
+ + 1/96 DATA(-1, 2, -1) + 1/96 DATA(0, 2, -1) - 1/96 DATA(2, -1, -1)
+
+ + 1/32 DATA(2, 0, -1) - 1/32 DATA(2, 1, 1) + 1/96 DATA(-1, 2, 1)
+
+ + 1/96 DATA(0, 2, 1) + 1/96 DATA(1, 2, 1) - 1/96 DATA(2, -1, 1)
+
+ + 1/32 DATA(2, 0, 1) - 1/96 DATA(1, -1, -1) + 1/96 DATA(1, 2, 0)
+
+ + 1/96 DATA(2, 2, 0) - 1/32 DATA(2, 1, 0) + 1/96 DATA(-1, 2, 0)
+
+ + 1/96 DATA(0, 2, 0) - 1/96 DATA(2, -1, 0) + 1/32 DATA(2, 0, 0)
+
+ + 1/96 DATA(2, 2, -1) + 1/96 DATA(1, 2, 2) + 1/96 DATA(2, 2, 2)
+
+ - 1/32 DATA(1, 1, 2) - 1/32 DATA(2, 1, 2) + 1/96 DATA(-1, 2, 2)
+
+ + 1/96 DATA(0, 2, 2) + 1/32 DATA(1, 0, 2) + 1/32 DATA(2, 0, 2)
+
+ - 1/32 DATA(-1, 1, 2) - 1/32 DATA(0, 1, 2) - 1/96 DATA(1, -1, 2)
+
+ - 1/96 DATA(2, -1, 2) + 1/32 DATA(-1, 0, 2) + 1/32 DATA(0, 0, 2)
+
+ 3 /
+ - 1/96 DATA(-1, -1, 2) - 1/96 DATA(0, -1, 2) + 1/96 DATA(2, 2, 1)) y + |
+ \
+
+ 1/80 DATA(-1, 1, -1) + 3/160 DATA(0, 1, -1) + 1/40 DATA(1, 1, -1)
+
+ + 7/160 DATA(-1, -1, 0) + 3/80 DATA(0, -1, 0) + 1/32 DATA(1, -1, 0)
+
+ - 3/40 DATA(-1, 0, 0) + 3/160 DATA(-1, 1, 0) + 1/40 DATA(-1, 1, 1)
+
+ 11
+ - --- DATA(-1, 0, 1) + 1/40 DATA(1, -1, 1) + 3/80 DATA(-1, -1, 1)
+ 160
+
+ 13
+ + 1/32 DATA(0, -1, 1) - --- DATA(-1, 0, -1) - 3/40 DATA(0, 0, -1)
+ 160
+
+ 11 11
+ - --- DATA(1, 0, -1) - --- DATA(0, 0, 0) - 1/16 DATA(1, 0, 0)
+ 160 160
+
+ + 1/40 DATA(0, 1, 0) + 1/32 DATA(1, 1, 0) - 1/16 DATA(0, 0, 1)
+
+ - 9/160 DATA(1, 0, 1) + 1/32 DATA(0, 1, 1) + 3/80 DATA(1, 1, 1)
+
+ + 1/20 DATA(-1, -1, -1) + 7/160 DATA(0, -1, -1) + 1/160 DATA(1, 2, -1)
+
+ + 1/32 DATA(2, 1, -1) + 3/160 DATA(-1, 2, -1) + 1/80 DATA(0, 2, -1)
+
+ + 1/32 DATA(2, -1, -1) - 1/16 DATA(2, 0, -1) + 7/160 DATA(2, 1, 1)
+
+ + 1/160 DATA(-1, 2, 1) - 1/160 DATA(1, 2, 1) + 3/160 DATA(2, -1, 1)
+
+ - 1/20 DATA(2, 0, 1) + 3/80 DATA(1, -1, -1) - 1/160 DATA(2, 2, 0)
+
+ + 3/80 DATA(2, 1, 0) + 1/80 DATA(-1, 2, 0) + 1/160 DATA(0, 2, 0)
+
+ + 1/40 DATA(2, -1, 0) - 9/160 DATA(2, 0, 0) - 1/80 DATA(1, 2, 2)
+
+ - 3/160 DATA(2, 2, 2) + 7/160 DATA(1, 1, 2) + 1/20 DATA(2, 1, 2)
+
+ - 1/160 DATA(0, 2, 2) - 1/20 DATA(1, 0, 2) - 7/160 DATA(2, 0, 2)
+
+ + 1/32 DATA(-1, 1, 2) + 3/80 DATA(0, 1, 2) + 3/160 DATA(1, -1, 2)
+
+ + 1/80 DATA(2, -1, 2) - 1/16 DATA(-1, 0, 2) - 9/160 DATA(0, 0, 2)
+
+ \ 2 /
+ + 1/32 DATA(-1, -1, 2) + 1/40 DATA(0, -1, 2) - 1/80 DATA(2, 2, 1)| y + |
+ / \
+
+ 157 323 141
+ ---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+ 2000 4000 2000
+
+ 607 437 691
+ - ----- DATA(-1, -1, 0) - ---- DATA(0, -1, 0) - ----- DATA(1, -1, 0)
+ 12000 6000 12000
+
+ 49 323 141
+ - ---- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 2000 4000 2000
+
+ 107 17 97
+ - ---- DATA(-1, 0, 1) - --- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 4000 375 3000
+
+ 691 39 49
+ - ----- DATA(0, -1, 1) - ---- DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 12000 4000 2000
+
+ 107 161 87
+ - ---- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0)
+ 4000 4000 2000
+
+ 21 299 87
+ + --- DATA(0, 1, 0) + ---- DATA(1, 1, 0) - ---- DATA(0, 0, 1)
+ 250 4000 2000
+
+ 191 299 133
+ - ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 4000 4000 2000
+
+ 47 607 137
+ - ---- DATA(-1, -1, -1) - ----- DATA(0, -1, -1) - ----- DATA(1, 2, -1)
+ 1500 12000 12000
+
+ 191 449 17
+ + ---- DATA(2, 1, -1) - ----- DATA(-1, 2, -1) - ---- DATA(0, 2, -1)
+ 4000 12000 3000
+
+ 281 33 183
+ + ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1)
+ 12000 2000 4000
+
+ 137 79 319
+ - ----- DATA(-1, 2, 1) + ---- DATA(0, 2, 1) + ----- DATA(1, 2, 1)
+ 12000 3000 12000
+
+ 53 79 97
+ + ----- DATA(2, -1, 1) - ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1)
+ 12000 2000 3000
+
+ 79 167 53
+ + ---- DATA(1, 2, 0) - ----- DATA(2, 2, 0) + ---- DATA(2, 1, 0)
+ 3000 12000 1000
+
+ 17 349 29
+ - ---- DATA(-1, 2, 0) + ----- DATA(0, 2, 0) - ---- DATA(2, -1, 0)
+ 3000 12000 6000
+
+ 137 41
+ - ---- DATA(2, 0, 0) - --- DATA(2, 2, -1) - 4/375 DATA(1, 2, 2)
+ 4000 750
+
+ 539 183 13
+ - ----- DATA(2, 2, 2) + ---- DATA(1, 1, 2) + --- DATA(2, 1, 2)
+ 12000 4000 500
+
+ 41 167 79
+ - --- DATA(-1, 2, 2) - ----- DATA(0, 2, 2) - ---- DATA(1, 0, 2)
+ 750 12000 2000
+
+ 129 191 53
+ - ---- DATA(2, 0, 2) + ---- DATA(-1, 1, 2) + ---- DATA(0, 1, 2)
+ 4000 4000 1000
+
+ 53 307 33
+ + ----- DATA(1, -1, 2) + ---- DATA(2, -1, 2) - ---- DATA(-1, 0, 2)
+ 12000 6000 2000
+
+ 137 281 29
+ - ---- DATA(0, 0, 2) + ----- DATA(-1, -1, 2) - ---- DATA(0, -1, 2)
+ 4000 12000 6000
+
+ \ / 97 107
+ - 4/375 DATA(2, 2, 1)| y + |- ---- DATA(-1, 1, -1) - ---- DATA(0, 1, -1)
+ / \ 3000 4000
+
+ 141 607 49
+ + ---- DATA(1, 1, -1) - ----- DATA(-1, -1, 0) - ---- DATA(0, -1, 0)
+ 2000 12000 2000
+
+ 323 437 691
+ + ---- DATA(1, -1, 0) - ---- DATA(-1, 0, 0) - ----- DATA(-1, 1, 0)
+ 4000 6000 12000
+
+ 17 691 141
+ - --- DATA(-1, 1, 1) - ----- DATA(-1, 0, 1) + ---- DATA(1, -1, 1)
+ 375 12000 2000
+
+ 97 107 607
+ - ---- DATA(-1, -1, 1) - ---- DATA(0, -1, 1) - ----- DATA(-1, 0, -1)
+ 3000 4000 12000
+
+ 49 323 161
+ - ---- DATA(0, 0, -1) + ---- DATA(1, 0, -1) - ---- DATA(0, 0, 0)
+ 2000 4000 4000
+
+ 21 87 299
+ + --- DATA(1, 0, 0) - ---- DATA(0, 1, 0) + ---- DATA(1, 1, 0)
+ 250 2000 4000
+
+ 87 299 191
+ - ---- DATA(0, 0, 1) + ---- DATA(1, 0, 1) - ---- DATA(0, 1, 1)
+ 2000 4000 4000
+
+ 133 47 39
+ + ---- DATA(1, 1, 1) - ---- DATA(-1, -1, -1) - ---- DATA(0, -1, -1)
+ 2000 1500 4000
+
+ 191 137 281
+ + ---- DATA(1, 2, -1) - ----- DATA(2, 1, -1) + ----- DATA(-1, 2, -1)
+ 4000 12000 12000
+
+ 33 449 17
+ - ---- DATA(0, 2, -1) - ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1)
+ 2000 12000 3000
+
+ 319 53 79
+ + ----- DATA(2, 1, 1) + ----- DATA(-1, 2, 1) - ---- DATA(0, 2, 1)
+ 12000 12000 2000
+
+ 183 137 79
+ + ---- DATA(1, 2, 1) - ----- DATA(2, -1, 1) + ---- DATA(2, 0, 1)
+ 4000 12000 3000
+
+ 157 53 167
+ + ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0) - ----- DATA(2, 2, 0)
+ 2000 1000 12000
+
+ 79 29 137
+ + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0) - ---- DATA(0, 2, 0)
+ 3000 6000 4000
+
+ 17 349 41
+ - ---- DATA(2, -1, 0) + ----- DATA(2, 0, 0) - --- DATA(2, 2, -1)
+ 3000 12000 750
+
+ 13 539 183
+ + --- DATA(1, 2, 2) - ----- DATA(2, 2, 2) + ---- DATA(1, 1, 2)
+ 500 12000 4000
+
+ 307 129
+ - 4/375 DATA(2, 1, 2) + ---- DATA(-1, 2, 2) - ---- DATA(0, 2, 2)
+ 6000 4000
+
+ 53 167 53
+ + ---- DATA(1, 0, 2) - ----- DATA(2, 0, 2) + ----- DATA(-1, 1, 2)
+ 1000 12000 12000
+
+ 79 191 41
+ - ---- DATA(0, 1, 2) + ---- DATA(1, -1, 2) - --- DATA(2, -1, 2)
+ 2000 4000 750
+
+ 29 137 281
+ - ---- DATA(-1, 0, 2) - ---- DATA(0, 0, 2) + ----- DATA(-1, -1, 2)
+ 6000 4000 12000
+
+ 33 \ /
+ - ---- DATA(0, -1, 2) - 4/375 DATA(2, 2, 1)| x + |3/80 DATA(-1, 1, -1)
+ 2000 / \
+
+ 11
+ - --- DATA(0, 1, -1) + 1/40 DATA(1, 1, -1) + 7/160 DATA(-1, -1, 0)
+ 160
+
+ - 3/40 DATA(0, -1, 0) + 3/160 DATA(1, -1, 0) + 3/80 DATA(-1, 0, 0)
+
+ + 1/32 DATA(-1, 1, 0) + 1/40 DATA(-1, 1, 1) + 1/32 DATA(-1, 0, 1)
+
+ 11
+ + 1/40 DATA(1, -1, 1) + 3/80 DATA(-1, -1, 1) - --- DATA(0, -1, 1)
+ 160
+
+ + 7/160 DATA(-1, 0, -1) - 3/40 DATA(0, 0, -1) + 3/160 DATA(1, 0, -1)
+
+ 11
+ - --- DATA(0, 0, 0) + 1/40 DATA(1, 0, 0) - 1/16 DATA(0, 1, 0)
+ 160
+
+ + 1/32 DATA(1, 1, 0) - 1/16 DATA(0, 0, 1) + 1/32 DATA(1, 0, 1)
+
+ - 9/160 DATA(0, 1, 1) + 3/80 DATA(1, 1, 1) + 1/20 DATA(-1, -1, -1)
+
+ 13
+ - --- DATA(0, -1, -1) + 1/32 DATA(1, 2, -1) + 1/160 DATA(2, 1, -1)
+ 160
+
+ + 1/32 DATA(-1, 2, -1) - 1/16 DATA(0, 2, -1) + 3/160 DATA(2, -1, -1)
+
+ + 1/80 DATA(2, 0, -1) - 1/160 DATA(2, 1, 1) + 3/160 DATA(-1, 2, 1)
+
+ - 1/20 DATA(0, 2, 1) + 7/160 DATA(1, 2, 1) + 1/160 DATA(2, -1, 1)
+
+ + 1/80 DATA(1, -1, -1) + 3/80 DATA(1, 2, 0) - 1/160 DATA(2, 2, 0)
+
+ + 1/40 DATA(-1, 2, 0) - 9/160 DATA(0, 2, 0) + 1/80 DATA(2, -1, 0)
+
+ + 1/160 DATA(2, 0, 0) + 1/20 DATA(1, 2, 2) - 3/160 DATA(2, 2, 2)
+
+ + 7/160 DATA(1, 1, 2) - 1/80 DATA(2, 1, 2) + 1/80 DATA(-1, 2, 2)
+
+ - 7/160 DATA(0, 2, 2) + 3/80 DATA(1, 0, 2) - 1/160 DATA(2, 0, 2)
+
+ + 3/160 DATA(-1, 1, 2) - 1/20 DATA(0, 1, 2) + 1/32 DATA(1, -1, 2)
+
+ + 1/40 DATA(-1, 0, 2) - 9/160 DATA(0, 0, 2) + 1/32 DATA(-1, -1, 2)
+
+ \ 2
+ - 1/16 DATA(0, -1, 2) - 1/80 DATA(2, 2, 1)| x + (- 1/96 DATA(-1, 1, -1)
+ /
+
+ + 1/32 DATA(0, 1, -1) - 1/32 DATA(1, 1, -1) - 1/96 DATA(-1, -1, 0)
+
+ + 1/32 DATA(0, -1, 0) - 1/32 DATA(1, -1, 0) - 1/96 DATA(-1, 0, 0)
+
+ - 1/96 DATA(-1, 1, 0) - 1/96 DATA(-1, 1, 1) - 1/96 DATA(-1, 0, 1)
+
+ - 1/32 DATA(1, -1, 1) - 1/96 DATA(-1, -1, 1) + 1/32 DATA(0, -1, 1)
+
+ - 1/96 DATA(-1, 0, -1) + 1/32 DATA(0, 0, -1) - 1/32 DATA(1, 0, -1)
+
+ + 1/32 DATA(0, 0, 0) - 1/32 DATA(1, 0, 0) + 1/32 DATA(0, 1, 0)
+
+ - 1/32 DATA(1, 1, 0) + 1/32 DATA(0, 0, 1) - 1/32 DATA(1, 0, 1)
+
+ + 1/32 DATA(0, 1, 1) - 1/32 DATA(1, 1, 1) - 1/96 DATA(-1, -1, -1)
+
+ + 1/32 DATA(0, -1, -1) - 1/32 DATA(1, 2, -1) + 1/96 DATA(2, 1, -1)
+
+ - 1/96 DATA(-1, 2, -1) + 1/32 DATA(0, 2, -1) + 1/96 DATA(2, -1, -1)
+
+ + 1/96 DATA(2, 0, -1) + 1/96 DATA(2, 1, 1) - 1/96 DATA(-1, 2, 1)
+
+ + 1/32 DATA(0, 2, 1) - 1/32 DATA(1, 2, 1) + 1/96 DATA(2, -1, 1)
+
+ + 1/96 DATA(2, 0, 1) - 1/32 DATA(1, -1, -1) - 1/32 DATA(1, 2, 0)
+
+ + 1/96 DATA(2, 2, 0) + 1/96 DATA(2, 1, 0) - 1/96 DATA(-1, 2, 0)
+
+ + 1/32 DATA(0, 2, 0) + 1/96 DATA(2, -1, 0) + 1/96 DATA(2, 0, 0)
+
+ + 1/96 DATA(2, 2, -1) - 1/32 DATA(1, 2, 2) + 1/96 DATA(2, 2, 2)
+
+ - 1/32 DATA(1, 1, 2) + 1/96 DATA(2, 1, 2) - 1/96 DATA(-1, 2, 2)
+
+ + 1/32 DATA(0, 2, 2) - 1/32 DATA(1, 0, 2) + 1/96 DATA(2, 0, 2)
+
+ - 1/96 DATA(-1, 1, 2) + 1/32 DATA(0, 1, 2) - 1/32 DATA(1, -1, 2)
+
+ + 1/96 DATA(2, -1, 2) - 1/96 DATA(-1, 0, 2) + 1/32 DATA(0, 0, 2)
+
+ 3 /
+ - 1/96 DATA(-1, -1, 2) + 1/32 DATA(0, -1, 2) + 1/96 DATA(2, 2, 1)) x + |
+ \
+
+ 97 691 17
+ - ---- DATA(-1, 1, -1) - ----- DATA(0, 1, -1) - --- DATA(1, 1, -1)
+ 3000 12000 375
+
+ 39 49 107
+ - ---- DATA(-1, -1, 0) - ---- DATA(0, -1, 0) - ---- DATA(1, -1, 0)
+ 4000 2000 4000
+
+ 49 107 141
+ - ---- DATA(-1, 0, 0) - ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 2000 4000 2000
+
+ 323 141 157
+ + ---- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1)
+ 4000 2000 2000
+
+ 323 607 437
+ + ---- DATA(0, -1, 1) - ----- DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 4000 12000 6000
+
+ 691 161 87
+ - ----- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0)
+ 12000 4000 2000
+
+ 87 191 21
+ - ---- DATA(0, 1, 0) - ---- DATA(1, 1, 0) + --- DATA(0, 0, 1)
+ 2000 4000 250
+
+ 299 299 133
+ + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 4000 4000 2000
+
+ 47 607 53
+ - ---- DATA(-1, -1, -1) - ----- DATA(0, -1, -1) + ----- DATA(1, 2, -1)
+ 1500 12000 12000
+
+ 53 281 29
+ + ----- DATA(2, 1, -1) + ----- DATA(-1, 2, -1) - ---- DATA(0, 2, -1)
+ 12000 12000 6000
+
+ 281 29 183
+ + ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1)
+ 12000 6000 4000
+
+ 191 53 183
+ + ---- DATA(-1, 2, 1) + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1)
+ 4000 1000 4000
+
+ 191 53 97
+ + ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1)
+ 4000 1000 3000
+
+ 79 129 79
+ - ---- DATA(1, 2, 0) - ---- DATA(2, 2, 0) - ---- DATA(2, 1, 0)
+ 2000 4000 2000
+
+ 33 137 33
+ - ---- DATA(-1, 2, 0) - ---- DATA(0, 2, 0) - ---- DATA(2, -1, 0)
+ 2000 4000 2000
+
+ 137 307
+ - ---- DATA(2, 0, 0) + ---- DATA(2, 2, -1) - 4/375 DATA(1, 2, 2)
+ 4000 6000
+
+ 539 319
+ - ----- DATA(2, 2, 2) + ----- DATA(1, 1, 2) - 4/375 DATA(2, 1, 2)
+ 12000 12000
+
+ 41 167 79
+ - --- DATA(-1, 2, 2) - ----- DATA(0, 2, 2) + ---- DATA(1, 0, 2)
+ 750 12000 3000
+
+ 167 137 79
+ - ----- DATA(2, 0, 2) - ----- DATA(-1, 1, 2) + ---- DATA(0, 1, 2)
+ 12000 12000 3000
+
+ 137 41 17
+ - ----- DATA(1, -1, 2) - --- DATA(2, -1, 2) - ---- DATA(-1, 0, 2)
+ 12000 750 3000
+
+ 349 449 17
+ + ----- DATA(0, 0, 2) - ----- DATA(-1, -1, 2) - ---- DATA(0, -1, 2)
+ 12000 12000 3000
+
+ 13 \ /
+ + --- DATA(2, 2, 1)| z + |3/80 DATA(-1, 1, -1) + 1/32 DATA(0, 1, -1)
+ 500 / \
+
+ 13
+ + 1/40 DATA(1, 1, -1) - --- DATA(-1, -1, 0) - 3/40 DATA(0, -1, 0)
+ 160
+
+ 11 11
+ - --- DATA(1, -1, 0) - 3/40 DATA(-1, 0, 0) - --- DATA(-1, 1, 0)
+ 160 160
+
+ + 1/40 DATA(-1, 1, 1) + 3/160 DATA(-1, 0, 1) + 1/40 DATA(1, -1, 1)
+
+ + 1/80 DATA(-1, -1, 1) + 3/160 DATA(0, -1, 1) + 7/160 DATA(-1, 0, -1)
+
+ 11
+ + 3/80 DATA(0, 0, -1) + 1/32 DATA(1, 0, -1) - --- DATA(0, 0, 0)
+ 160
+
+ - 1/16 DATA(1, 0, 0) - 1/16 DATA(0, 1, 0) - 9/160 DATA(1, 1, 0)
+
+ + 1/40 DATA(0, 0, 1) + 1/32 DATA(1, 0, 1) + 1/32 DATA(0, 1, 1)
+
+ + 3/80 DATA(1, 1, 1) + 1/20 DATA(-1, -1, -1) + 7/160 DATA(0, -1, -1)
+
+ + 3/160 DATA(1, 2, -1) + 3/160 DATA(2, 1, -1) + 1/32 DATA(-1, 2, -1)
+
+ + 1/40 DATA(0, 2, -1) + 1/32 DATA(2, -1, -1) + 1/40 DATA(2, 0, -1)
+
+ + 7/160 DATA(2, 1, 1) + 1/32 DATA(-1, 2, 1) + 3/80 DATA(0, 2, 1)
+
+ + 7/160 DATA(1, 2, 1) + 1/32 DATA(2, -1, 1) + 3/80 DATA(2, 0, 1)
+
+ + 3/80 DATA(1, -1, -1) - 1/20 DATA(1, 2, 0) - 7/160 DATA(2, 2, 0)
+
+ - 1/20 DATA(2, 1, 0) - 1/16 DATA(-1, 2, 0) - 9/160 DATA(0, 2, 0)
+
+ - 1/16 DATA(2, -1, 0) - 9/160 DATA(2, 0, 0) + 1/80 DATA(2, 2, -1)
+
+ - 1/80 DATA(1, 2, 2) - 3/160 DATA(2, 2, 2) - 1/160 DATA(1, 1, 2)
+
+ - 1/80 DATA(2, 1, 2) - 1/160 DATA(0, 2, 2) - 1/160 DATA(2, 0, 2)
+
+ + 1/160 DATA(-1, 1, 2) + 1/160 DATA(1, -1, 2) + 1/80 DATA(-1, 0, 2)
+
+ + 1/160 DATA(0, 0, 2) + 3/160 DATA(-1, -1, 2) + 1/80 DATA(0, -1, 2)
+
+ \ 2
+ + 1/20 DATA(2, 2, 1)| z + (- 1/96 DATA(-1, 1, -1) - 1/96 DATA(0, 1, -1)
+ /
+
+ - 1/96 DATA(1, 1, -1) + 1/32 DATA(-1, -1, 0) + 1/32 DATA(0, -1, 0)
+
+ + 1/32 DATA(1, -1, 0) + 1/32 DATA(-1, 0, 0) + 1/32 DATA(-1, 1, 0)
+
+ - 1/32 DATA(-1, 1, 1) - 1/32 DATA(-1, 0, 1) - 1/32 DATA(1, -1, 1)
+
+ - 1/32 DATA(-1, -1, 1) - 1/32 DATA(0, -1, 1) - 1/96 DATA(-1, 0, -1)
+
+ - 1/96 DATA(0, 0, -1) - 1/96 DATA(1, 0, -1) + 1/32 DATA(0, 0, 0)
+
+ + 1/32 DATA(1, 0, 0) + 1/32 DATA(0, 1, 0) + 1/32 DATA(1, 1, 0)
+
+ - 1/32 DATA(0, 0, 1) - 1/32 DATA(1, 0, 1) - 1/32 DATA(0, 1, 1)
+
+ - 1/32 DATA(1, 1, 1) - 1/96 DATA(-1, -1, -1) - 1/96 DATA(0, -1, -1)
+
+ - 1/96 DATA(1, 2, -1) - 1/96 DATA(2, 1, -1) - 1/96 DATA(-1, 2, -1)
+
+ - 1/96 DATA(0, 2, -1) - 1/96 DATA(2, -1, -1) - 1/96 DATA(2, 0, -1)
+
+ - 1/32 DATA(2, 1, 1) - 1/32 DATA(-1, 2, 1) - 1/32 DATA(0, 2, 1)
+
+ - 1/32 DATA(1, 2, 1) - 1/32 DATA(2, -1, 1) - 1/32 DATA(2, 0, 1)
+
+ - 1/96 DATA(1, -1, -1) + 1/32 DATA(1, 2, 0) + 1/32 DATA(2, 2, 0)
+
+ + 1/32 DATA(2, 1, 0) + 1/32 DATA(-1, 2, 0) + 1/32 DATA(0, 2, 0)
+
+ + 1/32 DATA(2, -1, 0) + 1/32 DATA(2, 0, 0) - 1/96 DATA(2, 2, -1)
+
+ + 1/96 DATA(1, 2, 2) + 1/96 DATA(2, 2, 2) + 1/96 DATA(1, 1, 2)
+
+ + 1/96 DATA(2, 1, 2) + 1/96 DATA(-1, 2, 2) + 1/96 DATA(0, 2, 2)
+
+ + 1/96 DATA(1, 0, 2) + 1/96 DATA(2, 0, 2) + 1/96 DATA(-1, 1, 2)
+
+ + 1/96 DATA(0, 1, 2) + 1/96 DATA(1, -1, 2) + 1/96 DATA(2, -1, 2)
+
+ + 1/96 DATA(-1, 0, 2) + 1/96 DATA(0, 0, 2) + 1/96 DATA(-1, -1, 2)
+
+ 3 /111
+ + 1/96 DATA(0, -1, 2) - 1/32 DATA(2, 2, 1)) z + |---- DATA(-1, 1, -1)
+ \2000
+
+ 13 31
+ - ---- DATA(0, 1, -1) - ---- DATA(1, 1, -1) - 1/2000 DATA(-1, -1, 0)
+ 2000 1000
+
+ 17
+ - ---- DATA(0, -1, 0) - 1/250 DATA(1, -1, 0) - 7/2000 DATA(-1, 0, 0)
+ 2000
+
+ 13 31 17
+ - ---- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1) - --- DATA(-1, 0, 1)
+ 2000 1000 500
+
+ 33 37
+ + ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1) - 1/250 DATA(0, -1, 1)
+ 2000 1000
+
+ 129 17
+ + ---- DATA(-1, 0, -1) - 7/2000 DATA(0, 0, -1) - --- DATA(1, 0, -1)
+ 2000 500
+
+ 19 21
+ - ---- DATA(0, 0, 0) - 3/1000 DATA(1, 0, 0) - ---- DATA(0, 1, 0)
+ 2000 2000
+
+ 31
+ - 1/500 DATA(1, 1, 0) - 3/1000 DATA(0, 0, 1) + ---- DATA(1, 0, 1)
+ 2000
+
+ 29 147
+ - 1/500 DATA(0, 1, 1) + ---- DATA(1, 1, 1) + ---- DATA(-1, -1, -1)
+ 2000 2000
+
+ - 1/2000 DATA(0, -1, -1) - 7/250 DATA(1, 2, -1) - 9/500 DATA(2, 1, -1)
+
+ 93 19
+ + ---- DATA(-1, 2, -1) - ---- DATA(0, 2, -1) - 9/250 DATA(2, -1, -1)
+ 2000 2000
+
+ 27 37
+ - ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1) - 7/250 DATA(-1, 2, 1)
+ 1000 2000
+
+ 27 49
+ - 1/1000 DATA(0, 2, 1) + ---- DATA(1, 2, 1) + ---- DATA(2, -1, 1)
+ 2000 2000
+
+ 43 37
+ + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1) - 1/1000 DATA(1, 2, 0)
+ 2000 1000
+
+ 11 19 19
+ + --- DATA(2, 2, 0) + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0)
+ 500 1000 2000
+
+ 23 13
+ - ---- DATA(0, 2, 0) + ---- DATA(2, -1, 0) + 2/125 DATA(2, 0, 0)
+ 2000 1000
+
+ 31 57
+ - 9/1000 DATA(2, 2, -1) + ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2)
+ 2000 2000
+
+ 37 39
+ + ---- DATA(1, 1, 2) - ---- DATA(2, 1, 2) - 9/1000 DATA(-1, 2, 2)
+ 2000 2000
+
+ 11 43 21
+ + --- DATA(0, 2, 2) + ---- DATA(1, 0, 2) - ---- DATA(2, 0, 2)
+ 500 2000 2000
+
+ 19 49
+ - 9/500 DATA(-1, 1, 2) + ---- DATA(0, 1, 2) + ---- DATA(1, -1, 2)
+ 1000 2000
+
+ 27
+ - 3/2000 DATA(2, -1, 2) - ---- DATA(-1, 0, 2) + 2/125 DATA(0, 0, 2)
+ 1000
+
+ 13 31 \
+ - 9/250 DATA(-1, -1, 2) + ---- DATA(0, -1, 2) + ---- DATA(2, 2, 1)| x z +
+ 1000 2000 /
+
+ (1/160 DATA(-1, 1, -1) + 1/160 DATA(0, 1, -1) + 1/160 DATA(1, 1, -1)
+
+ + 3/160 DATA(-1, -1, 0) + 3/160 DATA(0, -1, 0) + 3/160 DATA(1, -1, 0)
+
+ + 1/160 DATA(-1, 0, 0) - 1/160 DATA(-1, 1, 0) - 1/160 DATA(-1, 1, 1)
+
+ + 1/160 DATA(-1, 0, 1) + 3/160 DATA(1, -1, 1) + 3/160 DATA(-1, -1, 1)
+
+ + 3/160 DATA(0, -1, 1) - 1/160 DATA(-1, 0, -1) - 1/160 DATA(0, 0, -1)
+
+ - 1/160 DATA(1, 0, -1) + 1/160 DATA(0, 0, 0) + 1/160 DATA(1, 0, 0)
+
+ - 1/160 DATA(0, 1, 0) - 1/160 DATA(1, 1, 0) + 1/160 DATA(0, 0, 1)
+
+ + 1/160 DATA(1, 0, 1) - 1/160 DATA(0, 1, 1) - 1/160 DATA(1, 1, 1)
+
+ - 3/160 DATA(-1, -1, -1) - 3/160 DATA(0, -1, -1) + 3/160 DATA(1, 2, -1)
+
+ + 1/160 DATA(2, 1, -1) + 3/160 DATA(-1, 2, -1) + 3/160 DATA(0, 2, -1)
+
+ - 3/160 DATA(2, -1, -1) - 1/160 DATA(2, 0, -1) - 1/160 DATA(2, 1, 1)
+
+ - 3/160 DATA(-1, 2, 1) - 3/160 DATA(0, 2, 1) - 3/160 DATA(1, 2, 1)
+
+ + 3/160 DATA(2, -1, 1) + 1/160 DATA(2, 0, 1) - 3/160 DATA(1, -1, -1)
+
+ - 3/160 DATA(1, 2, 0) - 3/160 DATA(2, 2, 0) - 1/160 DATA(2, 1, 0)
+
+ - 3/160 DATA(-1, 2, 0) - 3/160 DATA(0, 2, 0) + 3/160 DATA(2, -1, 0)
+
+ + 1/160 DATA(2, 0, 0) + 3/160 DATA(2, 2, -1) + 3/160 DATA(1, 2, 2)
+
+ + 3/160 DATA(2, 2, 2) + 1/160 DATA(1, 1, 2) + 1/160 DATA(2, 1, 2)
+
+ + 3/160 DATA(-1, 2, 2) + 3/160 DATA(0, 2, 2) - 1/160 DATA(1, 0, 2)
+
+ - 1/160 DATA(2, 0, 2) + 1/160 DATA(-1, 1, 2) + 1/160 DATA(0, 1, 2)
+
+ - 3/160 DATA(1, -1, 2) - 3/160 DATA(2, -1, 2) - 1/160 DATA(-1, 0, 2)
+
+ - 1/160 DATA(0, 0, 2) - 3/160 DATA(-1, -1, 2) - 3/160 DATA(0, -1, 2)
+
+ 2 269 71
+ - 3/160 DATA(2, 2, 1)) y z - ---- DATA(-1, -1, -1) + ---- DATA(0, -1, -1)
+ 4000 2000
+
+ 59 59 59
+ - ---- DATA(1, 2, -1) - ---- DATA(2, 1, -1) - ---- DATA(-1, 2, -1)
+ 2000 2000 1000
+
+ 73 59 73
+ + ---- DATA(0, 2, -1) - ---- DATA(2, -1, -1) + ---- DATA(2, 0, -1)
+ 4000 1000 4000
+
+ 23 59 49
+ - --- DATA(2, 1, 1) - ---- DATA(-1, 2, 1) + ---- DATA(0, 2, 1)
+ 500 2000 4000
+
+ 23 59 49
+ - --- DATA(1, 2, 1) - ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1)
+ 500 2000 4000
+
+ 97 49
+ - ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0) + 7/250 DATA(2, 2, 0)
+ 4000 4000
+
+ 49 73 143
+ + ---- DATA(2, 1, 0) + ---- DATA(-1, 2, 0) + ---- DATA(0, 2, 0)
+ 4000 4000 2000
+
+ 73 143 59
+ + ---- DATA(2, -1, 0) + ---- DATA(2, 0, 0) - ---- DATA(2, 2, -1)
+ 4000 2000 4000
+
+ 67 77 23
+ - ---- DATA(1, 2, 2) + ---- DATA(2, 2, 2) - --- DATA(1, 1, 2)
+ 4000 2000 500
+
+ 67 59
+ - ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2) + 7/250 DATA(0, 2, 2)
+ 4000 4000
+
+ 49 59
+ + ---- DATA(1, 0, 2) + 7/250 DATA(2, 0, 2) - ---- DATA(-1, 1, 2)
+ 4000 2000
+
+ 49 59 59
+ + ---- DATA(0, 1, 2) - ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 4000 2000 4000
+
+ 73 143 59
+ + ---- DATA(-1, 0, 2) + ---- DATA(0, 0, 2) - ---- DATA(-1, -1, 2)
+ 4000 2000 1000
+
+ 73 67 / 37
+ + ---- DATA(0, -1, 2) - ---- DATA(2, 2, 1) + |- ---- DATA(-1, 1, -1)
+ 4000 4000 \ 1000
+
+ 17 31
+ - --- DATA(0, 1, -1) - ---- DATA(1, 1, -1) - 1/2000 DATA(-1, -1, 0)
+ 500 1000
+
+ 13 17
+ - 7/2000 DATA(0, -1, 0) - ---- DATA(1, -1, 0) - ---- DATA(-1, 0, 0)
+ 2000 2000
+
+ 33
+ - 1/250 DATA(-1, 1, 0) + ---- DATA(-1, 1, 1) - 1/250 DATA(-1, 0, 1)
+ 2000
+
+ 31 37 17
+ - ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1) - --- DATA(0, -1, 1)
+ 1000 1000 500
+
+ 13
+ - 1/2000 DATA(-1, 0, -1) - 7/2000 DATA(0, 0, -1) - ---- DATA(1, 0, -1)
+ 2000
+
+ 19 21
+ - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0) - 3/1000 DATA(0, 1, 0)
+ 2000 2000
+
+ - 1/500 DATA(1, 1, 0) - 3/1000 DATA(0, 0, 1) - 1/500 DATA(1, 0, 1)
+
+ 31 29 147
+ + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1) + ---- DATA(-1, -1, -1)
+ 2000 2000 2000
+
+ 129
+ + ---- DATA(0, -1, -1) - 9/500 DATA(1, 2, -1) - 7/250 DATA(2, 1, -1)
+ 2000
+
+ 27 93
+ - 9/250 DATA(-1, 2, -1) - ---- DATA(0, 2, -1) + ---- DATA(2, -1, -1)
+ 1000 2000
+
+ 19 27 49
+ - ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1) + ---- DATA(-1, 2, 1)
+ 2000 2000 2000
+
+ 43 37
+ + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1) - 7/250 DATA(2, -1, 1)
+ 2000 2000
+
+ 111 19
+ - 1/1000 DATA(2, 0, 1) + ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0)
+ 2000 1000
+
+ 11 13
+ + --- DATA(2, 2, 0) - 1/1000 DATA(2, 1, 0) + ---- DATA(-1, 2, 0)
+ 500 1000
+
+ 19 23
+ + 2/125 DATA(0, 2, 0) - ---- DATA(2, -1, 0) - ---- DATA(2, 0, 0)
+ 2000 2000
+
+ 39 57
+ - 9/1000 DATA(2, 2, -1) - ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2)
+ 2000 2000
+
+ 37 31
+ + ---- DATA(1, 1, 2) + ---- DATA(2, 1, 2) - 3/2000 DATA(-1, 2, 2)
+ 2000 2000
+
+ 21 19 11
+ - ---- DATA(0, 2, 2) + ---- DATA(1, 0, 2) + --- DATA(2, 0, 2)
+ 2000 1000 500
+
+ 49 43
+ + ---- DATA(-1, 1, 2) + ---- DATA(0, 1, 2) - 9/500 DATA(1, -1, 2)
+ 2000 2000
+
+ 13
+ - 9/1000 DATA(2, -1, 2) + ---- DATA(-1, 0, 2) + 2/125 DATA(0, 0, 2)
+ 1000
+
+ 27 31 \
+ - 9/250 DATA(-1, -1, 2) - ---- DATA(0, -1, 2) + ---- DATA(2, 2, 1)| y z +
+ 1000 2000 /
+
+ /
+ |9/1000 DATA(-1, 1, -1) + 3/1000 DATA(0, 1, -1) - 3/1000 DATA(1, 1, -1)
+ \
+
+ - 9/1000 DATA(-1, -1, 0) - 3/1000 DATA(0, -1, 0) + 3/1000 DATA(1, -1, 0)
+
+ - 3/1000 DATA(-1, 0, 0) + 3/1000 DATA(-1, 1, 0) - 3/1000 DATA(-1, 1, 1)
+
+ + 3/1000 DATA(-1, 0, 1) - 3/1000 DATA(1, -1, 1) + 9/1000 DATA(-1, -1, 1)
+
+ + 3/1000 DATA(0, -1, 1) - 9/1000 DATA(-1, 0, -1) - 3/1000 DATA(0, 0, -1)
+
+ + 3/1000 DATA(1, 0, -1) - 1/1000 DATA(0, 0, 0) + 1/1000 DATA(1, 0, 0)
+
+ + 1/1000 DATA(0, 1, 0) - 1/1000 DATA(1, 1, 0) + 1/1000 DATA(0, 0, 1)
+
+ - 1/1000 DATA(1, 0, 1) - 1/1000 DATA(0, 1, 1) + 1/1000 DATA(1, 1, 1)
+
+ 27
+ - ---- DATA(-1, -1, -1) - 9/1000 DATA(0, -1, -1) - 9/1000 DATA(1, 2, -1)
+ 1000
+
+ 27
+ - 9/1000 DATA(2, 1, -1) + ---- DATA(-1, 2, -1) + 9/1000 DATA(0, 2, -1)
+ 1000
+
+ 27
+ + ---- DATA(2, -1, -1) + 9/1000 DATA(2, 0, -1) + 3/1000 DATA(2, 1, 1)
+ 1000
+
+ - 9/1000 DATA(-1, 2, 1) - 3/1000 DATA(0, 2, 1) + 3/1000 DATA(1, 2, 1)
+
+ - 9/1000 DATA(2, -1, 1) - 3/1000 DATA(2, 0, 1) + 9/1000 DATA(1, -1, -1)
+
+ - 3/1000 DATA(1, 2, 0) - 9/1000 DATA(2, 2, 0) - 3/1000 DATA(2, 1, 0)
+
+ + 9/1000 DATA(-1, 2, 0) + 3/1000 DATA(0, 2, 0) + 9/1000 DATA(2, -1, 0)
+
+ 27
+ + 3/1000 DATA(2, 0, 0) - ---- DATA(2, 2, -1) + 9/1000 DATA(1, 2, 2)
+ 1000
+
+ 27
+ + ---- DATA(2, 2, 2) + 3/1000 DATA(1, 1, 2) + 9/1000 DATA(2, 1, 2)
+ 1000
+
+ 27
+ - ---- DATA(-1, 2, 2) - 9/1000 DATA(0, 2, 2) - 3/1000 DATA(1, 0, 2)
+ 1000
+
+ - 9/1000 DATA(2, 0, 2) - 9/1000 DATA(-1, 1, 2) - 3/1000 DATA(0, 1, 2)
+
+ 27
+ - 9/1000 DATA(1, -1, 2) - ---- DATA(2, -1, 2) + 9/1000 DATA(-1, 0, 2)
+ 1000
+
+ 27
+ + 3/1000 DATA(0, 0, 2) + ---- DATA(-1, -1, 2) + 9/1000 DATA(0, -1, 2)
+ 1000
+
+ \
+ + 9/1000 DATA(2, 2, 1)| x y z
+ /
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=105152604, alloc=2489912, time=7.28
+bytes used=106152820, alloc=2489912, time=7.35
+bytes used=107216572, alloc=2489912, time=7.41
+bytes used=108294684, alloc=2489912, time=7.48
+bytes used=109300848, alloc=2489912, time=7.54
+bytes used=110333976, alloc=2489912, time=7.61
+bytes used=111346724, alloc=2620960, time=7.68
+bytes used=112346876, alloc=2817532, time=7.75
+bytes used=113347044, alloc=2883056, time=7.82
+bytes used=114347284, alloc=3014104, time=7.89
+bytes used=115378052, alloc=3341724, time=7.95
+bytes used=116390676, alloc=3341724, time=8.00
+bytes used=117403452, alloc=3341724, time=8.06
+ 2 147 147 27 47
+[COEFF(-1, -1, -1) = - 3/160 x z + ---- x y + ---- x z - ---- x y z - ---- z
+ 2000 2000 1000 1500
+
+ 2 3 2 147 2 2
+ - 3/160 x y - 1/96 x + 1/20 y + ---- y z - 3/160 x y - 3/160 y z
+ 2000
+
+ 2 2 3 2 2 47 3
+ - 3/160 y z - 3/160 x z - 1/96 z + 1/20 x + 1/20 z - ---- x - 1/96 y
+ 1500
+
+ 47 269 2 2
+ - ---- y - ----, COEFF(0, -1, -1) = 3/160 x z - 9/1000 x y z - 3/160 y z
+ 1500 4000
+
+ 2 3 2 3
+ - 1/2000 x y - 1/160 x z - 1/96 z + 3/160 x y + 1/32 x - 1/2000 x z
+
+ 39 129 3 2 2 607 607
+ - ---- x + ---- y z - 1/96 y + 7/160 z - 1/160 x y - ----- z - ----- y
+ 4000 2000 12000 12000
+
+ 2 13 2 71 2 2
+ - 3/160 y z - --- x + ---- + 7/160 y , COEFF(1, -1, -1) = 3/160 x y
+ 160 2000
+
+ 2 2 111 2 2
+ + 1/160 x z + 3/160 x z + ---- y z - 3/160 y z + 1/160 x y
+ 2000
+
+ 2 37 157 37 3 97
+ + 9/1000 x y z + 3/80 z - ---- x y + ---- x - ---- x z - 1/96 y - ----
+ 1000 2000 1000 4000
+
+ 97 2 3 2 97 3 2
+ - ---- z - 3/160 y z - 1/96 z + 3/80 y - ---- y - 1/32 x + 1/80 x ,
+ 3000 3000
+
+ 2 3 2 27
+ COEFF(2, -1, -1) = 1/32 y - 9/250 x y + 1/96 x + 3/160 x + ---- x y z
+ 1000
+
+ 281 2 3 93 281
+ + ----- z - 9/250 x z + 3/160 x z - 1/96 y + ---- y z + ----- y
+ 12000 2000 12000
+
+ 2 2 2 2 2 3
+ - 3/160 y z + 1/32 z - 3/160 x z + 3/160 x y - 3/160 y z - 1/96 z
+
+ 59 2 449 129 71
+ - ---- - 3/160 x y - ----- x, COEFF(-1, 0, -1) = ---- x z + ----
+ 1000 12000 2000 2000
+
+ 2 2 3
+ - 3/160 x z - 9/1000 x y z - 1/2000 x y + 3/160 x y + 1/32 y
+
+ 2 607 3 3 39 2
+ + 3/160 y z - ----- x - 1/96 z - 1/96 x - ---- y - 1/160 y z
+ 12000 4000
+
+ 2 2 13 2 607 2
+ + 7/160 x - 1/160 x y - --- y - ----- z + 7/160 z - 1/2000 y z
+ 160 12000
+
+ 2 2 437
+ - 3/160 x z , COEFF(0, 0, -1) = 3/160 y z - 7/2000 x z - ---- z
+ 6000
+
+ 2 17 469 2 2
+ + 1/160 x y - ---- x y + ---- - 1/160 x z - 3/40 y - 7/2000 y z
+ 2000 4000
+
+ 2 49 49 2 3 2 3
+ - 3/40 x - ---- x - ---- y + 1/160 x y - 1/96 z + 3/160 x z + 1/32 y
+ 2000 2000
+
+ 2 3 2 49
+ + 3/80 z - 3/1000 x y z + 1/32 x - 1/160 y z , COEFF(1, 0, -1) = ----
+ 1000
+
+ 2 3 2 2 2 13
+ + 1/160 x z - 1/32 x + 3/160 x z + 3/160 x + 1/32 z - ---- y z
+ 2000
+
+ 107 3 3 2
+ - 1/250 x y - ---- y + 3/1000 x y z - 1/96 z + 1/32 y - 1/160 x y
+ 4000
+
+ 2 2 17 2 691 11 2
+ + 3/160 y z - 1/160 y z - --- x z + 1/160 x y - ----- z - --- y
+ 500 12000 160
+
+ 323 3 2 2
+ + ---- x, COEFF(2, 0, -1) = - 1/96 z + 9/1000 x y z + 1/80 x - 1/16 y
+ 4000
+
+ 33 17 2 3 13 2 27
+ - ---- y - ---- x + 3/160 y z + 1/32 y + ---- x y + 1/40 z - ---- x z
+ 2000 3000 1000 1000
+
+ 29 19 2 2 2 73
+ - ---- z - ---- y z - 3/160 x y - 1/160 x y - 3/160 x z + ----
+ 6000 2000 4000
+
+ 2 3 2 2
+ - 1/160 y z + 1/96 x + 3/160 x z , COEFF(-1, 1, -1) = 1/160 y z
+
+ 37 157 97 2 3 2 3
+ - ---- x y + ---- y - ---- + 3/80 x - 1/32 y + 1/80 y - 1/96 z
+ 1000 2000 4000
+
+ 2 97 2 3 111 97 37
+ + 3/80 z - ---- z + 3/160 x y - 1/96 x + ---- x z - ---- x - ---- y z
+ 3000 2000 3000 1000
+
+ 2 2 2 2
+ - 3/160 x z + 1/160 x y + 3/160 y z - 3/160 x z + 9/1000 x y z,
+
+ 17 2 2
+ COEFF(0, 1, -1) = - --- y z + 3/160 y z - 1/160 x z - 1/250 x y
+ 500
+
+ 2 2 3 49 3
+ + 1/160 x y + 3/160 x z + 3/1000 x y z + 1/32 x + ---- - 1/32 y
+ 1000
+
+ 691 3 2 323 13 2
+ - ----- z - 1/96 z - 1/160 x y + ---- y - ---- x z + 3/160 y
+ 12000 4000 2000
+
+ 2 11 2 2 107 3
+ + 1/160 y z - --- x + 1/32 z - ---- x, COEFF(1, 1, -1) = - 1/96 z
+ 160 4000
+
+ 17 2 2 141 141 33 2
+ - --- z + 1/160 x z + 1/40 y + ---- y + ---- x + ---- x y + 1/160 y z
+ 375 2000 2000 2000
+
+ 61 2 3 2 2 31 2
+ - ---- - 1/160 x y - 1/32 y + 3/160 x z + 1/40 z - ---- y z + 1/40 x
+ 4000 1000
+
+ 3 2 2 31
+ - 1/32 x - 1/160 x y - 3/1000 x y z + 3/160 y z - ---- x z,
+ 1000
+
+ 53 3 2
+ COEFF(2, 1, -1) = ----- z - 9/1000 x y z - 1/32 y - 7/250 y z + 3/160 x z
+ 12000
+
+ 2 191 3 49 3 2
+ + 3/160 y z + ---- y + 1/96 x + ---- x y - 1/96 z - 3/160 x z
+ 4000 2000
+
+ 2 2 2 2 59
+ + 3/160 z - 9/500 x z + 1/32 y + 1/160 x y + 1/160 y z - ----
+ 2000
+
+ 2 137 2 2
+ + 1/160 x - ----- x - 3/160 x y , COEFF(-1, 2, -1) = - 3/160 y z
+ 12000
+
+ 2 59 2 2 2
+ - 3/160 x y - ---- + 3/160 y z - 3/160 x z - 9/250 x y + 3/160 x y
+ 1000
+
+ 27 93 2 2 2
+ + ---- x y z + ---- x z + 1/32 x - 3/160 x z + 3/160 y - 9/250 y z
+ 1000 2000
+
+ 2 3 3 281 3 449 281
+ + 1/32 z + 1/96 y - 1/96 z + ----- z - 1/96 x - ----- y + ----- x,
+ 12000 12000 12000
+
+ 2 73 3 3 2 33
+ COEFF(0, 2, -1) = 1/40 z + ---- - 1/96 z + 1/32 x - 1/160 x y - ---- x
+ 4000 2000
+
+ 19 2 3 27 29
+ - ---- x z + 9/1000 x y z + 3/160 x z + 1/96 y - ---- y z - ---- z
+ 2000 1000 6000
+
+ 2 17 2 2 13 2
+ - 3/160 x y - ---- y - 3/160 y z - 1/16 x + ---- x y + 1/80 y
+ 3000 1000
+
+ 2 2 2 2 2
+ + 3/160 y z - 1/160 x z , COEFF(1, 2, -1) = 1/32 x + 1/160 y + 3/160 z
+
+ 59 3 3 53 3 2
+ - ---- - 1/32 x + 1/96 y - 7/250 x z + ----- z - 1/96 z + 1/160 x z
+ 2000 12000
+
+ 2 2 191 2 2
+ - 3/160 x y + 3/160 y z - 9/500 y z + ---- x + 3/160 x z - 3/160 y z
+ 4000
+
+ 2 49 137
+ + 1/160 x y - 9/1000 x y z + ---- x y - ----- y, COEFF(2, 2, -1) =
+ 2000 12000
+
+ 3 2 3 2 2 2
+ - 1/96 z + 3/160 x y + 1/96 y + 3/160 x z + 3/160 y z + 1/80 z
+
+ 3 41 59 27 41
+ - 9/1000 x z + 1/96 x - --- y - ---- - ---- x y z - 9/1000 y z - --- x
+ 750 4000 1000 750
+
+ 2 2 307 2
+ - 3/160 x z - 3/160 y z + ---- z + 3/160 x y - 3/2000 x y,
+ 6000
+
+ 2 2 2 13 2 129
+ COEFF(-1, -1, 0) = 3/160 x z + 7/160 y + 3/160 y z - --- z + ---- x y
+ 160 2000
+
+ 2 71 3 2 2 2
+ - 3/160 x y + ---- + 1/32 z - 3/160 x y - 1/160 x z - 1/160 y z
+ 2000
+
+ 607 2 3 607
+ - ----- x + 7/160 x - 9/1000 x y z - 1/96 y - ----- y - 1/2000 x z
+ 12000 12000
+
+ 39 3 469
+ - ---- z - 1/2000 y z - 1/96 x , COEFF(0, -1, 0) = - 7/2000 y z + ----
+ 4000 4000
+
+ 2 2 2 3 2
+ - 7/2000 x y - 1/160 x y + 3/160 x y - 3/40 x - 1/96 y + 1/160 x z
+
+ 2 3 49 2 2
+ - 3/40 z + 1/32 z - 3/1000 x y z - ---- x + 3/80 y - 1/160 y z
+ 2000
+
+ 17 437 2 49 2 3
+ - ---- x z - ---- y + 1/160 x z - ---- z + 3/160 y z + 1/32 x ,
+ 2000 6000 2000
+
+ 323 2 2 3
+ COEFF(1, -1, 0) = ---- x + 3/1000 x y z + 1/32 y - 1/160 y z - 1/32 x
+ 4000
+
+ 13 2 2 2 107 17
+ - ---- y z + 3/160 x - 1/160 x z + 1/160 x y - ---- z - --- x y
+ 2000 4000 500
+
+ 3 2 49 2 2
+ + 1/32 z - 1/250 x z + 1/160 x z + ---- + 3/160 x y + 3/160 y z
+ 1000
+
+ 11 2 3 691 73 19 2
+ - --- z - 1/96 y - ----- y, COEFF(2, -1, 0) = ---- - ---- y z - 1/16 z
+ 160 12000 4000 2000
+
+ 2 17 27 2 33 2 13
+ + 1/80 x - ---- x - ---- x y + 1/40 y - ---- z - 1/160 y z + ---- x z
+ 3000 1000 2000 1000
+
+ 2 2 2 3 3 3
+ - 3/160 x y + 3/160 y z + 3/160 x y + 1/96 x - 1/96 y + 1/32 z
+
+ 29 2 2
+ + 9/1000 x y z - ---- y - 1/160 x z - 3/160 x z , COEFF(-1, 0, 0) =
+ 6000
+
+ 2 49 17 2 469 2
+ 3/160 x z - ---- z - ---- y z + 3/160 x y + ---- + 1/160 y z
+ 2000 2000 4000
+
+ 2 2 2 2 2 2
+ - 1/160 x z + 1/160 y z - 3/40 z - 3/40 y - 1/160 x y + 3/80 x
+
+ 437 49 3
+ - ---- x - 7/2000 x z - 7/2000 x y - ---- y - 3/1000 x y z + 1/32 z
+ 6000 2000
+
+ 3 3 2 2 2
+ + 1/32 y - 1/96 x , COEFF(0, 0, 0) = 1/160 x z + 1/160 y z + 1/160 x y
+
+ 2 19 2 161 19
+ - 1/1000 x y z + 1/160 x y - ---- y z + 1/160 y z - ---- y - ---- x y
+ 2000 4000 2000
+
+ 3 177 11 2 19 161 2 3
+ + 1/32 y + ---- - --- z - ---- x z - ---- x + 1/160 x z + 1/32 z
+ 1000 160 2000 4000
+
+ 11 2 3 11 2 161 21 2
+ - --- x + 1/32 x - --- y - ---- z, COEFF(1, 0, 0) = --- x + 1/160 x z
+ 160 160 4000 250
+
+ 2 2 3 397 87
+ - 1/16 z + 1/160 y z - 3/1000 x y + 1/32 y + ---- - 3/1000 x z - ---- z
+ 4000 2000
+
+ 2 2 21 2 2
+ + 1/1000 x y z + 1/160 y z - 1/160 x y - ---- y z - 1/16 y - 1/160 x z
+ 2000
+
+ 3 2 3 87 2 143
+ - 1/32 x + 1/40 x + 1/32 z - ---- y + 1/160 x y, COEFF(2, 0, 0) = ----
+ 2000 2000
+
+ 2 3 3 2 3 2 137
+ - 9/160 z + 1/32 y + 1/32 z + 1/160 y z + 1/96 x + 1/160 x - ---- y
+ 4000
+
+ 2 23 2 2
+ + 3/1000 x y z + 2/125 x y - 9/160 y - ---- y z - 1/160 x y - 3/160 x z
+ 2000
+
+ 137 2 349 2 2
+ - ---- z - 3/160 x y + ----- x - 1/160 x z + 1/160 y z + 2/125 x z,
+ 4000 12000
+
+ 49 2 11 2
+ COEFF(-1, 1, 0) = ---- + 3/1000 x y z + 3/160 y - 1/250 y z - --- z
+ 1000 160
+
+ 2 2 3 2 2 13
+ + 1/160 x y + 3/160 x y - 1/32 y + 3/160 x z + 1/160 y z - ---- x z
+ 2000
+
+ 2 2 3 17 3 691 107
+ - 1/160 y z - 1/160 x z - 1/96 x - --- x y + 1/32 z - ----- x - ---- z
+ 500 12000 4000
+
+ 323 2 2 2
+ + ---- y + 1/32 x , COEFF(0, 1, 0) = - 1/160 y z + 1/160 y z
+ 4000
+
+ 2 2 21 397 3
+ + 1/1000 x y z + 1/160 x z + 1/160 x y - ---- x z + ---- + 1/32 z
+ 2000 4000
+
+ 87 2 2 2 2
+ - 3/1000 y z - ---- z + 1/160 x z + 1/40 y - 1/160 x y - 1/16 z
+ 2000
+
+ 21 87 3 3 2
+ + --- y - ---- x - 1/32 y - 3/1000 x y + 1/32 x - 1/16 x ,
+ 250 2000
+
+ 31 2 2
+ COEFF(1, 1, 0) = ---- x y - 1/1000 x y z - 1/160 y z + 1/160 x z
+ 2000
+
+ 2 49 191 2 2
+ - 1/160 x y + ---- - 1/500 y z - ---- z - 1/160 x z + 1/32 y
+ 2000 4000
+
+ 2 2 299 2 3 2
+ - 1/160 x y - 9/160 z + ---- y + 1/32 x - 1/32 y + 1/160 y z
+ 4000
+
+ 3 299 3 53
+ - 1/32 x + ---- x + 1/32 z - 1/500 x z, COEFF(2, 1, 0) = ---- y
+ 4000 1000
+
+ 2 79 43 2 79 2 2
+ - 1/20 z - ---- z + ---- x y - 3/160 x y + ---- x + 3/80 y - 3/160 x z
+ 2000 2000 3000
+
+ 2 19 2 3
+ - 1/160 x z - 1/1000 y z + ---- x z + 1/160 x y + 1/96 x - 3/1000 x y z
+ 1000
+
+ 2 3 2 49 3
+ + 1/160 y z + 1/32 z - 1/160 y z + ---- - 1/32 y , COEFF(-1, 2, 0) =
+ 4000
+
+ 2 2 19 2 2
+ 9/1000 x y z + 3/160 x z + 1/80 y - ---- x z - 1/160 x z - 3/160 y z
+ 2000
+
+ 2 2 3 3 13 17 73
+ - 1/16 z - 3/160 x y - 1/96 x + 1/32 z + ---- y z - ---- y + ----
+ 1000 3000 4000
+
+ 29 2 33 27 2 2 3
+ - ---- x + 1/40 x - ---- z - ---- x y + 3/160 x y - 1/160 y z + 1/96 y
+ 6000 2000 1000
+
+ 2 2 3
+ , COEFF(0, 2, 0) = - 1/160 y z + 1/160 y + 2/125 y z + 1/32 x
+
+ 2 2 2 137
+ - 3/160 x y + 1/160 x z + 1/160 x z - ---- z + 3/1000 x y z
+ 4000
+
+ 2 143 3 2 23 3 2
+ - 3/160 y z + ---- + 1/96 y - 9/160 z - ---- x z + 1/32 z - 9/160 x
+ 2000 2000
+
+ 137 2 349 43
+ - ---- x - 1/160 x y + ----- y + 2/125 x y, COEFF(1, 2, 0) = ---- x y
+ 4000 12000 2000
+
+ 2 2 49 3
+ - 1/1000 x z + 1/160 x y - 1/20 z + ---- + 1/96 y - 3/1000 x y z
+ 4000
+
+ 79 2 79 53 2 2 19
+ + ---- y - 3/160 x y - ---- z + ---- x + 3/80 x - 3/160 y z + ---- y z
+ 3000 2000 1000 1000
+
+ 3 2 3 2 2
+ + 1/32 z + 1/160 x z - 1/32 x - 1/160 x z - 1/160 y z, COEFF(2, 2, 0)
+
+ 11 2 21 2 2 2
+ = --- y z - 1/160 x z - ---- x y - 3/160 y z + 3/160 x y - 1/160 y z
+ 500 2000
+
+ 2 3 11 2 129 2
+ - 3/160 x z + 1/96 y + --- x z - 1/160 x + 7/250 - ---- z - 1/160 y
+ 500 4000
+
+ 3 2 3 167 2 167
+ + 1/32 z - 7/160 z + 1/96 x - ----- x + 3/160 x y - ----- y
+ 12000 12000
+
+ 37 111 2
+ - 9/1000 x y z, COEFF(-1, -1, 1) = - ---- x z + ---- x y - 3/160 x y
+ 1000 2000
+
+ 2 97 97 37 3 2 2
+ + 3/160 x z - ---- - ---- y - ---- y z - 1/96 y + 1/160 x z + 3/80 x
+ 4000 3000 1000
+
+ 2 3 2 3 2 157 97
+ + 1/160 y z - 1/32 z + 3/80 y - 1/96 x + 1/80 z + ---- z - ---- x
+ 2000 3000
+
+ 2 2 49
+ - 3/160 x y + 3/160 y z + 9/1000 x y z, COEFF(0, -1, 1) = ----
+ 1000
+
+ 2 17 13 3 107
+ + 3/160 z - --- y z - ---- x y + 1/32 x + 3/1000 x y z - ---- x
+ 500 2000 4000
+
+ 2 2 2 11 2 2 2
+ - 1/160 x y + 1/160 y z + 3/160 x y - --- x + 3/160 y z - 1/160 x z
+ 160
+
+ 3 3 2 323 691 2
+ - 1/250 x z - 1/32 z - 1/96 y + 1/160 x z + ---- z - ----- y + 1/32 y ,
+ 4000 12000
+
+ 2 2 2 2 31
+ COEFF(1, -1, 1) = 1/40 x + 1/160 x y + 1/160 y z + 1/40 y - ---- y z
+ 1000
+
+ 2 3 2 3 33
+ - 3/1000 x y z + 3/160 y z - 1/32 z + 3/160 x y - 1/32 x + ---- x z
+ 2000
+
+ 141 2 17 2 3 31 2
+ + ---- z - 1/160 x z - --- y - 1/160 x z - 1/96 y - ---- x y + 1/40 z
+ 2000 375 1000
+
+ 61 141 59 2 3
+ - ---- + ---- x, COEFF(2, -1, 1) = - ---- + 1/160 y z - 1/32 z
+ 4000 2000 2000
+
+ 2 2 49 2 2
+ + 3/160 y z - 9/500 x y + 3/160 x y + ---- x z + 1/160 x z - 3/160 x z
+ 2000
+
+ 2 3 3 137 2
+ + 1/32 z + 1/96 x - 7/250 y z - 1/96 y - ----- x - 3/160 x y
+ 12000
+
+ 2 53 191 2
+ + 1/160 x + ----- y - 9/1000 x y z + ---- z + 3/160 y , COEFF(-1, 0, 1)
+ 12000 4000
+
+ 2 2 2 2
+ = - 1/160 x y - 1/250 y z + 1/160 y z + 1/160 x z + 3/160 x y
+
+ 2 2 13 2 49
+ - 1/160 y z + 3/1000 x y z + 1/32 x - ---- x y + 3/160 z + ----
+ 2000 1000
+
+ 107 17 3 3 2 323 3
+ - ---- y - --- x z - 1/32 z - 1/96 x + 3/160 x z + ---- z + 1/32 y
+ 4000 500 4000
+
+ 691 11 2 2
+ - ----- x - --- y , COEFF(0, 0, 1) = - 1/160 y z - 3/1000 x z
+ 12000 160
+
+ 2 2 21 397 2
+ - 1/160 x z - 3/1000 y z + 1/160 x y - ---- x y + ---- - 1/16 y
+ 2000 4000
+
+ 2 3 2 2 3 87 21
+ + 1/160 x z - 1/32 z + 1/160 x y + 1/40 z + 1/32 x - ---- y + --- z
+ 2000 250
+
+ 87 2 2 3
+ - ---- x - 1/16 x + 1/160 y z + 1/32 y + 1/1000 x y z, COEFF(1, 0, 1)
+ 2000
+
+ 2 2 2 49 2
+ = 1/160 x y - 1/160 x z - 1/160 y z - 1/500 x y + ---- - 1/160 x y
+ 2000
+
+ 2 2 3 2 31
+ - 1/160 x z + 1/160 y z - 1/500 y z + 1/32 y + 1/32 x + ---- x z
+ 2000
+
+ 2 3 3 2 191 299
+ - 9/160 y - 1/1000 x y z - 1/32 z - 1/32 x + 1/32 z - ---- y + ---- z
+ 4000 4000
+
+ 299 2 2 2
+ + ---- x, COEFF(2, 0, 1) = - 3/160 x y - 3/160 x z - 1/160 y z
+ 4000
+
+ 2 3 49 2
+ - 1/160 x y - 1/1000 y z - 3/1000 x y z - 1/32 z + ---- + 3/80 z
+ 4000
+
+ 19 53 43 3 2 3
+ + ---- x y + ---- z + ---- x z + 1/32 y + 1/160 y z + 1/96 x
+ 1000 1000 2000
+
+ 2 79 2 79 2
+ + 1/160 x z - ---- y - 1/20 y + ---- x, COEFF(-1, 1, 1) = - 1/160 y z
+ 2000 3000
+
+ 3 141 2 2 2 2
+ - 1/32 y + ---- z - 1/160 y z + 1/160 x y + 3/160 x z + 1/40 z
+ 2000
+
+ 141 3 31 2 33 17 3
+ + ---- y - 1/32 z - ---- x z + 3/160 x y + ---- y z - --- x - 1/96 x
+ 2000 1000 2000 375
+
+ 2 61 2 31 2
+ - 3/1000 x y z + 1/160 x z - ---- + 1/40 y - ---- x y + 1/40 x ,
+ 4000 1000
+
+ 3 49 2 2 3 2
+ COEFF(0, 1, 1) = 1/32 x + ---- + 1/32 z + 1/32 y - 1/32 z - 1/160 x z
+ 2000
+
+ 191 3 2 2 2
+ - ---- x - 1/1000 x y z - 1/32 y + 1/160 x z - 9/160 x - 1/160 y z
+ 4000
+
+ 2 299 2 2
+ - 1/500 x z - 1/160 x y + ---- z + 1/160 x y - 1/500 x y - 1/160 y z
+ 4000
+
+ 299 31 2 133 29
+ + ---- y + ---- y z, COEFF(1, 1, 1) = - 1/160 x z + ---- z + ---- y z
+ 4000 2000 2000 2000
+
+ 2 29 2 29 3 2
+ - 1/160 y z + ---- x y - 1/160 x y + ---- x z - 1/32 z - 1/160 y z
+ 2000 2000
+
+ 193 133 2 133 2 3
+ + 1/1000 x y z - ---- + ---- y - 1/160 x z + ---- x + 3/80 y - 1/32 y
+ 4000 2000 2000
+
+ 2 2 2 3 2
+ - 1/160 x y + 3/80 x + 3/80 z - 1/32 x , COEFF(2, 1, 1) = - 3/160 x z
+
+ 2 2 2 37 23 2
+ + 1/160 x y - 1/160 y z + 1/160 x z + ---- x z - --- - 1/160 y z
+ 2000 500
+
+ 319 2 2 37 2 27
+ + ----- x - 3/160 x y - 1/160 x + ---- x y + 7/160 y + ---- y z
+ 12000 2000 2000
+
+ 2 183 3 183 3 3
+ + 7/160 z + ---- y + 1/96 x + ---- z + 3/1000 x y z - 1/32 z - 1/32 y ,
+ 4000 4000
+
+ 2 2 2
+ COEFF(-1, 2, 1) = 1/160 y z - 7/250 x z + 1/160 x z + 3/160 x y
+
+ 49 53 2 2 2 3
+ + ---- y z + ----- x - 3/160 y z + 3/160 x - 3/160 x y + 1/96 y
+ 2000 12000
+
+ 2 137 3 191 2 3
+ - 9/500 x y + 1/160 y - ----- y - 1/96 x + ---- z + 1/32 z - 1/32 z
+ 12000 4000
+
+ 59 2 3 43
+ - 9/1000 x y z - ---- + 3/160 x z , COEFF(0, 2, 1) = 1/32 x + ---- y z
+ 2000 2000
+
+ 2 2 53 79 2 2 49
+ + 1/160 x z - 1/160 x z + ---- z - ---- x - 3/160 y z - 1/20 x + ----
+ 1000 2000 4000
+
+ 3 2 19 2
+ + 1/96 y - 3/160 x y - 3/1000 x y z + ---- x y - 1/1000 x z + 3/80 z
+ 1000
+
+ 2 3 2 79 2
+ + 1/160 y z - 1/32 z - 1/160 x y + ---- y, COEFF(1, 2, 1) = - 1/160 y
+ 3000
+
+ 3 183 183 2 23 3 2
+ - 1/32 x + ---- z + ---- x + 7/160 x - --- + 1/96 y + 7/160 z
+ 4000 4000 500
+
+ 319 3 2 2 27
+ + ----- y - 1/32 z - 1/160 x z - 1/160 x z + ---- x z + 3/1000 x y z
+ 12000 2000
+
+ 2 37 2 37 2 2
+ + 1/160 y z + ---- x y + 1/160 x y + ---- y z - 3/160 y z - 3/160 x y,
+ 2000 2000
+
+ 67 3 2 3
+ COEFF(2, 2, 1) = - ---- + 1/96 x + 1/160 x z - 4/375 y + 1/96 y
+ 4000
+
+ 2 2 2 39 2
+ - 4/375 x + 1/160 y z - 3/160 x z + 1/20 z - ---- x y - 3/160 y z
+ 2000
+
+ 31 2 13 3 31 2
+ + ---- y z - 1/80 x + --- z + 9/1000 x y z - 1/32 z + ---- x z - 1/80 y
+ 2000 500 2000
+
+ 2 2 2 2
+ + 3/160 x y + 3/160 x y, COEFF(-1, -1, 2) = 3/160 y z + 3/160 x z
+
+ 2 27 2 2 59 2
+ - 3/160 y z + ---- x y z - 3/160 x y - 3/160 x z - ---- + 1/32 x
+ 1000 1000
+
+ 93 281 449 281 3 3
+ + ---- x y + ----- x - 9/250 y z - ----- z + ----- y + 1/96 z - 1/96 x
+ 2000 12000 12000 12000
+
+ 2 3 2 2
+ + 1/32 y - 1/96 y - 9/250 x z + 3/160 z - 3/160 x y, COEFF(0, -1, 2)
+
+ 2 3 2 2 33 2
+ = 1/80 z + 1/96 z + 1/40 y + 3/160 y z - ---- x - 3/160 y z
+ 2000
+
+ 13 19 27 2 2 2
+ + ---- x z - ---- x y - ---- y z - 1/160 x z + 3/160 x y - 1/160 x y
+ 1000 2000 1000
+
+ 29 17 3 2 2 73
+ + 9/1000 x y z - ---- y - ---- z - 1/96 y - 3/160 x z - 1/16 x + ----
+ 6000 3000 4000
+
+ 3 3 191 3
+ + 1/32 x , COEFF(1, -1, 2) = 1/96 z + ---- x - 1/96 y - 9/1000 x y z
+ 4000
+
+ 2 2 2 2 53 2
+ + 1/32 x + 1/160 x y + 3/160 x y + 3/160 y + ----- y - 3/160 x z
+ 12000
+
+ 49 3 137 59 2
+ + ---- x z - 1/32 x - ----- z - 9/500 y z - ---- + 1/160 x z
+ 2000 12000 2000
+
+ 2 2 2 59
+ + 3/160 y z - 7/250 x y + 1/160 z - 3/160 y z , COEFF(2, -1, 2) = - ----
+ 4000
+
+ 2 2 2 307
+ + 3/160 x z + 3/160 x y - 3/160 x y - 3/2000 x z - 9/1000 x y + ---- y
+ 6000
+
+ 41 3 3 3 27 2
+ - --- z - 1/96 y - 9/1000 y z + 1/96 z + 1/96 x - ---- x y z + 1/80 y
+ 750 1000
+
+ 2 2 41 2 73
+ + 3/160 y z - 3/160 y z - --- x + 3/160 x z , COEFF(-1, 0, 2) = ----
+ 750 4000
+
+ 3 13 3 2 2 2
+ + 1/32 y + ---- y z - 1/96 x + 3/160 x y - 1/16 y - 1/160 x y
+ 1000
+
+ 2 2 3 17 2
+ + 3/160 x z + 1/80 z + 1/96 z + 9/1000 x y z - ---- z + 1/40 x
+ 3000
+
+ 27 19 33 2 29 2
+ - ---- x z - ---- x y - ---- y - 3/160 x z - ---- x - 3/160 y z
+ 1000 2000 2000 6000
+
+ 2 2 2
+ - 1/160 y z , COEFF(0, 0, 2) = 2/125 y z + 1/160 x y + 1/160 x y
+
+ 2 23 143 2 3 2 349
+ - 9/160 y - ---- x y + ---- - 1/160 x z + 1/96 z - 3/160 y z + ----- z
+ 2000 2000 12000
+
+ 2 137 137 3
+ - 3/160 x z - ---- y + 3/1000 x y z - ---- x + 1/32 x + 2/125 x z
+ 4000 4000
+
+ 3 2 2 2 19
+ + 1/32 y - 1/160 y z - 9/160 x + 1/160 z , COEFF(1, 0, 2) = ---- y z
+ 1000
+
+ 2 2 53
+ - 3/1000 x y z - 1/160 x y + 1/160 x y + ---- x - 1/1000 x y
+ 1000
+
+ 2 3 2 3 2 2
+ + 1/160 x z + 1/96 z - 3/160 y z + 1/32 y - 3/160 x z + 3/80 x
+
+ 43 2 2 3 49 79 79
+ + ---- x z - 1/20 y - 1/160 y z - 1/32 x + ---- + ---- z - ---- y,
+ 2000 4000 3000 2000
+
+ 2 11 2 2
+ COEFF(2, 0, 2) = - 1/160 z + --- y z - 3/160 x y + 7/250 - 1/160 x y
+ 500
+
+ 129 11 2 2 2 2
+ - ---- y + --- x y - 1/160 x + 3/160 x z - 7/160 y - 3/160 y z
+ 4000 500
+
+ 3 167 167 2 3
+ + 1/96 x - ----- x - ----- z - 9/1000 x y z - 1/160 y z + 1/96 z
+ 12000 12000
+
+ 21 3 2 59 49
+ - ---- x z + 1/32 y + 3/160 x z, COEFF(-1, 1, 2) = - ---- + ---- y z
+ 2000 2000 2000
+
+ 2 2 2
+ + 3/160 x y + 1/160 x y - 7/250 x y - 9/1000 x y z - 3/160 x z
+
+ 2 2 191 2 3
+ + 1/160 z - 3/160 y z + ---- y + 1/160 y z + 1/96 z - 9/500 x z
+ 4000
+
+ 3 2 2 137 2 53 3
+ - 1/32 y + 3/160 x z + 3/160 x - ----- z + 1/32 y + ----- x - 1/96 x ,
+ 12000 12000
+
+ 49 2 2
+ COEFF(0, 1, 2) = - 3/1000 x y z + ---- - 1/160 x y - 3/160 y z
+ 4000
+
+ 2 3 2 2 2
+ - 1/1000 x y - 1/160 x z - 1/32 y - 3/160 x z - 1/20 x + 1/160 y z
+
+ 2 43 3 2 19 53 79
+ + 3/80 y + ---- y z + 1/32 x + 1/160 x y + ---- x z + ---- y + ---- z
+ 2000 1000 1000 3000
+
+ 3 79 23 37 2
+ + 1/96 z - ---- x, COEFF(1, 1, 2) = - --- + ---- y z - 1/160 x y
+ 2000 500 2000
+
+ 27 2 2 2 183 2
+ + ---- x y + 1/160 x z - 1/160 x y - 3/160 y z + ---- y + 1/160 y z
+ 2000 4000
+
+ 3 2 3 2 2 37
+ + 1/96 z - 3/160 x z - 1/32 y - 1/160 z + 7/160 x + ---- x z
+ 2000
+
+ 2 3 319 183
+ + 7/160 y + 3/1000 x y z - 1/32 x + ----- z + ---- x, COEFF(2, 1, 2) =
+ 12000 4000
+
+ 2 31 67 2 2
+ - 4/375 x + 1/160 y z + ---- y z - ---- - 1/80 z - 4/375 z - 3/160 x y
+ 2000 4000
+
+ 13 39 3 31 2
+ + --- y - ---- x z + 1/96 z + ---- x y + 3/160 x z + 9/1000 x y z
+ 500 2000 2000
+
+ 3 2 2 2 2 2
+ - 1/32 y + 3/160 x z - 1/80 x + 1/160 x y + 1/20 y - 3/160 y z
+
+ 3 2 307 59
+ + 1/96 x , COEFF(-1, 2, 2) = - 3/160 x y + ---- x - 9/1000 x z - ----
+ 6000 4000
+
+ 3 41 2 2 3 41
+ - 1/96 x - --- z + 3/160 y z + 3/160 x y + 1/96 z - 3/2000 y z - --- y
+ 750 750
+
+ 3 2 27 2 2
+ + 1/96 y + 3/160 x z - ---- x y z - 9/1000 x y - 3/160 x z + 3/160 y z
+ 1000
+
+ 2 3 167 2
+ + 1/80 x , COEFF(0, 2, 2) = 1/96 z + 7/250 - ----- z - 1/160 x y
+ 12000
+
+ 3 11 129 2 3 2 167
+ + 1/96 y + --- x z - ---- x + 3/160 y z + 1/32 x - 1/160 x z - ----- y
+ 500 4000 12000
+
+ 2 2 2 2 11
+ - 7/160 x + 3/160 y z - 1/160 z - 3/160 x y + --- x y - 9/1000 x y z
+ 500
+
+ 2 21 2 2
+ - 3/160 x z - ---- y z - 1/160 y , COEFF(1, 2, 2) = 1/160 x y
+ 2000
+
+ 2 3 3 2
+ + 9/1000 x y z + 3/160 y z - 1/32 x + 1/96 y - 3/160 x y - 4/375 y
+
+ 2 31 39 67 2 2
+ - 1/80 y + ---- x z - 4/375 z - ---- y z - ---- + 1/20 x + 1/160 x z
+ 2000 2000 4000
+
+ 2 31 13 2 3 2
+ + 3/160 y z + ---- x y + --- x - 1/80 z + 1/96 z - 3/160 x z,
+ 2000 500
+
+ 2 3 539 2 2
+ COEFF(2, 2, 2) = - 3/160 y + 1/96 x - ----- z + 3/160 x y + 3/160 y z
+ 12000
+
+ 539 3 3 539 77 2 2
+ - ----- x + 1/96 y + 1/96 z - ----- y + ---- + 3/160 x y + 3/160 x z
+ 12000 12000 2000
+
+ 27 57 2 57 2 57
+ + ---- x y z - ---- x y - 3/160 x - ---- x z + 3/160 y z - ---- y z
+ 1000 2000 2000 2000
+
+ 2 2
+ + 3/160 x z - 3/160 z ]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c");
+bytes used=118403608, alloc=3341724, time=8.13
+bytes used=119403736, alloc=3341724, time=8.20
+bytes used=120404032, alloc=3341724, time=8.27
+bytes used=121404256, alloc=3341724, time=8.33
+bytes used=122404640, alloc=3341724, time=8.42
+bytes used=123404784, alloc=3341724, time=8.53
+bytes used=124404912, alloc=3341724, time=8.61
+bytes used=125405068, alloc=3341724, time=8.69
+bytes used=126405276, alloc=3341724, time=8.77
+bytes used=127419056, alloc=3341724, time=8.85
+bytes used=128459492, alloc=3341724, time=8.90
+bytes used=129476960, alloc=3341724, time=8.96
+bytes used=130491360, alloc=3341724, time=9.01
+bytes used=131503260, alloc=3341724, time=9.07
+bytes used=132510844, alloc=3341724, time=9.13
+bytes used=133516012, alloc=3341724, time=9.19
+bytes used=134578064, alloc=3341724, time=9.25
+bytes used=135605384, alloc=3341724, time=9.32
+bytes used=136667420, alloc=3341724, time=9.38
+bytes used=137670136, alloc=3341724, time=9.43
+bytes used=138710064, alloc=3341724, time=9.50
+bytes used=139737460, alloc=3341724, time=9.57
+bytes used=140761448, alloc=3341724, time=9.65
+bytes used=141786716, alloc=3341724, time=9.71
+bytes used=142806864, alloc=3341724, time=9.79
+bytes used=143861316, alloc=3341724, time=9.87
+bytes used=144916568, alloc=3341724, time=9.94
+bytes used=145938708, alloc=3341724, time=10.03
+bytes used=146950692, alloc=3341724, time=10.12
+bytes used=147971784, alloc=3341724, time=10.22
+bytes used=148971920, alloc=3341724, time=10.31
+bytes used=149972112, alloc=3341724, time=10.39
+bytes used=150972764, alloc=3341724, time=10.45
+bytes used=151972888, alloc=3341724, time=10.81
+bytes used=152973088, alloc=3341724, time=10.90
+bytes used=153974696, alloc=3341724, time=10.97
+bytes used=154977368, alloc=3341724, time=11.04
+bytes used=155979516, alloc=3341724, time=11.10
+bytes used=156980652, alloc=3341724, time=11.18
+bytes used=157980852, alloc=3341724, time=11.24
+bytes used=158981552, alloc=3341724, time=11.31
+bytes used=159981936, alloc=3341724, time=11.38
+bytes used=160982236, alloc=3341724, time=11.45
+bytes used=161982364, alloc=3341724, time=11.52
+bytes used=162986100, alloc=3341724, time=11.60
+bytes used=163986284, alloc=3341724, time=11.67
+bytes used=164986700, alloc=3341724, time=11.74
+bytes used=165990480, alloc=3341724, time=11.81
+bytes used=166990724, alloc=3341724, time=11.88
+bytes used=167990888, alloc=3341724, time=11.95
+bytes used=168997484, alloc=3734868, time=12.07
+bytes used=170006548, alloc=3734868, time=12.18
+bytes used=171007012, alloc=3734868, time=12.31
+bytes used=172027372, alloc=3734868, time=12.43
+bytes used=173027580, alloc=3734868, time=12.55
+bytes used=174027712, alloc=3734868, time=12.70
+bytes used=175027864, alloc=3734868, time=12.90
+bytes used=176028092, alloc=3734868, time=13.13
+bytes used=177028280, alloc=3734868, time=13.24
+bytes used=178028452, alloc=3734868, time=13.35
+bytes used=179028612, alloc=3734868, time=13.43
+bytes used=180028728, alloc=3734868, time=13.51
+bytes used=181028856, alloc=3734868, time=13.60
+bytes used=182028984, alloc=3734868, time=13.68
+bytes used=183040344, alloc=3734868, time=13.79
+bytes used=184057760, alloc=3734868, time=13.92
+bytes used=185057956, alloc=3734868, time=14.03
+bytes used=186059092, alloc=3734868, time=14.14
+bytes used=187083852, alloc=3734868, time=14.25
+bytes used=188100588, alloc=3734868, time=14.33
+bytes used=189100708, alloc=3734868, time=14.41
+bytes used=190100832, alloc=3734868, time=14.50
+bytes used=191100996, alloc=3734868, time=14.58
+bytes used=192101144, alloc=3734868, time=14.66
+bytes used=193101352, alloc=3734868, time=14.75
+bytes used=194101532, alloc=3734868, time=14.83
+bytes used=195101664, alloc=3734868, time=14.91
+bytes used=196101780, alloc=3734868, time=15.00
+bytes used=197101992, alloc=3734868, time=15.09
+bytes used=198110908, alloc=3734868, time=15.17
+bytes used=199111064, alloc=3734868, time=15.26
+bytes used=200111276, alloc=3734868, time=15.35
+bytes used=201111392, alloc=3734868, time=15.43
+bytes used=202111584, alloc=3734868, time=15.52
+bytes used=203116132, alloc=3734868, time=15.61
+bytes used=204116516, alloc=3734868, time=15.70
+bytes used=205116672, alloc=3734868, time=15.77
+bytes used=206136292, alloc=3734868, time=16.02
+bytes used=207144096, alloc=3734868, time=16.20
+bytes used=208144276, alloc=3734868, time=16.53
+bytes used=209144400, alloc=3734868, time=16.62
+bytes used=210144584, alloc=3734868, time=16.68
+bytes used=211144788, alloc=3734868, time=16.75
+bytes used=212145404, alloc=3734868, time=16.81
+bytes used=213145724, alloc=3734868, time=16.87
+bytes used=214145864, alloc=3734868, time=16.94
+bytes used=215146096, alloc=3734868, time=17.00
+bytes used=216146320, alloc=3734868, time=17.07
+bytes used=217146480, alloc=3734868, time=17.22
+bytes used=218148596, alloc=3734868, time=17.36
+bytes used=219149648, alloc=3734868, time=17.48
+bytes used=220150972, alloc=3734868, time=17.67
+bytes used=221162740, alloc=3734868, time=17.80
+bytes used=222175640, alloc=3734868, time=17.93
+bytes used=223185608, alloc=3734868, time=18.07
+bytes used=224185736, alloc=3734868, time=18.19
+bytes used=225185868, alloc=3734868, time=18.29
+bytes used=226186004, alloc=3734868, time=18.38
+bytes used=227186136, alloc=3734868, time=18.48
+bytes used=228186268, alloc=3734868, time=18.57
+bytes used=229186456, alloc=3734868, time=18.67
+bytes used=230186584, alloc=3734868, time=18.77
+bytes used=231186732, alloc=3734868, time=18.86
+bytes used=232186896, alloc=3734868, time=18.93
+bytes used=233216376, alloc=3734868, time=19.18
+bytes used=234243024, alloc=3734868, time=19.35
+bytes used=235267368, alloc=3734868, time=19.49
+bytes used=236267608, alloc=3734868, time=19.93
+bytes used=237267752, alloc=3734868, time=20.02
+bytes used=238267988, alloc=3734868, time=20.11
+bytes used=239268148, alloc=3734868, time=20.17
+bytes used=240268440, alloc=3734868, time=20.24
+bytes used=241268656, alloc=3734868, time=20.31
+bytes used=242269064, alloc=3734868, time=20.37
+bytes used=243269568, alloc=3734868, time=20.44
+bytes used=244269688, alloc=3734868, time=20.51
+bytes used=245270192, alloc=3734868, time=20.58
+bytes used=246270372, alloc=3734868, time=20.64
+bytes used=247270492, alloc=3734868, time=20.72
+bytes used=248295932, alloc=3734868, time=21.06
+bytes used=249296156, alloc=3734868, time=21.22
+bytes used=250296304, alloc=3734868, time=21.31
+bytes used=251296476, alloc=3734868, time=21.41
+bytes used=252297972, alloc=3734868, time=21.50
+bytes used=253298108, alloc=3734868, time=21.59
+bytes used=254298332, alloc=3734868, time=21.69
+bytes used=255298484, alloc=3734868, time=21.78
+bytes used=256298800, alloc=3734868, time=21.87
+bytes used=257298992, alloc=3734868, time=22.50
+bytes used=258299224, alloc=3734868, time=22.58
+bytes used=259299560, alloc=3734868, time=22.65
+bytes used=260299748, alloc=3734868, time=22.71
+bytes used=261300128, alloc=3734868, time=22.78
+bytes used=262300440, alloc=3734868, time=22.84
+bytes used=263300692, alloc=3734868, time=22.91
+bytes used=264300812, alloc=3734868, time=22.98
+bytes used=265300944, alloc=3734868, time=23.04
+bytes used=266301132, alloc=3734868, time=23.11
+bytes used=267301248, alloc=3734868, time=23.27
+bytes used=268301392, alloc=3734868, time=23.58
+bytes used=269301596, alloc=3734868, time=23.69
+bytes used=270301788, alloc=3734868, time=23.78
+bytes used=271301972, alloc=3734868, time=23.88
+bytes used=272302180, alloc=3734868, time=23.97
+bytes used=273302352, alloc=3734868, time=24.07
+bytes used=274302552, alloc=3734868, time=24.16
+bytes used=275302732, alloc=3734868, time=24.25
+bytes used=276302900, alloc=3734868, time=24.93
+bytes used=277303040, alloc=3734868, time=25.13
+bytes used=278303556, alloc=3734868, time=25.20
+bytes used=279303816, alloc=3734868, time=25.30
+bytes used=280304200, alloc=3734868, time=25.43
+bytes used=281304352, alloc=3734868, time=25.58
+>
+# d/dx
+> simplify( diff(interp_3d_cube_order3_smooth0,x) );
+bytes used=282304708, alloc=3734868, time=25.71
+bytes used=283304888, alloc=3734868, time=25.78
+bytes used=284305048, alloc=3734868, time=25.84
+bytes used=285305288, alloc=3734868, time=25.91
+bytes used=286507196, alloc=3734868, time=25.99
+bytes used=287507660, alloc=3734868, time=26.07
+bytes used=288508092, alloc=3734868, time=26.14
+bytes used=289508492, alloc=3734868, time=26.21
+bytes used=290508704, alloc=3734868, time=26.28
+bytes used=291509108, alloc=3734868, time=26.35
+ 97 107 141
+- ---- DATA(-1, 1, -1) - ---- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+ 3000 4000 2000
+
+ 607 49 323
+ - ----- DATA(-1, -1, 0) - ---- DATA(0, -1, 0) + ---- DATA(1, -1, 0)
+ 12000 2000 4000
+
+ 437 691 17
+ - ---- DATA(-1, 0, 0) - ----- DATA(-1, 1, 0) - --- DATA(-1, 1, 1)
+ 6000 12000 375
+
+ 691 141 97
+ - ----- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 12000 2000 3000
+
+ 107 607 49
+ - ---- DATA(0, -1, 1) - ----- DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 4000 12000 2000
+
+ 323 161 21
+ + ---- DATA(1, 0, -1) - ---- DATA(0, 0, 0) + --- DATA(1, 0, 0)
+ 4000 4000 250
+
+ 87 299 87
+ - ---- DATA(0, 1, 0) + ---- DATA(1, 1, 0) - ---- DATA(0, 0, 1)
+ 2000 4000 2000
+
+ 299 191 133
+ + ---- DATA(1, 0, 1) - ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 4000 4000 2000
+
+ 47 39 191
+ - ---- DATA(-1, -1, -1) - ---- DATA(0, -1, -1) + ---- DATA(1, 2, -1)
+ 1500 4000 4000
+
+ 137 281 33
+ - ----- DATA(2, 1, -1) + ----- DATA(-1, 2, -1) - ---- DATA(0, 2, -1)
+ 12000 12000 2000
+
+ 449 17 319
+ - ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1) + ----- DATA(2, 1, 1)
+ 12000 3000 12000
+
+ 53 79 183
+ + ----- DATA(-1, 2, 1) - ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1)
+ 12000 2000 4000
+
+ 137 79 157
+ - ----- DATA(2, -1, 1) + ---- DATA(2, 0, 1) + ---- DATA(1, -1, -1)
+ 12000 3000 2000
+
+ 53 167 79
+ + ---- DATA(1, 2, 0) - ----- DATA(2, 2, 0) + ---- DATA(2, 1, 0)
+ 1000 12000 3000
+
+ 29 137 17
+ - ---- DATA(-1, 2, 0) - ---- DATA(0, 2, 0) - ---- DATA(2, -1, 0)
+ 6000 4000 3000
+
+ 349 41 13
+ + ----- DATA(2, 0, 0) - --- DATA(2, 2, -1) + --- DATA(1, 2, 2)
+ 12000 750 500
+
+ 539 183
+ - ----- DATA(2, 2, 2) + ---- DATA(1, 1, 2) - 4/375 DATA(2, 1, 2)
+ 12000 4000
+
+ 307 129 53
+ + ---- DATA(-1, 2, 2) - ---- DATA(0, 2, 2) + ---- DATA(1, 0, 2)
+ 6000 4000 1000
+
+ 167 53 79
+ - ----- DATA(2, 0, 2) + ----- DATA(-1, 1, 2) - ---- DATA(0, 1, 2)
+ 12000 12000 2000
+
+ 191 41 29
+ + ---- DATA(1, -1, 2) - --- DATA(2, -1, 2) - ---- DATA(-1, 0, 2)
+ 4000 750 6000
+
+ 137 281 33
+ - ---- DATA(0, 0, 2) + ----- DATA(-1, -1, 2) - ---- DATA(0, -1, 2)
+ 4000 12000 2000
+
+ - 4/375 DATA(2, 2, 1) + 3/40 x DATA(-1, 1, -1) + 1/80 x y DATA(-1, 1, 1)
+
+ + 1/80 x y DATA(0, 0, -1) - 1/80 x z DATA(-1, -1, 0)
+
+ - 1/80 x z DATA(2, 1, 0) + 1/80 x z DATA(-1, 2, 1)
+
+ - 1/80 x z DATA(0, 2, 1) - 3/80 x z DATA(0, 1, 2) + 3/80 x z DATA(2, 1, 2)
+
+ + 1/80 x z DATA(-1, 1, 1) + 1/80 x z DATA(0, 2, 0)
+
+ - 1/80 x y DATA(-1, 0, 1) + 1/80 x z DATA(-1, 0, 1)
+
+ - 1/80 x z DATA(-1, 1, 0) - 1/80 x z DATA(2, 2, 0)
+
+ - 1/80 x z DATA(2, -1, 0) - 1/80 x y DATA(1, 1, -1)
+
+ - 3/80 x z DATA(0, 2, 2) - 1/80 x z DATA(2, 0, 0) + 1/80 x z DATA(2, 2, 1)
+
+ - 3/80 x z DATA(0, 0, 2) - 3/80 x z DATA(2, 0, -1)
+
+ - 3/80 x z DATA(2, 1, -1) - 1/80 x y DATA(0, 1, -1)
+
+ + 3/80 x z DATA(1, 0, -1) + 3/80 x z DATA(0, -1, -1)
+
+ - 1/80 x y DATA(-1, 0, -1) - 1/80 x z DATA(0, 1, 1)
+
+ + 1/80 x z DATA(2, -1, 1) - 3/80 x z DATA(2, 2, -1)
+
+ + 3/80 x y DATA(0, -1, 1) + 3/80 x y DATA(1, -1, 0)
+
+ + 1/80 x z DATA(1, -1, 0) + 1/80 x z DATA(0, 0, 0)
+
+ + 3/80 x z DATA(-1, -1, 2) - 3/80 x z DATA(0, -1, 2)
+
+ - 3/80 x z DATA(-1, 2, -1) + 3/80 x z DATA(-1, 1, 2)
+
+ - 3/80 x z DATA(-1, -1, -1) + 3/80 x z DATA(1, 2, -1)
+
+ - 1/80 x z DATA(1, 2, 1) + 1/80 x z DATA(0, 1, 0)
+
+ - 3/80 x z DATA(-1, 0, -1) - 3/80 x z DATA(1, 2, 2)
+
+ + 3/80 x z DATA(2, 2, 2) + 1/80 x z DATA(2, 0, 1)
+
+ + 3/80 x z DATA(2, -1, 2) + 3/80 x z DATA(-1, 2, 2)
+
+ + 1/80 x z DATA(1, 2, 0) + 3/80 x z DATA(2, 0, 2)
+
+ + 3/80 x y DATA(0, -1, 0) - 1/80 x z DATA(-1, 2, 0)
+
+ + 1/80 x z DATA(1, 1, 0) + 1/80 x z DATA(1, 0, 0) - 1/80 x z DATA(0, 0, 1)
+
+ + 1/80 x y DATA(-1, 1, 0) - 1/80 x z DATA(1, 1, 1)
+
+ - 3/80 x z DATA(2, -1, -1) - 3/80 x z DATA(1, 0, 2)
+
+ - 3/80 x z DATA(1, -1, 2) - 3/80 x y DATA(-1, -1, 0)
+
+ + 3/80 x z DATA(-1, 0, 2) + 3/80 x z DATA(1, -1, -1)
+
+ + 3/80 x z DATA(0, 1, -1) + 3/80 x z DATA(0, 0, -1)
+
+ - 1/80 x z DATA(-1, 0, 0) - 1/80 x z DATA(1, -1, 1)
+
+ + 1/80 x y DATA(-1, 1, -1) - 1/1000 y z DATA(0, 1, 1)
+
+ 27
+ - 9/1000 y DATA(2, -1, 2) + 2/125 y DATA(0, 2, 0) - ---- y DATA(-1, 2, 0)
+ 1000
+
+ 2 2
+ + 1/160 y DATA(1, -1, 1) - 3/160 y DATA(-1, -1, 1)
+
+ 2 2
+ - 1/160 y DATA(0, -1, 1) + 3/160 y DATA(-1, 0, -1)
+
+ 2 2
+ + 1/160 y DATA(0, 0, -1) - 1/160 y DATA(1, 0, -1)
+
+ 2 2 2
+ + 1/160 y DATA(0, 0, 0) - 1/160 y DATA(1, 0, 0) - 3/160 y DATA(2, 0, 1)
+
+ + 1/80 x z DATA(0, -1, 0) + 3/80 x z DATA(0, 2, -1)
+
+ - 1/80 x z DATA(0, -1, 1) + 1/80 x z DATA(-1, -1, 1)
+
+ - 1/80 x z DATA(1, 0, 1) - 3/80 x y DATA(-1, -1, 1)
+
+ + 3/80 x y DATA(1, -1, 1) + 3/80 x z DATA(1, 1, -1)
+
+ 129 17
+ - 1/80 x y DATA(-1, 0, 0) + ---- y DATA(-1, -1, 0) - --- y DATA(1, -1, 0)
+ 2000 500
+
+ 17 31
+ - 7/2000 y DATA(-1, 0, 0) - --- y DATA(-1, 1, 0) - ---- y DATA(-1, 1, 1)
+ 500 1000
+
+ 13 31 111
+ - ---- y DATA(-1, 0, 1) - ---- y DATA(1, -1, 1) + ---- y DATA(-1, -1, 1)
+ 2000 1000 2000
+
+ 13 17
+ - ---- y DATA(0, -1, 1) - 1/2000 y DATA(-1, 0, -1) - ---- y DATA(0, 0, -1)
+ 2000 2000
+
+ 19
+ - 1/250 y DATA(1, 0, -1) - ---- y DATA(0, 0, 0) - 3/1000 y DATA(1, 0, 0)
+ 2000
+
+ 19 43 39
+ + ---- y DATA(2, 0, 1) + ---- y DATA(2, 1, 0) - ---- y DATA(2, 2, 1)
+ 1000 2000 2000
+
+ 37 43
+ - 3/2000 y DATA(2, 2, -1) - ---- y DATA(1, -1, -1) + ---- y DATA(1, 2, 0)
+ 1000 2000
+
+ 21 31
+ - ---- y DATA(2, 2, 0) - 3/1000 y DATA(0, 1, 0) + ---- y DATA(1, 1, 0)
+ 2000 2000
+
+ 21 29
+ - ---- y DATA(0, 0, 1) - 1/500 y DATA(0, 1, 1) + ---- y DATA(1, 1, 1)
+ 2000 2000
+
+ 147
+ + ---- y DATA(-1, -1, -1) - 1/2000 y DATA(0, -1, -1)
+ 2000
+
+ 49 49
+ + ---- y DATA(1, 2, -1) + ---- y DATA(2, 1, -1) - 9/250 y DATA(-1, 2, -1)
+ 2000 2000
+
+ 13 31
+ + ---- y DATA(0, 2, -1) + ---- y DATA(2, 1, 2) - 9/1000 y DATA(-1, 2, 2)
+ 1000 2000
+
+ 11 11
+ + --- y DATA(0, 2, 2) - 1/1000 y DATA(1, 0, 2) + --- y DATA(2, 0, 2)
+ 500 500
+
+ - 7/250 y DATA(-1, 1, 2) - 1/1000 y DATA(0, 1, 2) - 7/250 y DATA(1, -1, 2)
+
+ 19 23 93
+ - ---- y DATA(-1, 0, 2) - ---- y DATA(0, 0, 2) + ---- y DATA(-1, -1, 2)
+ 2000 2000 2000
+
+ 19 111 13
+ - ---- y DATA(0, -1, 2) + ---- z DATA(-1, 1, -1) - ---- z DATA(0, 1, -1)
+ 2000 2000 2000
+
+ 31 17
+ - ---- z DATA(1, 1, -1) - 1/2000 z DATA(-1, -1, 0) - ---- z DATA(0, -1, 0)
+ 1000 2000
+
+ 13
+ - 1/250 z DATA(1, -1, 0) - 7/2000 z DATA(-1, 0, 0) - ---- z DATA(-1, 1, 0)
+ 2000
+
+ 31 17 33
+ - ---- z DATA(-1, 1, 1) - --- z DATA(-1, 0, 1) + ---- z DATA(1, -1, 1)
+ 1000 500 2000
+
+ 37 129
+ - ---- z DATA(-1, -1, 1) - 1/250 z DATA(0, -1, 1) + ---- z DATA(-1, 0, -1)
+ 1000 2000
+
+ 17 19
+ - 7/2000 z DATA(0, 0, -1) - --- z DATA(1, 0, -1) - ---- z DATA(0, 0, 0)
+ 500 2000
+
+ 43 19
+ - 3/1000 z DATA(1, 0, 0) + ---- z DATA(2, 0, 1) + ---- z DATA(2, 1, 0)
+ 2000 1000
+
+ 31
+ + ---- z DATA(2, 2, 1) - 9/1000 z DATA(2, 2, -1) - 3/2000 z DATA(2, -1, 2)
+ 2000
+
+ 19 23 13
+ - ---- z DATA(-1, 2, 0) - ---- z DATA(0, 2, 0) + ---- z DATA(2, -1, 0)
+ 2000 2000 1000
+
+ 31 57
+ + 2/125 z DATA(2, 0, 0) + ---- z DATA(1, 2, 2) - ---- z DATA(2, 2, 2)
+ 2000 2000
+
+ 37 31
+ + ---- z DATA(1, 1, 2) + ---- z DATA(1, 0, 1) - 9/250 z DATA(2, -1, -1)
+ 2000 2000
+
+ 27 37
+ - ---- z DATA(2, 0, -1) + ---- z DATA(2, 1, 1) - 7/250 z DATA(-1, 2, 1)
+ 1000 2000
+
+ 11
+ - 1/1000 z DATA(0, 2, 1) - -- x DATA(0, 1, -1) + 1/20 x DATA(1, 1, -1)
+ 80
+
+ + 7/80 x DATA(-1, -1, 0) - 7/2000 y DATA(0, -1, 0)
+
+ 2 2
+ + 1/160 z DATA(1, 1, -1) + 1/160 z DATA(0, -1, 0)
+
+ 2 2
+ - 1/160 z DATA(1, -1, 0) + 3/160 z DATA(-1, 0, 0)
+
+ 2 2
+ + 3/160 z DATA(-1, 1, 0) + 3/160 z DATA(-1, 1, 1)
+
+ 2 2
+ + 3/160 z DATA(-1, 0, 1) - 1/160 z DATA(1, -1, 1)
+
+ 2 2
+ + 3/160 z DATA(-1, -1, 1) + 1/160 z DATA(0, -1, 1)
+
+ 2 2
+ - 3/160 z DATA(-1, 0, -1) - 1/160 z DATA(0, 0, -1)
+
+ 2 2
+ + 1/160 z DATA(1, 0, -1) + 1/160 z DATA(0, 0, 0)
+
+ 2 2 2
+ - 1/160 z DATA(1, 0, 0) - 3/160 z DATA(2, 0, 1) - 3/160 z DATA(2, 1, 0)
+
+ 2 2
+ - 3/160 z DATA(2, 2, 1) + 3/160 z DATA(2, 2, -1)
+
+ 2 2
+ + 3/160 z DATA(2, -1, 2) + 3/160 z DATA(-1, 2, 0)
+
+ 2 2
+ + 1/160 z DATA(0, 2, 0) - 3/160 z DATA(2, -1, 0)
+
+ 2 2 2
+ - 3/160 z DATA(2, 0, 0) + 1/160 z DATA(1, 2, 2) + 3/160 z DATA(2, 2, 2)
+
+ 2 2
+ + 1/160 z DATA(1, 1, 2) - 1/160 z DATA(1, 0, 1)
+
+ 2 2
+ + 3/160 z DATA(2, -1, -1) + 3/160 z DATA(2, 0, -1)
+
+ 2 2
+ - 3/160 z DATA(2, 1, 1) + 3/160 z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/160 z DATA(0, 2, 1) - 1/160 z DATA(1, 2, 1)
+
+ 2 2
+ - 3/160 z DATA(2, -1, 1) + 1/160 z DATA(1, -1, -1)
+
+ 2 2 2
+ - 1/160 z DATA(1, 2, 0) - 3/160 z DATA(2, 2, 0) + 1/160 z DATA(0, 1, 0)
+
+ 2 2 2
+ - 1/160 z DATA(1, 1, 0) + 1/160 z DATA(0, 0, 1) + 1/160 z DATA(0, 1, 1)
+
+ 2 2
+ - 1/160 z DATA(1, 1, 1) - 3/160 z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/160 z DATA(0, -1, -1) + 1/160 z DATA(1, 2, -1)
+
+ 2 2
+ + 3/160 z DATA(2, 1, -1) - 3/160 z DATA(-1, 2, -1)
+
+ 2 2
+ - 1/160 z DATA(0, 2, -1) + 3/160 z DATA(2, 1, 2)
+
+ 2 2
+ - 3/160 z DATA(-1, 2, 2) - 1/160 z DATA(0, 2, 2)
+
+ 2 2
+ + 1/160 z DATA(1, 0, 2) + 3/160 z DATA(2, 0, 2)
+
+ 2 2
+ - 3/160 z DATA(-1, 1, 2) - 1/160 z DATA(0, 1, 2)
+
+ 2 2
+ + 1/160 z DATA(1, -1, 2) - 3/160 z DATA(-1, 0, 2)
+
+ 2 2
+ - 1/160 z DATA(0, 0, 2) - 3/160 z DATA(-1, -1, 2)
+
+ 2 37
+ - 1/160 z DATA(0, -1, 2) - ---- y DATA(-1, 1, -1)
+ 1000
+
+ 33
+ - 1/250 y DATA(0, 1, -1) + ---- y DATA(1, 1, -1)
+ 2000
+
+ 2 37 19
+ + 3/160 z DATA(-1, -1, 0) + ---- y DATA(2, 1, 1) + ---- y DATA(0, 2, 1)
+ 2000 1000
+
+ 37
+ + ---- y DATA(1, 2, 1) - 9/500 y DATA(2, -1, 1) - 3/20 x DATA(0, -1, 0)
+ 2000
+
+ + 3/80 x DATA(1, -1, 0) + 3/40 x DATA(-1, 0, 0) + 1/16 x DATA(-1, 1, 0)
+
+ + 1/20 x DATA(-1, 1, 1) + 1/16 x DATA(-1, 0, 1) + 1/20 x DATA(1, -1, 1)
+
+ 11
+ + 3/40 x DATA(-1, -1, 1) - -- x DATA(0, -1, 1) + 7/80 x DATA(-1, 0, -1)
+ 80
+
+ 11
+ - 3/20 x DATA(0, 0, -1) + 3/80 x DATA(1, 0, -1) - -- x DATA(0, 0, 0)
+ 80
+
+ + 1/20 x DATA(1, 0, 0) - 1/40 x DATA(2, 2, 1) + 1/20 x DATA(-1, 2, 0)
+
+ - 9/80 x DATA(0, 2, 0) + 1/40 x DATA(2, -1, 0) + 1/80 x DATA(2, 0, 0)
+
+ + 1/10 x DATA(1, 2, 2) - 3/80 x DATA(2, 2, 2) + 7/80 x DATA(1, 1, 2)
+
+ + 1/16 x DATA(1, 0, 1) + 3/80 x DATA(2, -1, -1) + 1/40 x DATA(2, 0, -1)
+
+ - 1/80 x DATA(2, 1, 1) + 3/80 x DATA(-1, 2, 1) - 1/10 x DATA(0, 2, 1)
+
+ + 7/80 x DATA(1, 2, 1) + 1/80 x DATA(2, -1, 1) + 1/40 x DATA(1, -1, -1)
+
+ + 3/40 x DATA(1, 2, 0) - 1/80 x DATA(2, 2, 0) - 1/8 x DATA(0, 1, 0)
+
+ + 1/16 x DATA(1, 1, 0) - 1/8 x DATA(0, 0, 1) - 9/80 x DATA(0, 1, 1)
+
+ 13
+ + 3/40 x DATA(1, 1, 1) + 1/10 x DATA(-1, -1, -1) - -- x DATA(0, -1, -1)
+ 80
+
+ + 1/16 x DATA(1, 2, -1) + 1/80 x DATA(2, 1, -1) + 1/16 x DATA(-1, 2, -1)
+
+ - 1/8 x DATA(0, 2, -1) - 1/40 x DATA(2, 1, 2) + 1/40 x DATA(-1, 2, 2)
+
+ - 7/80 x DATA(0, 2, 2) + 3/40 x DATA(1, 0, 2) - 1/80 x DATA(2, 0, 2)
+
+ + 3/80 x DATA(-1, 1, 2) - 1/10 x DATA(0, 1, 2) + 1/16 x DATA(1, -1, 2)
+
+ + 1/20 x DATA(-1, 0, 2) - 9/80 x DATA(0, 0, 2) + 1/16 x DATA(-1, -1, 2)
+
+ 2
+ - 1/8 x DATA(0, -1, 2) - 3/160 z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/160 z DATA(0, 1, -1) - 9/500 y DATA(-1, 2, 1) + 3/32 x DATA(0, 1, 1)
+
+ 2 2
+ - 3/32 x DATA(1, 1, 1) - 1/32 x DATA(-1, -1, -1)
+
+ 2 2
+ + 3/32 x DATA(0, -1, -1) - 3/32 x DATA(1, 2, -1)
+
+ 2 2
+ + 1/32 x DATA(2, 1, -1) - 1/32 x DATA(-1, 2, -1)
+
+ 2 2 2
+ + 3/32 x DATA(0, 2, -1) + 1/32 x DATA(2, 1, 2) - 1/32 x DATA(-1, 2, 2)
+
+ 2 2 2
+ + 3/32 x DATA(0, 2, 2) - 3/32 x DATA(1, 0, 2) + 1/32 x DATA(2, 0, 2)
+
+ 2 2 2
+ - 1/32 x DATA(-1, 1, 2) + 3/32 x DATA(0, 1, 2) - 3/32 x DATA(1, -1, 2)
+
+ 2 2 2
+ - 1/32 x DATA(-1, 0, 2) + 3/32 x DATA(0, 0, 2) - 1/32 x DATA(-1, -1, 2)
+
+ 2 2 27
+ + 3/32 x DATA(0, -1, 2) + 3/160 y DATA(-1, 1, 2) + ---- z DATA(1, 2, 1)
+ 2000
+
+ 49 37
+ + ---- z DATA(2, -1, 1) - ---- z DATA(1, -1, -1) - 1/1000 z DATA(1, 2, 0)
+ 2000 1000
+
+ 11 21
+ + --- z DATA(2, 2, 0) - ---- z DATA(0, 1, 0) - 1/500 z DATA(1, 1, 0)
+ 500 2000
+
+ 29
+ - 3/1000 z DATA(0, 0, 1) - 1/500 z DATA(0, 1, 1) + ---- z DATA(1, 1, 1)
+ 2000
+
+ 147
+ + ---- z DATA(-1, -1, -1) - 1/2000 z DATA(0, -1, -1)
+ 2000
+
+ 93
+ - 7/250 z DATA(1, 2, -1) - 9/500 z DATA(2, 1, -1) + ---- z DATA(-1, 2, -1)
+ 2000
+
+ 19 39
+ - ---- z DATA(0, 2, -1) - ---- z DATA(2, 1, 2) - 9/1000 z DATA(-1, 2, 2)
+ 2000 2000
+
+ 11 43 21
+ + --- z DATA(0, 2, 2) + ---- z DATA(1, 0, 2) - ---- z DATA(2, 0, 2)
+ 500 2000 2000
+
+ 19 49
+ - 9/500 z DATA(-1, 1, 2) + ---- z DATA(0, 1, 2) + ---- z DATA(1, -1, 2)
+ 1000 2000
+
+ 27
+ - ---- z DATA(-1, 0, 2) + 2/125 z DATA(0, 0, 2) - 9/250 z DATA(-1, -1, 2)
+ 1000
+
+ 13 2
+ + ---- z DATA(0, -1, 2) + 3/160 y DATA(-1, 1, -1)
+ 1000
+
+ 2 2
+ + 1/160 y DATA(0, 1, -1) - 1/160 y DATA(1, 1, -1)
+
+ 2 2
+ - 3/160 y DATA(-1, -1, 0) - 1/160 y DATA(0, -1, 0)
+
+ 2 2
+ + 1/160 y DATA(1, -1, 0) + 3/160 y DATA(-1, 0, 0)
+
+ 2 2
+ + 3/160 y DATA(-1, 1, 0) + 3/160 y DATA(-1, 1, 1)
+
+ 27 31
+ - ---- y DATA(2, -1, 0) + 2/125 y DATA(2, 0, 0) + ---- y DATA(1, 2, 2)
+ 1000 2000
+
+ 57 27
+ - ---- y DATA(2, 2, 2) + ---- y DATA(1, 1, 2) - 1/500 y DATA(1, 0, 1)
+ 2000 2000
+
+ 13 2
+ - 9/250 y DATA(2, -1, -1) + ---- y DATA(2, 0, -1) - 3/160 y DATA(2, 1, 0)
+ 1000
+
+ 2 2
+ + 3/160 y DATA(2, 2, 1) + 3/160 y DATA(2, 2, -1)
+
+ 2 2
+ + 3/160 y DATA(2, -1, 2) - 3/160 y DATA(-1, 2, 0)
+
+ 2 2
+ - 1/160 y DATA(0, 2, 0) + 3/160 y DATA(2, -1, 0)
+
+ 2 2 2
+ - 3/160 y DATA(2, 0, 0) + 1/160 y DATA(1, 2, 2) + 3/160 y DATA(2, 2, 2)
+
+ 2 2
+ - 1/160 y DATA(1, 1, 2) - 1/160 y DATA(1, 0, 1)
+
+ 2 2
+ + 3/160 y DATA(2, -1, -1) - 3/160 y DATA(2, 0, -1)
+
+ 2 2
+ - 3/160 y DATA(2, 1, 1) - 3/160 y DATA(-1, 2, 1)
+
+ 2 2
+ - 1/160 y DATA(0, 2, 1) + 1/160 y DATA(1, 2, 1)
+
+ 2 2
+ + 3/160 y DATA(2, -1, 1) + 1/160 y DATA(1, -1, -1)
+
+ 2 2 2
+ + 1/160 y DATA(1, 2, 0) + 3/160 y DATA(2, 2, 0) + 1/160 y DATA(0, 1, 0)
+
+ 2 2 2
+ - 1/160 y DATA(1, 1, 0) + 1/160 y DATA(0, 0, 1) + 1/160 y DATA(0, 1, 1)
+
+ 2 2
+ - 1/160 y DATA(1, 1, 1) - 3/160 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/160 y DATA(0, -1, -1) + 1/160 y DATA(1, 2, -1)
+
+ 2 2
+ - 3/160 y DATA(2, 1, -1) - 3/160 y DATA(-1, 2, -1)
+
+ 2 2
+ - 1/160 y DATA(0, 2, -1) - 3/160 y DATA(2, 1, 2)
+
+ 2 2
+ - 3/160 y DATA(-1, 2, 2) - 1/160 y DATA(0, 2, 2)
+
+ 2 2 2
+ - 1/160 y DATA(1, 0, 2) - 3/160 y DATA(2, 0, 2) + 1/160 y DATA(0, 1, 2)
+
+ 2 2
+ + 1/160 y DATA(1, -1, 2) + 3/160 y DATA(-1, 0, 2)
+
+ 2 2
+ + 1/160 y DATA(0, 0, 2) - 3/160 y DATA(-1, -1, 2)
+
+ 2 2
+ - 1/160 y DATA(0, -1, 2) - 1/32 x DATA(-1, 1, -1)
+
+ 2 2
+ + 3/32 x DATA(0, 1, -1) - 3/32 x DATA(1, 1, -1)
+
+ 2 2
+ - 1/32 x DATA(-1, -1, 0) + 3/32 x DATA(0, -1, 0)
+
+ 2 2 2
+ - 3/32 x DATA(1, -1, 0) - 1/32 x DATA(-1, 0, 0) - 1/32 x DATA(-1, 1, 0)
+
+ 2 2 2
+ - 1/32 x DATA(-1, 1, 1) - 1/32 x DATA(-1, 0, 1) - 3/32 x DATA(1, -1, 1)
+
+ 2 2
+ - 1/32 x DATA(-1, -1, 1) + 3/32 x DATA(0, -1, 1)
+
+ 2 2
+ - 1/32 x DATA(-1, 0, -1) + 3/32 x DATA(0, 0, -1)
+
+ 2 2 2
+ - 3/32 x DATA(1, 0, -1) + 3/32 x DATA(0, 0, 0) - 3/32 x DATA(1, 0, 0)
+
+ 2 2 2
+ + 1/32 x DATA(2, 0, 1) + 1/32 x DATA(2, 1, 0) + 1/32 x DATA(2, 2, 1)
+
+ 2 2 2
+ + 1/32 x DATA(2, 2, -1) + 1/32 x DATA(2, -1, 2) - 1/32 x DATA(-1, 2, 0)
+
+ 2 2 2
+ + 3/32 x DATA(0, 2, 0) + 1/32 x DATA(2, -1, 0) + 1/32 x DATA(2, 0, 0)
+
+ 2 2 2
+ - 3/32 x DATA(1, 2, 2) + 1/32 x DATA(2, 2, 2) - 3/32 x DATA(1, 1, 2)
+
+ 2 2 2
+ - 3/32 x DATA(1, 0, 1) + 1/32 x DATA(2, -1, -1) + 1/32 x DATA(2, 0, -1)
+
+ 2 2 2
+ + 1/32 x DATA(2, 1, 1) - 1/32 x DATA(-1, 2, 1) + 3/32 x DATA(0, 2, 1)
+
+ 2 2 2
+ - 3/32 x DATA(1, 2, 1) + 1/32 x DATA(2, -1, 1) - 3/32 x DATA(1, -1, -1)
+
+ 2 2 2
+ - 3/32 x DATA(1, 2, 0) + 1/32 x DATA(2, 2, 0) + 3/32 x DATA(0, 1, 0)
+
+ 2 2
+ - 3/32 x DATA(1, 1, 0) + 3/32 x DATA(0, 0, 1)
+
+ - 9/1000 y z DATA(0, -1, -1) - 9/1000 y z DATA(1, 2, -1)
+
+ 27
+ - 9/1000 y z DATA(2, 1, -1) + ---- y z DATA(-1, 2, -1)
+ 1000
+
+ + 9/1000 y z DATA(0, 2, -1) + 9/1000 y z DATA(2, 1, 2)
+
+ 27
+ - ---- y z DATA(-1, 2, 2) - 9/1000 y z DATA(0, 2, 2)
+ 1000
+
+ - 3/1000 y z DATA(1, 0, 2) - 9/1000 y z DATA(2, 0, 2)
+
+ - 9/1000 y z DATA(-1, 1, 2) - 3/1000 y z DATA(0, 1, 2)
+
+ - 9/1000 y z DATA(1, -1, 2) + 9/1000 y z DATA(-1, 0, 2)
+
+ 27
+ + 3/1000 y z DATA(0, 0, 2) + ---- y z DATA(-1, -1, 2)
+ 1000
+
+ + 9/1000 y z DATA(0, -1, 2) + 3/80 x y DATA(0, -1, 2)
+
+ + 9/1000 y z DATA(-1, 1, -1) + 3/1000 y z DATA(0, 1, -1)
+
+ - 3/1000 y z DATA(1, 1, -1) - 9/1000 y z DATA(-1, -1, 0)
+
+ - 3/1000 y z DATA(0, -1, 0) + 3/1000 y z DATA(1, -1, 0)
+
+ - 3/1000 y z DATA(-1, 0, 0) + 3/1000 y z DATA(-1, 1, 0)
+
+ - 3/1000 y z DATA(-1, 1, 1) + 3/1000 y z DATA(-1, 0, 1)
+
+ - 3/1000 y z DATA(1, -1, 1) + 9/1000 y z DATA(-1, -1, 1)
+
+ + 3/1000 y z DATA(0, -1, 1) - 9/1000 y z DATA(-1, 0, -1)
+
+ - 3/1000 y z DATA(0, 0, -1) + 3/1000 y z DATA(1, 0, -1)
+
+ - 1/1000 y z DATA(0, 0, 0) + 1/1000 y z DATA(1, 0, 0)
+
+ - 3/1000 y z DATA(2, 0, 1) - 3/1000 y z DATA(2, 1, 0)
+
+ 27
+ + 9/1000 y z DATA(2, 2, 1) - ---- y z DATA(2, 2, -1)
+ 1000
+
+ 27
+ - ---- y z DATA(2, -1, 2) + 9/1000 y z DATA(-1, 2, 0)
+ 1000
+
+ + 3/1000 y z DATA(0, 2, 0) + 9/1000 y z DATA(2, -1, 0)
+
+ + 3/1000 y z DATA(2, 0, 0) + 9/1000 y z DATA(1, 2, 2)
+
+ 27
+ + ---- y z DATA(2, 2, 2) + 3/1000 y z DATA(1, 1, 2)
+ 1000
+
+ 27
+ - 1/1000 y z DATA(1, 0, 1) + ---- y z DATA(2, -1, -1)
+ 1000
+
+ + 9/1000 y z DATA(2, 0, -1) + 3/1000 y z DATA(2, 1, 1)
+
+ - 9/1000 y z DATA(-1, 2, 1) - 3/1000 y z DATA(0, 2, 1)
+
+ + 3/1000 y z DATA(1, 2, 1) - 9/1000 y z DATA(2, -1, 1)
+
+ + 9/1000 y z DATA(1, -1, -1) - 3/1000 y z DATA(1, 2, 0)
+
+ - 9/1000 y z DATA(2, 2, 0) + 1/1000 y z DATA(0, 1, 0)
+
+ - 1/1000 y z DATA(1, 1, 0) + 1/1000 y z DATA(0, 0, 1)
+
+ + 1/80 x y DATA(1, 0, -1) + 1/80 x y DATA(0, 0, 0)
+
+ + 1/80 x y DATA(1, 0, 0) - 1/80 x y DATA(2, 0, 1) + 1/80 x y DATA(2, 1, 0)
+
+ + 3/80 x y DATA(2, 2, 1) + 3/80 x y DATA(2, 2, -1)
+
+ - 3/80 x y DATA(2, -1, 2) + 3/80 x y DATA(-1, 2, 0)
+
+ - 3/80 x y DATA(0, 2, 0) - 3/80 x y DATA(2, -1, 0)
+
+ - 1/80 x y DATA(2, 0, 0) - 3/80 x y DATA(1, 2, 2) + 3/80 x y DATA(2, 2, 2)
+
+ - 1/80 x y DATA(1, 1, 2) + 1/80 x y DATA(1, 0, 1)
+
+ - 3/80 x y DATA(2, -1, -1) - 1/80 x y DATA(2, 0, -1)
+
+ + 1/80 x y DATA(2, 1, 1) + 3/80 x y DATA(-1, 2, 1)
+
+ - 3/80 x y DATA(0, 2, 1) - 3/80 x y DATA(1, 2, 1)
+
+ - 3/80 x y DATA(2, -1, 1) + 3/80 x y DATA(1, -1, -1)
+
+ - 3/80 x y DATA(1, 2, 0) + 3/80 x y DATA(2, 2, 0) - 1/80 x y DATA(0, 1, 0)
+
+ - 1/80 x y DATA(1, 1, 0) + 1/80 x y DATA(0, 0, 1) - 1/80 x y DATA(0, 1, 1)
+
+ - 1/80 x y DATA(1, 1, 1) - 3/80 x y DATA(-1, -1, -1)
+
+ + 3/80 x y DATA(0, -1, -1) - 3/80 x y DATA(1, 2, -1)
+
+ + 1/80 x y DATA(2, 1, -1) + 3/80 x y DATA(-1, 2, -1)
+
+ - 3/80 x y DATA(0, 2, -1) + 1/80 x y DATA(2, 1, 2)
+
+ + 3/80 x y DATA(-1, 2, 2) - 3/80 x y DATA(0, 2, 2)
+
+ + 1/80 x y DATA(1, 0, 2) - 1/80 x y DATA(2, 0, 2)
+
+ + 1/80 x y DATA(-1, 1, 2) - 1/80 x y DATA(0, 1, 2)
+
+ + 3/80 x y DATA(1, -1, 2) - 1/80 x y DATA(-1, 0, 2)
+
+ + 1/80 x y DATA(0, 0, 2) - 3/80 x y DATA(-1, -1, 2)
+
+ - 3/80 x z DATA(-1, 1, -1) - 3/80 x z DATA(1, 1, 2)
+
+ 2
+ + 1/80 x z DATA(2, 1, 1) + 3/160 y DATA(-1, 0, 1)
+
+ 27
+ + 1/1000 y z DATA(1, 1, 1) - ---- y z DATA(-1, -1, -1)
+ 1000
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=292509640, alloc=3734868, time=26.43
+bytes used=293520416, alloc=3734868, time=26.50
+bytes used=294520568, alloc=3734868, time=26.57
+bytes used=295528296, alloc=3734868, time=26.65
+bytes used=296554384, alloc=3734868, time=26.73
+bytes used=297558604, alloc=3865916, time=26.80
+bytes used=298558744, alloc=4259060, time=26.88
+bytes used=299563588, alloc=4717728, time=26.95
+ 47 2 27 147
+[COEFF(-1, -1, -1) = - 3/80 x z - ---- - 3/80 x y - 1/32 x - ---- y z + ---- z
+ 1500 1000 2000
+
+ 147 2 2
+ + ---- y + 1/10 x - 3/160 y - 3/160 z , COEFF(0, -1, -1) = 3/80 x y
+ 2000
+
+ 2 13 2 2
+ - 1/2000 z - 1/160 y + 3/80 x z - -- x + 3/32 x - 9/1000 y z - 1/160 z
+ 80
+
+ 39 2
+ - 1/2000 y - ----, COEFF(1, -1, -1) = 1/40 x + 3/80 x y + 1/160 y
+ 4000
+
+ 37 2 2 157 37
+ - ---- y + 9/1000 y z + 1/160 z - 3/32 x + ---- + 3/80 x z - ---- z,
+ 1000 2000 1000
+
+ 2 2
+ COEFF(2, -1, -1) = - 9/250 z + 3/160 y + 1/32 x - 3/80 x z - 3/80 x y
+
+ 2 27 449
+ - 9/250 y + 3/160 z + 3/80 x + ---- y z - -----, COEFF(-1, 0, -1) =
+ 1000 12000
+
+ 607 2 129
+ - 9/1000 y z - 1/2000 y - 3/80 x z - ----- - 1/32 x + ---- z - 1/80 x y
+ 12000 2000
+
+ 2 2 17
+ + 7/80 x - 3/160 z + 3/160 y , COEFF(0, 0, -1) = - 7/2000 z - ---- y
+ 2000
+
+ 2 2 2 49
+ - 1/160 z + 1/80 x y + 3/32 x + 1/160 y - ---- - 3/1000 y z + 3/80 x z
+ 2000
+
+ 2
+ - 3/20 x, COEFF(1, 0, -1) = - 1/250 y + 3/80 x + 3/1000 y z + 1/160 z
+
+ 17 2 2 323
+ - --- z - 3/32 x - 1/160 y + ---- + 1/80 x y + 3/80 x z, COEFF(2, 0, -1)
+ 500 4000
+
+ 17 2 27
+ = 9/1000 y z - ---- + 3/160 z - 1/80 x y - 3/80 x z - ---- z + 1/40 x
+ 3000 1000
+
+ 2 2 13 2
+ + 1/32 x - 3/160 y + ---- y, COEFF(-1, 1, -1) = - 3/160 z + 3/40 x
+ 1000
+
+ 111 2 2 97
+ + 1/80 x y + ---- z + 3/160 y + 9/1000 y z - 3/80 x z - 1/32 x - ----
+ 2000 3000
+
+ 37 2 2 11
+ - ---- y, COEFF(0, 1, -1) = 3/32 x + 1/160 y + 3/1000 y z - -- x
+ 1000 80
+
+ 13 2 107
+ - ---- z - 1/160 z - 1/80 x y - 1/250 y - ---- + 3/80 x z,
+ 2000 4000
+
+ 33 2 2
+ COEFF(1, 1, -1) = ---- y - 3/1000 y z + 3/80 x z - 3/32 x + 1/160 z
+ 2000
+
+ 2 31 141 2
+ - 1/160 y - 1/80 x y + 1/20 x - ---- z + ----, COEFF(2, 1, -1) = 3/160 z
+ 1000 2000
+
+ 137 49
+ - 3/80 x z - ----- - 9/500 z - 9/1000 y z + 1/80 x y + 1/80 x + ---- y
+ 12000 2000
+
+ 2 2 2 93
+ + 1/32 x - 3/160 y , COEFF(-1, 2, -1) = - 3/80 x z - 1/32 x + ---- z
+ 2000
+
+ 2 27 281 2
+ - 9/250 y + 1/16 x - 3/160 y + 3/80 x y + ---- y z + ----- - 3/160 z ,
+ 1000 12000
+
+ 19 2 13 2
+ COEFF(0, 2, -1) = - ---- z - 1/160 z - 1/8 x + ---- y + 3/32 x - 3/80 x y
+ 2000 1000
+
+ 2 33
+ + 3/80 x z - 1/160 y - ---- + 9/1000 y z, COEFF(1, 2, -1) = 3/80 x z
+ 2000
+
+ 2 191 2 49
+ - 3/32 x - 7/250 z - 3/80 x y + ---- + 1/160 z + ---- y + 1/16 x
+ 4000 2000
+
+ 2
+ - 9/1000 y z + 1/160 y , COEFF(2, 2, -1) = - 3/2000 y - 3/80 x z
+
+ 27 2 2 41 2
+ - ---- y z + 3/160 y - 9/1000 z + 3/160 z - --- + 3/80 x y + 1/32 x ,
+ 1000 750
+
+ 607 129
+ COEFF(-1, -1, 0) = - ----- + 7/80 x - 1/80 x z - 1/2000 z + ---- y
+ 12000 2000
+
+ 2 2 2
+ - 9/1000 y z - 3/80 x y - 1/32 x + 3/160 z - 3/160 y , COEFF(0, -1, 0)
+
+ 2 2 2 49
+ = - 1/160 y - 3/20 x + 1/160 z + 3/32 x + 1/80 x z - 3/1000 y z - ----
+ 2000
+
+ 17 17
+ - ---- z + 3/80 x y - 7/2000 y, COEFF(1, -1, 0) = - --- y + 3/1000 y z
+ 2000 500
+
+ 2 323 2
+ + 3/80 x + 1/160 y + ---- - 1/250 z + 3/80 x y + 1/80 x z - 3/32 x
+ 4000
+
+ 2 27 2 17
+ - 1/160 z , COEFF(2, -1, 0) = - ---- y - 3/80 x y + 1/32 x - ----
+ 1000 3000
+
+ 2 13 2
+ + 9/1000 y z - 3/160 z + ---- z - 1/80 x z + 1/40 x + 3/160 y ,
+ 1000
+
+ 2 2
+ COEFF(-1, 0, 0) = - 1/32 x - 3/1000 y z - 1/80 x z - 1/80 x y + 3/160 z
+
+ 2 437
+ + 3/40 x - 7/2000 z + 3/160 y - ---- - 7/2000 y, COEFF(0, 0, 0) =
+ 6000
+
+ 19 19 11 2
+ - 1/1000 y z + 1/80 x z - ---- z - ---- y + 1/80 x y - -- x + 1/160 y
+ 2000 2000 80
+
+ 2 161 2 2 2
+ + 1/160 z - ---- + 3/32 x , COEFF(1, 0, 0) = - 3/32 x - 1/160 y
+ 4000
+
+ 2
+ - 1/160 z + 1/1000 y z + 1/20 x + 1/80 x y + 1/80 x z - 3/1000 z
+
+ 21 349 2
+ - 3/1000 y + ---, COEFF(2, 0, 0) = ----- + 2/125 y - 1/80 x z - 3/160 z
+ 250 12000
+
+ 2 2
+ - 3/160 y + 1/32 x - 1/80 x y + 3/1000 y z + 1/80 x + 2/125 z,
+
+ 2 2
+ COEFF(-1, 1, 0) = - 1/80 x z - 1/32 x + 3/160 y + 1/80 x y + 1/16 x
+
+ 13 691 17 2
+ - ---- z - ----- - --- y + 3/160 z + 3/1000 y z, COEFF(0, 1, 0) =
+ 2000 12000 500
+
+ 2 87
+ 1/1000 y z - 3/1000 y - 1/8 x + 3/32 x - 1/80 x y - ---- + 1/80 x z
+ 2000
+
+ 2 21 2 31 2 299
+ + 1/160 z - ---- z + 1/160 y , COEFF(1, 1, 0) = ---- y - 1/160 z + ----
+ 2000 2000 4000
+
+ 2 2
+ + 1/16 x - 1/160 y - 1/80 x y + 1/80 x z - 1/1000 y z - 3/32 x - 1/500 z
+
+ 2 43 2
+ , COEFF(2, 1, 0) = - 3/160 z - 3/1000 y z + 1/80 x y + ---- y + 1/32 x
+ 2000
+
+ 19 79 2 2
+ + ---- z + ---- - 1/80 x z - 3/160 y , COEFF(-1, 2, 0) = - 1/32 x
+ 1000 3000
+
+ 27 2 2 19
+ - ---- y + 3/80 x y - 3/160 y + 3/160 z - ---- z + 9/1000 y z - 1/80 x z
+ 1000 2000
+
+ 29 23 137
+ - ---- + 1/20 x, COEFF(0, 2, 0) = - 9/80 x - ---- z + 2/125 y - ----
+ 6000 2000 4000
+
+ 2 2 2
+ + 1/80 x z - 1/160 y + 1/160 z - 3/80 x y + 3/32 x + 3/1000 y z,
+
+ 53 2 2 2
+ COEFF(1, 2, 0) = ---- + 1/160 y - 3/32 x - 1/1000 z - 1/160 z + 1/80 x z
+ 1000
+
+ 43 2
+ + 3/40 x - 3/80 x y + ---- y - 3/1000 y z, COEFF(2, 2, 0) = 1/32 x
+ 2000
+
+ 167 11 21 2
+ - ----- + --- z - 1/80 x z - ---- y + 3/80 x y - 1/80 x + 3/160 y
+ 12000 500 2000
+
+ 2 111 2 97
+ - 9/1000 y z - 3/160 z , COEFF(-1, -1, 1) = ---- y - 3/160 y - ----
+ 2000 3000
+
+ 2 37 2
+ + 3/160 z + 1/80 x z - ---- z + 9/1000 y z - 3/80 x y - 1/32 x + 3/40 x,
+ 1000
+
+ 11 107 2
+ COEFF(0, -1, 1) = 3/80 x y - 1/250 z - -- x - ---- + 1/160 z + 3/1000 y z
+ 80 4000
+
+ 2 13 2
+ - 1/160 y - ---- y - 1/80 x z + 3/32 x , COEFF(1, -1, 1) = - 1/80 x z
+ 2000
+
+ 33 2 2 31
+ + 1/20 x + ---- z - 3/1000 y z - 3/32 x + 1/160 y - ---- y + 3/80 x y
+ 2000 1000
+
+ 2 141
+ - 1/160 z + ----, COEFF(2, -1, 1) = - 9/500 y + 1/80 x z - 9/1000 y z
+ 2000
+
+ 2 49 137 2 2
+ - 3/160 z + ---- z - ----- + 1/32 x + 3/160 y + 1/80 x - 3/80 x y,
+ 2000 12000
+
+ 691 2
+ COEFF(-1, 0, 1) = 1/16 x - ----- + 3/1000 y z + 1/80 x z - 1/32 x
+ 12000
+
+ 2 2 17 13
+ - 1/80 x y + 3/160 y + 3/160 z - --- z - ---- y, COEFF(0, 0, 1) =
+ 500 2000
+
+ 21 2 2
+ - ---- y - 3/1000 z - 1/8 x + 1/1000 y z + 1/160 z + 1/160 y + 1/80 x y
+ 2000
+
+ 87 2 2
+ - 1/80 x z - ---- + 3/32 x , COEFF(1, 0, 1) = - 1/1000 y z - 3/32 x
+ 2000
+
+ 31 2 299 2
+ - 1/500 y + 1/16 x + ---- z - 1/80 x z - 1/160 z + ---- - 1/160 y
+ 2000 4000
+
+ 43 79
+ + 1/80 x y, COEFF(2, 0, 1) = - 1/80 x y + 1/80 x z + ---- z + ----
+ 2000 3000
+
+ 19 2 2 2
+ + ---- y - 3/160 y + 1/32 x - 3/160 z - 3/1000 y z, COEFF(-1, 1, 1) =
+ 1000
+
+ 2 17 31 31
+ - 1/32 x + 1/20 x - --- - 3/1000 y z - ---- z + 1/80 x y - ---- y
+ 375 1000 1000
+
+ 2 2 2
+ + 1/80 x z + 3/160 z + 3/160 y , COEFF(0, 1, 1) = - 9/80 x + 1/160 z
+
+ 2 2 191
+ + 1/160 y - 1/500 y - 1/1000 y z + 3/32 x - 1/500 z - ---- - 1/80 x z
+ 4000
+
+ 2 133
+ - 1/80 x y, COEFF(1, 1, 1) = - 1/160 y + 3/40 x - 1/80 x y + ----
+ 2000
+
+ 2 29 2 29
+ - 1/80 x z - 1/160 z + 1/1000 y z + ---- z - 3/32 x + ---- y,
+ 2000 2000
+
+ 319 37 2 37
+ COEFF(2, 1, 1) = 3/1000 y z + ----- - 1/80 x + ---- z + 1/32 x + ---- y
+ 12000 2000 2000
+
+ 2 2
+ - 3/160 z + 1/80 x z + 1/80 x y - 3/160 y , COEFF(-1, 2, 1) = 3/80 x
+
+ 2 2
+ - 9/1000 y z - 3/160 y + 3/80 x y + 1/80 x z - 9/500 y + 3/160 z
+
+ 2 53 2
+ - 1/32 x + ----- - 7/250 z, COEFF(0, 2, 1) = 3/32 x - 3/1000 y z
+ 12000
+
+ 2 79 19 2
+ - 1/160 y - 1/80 x z - 1/10 x - ---- + ---- y + 1/160 z - 3/80 x y
+ 2000 1000
+
+ 2 183
+ - 1/1000 z, COEFF(1, 2, 1) = 3/1000 y z - 3/80 x y - 1/160 z + ----
+ 4000
+
+ 27 2 37 2
+ + ---- z - 3/32 x + 7/80 x + ---- y - 1/80 x z + 1/160 y , COEFF(2, 2, 1)
+ 2000 2000
+
+ 31 2 39 2
+ = ---- z + 3/80 x y + 3/160 y - ---- y + 9/1000 y z - 4/375 - 3/160 z
+ 2000 2000
+
+ 2 2
+ + 1/80 x z - 1/40 x + 1/32 x , COEFF(-1, -1, 2) = - 9/250 z - 3/160 y
+
+ 27 281 2 2 93
+ + ---- y z + ----- - 1/32 x - 3/160 z + 1/16 x + ---- y - 3/80 x y
+ 1000 12000 2000
+
+ 13 2
+ + 3/80 x z, COEFF(0, -1, 2) = 9/1000 y z + 3/80 x y + ---- z - 1/160 z
+ 1000
+
+ 33 19 2 2
+ - 3/80 x z - ---- - ---- y - 1/160 y + 3/32 x - 1/8 x, COEFF(1, -1, 2)
+ 2000 2000
+
+ 49 2 2 2
+ = ---- z - 9/1000 y z - 7/250 y - 3/32 x + 1/160 y + 1/160 z - 3/80 x z
+ 2000
+
+ 191 27
+ + ---- + 3/80 x y + 1/16 x, COEFF(2, -1, 2) = - 9/1000 y - ---- y z
+ 4000 1000
+
+ 2 2 2 41
+ + 3/160 z + 3/80 x z + 3/160 y + 1/32 x - 3/80 x y - --- - 3/2000 z,
+ 750
+
+ 2 29 2
+ COEFF(-1, 0, 2) = - 1/32 x - ---- + 9/1000 y z + 3/160 y + 1/20 x
+ 6000
+
+ 27 2 19
+ - ---- z - 3/160 z + 3/80 x z - 1/80 x y - ---- y, COEFF(0, 0, 2) =
+ 1000 2000
+
+ 2 137 2 23
+ 3/1000 y z + 3/32 x - ---- - 9/80 x + 1/160 y - ---- y - 3/80 x z
+ 4000 2000
+
+ 2 2
+ - 1/160 z + 1/80 x y + 2/125 z, COEFF(1, 0, 2) = 1/80 x y - 3/32 x
+
+ 2 2 43
+ - 3/80 x z - 3/1000 y z - 1/1000 y - 1/160 y + 1/160 z + 3/40 x + ---- z
+ 2000
+
+ 53 2 11
+ + ----, COEFF(2, 0, 2) = - 1/80 x y - 3/160 y + 3/80 x z + --- y
+ 1000 500
+
+ 2 2 167 21
+ + 1/32 x + 3/160 z - ----- - 9/1000 y z - ---- z - 1/80 x,
+ 12000 2000
+
+ 2
+ COEFF(-1, 1, 2) = 3/80 x - 9/500 z - 9/1000 y z + 3/160 y - 7/250 y
+
+ 2 2 53
+ + 1/80 x y + 3/80 x z - 1/32 x - 3/160 z + -----, COEFF(0, 1, 2) =
+ 12000
+
+ 79 2 2 2
+ - ---- - 3/1000 y z + 3/32 x - 3/80 x z - 1/10 x - 1/160 z + 1/160 y
+ 2000
+
+ 19 2
+ + ---- z - 1/80 x y - 1/1000 y, COEFF(1, 1, 2) = 1/160 z - 1/80 x y
+ 1000
+
+ 37 183 27 2 2
+ + ---- z + ---- + ---- y + 7/80 x - 3/32 x - 1/160 y + 3/1000 y z
+ 2000 4000 2000
+
+ 2 39 2
+ - 3/80 x z, COEFF(2, 1, 2) = - 3/160 y - ---- z + 1/32 x + 3/80 x z
+ 2000
+
+ 2 31
+ + 1/80 x y - 4/375 + 9/1000 y z + 3/160 z - 1/40 x + ---- y,
+ 2000
+
+ 27 2
+ COEFF(-1, 2, 2) = - 9/1000 z - ---- y z + 3/80 x y - 1/32 x + 1/40 x
+ 1000
+
+ 2 2 307
+ - 3/160 y + 3/80 x z - 9/1000 y - 3/160 z + ----, COEFF(0, 2, 2) =
+ 6000
+
+ 129 2 11 2 11
+ - 3/80 x z - ---- - 1/160 y - 3/80 x y + --- y + 3/32 x - 7/80 x + --- z
+ 4000 500 500
+
+ 2 31
+ - 9/1000 y z - 1/160 z , COEFF(1, 2, 2) = - 3/80 x z + ---- z + 9/1000 y z
+ 2000
+
+ 2 13 2 2 31
+ - 3/80 x y - 3/32 x + --- + 1/160 z + 1/160 y + 1/10 x + ---- y,
+ 500 2000
+
+ 2 539 2 2
+ COEFF(2, 2, 2) = 3/80 x y + 3/160 y - ----- + 1/32 x + 3/160 z
+ 12000
+
+ 57 57 27
+ + 3/80 x z - ---- z - ---- y + ---- y z - 3/80 x]
+ 2000 2000 1000
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c");
+bytes used=300564184, alloc=4717728, time=27.04
+bytes used=301564600, alloc=4717728, time=27.12
+bytes used=302564920, alloc=4717728, time=27.21
+bytes used=303565140, alloc=4717728, time=27.40
+bytes used=304565332, alloc=4717728, time=27.48
+bytes used=305598508, alloc=4717728, time=27.57
+bytes used=306602936, alloc=4717728, time=27.65
+bytes used=307632852, alloc=4717728, time=27.73
+bytes used=308655888, alloc=4717728, time=27.84
+bytes used=309666652, alloc=4717728, time=27.95
+bytes used=310666852, alloc=4717728, time=28.19
+bytes used=311667052, alloc=4717728, time=28.37
+bytes used=312667728, alloc=4717728, time=28.43
+bytes used=313667976, alloc=4717728, time=28.50
+bytes used=314668188, alloc=4717728, time=28.56
+bytes used=315668424, alloc=4717728, time=28.63
+bytes used=316668580, alloc=4717728, time=28.75
+bytes used=317677720, alloc=4717728, time=28.86
+bytes used=318678104, alloc=4717728, time=29.00
+bytes used=319678292, alloc=4717728, time=29.13
+bytes used=320687152, alloc=4717728, time=29.27
+bytes used=321687340, alloc=4717728, time=29.38
+bytes used=322688756, alloc=4717728, time=29.48
+bytes used=323689024, alloc=4717728, time=29.72
+bytes used=324689236, alloc=4717728, time=30.01
+bytes used=325689492, alloc=4717728, time=30.10
+bytes used=326689780, alloc=4717728, time=30.17
+bytes used=327690072, alloc=4717728, time=30.24
+bytes used=328690264, alloc=4717728, time=30.31
+bytes used=329690556, alloc=4717728, time=30.45
+bytes used=330690816, alloc=4717728, time=30.60
+bytes used=331691040, alloc=4717728, time=30.69
+bytes used=332691372, alloc=4717728, time=31.13
+bytes used=333691776, alloc=4717728, time=31.22
+bytes used=334691968, alloc=4717728, time=31.29
+bytes used=335692212, alloc=4717728, time=31.36
+bytes used=336692404, alloc=4717728, time=31.43
+bytes used=337692616, alloc=4717728, time=31.60
+bytes used=338692800, alloc=4717728, time=31.70
+bytes used=339692976, alloc=4717728, time=32.13
+bytes used=340693224, alloc=4717728, time=32.21
+bytes used=341693548, alloc=4717728, time=32.28
+bytes used=342693744, alloc=4717728, time=32.35
+bytes used=343694008, alloc=4717728, time=32.50
+bytes used=344694208, alloc=4717728, time=32.61
+bytes used=345694624, alloc=4717728, time=33.02
+bytes used=346695224, alloc=4717728, time=33.09
+bytes used=347695392, alloc=4717728, time=33.24
+>
+# d/dy
+> simplify( diff(interp_3d_cube_order3_smooth0,y) );
+bytes used=348695592, alloc=4717728, time=33.33
+bytes used=349695760, alloc=4717728, time=33.40
+bytes used=350695988, alloc=4717728, time=33.47
+bytes used=351696308, alloc=4717728, time=33.54
+bytes used=352696764, alloc=4717728, time=33.61
+bytes used=353696916, alloc=4717728, time=33.69
+bytes used=354697100, alloc=4717728, time=33.76
+bytes used=355697224, alloc=4717728, time=33.84
+157 323 141
+---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+2000 4000 2000
+
+ 607 437 691
+ - ----- DATA(-1, -1, 0) - ---- DATA(0, -1, 0) - ----- DATA(1, -1, 0)
+ 12000 6000 12000
+
+ 49 323 141
+ - ---- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 2000 4000 2000
+
+ 107 17 97
+ - ---- DATA(-1, 0, 1) - --- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 4000 375 3000
+
+ 691 39 49
+ - ----- DATA(0, -1, 1) - ---- DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 12000 4000 2000
+
+ 107 161 87
+ - ---- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0)
+ 4000 4000 2000
+
+ 21 299 87
+ + --- DATA(0, 1, 0) + ---- DATA(1, 1, 0) - ---- DATA(0, 0, 1)
+ 250 4000 2000
+
+ 191 299 133
+ - ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 4000 4000 2000
+
+ 47 607 137
+ - ---- DATA(-1, -1, -1) - ----- DATA(0, -1, -1) - ----- DATA(1, 2, -1)
+ 1500 12000 12000
+
+ 191 449 17
+ + ---- DATA(2, 1, -1) - ----- DATA(-1, 2, -1) - ---- DATA(0, 2, -1)
+ 4000 12000 3000
+
+ 281 33 183
+ + ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1) + ---- DATA(2, 1, 1)
+ 12000 2000 4000
+
+ 137 79 319
+ - ----- DATA(-1, 2, 1) + ---- DATA(0, 2, 1) + ----- DATA(1, 2, 1)
+ 12000 3000 12000
+
+ 53 79 97
+ + ----- DATA(2, -1, 1) - ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1)
+ 12000 2000 3000
+
+ 79 167 53
+ + ---- DATA(1, 2, 0) - ----- DATA(2, 2, 0) + ---- DATA(2, 1, 0)
+ 3000 12000 1000
+
+ 17 349 29
+ - ---- DATA(-1, 2, 0) + ----- DATA(0, 2, 0) - ---- DATA(2, -1, 0)
+ 3000 12000 6000
+
+ 137 41
+ - ---- DATA(2, 0, 0) - --- DATA(2, 2, -1) - 4/375 DATA(1, 2, 2)
+ 4000 750
+
+ 539 183 13
+ - ----- DATA(2, 2, 2) + ---- DATA(1, 1, 2) + --- DATA(2, 1, 2)
+ 12000 4000 500
+
+ 41 167 79
+ - --- DATA(-1, 2, 2) - ----- DATA(0, 2, 2) - ---- DATA(1, 0, 2)
+ 750 12000 2000
+
+ 129 191 53
+ - ---- DATA(2, 0, 2) + ---- DATA(-1, 1, 2) + ---- DATA(0, 1, 2)
+ 4000 4000 1000
+
+ 53 307 33
+ + ----- DATA(1, -1, 2) + ---- DATA(2, -1, 2) - ---- DATA(-1, 0, 2)
+ 12000 6000 2000
+
+ 137 19
+ - ---- DATA(0, 0, 2) - 9/1000 x DATA(2, -1, 2) + ---- x DATA(2, 0, 1)
+ 4000 1000
+
+ 43 281
+ + ---- x DATA(2, 1, 0) - 3/2000 x DATA(2, 2, -1) + ----- DATA(-1, -1, 2)
+ 2000 12000
+
+ 29 37
+ - ---- DATA(0, -1, 2) - 4/375 DATA(2, 2, 1) - ---- x DATA(-1, 1, -1)
+ 6000 1000
+
+ + 3/80 x y DATA(-1, 1, 1) + 1/80 x y DATA(0, 0, -1)
+
+ - 9/1000 x z DATA(-1, -1, 0) - 3/1000 x z DATA(2, 1, 0)
+
+ - 9/1000 x z DATA(-1, 2, 1) - 3/1000 x z DATA(0, 2, 1)
+
+ - 3/1000 x z DATA(0, 1, 2) + 9/1000 x z DATA(2, 1, 2)
+
+ - 3/1000 x z DATA(-1, 1, 1) + 3/1000 x z DATA(0, 2, 0)
+
+ + 3/80 x y DATA(-1, 0, 1) + 3/1000 x z DATA(-1, 0, 1)
+
+ + 3/1000 x z DATA(-1, 1, 0) - 9/1000 x z DATA(2, 2, 0)
+
+ + 9/1000 x z DATA(2, -1, 0) - 1/80 x y DATA(1, 1, -1)
+
+ - 9/1000 x z DATA(0, 2, 2) + 3/1000 x z DATA(2, 0, 0)
+
+ + 9/1000 x z DATA(2, 2, 1) + 3/1000 x z DATA(0, 0, 2)
+
+ + 9/1000 x z DATA(2, 0, -1) - 9/1000 x z DATA(2, 1, -1)
+
+ + 1/80 x y DATA(0, 1, -1) + 3/1000 x z DATA(1, 0, -1)
+
+ - 9/1000 x z DATA(0, -1, -1) + 3/80 x y DATA(-1, 0, -1)
+
+ - 1/1000 x z DATA(0, 1, 1) - 9/1000 x z DATA(2, -1, 1)
+
+ 27
+ - ---- x z DATA(2, 2, -1) - 1/80 x y DATA(0, -1, 1)
+ 1000
+
+ + 1/80 x y DATA(1, -1, 0) + 3/1000 x z DATA(1, -1, 0)
+
+ 27
+ - 1/1000 x z DATA(0, 0, 0) + ---- x z DATA(-1, -1, 2)
+ 1000
+
+ 27
+ + 9/1000 x z DATA(0, -1, 2) + ---- x z DATA(-1, 2, -1)
+ 1000
+
+ 27
+ - 9/1000 x z DATA(-1, 1, 2) - ---- x z DATA(-1, -1, -1)
+ 1000
+
+ - 9/1000 x z DATA(1, 2, -1) + 3/1000 x z DATA(1, 2, 1)
+
+ + 1/1000 x z DATA(0, 1, 0) - 9/1000 x z DATA(-1, 0, -1)
+
+ 27
+ + 9/1000 x z DATA(1, 2, 2) + ---- x z DATA(2, 2, 2)
+ 1000
+
+ 27
+ - 3/1000 x z DATA(2, 0, 1) - ---- x z DATA(2, -1, 2)
+ 1000
+
+ 27
+ - ---- x z DATA(-1, 2, 2) - 3/1000 x z DATA(1, 2, 0)
+ 1000
+
+ - 9/1000 x z DATA(2, 0, 2) - 1/80 x y DATA(0, -1, 0)
+
+ + 9/1000 x z DATA(-1, 2, 0) - 1/1000 x z DATA(1, 1, 0)
+
+ + 1/1000 x z DATA(1, 0, 0) + 1/1000 x z DATA(0, 0, 1)
+
+ + 3/80 x y DATA(-1, 1, 0) + 1/1000 x z DATA(1, 1, 1)
+
+ 27
+ + ---- x z DATA(2, -1, -1) - 3/1000 x z DATA(1, 0, 2)
+ 1000
+
+ - 9/1000 x z DATA(1, -1, 2) - 3/80 x y DATA(-1, -1, 0)
+
+ + 9/1000 x z DATA(-1, 0, 2) + 9/1000 x z DATA(1, -1, -1)
+
+ + 3/1000 x z DATA(0, 1, -1) - 3/1000 x z DATA(0, 0, -1)
+
+ - 3/1000 x z DATA(-1, 0, 0) - 3/1000 x z DATA(1, -1, 1)
+
+ + 3/80 x y DATA(-1, 1, -1) - 1/80 y z DATA(0, 1, 1)
+
+ + 1/40 y DATA(2, -1, 2) + 1/80 y DATA(0, 2, 0) + 1/40 y DATA(-1, 2, 0)
+
+ 2 2
+ - 1/32 y DATA(1, -1, 1) - 1/32 y DATA(-1, -1, 1)
+
+ 2 2
+ - 1/32 y DATA(0, -1, 1) + 3/32 y DATA(-1, 0, -1)
+
+ 2 2 2
+ + 3/32 y DATA(0, 0, -1) + 3/32 y DATA(1, 0, -1) + 3/32 y DATA(0, 0, 0)
+
+ 2 2
+ + 3/32 y DATA(1, 0, 0) + 3/32 y DATA(2, 0, 1)
+
+ - 3/1000 x z DATA(0, -1, 0) + 9/1000 x z DATA(0, 2, -1)
+
+ + 3/1000 x z DATA(0, -1, 1) + 9/1000 x z DATA(-1, -1, 1)
+
+ - 1/1000 x z DATA(1, 0, 1) - 3/80 x y DATA(-1, -1, 1)
+
+ + 1/80 x y DATA(1, -1, 1) - 3/1000 x z DATA(1, 1, -1)
+
+ + 3/80 x y DATA(-1, 0, 0) + 7/80 y DATA(-1, -1, 0) + 1/16 y DATA(1, -1, 0)
+
+ - 3/20 y DATA(-1, 0, 0) + 3/80 y DATA(-1, 1, 0) + 1/20 y DATA(-1, 1, 1)
+
+ 11
+ - -- y DATA(-1, 0, 1) + 1/20 y DATA(1, -1, 1) + 3/40 y DATA(-1, -1, 1)
+ 80
+
+ 13
+ + 1/16 y DATA(0, -1, 1) - -- y DATA(-1, 0, -1) - 3/20 y DATA(0, 0, -1)
+ 80
+
+ 11 11
+ - -- y DATA(1, 0, -1) - -- y DATA(0, 0, 0) - 1/8 y DATA(1, 0, 0)
+ 80 80
+
+ - 1/10 y DATA(2, 0, 1) + 3/40 y DATA(2, 1, 0) - 1/40 y DATA(2, 2, 1)
+
+ + 3/40 y DATA(1, -1, -1) - 1/80 y DATA(2, 2, 0) + 1/20 y DATA(0, 1, 0)
+
+ + 1/16 y DATA(1, 1, 0) - 1/8 y DATA(0, 0, 1) + 1/16 y DATA(0, 1, 1)
+
+ + 3/40 y DATA(1, 1, 1) + 1/10 y DATA(-1, -1, -1) + 7/80 y DATA(0, -1, -1)
+
+ + 1/80 y DATA(1, 2, -1) + 1/16 y DATA(2, 1, -1) + 3/80 y DATA(-1, 2, -1)
+
+ + 1/40 y DATA(0, 2, -1) + 1/10 y DATA(2, 1, 2) - 1/80 y DATA(0, 2, 2)
+
+ - 1/10 y DATA(1, 0, 2) - 7/80 y DATA(2, 0, 2) + 1/16 y DATA(-1, 1, 2)
+
+ + 3/40 y DATA(0, 1, 2) + 3/80 y DATA(1, -1, 2) - 1/8 y DATA(-1, 0, 2)
+
+ - 9/80 y DATA(0, 0, 2) + 1/16 y DATA(-1, -1, 2) + 1/20 y DATA(0, -1, 2)
+
+ 37 17 31
+ - ---- z DATA(-1, 1, -1) - --- z DATA(0, 1, -1) - ---- z DATA(1, 1, -1)
+ 1000 500 1000
+
+ - 1/2000 z DATA(-1, -1, 0) - 7/2000 z DATA(0, -1, 0)
+
+ 13 17
+ - ---- z DATA(1, -1, 0) - ---- z DATA(-1, 0, 0) - 1/250 z DATA(-1, 1, 0)
+ 2000 2000
+
+ 33 31
+ + ---- z DATA(-1, 1, 1) - 1/250 z DATA(-1, 0, 1) - ---- z DATA(1, -1, 1)
+ 2000 1000
+
+ 37 17
+ - ---- z DATA(-1, -1, 1) - --- z DATA(0, -1, 1) - 1/2000 z DATA(-1, 0, -1)
+ 1000 500
+
+ 13 19
+ - 7/2000 z DATA(0, 0, -1) - ---- z DATA(1, 0, -1) - ---- z DATA(0, 0, 0)
+ 2000 2000
+
+ 21
+ - ---- z DATA(1, 0, 0) - 1/1000 z DATA(2, 0, 1) - 1/1000 z DATA(2, 1, 0)
+ 2000
+
+ 31
+ + ---- z DATA(2, 2, 1) - 9/1000 z DATA(2, 2, -1) - 9/1000 z DATA(2, -1, 2)
+ 2000
+
+ 13 19
+ + ---- z DATA(-1, 2, 0) + 2/125 z DATA(0, 2, 0) - ---- z DATA(2, -1, 0)
+ 1000 2000
+
+ 23 39 57
+ - ---- z DATA(2, 0, 0) - ---- z DATA(1, 2, 2) - ---- z DATA(2, 2, 2)
+ 2000 2000 2000
+
+ 37 93
+ + ---- z DATA(1, 1, 2) - 1/500 z DATA(1, 0, 1) + ---- z DATA(2, -1, -1)
+ 2000 2000
+
+ 19 27 49
+ - ---- z DATA(2, 0, -1) + ---- z DATA(2, 1, 1) + ---- z DATA(-1, 2, 1)
+ 2000 2000 2000
+
+ 43 33
+ + ---- z DATA(0, 2, 1) - 1/250 x DATA(0, 1, -1) + ---- x DATA(1, 1, -1)
+ 2000 2000
+
+ 129 2
+ + ---- x DATA(-1, -1, 0) + 3/40 y DATA(0, -1, 0) + 1/160 z DATA(1, 1, -1)
+ 2000
+
+ 2 2
+ + 3/160 z DATA(0, -1, 0) + 3/160 z DATA(1, -1, 0)
+
+ 2 2
+ + 1/160 z DATA(-1, 0, 0) - 1/160 z DATA(-1, 1, 0)
+
+ 2 2
+ - 1/160 z DATA(-1, 1, 1) + 1/160 z DATA(-1, 0, 1)
+
+ 2 2
+ + 3/160 z DATA(1, -1, 1) + 3/160 z DATA(-1, -1, 1)
+
+ 2 2
+ + 3/160 z DATA(0, -1, 1) - 1/160 z DATA(-1, 0, -1)
+
+ 2 2
+ - 1/160 z DATA(0, 0, -1) - 1/160 z DATA(1, 0, -1)
+
+ 2 2 2
+ + 1/160 z DATA(0, 0, 0) + 1/160 z DATA(1, 0, 0) + 1/160 z DATA(2, 0, 1)
+
+ 2 2
+ - 1/160 z DATA(2, 1, 0) - 3/160 z DATA(2, 2, 1)
+
+ 2 2
+ + 3/160 z DATA(2, 2, -1) - 3/160 z DATA(2, -1, 2)
+
+ 2 2
+ - 3/160 z DATA(-1, 2, 0) - 3/160 z DATA(0, 2, 0)
+
+ 2 2
+ + 3/160 z DATA(2, -1, 0) + 1/160 z DATA(2, 0, 0)
+
+ 2 2 2
+ + 3/160 z DATA(1, 2, 2) + 3/160 z DATA(2, 2, 2) + 1/160 z DATA(1, 1, 2)
+
+ 2 2
+ + 1/160 z DATA(1, 0, 1) - 3/160 z DATA(2, -1, -1)
+
+ 2 2
+ - 1/160 z DATA(2, 0, -1) - 1/160 z DATA(2, 1, 1)
+
+ 2 2
+ - 3/160 z DATA(-1, 2, 1) - 3/160 z DATA(0, 2, 1)
+
+ 2 2
+ - 3/160 z DATA(1, 2, 1) + 3/160 z DATA(2, -1, 1)
+
+ 2 2
+ - 3/160 z DATA(1, -1, -1) - 3/160 z DATA(1, 2, 0)
+
+ 2 2 2
+ - 3/160 z DATA(2, 2, 0) - 1/160 z DATA(0, 1, 0) - 1/160 z DATA(1, 1, 0)
+
+ 2 2 2
+ + 1/160 z DATA(0, 0, 1) - 1/160 z DATA(0, 1, 1) - 1/160 z DATA(1, 1, 1)
+
+ 2 2
+ - 3/160 z DATA(-1, -1, -1) - 3/160 z DATA(0, -1, -1)
+
+ 2 2
+ + 3/160 z DATA(1, 2, -1) + 1/160 z DATA(2, 1, -1)
+
+ 2 2
+ + 3/160 z DATA(-1, 2, -1) + 3/160 z DATA(0, 2, -1)
+
+ 2 2
+ + 1/160 z DATA(2, 1, 2) + 3/160 z DATA(-1, 2, 2)
+
+ 2 2 2
+ + 3/160 z DATA(0, 2, 2) - 1/160 z DATA(1, 0, 2) - 1/160 z DATA(2, 0, 2)
+
+ 2 2
+ + 1/160 z DATA(-1, 1, 2) + 1/160 z DATA(0, 1, 2)
+
+ 2 2
+ - 3/160 z DATA(1, -1, 2) - 1/160 z DATA(-1, 0, 2)
+
+ 2 2
+ - 1/160 z DATA(0, 0, 2) - 3/160 z DATA(-1, -1, 2)
+
+ 2
+ - 3/160 z DATA(0, -1, 2) + 1/40 y DATA(-1, 1, -1) + 3/80 y DATA(0, 1, -1)
+
+ 2
+ + 1/20 y DATA(1, 1, -1) + 3/160 z DATA(-1, -1, 0) + 7/80 y DATA(2, 1, 1)
+
+ - 1/80 y DATA(1, 2, 1) + 3/80 y DATA(2, -1, 1) - 7/2000 x DATA(0, -1, 0)
+
+ 17 17
+ - --- x DATA(1, -1, 0) - 7/2000 x DATA(-1, 0, 0) - --- x DATA(-1, 1, 0)
+ 500 500
+
+ 31 13 31
+ - ---- x DATA(-1, 1, 1) - ---- x DATA(-1, 0, 1) - ---- x DATA(1, -1, 1)
+ 1000 2000 1000
+
+ 111 13
+ + ---- x DATA(-1, -1, 1) - ---- x DATA(0, -1, 1)
+ 2000 2000
+
+ 17
+ - 1/2000 x DATA(-1, 0, -1) - ---- x DATA(0, 0, -1)
+ 2000
+
+ 19
+ - 1/250 x DATA(1, 0, -1) - ---- x DATA(0, 0, 0) - 3/1000 x DATA(1, 0, 0)
+ 2000
+
+ 39 27
+ - ---- x DATA(2, 2, 1) - ---- x DATA(-1, 2, 0) + 2/125 x DATA(0, 2, 0)
+ 2000 1000
+
+ 27 31
+ - ---- x DATA(2, -1, 0) + 2/125 x DATA(2, 0, 0) + ---- x DATA(1, 2, 2)
+ 1000 2000
+
+ 57 27
+ - ---- x DATA(2, 2, 2) + ---- x DATA(1, 1, 2) - 1/500 x DATA(1, 0, 1)
+ 2000 2000
+
+ 13 37
+ - 9/250 x DATA(2, -1, -1) + ---- x DATA(2, 0, -1) + ---- x DATA(2, 1, 1)
+ 1000 2000
+
+ 19 37
+ - 9/500 x DATA(-1, 2, 1) + ---- x DATA(0, 2, 1) + ---- x DATA(1, 2, 1)
+ 1000 2000
+
+ 37 43
+ - 9/500 x DATA(2, -1, 1) - ---- x DATA(1, -1, -1) + ---- x DATA(1, 2, 0)
+ 1000 2000
+
+ 21 31
+ - ---- x DATA(2, 2, 0) - 3/1000 x DATA(0, 1, 0) + ---- x DATA(1, 1, 0)
+ 2000 2000
+
+ 21 29
+ - ---- x DATA(0, 0, 1) - 1/500 x DATA(0, 1, 1) + ---- x DATA(1, 1, 1)
+ 2000 2000
+
+ 147
+ + ---- x DATA(-1, -1, -1) - 1/2000 x DATA(0, -1, -1)
+ 2000
+
+ 49 49
+ + ---- x DATA(1, 2, -1) + ---- x DATA(2, 1, -1) - 9/250 x DATA(-1, 2, -1)
+ 2000 2000
+
+ 13 31
+ + ---- x DATA(0, 2, -1) + ---- x DATA(2, 1, 2) - 9/1000 x DATA(-1, 2, 2)
+ 1000 2000
+
+ 11 11
+ + --- x DATA(0, 2, 2) - 1/1000 x DATA(1, 0, 2) + --- x DATA(2, 0, 2)
+ 500 500
+
+ - 7/250 x DATA(-1, 1, 2) - 1/1000 x DATA(0, 1, 2) - 7/250 x DATA(1, -1, 2)
+
+ 19 23 93
+ - ---- x DATA(-1, 0, 2) - ---- x DATA(0, 0, 2) + ---- x DATA(-1, -1, 2)
+ 2000 2000 2000
+
+ 19 2
+ - ---- x DATA(0, -1, 2) + 1/160 z DATA(-1, 1, -1)
+ 2000
+
+ 2 2
+ + 1/160 z DATA(0, 1, -1) + 1/80 y DATA(-1, 2, 1) - 1/160 x DATA(0, 1, 1)
+
+ 2 2
+ - 1/160 x DATA(1, 1, 1) - 3/160 x DATA(-1, -1, -1)
+
+ 2 2
+ + 3/160 x DATA(0, -1, -1) - 3/160 x DATA(1, 2, -1)
+
+ 2 2
+ + 1/160 x DATA(2, 1, -1) + 3/160 x DATA(-1, 2, -1)
+
+ 2 2
+ - 3/160 x DATA(0, 2, -1) + 1/160 x DATA(2, 1, 2)
+
+ 2 2
+ + 3/160 x DATA(-1, 2, 2) - 3/160 x DATA(0, 2, 2)
+
+ 2 2
+ + 1/160 x DATA(1, 0, 2) - 1/160 x DATA(2, 0, 2)
+
+ 2 2
+ + 1/160 x DATA(-1, 1, 2) - 1/160 x DATA(0, 1, 2)
+
+ 2 2
+ + 3/160 x DATA(1, -1, 2) - 1/160 x DATA(-1, 0, 2)
+
+ 2 2
+ + 1/160 x DATA(0, 0, 2) - 3/160 x DATA(-1, -1, 2)
+
+ 2 2 37
+ + 3/160 x DATA(0, -1, 2) - 3/32 y DATA(-1, 1, 2) + ---- z DATA(1, 2, 1)
+ 2000
+
+ 111 19
+ - 7/250 z DATA(2, -1, 1) + ---- z DATA(1, -1, -1) + ---- z DATA(1, 2, 0)
+ 2000 1000
+
+ 11
+ + --- z DATA(2, 2, 0) - 3/1000 z DATA(0, 1, 0) - 1/500 z DATA(1, 1, 0)
+ 500
+
+ 31 29
+ - 3/1000 z DATA(0, 0, 1) + ---- z DATA(0, 1, 1) + ---- z DATA(1, 1, 1)
+ 2000 2000
+
+ 147 129
+ + ---- z DATA(-1, -1, -1) + ---- z DATA(0, -1, -1)
+ 2000 2000
+
+ - 9/500 z DATA(1, 2, -1) - 7/250 z DATA(2, 1, -1)
+
+ 27 31
+ - 9/250 z DATA(-1, 2, -1) - ---- z DATA(0, 2, -1) + ---- z DATA(2, 1, 2)
+ 1000 2000
+
+ 21 19
+ - 3/2000 z DATA(-1, 2, 2) - ---- z DATA(0, 2, 2) + ---- z DATA(1, 0, 2)
+ 2000 1000
+
+ 11 49 43
+ + --- z DATA(2, 0, 2) + ---- z DATA(-1, 1, 2) + ---- z DATA(0, 1, 2)
+ 500 2000 2000
+
+ 13
+ - 9/500 z DATA(1, -1, 2) + ---- z DATA(-1, 0, 2) + 2/125 z DATA(0, 0, 2)
+ 1000
+
+ 27
+ - 9/250 z DATA(-1, -1, 2) - ---- z DATA(0, -1, 2)
+ 1000
+
+ 2 2
+ - 3/32 y DATA(-1, 1, -1) - 3/32 y DATA(0, 1, -1)
+
+ 2 2
+ - 3/32 y DATA(1, 1, -1) - 1/32 y DATA(-1, -1, 0)
+
+ 2 2 2
+ - 1/32 y DATA(0, -1, 0) - 1/32 y DATA(1, -1, 0) + 3/32 y DATA(-1, 0, 0)
+
+ 2 2
+ - 3/32 y DATA(-1, 1, 0) - 3/32 y DATA(-1, 1, 1) + 1/20 y DATA(2, -1, 0)
+
+ - 9/80 y DATA(2, 0, 0) - 1/40 y DATA(1, 2, 2) - 3/80 y DATA(2, 2, 2)
+
+ + 7/80 y DATA(1, 1, 2) - 9/80 y DATA(1, 0, 1) + 1/16 y DATA(2, -1, -1)
+
+ 2 2
+ - 1/8 y DATA(2, 0, -1) - 3/32 y DATA(2, 1, 0) + 1/32 y DATA(2, 2, 1)
+
+ 2 2 2
+ + 1/32 y DATA(2, 2, -1) - 1/32 y DATA(2, -1, 2) + 1/32 y DATA(-1, 2, 0)
+
+ 2 2 2
+ + 1/32 y DATA(0, 2, 0) - 1/32 y DATA(2, -1, 0) + 3/32 y DATA(2, 0, 0)
+
+ 2 2 2
+ + 1/32 y DATA(1, 2, 2) + 1/32 y DATA(2, 2, 2) - 3/32 y DATA(1, 1, 2)
+
+ 2 2 2
+ + 3/32 y DATA(1, 0, 1) - 1/32 y DATA(2, -1, -1) + 3/32 y DATA(2, 0, -1)
+
+ 2 2 2
+ - 3/32 y DATA(2, 1, 1) + 1/32 y DATA(-1, 2, 1) + 1/32 y DATA(0, 2, 1)
+
+ 2 2 2
+ + 1/32 y DATA(1, 2, 1) - 1/32 y DATA(2, -1, 1) - 1/32 y DATA(1, -1, -1)
+
+ 2 2 2
+ + 1/32 y DATA(1, 2, 0) + 1/32 y DATA(2, 2, 0) - 3/32 y DATA(0, 1, 0)
+
+ 2 2 2
+ - 3/32 y DATA(1, 1, 0) + 3/32 y DATA(0, 0, 1) - 3/32 y DATA(0, 1, 1)
+
+ 2 2
+ - 3/32 y DATA(1, 1, 1) - 1/32 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/32 y DATA(0, -1, -1) + 1/32 y DATA(1, 2, -1)
+
+ 2 2
+ - 3/32 y DATA(2, 1, -1) + 1/32 y DATA(-1, 2, -1)
+
+ 2 2 2
+ + 1/32 y DATA(0, 2, -1) - 3/32 y DATA(2, 1, 2) + 1/32 y DATA(-1, 2, 2)
+
+ 2 2 2
+ + 1/32 y DATA(0, 2, 2) + 3/32 y DATA(1, 0, 2) + 3/32 y DATA(2, 0, 2)
+
+ 2 2 2
+ - 3/32 y DATA(0, 1, 2) - 1/32 y DATA(1, -1, 2) + 3/32 y DATA(-1, 0, 2)
+
+ 2 2 2
+ + 3/32 y DATA(0, 0, 2) - 1/32 y DATA(-1, -1, 2) - 1/32 y DATA(0, -1, 2)
+
+ 2 2
+ + 1/160 x DATA(-1, 1, -1) - 1/160 x DATA(0, 1, -1)
+
+ 2 2
+ - 1/160 x DATA(1, 1, -1) - 3/160 x DATA(-1, -1, 0)
+
+ 2 2
+ + 3/160 x DATA(0, -1, 0) + 3/160 x DATA(1, -1, 0)
+
+ 2 2
+ - 1/160 x DATA(-1, 0, 0) + 1/160 x DATA(-1, 1, 0)
+
+ 2 2
+ + 1/160 x DATA(-1, 1, 1) - 1/160 x DATA(-1, 0, 1)
+
+ 2 2
+ + 3/160 x DATA(1, -1, 1) - 3/160 x DATA(-1, -1, 1)
+
+ 2 2
+ + 3/160 x DATA(0, -1, 1) - 1/160 x DATA(-1, 0, -1)
+
+ 2 2
+ + 1/160 x DATA(0, 0, -1) + 1/160 x DATA(1, 0, -1)
+
+ 2 2 2
+ + 1/160 x DATA(0, 0, 0) + 1/160 x DATA(1, 0, 0) - 1/160 x DATA(2, 0, 1)
+
+ 2 2
+ + 1/160 x DATA(2, 1, 0) + 3/160 x DATA(2, 2, 1)
+
+ 2 2
+ + 3/160 x DATA(2, 2, -1) - 3/160 x DATA(2, -1, 2)
+
+ 2 2
+ + 3/160 x DATA(-1, 2, 0) - 3/160 x DATA(0, 2, 0)
+
+ 2 2
+ - 3/160 x DATA(2, -1, 0) - 1/160 x DATA(2, 0, 0)
+
+ 2 2 2
+ - 3/160 x DATA(1, 2, 2) + 3/160 x DATA(2, 2, 2) - 1/160 x DATA(1, 1, 2)
+
+ 2 2
+ + 1/160 x DATA(1, 0, 1) - 3/160 x DATA(2, -1, -1)
+
+ 2 2
+ - 1/160 x DATA(2, 0, -1) + 1/160 x DATA(2, 1, 1)
+
+ 2 2
+ + 3/160 x DATA(-1, 2, 1) - 3/160 x DATA(0, 2, 1)
+
+ 2 2
+ - 3/160 x DATA(1, 2, 1) - 3/160 x DATA(2, -1, 1)
+
+ 2 2
+ + 3/160 x DATA(1, -1, -1) - 3/160 x DATA(1, 2, 0)
+
+ 2 2 2
+ + 3/160 x DATA(2, 2, 0) - 1/160 x DATA(0, 1, 0) - 1/160 x DATA(1, 1, 0)
+
+ 2
+ + 1/160 x DATA(0, 0, 1) - 3/80 y z DATA(0, -1, -1)
+
+ - 3/80 y z DATA(1, 2, -1) + 3/80 y z DATA(2, 1, -1)
+
+ - 3/80 y z DATA(-1, 2, -1) - 3/80 y z DATA(0, 2, -1)
+
+ - 3/80 y z DATA(2, 1, 2) + 3/80 y z DATA(-1, 2, 2)
+
+ + 3/80 y z DATA(0, 2, 2) - 3/80 y z DATA(1, 0, 2) - 3/80 y z DATA(2, 0, 2)
+
+ - 3/80 y z DATA(-1, 1, 2) - 3/80 y z DATA(0, 1, 2)
+
+ + 3/80 y z DATA(1, -1, 2) - 3/80 y z DATA(-1, 0, 2)
+
+ - 3/80 y z DATA(0, 0, 2) + 3/80 y z DATA(-1, -1, 2)
+
+ + 3/80 y z DATA(0, -1, 2) - 1/80 x y DATA(0, -1, 2)
+
+ + 3/80 y z DATA(-1, 1, -1) + 3/80 y z DATA(0, 1, -1)
+
+ + 3/80 y z DATA(1, 1, -1) - 1/80 y z DATA(-1, -1, 0)
+
+ - 1/80 y z DATA(0, -1, 0) - 1/80 y z DATA(1, -1, 0)
+
+ + 1/80 y z DATA(-1, 0, 0) + 1/80 y z DATA(-1, 1, 0)
+
+ - 1/80 y z DATA(-1, 1, 1) - 1/80 y z DATA(-1, 0, 1)
+
+ + 1/80 y z DATA(1, -1, 1) + 1/80 y z DATA(-1, -1, 1)
+
+ + 1/80 y z DATA(0, -1, 1) + 3/80 y z DATA(-1, 0, -1)
+
+ + 3/80 y z DATA(0, 0, -1) + 3/80 y z DATA(1, 0, -1)
+
+ + 1/80 y z DATA(0, 0, 0) + 1/80 y z DATA(1, 0, 0) - 1/80 y z DATA(2, 0, 1)
+
+ + 1/80 y z DATA(2, 1, 0) + 1/80 y z DATA(2, 2, 1)
+
+ - 3/80 y z DATA(2, 2, -1) + 3/80 y z DATA(2, -1, 2)
+
+ - 1/80 y z DATA(-1, 2, 0) - 1/80 y z DATA(0, 2, 0)
+
+ - 1/80 y z DATA(2, -1, 0) + 1/80 y z DATA(2, 0, 0)
+
+ + 3/80 y z DATA(1, 2, 2) + 3/80 y z DATA(2, 2, 2) - 3/80 y z DATA(1, 1, 2)
+
+ - 1/80 y z DATA(1, 0, 1) - 3/80 y z DATA(2, -1, -1)
+
+ + 3/80 y z DATA(2, 0, -1) - 1/80 y z DATA(2, 1, 1)
+
+ + 1/80 y z DATA(-1, 2, 1) + 1/80 y z DATA(0, 2, 1)
+
+ + 1/80 y z DATA(1, 2, 1) + 1/80 y z DATA(2, -1, 1)
+
+ - 3/80 y z DATA(1, -1, -1) - 1/80 y z DATA(1, 2, 0)
+
+ - 1/80 y z DATA(2, 2, 0) + 1/80 y z DATA(0, 1, 0) + 1/80 y z DATA(1, 1, 0)
+
+ - 1/80 y z DATA(0, 0, 1) - 1/80 x y DATA(1, 0, -1)
+
+ + 1/80 x y DATA(0, 0, 0) - 1/80 x y DATA(1, 0, 0) - 3/80 x y DATA(2, 0, 1)
+
+ - 3/80 x y DATA(2, 1, 0) + 3/80 x y DATA(2, 2, 1)
+
+ + 3/80 x y DATA(2, 2, -1) + 3/80 x y DATA(2, -1, 2)
+
+ - 3/80 x y DATA(-1, 2, 0) - 1/80 x y DATA(0, 2, 0)
+
+ + 3/80 x y DATA(2, -1, 0) - 3/80 x y DATA(2, 0, 0)
+
+ + 1/80 x y DATA(1, 2, 2) + 3/80 x y DATA(2, 2, 2) - 1/80 x y DATA(1, 1, 2)
+
+ - 1/80 x y DATA(1, 0, 1) + 3/80 x y DATA(2, -1, -1)
+
+ - 3/80 x y DATA(2, 0, -1) - 3/80 x y DATA(2, 1, 1)
+
+ - 3/80 x y DATA(-1, 2, 1) - 1/80 x y DATA(0, 2, 1)
+
+ + 1/80 x y DATA(1, 2, 1) + 3/80 x y DATA(2, -1, 1)
+
+ + 1/80 x y DATA(1, -1, -1) + 1/80 x y DATA(1, 2, 0)
+
+ + 3/80 x y DATA(2, 2, 0) + 1/80 x y DATA(0, 1, 0) - 1/80 x y DATA(1, 1, 0)
+
+ + 1/80 x y DATA(0, 0, 1) + 1/80 x y DATA(0, 1, 1) - 1/80 x y DATA(1, 1, 1)
+
+ - 3/80 x y DATA(-1, -1, -1) - 1/80 x y DATA(0, -1, -1)
+
+ + 1/80 x y DATA(1, 2, -1) - 3/80 x y DATA(2, 1, -1)
+
+ - 3/80 x y DATA(-1, 2, -1) - 1/80 x y DATA(0, 2, -1)
+
+ - 3/80 x y DATA(2, 1, 2) - 3/80 x y DATA(-1, 2, 2)
+
+ - 1/80 x y DATA(0, 2, 2) - 1/80 x y DATA(1, 0, 2) - 3/80 x y DATA(2, 0, 2)
+
+ + 3/80 x y DATA(-1, 1, 2) + 1/80 x y DATA(0, 1, 2)
+
+ + 1/80 x y DATA(1, -1, 2) + 3/80 x y DATA(-1, 0, 2)
+
+ + 1/80 x y DATA(0, 0, 2) - 3/80 x y DATA(-1, -1, 2)
+
+ + 9/1000 x z DATA(-1, 1, -1) + 3/1000 x z DATA(1, 1, 2)
+
+ 2
+ + 3/1000 x z DATA(2, 1, 1) + 3/32 y DATA(-1, 0, 1)
+
+ - 1/80 y z DATA(1, 1, 1) - 3/80 y z DATA(-1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=356706516, alloc=4717728, time=33.92
+bytes used=357731512, alloc=4717728, time=33.99
+bytes used=358764208, alloc=4717728, time=34.06
+bytes used=359791044, alloc=4717728, time=34.13
+bytes used=360791404, alloc=4717728, time=34.21
+bytes used=361799184, alloc=4717728, time=34.28
+bytes used=362799356, alloc=4717728, time=34.36
+bytes used=363809692, alloc=4717728, time=34.43
+ 47 2 2 27
+[COEFF(-1, -1, -1) = - ---- - 3/80 y z - 1/32 y - 3/160 z - ---- x z
+ 1500 1000
+
+ 147 147 2
+ - 3/80 x y + 1/10 y + ---- z + ---- x - 3/160 x , COEFF(0, -1, -1) =
+ 2000 2000
+
+ 129 2
+ - 3/80 y z - 1/80 x y - 1/2000 x + ---- z - 9/1000 x z + 7/80 y - 3/160 z
+ 2000
+
+ 2 607 2
+ - 1/32 y - ----- + 3/160 x , COEFF(1, -1, -1) = - 3/80 y z + 9/1000 x z
+ 12000
+
+ 37 2 2 111 97
+ - ---- x + 3/160 x + 3/40 y - 3/160 z + ---- z + 1/80 x y - ----
+ 1000 2000 3000
+
+ 2 27 2 2
+ - 1/32 y , COEFF(2, -1, -1) = ---- x z - 3/80 y z - 1/32 y - 3/160 z
+ 1000
+
+ 93 281 2
+ - 9/250 x + ---- z + 1/16 y + ----- + 3/80 x y - 3/160 x ,
+ 2000 12000
+
+ 13 2 39
+ COEFF(-1, 0, -1) = - -- y - 1/160 x - 1/2000 z - 9/1000 x z - ----
+ 80 4000
+
+ 2 2
+ + 3/80 y z - 1/2000 x - 1/160 z + 3/80 x y + 3/32 y , COEFF(0, 0, -1) =
+
+ 2 17 49 2 2
+ - 1/160 z - ---- x - 7/2000 z - 3/20 y - ---- + 3/32 y + 1/160 x
+ 2000 2000
+
+ 2
+ - 3/1000 x z + 3/80 y z + 1/80 x y, COEFF(1, 0, -1) = - 1/80 x y + 3/32 y
+
+ 11 2 13 107
+ - 1/250 x + 3/80 y z - -- y + 3/1000 x z + 1/160 x - ---- z - ----
+ 80 2000 4000
+
+ 2 2 33 19 2
+ - 1/160 z , COEFF(2, 0, -1) = - 1/8 y - 1/160 x - ---- - ---- z + 3/32 y
+ 2000 2000
+
+ 13 2
+ + ---- x - 1/160 z - 3/80 x y + 9/1000 x z + 3/80 y z, COEFF(-1, 1, -1)
+ 1000
+
+ 2 2
+ = 3/80 y z + 1/160 z + 3/80 x y + 1/160 x + 9/1000 x z + 1/40 y
+
+ 2 37 157 37 17 323
+ - 3/32 y - ---- z + ---- - ---- x, COEFF(0, 1, -1) = - --- z + ----
+ 1000 2000 1000 500 4000
+
+ 2 2
+ + 1/80 x y + 3/80 y z + 3/80 y - 1/160 x - 1/250 x + 1/160 z
+
+ 2 2 33
+ + 3/1000 x z - 3/32 y , COEFF(1, 1, -1) = - 3/32 y + ---- x - 3/1000 x z
+ 2000
+
+ 2 141 31 2
+ + 1/160 z + ---- + 3/80 y z - ---- z - 1/80 x y + 1/20 y - 1/160 x ,
+ 2000 1000
+
+ 2 2 191 2
+ COEFF(2, 1, -1) = 1/160 z + 1/160 x + ---- - 3/80 x y - 3/32 y
+ 4000
+
+ 49
+ - 9/1000 x z + ---- x - 7/250 z + 3/80 y z + 1/16 y, COEFF(-1, 2, -1) =
+ 2000
+
+ 27 2 2
+ 3/80 y + ---- x z + 3/160 z - 9/250 z + 3/160 x - 3/80 y z - 3/80 x y
+ 1000
+
+ 2 449
+ + 1/32 y - ----- - 9/250 x, COEFF(0, 2, -1) = 1/40 y - 1/80 x y
+ 12000
+
+ 17 27 13 2 2
+ + 9/1000 x z - ---- - ---- z + ---- x + 1/32 y - 3/80 y z - 3/160 x
+ 3000 1000 1000
+
+ 2 49 2
+ + 3/160 z , COEFF(1, 2, -1) = ---- x + 1/80 y - 9/1000 x z + 1/32 y
+ 2000
+
+ 2 137 2
+ - 3/160 x - 3/80 y z - 9/500 z + 1/80 x y - ----- + 3/160 z ,
+ 12000
+
+ 2 2 41
+ COEFF(2, 2, -1) = 1/32 y - 3/2000 x - 9/1000 z + 3/160 z - --- - 3/80 y z
+ 750
+
+ 2 27
+ + 3/160 x - ---- x z + 3/80 x y, COEFF(-1, -1, 0) = - 9/1000 x z
+ 1000
+
+ 2 2 129 607
+ + 3/160 z + 7/80 y - 1/2000 z - 1/32 y + ---- x - ----- - 1/80 y z
+ 2000 12000
+
+ 2 2
+ - 3/80 x y - 3/160 x , COEFF(0, -1, 0) = - 7/2000 x - 1/80 y z - 1/32 y
+
+ 2 437 2
+ - 1/80 x y - 3/1000 x z + 3/160 x - ---- - 7/2000 z + 3/40 y + 3/160 z ,
+ 6000
+
+ 13 2 17 2
+ COEFF(1, -1, 0) = 1/80 x y - ---- z + 1/16 y - 1/32 y - --- x + 3/160 z
+ 2000 500
+
+ 2 691
+ + 3/160 x - 1/80 y z - ----- + 3/1000 x z, COEFF(2, -1, 0) = 1/20 y
+ 12000
+
+ 2 27 2 29 19
+ + 3/80 x y - 3/160 x - ---- x + 3/160 z - ---- - 1/80 y z - ---- z
+ 1000 6000 2000
+
+ 2 49
+ + 9/1000 x z - 1/32 y , COEFF(-1, 0, 0) = - 3/20 y - 3/1000 x z - ----
+ 2000
+
+ 2 2 2 17
+ + 3/32 y - 1/160 x - 7/2000 x + 3/80 x y + 1/160 z - ---- z + 1/80 y z,
+ 2000
+
+ 2 2 161 11
+ COEFF(0, 0, 0) = 1/80 y z + 1/160 z + 1/160 x - ---- - 1/1000 x z - -- y
+ 4000 80
+
+ 19 2 19
+ - ---- z + 1/80 x y + 3/32 y - ---- x, COEFF(1, 0, 0) = - 3/1000 x
+ 2000 2000
+
+ 2 87 2
+ - 1/80 x y + 1/160 z - 1/8 y - ---- + 1/80 y z + 1/1000 x z + 1/160 x
+ 2000
+
+ 2 21 23 2 137
+ + 3/32 y - ---- z, COEFF(2, 0, 0) = 3/1000 x z - ---- z + 3/32 y - ----
+ 2000 2000 4000
+
+ 2 2
+ + 1/160 z - 3/80 x y - 1/160 x + 2/125 x + 1/80 y z - 9/80 y,
+
+ 323 2 17
+ COEFF(-1, 1, 0) = ---- - 3/32 y + 3/80 y - 1/250 z - --- x + 1/80 y z
+ 4000 500
+
+ 2 2 2
+ + 1/160 x - 1/160 z + 3/80 x y + 3/1000 x z, COEFF(0, 1, 0) = - 1/160 x
+
+ 2 21
+ + 1/80 x y + 1/1000 x z - 1/160 z + --- - 3/1000 x - 3/1000 z + 1/20 y
+ 250
+
+ 2 31 2
+ - 3/32 y + 1/80 y z, COEFF(1, 1, 0) = ---- x - 1/80 x y - 3/32 y
+ 2000
+
+ 2 2 299
+ - 1/1000 x z - 1/160 z + 1/16 y - 1/160 x - 1/500 z + ---- + 1/80 y z,
+ 4000
+
+ 2 43
+ COEFF(2, 1, 0) = - 3/32 y + 1/80 y z - 1/1000 z - 3/80 x y + ---- x
+ 2000
+
+ 2 2 53
+ + 1/160 x - 1/160 z + ---- + 3/40 y - 3/1000 x z, COEFF(-1, 2, 0) =
+ 1000
+
+ 2 17 2 13
+ 3/160 x + 9/1000 x z - 3/80 x y - ---- + 1/40 y + 1/32 y + ---- z
+ 3000 1000
+
+ 27 2 2 349
+ - 1/80 y z - ---- x - 3/160 z , COEFF(0, 2, 0) = - 3/160 z + -----
+ 1000 12000
+
+ 2 2
+ - 1/80 y z + 2/125 x - 3/160 x + 3/1000 x z + 1/32 y + 1/80 y - 1/80 x y
+
+ 43 19 2 2 79
+ + 2/125 z, COEFF(1, 2, 0) = ---- x + ---- z + 1/32 y - 3/160 x + ----
+ 2000 1000 3000
+
+ 2 167
+ - 1/80 y z + 1/80 x y - 3/1000 x z - 3/160 z , COEFF(2, 2, 0) = - -----
+ 12000
+
+ 11 21 2 2
+ + 3/80 x y + --- z - ---- x - 9/1000 x z - 3/160 z + 3/160 x - 1/80 y z
+ 500 2000
+
+ 2 37 111
+ - 1/80 y + 1/32 y , COEFF(-1, -1, 1) = - ---- z + ---- x + 3/40 y
+ 1000 2000
+
+ 2 97 2 2
+ + 3/160 z - ---- - 1/32 y - 3/80 x y + 1/80 y z + 9/1000 x z - 3/160 x ,
+ 3000
+
+ 2 13 2 2 691
+ COEFF(0, -1, 1) = 3/160 z - ---- x + 3/160 x - 1/32 y - 1/80 x y - -----
+ 2000 12000
+
+ 17
+ + 1/80 y z - --- z + 1/16 y + 3/1000 x z, COEFF(1, -1, 1) = 1/20 y
+ 500
+
+ 2 31 2 31 17 2
+ + 3/160 z - ---- x + 3/160 x - ---- z - --- - 1/32 y + 1/80 x y
+ 1000 1000 375
+
+ 53
+ - 3/1000 x z + 1/80 y z, COEFF(2, -1, 1) = - 9/500 x + ----- + 1/80 y z
+ 12000
+
+ 2 2 2
+ + 3/80 y - 9/1000 x z + 3/80 x y - 3/160 x - 7/250 z + 3/160 z - 1/32 y
+
+ 2 2 11
+ , COEFF(-1, 0, 1) = 3/32 y + 1/160 z - 1/250 z + 3/1000 x z - -- y
+ 80
+
+ 2 13 107
+ - 1/80 y z - 1/160 x + 3/80 x y - ---- x - ----, COEFF(0, 0, 1) =
+ 2000 4000
+
+ 87 21 2 2 2
+ 1/80 x y - ---- - ---- x - 3/1000 z + 1/160 z + 1/160 x + 3/32 y
+ 2000 2000
+
+ 2
+ - 1/80 y z - 1/8 y + 1/1000 x z, COEFF(1, 0, 1) = - 1/500 z + 1/160 x
+
+ 191 2
+ - ---- - 9/80 y - 1/500 x - 1/80 x y - 1/80 y z - 1/1000 x z + 3/32 y
+ 4000
+
+ 2 19 2
+ + 1/160 z , COEFF(2, 0, 1) = - 3/80 x y + ---- x + 3/32 y - 1/10 y
+ 1000
+
+ 2 79 2
+ - 1/160 x - ---- + 1/160 z - 3/1000 x z - 1/80 y z - 1/1000 z,
+ 2000
+
+ 31 33
+ COEFF(-1, 1, 1) = - 3/1000 x z - ---- x - 1/80 y z + 3/80 x y + ---- z
+ 1000 2000
+
+ 2 2 141 2 299
+ - 3/32 y + 1/20 y + 1/160 x + ---- - 1/160 z , COEFF(0, 1, 1) = ----
+ 2000 4000
+
+ 2 2 2
+ - 1/160 z + 1/80 x y - 3/32 y - 1/160 x - 1/1000 x z - 1/500 x
+
+ 31 2
+ - 1/80 y z + 1/16 y + ---- z, COEFF(1, 1, 1) = - 1/80 y z - 1/160 z
+ 2000
+
+ 2 133 29 29 2
+ - 1/160 x + ---- + ---- x + ---- z - 3/32 y + 3/40 y + 1/1000 x z
+ 2000 2000 2000
+
+ 183 2 27
+ - 1/80 x y, COEFF(2, 1, 1) = - 3/80 x y + ---- - 3/32 y + ---- z
+ 4000 2000
+
+ 2 2 37
+ - 1/160 z + 3/1000 x z + 1/160 x - 1/80 y z + ---- x + 7/80 y,
+ 2000
+
+ 137 2
+ COEFF(-1, 2, 1) = - ----- - 3/160 z + 1/80 y z - 9/500 x - 9/1000 x z
+ 12000
+
+ 2 49 2
+ - 3/80 x y + 1/80 y + 1/32 y + ---- z + 3/160 x , COEFF(0, 2, 1) =
+ 2000
+
+ 2 2 2 43 79
+ 1/32 y - 3/160 z - 3/160 x - 3/1000 x z + 1/80 y z + ---- z + ----
+ 2000 3000
+
+ 19 2 37 319
+ - 1/80 x y + ---- x, COEFF(1, 2, 1) = - 3/160 z + ---- x + -----
+ 1000 2000 12000
+
+ 37 2 2
+ + 3/1000 x z + 1/80 y z + ---- z - 3/160 x + 1/32 y - 1/80 y + 1/80 x y,
+ 2000
+
+ 2 2 39 2
+ COEFF(2, 2, 1) = 1/32 y - 4/375 - 3/160 z - ---- x + 3/160 x + 3/80 x y
+ 2000
+
+ 31
+ + ---- z + 1/80 y z + 9/1000 x z - 1/40 y, COEFF(-1, -1, 2) = - 3/80 x y
+ 2000
+
+ 27 2 2 281 93
+ + ---- x z + 1/16 y - 1/32 y - 3/160 x + 3/80 y z + ----- + ---- x
+ 1000 12000 2000
+
+ 2 19 2
+ - 3/160 z - 9/250 z, COEFF(0, -1, 2) = - ---- x + 3/160 x + 9/1000 x z
+ 2000
+
+ 27 29 2 2
+ - 1/80 x y - ---- z - ---- - 1/32 y - 3/160 z + 1/20 y + 3/80 y z,
+ 1000 6000
+
+ 2 2
+ COEFF(1, -1, 2) = 1/80 x y - 7/250 x + 3/160 x + 3/80 y z - 3/160 z
+
+ 2 53
+ - 1/32 y - 9/1000 x z + 3/80 y + ----- - 9/500 z, COEFF(2, -1, 2) =
+ 12000
+
+ 2 2 307 2
+ 3/80 y z - 3/160 z - 3/160 x + 3/80 x y + ---- - 9/1000 z - 1/32 y
+ 6000
+
+ 27 19 2
+ - ---- x z - 9/1000 x + 1/40 y, COEFF(-1, 0, 2) = - ---- x - 1/160 z
+ 1000 2000
+
+ 13 2 2
+ - 1/8 y - 3/80 y z + 3/80 x y + ---- z + 3/32 y + 9/1000 x z - 1/160 x
+ 1000
+
+ 33 2
+ - ----, COEFF(0, 0, 2) = 1/80 x y - 3/80 y z + 3/1000 x z + 3/32 y
+ 2000
+
+ 23 137 2 2
+ - 9/80 y - ---- x - ---- - 1/160 z + 1/160 x + 2/125 z, COEFF(1, 0, 2)
+ 2000 4000
+
+ 2 79 2 2
+ = - 1/160 z - ---- - 1/10 y - 1/1000 x - 1/80 x y + 1/160 x + 3/32 y
+ 2000
+
+ 19 2
+ - 3/1000 x z - 3/80 y z + ---- z, COEFF(2, 0, 2) = - 3/80 y z - 1/160 z
+ 1000
+
+ 2 11 2 11
+ - 1/160 x - 3/80 x y - 7/80 y + --- x + 3/32 y - 9/1000 x z + --- z
+ 500 500
+
+ 129 191 2 2
+ - ----, COEFF(-1, 1, 2) = ---- - 3/32 y + 1/160 z - 3/80 y z
+ 4000 4000
+
+ 2 49
+ - 9/1000 x z + 1/16 y + 3/80 x y + 1/160 x - 7/250 x + ---- z,
+ 2000
+
+ 2 2
+ COEFF(0, 1, 2) = - 3/32 y - 1/1000 x + 1/80 x y + 3/40 y + 1/160 z
+
+ 2 53 43
+ - 1/160 x + ---- - 3/1000 x z - 3/80 y z + ---- z, COEFF(1, 1, 2) =
+ 1000 2000
+
+ 37 2 27 2 183
+ ---- z - 3/32 y + 7/80 y + ---- x - 1/80 x y - 3/80 y z + 1/160 z + ----
+ 2000 2000 4000
+
+ 2 2 31
+ + 3/1000 x z - 1/160 x , COEFF(2, 1, 2) = 1/160 z + ---- z - 3/80 x y
+ 2000
+
+ 2 13 2 31
+ - 3/32 y + --- + 1/160 x + 1/10 y + ---- x - 3/80 y z + 9/1000 x z,
+ 500 2000
+
+ 41 2 2
+ COEFF(-1, 2, 2) = - --- - 9/1000 x + 3/160 z + 3/160 x - 3/2000 z
+ 750
+
+ 2 27 21
+ - 3/80 x y + 1/32 y - ---- x z + 3/80 y z, COEFF(0, 2, 2) = - ---- z
+ 1000 2000
+
+ 2 167 2
+ - 1/80 x y + 1/32 y - ----- + 3/80 y z + 3/160 z - 1/80 y - 9/1000 x z
+ 12000
+
+ 11 2 2 31
+ + --- x - 3/160 x , COEFF(1, 2, 2) = - 1/40 y + 1/32 y - 4/375 + ---- x
+ 500 2000
+
+ 2 39 2
+ + 9/1000 x z - 3/160 x - ---- z + 3/80 y z + 3/160 z + 1/80 x y,
+ 2000
+
+ 57 539 2 27 2
+ COEFF(2, 2, 2) = - ---- z - ----- + 3/160 z + ---- x z + 1/32 y
+ 2000 12000 1000
+
+ 2 57
+ + 3/80 y z - 3/80 y + 3/80 x y + 3/160 x - ---- x]
+ 2000
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c");
+bytes used=364810272, alloc=4717728, time=34.51
+bytes used=365810424, alloc=4717728, time=34.59
+bytes used=366810580, alloc=4717728, time=34.65
+bytes used=367811016, alloc=4717728, time=34.79
+bytes used=368811188, alloc=4717728, time=34.88
+bytes used=369811440, alloc=4717728, time=34.96
+bytes used=370813480, alloc=4717728, time=35.03
+bytes used=371817488, alloc=4717728, time=35.12
+bytes used=372826340, alloc=4717728, time=35.21
+bytes used=373838552, alloc=4717728, time=35.30
+bytes used=374838740, alloc=4717728, time=35.39
+bytes used=375838936, alloc=4717728, time=35.82
+bytes used=376839612, alloc=4717728, time=35.90
+bytes used=377839848, alloc=4717728, time=35.96
+bytes used=378840024, alloc=4717728, time=36.03
+bytes used=379840216, alloc=4717728, time=36.09
+bytes used=380842516, alloc=4717728, time=36.17
+bytes used=381843240, alloc=4717728, time=36.29
+bytes used=382843432, alloc=4717728, time=36.41
+bytes used=383843632, alloc=4717728, time=36.55
+bytes used=384843832, alloc=4717728, time=36.70
+bytes used=385844040, alloc=4717728, time=36.82
+bytes used=386844212, alloc=4717728, time=36.91
+bytes used=387844404, alloc=4717728, time=36.99
+bytes used=388844556, alloc=4717728, time=37.54
+bytes used=389844732, alloc=4717728, time=37.62
+bytes used=390844984, alloc=4717728, time=37.69
+bytes used=391845216, alloc=4717728, time=37.76
+bytes used=392845436, alloc=4717728, time=37.83
+bytes used=393848320, alloc=4717728, time=37.96
+bytes used=394853020, alloc=4717728, time=38.12
+bytes used=395853204, alloc=4717728, time=38.22
+bytes used=396865572, alloc=4717728, time=38.66
+bytes used=397865736, alloc=4717728, time=38.90
+bytes used=398866088, alloc=4717728, time=38.98
+bytes used=399866508, alloc=4717728, time=39.05
+bytes used=400866884, alloc=4717728, time=39.12
+bytes used=401867112, alloc=4717728, time=39.19
+bytes used=402867264, alloc=4717728, time=39.37
+bytes used=403868072, alloc=4717728, time=39.47
+bytes used=404868264, alloc=4717728, time=40.02
+bytes used=405868812, alloc=4717728, time=40.09
+bytes used=406869312, alloc=4717728, time=40.16
+bytes used=407869464, alloc=4717728, time=40.23
+bytes used=408869632, alloc=4717728, time=40.40
+bytes used=409869812, alloc=4717728, time=40.57
+bytes used=410870536, alloc=4717728, time=41.11
+bytes used=411870700, alloc=4717728, time=41.17
+bytes used=412870896, alloc=4717728, time=41.32
+>
+# d/dz
+> simplify( diff(interp_3d_cube_order3_smooth0,z) );
+bytes used=413871060, alloc=4717728, time=41.44
+bytes used=414871212, alloc=4717728, time=41.51
+bytes used=415871428, alloc=4717728, time=41.58
+bytes used=416872572, alloc=4717728, time=41.65
+bytes used=417873696, alloc=4717728, time=41.72
+bytes used=418874172, alloc=4717728, time=41.79
+bytes used=419874396, alloc=4717728, time=41.85
+ 97 691 17
+- ---- DATA(-1, 1, -1) - ----- DATA(0, 1, -1) - --- DATA(1, 1, -1)
+ 3000 12000 375
+
+ 39 49 107
+ - ---- DATA(-1, -1, 0) - ---- DATA(0, -1, 0) - ---- DATA(1, -1, 0)
+ 4000 2000 4000
+
+ 49 107 141
+ - ---- DATA(-1, 0, 0) - ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 2000 4000 2000
+
+ 323 141 157
+ + ---- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1)
+ 4000 2000 2000
+
+ 323 607 437
+ + ---- DATA(0, -1, 1) - ----- DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 4000 12000 6000
+
+ 691 161 87
+ - ----- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0)
+ 12000 4000 2000
+
+ 87 191 21
+ - ---- DATA(0, 1, 0) - ---- DATA(1, 1, 0) + --- DATA(0, 0, 1)
+ 2000 4000 250
+
+ 299 299 133
+ + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 4000 4000 2000
+
+ 43
+ + ---- y DATA(0, 2, 1) - 3/2000 y DATA(-1, 2, 2) - 9/1000 y DATA(2, 2, -1)
+ 2000
+
+ 19 47 607
+ + ---- y DATA(1, 2, 0) - ---- DATA(-1, -1, -1) - ----- DATA(0, -1, -1)
+ 1000 1500 12000
+
+ 53 53 281
+ + ----- DATA(1, 2, -1) + ----- DATA(2, 1, -1) + ----- DATA(-1, 2, -1)
+ 12000 12000 12000
+
+ 29 281 29
+ - ---- DATA(0, 2, -1) + ----- DATA(2, -1, -1) - ---- DATA(2, 0, -1)
+ 6000 12000 6000
+
+ 183 191 53
+ + ---- DATA(2, 1, 1) + ---- DATA(-1, 2, 1) + ---- DATA(0, 2, 1)
+ 4000 4000 1000
+
+ 183 191 53
+ + ---- DATA(1, 2, 1) + ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1)
+ 4000 4000 1000
+
+ 97 79 129
+ - ---- DATA(1, -1, -1) - ---- DATA(1, 2, 0) - ---- DATA(2, 2, 0)
+ 3000 2000 4000
+
+ 79 33 137
+ - ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0) - ---- DATA(0, 2, 0)
+ 2000 2000 4000
+
+ 33 137 307
+ - ---- DATA(2, -1, 0) - ---- DATA(2, 0, 0) + ---- DATA(2, 2, -1)
+ 2000 4000 6000
+
+ 539 319
+ - 4/375 DATA(1, 2, 2) - ----- DATA(2, 2, 2) + ----- DATA(1, 1, 2)
+ 12000 12000
+
+ 41 167
+ - 4/375 DATA(2, 1, 2) - --- DATA(-1, 2, 2) - ----- DATA(0, 2, 2)
+ 750 12000
+
+ 79 167 137
+ + ---- DATA(1, 0, 2) - ----- DATA(2, 0, 2) - ----- DATA(-1, 1, 2)
+ 3000 12000 12000
+
+ 79 137 41
+ + ---- DATA(0, 1, 2) - ----- DATA(1, -1, 2) - --- DATA(2, -1, 2)
+ 3000 12000 750
+
+ 17 349
+ - ---- DATA(-1, 0, 2) + ----- DATA(0, 0, 2) - 3/2000 x DATA(2, -1, 2)
+ 3000 12000
+
+ 43 19
+ + ---- x DATA(2, 0, 1) + ---- x DATA(2, 1, 0) - 9/1000 x DATA(2, 2, -1)
+ 2000 1000
+
+ 449 17 13
+ - ----- DATA(-1, -1, 2) - ---- DATA(0, -1, 2) + --- DATA(2, 2, 1)
+ 12000 3000 500
+
+ 111
+ + ---- x DATA(-1, 1, -1) - 3/1000 x y DATA(-1, 1, 1)
+ 2000
+
+ - 3/1000 x y DATA(0, 0, -1) + 3/80 x z DATA(-1, -1, 0)
+
+ - 3/80 x z DATA(2, 1, 0) + 3/80 x z DATA(-1, 2, 1)
+
+ + 1/80 x z DATA(0, 2, 1) - 1/80 x z DATA(0, 1, 2) + 3/80 x z DATA(2, 1, 2)
+
+ + 3/80 x z DATA(-1, 1, 1) + 1/80 x z DATA(0, 2, 0)
+
+ + 3/1000 x y DATA(-1, 0, 1) + 3/80 x z DATA(-1, 0, 1)
+
+ + 3/80 x z DATA(-1, 1, 0) - 3/80 x z DATA(2, 2, 0)
+
+ - 3/80 x z DATA(2, -1, 0) - 3/1000 x y DATA(1, 1, -1)
+
+ - 1/80 x z DATA(0, 2, 2) - 3/80 x z DATA(2, 0, 0) - 3/80 x z DATA(2, 2, 1)
+
+ - 1/80 x z DATA(0, 0, 2) + 3/80 x z DATA(2, 0, -1)
+
+ + 3/80 x z DATA(2, 1, -1) + 3/1000 x y DATA(0, 1, -1)
+
+ + 1/80 x z DATA(1, 0, -1) - 1/80 x z DATA(0, -1, -1)
+
+ - 9/1000 x y DATA(-1, 0, -1) + 1/80 x z DATA(0, 1, 1)
+
+ - 3/80 x z DATA(2, -1, 1) + 3/80 x z DATA(2, 2, -1)
+
+ + 3/1000 x y DATA(0, -1, 1) + 3/1000 x y DATA(1, -1, 0)
+
+ - 1/80 x z DATA(1, -1, 0) + 1/80 x z DATA(0, 0, 0)
+
+ - 3/80 x z DATA(-1, -1, 2) - 1/80 x z DATA(0, -1, 2)
+
+ - 3/80 x z DATA(-1, 2, -1) - 3/80 x z DATA(-1, 1, 2)
+
+ - 3/80 x z DATA(-1, -1, -1) + 1/80 x z DATA(1, 2, -1)
+
+ - 1/80 x z DATA(1, 2, 1) + 1/80 x z DATA(0, 1, 0)
+
+ - 3/80 x z DATA(-1, 0, -1) + 1/80 x z DATA(1, 2, 2)
+
+ + 3/80 x z DATA(2, 2, 2) - 3/80 x z DATA(2, 0, 1)
+
+ + 3/80 x z DATA(2, -1, 2) - 3/80 x z DATA(-1, 2, 2)
+
+ - 1/80 x z DATA(1, 2, 0) + 3/80 x z DATA(2, 0, 2)
+
+ - 3/1000 x y DATA(0, -1, 0) + 3/80 x z DATA(-1, 2, 0)
+
+ - 1/80 x z DATA(1, 1, 0) - 1/80 x z DATA(1, 0, 0) + 1/80 x z DATA(0, 0, 1)
+
+ + 3/1000 x y DATA(-1, 1, 0) - 1/80 x z DATA(1, 1, 1)
+
+ + 3/80 x z DATA(2, -1, -1) + 1/80 x z DATA(1, 0, 2)
+
+ + 1/80 x z DATA(1, -1, 2) - 9/1000 x y DATA(-1, -1, 0)
+
+ - 3/80 x z DATA(-1, 0, 2) + 1/80 x z DATA(1, -1, -1)
+
+ - 1/80 x z DATA(0, 1, -1) - 1/80 x z DATA(0, 0, -1)
+
+ + 3/80 x z DATA(-1, 0, 0) - 1/80 x z DATA(1, -1, 1)
+
+ + 9/1000 x y DATA(-1, 1, -1) - 1/80 y z DATA(0, 1, 1)
+
+ 13
+ - 9/1000 y DATA(2, -1, 2) + 2/125 y DATA(0, 2, 0) + ---- y DATA(-1, 2, 0)
+ 1000
+
+ 2 2
+ + 1/160 y DATA(1, -1, 1) + 1/160 y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/160 y DATA(0, -1, 1) + 3/160 y DATA(-1, 0, -1)
+
+ 2 2
+ + 3/160 y DATA(0, 0, -1) + 3/160 y DATA(1, 0, -1)
+
+ 2 2 2
+ + 1/160 y DATA(0, 0, 0) + 1/160 y DATA(1, 0, 0) - 1/160 y DATA(2, 0, 1)
+
+ + 1/80 x z DATA(0, -1, 0) - 1/80 x z DATA(0, 2, -1)
+
+ + 1/80 x z DATA(0, -1, 1) + 3/80 x z DATA(-1, -1, 1)
+
+ - 1/80 x z DATA(1, 0, 1) + 9/1000 x y DATA(-1, -1, 1)
+
+ - 3/1000 x y DATA(1, -1, 1) + 1/80 x z DATA(1, 1, -1)
+
+ - 3/1000 x y DATA(-1, 0, 0) - 1/2000 y DATA(-1, -1, 0)
+
+ 13 17
+ - ---- y DATA(1, -1, 0) - ---- y DATA(-1, 0, 0) - 1/250 y DATA(-1, 1, 0)
+ 2000 2000
+
+ 33 31
+ + ---- y DATA(-1, 1, 1) - 1/250 y DATA(-1, 0, 1) - ---- y DATA(1, -1, 1)
+ 2000 1000
+
+ 37 17
+ - ---- y DATA(-1, -1, 1) - --- y DATA(0, -1, 1) - 1/2000 y DATA(-1, 0, -1)
+ 1000 500
+
+ 13 19
+ - 7/2000 y DATA(0, 0, -1) - ---- y DATA(1, 0, -1) - ---- y DATA(0, 0, 0)
+ 2000 2000
+
+ 21
+ - ---- y DATA(1, 0, 0) - 1/1000 y DATA(2, 0, 1) - 1/1000 y DATA(2, 1, 0)
+ 2000
+
+ 31 111 11
+ + ---- y DATA(2, 2, 1) + ---- y DATA(1, -1, -1) + --- y DATA(2, 2, 0)
+ 2000 2000 500
+
+ - 3/1000 y DATA(0, 1, 0) - 1/500 y DATA(1, 1, 0) - 3/1000 y DATA(0, 0, 1)
+
+ 31 29 147
+ + ---- y DATA(0, 1, 1) + ---- y DATA(1, 1, 1) + ---- y DATA(-1, -1, -1)
+ 2000 2000 2000
+
+ 129
+ + ---- y DATA(0, -1, -1) - 9/500 y DATA(1, 2, -1) - 7/250 y DATA(2, 1, -1)
+ 2000
+
+ 27 31
+ - 9/250 y DATA(-1, 2, -1) - ---- y DATA(0, 2, -1) + ---- y DATA(2, 1, 2)
+ 1000 2000
+
+ 21 19 11
+ - ---- y DATA(0, 2, 2) + ---- y DATA(1, 0, 2) + --- y DATA(2, 0, 2)
+ 2000 1000 500
+
+ 49 43
+ + ---- y DATA(-1, 1, 2) + ---- y DATA(0, 1, 2) - 9/500 y DATA(1, -1, 2)
+ 2000 2000
+
+ 13
+ + ---- y DATA(-1, 0, 2) + 2/125 y DATA(0, 0, 2) - 9/250 y DATA(-1, -1, 2)
+ 1000
+
+ 27
+ - ---- y DATA(0, -1, 2) + 3/40 z DATA(-1, 1, -1) + 1/16 z DATA(0, 1, -1)
+ 1000
+
+ 13
+ + 1/20 z DATA(1, 1, -1) - -- z DATA(-1, -1, 0) - 3/20 z DATA(0, -1, 0)
+ 80
+
+ 11 11
+ - -- z DATA(1, -1, 0) - 3/20 z DATA(-1, 0, 0) - -- z DATA(-1, 1, 0)
+ 80 80
+
+ + 1/20 z DATA(-1, 1, 1) + 3/80 z DATA(-1, 0, 1) + 1/20 z DATA(1, -1, 1)
+
+ + 1/40 z DATA(-1, -1, 1) + 3/80 z DATA(0, -1, 1) + 7/80 z DATA(-1, 0, -1)
+
+ 11
+ + 3/40 z DATA(0, 0, -1) + 1/16 z DATA(1, 0, -1) - -- z DATA(0, 0, 0)
+ 80
+
+ - 1/8 z DATA(1, 0, 0) + 3/40 z DATA(2, 0, 1) - 1/10 z DATA(2, 1, 0)
+
+ + 1/10 z DATA(2, 2, 1) + 1/40 z DATA(2, 2, -1) - 1/8 z DATA(-1, 2, 0)
+
+ - 9/80 z DATA(0, 2, 0) - 1/8 z DATA(2, -1, 0) - 9/80 z DATA(2, 0, 0)
+
+ - 1/40 z DATA(1, 2, 2) - 3/80 z DATA(2, 2, 2) - 1/80 z DATA(1, 1, 2)
+
+ + 1/16 z DATA(1, 0, 1) + 1/16 z DATA(2, -1, -1) + 1/20 z DATA(2, 0, -1)
+
+ + 7/80 z DATA(2, 1, 1) + 1/16 z DATA(-1, 2, 1) + 3/40 z DATA(0, 2, 1)
+
+ 13 31
+ - ---- x DATA(0, 1, -1) - ---- x DATA(1, 1, -1) - 1/2000 x DATA(-1, -1, 0)
+ 2000 1000
+
+ 2
+ - 7/2000 y DATA(0, -1, 0) - 1/32 z DATA(1, 1, -1)
+
+ 2 2 2
+ + 3/32 z DATA(0, -1, 0) + 3/32 z DATA(1, -1, 0) + 3/32 z DATA(-1, 0, 0)
+
+ 2 2 2
+ + 3/32 z DATA(-1, 1, 0) - 3/32 z DATA(-1, 1, 1) - 3/32 z DATA(-1, 0, 1)
+
+ 2 2
+ - 3/32 z DATA(1, -1, 1) - 3/32 z DATA(-1, -1, 1)
+
+ 2 2
+ - 3/32 z DATA(0, -1, 1) - 1/32 z DATA(-1, 0, -1)
+
+ 2 2 2
+ - 1/32 z DATA(0, 0, -1) - 1/32 z DATA(1, 0, -1) + 3/32 z DATA(0, 0, 0)
+
+ 2 2 2
+ + 3/32 z DATA(1, 0, 0) - 3/32 z DATA(2, 0, 1) + 3/32 z DATA(2, 1, 0)
+
+ 2 2 2
+ - 3/32 z DATA(2, 2, 1) - 1/32 z DATA(2, 2, -1) + 1/32 z DATA(2, -1, 2)
+
+ 2 2 2
+ + 3/32 z DATA(-1, 2, 0) + 3/32 z DATA(0, 2, 0) + 3/32 z DATA(2, -1, 0)
+
+ 2 2 2
+ + 3/32 z DATA(2, 0, 0) + 1/32 z DATA(1, 2, 2) + 1/32 z DATA(2, 2, 2)
+
+ 2 2 2
+ + 1/32 z DATA(1, 1, 2) - 3/32 z DATA(1, 0, 1) - 1/32 z DATA(2, -1, -1)
+
+ 2 2 2
+ - 1/32 z DATA(2, 0, -1) - 3/32 z DATA(2, 1, 1) - 3/32 z DATA(-1, 2, 1)
+
+ 2 2 2
+ - 3/32 z DATA(0, 2, 1) - 3/32 z DATA(1, 2, 1) - 3/32 z DATA(2, -1, 1)
+
+ 2 2 2
+ - 1/32 z DATA(1, -1, -1) + 3/32 z DATA(1, 2, 0) + 3/32 z DATA(2, 2, 0)
+
+ 2 2 2
+ + 3/32 z DATA(0, 1, 0) + 3/32 z DATA(1, 1, 0) - 3/32 z DATA(0, 0, 1)
+
+ 2 2 2
+ - 3/32 z DATA(0, 1, 1) - 3/32 z DATA(1, 1, 1) - 1/32 z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/32 z DATA(0, -1, -1) - 1/32 z DATA(1, 2, -1)
+
+ 2 2
+ - 1/32 z DATA(2, 1, -1) - 1/32 z DATA(-1, 2, -1)
+
+ 2 2 2
+ - 1/32 z DATA(0, 2, -1) + 1/32 z DATA(2, 1, 2) + 1/32 z DATA(-1, 2, 2)
+
+ 2 2 2
+ + 1/32 z DATA(0, 2, 2) + 1/32 z DATA(1, 0, 2) + 1/32 z DATA(2, 0, 2)
+
+ 2 2 2
+ + 1/32 z DATA(-1, 1, 2) + 1/32 z DATA(0, 1, 2) + 1/32 z DATA(1, -1, 2)
+
+ 2 2 2
+ + 1/32 z DATA(-1, 0, 2) + 1/32 z DATA(0, 0, 2) + 1/32 z DATA(-1, -1, 2)
+
+ 2 37 17
+ + 1/32 z DATA(0, -1, 2) - ---- y DATA(-1, 1, -1) - --- y DATA(0, 1, -1)
+ 1000 500
+
+ 31 2 27
+ - ---- y DATA(1, 1, -1) + 3/32 z DATA(-1, -1, 0) + ---- y DATA(2, 1, 1)
+ 1000 2000
+
+ 37 17
+ + ---- y DATA(1, 2, 1) - 7/250 y DATA(2, -1, 1) - ---- x DATA(0, -1, 0)
+ 2000 2000
+
+ 13
+ - 1/250 x DATA(1, -1, 0) - 7/2000 x DATA(-1, 0, 0) - ---- x DATA(-1, 1, 0)
+ 2000
+
+ 31 17 33
+ - ---- x DATA(-1, 1, 1) - --- x DATA(-1, 0, 1) + ---- x DATA(1, -1, 1)
+ 1000 500 2000
+
+ 37 129
+ - ---- x DATA(-1, -1, 1) - 1/250 x DATA(0, -1, 1) + ---- x DATA(-1, 0, -1)
+ 1000 2000
+
+ 17 19
+ - 7/2000 x DATA(0, 0, -1) - --- x DATA(1, 0, -1) - ---- x DATA(0, 0, 0)
+ 500 2000
+
+ 31 19
+ - 3/1000 x DATA(1, 0, 0) + ---- x DATA(2, 2, 1) - ---- x DATA(-1, 2, 0)
+ 2000 2000
+
+ 23 13
+ - ---- x DATA(0, 2, 0) + ---- x DATA(2, -1, 0) + 2/125 x DATA(2, 0, 0)
+ 2000 1000
+
+ 31 57 37
+ + ---- x DATA(1, 2, 2) - ---- x DATA(2, 2, 2) + ---- x DATA(1, 1, 2)
+ 2000 2000 2000
+
+ 31 27
+ + ---- x DATA(1, 0, 1) - 9/250 x DATA(2, -1, -1) - ---- x DATA(2, 0, -1)
+ 2000 1000
+
+ 37
+ + ---- x DATA(2, 1, 1) - 7/250 x DATA(-1, 2, 1) - 1/1000 x DATA(0, 2, 1)
+ 2000
+
+ 27 49 37
+ + ---- x DATA(1, 2, 1) + ---- x DATA(2, -1, 1) - ---- x DATA(1, -1, -1)
+ 2000 2000 1000
+
+ 11 21
+ - 1/1000 x DATA(1, 2, 0) + --- x DATA(2, 2, 0) - ---- x DATA(0, 1, 0)
+ 500 2000
+
+ - 1/500 x DATA(1, 1, 0) - 3/1000 x DATA(0, 0, 1) - 1/500 x DATA(0, 1, 1)
+
+ 29 147
+ + ---- x DATA(1, 1, 1) + ---- x DATA(-1, -1, -1)
+ 2000 2000
+
+ - 1/2000 x DATA(0, -1, -1) - 7/250 x DATA(1, 2, -1)
+
+ 93 19
+ - 9/500 x DATA(2, 1, -1) + ---- x DATA(-1, 2, -1) - ---- x DATA(0, 2, -1)
+ 2000 2000
+
+ 39 11
+ - ---- x DATA(2, 1, 2) - 9/1000 x DATA(-1, 2, 2) + --- x DATA(0, 2, 2)
+ 2000 500
+
+ 43 21
+ + ---- x DATA(1, 0, 2) - ---- x DATA(2, 0, 2) - 9/500 x DATA(-1, 1, 2)
+ 2000 2000
+
+ 19 49 27
+ + ---- x DATA(0, 1, 2) + ---- x DATA(1, -1, 2) - ---- x DATA(-1, 0, 2)
+ 1000 2000 1000
+
+ 13
+ + 2/125 x DATA(0, 0, 2) - 9/250 x DATA(-1, -1, 2) + ---- x DATA(0, -1, 2)
+ 1000
+
+ 2 2 49
+ - 1/32 z DATA(-1, 1, -1) - 1/32 z DATA(0, 1, -1) + ---- y DATA(-1, 2, 1)
+ 2000
+
+ 2 2
+ - 1/160 x DATA(0, 1, 1) - 1/160 x DATA(1, 1, 1)
+
+ 2 2
+ - 3/160 x DATA(-1, -1, -1) + 3/160 x DATA(0, -1, -1)
+
+ 2 2
+ + 3/160 x DATA(1, 2, -1) - 3/160 x DATA(2, 1, -1)
+
+ 2 2
+ - 3/160 x DATA(-1, 2, -1) + 3/160 x DATA(0, 2, -1)
+
+ 2 2
+ + 3/160 x DATA(2, 1, 2) + 3/160 x DATA(-1, 2, 2)
+
+ 2 2 2
+ - 3/160 x DATA(0, 2, 2) - 3/160 x DATA(1, 0, 2) + 3/160 x DATA(2, 0, 2)
+
+ 2 2
+ + 3/160 x DATA(-1, 1, 2) - 3/160 x DATA(0, 1, 2)
+
+ 2 2
+ - 3/160 x DATA(1, -1, 2) + 3/160 x DATA(-1, 0, 2)
+
+ 2 2
+ - 3/160 x DATA(0, 0, 2) + 3/160 x DATA(-1, -1, 2)
+
+ 2 2
+ - 3/160 x DATA(0, -1, 2) - 3/160 y DATA(-1, 1, 2) + 7/80 z DATA(1, 2, 1)
+
+ + 1/16 z DATA(2, -1, 1) + 3/40 z DATA(1, -1, -1) - 1/10 z DATA(1, 2, 0)
+
+ - 7/80 z DATA(2, 2, 0) - 1/8 z DATA(0, 1, 0) - 9/80 z DATA(1, 1, 0)
+
+ + 1/20 z DATA(0, 0, 1) + 1/16 z DATA(0, 1, 1) + 3/40 z DATA(1, 1, 1)
+
+ + 1/10 z DATA(-1, -1, -1) + 7/80 z DATA(0, -1, -1) + 3/80 z DATA(1, 2, -1)
+
+ + 3/80 z DATA(2, 1, -1) + 1/16 z DATA(-1, 2, -1) + 1/20 z DATA(0, 2, -1)
+
+ - 1/40 z DATA(2, 1, 2) - 1/80 z DATA(0, 2, 2) - 1/80 z DATA(2, 0, 2)
+
+ + 1/80 z DATA(-1, 1, 2) + 1/80 z DATA(1, -1, 2) + 1/40 z DATA(-1, 0, 2)
+
+ + 1/80 z DATA(0, 0, 2) + 3/80 z DATA(-1, -1, 2) + 1/40 z DATA(0, -1, 2)
+
+ 2 2
+ + 3/160 y DATA(-1, 1, -1) + 3/160 y DATA(0, 1, -1)
+
+ 2 2
+ + 3/160 y DATA(1, 1, -1) - 1/160 y DATA(-1, -1, 0)
+
+ 2 2
+ - 1/160 y DATA(0, -1, 0) - 1/160 y DATA(1, -1, 0)
+
+ 2 2
+ + 1/160 y DATA(-1, 0, 0) + 1/160 y DATA(-1, 1, 0)
+
+ 2 19 23
+ - 1/160 y DATA(-1, 1, 1) - ---- y DATA(2, -1, 0) - ---- y DATA(2, 0, 0)
+ 2000 2000
+
+ 39 57 37
+ - ---- y DATA(1, 2, 2) - ---- y DATA(2, 2, 2) + ---- y DATA(1, 1, 2)
+ 2000 2000 2000
+
+ 93 19
+ - 1/500 y DATA(1, 0, 1) + ---- y DATA(2, -1, -1) - ---- y DATA(2, 0, -1)
+ 2000 2000
+
+ 2 2
+ + 1/160 y DATA(2, 1, 0) + 1/160 y DATA(2, 2, 1)
+
+ 2 2
+ - 3/160 y DATA(2, 2, -1) + 3/160 y DATA(2, -1, 2)
+
+ 2 2
+ - 1/160 y DATA(-1, 2, 0) - 1/160 y DATA(0, 2, 0)
+
+ 2 2
+ - 1/160 y DATA(2, -1, 0) + 1/160 y DATA(2, 0, 0)
+
+ 2 2 2
+ + 3/160 y DATA(1, 2, 2) + 3/160 y DATA(2, 2, 2) - 3/160 y DATA(1, 1, 2)
+
+ 2 2
+ - 1/160 y DATA(1, 0, 1) - 3/160 y DATA(2, -1, -1)
+
+ 2 2
+ + 3/160 y DATA(2, 0, -1) - 1/160 y DATA(2, 1, 1)
+
+ 2 2
+ + 1/160 y DATA(-1, 2, 1) + 1/160 y DATA(0, 2, 1)
+
+ 2 2
+ + 1/160 y DATA(1, 2, 1) + 1/160 y DATA(2, -1, 1)
+
+ 2 2
+ - 3/160 y DATA(1, -1, -1) - 1/160 y DATA(1, 2, 0)
+
+ 2 2 2
+ - 1/160 y DATA(2, 2, 0) + 1/160 y DATA(0, 1, 0) + 1/160 y DATA(1, 1, 0)
+
+ 2 2 2
+ - 1/160 y DATA(0, 0, 1) - 1/160 y DATA(0, 1, 1) - 1/160 y DATA(1, 1, 1)
+
+ 2 2
+ - 3/160 y DATA(-1, -1, -1) - 3/160 y DATA(0, -1, -1)
+
+ 2 2
+ - 3/160 y DATA(1, 2, -1) + 3/160 y DATA(2, 1, -1)
+
+ 2 2
+ - 3/160 y DATA(-1, 2, -1) - 3/160 y DATA(0, 2, -1)
+
+ 2 2
+ - 3/160 y DATA(2, 1, 2) + 3/160 y DATA(-1, 2, 2)
+
+ 2 2 2
+ + 3/160 y DATA(0, 2, 2) - 3/160 y DATA(1, 0, 2) - 3/160 y DATA(2, 0, 2)
+
+ 2 2
+ - 3/160 y DATA(0, 1, 2) + 3/160 y DATA(1, -1, 2)
+
+ 2 2
+ - 3/160 y DATA(-1, 0, 2) - 3/160 y DATA(0, 0, 2)
+
+ 2 2
+ + 3/160 y DATA(-1, -1, 2) + 3/160 y DATA(0, -1, 2)
+
+ 2 2
+ - 3/160 x DATA(-1, 1, -1) + 3/160 x DATA(0, 1, -1)
+
+ 2 2
+ + 3/160 x DATA(1, 1, -1) - 1/160 x DATA(-1, -1, 0)
+
+ 2 2
+ + 1/160 x DATA(0, -1, 0) + 1/160 x DATA(1, -1, 0)
+
+ 2 2
+ - 1/160 x DATA(-1, 0, 0) - 1/160 x DATA(-1, 1, 0)
+
+ 2 2
+ + 1/160 x DATA(-1, 1, 1) + 1/160 x DATA(-1, 0, 1)
+
+ 2 2
+ - 1/160 x DATA(1, -1, 1) + 1/160 x DATA(-1, -1, 1)
+
+ 2 2
+ - 1/160 x DATA(0, -1, 1) - 3/160 x DATA(-1, 0, -1)
+
+ 2 2
+ + 3/160 x DATA(0, 0, -1) + 3/160 x DATA(1, 0, -1)
+
+ 2 2 2
+ + 1/160 x DATA(0, 0, 0) + 1/160 x DATA(1, 0, 0) + 1/160 x DATA(2, 0, 1)
+
+ 2 2
+ - 1/160 x DATA(2, 1, 0) + 1/160 x DATA(2, 2, 1)
+
+ 2 2
+ - 3/160 x DATA(2, 2, -1) + 3/160 x DATA(2, -1, 2)
+
+ 2 2
+ - 1/160 x DATA(-1, 2, 0) + 1/160 x DATA(0, 2, 0)
+
+ 2 2
+ - 1/160 x DATA(2, -1, 0) - 1/160 x DATA(2, 0, 0)
+
+ 2 2 2
+ - 3/160 x DATA(1, 2, 2) + 3/160 x DATA(2, 2, 2) - 3/160 x DATA(1, 1, 2)
+
+ 2 2
+ - 1/160 x DATA(1, 0, 1) - 3/160 x DATA(2, -1, -1)
+
+ 2 2
+ - 3/160 x DATA(2, 0, -1) + 1/160 x DATA(2, 1, 1)
+
+ 2 2
+ + 1/160 x DATA(-1, 2, 1) - 1/160 x DATA(0, 2, 1)
+
+ 2 2
+ - 1/160 x DATA(1, 2, 1) + 1/160 x DATA(2, -1, 1)
+
+ 2 2
+ + 3/160 x DATA(1, -1, -1) + 1/160 x DATA(1, 2, 0)
+
+ 2 2 2
+ - 1/160 x DATA(2, 2, 0) + 1/160 x DATA(0, 1, 0) + 1/160 x DATA(1, 1, 0)
+
+ 2
+ - 1/160 x DATA(0, 0, 1) - 3/80 y z DATA(0, -1, -1)
+
+ + 3/80 y z DATA(1, 2, -1) + 1/80 y z DATA(2, 1, -1)
+
+ + 3/80 y z DATA(-1, 2, -1) + 3/80 y z DATA(0, 2, -1)
+
+ + 1/80 y z DATA(2, 1, 2) + 3/80 y z DATA(-1, 2, 2)
+
+ + 3/80 y z DATA(0, 2, 2) - 1/80 y z DATA(1, 0, 2) - 1/80 y z DATA(2, 0, 2)
+
+ + 1/80 y z DATA(-1, 1, 2) + 1/80 y z DATA(0, 1, 2)
+
+ - 3/80 y z DATA(1, -1, 2) - 1/80 y z DATA(-1, 0, 2)
+
+ - 1/80 y z DATA(0, 0, 2) - 3/80 y z DATA(-1, -1, 2)
+
+ - 3/80 y z DATA(0, -1, 2) + 9/1000 x y DATA(0, -1, 2)
+
+ + 1/80 y z DATA(-1, 1, -1) + 1/80 y z DATA(0, 1, -1)
+
+ + 1/80 y z DATA(1, 1, -1) + 3/80 y z DATA(-1, -1, 0)
+
+ + 3/80 y z DATA(0, -1, 0) + 3/80 y z DATA(1, -1, 0)
+
+ + 1/80 y z DATA(-1, 0, 0) - 1/80 y z DATA(-1, 1, 0)
+
+ - 1/80 y z DATA(-1, 1, 1) + 1/80 y z DATA(-1, 0, 1)
+
+ + 3/80 y z DATA(1, -1, 1) + 3/80 y z DATA(-1, -1, 1)
+
+ + 3/80 y z DATA(0, -1, 1) - 1/80 y z DATA(-1, 0, -1)
+
+ - 1/80 y z DATA(0, 0, -1) - 1/80 y z DATA(1, 0, -1)
+
+ + 1/80 y z DATA(0, 0, 0) + 1/80 y z DATA(1, 0, 0) + 1/80 y z DATA(2, 0, 1)
+
+ - 1/80 y z DATA(2, 1, 0) - 3/80 y z DATA(2, 2, 1)
+
+ + 3/80 y z DATA(2, 2, -1) - 3/80 y z DATA(2, -1, 2)
+
+ - 3/80 y z DATA(-1, 2, 0) - 3/80 y z DATA(0, 2, 0)
+
+ + 3/80 y z DATA(2, -1, 0) + 1/80 y z DATA(2, 0, 0)
+
+ + 3/80 y z DATA(1, 2, 2) + 3/80 y z DATA(2, 2, 2) + 1/80 y z DATA(1, 1, 2)
+
+ + 1/80 y z DATA(1, 0, 1) - 3/80 y z DATA(2, -1, -1)
+
+ - 1/80 y z DATA(2, 0, -1) - 1/80 y z DATA(2, 1, 1)
+
+ - 3/80 y z DATA(-1, 2, 1) - 3/80 y z DATA(0, 2, 1)
+
+ - 3/80 y z DATA(1, 2, 1) + 3/80 y z DATA(2, -1, 1)
+
+ - 3/80 y z DATA(1, -1, -1) - 3/80 y z DATA(1, 2, 0)
+
+ - 3/80 y z DATA(2, 2, 0) - 1/80 y z DATA(0, 1, 0) - 1/80 y z DATA(1, 1, 0)
+
+ + 1/80 y z DATA(0, 0, 1) + 3/1000 x y DATA(1, 0, -1)
+
+ - 1/1000 x y DATA(0, 0, 0) + 1/1000 x y DATA(1, 0, 0)
+
+ - 3/1000 x y DATA(2, 0, 1) - 3/1000 x y DATA(2, 1, 0)
+
+ 27
+ + 9/1000 x y DATA(2, 2, 1) - ---- x y DATA(2, 2, -1)
+ 1000
+
+ 27
+ - ---- x y DATA(2, -1, 2) + 9/1000 x y DATA(-1, 2, 0)
+ 1000
+
+ + 3/1000 x y DATA(0, 2, 0) + 9/1000 x y DATA(2, -1, 0)
+
+ + 3/1000 x y DATA(2, 0, 0) + 9/1000 x y DATA(1, 2, 2)
+
+ 27
+ + ---- x y DATA(2, 2, 2) + 3/1000 x y DATA(1, 1, 2)
+ 1000
+
+ 27
+ - 1/1000 x y DATA(1, 0, 1) + ---- x y DATA(2, -1, -1)
+ 1000
+
+ + 9/1000 x y DATA(2, 0, -1) + 3/1000 x y DATA(2, 1, 1)
+
+ - 9/1000 x y DATA(-1, 2, 1) - 3/1000 x y DATA(0, 2, 1)
+
+ + 3/1000 x y DATA(1, 2, 1) - 9/1000 x y DATA(2, -1, 1)
+
+ + 9/1000 x y DATA(1, -1, -1) - 3/1000 x y DATA(1, 2, 0)
+
+ - 9/1000 x y DATA(2, 2, 0) + 1/1000 x y DATA(0, 1, 0)
+
+ - 1/1000 x y DATA(1, 1, 0) + 1/1000 x y DATA(0, 0, 1)
+
+ - 1/1000 x y DATA(0, 1, 1) + 1/1000 x y DATA(1, 1, 1)
+
+ 27
+ - ---- x y DATA(-1, -1, -1) - 9/1000 x y DATA(0, -1, -1)
+ 1000
+
+ - 9/1000 x y DATA(1, 2, -1) - 9/1000 x y DATA(2, 1, -1)
+
+ 27
+ + ---- x y DATA(-1, 2, -1) + 9/1000 x y DATA(0, 2, -1)
+ 1000
+
+ 27
+ + 9/1000 x y DATA(2, 1, 2) - ---- x y DATA(-1, 2, 2)
+ 1000
+
+ - 9/1000 x y DATA(0, 2, 2) - 3/1000 x y DATA(1, 0, 2)
+
+ - 9/1000 x y DATA(2, 0, 2) - 9/1000 x y DATA(-1, 1, 2)
+
+ - 3/1000 x y DATA(0, 1, 2) - 9/1000 x y DATA(1, -1, 2)
+
+ + 9/1000 x y DATA(-1, 0, 2) + 3/1000 x y DATA(0, 0, 2)
+
+ 27
+ + ---- x y DATA(-1, -1, 2) - 3/80 x z DATA(-1, 1, -1)
+ 1000
+
+ + 1/80 x z DATA(1, 1, 2) - 3/80 x z DATA(2, 1, 1)
+
+ 2
+ - 1/160 y DATA(-1, 0, 1) - 1/80 y z DATA(1, 1, 1)
+
+ - 3/80 y z DATA(-1, -1, -1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=420875536, alloc=4717728, time=41.93
+bytes used=421925544, alloc=4717728, time=42.00
+bytes used=422934660, alloc=4717728, time=42.06
+bytes used=423940964, alloc=4717728, time=42.14
+bytes used=424951952, alloc=4717728, time=42.22
+bytes used=425984392, alloc=4717728, time=42.29
+bytes used=426984512, alloc=4717728, time=42.37
+bytes used=427987684, alloc=4783252, time=42.44
+ 2 2 147 27 47
+[COEFF(-1, -1, -1) = - 1/32 z - 3/160 x + ---- x - ---- x y - ---- - 3/80 x z
+ 2000 1000 1500
+
+ 147 2 2
+ - 3/80 y z + ---- y + 1/10 z - 3/160 y , COEFF(0, -1, -1) = - 3/160 y
+ 2000
+
+ 607 2
+ - 3/80 y z - ----- - 9/1000 x y + 3/160 x + 7/80 z - 1/2000 x - 1/80 x z
+ 12000
+
+ 129 2 97
+ + ---- y - 1/32 z , COEFF(1, -1, -1) = - ---- - 3/80 y z + 9/1000 x y
+ 2000 3000
+
+ 111 2 37 2 2
+ + ---- y + 1/80 x z - 3/160 y - ---- x - 1/32 z + 3/160 x + 3/40 z,
+ 2000 1000
+
+ 93 2
+ COEFF(2, -1, -1) = - 9/250 x + 3/80 x z - 3/80 y z + ---- y - 1/32 z
+ 2000
+
+ 2 27 2 281
+ - 3/160 y + ---- x y - 3/160 x + ----- + 1/16 z, COEFF(-1, 0, -1) =
+ 1000 12000
+
+ 129 2 2 2 607
+ ---- x - 1/32 z + 3/160 y - 3/160 x - 3/80 x z - 9/1000 x y - -----
+ 2000 12000
+
+ 2
+ + 7/80 z - 1/2000 y - 1/80 y z, COEFF(0, 0, -1) = - 7/2000 x + 3/160 x
+
+ 2 437 2
+ - 1/32 z - 7/2000 y - ---- - 3/1000 x y - 1/80 y z + 3/40 z + 3/160 y
+ 6000
+
+ 2 17
+ - 1/80 x z, COEFF(1, 0, -1) = 1/80 x z + 3/1000 x y - 1/32 z - --- x
+ 500
+
+ 2 2 13 691
+ + 3/160 x + 3/160 y - ---- y - 1/80 y z + 1/16 z - -----,
+ 2000 12000
+
+ 19 2
+ COEFF(2, 0, -1) = 1/20 z - 1/80 y z + 9/1000 x y - ---- y - 3/160 x
+ 2000
+
+ 2 2 29 27
+ + 3/160 y - 1/32 z + 3/80 x z - ---- - ---- x, COEFF(-1, 1, -1) =
+ 6000 1000
+
+ 37 2 2 97
+ - 3/80 x z + 3/40 z - ---- y - 1/32 z + 3/160 y - ---- + 9/1000 x y
+ 1000 3000
+
+ 111 2 2
+ + 1/80 y z + ---- x - 3/160 x , COEFF(0, 1, -1) = 3/160 y + 1/16 z
+ 2000
+
+ 2 691 17 13
+ + 3/160 x - ----- - 1/80 x z + 1/80 y z - --- y + 3/1000 x y - ---- x
+ 12000 500 2000
+
+ 2 17 2
+ - 1/32 z , COEFF(1, 1, -1) = - --- - 1/32 z + 1/80 y z + 1/80 x z
+ 375
+
+ 31 2 2 31
+ - ---- x + 3/160 y + 3/160 x - 3/1000 x y + 1/20 z - ---- y,
+ 1000 1000
+
+ 2 53 2
+ COEFF(2, 1, -1) = 1/80 y z + 3/80 x z - 3/160 x + ----- - 1/32 z
+ 12000
+
+ 2
+ - 9/1000 x y - 9/500 x + 3/160 y - 7/250 y + 3/80 z, COEFF(-1, 2, -1) =
+
+ 2 93 2 27
+ - 3/160 y + ---- x - 9/250 y + 1/16 z - 3/160 x - 3/80 x z + ---- x y
+ 2000 1000
+
+ 2 281 27
+ + 3/80 y z - 1/32 z + -----, COEFF(0, 2, -1) = - 1/80 x z - ---- y
+ 12000 1000
+
+ 2 2 19 29
+ + 1/20 z + 9/1000 x y + 3/80 y z - 1/32 z + 3/160 x - ---- x - ----
+ 2000 6000
+
+ 2 2 2
+ - 3/160 y , COEFF(1, 2, -1) = - 9/1000 x y - 1/32 z + 3/160 x + 1/80 x z
+
+ 53 2
+ + ----- + 3/80 z - 7/250 x - 9/500 y - 3/160 y + 3/80 y z,
+ 12000
+
+ 2 2 307 27
+ COEFF(2, 2, -1) = - 1/32 z - 3/160 x + ---- + 3/80 y z - ---- x y
+ 6000 1000
+
+ 2
+ - 9/1000 y + 3/80 x z - 3/160 y + 1/40 z - 9/1000 x, COEFF(-1, -1, 0) =
+
+ 13 2 2 39
+ - -- z + 3/32 z - 9/1000 x y + 3/80 y z - 1/2000 x - 1/160 x - ----
+ 80 4000
+
+ 2 2 2
+ + 3/80 x z - 1/160 y - 1/2000 y, COEFF(0, -1, 0) = 1/160 x - 1/160 y
+
+ 49 17 2
+ - 3/20 z - ---- - ---- x - 3/1000 x y + 3/80 y z - 7/2000 y + 3/32 z
+ 2000 2000
+
+ 2 13
+ + 1/80 x z, COEFF(1, -1, 0) = 3/32 z - 1/80 x z + 3/80 y z - ---- y
+ 2000
+
+ 11 2 2 107
+ + 3/1000 x y - -- z + 1/160 x - 1/160 y - ---- - 1/250 x,
+ 80 4000
+
+ 2 33
+ COEFF(2, -1, 0) = - 3/80 x z - 1/8 z + 9/1000 x y - 1/160 x - ----
+ 2000
+
+ 19 13 2 2
+ - ---- y + 3/80 y z + ---- x - 1/160 y + 3/32 z , COEFF(-1, 0, 0) =
+ 2000 1000
+
+ 17 2 2
+ 1/80 y z - 7/2000 x + 3/80 x z - 3/20 z - ---- y - 1/160 x + 3/32 z
+ 2000
+
+ 49 2 19
+ - ---- - 3/1000 x y + 1/160 y , COEFF(0, 0, 0) = - ---- y - 1/1000 x y
+ 2000 2000
+
+ 19 2 161 11 2
+ - ---- x + 1/160 x - ---- - -- z + 3/32 z + 1/80 x z + 1/80 y z
+ 2000 4000 80
+
+ 2 2 87 2
+ + 1/160 y , COEFF(1, 0, 0) = 3/32 z - ---- - 3/1000 x + 1/160 y - 1/8 z
+ 2000
+
+ 21 2
+ - ---- y + 1/160 x + 1/1000 x y - 1/80 x z + 1/80 y z, COEFF(2, 0, 0) =
+ 2000
+
+ 137 2 2 23
+ - ---- - 1/160 x + 1/160 y + 3/1000 x y - ---- y + 2/125 x + 1/80 y z
+ 4000 2000
+
+ 2 2
+ - 3/80 x z + 3/32 z - 9/80 z, COEFF(-1, 1, 0) = 3/32 z + 3/1000 x y
+
+ 2 13 107 2
+ - 1/160 x + 3/80 x z - ---- x - 1/250 y - ---- + 1/160 y - 1/80 y z
+ 2000 4000
+
+ 11 2
+ - -- z, COEFF(0, 1, 0) = 1/1000 x y - 1/8 z + 1/160 y + 1/80 x z
+ 80
+
+ 2 87 21 2
+ + 3/32 z - ---- - 1/80 y z - ---- x + 1/160 x - 3/1000 y, COEFF(1, 1, 0)
+ 2000 2000
+
+ 191 2 2
+ = - 1/1000 x y - ---- - 1/500 y + 1/160 y + 3/32 z - 1/500 x - 1/80 y z
+ 4000
+
+ 2
+ - 9/80 z + 1/160 x - 1/80 x z, COEFF(2, 1, 0) = - 3/80 x z - 1/1000 y
+
+ 19 2 79 2 2
+ + ---- x - 1/10 z - 3/1000 x y + 3/32 z - ---- - 1/160 x + 1/160 y
+ 1000 2000
+
+ 2 13
+ - 1/80 y z, COEFF(-1, 2, 0) = 3/80 x z - 1/160 x - 1/8 z + ---- y
+ 1000
+
+ 2 2 33 19
+ + 9/1000 x y - 1/160 y + 3/32 z - ---- - 3/80 y z - ---- x,
+ 2000 2000
+
+ 137 23 2 2 2
+ COEFF(0, 2, 0) = - ---- + 2/125 y - ---- x - 1/160 y + 3/32 z + 1/160 x
+ 4000 2000
+
+ + 3/1000 x y + 1/80 x z - 9/80 z - 3/80 y z, COEFF(1, 2, 0) = - 1/10 z
+
+ 2 19 79 2
+ - 1/160 y + ---- y - ---- - 1/80 x z - 3/1000 x y + 1/160 x - 1/1000 x
+ 1000 2000
+
+ 2 11 2
+ - 3/80 y z + 3/32 z , COEFF(2, 2, 0) = --- y - 3/80 x z - 1/160 y
+ 500
+
+ 2 11 2 129
+ - 7/80 z + 3/32 z + --- x - 1/160 x - 9/1000 x y - ---- - 3/80 y z,
+ 500 4000
+
+ 157 37 37
+ COEFF(-1, -1, 1) = ---- + 1/40 z + 3/80 x z - ---- x - ---- y + 9/1000 x y
+ 2000 1000 1000
+
+ 2 2 2
+ - 3/32 z + 1/160 y + 3/80 y z + 1/160 x , COEFF(0, -1, 1) = 3/80 y z
+
+ 2 17 323 2
+ - 3/32 z - --- y + 1/80 x z + 3/80 z + 3/1000 x y + ---- + 1/160 y
+ 500 4000
+
+ 2 2 2
+ - 1/250 x - 1/160 x , COEFF(1, -1, 1) = 1/160 y - 1/160 x + 1/20 z
+
+ 31 141 33 2
+ - ---- y + 3/80 y z + ---- - 1/80 x z - 3/1000 x y + ---- x - 3/32 z ,
+ 1000 2000 2000
+
+ 49 191 2 2
+ COEFF(2, -1, 1) = ---- x + ---- - 9/1000 x y - 3/32 z + 1/160 x
+ 2000 4000
+
+ 2
+ + 3/80 y z - 3/80 x z + 1/160 y - 7/250 y + 1/16 z, COEFF(-1, 0, 1) =
+
+ 323 2 2 17 2
+ - 1/250 y + ---- - 3/32 z + 1/160 x + 1/80 y z - --- x - 1/160 y
+ 4000 500
+
+ 2
+ + 3/80 z + 3/1000 x y + 3/80 x z, COEFF(0, 0, 1) = - 3/32 z - 3/1000 x
+
+ 2 2
+ - 1/160 y + 1/20 z - 3/1000 y - 1/160 x + 1/80 x z + 1/1000 x y
+
+ 21
+ + 1/80 y z + ---, COEFF(1, 0, 1) = - 1/80 x z - 1/500 y + 1/80 y z
+ 250
+
+ 2 299 2 31 2
+ - 1/160 y + ---- - 3/32 z + 1/16 z - 1/1000 x y + ---- x - 1/160 x ,
+ 4000 2000
+
+ 53 43 2 2
+ COEFF(2, 0, 1) = ---- + ---- x - 1/1000 y + 1/160 x - 3/32 z + 3/40 z
+ 1000 2000
+
+ 2 2
+ - 1/160 y + 1/80 y z - 3/80 x z - 3/1000 x y, COEFF(-1, 1, 1) = - 3/32 z
+
+ 33 2 31 2 141
+ + ---- y + 1/20 z + 1/160 x - ---- x - 1/160 y + 3/80 x z + ----
+ 2000 1000 2000
+
+ 2
+ - 1/80 y z - 3/1000 x y, COEFF(0, 1, 1) = 1/80 x z + 1/16 z - 3/32 z
+
+ 2 299 2 31
+ - 1/160 y - 1/1000 x y + ---- - 1/500 x - 1/160 x + ---- y - 1/80 y z,
+ 4000 2000
+
+ 29 133 2
+ COEFF(1, 1, 1) = - 1/80 x z + ---- x + 3/40 z - 1/80 y z + ---- - 1/160 x
+ 2000 2000
+
+ 2 2 29 37
+ - 3/32 z - 1/160 y + 1/1000 x y + ---- y, COEFF(2, 1, 1) = ---- x
+ 2000 2000
+
+ 27 2 2 2
+ - 3/80 x z + ---- y + 1/160 x - 1/80 y z + 7/80 z - 1/160 y - 3/32 z
+ 2000
+
+ 183 2 49
+ + ---- + 3/1000 x y, COEFF(-1, 2, 1) = 1/160 x - 7/250 x + ---- y
+ 4000 2000
+
+ 2 2 191
+ - 3/32 z + 1/16 z + 1/160 y + ---- - 9/1000 x y + 3/80 x z - 3/80 y z,
+ 4000
+
+ 2 53 43
+ COEFF(0, 2, 1) = 3/40 z - 3/32 z - 1/1000 x + ---- + 1/80 x z + ---- y
+ 1000 2000
+
+ 2 2 2
+ - 3/80 y z - 1/160 x + 1/160 y - 3/1000 x y, COEFF(1, 2, 1) = - 1/160 x
+
+ 183 2 2 37
+ + ---- + 3/1000 x y - 1/80 x z + 1/160 y - 3/32 z + ---- y - 3/80 y z
+ 4000 2000
+
+ 27 2 31 2
+ + 7/80 z + ---- x, COEFF(2, 2, 1) = 1/160 y + ---- x - 3/32 z - 3/80 x z
+ 2000 2000
+
+ 2 31 13
+ + 1/160 x + 1/10 z + ---- y + 9/1000 x y - 3/80 y z + ---,
+ 2000 500
+
+ 2 27
+ COEFF(-1, -1, 2) = 1/32 z - 3/80 x z + 3/80 z + ---- x y - 3/80 y z
+ 1000
+
+ 2 449 2
+ + 3/160 x - ----- - 9/250 y - 9/250 x + 3/160 y , COEFF(0, -1, 2) =
+ 12000
+
+ 13 27 2 2 17 2
+ ---- x - ---- y + 3/160 y - 3/160 x - ---- + 1/32 z + 9/1000 x y
+ 1000 1000 3000
+
+ 2
+ - 1/80 x z + 1/40 z - 3/80 y z, COEFF(1, -1, 2) = - 3/80 y z + 1/32 z
+
+ 2 137 49 2
+ + 1/80 z + 3/160 y - 9/500 y - ----- - 9/1000 x y + ---- x - 3/160 x
+ 12000 2000
+
+ 41
+ + 1/80 x z, COEFF(2, -1, 2) = - 3/2000 x + 3/80 x z - --- - 9/1000 y
+ 750
+
+ 27 2 2 2
+ - ---- x y + 3/160 y + 1/32 z + 3/160 x - 3/80 y z, COEFF(-1, 0, 2) =
+ 1000
+
+ 2 2 13 17 2
+ 3/160 x + 1/32 z + ---- y - 1/80 y z - 3/80 x z - ---- - 3/160 y
+ 1000 3000
+
+ 27 349
+ + 1/40 z - ---- x + 9/1000 x y, COEFF(0, 0, 2) = 3/1000 x y + -----
+ 1000 12000
+
+ 2 2 2
+ + 1/32 z - 3/160 y + 1/80 z - 1/80 x z + 2/125 x + 2/125 y - 3/160 x
+
+ 79 2 2
+ - 1/80 y z, COEFF(1, 0, 2) = ---- - 1/80 y z - 3/160 y - 3/160 x
+ 3000
+
+ 43 2 19
+ + ---- x - 3/1000 x y + 1/32 z + ---- y + 1/80 x z, COEFF(2, 0, 2) =
+ 2000 1000
+
+ 2 11 167 21
+ 3/80 x z - 1/80 z + 1/32 z + --- y - ----- - ---- x - 1/80 y z
+ 500 12000 2000
+
+ 2 2 2 137
+ - 9/1000 x y + 3/160 x - 3/160 y , COEFF(-1, 1, 2) = 1/32 z - -----
+ 12000
+
+ 2 2
+ - 9/1000 x y + 1/80 y z - 9/500 x - 3/160 y + 3/160 x + 1/80 z
+
+ 49 19
+ - 3/80 x z + ---- y, COEFF(0, 1, 2) = ---- x - 1/80 x z - 3/1000 x y
+ 2000 1000
+
+ 79 43 2 2 2
+ + ---- + ---- y + 1/80 y z - 3/160 y + 1/32 z - 3/160 x , COEFF(1, 1, 2)
+ 3000 2000
+
+ 319 2 2 37
+ = ----- + 1/80 x z + 1/32 z - 3/160 x - 1/80 z + 3/1000 x y + ---- x
+ 12000 2000
+
+ 37 2 2
+ + ---- y - 3/160 y + 1/80 y z, COEFF(2, 1, 2) = 1/32 z - 1/40 z
+ 2000
+
+ 2 31 39
+ + 3/160 x + 9/1000 x y + ---- y + 1/80 y z + 3/80 x z - ---- x - 4/375
+ 2000 2000
+
+ 2 2
+ - 3/160 y , COEFF(-1, 2, 2) = 3/160 x - 3/2000 y + 3/80 y z - 9/1000 x
+
+ 41 2 2 27
+ - --- + 1/32 z + 3/160 y - ---- x y - 3/80 x z, COEFF(0, 2, 2) =
+ 750 1000
+
+ 2 11 21 167 2
+ - 3/160 x + --- x - ---- y - ----- - 1/80 x z - 9/1000 x y + 3/160 y
+ 500 2000 12000
+
+ 2 2 39
+ - 1/80 z + 3/80 y z + 1/32 z , COEFF(1, 2, 2) = - 3/160 x - ---- y
+ 2000
+
+ 31 2
+ - 4/375 + ---- x + 3/80 y z + 9/1000 x y - 1/40 z + 1/32 z + 1/80 x z
+ 2000
+
+ 2 2 539 27 57
+ + 3/160 y , COEFF(2, 2, 2) = 3/160 x - ----- + ---- x y - 3/80 z - ---- y
+ 12000 1000 2000
+
+ 2 57 2
+ + 1/32 z - ---- x + 3/80 y z + 3/160 y + 3/80 x z]
+ 2000
+
+> print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c");
+bytes used=428987920, alloc=4783252, time=42.53
+bytes used=429988156, alloc=4783252, time=42.61
+bytes used=430988492, alloc=4783252, time=42.69
+bytes used=431988660, alloc=4783252, time=42.88
+bytes used=432988828, alloc=4783252, time=42.97
+bytes used=433999844, alloc=4783252, time=43.04
+bytes used=435004444, alloc=4783252, time=43.12
+bytes used=436028440, alloc=4783252, time=43.21
+bytes used=437031784, alloc=4783252, time=43.31
+bytes used=438031956, alloc=4783252, time=43.44
+bytes used=439039232, alloc=4783252, time=43.89
+bytes used=440039460, alloc=4783252, time=44.08
+bytes used=441039668, alloc=4783252, time=44.14
+bytes used=442039852, alloc=4783252, time=44.21
+bytes used=443040388, alloc=4783252, time=44.27
+bytes used=444040624, alloc=4783252, time=44.34
+bytes used=445048752, alloc=4783252, time=44.45
+bytes used=446048992, alloc=4783252, time=44.56
+bytes used=447051164, alloc=4783252, time=44.69
+bytes used=448051412, alloc=4783252, time=44.83
+bytes used=449058440, alloc=4783252, time=44.96
+bytes used=450058592, alloc=4783252, time=45.07
+bytes used=451066924, alloc=4783252, time=45.16
+bytes used=452067164, alloc=4783252, time=45.27
+bytes used=453067384, alloc=4783252, time=45.90
+bytes used=454067756, alloc=4783252, time=45.99
+bytes used=455067952, alloc=4783252, time=46.06
+bytes used=456068392, alloc=4783252, time=46.12
+bytes used=457068568, alloc=4783252, time=46.19
+bytes used=458077856, alloc=4783252, time=46.39
+bytes used=459078052, alloc=4783252, time=46.50
+bytes used=460079324, alloc=4783252, time=46.59
+bytes used=461079604, alloc=4783252, time=47.29
+bytes used=462079896, alloc=4783252, time=47.38
+bytes used=463080084, alloc=4783252, time=47.45
+bytes used=464080252, alloc=4783252, time=47.52
+bytes used=465080480, alloc=4783252, time=47.61
+bytes used=466080676, alloc=4783252, time=47.77
+bytes used=467080884, alloc=4783252, time=48.37
+bytes used=468081464, alloc=4783252, time=48.58
+bytes used=469081852, alloc=4783252, time=48.64
+bytes used=470082052, alloc=4783252, time=48.72
+bytes used=471082260, alloc=4783252, time=48.83
+bytes used=472082500, alloc=4783252, time=48.97
+bytes used=473082684, alloc=4783252, time=49.61
+bytes used=474083048, alloc=4783252, time=49.75
+bytes used=475083232, alloc=4783252, time=49.84
+bytes used=476083384, alloc=4783252, time=49.99
+>
+# d^2/dx^2
+> simplify( diff(interp_3d_cube_order3_smooth0,x,x) );
+ 11
+3/40 DATA(-1, 1, -1) - -- DATA(0, 1, -1) + 1/20 DATA(1, 1, -1)
+ 80
+
+ + 7/80 DATA(-1, -1, 0) - 3/20 DATA(0, -1, 0) + 3/80 DATA(1, -1, 0)
+
+ + 3/40 DATA(-1, 0, 0) + 1/16 DATA(-1, 1, 0) + 1/20 DATA(-1, 1, 1)
+
+ + 1/16 DATA(-1, 0, 1) + 1/20 DATA(1, -1, 1) + 3/40 DATA(-1, -1, 1)
+
+ 11
+ - -- DATA(0, -1, 1) + 7/80 DATA(-1, 0, -1) - 3/20 DATA(0, 0, -1)
+ 80
+
+ 11
+ + 3/80 DATA(1, 0, -1) - -- DATA(0, 0, 0) + 1/20 DATA(1, 0, 0)
+ 80
+
+ - 1/8 DATA(0, 1, 0) + 1/16 DATA(1, 1, 0) - 1/8 DATA(0, 0, 1)
+
+ + 1/16 DATA(1, 0, 1) - 9/80 DATA(0, 1, 1) + 3/40 DATA(1, 1, 1)
+
+ - 3/80 y DATA(0, 2, 1) + 3/80 y DATA(-1, 2, 2) + 3/80 y DATA(2, 2, -1)
+
+ 13
+ - 3/80 y DATA(1, 2, 0) + 1/10 DATA(-1, -1, -1) - -- DATA(0, -1, -1)
+ 80
+
+ + 1/16 DATA(1, 2, -1) + 1/80 DATA(2, 1, -1) + 1/16 DATA(-1, 2, -1)
+
+ - 1/8 DATA(0, 2, -1) + 3/80 DATA(2, -1, -1) + 1/40 DATA(2, 0, -1)
+
+ - 1/80 DATA(2, 1, 1) + 3/80 DATA(-1, 2, 1) - 1/10 DATA(0, 2, 1)
+
+ + 7/80 DATA(1, 2, 1) + 1/80 DATA(2, -1, 1) + 1/40 DATA(1, -1, -1)
+
+ + 3/40 DATA(1, 2, 0) - 1/80 DATA(2, 2, 0) + 1/20 DATA(-1, 2, 0)
+
+ - 9/80 DATA(0, 2, 0) + 1/40 DATA(2, -1, 0) + 1/80 DATA(2, 0, 0)
+
+ + 1/10 DATA(1, 2, 2) - 3/80 DATA(2, 2, 2) + 7/80 DATA(1, 1, 2)
+
+ - 1/40 DATA(2, 1, 2) + 1/40 DATA(-1, 2, 2) - 7/80 DATA(0, 2, 2)
+
+ + 3/40 DATA(1, 0, 2) - 1/80 DATA(2, 0, 2) + 3/80 DATA(-1, 1, 2)
+
+ - 1/10 DATA(0, 1, 2) + 1/16 DATA(1, -1, 2) + 1/20 DATA(-1, 0, 2)
+
+ - 9/80 DATA(0, 0, 2) + 1/16 x DATA(2, -1, 2) + 1/16 x DATA(2, 0, 1)
+
+ + 1/16 x DATA(2, 1, 0) + 1/16 x DATA(2, 2, -1) + 1/16 DATA(-1, -1, 2)
+
+ - 1/8 DATA(0, -1, 2) - 1/40 DATA(2, 2, 1) - 1/16 x DATA(-1, 1, -1)
+
+ - 3/80 y DATA(2, -1, 2) - 3/80 y DATA(0, 2, 0) + 3/80 y DATA(-1, 2, 0)
+
+ - 3/80 y DATA(-1, -1, 0) + 3/80 y DATA(1, -1, 0) - 1/80 y DATA(-1, 0, 0)
+
+ + 1/80 y DATA(-1, 1, 0) + 1/80 y DATA(-1, 1, 1) - 1/80 y DATA(-1, 0, 1)
+
+ + 3/80 y DATA(1, -1, 1) - 3/80 y DATA(-1, -1, 1) + 3/80 y DATA(0, -1, 1)
+
+ - 1/80 y DATA(-1, 0, -1) + 1/80 y DATA(0, 0, -1) + 1/80 y DATA(1, 0, -1)
+
+ + 1/80 y DATA(0, 0, 0) + 1/80 y DATA(1, 0, 0) - 1/80 y DATA(2, 0, 1)
+
+ + 1/80 y DATA(2, 1, 0) + 3/80 y DATA(2, 2, 1) + 3/80 y DATA(1, -1, -1)
+
+ + 3/80 y DATA(2, 2, 0) - 1/80 y DATA(0, 1, 0) - 1/80 y DATA(1, 1, 0)
+
+ + 1/80 y DATA(0, 0, 1) - 1/80 y DATA(0, 1, 1) - 1/80 y DATA(1, 1, 1)
+
+ - 3/80 y DATA(-1, -1, -1) + 3/80 y DATA(0, -1, -1) - 3/80 y DATA(1, 2, -1)
+
+ + 1/80 y DATA(2, 1, -1) + 3/80 y DATA(-1, 2, -1) - 3/80 y DATA(0, 2, -1)
+
+ + 1/80 y DATA(2, 1, 2) - 3/80 y DATA(0, 2, 2) + 1/80 y DATA(1, 0, 2)
+
+ - 1/80 y DATA(2, 0, 2) + 1/80 y DATA(-1, 1, 2) - 1/80 y DATA(0, 1, 2)
+
+ + 3/80 y DATA(1, -1, 2) - 1/80 y DATA(-1, 0, 2) + 1/80 y DATA(0, 0, 2)
+
+ - 3/80 y DATA(-1, -1, 2) + 3/80 y DATA(0, -1, 2) - 3/80 z DATA(-1, 1, -1)
+
+ + 3/80 z DATA(0, 1, -1) + 3/80 z DATA(1, 1, -1) - 1/80 z DATA(-1, -1, 0)
+
+ + 1/80 z DATA(0, -1, 0) + 1/80 z DATA(1, -1, 0) - 1/80 z DATA(-1, 0, 0)
+
+ - 1/80 z DATA(-1, 1, 0) + 1/80 z DATA(-1, 1, 1) + 1/80 z DATA(-1, 0, 1)
+
+ - 1/80 z DATA(1, -1, 1) + 1/80 z DATA(-1, -1, 1) - 1/80 z DATA(0, -1, 1)
+
+ - 3/80 z DATA(-1, 0, -1) + 3/80 z DATA(0, 0, -1) + 3/80 z DATA(1, 0, -1)
+
+ + 1/80 z DATA(0, 0, 0) + 1/80 z DATA(1, 0, 0) + 1/80 z DATA(2, 0, 1)
+
+ - 1/80 z DATA(2, 1, 0) + 1/80 z DATA(2, 2, 1) - 3/80 z DATA(2, 2, -1)
+
+ - 1/80 z DATA(-1, 2, 0) + 1/80 z DATA(0, 2, 0) - 1/80 z DATA(2, -1, 0)
+
+ - 1/80 z DATA(2, 0, 0) - 3/80 z DATA(1, 2, 2) + 3/80 z DATA(2, 2, 2)
+
+ - 3/80 z DATA(1, 1, 2) - 1/80 z DATA(1, 0, 1) - 3/80 z DATA(2, -1, -1)
+
+ - 3/80 z DATA(2, 0, -1) + 1/80 z DATA(2, 1, 1) + 1/80 z DATA(-1, 2, 1)
+
+ - 1/80 z DATA(0, 2, 1) + 3/16 x DATA(0, 1, -1) - 3/16 x DATA(1, 1, -1)
+
+ - 1/16 x DATA(-1, -1, 0) + 3/80 y DATA(0, -1, 0) + 1/80 y DATA(-1, 1, -1)
+
+ - 1/80 y DATA(0, 1, -1) - 1/80 y DATA(1, 1, -1) + 1/80 y DATA(2, 1, 1)
+
+ - 3/80 y DATA(1, 2, 1) - 3/80 y DATA(2, -1, 1) + 3/16 x DATA(0, -1, 0)
+
+ - 3/16 x DATA(1, -1, 0) - 1/16 x DATA(-1, 0, 0) - 1/16 x DATA(-1, 1, 0)
+
+ - 1/16 x DATA(-1, 1, 1) - 1/16 x DATA(-1, 0, 1) - 3/16 x DATA(1, -1, 1)
+
+ - 1/16 x DATA(-1, -1, 1) + 3/16 x DATA(0, -1, 1) - 1/16 x DATA(-1, 0, -1)
+
+ + 3/16 x DATA(0, 0, -1) - 3/16 x DATA(1, 0, -1) + 3/16 x DATA(0, 0, 0)
+
+ - 3/16 x DATA(1, 0, 0) + 1/16 x DATA(2, 2, 1) - 1/16 x DATA(-1, 2, 0)
+
+ + 3/16 x DATA(0, 2, 0) + 1/16 x DATA(2, -1, 0) + 1/16 x DATA(2, 0, 0)
+
+ - 3/16 x DATA(1, 2, 2) + 1/16 x DATA(2, 2, 2) - 3/16 x DATA(1, 1, 2)
+
+ - 3/16 x DATA(1, 0, 1) + 1/16 x DATA(2, -1, -1) + 1/16 x DATA(2, 0, -1)
+
+ + 1/16 x DATA(2, 1, 1) - 1/16 x DATA(-1, 2, 1) + 3/16 x DATA(0, 2, 1)
+
+ - 3/16 x DATA(1, 2, 1) + 1/16 x DATA(2, -1, 1) - 3/16 x DATA(1, -1, -1)
+
+ - 3/16 x DATA(1, 2, 0) + 1/16 x DATA(2, 2, 0) + 3/16 x DATA(0, 1, 0)
+
+ - 3/16 x DATA(1, 1, 0) + 3/16 x DATA(0, 0, 1) + 3/16 x DATA(0, 1, 1)
+
+ - 3/16 x DATA(1, 1, 1) - 1/16 x DATA(-1, -1, -1) + 3/16 x DATA(0, -1, -1)
+
+ - 3/16 x DATA(1, 2, -1) + 1/16 x DATA(2, 1, -1) - 1/16 x DATA(-1, 2, -1)
+
+ + 3/16 x DATA(0, 2, -1) + 1/16 x DATA(2, 1, 2) - 1/16 x DATA(-1, 2, 2)
+
+ + 3/16 x DATA(0, 2, 2) - 3/16 x DATA(1, 0, 2) + 1/16 x DATA(2, 0, 2)
+
+ - 1/16 x DATA(-1, 1, 2) + 3/16 x DATA(0, 1, 2) - 3/16 x DATA(1, -1, 2)
+
+ - 1/16 x DATA(-1, 0, 2) + 3/16 x DATA(0, 0, 2) - 1/16 x DATA(-1, -1, 2)
+
+ + 3/16 x DATA(0, -1, 2) + 3/80 y DATA(-1, 2, 1) - 1/80 z DATA(1, 2, 1)
+
+ + 1/80 z DATA(2, -1, 1) + 3/80 z DATA(1, -1, -1) + 1/80 z DATA(1, 2, 0)
+
+ - 1/80 z DATA(2, 2, 0) + 1/80 z DATA(0, 1, 0) + 1/80 z DATA(1, 1, 0)
+
+ - 1/80 z DATA(0, 0, 1) - 1/80 z DATA(0, 1, 1) - 1/80 z DATA(1, 1, 1)
+
+ - 3/80 z DATA(-1, -1, -1) + 3/80 z DATA(0, -1, -1) + 3/80 z DATA(1, 2, -1)
+
+ - 3/80 z DATA(2, 1, -1) - 3/80 z DATA(-1, 2, -1) + 3/80 z DATA(0, 2, -1)
+
+ + 3/80 z DATA(2, 1, 2) - 3/80 z DATA(0, 2, 2) + 3/80 z DATA(2, 0, 2)
+
+ + 3/80 z DATA(-1, 1, 2) - 3/80 z DATA(1, -1, 2) + 3/80 z DATA(-1, 0, 2)
+
+ - 3/80 z DATA(0, 0, 2) + 3/80 z DATA(-1, -1, 2) - 3/80 z DATA(0, -1, 2)
+
+ - 3/80 y DATA(2, -1, 0) - 1/80 y DATA(2, 0, 0) - 3/80 y DATA(1, 2, 2)
+
+ + 3/80 y DATA(2, 2, 2) - 1/80 y DATA(1, 1, 2) + 1/80 y DATA(1, 0, 1)
+
+ - 3/80 y DATA(2, -1, -1) - 1/80 y DATA(2, 0, -1) - 3/80 z DATA(0, 1, 2)
+
+ + 3/80 z DATA(2, -1, 2) + 3/80 z DATA(-1, 2, 2) - 3/80 z DATA(1, 0, 2)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=477102164, alloc=4783252, time=50.07
+bytes used=478118480, alloc=4783252, time=50.14
+bytes used=479118644, alloc=4783252, time=50.22
+bytes used=480129196, alloc=4783252, time=50.29
+bytes used=481129496, alloc=4783252, time=50.37
+[COEFF(-1, -1, -1) = - 1/16 x - 3/80 y + 1/10 - 3/80 z,
+
+ 13
+ COEFF(0, -1, -1) = 3/16 x - -- + 3/80 y + 3/80 z,
+ 80
+
+ COEFF(1, -1, -1) = 3/80 y + 1/40 + 3/80 z - 3/16 x,
+
+ COEFF(2, -1, -1) = 3/80 + 1/16 x - 3/80 z - 3/80 y,
+
+ COEFF(-1, 0, -1) = - 3/80 z - 1/16 x - 1/80 y + 7/80,
+
+ COEFF(0, 0, -1) = 3/80 z + 1/80 y - 3/20 + 3/16 x,
+
+ COEFF(1, 0, -1) = 3/80 z + 3/80 - 3/16 x + 1/80 y,
+
+ COEFF(2, 0, -1) = - 3/80 z + 1/40 - 1/80 y + 1/16 x,
+
+ COEFF(-1, 1, -1) = 3/40 - 1/16 x + 1/80 y - 3/80 z,
+
+ 11
+ COEFF(0, 1, -1) = - 1/80 y + 3/16 x + 3/80 z - --,
+ 80
+
+ COEFF(1, 1, -1) = 1/20 - 3/16 x + 3/80 z - 1/80 y,
+
+ COEFF(2, 1, -1) = 1/16 x + 1/80 y - 3/80 z + 1/80,
+
+ COEFF(-1, 2, -1) = - 1/16 x + 3/80 y - 3/80 z + 1/16,
+
+ COEFF(0, 2, -1) = - 3/80 y - 1/8 + 3/16 x + 3/80 z,
+
+ COEFF(1, 2, -1) = - 3/80 y + 1/16 - 3/16 x + 3/80 z,
+
+ COEFF(2, 2, -1) = 1/16 x - 3/80 z + 3/80 y,
+
+ COEFF(-1, -1, 0) = - 1/16 x - 1/80 z - 3/80 y + 7/80,
+
+ COEFF(0, -1, 0) = 3/80 y + 3/16 x - 3/20 + 1/80 z,
+
+ COEFF(1, -1, 0) = 3/80 + 3/80 y - 3/16 x + 1/80 z,
+
+ COEFF(2, -1, 0) = 1/40 - 1/80 z + 1/16 x - 3/80 y,
+
+ COEFF(-1, 0, 0) = - 1/80 z - 1/80 y + 3/40 - 1/16 x,
+
+ 11
+ COEFF(0, 0, 0) = 1/80 z + 3/16 x - -- + 1/80 y,
+ 80
+
+ COEFF(1, 0, 0) = - 3/16 x + 1/20 + 1/80 z + 1/80 y,
+
+ COEFF(2, 0, 0) = 1/80 + 1/16 x - 1/80 y - 1/80 z,
+
+ COEFF(-1, 1, 0) = - 1/80 z + 1/16 + 1/80 y - 1/16 x,
+
+ COEFF(0, 1, 0) = 1/80 z - 1/8 + 3/16 x - 1/80 y,
+
+ COEFF(1, 1, 0) = 1/16 + 1/80 z - 1/80 y - 3/16 x,
+
+ COEFF(2, 1, 0) = - 1/80 z + 1/16 x + 1/80 y,
+
+ COEFF(-1, 2, 0) = 1/20 - 1/16 x - 1/80 z + 3/80 y,
+
+ COEFF(0, 2, 0) = - 9/80 + 1/80 z + 3/16 x - 3/80 y,
+
+ COEFF(1, 2, 0) = 1/80 z - 3/80 y + 3/40 - 3/16 x,
+
+ COEFF(2, 2, 0) = - 1/80 z + 3/80 y - 1/80 + 1/16 x,
+
+ COEFF(-1, -1, 1) = 3/40 - 3/80 y + 1/80 z - 1/16 x,
+
+ 11
+ COEFF(0, -1, 1) = - 1/80 z + 3/80 y - -- + 3/16 x,
+ 80
+
+ COEFF(1, -1, 1) = 1/20 + 3/80 y - 3/16 x - 1/80 z,
+
+ COEFF(2, -1, 1) = 1/80 z - 3/80 y + 1/80 + 1/16 x,
+
+ COEFF(-1, 0, 1) = 1/80 z + 1/16 - 1/80 y - 1/16 x,
+
+ COEFF(0, 0, 1) = - 1/80 z + 1/80 y + 3/16 x - 1/8,
+
+ COEFF(1, 0, 1) = 1/16 - 1/80 z - 3/16 x + 1/80 y,
+
+ COEFF(2, 0, 1) = 1/80 z + 1/16 x - 1/80 y,
+
+ COEFF(-1, 1, 1) = 1/20 + 1/80 y + 1/80 z - 1/16 x,
+
+ COEFF(0, 1, 1) = - 9/80 - 1/80 y - 1/80 z + 3/16 x,
+
+ COEFF(1, 1, 1) = - 1/80 z + 3/40 - 1/80 y - 3/16 x,
+
+ COEFF(2, 1, 1) = 1/80 y - 1/80 + 1/80 z + 1/16 x,
+
+ COEFF(-1, 2, 1) = 3/80 y + 3/80 + 1/80 z - 1/16 x,
+
+ COEFF(0, 2, 1) = - 3/80 y - 1/10 + 3/16 x - 1/80 z,
+
+ COEFF(1, 2, 1) = - 3/16 x + 7/80 - 3/80 y - 1/80 z,
+
+ COEFF(2, 2, 1) = - 1/40 + 1/16 x + 3/80 y + 1/80 z,
+
+ COEFF(-1, -1, 2) = 3/80 z + 1/16 - 3/80 y - 1/16 x,
+
+ COEFF(0, -1, 2) = - 3/80 z - 1/8 + 3/80 y + 3/16 x,
+
+ COEFF(1, -1, 2) = 1/16 + 3/80 y - 3/16 x - 3/80 z,
+
+ COEFF(2, -1, 2) = - 3/80 y + 1/16 x + 3/80 z,
+
+ COEFF(-1, 0, 2) = 3/80 z + 1/20 - 1/80 y - 1/16 x,
+
+ COEFF(0, 0, 2) = - 9/80 - 3/80 z + 1/80 y + 3/16 x,
+
+ COEFF(1, 0, 2) = 3/40 - 3/16 x + 1/80 y - 3/80 z,
+
+ COEFF(2, 0, 2) = 3/80 z - 1/80 + 1/16 x - 1/80 y,
+
+ COEFF(-1, 1, 2) = 1/80 y - 1/16 x + 3/80 z + 3/80,
+
+ COEFF(0, 1, 2) = 3/16 x - 1/10 - 1/80 y - 3/80 z,
+
+ COEFF(1, 1, 2) = 7/80 - 3/80 z - 3/16 x - 1/80 y,
+
+ COEFF(2, 1, 2) = 1/16 x + 1/80 y + 3/80 z - 1/40,
+
+ COEFF(-1, 2, 2) = - 1/16 x + 3/80 z + 3/80 y + 1/40,
+
+ COEFF(0, 2, 2) = - 7/80 - 3/80 z - 3/80 y + 3/16 x,
+
+ COEFF(1, 2, 2) = 1/10 - 3/80 y - 3/80 z - 3/16 x,
+
+ COEFF(2, 2, 2) = - 3/80 + 3/80 z + 1/16 x + 3/80 y]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c");
+bytes used=482129948, alloc=4783252, time=50.45
+bytes used=483130232, alloc=4783252, time=50.53
+bytes used=484143132, alloc=4783252, time=50.61
+bytes used=485143304, alloc=4783252, time=50.87
+bytes used=486143488, alloc=4783252, time=51.00
+bytes used=487143648, alloc=4783252, time=51.06
+bytes used=488143828, alloc=4783252, time=51.15
+bytes used=489143996, alloc=4783252, time=51.25
+bytes used=490144208, alloc=4783252, time=51.56
+bytes used=491144468, alloc=4783252, time=51.66
+bytes used=492144728, alloc=4783252, time=52.01
+>
+# d^2/dxdy
+> simplify( diff(interp_3d_cube_order3_smooth0,x,y) );
+bytes used=493145036, alloc=4783252, time=52.12
+ 37 33
+- ---- DATA(-1, 1, -1) - 1/250 DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+ 1000 2000
+
+ 129 17
+ + ---- DATA(-1, -1, 0) - 7/2000 DATA(0, -1, 0) - --- DATA(1, -1, 0)
+ 2000 500
+
+ 17 31
+ - 7/2000 DATA(-1, 0, 0) - --- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1)
+ 500 1000
+
+ 13 31 111
+ - ---- DATA(-1, 0, 1) - ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1)
+ 2000 1000 2000
+
+ 13 17
+ - ---- DATA(0, -1, 1) - 1/2000 DATA(-1, 0, -1) - ---- DATA(0, 0, -1)
+ 2000 2000
+
+ 19
+ - 1/250 DATA(1, 0, -1) - ---- DATA(0, 0, 0) - 3/1000 DATA(1, 0, 0)
+ 2000
+
+ 31 21
+ - 3/1000 DATA(0, 1, 0) + ---- DATA(1, 1, 0) - ---- DATA(0, 0, 1)
+ 2000 2000
+
+ 29
+ - 1/500 DATA(1, 0, 1) - 1/500 DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 2000
+
+ - 1/80 y DATA(0, 2, 1) - 3/80 y DATA(-1, 2, 2) + 3/80 y DATA(2, 2, -1)
+
+ 147
+ + 1/80 y DATA(1, 2, 0) + ---- DATA(-1, -1, -1) - 1/2000 DATA(0, -1, -1)
+ 2000
+
+ 49 49
+ + ---- DATA(1, 2, -1) + ---- DATA(2, 1, -1) - 9/250 DATA(-1, 2, -1)
+ 2000 2000
+
+ 13 13
+ + ---- DATA(0, 2, -1) - 9/250 DATA(2, -1, -1) + ---- DATA(2, 0, -1)
+ 1000 1000
+
+ 37 19
+ + ---- DATA(2, 1, 1) - 9/500 DATA(-1, 2, 1) + ---- DATA(0, 2, 1)
+ 2000 1000
+
+ 37 19
+ + ---- DATA(1, 2, 1) - 9/500 DATA(2, -1, 1) + ---- DATA(2, 0, 1)
+ 2000 1000
+
+ 37 43 21
+ - ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0) - ---- DATA(2, 2, 0)
+ 1000 2000 2000
+
+ 43 27
+ + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0) + 2/125 DATA(0, 2, 0)
+ 2000 1000
+
+ 27
+ - ---- DATA(2, -1, 0) + 2/125 DATA(2, 0, 0) - 3/2000 DATA(2, 2, -1)
+ 1000
+
+ 31 57 27
+ + ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2) + ---- DATA(1, 1, 2)
+ 2000 2000 2000
+
+ 31 11
+ + ---- DATA(2, 1, 2) - 9/1000 DATA(-1, 2, 2) + --- DATA(0, 2, 2)
+ 2000 500
+
+ 11
+ - 1/1000 DATA(1, 0, 2) + --- DATA(2, 0, 2) - 7/250 DATA(-1, 1, 2)
+ 500
+
+ - 1/1000 DATA(0, 1, 2) - 7/250 DATA(1, -1, 2) - 9/1000 DATA(2, -1, 2)
+
+ 19 23
+ - ---- DATA(-1, 0, 2) - ---- DATA(0, 0, 2) - 3/80 x DATA(2, -1, 2)
+ 2000 2000
+
+ - 1/80 x DATA(2, 0, 1) + 1/80 x DATA(2, 1, 0) + 3/80 x DATA(2, 2, -1)
+
+ 93 19 39
+ + ---- DATA(-1, -1, 2) - ---- DATA(0, -1, 2) - ---- DATA(2, 2, 1)
+ 2000 2000 2000
+
+ + 1/80 x DATA(-1, 1, -1) + 3/80 y DATA(2, -1, 2) - 1/80 y DATA(0, 2, 0)
+
+ - 3/80 y DATA(-1, 2, 0) - 3/80 y DATA(-1, -1, 0) + 1/80 y DATA(1, -1, 0)
+
+ + 3/80 y DATA(-1, 0, 0) + 3/80 y DATA(-1, 1, 0) + 3/80 y DATA(-1, 1, 1)
+
+ + 3/80 y DATA(-1, 0, 1) + 1/80 y DATA(1, -1, 1) - 3/80 y DATA(-1, -1, 1)
+
+ - 1/80 y DATA(0, -1, 1) + 3/80 y DATA(-1, 0, -1) + 1/80 y DATA(0, 0, -1)
+
+ - 1/80 y DATA(1, 0, -1) + 1/80 y DATA(0, 0, 0) - 1/80 y DATA(1, 0, 0)
+
+ - 3/80 y DATA(2, 0, 1) - 3/80 y DATA(2, 1, 0) + 3/80 y DATA(2, 2, 1)
+
+ + 1/80 y DATA(1, -1, -1) + 3/80 y DATA(2, 2, 0) + 1/80 y DATA(0, 1, 0)
+
+ - 1/80 y DATA(1, 1, 0) + 1/80 y DATA(0, 0, 1) + 1/80 y DATA(0, 1, 1)
+
+ - 1/80 y DATA(1, 1, 1) - 3/80 y DATA(-1, -1, -1) - 1/80 y DATA(0, -1, -1)
+
+ + 1/80 y DATA(1, 2, -1) - 3/80 y DATA(2, 1, -1) - 3/80 y DATA(-1, 2, -1)
+
+ - 1/80 y DATA(0, 2, -1) - 3/80 y DATA(2, 1, 2) - 1/80 y DATA(0, 2, 2)
+
+ - 1/80 y DATA(1, 0, 2) - 3/80 y DATA(2, 0, 2) + 3/80 y DATA(-1, 1, 2)
+
+ + 1/80 y DATA(0, 1, 2) + 1/80 y DATA(1, -1, 2) + 3/80 y DATA(-1, 0, 2)
+
+ + 1/80 y DATA(0, 0, 2) - 3/80 y DATA(-1, -1, 2) - 1/80 y DATA(0, -1, 2)
+
+ + 9/1000 z DATA(-1, 1, -1) + 3/1000 z DATA(0, 1, -1)
+
+ - 3/1000 z DATA(1, 1, -1) - 9/1000 z DATA(-1, -1, 0)
+
+ - 3/1000 z DATA(0, -1, 0) + 3/1000 z DATA(1, -1, 0)
+
+ - 3/1000 z DATA(-1, 0, 0) + 3/1000 z DATA(-1, 1, 0)
+
+ - 3/1000 z DATA(-1, 1, 1) + 3/1000 z DATA(-1, 0, 1)
+
+ - 3/1000 z DATA(1, -1, 1) + 9/1000 z DATA(-1, -1, 1)
+
+ + 3/1000 z DATA(0, -1, 1) - 9/1000 z DATA(-1, 0, -1)
+
+ - 3/1000 z DATA(0, 0, -1) + 3/1000 z DATA(1, 0, -1)
+
+ - 1/1000 z DATA(0, 0, 0) + 1/1000 z DATA(1, 0, 0) - 3/1000 z DATA(2, 0, 1)
+
+ 27
+ - 3/1000 z DATA(2, 1, 0) + 9/1000 z DATA(2, 2, 1) - ---- z DATA(2, 2, -1)
+ 1000
+
+ + 9/1000 z DATA(-1, 2, 0) + 3/1000 z DATA(0, 2, 0)
+
+ + 9/1000 z DATA(2, -1, 0) + 3/1000 z DATA(2, 0, 0)
+
+ 27
+ + 9/1000 z DATA(1, 2, 2) + ---- z DATA(2, 2, 2) + 3/1000 z DATA(1, 1, 2)
+ 1000
+
+ 27
+ - 1/1000 z DATA(1, 0, 1) + ---- z DATA(2, -1, -1)
+ 1000
+
+ + 9/1000 z DATA(2, 0, -1) + 3/1000 z DATA(2, 1, 1)
+
+ - 9/1000 z DATA(-1, 2, 1) - 3/1000 z DATA(0, 2, 1) - 1/80 x DATA(0, 1, -1)
+
+ - 1/80 x DATA(1, 1, -1) - 3/80 x DATA(-1, -1, 0) - 1/80 y DATA(0, -1, 0)
+
+ + 3/80 y DATA(-1, 1, -1) + 1/80 y DATA(0, 1, -1) - 1/80 y DATA(1, 1, -1)
+
+ - 3/80 y DATA(2, 1, 1) + 1/80 y DATA(1, 2, 1) + 3/80 y DATA(2, -1, 1)
+
+ + 3/80 x DATA(0, -1, 0) + 3/80 x DATA(1, -1, 0) - 1/80 x DATA(-1, 0, 0)
+
+ + 1/80 x DATA(-1, 1, 0) + 1/80 x DATA(-1, 1, 1) - 1/80 x DATA(-1, 0, 1)
+
+ + 3/80 x DATA(1, -1, 1) - 3/80 x DATA(-1, -1, 1) + 3/80 x DATA(0, -1, 1)
+
+ - 1/80 x DATA(-1, 0, -1) + 1/80 x DATA(0, 0, -1) + 1/80 x DATA(1, 0, -1)
+
+ + 1/80 x DATA(0, 0, 0) + 1/80 x DATA(1, 0, 0) + 3/80 x DATA(2, 2, 1)
+
+ + 3/80 x DATA(-1, 2, 0) - 3/80 x DATA(0, 2, 0) - 3/80 x DATA(2, -1, 0)
+
+ - 1/80 x DATA(2, 0, 0) - 3/80 x DATA(1, 2, 2) + 3/80 x DATA(2, 2, 2)
+
+ - 1/80 x DATA(1, 1, 2) + 1/80 x DATA(1, 0, 1) - 3/80 x DATA(2, -1, -1)
+
+ - 1/80 x DATA(2, 0, -1) + 1/80 x DATA(2, 1, 1) + 3/80 x DATA(-1, 2, 1)
+
+ - 3/80 x DATA(0, 2, 1) - 3/80 x DATA(1, 2, 1) - 3/80 x DATA(2, -1, 1)
+
+ + 3/80 x DATA(1, -1, -1) - 3/80 x DATA(1, 2, 0) + 3/80 x DATA(2, 2, 0)
+
+ - 1/80 x DATA(0, 1, 0) - 1/80 x DATA(1, 1, 0) + 1/80 x DATA(0, 0, 1)
+
+ - 1/80 x DATA(0, 1, 1) - 1/80 x DATA(1, 1, 1) - 3/80 x DATA(-1, -1, -1)
+
+ + 3/80 x DATA(0, -1, -1) - 3/80 x DATA(1, 2, -1) + 1/80 x DATA(2, 1, -1)
+
+ + 3/80 x DATA(-1, 2, -1) - 3/80 x DATA(0, 2, -1) + 1/80 x DATA(2, 1, 2)
+
+ + 3/80 x DATA(-1, 2, 2) - 3/80 x DATA(0, 2, 2) + 1/80 x DATA(1, 0, 2)
+
+ - 1/80 x DATA(2, 0, 2) + 1/80 x DATA(-1, 1, 2) - 1/80 x DATA(0, 1, 2)
+
+ + 3/80 x DATA(1, -1, 2) - 1/80 x DATA(-1, 0, 2) + 1/80 x DATA(0, 0, 2)
+
+ - 3/80 x DATA(-1, -1, 2) + 3/80 x DATA(0, -1, 2) - 3/80 y DATA(-1, 2, 1)
+
+ + 3/1000 z DATA(1, 2, 1) - 9/1000 z DATA(2, -1, 1)
+
+ + 9/1000 z DATA(1, -1, -1) - 3/1000 z DATA(1, 2, 0)
+
+ - 9/1000 z DATA(2, 2, 0) + 1/1000 z DATA(0, 1, 0) - 1/1000 z DATA(1, 1, 0)
+
+ + 1/1000 z DATA(0, 0, 1) - 1/1000 z DATA(0, 1, 1) + 1/1000 z DATA(1, 1, 1)
+
+ 27
+ - ---- z DATA(-1, -1, -1) - 9/1000 z DATA(0, -1, -1)
+ 1000
+
+ - 9/1000 z DATA(1, 2, -1) - 9/1000 z DATA(2, 1, -1)
+
+ 27
+ + ---- z DATA(-1, 2, -1) + 9/1000 z DATA(0, 2, -1)
+ 1000
+
+ + 9/1000 z DATA(2, 1, 2) - 9/1000 z DATA(0, 2, 2) - 9/1000 z DATA(2, 0, 2)
+
+ - 9/1000 z DATA(-1, 1, 2) - 9/1000 z DATA(1, -1, 2)
+
+ + 9/1000 z DATA(-1, 0, 2) + 3/1000 z DATA(0, 0, 2)
+
+ 27
+ + ---- z DATA(-1, -1, 2) + 9/1000 z DATA(0, -1, 2) + 3/80 y DATA(2, -1, 0)
+ 1000
+
+ - 3/80 y DATA(2, 0, 0) + 1/80 y DATA(1, 2, 2) + 3/80 y DATA(2, 2, 2)
+
+ - 1/80 y DATA(1, 1, 2) - 1/80 y DATA(1, 0, 1) + 3/80 y DATA(2, -1, -1)
+
+ 27
+ - 3/80 y DATA(2, 0, -1) - 3/1000 z DATA(0, 1, 2) - ---- z DATA(2, -1, 2)
+ 1000
+
+ 27
+ - ---- z DATA(-1, 2, 2) - 3/1000 z DATA(1, 0, 2)
+ 1000
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=494145256, alloc=4783252, time=52.19
+bytes used=495145572, alloc=4783252, time=52.26
+bytes used=496145768, alloc=4783252, time=52.34
+bytes used=497145936, alloc=4783252, time=52.41
+bytes used=498148868, alloc=4783252, time=52.48
+ 27 147
+[COEFF(-1, -1, -1) = - ---- z - 3/80 x - 3/80 y + ----,
+ 1000 2000
+
+ COEFF(0, -1, -1) = - 1/2000 - 9/1000 z + 3/80 x - 1/80 y,
+
+ 37
+ COEFF(1, -1, -1) = 1/80 y + 9/1000 z + 3/80 x - ----,
+ 1000
+
+ 27
+ COEFF(2, -1, -1) = - 9/250 - 3/80 x + 3/80 y + ---- z,
+ 1000
+
+ COEFF(-1, 0, -1) = - 9/1000 z + 3/80 y - 1/2000 - 1/80 x,
+
+ 17
+ COEFF(0, 0, -1) = 1/80 x - 3/1000 z - ---- + 1/80 y,
+ 2000
+
+ COEFF(1, 0, -1) = 3/1000 z + 1/80 x - 1/80 y - 1/250,
+
+ 13
+ COEFF(2, 0, -1) = - 3/80 y + ---- + 9/1000 z - 1/80 x,
+ 1000
+
+ 37
+ COEFF(-1, 1, -1) = 3/80 y - ---- + 1/80 x + 9/1000 z,
+ 1000
+
+ COEFF(0, 1, -1) = 3/1000 z - 1/250 + 1/80 y - 1/80 x,
+
+ 33
+ COEFF(1, 1, -1) = - 1/80 x - 1/80 y - 3/1000 z + ----,
+ 2000
+
+ 49
+ COEFF(2, 1, -1) = 1/80 x - 9/1000 z + ---- - 3/80 y,
+ 2000
+
+ 27
+ COEFF(-1, 2, -1) = ---- z + 3/80 x - 3/80 y - 9/250,
+ 1000
+
+ 13
+ COEFF(0, 2, -1) = 9/1000 z - 3/80 x + ---- - 1/80 y,
+ 1000
+
+ 49
+ COEFF(1, 2, -1) = 1/80 y - 3/80 x - 9/1000 z + ----,
+ 2000
+
+ 27
+ COEFF(2, 2, -1) = - 3/2000 - ---- z + 3/80 x + 3/80 y,
+ 1000
+
+ 129
+ COEFF(-1, -1, 0) = ---- - 9/1000 z - 3/80 x - 3/80 y,
+ 2000
+
+ COEFF(0, -1, 0) = - 1/80 y + 3/80 x - 3/1000 z - 7/2000,
+
+ 17
+ COEFF(1, -1, 0) = 3/80 x - --- + 3/1000 z + 1/80 y,
+ 500
+
+ 27
+ COEFF(2, -1, 0) = - ---- + 9/1000 z - 3/80 x + 3/80 y,
+ 1000
+
+ COEFF(-1, 0, 0) = - 1/80 x + 3/80 y - 3/1000 z - 7/2000,
+
+ 19
+ COEFF(0, 0, 0) = - ---- - 1/1000 z + 1/80 x + 1/80 y,
+ 2000
+
+ COEFF(1, 0, 0) = - 1/80 y - 3/1000 + 1/1000 z + 1/80 x,
+
+ COEFF(2, 0, 0) = - 3/80 y - 1/80 x + 2/125 + 3/1000 z,
+
+ 17
+ COEFF(-1, 1, 0) = - --- + 3/80 y + 1/80 x + 3/1000 z,
+ 500
+
+ COEFF(0, 1, 0) = - 3/1000 + 1/80 y + 1/1000 z - 1/80 x,
+
+ 31
+ COEFF(1, 1, 0) = - 1/1000 z + ---- - 1/80 y - 1/80 x,
+ 2000
+
+ 43
+ COEFF(2, 1, 0) = - 3/80 y + 1/80 x + ---- - 3/1000 z,
+ 2000
+
+ 27
+ COEFF(-1, 2, 0) = - 3/80 y - ---- + 9/1000 z + 3/80 x,
+ 1000
+
+ COEFF(0, 2, 0) = 3/1000 z - 3/80 x + 2/125 - 1/80 y,
+
+ 43
+ COEFF(1, 2, 0) = ---- - 3/1000 z - 3/80 x + 1/80 y,
+ 2000
+
+ 21
+ COEFF(2, 2, 0) = 3/80 x + 3/80 y - 9/1000 z - ----,
+ 2000
+
+ 111
+ COEFF(-1, -1, 1) = - 3/80 x + 9/1000 z + ---- - 3/80 y,
+ 2000
+
+ 13
+ COEFF(0, -1, 1) = 3/1000 z + 3/80 x - 1/80 y - ----,
+ 2000
+
+ 31
+ COEFF(1, -1, 1) = 1/80 y - 3/1000 z + 3/80 x - ----,
+ 1000
+
+ COEFF(2, -1, 1) = - 3/80 x - 9/500 - 9/1000 z + 3/80 y,
+
+ 13
+ COEFF(-1, 0, 1) = - 1/80 x - ---- + 3/1000 z + 3/80 y,
+ 2000
+
+ 21
+ COEFF(0, 0, 1) = 1/80 x + 1/1000 z - ---- + 1/80 y,
+ 2000
+
+ COEFF(1, 0, 1) = - 1/500 - 1/80 y + 1/80 x - 1/1000 z,
+
+ 19
+ COEFF(2, 0, 1) = - 3/80 y - 3/1000 z - 1/80 x + ----,
+ 1000
+
+ 31
+ COEFF(-1, 1, 1) = 1/80 x - ---- - 3/1000 z + 3/80 y,
+ 1000
+
+ COEFF(0, 1, 1) = - 1/500 - 1/80 x - 1/1000 z + 1/80 y,
+
+ 29
+ COEFF(1, 1, 1) = - 1/80 x - 1/80 y + 1/1000 z + ----,
+ 2000
+
+ 37
+ COEFF(2, 1, 1) = - 3/80 y + 1/80 x + 3/1000 z + ----,
+ 2000
+
+ COEFF(-1, 2, 1) = 3/80 x - 9/500 - 9/1000 z - 3/80 y,
+
+ 19
+ COEFF(0, 2, 1) = - 3/1000 z - 1/80 y - 3/80 x + ----,
+ 1000
+
+ 37
+ COEFF(1, 2, 1) = 3/1000 z + ---- - 3/80 x + 1/80 y,
+ 2000
+
+ 39
+ COEFF(2, 2, 1) = - ---- + 3/80 y + 9/1000 z + 3/80 x,
+ 2000
+
+ 93 27
+ COEFF(-1, -1, 2) = ---- + ---- z - 3/80 x - 3/80 y,
+ 2000 1000
+
+ 19
+ COEFF(0, -1, 2) = 9/1000 z - ---- + 3/80 x - 1/80 y,
+ 2000
+
+ COEFF(1, -1, 2) = - 7/250 - 9/1000 z + 3/80 x + 1/80 y,
+
+ 27
+ COEFF(2, -1, 2) = 3/80 y - ---- z - 3/80 x - 9/1000,
+ 1000
+
+ 19
+ COEFF(-1, 0, 2) = - 1/80 x + 3/80 y + 9/1000 z - ----,
+ 2000
+
+ 23
+ COEFF(0, 0, 2) = 1/80 x + 3/1000 z + 1/80 y - ----,
+ 2000
+
+ COEFF(1, 0, 2) = - 1/1000 + 1/80 x - 3/1000 z - 1/80 y,
+
+ 11
+ COEFF(2, 0, 2) = - 9/1000 z - 3/80 y + --- - 1/80 x,
+ 500
+
+ COEFF(-1, 1, 2) = 3/80 y + 1/80 x - 7/250 - 9/1000 z,
+
+ COEFF(0, 1, 2) = - 1/80 x - 1/1000 - 3/1000 z + 1/80 y,
+
+ 27
+ COEFF(1, 1, 2) = - 1/80 x + ---- - 1/80 y + 3/1000 z,
+ 2000
+
+ 31
+ COEFF(2, 1, 2) = - 3/80 y + 9/1000 z + ---- + 1/80 x,
+ 2000
+
+ 27
+ COEFF(-1, 2, 2) = 3/80 x - ---- z - 9/1000 - 3/80 y,
+ 1000
+
+ 11
+ COEFF(0, 2, 2) = - 3/80 x - 1/80 y + --- - 9/1000 z,
+ 500
+
+ 31
+ COEFF(1, 2, 2) = ---- - 3/80 x + 9/1000 z + 1/80 y,
+ 2000
+
+ 57 27
+ COEFF(2, 2, 2) = 3/80 x - ---- + ---- z + 3/80 y]
+ 2000 1000
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c");
+bytes used=499149092, alloc=4783252, time=52.56
+bytes used=500149256, alloc=4783252, time=52.74
+bytes used=501154356, alloc=4783252, time=52.83
+bytes used=502154580, alloc=4783252, time=53.17
+bytes used=503155052, alloc=4783252, time=53.26
+bytes used=504155280, alloc=4783252, time=53.33
+bytes used=505158388, alloc=4783252, time=53.42
+bytes used=506158772, alloc=4783252, time=53.50
+bytes used=507158980, alloc=4783252, time=53.92
+bytes used=508159204, alloc=4783252, time=54.02
+bytes used=509159432, alloc=4783252, time=54.37
+bytes used=510159680, alloc=4783252, time=54.54
+>
+# d^2/dxdz
+> simplify( diff(interp_3d_cube_order3_smooth0,x,z) );
+bytes used=511159892, alloc=4783252, time=54.65
+111 13 31
+---- DATA(-1, 1, -1) - ---- DATA(0, 1, -1) - ---- DATA(1, 1, -1)
+2000 2000 1000
+
+ 17
+ - 1/2000 DATA(-1, -1, 0) - ---- DATA(0, -1, 0) - 1/250 DATA(1, -1, 0)
+ 2000
+
+ 13 31
+ - 7/2000 DATA(-1, 0, 0) - ---- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1)
+ 2000 1000
+
+ 17 33 37
+ - --- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 500 2000 1000
+
+ 129
+ - 1/250 DATA(0, -1, 1) + ---- DATA(-1, 0, -1) - 7/2000 DATA(0, 0, -1)
+ 2000
+
+ 17 19
+ - --- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - 3/1000 DATA(1, 0, 0)
+ 500 2000
+
+ 21
+ - ---- DATA(0, 1, 0) - 1/500 DATA(1, 1, 0) - 3/1000 DATA(0, 0, 1)
+ 2000
+
+ 31 29
+ + ---- DATA(1, 0, 1) - 1/500 DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 2000 2000
+
+ 27 27
+ - 3/1000 y DATA(0, 2, 1) - ---- y DATA(-1, 2, 2) - ---- y DATA(2, 2, -1)
+ 1000 1000
+
+ 147
+ - 3/1000 y DATA(1, 2, 0) + ---- DATA(-1, -1, -1) - 1/2000 DATA(0, -1, -1)
+ 2000
+
+ 93
+ - 7/250 DATA(1, 2, -1) - 9/500 DATA(2, 1, -1) + ---- DATA(-1, 2, -1)
+ 2000
+
+ 19 27
+ - ---- DATA(0, 2, -1) - 9/250 DATA(2, -1, -1) - ---- DATA(2, 0, -1)
+ 2000 1000
+
+ 37
+ + ---- DATA(2, 1, 1) - 7/250 DATA(-1, 2, 1) - 1/1000 DATA(0, 2, 1)
+ 2000
+
+ 27 49 43
+ + ---- DATA(1, 2, 1) + ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1)
+ 2000 2000 2000
+
+ 37 11
+ - ---- DATA(1, -1, -1) - 1/1000 DATA(1, 2, 0) + --- DATA(2, 2, 0)
+ 1000 500
+
+ 19 19 23
+ + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0) - ---- DATA(0, 2, 0)
+ 1000 2000 2000
+
+ 13
+ + ---- DATA(2, -1, 0) + 2/125 DATA(2, 0, 0) - 9/1000 DATA(2, 2, -1)
+ 1000
+
+ 31 57 37
+ + ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2) + ---- DATA(1, 1, 2)
+ 2000 2000 2000
+
+ 39 11
+ - ---- DATA(2, 1, 2) - 9/1000 DATA(-1, 2, 2) + --- DATA(0, 2, 2)
+ 2000 500
+
+ 43 21
+ + ---- DATA(1, 0, 2) - ---- DATA(2, 0, 2) - 9/500 DATA(-1, 1, 2)
+ 2000 2000
+
+ 19 49
+ + ---- DATA(0, 1, 2) + ---- DATA(1, -1, 2) - 3/2000 DATA(2, -1, 2)
+ 1000 2000
+
+ 27
+ - ---- DATA(-1, 0, 2) + 2/125 DATA(0, 0, 2) + 3/80 x DATA(2, -1, 2)
+ 1000
+
+ + 1/80 x DATA(2, 0, 1) - 1/80 x DATA(2, 1, 0) - 3/80 x DATA(2, 2, -1)
+
+ 13 31
+ - 9/250 DATA(-1, -1, 2) + ---- DATA(0, -1, 2) + ---- DATA(2, 2, 1)
+ 1000 2000
+
+ 27
+ - 3/80 x DATA(-1, 1, -1) - ---- y DATA(2, -1, 2) + 3/1000 y DATA(0, 2, 0)
+ 1000
+
+ + 9/1000 y DATA(-1, 2, 0) - 9/1000 y DATA(-1, -1, 0)
+
+ + 3/1000 y DATA(1, -1, 0) - 3/1000 y DATA(-1, 0, 0)
+
+ + 3/1000 y DATA(-1, 1, 0) - 3/1000 y DATA(-1, 1, 1)
+
+ + 3/1000 y DATA(-1, 0, 1) - 3/1000 y DATA(1, -1, 1)
+
+ + 9/1000 y DATA(-1, -1, 1) + 3/1000 y DATA(0, -1, 1)
+
+ - 9/1000 y DATA(-1, 0, -1) - 3/1000 y DATA(0, 0, -1)
+
+ + 3/1000 y DATA(1, 0, -1) - 1/1000 y DATA(0, 0, 0)
+
+ + 1/1000 y DATA(1, 0, 0) - 3/1000 y DATA(2, 0, 1) - 3/1000 y DATA(2, 1, 0)
+
+ + 9/1000 y DATA(2, 2, 1) + 9/1000 y DATA(1, -1, -1)
+
+ - 9/1000 y DATA(2, 2, 0) + 1/1000 y DATA(0, 1, 0) - 1/1000 y DATA(1, 1, 0)
+
+ + 1/1000 y DATA(0, 0, 1) - 1/1000 y DATA(0, 1, 1) + 1/1000 y DATA(1, 1, 1)
+
+ 27
+ - ---- y DATA(-1, -1, -1) - 9/1000 y DATA(0, -1, -1)
+ 1000
+
+ - 9/1000 y DATA(1, 2, -1) - 9/1000 y DATA(2, 1, -1)
+
+ 27
+ + ---- y DATA(-1, 2, -1) + 9/1000 y DATA(0, 2, -1)
+ 1000
+
+ + 9/1000 y DATA(2, 1, 2) - 9/1000 y DATA(0, 2, 2) - 3/1000 y DATA(1, 0, 2)
+
+ - 9/1000 y DATA(2, 0, 2) - 9/1000 y DATA(-1, 1, 2)
+
+ - 3/1000 y DATA(0, 1, 2) - 9/1000 y DATA(1, -1, 2)
+
+ + 9/1000 y DATA(-1, 0, 2) + 3/1000 y DATA(0, 0, 2)
+
+ 27
+ + ---- y DATA(-1, -1, 2) + 9/1000 y DATA(0, -1, 2)
+ 1000
+
+ - 3/80 z DATA(-1, 1, -1) - 1/80 z DATA(0, 1, -1) + 1/80 z DATA(1, 1, -1)
+
+ + 3/80 z DATA(-1, -1, 0) + 1/80 z DATA(0, -1, 0) - 1/80 z DATA(1, -1, 0)
+
+ + 3/80 z DATA(-1, 0, 0) + 3/80 z DATA(-1, 1, 0) + 3/80 z DATA(-1, 1, 1)
+
+ + 3/80 z DATA(-1, 0, 1) - 1/80 z DATA(1, -1, 1) + 3/80 z DATA(-1, -1, 1)
+
+ + 1/80 z DATA(0, -1, 1) - 3/80 z DATA(-1, 0, -1) - 1/80 z DATA(0, 0, -1)
+
+ + 1/80 z DATA(1, 0, -1) + 1/80 z DATA(0, 0, 0) - 1/80 z DATA(1, 0, 0)
+
+ - 3/80 z DATA(2, 0, 1) - 3/80 z DATA(2, 1, 0) - 3/80 z DATA(2, 2, 1)
+
+ + 3/80 z DATA(2, 2, -1) + 3/80 z DATA(-1, 2, 0) + 1/80 z DATA(0, 2, 0)
+
+ - 3/80 z DATA(2, -1, 0) - 3/80 z DATA(2, 0, 0) + 1/80 z DATA(1, 2, 2)
+
+ + 3/80 z DATA(2, 2, 2) + 1/80 z DATA(1, 1, 2) - 1/80 z DATA(1, 0, 1)
+
+ + 3/80 z DATA(2, -1, -1) + 3/80 z DATA(2, 0, -1) - 3/80 z DATA(2, 1, 1)
+
+ + 3/80 z DATA(-1, 2, 1) + 1/80 z DATA(0, 2, 1) + 3/80 x DATA(0, 1, -1)
+
+ + 3/80 x DATA(1, 1, -1) - 1/80 x DATA(-1, -1, 0) - 3/1000 y DATA(0, -1, 0)
+
+ + 9/1000 y DATA(-1, 1, -1) + 3/1000 y DATA(0, 1, -1)
+
+ - 3/1000 y DATA(1, 1, -1) + 3/1000 y DATA(2, 1, 1)
+
+ + 3/1000 y DATA(1, 2, 1) - 9/1000 y DATA(2, -1, 1) + 1/80 x DATA(0, -1, 0)
+
+ + 1/80 x DATA(1, -1, 0) - 1/80 x DATA(-1, 0, 0) - 1/80 x DATA(-1, 1, 0)
+
+ + 1/80 x DATA(-1, 1, 1) + 1/80 x DATA(-1, 0, 1) - 1/80 x DATA(1, -1, 1)
+
+ + 1/80 x DATA(-1, -1, 1) - 1/80 x DATA(0, -1, 1) - 3/80 x DATA(-1, 0, -1)
+
+ + 3/80 x DATA(0, 0, -1) + 3/80 x DATA(1, 0, -1) + 1/80 x DATA(0, 0, 0)
+
+ + 1/80 x DATA(1, 0, 0) + 1/80 x DATA(2, 2, 1) - 1/80 x DATA(-1, 2, 0)
+
+ + 1/80 x DATA(0, 2, 0) - 1/80 x DATA(2, -1, 0) - 1/80 x DATA(2, 0, 0)
+
+ - 3/80 x DATA(1, 2, 2) + 3/80 x DATA(2, 2, 2) - 3/80 x DATA(1, 1, 2)
+
+ - 1/80 x DATA(1, 0, 1) - 3/80 x DATA(2, -1, -1) - 3/80 x DATA(2, 0, -1)
+
+ + 1/80 x DATA(2, 1, 1) + 1/80 x DATA(-1, 2, 1) - 1/80 x DATA(0, 2, 1)
+
+ - 1/80 x DATA(1, 2, 1) + 1/80 x DATA(2, -1, 1) + 3/80 x DATA(1, -1, -1)
+
+ + 1/80 x DATA(1, 2, 0) - 1/80 x DATA(2, 2, 0) + 1/80 x DATA(0, 1, 0)
+
+ + 1/80 x DATA(1, 1, 0) - 1/80 x DATA(0, 0, 1) - 1/80 x DATA(0, 1, 1)
+
+ - 1/80 x DATA(1, 1, 1) - 3/80 x DATA(-1, -1, -1) + 3/80 x DATA(0, -1, -1)
+
+ + 3/80 x DATA(1, 2, -1) - 3/80 x DATA(2, 1, -1) - 3/80 x DATA(-1, 2, -1)
+
+ + 3/80 x DATA(0, 2, -1) + 3/80 x DATA(2, 1, 2) + 3/80 x DATA(-1, 2, 2)
+
+ - 3/80 x DATA(0, 2, 2) - 3/80 x DATA(1, 0, 2) + 3/80 x DATA(2, 0, 2)
+
+ + 3/80 x DATA(-1, 1, 2) - 3/80 x DATA(0, 1, 2) - 3/80 x DATA(1, -1, 2)
+
+ + 3/80 x DATA(-1, 0, 2) - 3/80 x DATA(0, 0, 2) + 3/80 x DATA(-1, -1, 2)
+
+ - 3/80 x DATA(0, -1, 2) - 9/1000 y DATA(-1, 2, 1) - 1/80 z DATA(1, 2, 1)
+
+ - 3/80 z DATA(2, -1, 1) + 1/80 z DATA(1, -1, -1) - 1/80 z DATA(1, 2, 0)
+
+ - 3/80 z DATA(2, 2, 0) + 1/80 z DATA(0, 1, 0) - 1/80 z DATA(1, 1, 0)
+
+ + 1/80 z DATA(0, 0, 1) + 1/80 z DATA(0, 1, 1) - 1/80 z DATA(1, 1, 1)
+
+ - 3/80 z DATA(-1, -1, -1) - 1/80 z DATA(0, -1, -1) + 1/80 z DATA(1, 2, -1)
+
+ + 3/80 z DATA(2, 1, -1) - 3/80 z DATA(-1, 2, -1) - 1/80 z DATA(0, 2, -1)
+
+ + 3/80 z DATA(2, 1, 2) - 1/80 z DATA(0, 2, 2) + 3/80 z DATA(2, 0, 2)
+
+ - 3/80 z DATA(-1, 1, 2) + 1/80 z DATA(1, -1, 2) - 3/80 z DATA(-1, 0, 2)
+
+ - 1/80 z DATA(0, 0, 2) - 3/80 z DATA(-1, -1, 2) - 1/80 z DATA(0, -1, 2)
+
+ + 9/1000 y DATA(2, -1, 0) + 3/1000 y DATA(2, 0, 0)
+
+ 27
+ + 9/1000 y DATA(1, 2, 2) + ---- y DATA(2, 2, 2) + 3/1000 y DATA(1, 1, 2)
+ 1000
+
+ 27
+ - 1/1000 y DATA(1, 0, 1) + ---- y DATA(2, -1, -1)
+ 1000
+
+ + 9/1000 y DATA(2, 0, -1) - 1/80 z DATA(0, 1, 2) + 3/80 z DATA(2, -1, 2)
+
+ - 3/80 z DATA(-1, 2, 2) + 1/80 z DATA(1, 0, 2)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=512179540, alloc=4783252, time=54.72
+bytes used=513179748, alloc=4783252, time=54.79
+bytes used=514181096, alloc=4783252, time=54.87
+bytes used=515181336, alloc=4783252, time=54.94
+ 147 27
+[COEFF(-1, -1, -1) = - 3/80 x - 3/80 z + ---- - ---- y,
+ 2000 1000
+
+ COEFF(0, -1, -1) = - 1/80 z - 9/1000 y - 1/2000 + 3/80 x,
+
+ 37
+ COEFF(1, -1, -1) = 1/80 z - ---- + 3/80 x + 9/1000 y,
+ 1000
+
+ 27
+ COEFF(2, -1, -1) = - 9/250 + 3/80 z + ---- y - 3/80 x,
+ 1000
+
+ 129
+ COEFF(-1, 0, -1) = ---- - 3/80 z - 9/1000 y - 3/80 x,
+ 2000
+
+ COEFF(0, 0, -1) = - 3/1000 y - 7/2000 + 3/80 x - 1/80 z,
+
+ 17
+ COEFF(1, 0, -1) = 1/80 z + 3/80 x - --- + 3/1000 y,
+ 500
+
+ 27
+ COEFF(2, 0, -1) = 3/80 z + 9/1000 y - 3/80 x - ----,
+ 1000
+
+ 111
+ COEFF(-1, 1, -1) = - 3/80 x + 9/1000 y - 3/80 z + ----,
+ 2000
+
+ 13
+ COEFF(0, 1, -1) = - 1/80 z + 3/80 x - ---- + 3/1000 y,
+ 2000
+
+ 31
+ COEFF(1, 1, -1) = - 3/1000 y - ---- + 1/80 z + 3/80 x,
+ 1000
+
+ COEFF(2, 1, -1) = 3/80 z - 3/80 x - 9/500 - 9/1000 y,
+
+ 27 93
+ COEFF(-1, 2, -1) = - 3/80 z + ---- y - 3/80 x + ----,
+ 1000 2000
+
+ 19
+ COEFF(0, 2, -1) = - ---- + 9/1000 y + 3/80 x - 1/80 z,
+ 2000
+
+ COEFF(1, 2, -1) = - 7/250 + 1/80 z - 9/1000 y + 3/80 x,
+
+ 27
+ COEFF(2, 2, -1) = - 9/1000 + 3/80 z - 3/80 x - ---- y,
+ 1000
+
+ COEFF(-1, -1, 0) = - 1/2000 - 1/80 x - 9/1000 y + 3/80 z,
+
+ 17
+ COEFF(0, -1, 0) = - ---- - 3/1000 y + 1/80 x + 1/80 z,
+ 2000
+
+ COEFF(1, -1, 0) = 1/80 x - 1/250 - 1/80 z + 3/1000 y,
+
+ 13
+ COEFF(2, -1, 0) = - 3/80 z - 1/80 x + 9/1000 y + ----,
+ 1000
+
+ COEFF(-1, 0, 0) = - 7/2000 - 3/1000 y + 3/80 z - 1/80 x,
+
+ 19
+ COEFF(0, 0, 0) = 1/80 z - ---- - 1/1000 y + 1/80 x,
+ 2000
+
+ COEFF(1, 0, 0) = 1/80 x + 1/1000 y - 3/1000 - 1/80 z,
+
+ COEFF(2, 0, 0) = - 3/80 z + 3/1000 y - 1/80 x + 2/125,
+
+ 13
+ COEFF(-1, 1, 0) = 3/80 z - ---- - 1/80 x + 3/1000 y,
+ 2000
+
+ 21
+ COEFF(0, 1, 0) = - ---- + 1/80 x + 1/80 z + 1/1000 y,
+ 2000
+
+ COEFF(1, 1, 0) = 1/80 x - 1/80 z - 1/1000 y - 1/500,
+
+ 19
+ COEFF(2, 1, 0) = ---- - 1/80 x - 3/80 z - 3/1000 y,
+ 1000
+
+ 19
+ COEFF(-1, 2, 0) = 3/80 z + 9/1000 y - ---- - 1/80 x,
+ 2000
+
+ 23
+ COEFF(0, 2, 0) = 1/80 z + 1/80 x + 3/1000 y - ----,
+ 2000
+
+ COEFF(1, 2, 0) = 1/80 x - 1/1000 - 3/1000 y - 1/80 z,
+
+ 11
+ COEFF(2, 2, 0) = - 3/80 z - 1/80 x + --- - 9/1000 y,
+ 500
+
+ 37
+ COEFF(-1, -1, 1) = 1/80 x + 3/80 z - ---- + 9/1000 y,
+ 1000
+
+ COEFF(0, -1, 1) = - 1/250 + 3/1000 y - 1/80 x + 1/80 z,
+
+ 33
+ COEFF(1, -1, 1) = - 1/80 z + ---- - 3/1000 y - 1/80 x,
+ 2000
+
+ 49
+ COEFF(2, -1, 1) = 1/80 x - 3/80 z + ---- - 9/1000 y,
+ 2000
+
+ 17
+ COEFF(-1, 0, 1) = - --- + 3/1000 y + 3/80 z + 1/80 x,
+ 500
+
+ COEFF(0, 0, 1) = - 3/1000 + 1/80 z - 1/80 x + 1/1000 y,
+
+ 31
+ COEFF(1, 0, 1) = - 1/1000 y - 1/80 z - 1/80 x + ----,
+ 2000
+
+ 43
+ COEFF(2, 0, 1) = - 3/80 z - 3/1000 y + ---- + 1/80 x,
+ 2000
+
+ 31
+ COEFF(-1, 1, 1) = - ---- - 3/1000 y + 3/80 z + 1/80 x,
+ 1000
+
+ COEFF(0, 1, 1) = - 1/500 - 1/80 x + 1/80 z - 1/1000 y,
+
+ 29
+ COEFF(1, 1, 1) = - 1/80 x + 1/1000 y - 1/80 z + ----,
+ 2000
+
+ 37
+ COEFF(2, 1, 1) = - 3/80 z + 3/1000 y + ---- + 1/80 x,
+ 2000
+
+ COEFF(-1, 2, 1) = 1/80 x - 9/1000 y - 7/250 + 3/80 z,
+
+ COEFF(0, 2, 1) = - 1/80 x + 1/80 z - 1/1000 - 3/1000 y,
+
+ 27
+ COEFF(1, 2, 1) = - 1/80 z - 1/80 x + ---- + 3/1000 y,
+ 2000
+
+ 31
+ COEFF(2, 2, 1) = 9/1000 y + ---- + 1/80 x - 3/80 z,
+ 2000
+
+ 27
+ COEFF(-1, -1, 2) = - 3/80 z + ---- y - 9/250 + 3/80 x,
+ 1000
+
+ 13
+ COEFF(0, -1, 2) = 9/1000 y - 3/80 x - 1/80 z + ----,
+ 1000
+
+ 49
+ COEFF(1, -1, 2) = - 3/80 x + ---- - 9/1000 y + 1/80 z,
+ 2000
+
+ 27
+ COEFF(2, -1, 2) = - ---- y - 3/2000 + 3/80 x + 3/80 z,
+ 1000
+
+ 27
+ COEFF(-1, 0, 2) = - 3/80 z + 9/1000 y - ---- + 3/80 x,
+ 1000
+
+ COEFF(0, 0, 2) = - 3/80 x + 3/1000 y - 1/80 z + 2/125,
+
+ 43
+ COEFF(1, 0, 2) = - 3/80 x + 1/80 z - 3/1000 y + ----,
+ 2000
+
+ 21
+ COEFF(2, 0, 2) = - 9/1000 y + 3/80 z + 3/80 x - ----,
+ 2000
+
+ COEFF(-1, 1, 2) = - 3/80 z + 3/80 x - 9/500 - 9/1000 y,
+
+ 19
+ COEFF(0, 1, 2) = - 1/80 z - 3/80 x - 3/1000 y + ----,
+ 1000
+
+ 37
+ COEFF(1, 1, 2) = 1/80 z + 3/1000 y - 3/80 x + ----,
+ 2000
+
+ 39
+ COEFF(2, 1, 2) = - ---- + 3/80 x + 9/1000 y + 3/80 z,
+ 2000
+
+ 27
+ COEFF(-1, 2, 2) = - 3/80 z - 9/1000 - ---- y + 3/80 x,
+ 1000
+
+ 11
+ COEFF(0, 2, 2) = - 1/80 z - 9/1000 y - 3/80 x + ---,
+ 500
+
+ 31
+ COEFF(1, 2, 2) = 1/80 z + ---- - 3/80 x + 9/1000 y,
+ 2000
+
+ 57 27
+ COEFF(2, 2, 2) = 3/80 x - ---- + ---- y + 3/80 z]
+ 2000 1000
+
+> print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c");
+bytes used=516181712, alloc=4783252, time=55.01
+bytes used=517181888, alloc=4783252, time=55.09
+bytes used=518182212, alloc=4783252, time=55.25
+bytes used=519182372, alloc=4783252, time=55.34
+bytes used=520182596, alloc=4783252, time=55.66
+bytes used=521182748, alloc=4783252, time=55.80
+bytes used=522183020, alloc=4783252, time=55.87
+bytes used=523183228, alloc=4783252, time=55.97
+bytes used=524183404, alloc=4783252, time=56.06
+bytes used=525183668, alloc=4783252, time=56.46
+bytes used=526183888, alloc=4783252, time=56.53
+bytes used=527184068, alloc=4783252, time=56.91
+bytes used=528184328, alloc=4783252, time=57.05
+>
+# d^2/dy^2
+> simplify( diff(interp_3d_cube_order3_smooth0,y,y) );
+1/40 DATA(-1, 1, -1) + 3/80 DATA(0, 1, -1) + 1/20 DATA(1, 1, -1)
+
+ + 7/80 DATA(-1, -1, 0) + 3/40 DATA(0, -1, 0) + 1/16 DATA(1, -1, 0)
+
+ - 3/20 DATA(-1, 0, 0) + 3/80 DATA(-1, 1, 0) + 1/20 DATA(-1, 1, 1)
+
+ 11
+ - -- DATA(-1, 0, 1) + 1/20 DATA(1, -1, 1) + 3/40 DATA(-1, -1, 1)
+ 80
+
+ 13
+ + 1/16 DATA(0, -1, 1) - -- DATA(-1, 0, -1) - 3/20 DATA(0, 0, -1)
+ 80
+
+ 11 11
+ - -- DATA(1, 0, -1) - -- DATA(0, 0, 0) - 1/8 DATA(1, 0, 0)
+ 80 80
+
+ + 1/20 DATA(0, 1, 0) + 1/16 DATA(1, 1, 0) - 1/8 DATA(0, 0, 1)
+
+ - 9/80 DATA(1, 0, 1) + 1/16 DATA(0, 1, 1) + 3/40 DATA(1, 1, 1)
+
+ + 1/16 y DATA(0, 2, 1) + 1/16 y DATA(-1, 2, 2) + 1/16 y DATA(2, 2, -1)
+
+ + 1/16 y DATA(1, 2, 0) + 1/10 DATA(-1, -1, -1) + 7/80 DATA(0, -1, -1)
+
+ + 1/80 DATA(1, 2, -1) + 1/16 DATA(2, 1, -1) + 3/80 DATA(-1, 2, -1)
+
+ + 1/40 DATA(0, 2, -1) + 1/16 DATA(2, -1, -1) - 1/8 DATA(2, 0, -1)
+
+ + 7/80 DATA(2, 1, 1) + 1/80 DATA(-1, 2, 1) - 1/80 DATA(1, 2, 1)
+
+ + 3/80 DATA(2, -1, 1) - 1/10 DATA(2, 0, 1) + 3/40 DATA(1, -1, -1)
+
+ - 1/80 DATA(2, 2, 0) + 3/40 DATA(2, 1, 0) + 1/40 DATA(-1, 2, 0)
+
+ + 1/80 DATA(0, 2, 0) + 1/20 DATA(2, -1, 0) - 9/80 DATA(2, 0, 0)
+
+ - 1/40 DATA(1, 2, 2) - 3/80 DATA(2, 2, 2) + 7/80 DATA(1, 1, 2)
+
+ + 1/10 DATA(2, 1, 2) - 1/80 DATA(0, 2, 2) - 1/10 DATA(1, 0, 2)
+
+ - 7/80 DATA(2, 0, 2) + 1/16 DATA(-1, 1, 2) + 3/40 DATA(0, 1, 2)
+
+ + 3/80 DATA(1, -1, 2) + 1/40 DATA(2, -1, 2) - 1/8 DATA(-1, 0, 2)
+
+ - 9/80 DATA(0, 0, 2) + 3/80 x DATA(2, -1, 2) - 3/80 x DATA(2, 0, 1)
+
+ - 3/80 x DATA(2, 1, 0) + 3/80 x DATA(2, 2, -1) + 1/16 DATA(-1, -1, 2)
+
+ + 1/20 DATA(0, -1, 2) - 1/40 DATA(2, 2, 1) + 3/80 x DATA(-1, 1, -1)
+
+ - 1/16 y DATA(2, -1, 2) + 1/16 y DATA(0, 2, 0) + 1/16 y DATA(-1, 2, 0)
+
+ - 1/16 y DATA(-1, -1, 0) - 1/16 y DATA(1, -1, 0) + 3/16 y DATA(-1, 0, 0)
+
+ - 3/16 y DATA(-1, 1, 0) - 3/16 y DATA(-1, 1, 1) + 3/16 y DATA(-1, 0, 1)
+
+ - 1/16 y DATA(1, -1, 1) - 1/16 y DATA(-1, -1, 1) - 1/16 y DATA(0, -1, 1)
+
+ + 3/16 y DATA(-1, 0, -1) + 3/16 y DATA(0, 0, -1) + 3/16 y DATA(1, 0, -1)
+
+ + 3/16 y DATA(0, 0, 0) + 3/16 y DATA(1, 0, 0) + 3/16 y DATA(2, 0, 1)
+
+ - 3/16 y DATA(2, 1, 0) + 1/16 y DATA(2, 2, 1) - 1/16 y DATA(1, -1, -1)
+
+ + 1/16 y DATA(2, 2, 0) - 3/16 y DATA(0, 1, 0) - 3/16 y DATA(1, 1, 0)
+
+ + 3/16 y DATA(0, 0, 1) - 3/16 y DATA(0, 1, 1) - 3/16 y DATA(1, 1, 1)
+
+ - 1/16 y DATA(-1, -1, -1) - 1/16 y DATA(0, -1, -1) + 1/16 y DATA(1, 2, -1)
+
+ - 3/16 y DATA(2, 1, -1) + 1/16 y DATA(-1, 2, -1) + 1/16 y DATA(0, 2, -1)
+
+ - 3/16 y DATA(2, 1, 2) + 1/16 y DATA(0, 2, 2) + 3/16 y DATA(1, 0, 2)
+
+ + 3/16 y DATA(2, 0, 2) - 3/16 y DATA(-1, 1, 2) - 3/16 y DATA(0, 1, 2)
+
+ - 1/16 y DATA(1, -1, 2) + 3/16 y DATA(-1, 0, 2) + 3/16 y DATA(0, 0, 2)
+
+ - 1/16 y DATA(-1, -1, 2) - 1/16 y DATA(0, -1, 2) + 3/80 z DATA(-1, 1, -1)
+
+ + 3/80 z DATA(0, 1, -1) + 3/80 z DATA(1, 1, -1) - 1/80 z DATA(-1, -1, 0)
+
+ - 1/80 z DATA(0, -1, 0) - 1/80 z DATA(1, -1, 0) + 1/80 z DATA(-1, 0, 0)
+
+ + 1/80 z DATA(-1, 1, 0) - 1/80 z DATA(-1, 1, 1) - 1/80 z DATA(-1, 0, 1)
+
+ + 1/80 z DATA(1, -1, 1) + 1/80 z DATA(-1, -1, 1) + 1/80 z DATA(0, -1, 1)
+
+ + 3/80 z DATA(-1, 0, -1) + 3/80 z DATA(0, 0, -1) + 3/80 z DATA(1, 0, -1)
+
+ + 1/80 z DATA(0, 0, 0) + 1/80 z DATA(1, 0, 0) - 1/80 z DATA(2, 0, 1)
+
+ + 1/80 z DATA(2, 1, 0) + 1/80 z DATA(2, 2, 1) - 3/80 z DATA(2, 2, -1)
+
+ - 1/80 z DATA(-1, 2, 0) - 1/80 z DATA(0, 2, 0) - 1/80 z DATA(2, -1, 0)
+
+ + 1/80 z DATA(2, 0, 0) + 3/80 z DATA(1, 2, 2) + 3/80 z DATA(2, 2, 2)
+
+ - 3/80 z DATA(1, 1, 2) - 1/80 z DATA(1, 0, 1) - 3/80 z DATA(2, -1, -1)
+
+ + 3/80 z DATA(2, 0, -1) - 1/80 z DATA(2, 1, 1) + 1/80 z DATA(-1, 2, 1)
+
+ + 1/80 z DATA(0, 2, 1) + 1/80 x DATA(0, 1, -1) - 1/80 x DATA(1, 1, -1)
+
+ - 3/80 x DATA(-1, -1, 0) - 1/16 y DATA(0, -1, 0) - 3/16 y DATA(-1, 1, -1)
+
+ - 3/16 y DATA(0, 1, -1) - 3/16 y DATA(1, 1, -1) - 3/16 y DATA(2, 1, 1)
+
+ + 1/16 y DATA(1, 2, 1) - 1/16 y DATA(2, -1, 1) - 1/80 x DATA(0, -1, 0)
+
+ + 1/80 x DATA(1, -1, 0) + 3/80 x DATA(-1, 0, 0) + 3/80 x DATA(-1, 1, 0)
+
+ + 3/80 x DATA(-1, 1, 1) + 3/80 x DATA(-1, 0, 1) + 1/80 x DATA(1, -1, 1)
+
+ - 3/80 x DATA(-1, -1, 1) - 1/80 x DATA(0, -1, 1) + 3/80 x DATA(-1, 0, -1)
+
+ + 1/80 x DATA(0, 0, -1) - 1/80 x DATA(1, 0, -1) + 1/80 x DATA(0, 0, 0)
+
+ - 1/80 x DATA(1, 0, 0) + 3/80 x DATA(2, 2, 1) - 3/80 x DATA(-1, 2, 0)
+
+ - 1/80 x DATA(0, 2, 0) + 3/80 x DATA(2, -1, 0) - 3/80 x DATA(2, 0, 0)
+
+ + 1/80 x DATA(1, 2, 2) + 3/80 x DATA(2, 2, 2) - 1/80 x DATA(1, 1, 2)
+
+ - 1/80 x DATA(1, 0, 1) + 3/80 x DATA(2, -1, -1) - 3/80 x DATA(2, 0, -1)
+
+ - 3/80 x DATA(2, 1, 1) - 3/80 x DATA(-1, 2, 1) - 1/80 x DATA(0, 2, 1)
+
+ + 1/80 x DATA(1, 2, 1) + 3/80 x DATA(2, -1, 1) + 1/80 x DATA(1, -1, -1)
+
+ + 1/80 x DATA(1, 2, 0) + 3/80 x DATA(2, 2, 0) + 1/80 x DATA(0, 1, 0)
+
+ - 1/80 x DATA(1, 1, 0) + 1/80 x DATA(0, 0, 1) + 1/80 x DATA(0, 1, 1)
+
+ - 1/80 x DATA(1, 1, 1) - 3/80 x DATA(-1, -1, -1) - 1/80 x DATA(0, -1, -1)
+
+ + 1/80 x DATA(1, 2, -1) - 3/80 x DATA(2, 1, -1) - 3/80 x DATA(-1, 2, -1)
+
+ - 1/80 x DATA(0, 2, -1) - 3/80 x DATA(2, 1, 2) - 3/80 x DATA(-1, 2, 2)
+
+ - 1/80 x DATA(0, 2, 2) - 1/80 x DATA(1, 0, 2) - 3/80 x DATA(2, 0, 2)
+
+ + 3/80 x DATA(-1, 1, 2) + 1/80 x DATA(0, 1, 2) + 1/80 x DATA(1, -1, 2)
+
+ + 3/80 x DATA(-1, 0, 2) + 1/80 x DATA(0, 0, 2) - 3/80 x DATA(-1, -1, 2)
+
+ - 1/80 x DATA(0, -1, 2) + 1/16 y DATA(-1, 2, 1) + 1/80 z DATA(1, 2, 1)
+
+ + 1/80 z DATA(2, -1, 1) - 3/80 z DATA(1, -1, -1) - 1/80 z DATA(1, 2, 0)
+
+ - 1/80 z DATA(2, 2, 0) + 1/80 z DATA(0, 1, 0) + 1/80 z DATA(1, 1, 0)
+
+ - 1/80 z DATA(0, 0, 1) - 1/80 z DATA(0, 1, 1) - 1/80 z DATA(1, 1, 1)
+
+ - 3/80 z DATA(-1, -1, -1) - 3/80 z DATA(0, -1, -1) - 3/80 z DATA(1, 2, -1)
+
+ + 3/80 z DATA(2, 1, -1) - 3/80 z DATA(-1, 2, -1) - 3/80 z DATA(0, 2, -1)
+
+ - 3/80 z DATA(2, 1, 2) + 3/80 z DATA(0, 2, 2) - 3/80 z DATA(2, 0, 2)
+
+ - 3/80 z DATA(-1, 1, 2) + 3/80 z DATA(1, -1, 2) - 3/80 z DATA(-1, 0, 2)
+
+ - 3/80 z DATA(0, 0, 2) + 3/80 z DATA(-1, -1, 2) + 3/80 z DATA(0, -1, 2)
+
+ - 1/16 y DATA(2, -1, 0) + 3/16 y DATA(2, 0, 0) + 1/16 y DATA(1, 2, 2)
+
+ + 1/16 y DATA(2, 2, 2) - 3/16 y DATA(1, 1, 2) + 3/16 y DATA(1, 0, 1)
+
+ - 1/16 y DATA(2, -1, -1) + 3/16 y DATA(2, 0, -1) - 3/80 z DATA(0, 1, 2)
+
+ + 3/80 z DATA(2, -1, 2) + 3/80 z DATA(-1, 2, 2) - 3/80 z DATA(1, 0, 2)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=529191180, alloc=4783252, time=57.15
+bytes used=530191424, alloc=4783252, time=57.22
+bytes used=531191544, alloc=4783252, time=57.29
+bytes used=532199056, alloc=4783252, time=57.36
+bytes used=533199360, alloc=4783252, time=57.44
+[COEFF(-1, -1, -1) = - 3/80 z - 3/80 x + 1/10 - 1/16 y,
+
+ COEFF(0, -1, -1) = - 1/16 y - 3/80 z + 7/80 - 1/80 x,
+
+ COEFF(1, -1, -1) = 3/40 - 3/80 z + 1/80 x - 1/16 y,
+
+ COEFF(2, -1, -1) = - 3/80 z - 1/16 y + 3/80 x + 1/16,
+
+ 13
+ COEFF(-1, 0, -1) = 3/16 y - -- + 3/80 x + 3/80 z,
+ 80
+
+ COEFF(0, 0, -1) = 3/80 z - 3/20 + 1/80 x + 3/16 y,
+
+ 11
+ COEFF(1, 0, -1) = 3/16 y - 1/80 x - -- + 3/80 z,
+ 80
+
+ COEFF(2, 0, -1) = - 3/80 x + 3/80 z + 3/16 y - 1/8,
+
+ COEFF(-1, 1, -1) = 3/80 z + 1/40 + 3/80 x - 3/16 y,
+
+ COEFF(0, 1, -1) = - 3/16 y + 3/80 + 3/80 z + 1/80 x,
+
+ COEFF(1, 1, -1) = - 3/16 y - 1/80 x + 3/80 z + 1/20,
+
+ COEFF(2, 1, -1) = 3/80 z - 3/16 y - 3/80 x + 1/16,
+
+ COEFF(-1, 2, -1) = 1/16 y + 3/80 - 3/80 x - 3/80 z,
+
+ COEFF(0, 2, -1) = - 1/80 x + 1/16 y - 3/80 z + 1/40,
+
+ COEFF(1, 2, -1) = - 3/80 z + 1/80 x + 1/80 + 1/16 y,
+
+ COEFF(2, 2, -1) = - 3/80 z + 1/16 y + 3/80 x,
+
+ COEFF(-1, -1, 0) = - 1/16 y - 1/80 z + 7/80 - 3/80 x,
+
+ COEFF(0, -1, 0) = 3/40 - 1/16 y - 1/80 z - 1/80 x,
+
+ COEFF(1, -1, 0) = - 1/16 y + 1/80 x - 1/80 z + 1/16,
+
+ COEFF(2, -1, 0) = - 1/80 z - 1/16 y + 1/20 + 3/80 x,
+
+ COEFF(-1, 0, 0) = 3/16 y + 3/80 x - 3/20 + 1/80 z,
+
+ 11
+ COEFF(0, 0, 0) = 1/80 z + 1/80 x + 3/16 y - --,
+ 80
+
+ COEFF(1, 0, 0) = 1/80 z + 3/16 y - 1/80 x - 1/8,
+
+ COEFF(2, 0, 0) = - 3/80 x + 1/80 z + 3/16 y - 9/80,
+
+ COEFF(-1, 1, 0) = 3/80 + 1/80 z - 3/16 y + 3/80 x,
+
+ COEFF(0, 1, 0) = - 3/16 y + 1/20 + 1/80 x + 1/80 z,
+
+ COEFF(1, 1, 0) = - 1/80 x - 3/16 y + 1/80 z + 1/16,
+
+ COEFF(2, 1, 0) = - 3/80 x + 3/40 - 3/16 y + 1/80 z,
+
+ COEFF(-1, 2, 0) = - 1/80 z + 1/16 y + 1/40 - 3/80 x,
+
+ COEFF(0, 2, 0) = - 1/80 x + 1/80 + 1/16 y - 1/80 z,
+
+ COEFF(1, 2, 0) = 1/80 x + 1/16 y - 1/80 z,
+
+ COEFF(2, 2, 0) = - 1/80 + 1/16 y - 1/80 z + 3/80 x,
+
+ COEFF(-1, -1, 1) = - 3/80 x + 1/80 z - 1/16 y + 3/40,
+
+ COEFF(0, -1, 1) = - 1/16 y + 1/80 z + 1/16 - 1/80 x,
+
+ COEFF(1, -1, 1) = 1/80 x - 1/16 y + 1/80 z + 1/20,
+
+ COEFF(2, -1, 1) = 1/80 z + 3/80 x + 3/80 - 1/16 y,
+
+ 11
+ COEFF(-1, 0, 1) = - 1/80 z + 3/16 y + 3/80 x - --,
+ 80
+
+ COEFF(0, 0, 1) = 1/80 x - 1/80 z + 3/16 y - 1/8,
+
+ COEFF(1, 0, 1) = - 1/80 x - 9/80 - 1/80 z + 3/16 y,
+
+ COEFF(2, 0, 1) = - 1/80 z - 3/80 x - 1/10 + 3/16 y,
+
+ COEFF(-1, 1, 1) = - 3/16 y + 1/20 - 1/80 z + 3/80 x,
+
+ COEFF(0, 1, 1) = 1/16 - 3/16 y + 1/80 x - 1/80 z,
+
+ COEFF(1, 1, 1) = - 1/80 z - 3/16 y + 3/40 - 1/80 x,
+
+ COEFF(2, 1, 1) = - 3/80 x - 1/80 z + 7/80 - 3/16 y,
+
+ COEFF(-1, 2, 1) = 1/80 z - 3/80 x + 1/16 y + 1/80,
+
+ COEFF(0, 2, 1) = 1/80 z - 1/80 x + 1/16 y,
+
+ COEFF(1, 2, 1) = 1/16 y - 1/80 + 1/80 z + 1/80 x,
+
+ COEFF(2, 2, 1) = - 1/40 + 3/80 x + 1/80 z + 1/16 y,
+
+ COEFF(-1, -1, 2) = - 3/80 x - 1/16 y + 3/80 z + 1/16,
+
+ COEFF(0, -1, 2) = 3/80 z - 1/80 x - 1/16 y + 1/20,
+
+ COEFF(1, -1, 2) = 3/80 + 3/80 z - 1/16 y + 1/80 x,
+
+ COEFF(2, -1, 2) = - 1/16 y + 3/80 x + 3/80 z + 1/40,
+
+ COEFF(-1, 0, 2) = 3/16 y - 1/8 + 3/80 x - 3/80 z,
+
+ COEFF(0, 0, 2) = 1/80 x - 3/80 z + 3/16 y - 9/80,
+
+ COEFF(1, 0, 2) = - 1/80 x - 1/10 + 3/16 y - 3/80 z,
+
+ COEFF(2, 0, 2) = - 7/80 - 3/80 x - 3/80 z + 3/16 y,
+
+ COEFF(-1, 1, 2) = 3/80 x + 1/16 - 3/80 z - 3/16 y,
+
+ COEFF(0, 1, 2) = 1/80 x + 3/40 - 3/16 y - 3/80 z,
+
+ COEFF(1, 1, 2) = 7/80 - 3/80 z - 1/80 x - 3/16 y,
+
+ COEFF(2, 1, 2) = - 3/80 z - 3/16 y + 1/10 - 3/80 x,
+
+ COEFF(-1, 2, 2) = 1/16 y + 3/80 z - 3/80 x,
+
+ COEFF(0, 2, 2) = 1/16 y - 1/80 + 3/80 z - 1/80 x,
+
+ COEFF(1, 2, 2) = - 1/40 + 1/16 y + 3/80 z + 1/80 x,
+
+ COEFF(2, 2, 2) = - 3/80 + 3/80 z + 3/80 x + 1/16 y]
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c");
+bytes used=534199616, alloc=4783252, time=57.52
+bytes used=535199968, alloc=4783252, time=57.58
+bytes used=536200144, alloc=4783252, time=57.71
+bytes used=537200404, alloc=4783252, time=57.87
+bytes used=538200724, alloc=4783252, time=58.09
+bytes used=539200956, alloc=4783252, time=58.16
+bytes used=540204072, alloc=4783252, time=58.23
+bytes used=541206380, alloc=4783252, time=58.33
+bytes used=542206628, alloc=4783252, time=58.62
+bytes used=543206832, alloc=4783252, time=58.85
+bytes used=544207092, alloc=4783252, time=59.21
+bytes used=545207488, alloc=4783252, time=59.39
+>
+# d^2/dydz
+> simplify( diff(interp_3d_cube_order3_smooth0,y,z) );
+ 37 17 31
+- ---- DATA(-1, 1, -1) - --- DATA(0, 1, -1) - ---- DATA(1, 1, -1)
+ 1000 500 1000
+
+ 13
+ - 1/2000 DATA(-1, -1, 0) - 7/2000 DATA(0, -1, 0) - ---- DATA(1, -1, 0)
+ 2000
+
+ 17 33
+ - ---- DATA(-1, 0, 0) - 1/250 DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 2000 2000
+
+ 31 37
+ - 1/250 DATA(-1, 0, 1) - ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 1000 1000
+
+ 17
+ - --- DATA(0, -1, 1) - 1/2000 DATA(-1, 0, -1) - 7/2000 DATA(0, 0, -1)
+ 500
+
+ 13 19 21
+ - ---- DATA(1, 0, -1) - ---- DATA(0, 0, 0) - ---- DATA(1, 0, 0)
+ 2000 2000 2000
+
+ - 3/1000 DATA(0, 1, 0) - 1/500 DATA(1, 1, 0) - 3/1000 DATA(0, 0, 1)
+
+ 31 29
+ - 1/500 DATA(1, 0, 1) + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 2000 2000
+
+ + 1/80 y DATA(0, 2, 1) + 3/80 y DATA(-1, 2, 2) - 3/80 y DATA(2, 2, -1)
+
+ 147 129
+ - 1/80 y DATA(1, 2, 0) + ---- DATA(-1, -1, -1) + ---- DATA(0, -1, -1)
+ 2000 2000
+
+ - 9/500 DATA(1, 2, -1) - 7/250 DATA(2, 1, -1) - 9/250 DATA(-1, 2, -1)
+
+ 27 93 19
+ - ---- DATA(0, 2, -1) + ---- DATA(2, -1, -1) - ---- DATA(2, 0, -1)
+ 1000 2000 2000
+
+ 27 49 43
+ + ---- DATA(2, 1, 1) + ---- DATA(-1, 2, 1) + ---- DATA(0, 2, 1)
+ 2000 2000 2000
+
+ 37
+ + ---- DATA(1, 2, 1) - 7/250 DATA(2, -1, 1) - 1/1000 DATA(2, 0, 1)
+ 2000
+
+ 111 19 11
+ + ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0) + --- DATA(2, 2, 0)
+ 2000 1000 500
+
+ 13
+ - 1/1000 DATA(2, 1, 0) + ---- DATA(-1, 2, 0) + 2/125 DATA(0, 2, 0)
+ 1000
+
+ 19 23
+ - ---- DATA(2, -1, 0) - ---- DATA(2, 0, 0) - 9/1000 DATA(2, 2, -1)
+ 2000 2000
+
+ 39 57 37
+ - ---- DATA(1, 2, 2) - ---- DATA(2, 2, 2) + ---- DATA(1, 1, 2)
+ 2000 2000 2000
+
+ 31 21
+ + ---- DATA(2, 1, 2) - 3/2000 DATA(-1, 2, 2) - ---- DATA(0, 2, 2)
+ 2000 2000
+
+ 19 11 49
+ + ---- DATA(1, 0, 2) + --- DATA(2, 0, 2) + ---- DATA(-1, 1, 2)
+ 1000 500 2000
+
+ 43
+ + ---- DATA(0, 1, 2) - 9/500 DATA(1, -1, 2) - 9/1000 DATA(2, -1, 2)
+ 2000
+
+ 13 27
+ + ---- DATA(-1, 0, 2) + 2/125 DATA(0, 0, 2) - ---- x DATA(2, -1, 2)
+ 1000 1000
+
+ 27
+ - 3/1000 x DATA(2, 0, 1) - 3/1000 x DATA(2, 1, 0) - ---- x DATA(2, 2, -1)
+ 1000
+
+ 27 31
+ - 9/250 DATA(-1, -1, 2) - ---- DATA(0, -1, 2) + ---- DATA(2, 2, 1)
+ 1000 2000
+
+ + 9/1000 x DATA(-1, 1, -1) + 3/80 y DATA(2, -1, 2) - 1/80 y DATA(0, 2, 0)
+
+ - 1/80 y DATA(-1, 2, 0) - 1/80 y DATA(-1, -1, 0) - 1/80 y DATA(1, -1, 0)
+
+ + 1/80 y DATA(-1, 0, 0) + 1/80 y DATA(-1, 1, 0) - 1/80 y DATA(-1, 1, 1)
+
+ - 1/80 y DATA(-1, 0, 1) + 1/80 y DATA(1, -1, 1) + 1/80 y DATA(-1, -1, 1)
+
+ + 1/80 y DATA(0, -1, 1) + 3/80 y DATA(-1, 0, -1) + 3/80 y DATA(0, 0, -1)
+
+ + 3/80 y DATA(1, 0, -1) + 1/80 y DATA(0, 0, 0) + 1/80 y DATA(1, 0, 0)
+
+ - 1/80 y DATA(2, 0, 1) + 1/80 y DATA(2, 1, 0) + 1/80 y DATA(2, 2, 1)
+
+ - 3/80 y DATA(1, -1, -1) - 1/80 y DATA(2, 2, 0) + 1/80 y DATA(0, 1, 0)
+
+ + 1/80 y DATA(1, 1, 0) - 1/80 y DATA(0, 0, 1) - 1/80 y DATA(0, 1, 1)
+
+ - 1/80 y DATA(1, 1, 1) - 3/80 y DATA(-1, -1, -1) - 3/80 y DATA(0, -1, -1)
+
+ - 3/80 y DATA(1, 2, -1) + 3/80 y DATA(2, 1, -1) - 3/80 y DATA(-1, 2, -1)
+
+ - 3/80 y DATA(0, 2, -1) - 3/80 y DATA(2, 1, 2) + 3/80 y DATA(0, 2, 2)
+
+ - 3/80 y DATA(1, 0, 2) - 3/80 y DATA(2, 0, 2) - 3/80 y DATA(-1, 1, 2)
+
+ - 3/80 y DATA(0, 1, 2) + 3/80 y DATA(1, -1, 2) - 3/80 y DATA(-1, 0, 2)
+
+ - 3/80 y DATA(0, 0, 2) + 3/80 y DATA(-1, -1, 2) + 3/80 y DATA(0, -1, 2)
+
+ + 1/80 z DATA(-1, 1, -1) + 1/80 z DATA(0, 1, -1) + 1/80 z DATA(1, 1, -1)
+
+ + 3/80 z DATA(-1, -1, 0) + 3/80 z DATA(0, -1, 0) + 3/80 z DATA(1, -1, 0)
+
+ + 1/80 z DATA(-1, 0, 0) - 1/80 z DATA(-1, 1, 0) - 1/80 z DATA(-1, 1, 1)
+
+ + 1/80 z DATA(-1, 0, 1) + 3/80 z DATA(1, -1, 1) + 3/80 z DATA(-1, -1, 1)
+
+ + 3/80 z DATA(0, -1, 1) - 1/80 z DATA(-1, 0, -1) - 1/80 z DATA(0, 0, -1)
+
+ - 1/80 z DATA(1, 0, -1) + 1/80 z DATA(0, 0, 0) + 1/80 z DATA(1, 0, 0)
+
+ + 1/80 z DATA(2, 0, 1) - 1/80 z DATA(2, 1, 0) - 3/80 z DATA(2, 2, 1)
+
+ + 3/80 z DATA(2, 2, -1) - 3/80 z DATA(-1, 2, 0) - 3/80 z DATA(0, 2, 0)
+
+ + 3/80 z DATA(2, -1, 0) + 1/80 z DATA(2, 0, 0) + 3/80 z DATA(1, 2, 2)
+
+ + 3/80 z DATA(2, 2, 2) + 1/80 z DATA(1, 1, 2) + 1/80 z DATA(1, 0, 1)
+
+ - 3/80 z DATA(2, -1, -1) - 1/80 z DATA(2, 0, -1) - 1/80 z DATA(2, 1, 1)
+
+ - 3/80 z DATA(-1, 2, 1) - 3/80 z DATA(0, 2, 1) + 3/1000 x DATA(0, 1, -1)
+
+ - 3/1000 x DATA(1, 1, -1) - 9/1000 x DATA(-1, -1, 0)
+
+ - 1/80 y DATA(0, -1, 0) + 3/80 y DATA(-1, 1, -1) + 3/80 y DATA(0, 1, -1)
+
+ + 3/80 y DATA(1, 1, -1) - 1/80 y DATA(2, 1, 1) + 1/80 y DATA(1, 2, 1)
+
+ + 1/80 y DATA(2, -1, 1) - 3/1000 x DATA(0, -1, 0)
+
+ + 3/1000 x DATA(1, -1, 0) - 3/1000 x DATA(-1, 0, 0)
+
+ + 3/1000 x DATA(-1, 1, 0) - 3/1000 x DATA(-1, 1, 1)
+
+ + 3/1000 x DATA(-1, 0, 1) - 3/1000 x DATA(1, -1, 1)
+
+ + 9/1000 x DATA(-1, -1, 1) + 3/1000 x DATA(0, -1, 1)
+
+ - 9/1000 x DATA(-1, 0, -1) - 3/1000 x DATA(0, 0, -1)
+
+ + 3/1000 x DATA(1, 0, -1) - 1/1000 x DATA(0, 0, 0)
+
+ + 1/1000 x DATA(1, 0, 0) + 9/1000 x DATA(2, 2, 1)
+
+ + 9/1000 x DATA(-1, 2, 0) + 3/1000 x DATA(0, 2, 0)
+
+ + 9/1000 x DATA(2, -1, 0) + 3/1000 x DATA(2, 0, 0)
+
+ 27
+ + 9/1000 x DATA(1, 2, 2) + ---- x DATA(2, 2, 2) + 3/1000 x DATA(1, 1, 2)
+ 1000
+
+ 27
+ - 1/1000 x DATA(1, 0, 1) + ---- x DATA(2, -1, -1)
+ 1000
+
+ + 9/1000 x DATA(2, 0, -1) + 3/1000 x DATA(2, 1, 1)
+
+ - 9/1000 x DATA(-1, 2, 1) - 3/1000 x DATA(0, 2, 1)
+
+ + 3/1000 x DATA(1, 2, 1) - 9/1000 x DATA(2, -1, 1)
+
+ + 9/1000 x DATA(1, -1, -1) - 3/1000 x DATA(1, 2, 0)
+
+ - 9/1000 x DATA(2, 2, 0) + 1/1000 x DATA(0, 1, 0) - 1/1000 x DATA(1, 1, 0)
+
+ + 1/1000 x DATA(0, 0, 1) - 1/1000 x DATA(0, 1, 1) + 1/1000 x DATA(1, 1, 1)
+
+ 27
+ - ---- x DATA(-1, -1, -1) - 9/1000 x DATA(0, -1, -1)
+ 1000
+
+ - 9/1000 x DATA(1, 2, -1) - 9/1000 x DATA(2, 1, -1)
+
+ 27
+ + ---- x DATA(-1, 2, -1) + 9/1000 x DATA(0, 2, -1)
+ 1000
+
+ 27
+ + 9/1000 x DATA(2, 1, 2) - ---- x DATA(-1, 2, 2) - 9/1000 x DATA(0, 2, 2)
+ 1000
+
+ - 3/1000 x DATA(1, 0, 2) - 9/1000 x DATA(2, 0, 2)
+
+ - 9/1000 x DATA(-1, 1, 2) - 3/1000 x DATA(0, 1, 2)
+
+ - 9/1000 x DATA(1, -1, 2) + 9/1000 x DATA(-1, 0, 2)
+
+ 27
+ + 3/1000 x DATA(0, 0, 2) + ---- x DATA(-1, -1, 2)
+ 1000
+
+ + 9/1000 x DATA(0, -1, 2) + 1/80 y DATA(-1, 2, 1) - 3/80 z DATA(1, 2, 1)
+
+ + 3/80 z DATA(2, -1, 1) - 3/80 z DATA(1, -1, -1) - 3/80 z DATA(1, 2, 0)
+
+ - 3/80 z DATA(2, 2, 0) - 1/80 z DATA(0, 1, 0) - 1/80 z DATA(1, 1, 0)
+
+ + 1/80 z DATA(0, 0, 1) - 1/80 z DATA(0, 1, 1) - 1/80 z DATA(1, 1, 1)
+
+ - 3/80 z DATA(-1, -1, -1) - 3/80 z DATA(0, -1, -1) + 3/80 z DATA(1, 2, -1)
+
+ + 1/80 z DATA(2, 1, -1) + 3/80 z DATA(-1, 2, -1) + 3/80 z DATA(0, 2, -1)
+
+ + 1/80 z DATA(2, 1, 2) + 3/80 z DATA(0, 2, 2) - 1/80 z DATA(2, 0, 2)
+
+ + 1/80 z DATA(-1, 1, 2) - 3/80 z DATA(1, -1, 2) - 1/80 z DATA(-1, 0, 2)
+
+ - 1/80 z DATA(0, 0, 2) - 3/80 z DATA(-1, -1, 2) - 3/80 z DATA(0, -1, 2)
+
+ - 1/80 y DATA(2, -1, 0) + 1/80 y DATA(2, 0, 0) + 3/80 y DATA(1, 2, 2)
+
+ + 3/80 y DATA(2, 2, 2) - 3/80 y DATA(1, 1, 2) - 1/80 y DATA(1, 0, 1)
+
+ - 3/80 y DATA(2, -1, -1) + 3/80 y DATA(2, 0, -1) + 1/80 z DATA(0, 1, 2)
+
+ - 3/80 z DATA(2, -1, 2) + 3/80 z DATA(-1, 2, 2) - 1/80 z DATA(1, 0, 2)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=546207976, alloc=4783252, time=59.48
+bytes used=547218536, alloc=4783252, time=59.55
+bytes used=548218692, alloc=4783252, time=59.62
+bytes used=549219084, alloc=4783252, time=59.69
+bytes used=550219248, alloc=4783252, time=59.77
+ 147 27
+[COEFF(-1, -1, -1) = ---- - 3/80 y - ---- x - 3/80 z,
+ 2000 1000
+
+ 129
+ COEFF(0, -1, -1) = - 3/80 y - 3/80 z - 9/1000 x + ----,
+ 2000
+
+ 111
+ COEFF(1, -1, -1) = 9/1000 x + ---- - 3/80 z - 3/80 y,
+ 2000
+
+ 93 27
+ COEFF(2, -1, -1) = ---- + ---- x - 3/80 z - 3/80 y,
+ 2000 1000
+
+ COEFF(-1, 0, -1) = - 1/2000 - 9/1000 x + 3/80 y - 1/80 z,
+
+ COEFF(0, 0, -1) = - 1/80 z - 3/1000 x + 3/80 y - 7/2000,
+
+ 13
+ COEFF(1, 0, -1) = - ---- - 1/80 z + 3/1000 x + 3/80 y,
+ 2000
+
+ 19
+ COEFF(2, 0, -1) = 9/1000 x - ---- + 3/80 y - 1/80 z,
+ 2000
+
+ 37
+ COEFF(-1, 1, -1) = 3/80 y + 1/80 z + 9/1000 x - ----,
+ 1000
+
+ 17
+ COEFF(0, 1, -1) = 1/80 z + 3/1000 x + 3/80 y - ---,
+ 500
+
+ 31
+ COEFF(1, 1, -1) = - 3/1000 x + 3/80 y + 1/80 z - ----,
+ 1000
+
+ COEFF(2, 1, -1) = 1/80 z + 3/80 y - 9/1000 x - 7/250,
+
+ 27
+ COEFF(-1, 2, -1) = - 3/80 y + ---- x + 3/80 z - 9/250,
+ 1000
+
+ 27
+ COEFF(0, 2, -1) = - ---- - 3/80 y + 3/80 z + 9/1000 x,
+ 1000
+
+ COEFF(1, 2, -1) = - 9/1000 x - 9/500 - 3/80 y + 3/80 z,
+
+ 27
+ COEFF(2, 2, -1) = 3/80 z - 3/80 y - ---- x - 9/1000,
+ 1000
+
+ COEFF(-1, -1, 0) = - 1/80 y + 3/80 z - 1/2000 - 9/1000 x,
+
+ COEFF(0, -1, 0) = - 7/2000 + 3/80 z - 3/1000 x - 1/80 y,
+
+ 13
+ COEFF(1, -1, 0) = - ---- + 3/80 z + 3/1000 x - 1/80 y,
+ 2000
+
+ 19
+ COEFF(2, -1, 0) = 3/80 z - 1/80 y - ---- + 9/1000 x,
+ 2000
+
+ 17
+ COEFF(-1, 0, 0) = 1/80 y - 3/1000 x + 1/80 z - ----,
+ 2000
+
+ 19
+ COEFF(0, 0, 0) = - ---- - 1/1000 x + 1/80 z + 1/80 y,
+ 2000
+
+ 21
+ COEFF(1, 0, 0) = - ---- + 1/80 y + 1/1000 x + 1/80 z,
+ 2000
+
+ 23
+ COEFF(2, 0, 0) = 3/1000 x + 1/80 z - ---- + 1/80 y,
+ 2000
+
+ COEFF(-1, 1, 0) = 1/80 y - 1/80 z - 1/250 + 3/1000 x,
+
+ COEFF(0, 1, 0) = - 1/80 z + 1/1000 x + 1/80 y - 3/1000,
+
+ COEFF(1, 1, 0) = - 1/80 z + 1/80 y - 1/500 - 1/1000 x,
+
+ COEFF(2, 1, 0) = - 3/1000 x - 1/1000 + 1/80 y - 1/80 z,
+
+ 13
+ COEFF(-1, 2, 0) = - 1/80 y + ---- + 9/1000 x - 3/80 z,
+ 1000
+
+ COEFF(0, 2, 0) = - 3/80 z - 1/80 y + 3/1000 x + 2/125,
+
+ 19
+ COEFF(1, 2, 0) = - 3/80 z - 3/1000 x - 1/80 y + ----,
+ 1000
+
+ 11
+ COEFF(2, 2, 0) = - 3/80 z + --- - 1/80 y - 9/1000 x,
+ 500
+
+ 37
+ COEFF(-1, -1, 1) = 9/1000 x - ---- + 1/80 y + 3/80 z,
+ 1000
+
+ 17
+ COEFF(0, -1, 1) = 1/80 y + 3/80 z + 3/1000 x - ---,
+ 500
+
+ 31
+ COEFF(1, -1, 1) = - ---- - 3/1000 x + 1/80 y + 3/80 z,
+ 1000
+
+ COEFF(2, -1, 1) = - 7/250 + 3/80 z - 9/1000 x + 1/80 y,
+
+ COEFF(-1, 0, 1) = 3/1000 x + 1/80 z - 1/80 y - 1/250,
+
+ COEFF(0, 0, 1) = 1/80 z - 1/80 y - 3/1000 + 1/1000 x,
+
+ COEFF(1, 0, 1) = - 1/1000 x + 1/80 z - 1/80 y - 1/500,
+
+ COEFF(2, 0, 1) = - 3/1000 x - 1/1000 - 1/80 y + 1/80 z,
+
+ 33
+ COEFF(-1, 1, 1) = ---- - 1/80 z - 3/1000 x - 1/80 y,
+ 2000
+
+ 31
+ COEFF(0, 1, 1) = - 1/80 z - 1/1000 x + ---- - 1/80 y,
+ 2000
+
+ 29
+ COEFF(1, 1, 1) = 1/1000 x - 1/80 y + ---- - 1/80 z,
+ 2000
+
+ 27
+ COEFF(2, 1, 1) = 3/1000 x - 1/80 y - 1/80 z + ----,
+ 2000
+
+ 49
+ COEFF(-1, 2, 1) = - 3/80 z - 9/1000 x + 1/80 y + ----,
+ 2000
+
+ 43
+ COEFF(0, 2, 1) = 1/80 y - 3/1000 x - 3/80 z + ----,
+ 2000
+
+ 37
+ COEFF(1, 2, 1) = 1/80 y + ---- + 3/1000 x - 3/80 z,
+ 2000
+
+ 31
+ COEFF(2, 2, 1) = ---- + 9/1000 x - 3/80 z + 1/80 y,
+ 2000
+
+ 27
+ COEFF(-1, -1, 2) = - 3/80 z - 9/250 + 3/80 y + ---- x,
+ 1000
+
+ 27
+ COEFF(0, -1, 2) = 9/1000 x - ---- - 3/80 z + 3/80 y,
+ 1000
+
+ COEFF(1, -1, 2) = - 3/80 z - 9/500 + 3/80 y - 9/1000 x,
+
+ 27
+ COEFF(2, -1, 2) = - 3/80 z - 9/1000 - ---- x + 3/80 y,
+ 1000
+
+ 13
+ COEFF(-1, 0, 2) = - 3/80 y - 1/80 z + 9/1000 x + ----,
+ 1000
+
+ COEFF(0, 0, 2) = 2/125 - 3/80 y + 3/1000 x - 1/80 z,
+
+ 19
+ COEFF(1, 0, 2) = ---- - 3/1000 x - 3/80 y - 1/80 z,
+ 1000
+
+ 11
+ COEFF(2, 0, 2) = - 3/80 y + --- - 1/80 z - 9/1000 x,
+ 500
+
+ 49
+ COEFF(-1, 1, 2) = - 9/1000 x - 3/80 y + 1/80 z + ----,
+ 2000
+
+ 43
+ COEFF(0, 1, 2) = 1/80 z - 3/1000 x - 3/80 y + ----,
+ 2000
+
+ 37
+ COEFF(1, 1, 2) = 3/1000 x - 3/80 y + 1/80 z + ----,
+ 2000
+
+ 31
+ COEFF(2, 1, 2) = 9/1000 x + ---- - 3/80 y + 1/80 z,
+ 2000
+
+ 27
+ COEFF(-1, 2, 2) = 3/80 z - ---- x - 3/2000 + 3/80 y,
+ 1000
+
+ 21
+ COEFF(0, 2, 2) = - 9/1000 x + 3/80 y - ---- + 3/80 z,
+ 2000
+
+ 39
+ COEFF(1, 2, 2) = - ---- + 9/1000 x + 3/80 y + 3/80 z,
+ 2000
+
+ 57 27
+ COEFF(2, 2, 2) = 3/80 z - ---- + ---- x + 3/80 y]
+ 2000 1000
+
+> print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c");
+bytes used=551219492, alloc=4783252, time=59.83
+bytes used=552219868, alloc=4783252, time=59.92
+bytes used=553220136, alloc=4783252, time=60.07
+bytes used=554220920, alloc=4783252, time=60.16
+bytes used=555221136, alloc=4783252, time=60.50
+bytes used=556221416, alloc=4783252, time=60.58
+bytes used=557221692, alloc=4783252, time=60.65
+bytes used=558221884, alloc=4783252, time=60.75
+bytes used=559222048, alloc=4783252, time=60.85
+bytes used=560222236, alloc=4783252, time=61.32
+bytes used=561222424, alloc=4783252, time=61.39
+bytes used=562222592, alloc=4783252, time=61.78
+bytes used=563222924, alloc=4783252, time=61.96
+>
+# d^2/dz^2
+> simplify( diff(interp_3d_cube_order3_smooth0,z,z) );
+3/40 DATA(-1, 1, -1) + 1/16 DATA(0, 1, -1) + 1/20 DATA(1, 1, -1)
+
+ 13 11
+ - -- DATA(-1, -1, 0) - 3/20 DATA(0, -1, 0) - -- DATA(1, -1, 0)
+ 80 80
+
+ 11
+ - 3/20 DATA(-1, 0, 0) - -- DATA(-1, 1, 0) + 1/20 DATA(-1, 1, 1)
+ 80
+
+ + 3/80 DATA(-1, 0, 1) + 1/20 DATA(1, -1, 1) + 1/40 DATA(-1, -1, 1)
+
+ + 3/80 DATA(0, -1, 1) + 7/80 DATA(-1, 0, -1) + 3/40 DATA(0, 0, -1)
+
+ 11
+ + 1/16 DATA(1, 0, -1) - -- DATA(0, 0, 0) - 1/8 DATA(1, 0, 0)
+ 80
+
+ - 1/8 DATA(0, 1, 0) - 9/80 DATA(1, 1, 0) + 1/20 DATA(0, 0, 1)
+
+ + 1/16 DATA(1, 0, 1) + 1/16 DATA(0, 1, 1) + 3/40 DATA(1, 1, 1)
+
+ - 3/80 y DATA(0, 2, 1) + 3/80 y DATA(-1, 2, 2) + 3/80 y DATA(2, 2, -1)
+
+ - 3/80 y DATA(1, 2, 0) + 1/10 DATA(-1, -1, -1) + 7/80 DATA(0, -1, -1)
+
+ + 3/80 DATA(1, 2, -1) + 3/80 DATA(2, 1, -1) + 1/16 DATA(-1, 2, -1)
+
+ + 1/20 DATA(0, 2, -1) + 1/16 DATA(2, -1, -1) + 1/20 DATA(2, 0, -1)
+
+ + 7/80 DATA(2, 1, 1) + 1/16 DATA(-1, 2, 1) + 3/40 DATA(0, 2, 1)
+
+ + 7/80 DATA(1, 2, 1) + 1/16 DATA(2, -1, 1) + 3/40 DATA(2, 0, 1)
+
+ + 3/40 DATA(1, -1, -1) - 1/10 DATA(1, 2, 0) - 7/80 DATA(2, 2, 0)
+
+ - 1/10 DATA(2, 1, 0) - 1/8 DATA(-1, 2, 0) - 9/80 DATA(0, 2, 0)
+
+ - 1/8 DATA(2, -1, 0) - 9/80 DATA(2, 0, 0) + 1/40 DATA(2, 2, -1)
+
+ - 1/40 DATA(1, 2, 2) - 3/80 DATA(2, 2, 2) - 1/80 DATA(1, 1, 2)
+
+ - 1/40 DATA(2, 1, 2) - 1/80 DATA(0, 2, 2) - 1/80 DATA(2, 0, 2)
+
+ + 1/80 DATA(-1, 1, 2) + 1/80 DATA(1, -1, 2) + 1/40 DATA(-1, 0, 2)
+
+ + 1/80 DATA(0, 0, 2) + 3/80 x DATA(2, -1, 2) - 3/80 x DATA(2, 0, 1)
+
+ - 3/80 x DATA(2, 1, 0) + 3/80 x DATA(2, 2, -1) + 3/80 DATA(-1, -1, 2)
+
+ + 1/40 DATA(0, -1, 2) + 1/10 DATA(2, 2, 1) - 3/80 x DATA(-1, 1, -1)
+
+ - 3/80 y DATA(2, -1, 2) - 3/80 y DATA(0, 2, 0) - 3/80 y DATA(-1, 2, 0)
+
+ + 3/80 y DATA(-1, -1, 0) + 3/80 y DATA(1, -1, 0) + 1/80 y DATA(-1, 0, 0)
+
+ - 1/80 y DATA(-1, 1, 0) - 1/80 y DATA(-1, 1, 1) + 1/80 y DATA(-1, 0, 1)
+
+ + 3/80 y DATA(1, -1, 1) + 3/80 y DATA(-1, -1, 1) + 3/80 y DATA(0, -1, 1)
+
+ - 1/80 y DATA(-1, 0, -1) - 1/80 y DATA(0, 0, -1) - 1/80 y DATA(1, 0, -1)
+
+ + 1/80 y DATA(0, 0, 0) + 1/80 y DATA(1, 0, 0) + 1/80 y DATA(2, 0, 1)
+
+ - 1/80 y DATA(2, 1, 0) - 3/80 y DATA(2, 2, 1) - 3/80 y DATA(1, -1, -1)
+
+ - 3/80 y DATA(2, 2, 0) - 1/80 y DATA(0, 1, 0) - 1/80 y DATA(1, 1, 0)
+
+ + 1/80 y DATA(0, 0, 1) - 1/80 y DATA(0, 1, 1) - 1/80 y DATA(1, 1, 1)
+
+ - 3/80 y DATA(-1, -1, -1) - 3/80 y DATA(0, -1, -1) + 3/80 y DATA(1, 2, -1)
+
+ + 1/80 y DATA(2, 1, -1) + 3/80 y DATA(-1, 2, -1) + 3/80 y DATA(0, 2, -1)
+
+ + 1/80 y DATA(2, 1, 2) + 3/80 y DATA(0, 2, 2) - 1/80 y DATA(1, 0, 2)
+
+ - 1/80 y DATA(2, 0, 2) + 1/80 y DATA(-1, 1, 2) + 1/80 y DATA(0, 1, 2)
+
+ - 3/80 y DATA(1, -1, 2) - 1/80 y DATA(-1, 0, 2) - 1/80 y DATA(0, 0, 2)
+
+ - 3/80 y DATA(-1, -1, 2) - 3/80 y DATA(0, -1, 2) - 1/16 z DATA(-1, 1, -1)
+
+ - 1/16 z DATA(0, 1, -1) - 1/16 z DATA(1, 1, -1) + 3/16 z DATA(-1, -1, 0)
+
+ + 3/16 z DATA(0, -1, 0) + 3/16 z DATA(1, -1, 0) + 3/16 z DATA(-1, 0, 0)
+
+ + 3/16 z DATA(-1, 1, 0) - 3/16 z DATA(-1, 1, 1) - 3/16 z DATA(-1, 0, 1)
+
+ - 3/16 z DATA(1, -1, 1) - 3/16 z DATA(-1, -1, 1) - 3/16 z DATA(0, -1, 1)
+
+ - 1/16 z DATA(-1, 0, -1) - 1/16 z DATA(0, 0, -1) - 1/16 z DATA(1, 0, -1)
+
+ + 3/16 z DATA(0, 0, 0) + 3/16 z DATA(1, 0, 0) - 3/16 z DATA(2, 0, 1)
+
+ + 3/16 z DATA(2, 1, 0) - 3/16 z DATA(2, 2, 1) - 1/16 z DATA(2, 2, -1)
+
+ + 3/16 z DATA(-1, 2, 0) + 3/16 z DATA(0, 2, 0) + 3/16 z DATA(2, -1, 0)
+
+ + 3/16 z DATA(2, 0, 0) + 1/16 z DATA(1, 2, 2) + 1/16 z DATA(2, 2, 2)
+
+ + 1/16 z DATA(1, 1, 2) - 3/16 z DATA(1, 0, 1) - 1/16 z DATA(2, -1, -1)
+
+ - 1/16 z DATA(2, 0, -1) - 3/16 z DATA(2, 1, 1) - 3/16 z DATA(-1, 2, 1)
+
+ - 3/16 z DATA(0, 2, 1) - 1/80 x DATA(0, 1, -1) + 1/80 x DATA(1, 1, -1)
+
+ + 3/80 x DATA(-1, -1, 0) + 3/80 y DATA(0, -1, 0) + 1/80 y DATA(-1, 1, -1)
+
+ + 1/80 y DATA(0, 1, -1) + 1/80 y DATA(1, 1, -1) - 1/80 y DATA(2, 1, 1)
+
+ - 3/80 y DATA(1, 2, 1) + 3/80 y DATA(2, -1, 1) + 1/80 x DATA(0, -1, 0)
+
+ - 1/80 x DATA(1, -1, 0) + 3/80 x DATA(-1, 0, 0) + 3/80 x DATA(-1, 1, 0)
+
+ + 3/80 x DATA(-1, 1, 1) + 3/80 x DATA(-1, 0, 1) - 1/80 x DATA(1, -1, 1)
+
+ + 3/80 x DATA(-1, -1, 1) + 1/80 x DATA(0, -1, 1) - 3/80 x DATA(-1, 0, -1)
+
+ - 1/80 x DATA(0, 0, -1) + 1/80 x DATA(1, 0, -1) + 1/80 x DATA(0, 0, 0)
+
+ - 1/80 x DATA(1, 0, 0) - 3/80 x DATA(2, 2, 1) + 3/80 x DATA(-1, 2, 0)
+
+ + 1/80 x DATA(0, 2, 0) - 3/80 x DATA(2, -1, 0) - 3/80 x DATA(2, 0, 0)
+
+ + 1/80 x DATA(1, 2, 2) + 3/80 x DATA(2, 2, 2) + 1/80 x DATA(1, 1, 2)
+
+ - 1/80 x DATA(1, 0, 1) + 3/80 x DATA(2, -1, -1) + 3/80 x DATA(2, 0, -1)
+
+ - 3/80 x DATA(2, 1, 1) + 3/80 x DATA(-1, 2, 1) + 1/80 x DATA(0, 2, 1)
+
+ - 1/80 x DATA(1, 2, 1) - 3/80 x DATA(2, -1, 1) + 1/80 x DATA(1, -1, -1)
+
+ - 1/80 x DATA(1, 2, 0) - 3/80 x DATA(2, 2, 0) + 1/80 x DATA(0, 1, 0)
+
+ - 1/80 x DATA(1, 1, 0) + 1/80 x DATA(0, 0, 1) + 1/80 x DATA(0, 1, 1)
+
+ - 1/80 x DATA(1, 1, 1) - 3/80 x DATA(-1, -1, -1) - 1/80 x DATA(0, -1, -1)
+
+ + 1/80 x DATA(1, 2, -1) + 3/80 x DATA(2, 1, -1) - 3/80 x DATA(-1, 2, -1)
+
+ - 1/80 x DATA(0, 2, -1) + 3/80 x DATA(2, 1, 2) - 3/80 x DATA(-1, 2, 2)
+
+ - 1/80 x DATA(0, 2, 2) + 1/80 x DATA(1, 0, 2) + 3/80 x DATA(2, 0, 2)
+
+ - 3/80 x DATA(-1, 1, 2) - 1/80 x DATA(0, 1, 2) + 1/80 x DATA(1, -1, 2)
+
+ - 3/80 x DATA(-1, 0, 2) - 1/80 x DATA(0, 0, 2) - 3/80 x DATA(-1, -1, 2)
+
+ - 1/80 x DATA(0, -1, 2) - 3/80 y DATA(-1, 2, 1) - 3/16 z DATA(1, 2, 1)
+
+ - 3/16 z DATA(2, -1, 1) - 1/16 z DATA(1, -1, -1) + 3/16 z DATA(1, 2, 0)
+
+ + 3/16 z DATA(2, 2, 0) + 3/16 z DATA(0, 1, 0) + 3/16 z DATA(1, 1, 0)
+
+ - 3/16 z DATA(0, 0, 1) - 3/16 z DATA(0, 1, 1) - 3/16 z DATA(1, 1, 1)
+
+ - 1/16 z DATA(-1, -1, -1) - 1/16 z DATA(0, -1, -1) - 1/16 z DATA(1, 2, -1)
+
+ - 1/16 z DATA(2, 1, -1) - 1/16 z DATA(-1, 2, -1) - 1/16 z DATA(0, 2, -1)
+
+ + 1/16 z DATA(2, 1, 2) + 1/16 z DATA(0, 2, 2) + 1/16 z DATA(2, 0, 2)
+
+ + 1/16 z DATA(-1, 1, 2) + 1/16 z DATA(1, -1, 2) + 1/16 z DATA(-1, 0, 2)
+
+ + 1/16 z DATA(0, 0, 2) + 1/16 z DATA(-1, -1, 2) + 1/16 z DATA(0, -1, 2)
+
+ + 3/80 y DATA(2, -1, 0) + 1/80 y DATA(2, 0, 0) + 3/80 y DATA(1, 2, 2)
+
+ + 3/80 y DATA(2, 2, 2) + 1/80 y DATA(1, 1, 2) + 1/80 y DATA(1, 0, 1)
+
+ - 3/80 y DATA(2, -1, -1) - 1/80 y DATA(2, 0, -1) + 1/16 z DATA(0, 1, 2)
+
+ + 1/16 z DATA(2, -1, 2) + 1/16 z DATA(-1, 2, 2) + 1/16 z DATA(1, 0, 2)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size4);
+bytes used=564223080, alloc=4783252, time=62.08
+bytes used=565224468, alloc=4783252, time=62.15
+bytes used=566224620, alloc=4783252, time=62.22
+bytes used=567224788, alloc=4783252, time=62.29
+bytes used=568225240, alloc=4783252, time=62.37
+[COEFF(-1, -1, -1) = - 3/80 x + 1/10 - 3/80 y - 1/16 z,
+
+ COEFF(0, -1, -1) = - 1/80 x - 1/16 z + 7/80 - 3/80 y,
+
+ COEFF(1, -1, -1) = 1/80 x - 1/16 z + 3/40 - 3/80 y,
+
+ COEFF(2, -1, -1) = 1/16 + 3/80 x - 3/80 y - 1/16 z,
+
+ COEFF(-1, 0, -1) = - 3/80 x - 1/16 z + 7/80 - 1/80 y,
+
+ COEFF(0, 0, -1) = - 1/80 x + 3/40 - 1/80 y - 1/16 z,
+
+ COEFF(1, 0, -1) = - 1/80 y - 1/16 z + 1/16 + 1/80 x,
+
+ COEFF(2, 0, -1) = - 1/16 z + 3/80 x - 1/80 y + 1/20,
+
+ COEFF(-1, 1, -1) = - 3/80 x - 1/16 z + 1/80 y + 3/40,
+
+ COEFF(0, 1, -1) = - 1/16 z + 1/80 y + 1/16 - 1/80 x,
+
+ COEFF(1, 1, -1) = 1/80 y + 1/80 x + 1/20 - 1/16 z,
+
+ COEFF(2, 1, -1) = 3/80 + 1/80 y + 3/80 x - 1/16 z,
+
+ COEFF(-1, 2, -1) = 3/80 y + 1/16 - 3/80 x - 1/16 z,
+
+ COEFF(0, 2, -1) = - 1/80 x + 1/20 - 1/16 z + 3/80 y,
+
+ COEFF(1, 2, -1) = - 1/16 z + 3/80 y + 1/80 x + 3/80,
+
+ COEFF(2, 2, -1) = 1/40 - 1/16 z + 3/80 y + 3/80 x,
+
+ 13
+ COEFF(-1, -1, 0) = - -- + 3/80 x + 3/80 y + 3/16 z,
+ 80
+
+ COEFF(0, -1, 0) = 3/80 y + 1/80 x - 3/20 + 3/16 z,
+
+ 11
+ COEFF(1, -1, 0) = 3/16 z - -- + 3/80 y - 1/80 x,
+ 80
+
+ COEFF(2, -1, 0) = 3/80 y - 3/80 x - 1/8 + 3/16 z,
+
+ COEFF(-1, 0, 0) = - 3/20 + 1/80 y + 3/16 z + 3/80 x,
+
+ 11
+ COEFF(0, 0, 0) = 3/16 z + 1/80 y + 1/80 x - --,
+ 80
+
+ COEFF(1, 0, 0) = 3/16 z - 1/80 x - 1/8 + 1/80 y,
+
+ COEFF(2, 0, 0) = - 3/80 x + 1/80 y + 3/16 z - 9/80,
+
+ 11
+ COEFF(-1, 1, 0) = 3/80 x + 3/16 z - 1/80 y - --,
+ 80
+
+ COEFF(0, 1, 0) = 3/16 z - 1/8 + 1/80 x - 1/80 y,
+
+ COEFF(1, 1, 0) = 3/16 z - 9/80 - 1/80 y - 1/80 x,
+
+ COEFF(2, 1, 0) = 3/16 z - 1/10 - 3/80 x - 1/80 y,
+
+ COEFF(-1, 2, 0) = 3/16 z - 1/8 - 3/80 y + 3/80 x,
+
+ COEFF(0, 2, 0) = - 9/80 + 1/80 x - 3/80 y + 3/16 z,
+
+ COEFF(1, 2, 0) = 3/16 z - 1/10 - 3/80 y - 1/80 x,
+
+ COEFF(2, 2, 0) = - 3/80 x + 3/16 z - 7/80 - 3/80 y,
+
+ COEFF(-1, -1, 1) = - 3/16 z + 1/40 + 3/80 x + 3/80 y,
+
+ COEFF(0, -1, 1) = - 3/16 z + 3/80 + 1/80 x + 3/80 y,
+
+ COEFF(1, -1, 1) = 1/20 - 1/80 x + 3/80 y - 3/16 z,
+
+ COEFF(2, -1, 1) = - 3/16 z + 3/80 y - 3/80 x + 1/16,
+
+ COEFF(-1, 0, 1) = 1/80 y - 3/16 z + 3/80 x + 3/80,
+
+ COEFF(0, 0, 1) = 1/80 x - 3/16 z + 1/80 y + 1/20,
+
+ COEFF(1, 0, 1) = 1/16 - 3/16 z - 1/80 x + 1/80 y,
+
+ COEFF(2, 0, 1) = - 3/80 x - 3/16 z + 3/40 + 1/80 y,
+
+ COEFF(-1, 1, 1) = - 1/80 y - 3/16 z + 3/80 x + 1/20,
+
+ COEFF(0, 1, 1) = 1/16 - 3/16 z + 1/80 x - 1/80 y,
+
+ COEFF(1, 1, 1) = - 3/16 z - 1/80 y - 1/80 x + 3/40,
+
+ COEFF(2, 1, 1) = - 3/80 x - 3/16 z - 1/80 y + 7/80,
+
+ COEFF(-1, 2, 1) = 3/80 x + 1/16 - 3/16 z - 3/80 y,
+
+ COEFF(0, 2, 1) = 1/80 x - 3/16 z - 3/80 y + 3/40,
+
+ COEFF(1, 2, 1) = - 3/16 z - 1/80 x - 3/80 y + 7/80,
+
+ COEFF(2, 2, 1) = - 3/80 x - 3/16 z + 1/10 - 3/80 y,
+
+ COEFF(-1, -1, 2) = - 3/80 x + 3/80 - 3/80 y + 1/16 z,
+
+ COEFF(0, -1, 2) = 1/16 z + 1/40 - 1/80 x - 3/80 y,
+
+ COEFF(1, -1, 2) = 1/80 x - 3/80 y + 1/80 + 1/16 z,
+
+ COEFF(2, -1, 2) = - 3/80 y + 3/80 x + 1/16 z,
+
+ COEFF(-1, 0, 2) = 1/16 z - 3/80 x + 1/40 - 1/80 y,
+
+ COEFF(0, 0, 2) = - 1/80 y + 1/16 z - 1/80 x + 1/80,
+
+ COEFF(1, 0, 2) = 1/80 x - 1/80 y + 1/16 z,
+
+ COEFF(2, 0, 2) = 1/16 z + 3/80 x - 1/80 y - 1/80,
+
+ COEFF(-1, 1, 2) = 1/16 z - 3/80 x + 1/80 y + 1/80,
+
+ COEFF(0, 1, 2) = 1/80 y + 1/16 z - 1/80 x,
+
+ COEFF(1, 1, 2) = 1/16 z + 1/80 y - 1/80 + 1/80 x,
+
+ COEFF(2, 1, 2) = 3/80 x + 1/16 z - 1/40 + 1/80 y,
+
+ COEFF(-1, 2, 2) = - 3/80 x + 3/80 y + 1/16 z,
+
+ COEFF(0, 2, 2) = 3/80 y + 1/16 z - 1/80 - 1/80 x,
+
+ COEFF(1, 2, 2) = 3/80 y - 1/40 + 1/16 z + 1/80 x,
+
+ COEFF(2, 2, 2) = 3/80 x + 3/80 y - 3/80 + 1/16 z]
+
+> print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+> "3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c");
+bytes used=569225384, alloc=4783252, time=62.45
+bytes used=570225608, alloc=4783252, time=62.53
+bytes used=571225800, alloc=4783252, time=62.68
+bytes used=572226132, alloc=4783252, time=62.76
+bytes used=573226324, alloc=4783252, time=63.08
+bytes used=574226768, alloc=4783252, time=63.15
+bytes used=575226968, alloc=4783252, time=63.22
+bytes used=576229920, alloc=4783252, time=63.31
+bytes used=577230128, alloc=4783252, time=63.41
+bytes used=578230428, alloc=4783252, time=63.79
+bytes used=579230624, alloc=4783252, time=64.02
+bytes used=580230908, alloc=4783252, time=64.36
+>
+########################################
+>
+#
+# 3d, cube, order=4, smoothing=0 (size=5)
+#
+>
+# interpolating polynomial
+> interp_3d_cube_order4_smooth0
+> := polynomial_interpolant(fn_3d_order4, coeff_list_3d_order4,
+> coord_list_3d, posn_list_3d_size5);
+bytes used=581231084, alloc=4783252, time=64.46
+bytes used=582231304, alloc=4783252, time=64.53
+bytes used=583231476, alloc=4783252, time=64.61
+bytes used=584231732, alloc=4783252, time=64.69
+bytes used=585231956, alloc=4783252, time=64.77
+bytes used=586438584, alloc=4783252, time=64.84
+bytes used=587556912, alloc=4783252, time=64.92
+bytes used=588560008, alloc=4783252, time=64.99
+bytes used=589560488, alloc=4783252, time=65.06
+bytes used=590560968, alloc=4783252, time=65.12
+bytes used=591561448, alloc=4783252, time=65.19
+bytes used=592561928, alloc=4783252, time=65.26
+bytes used=593562568, alloc=4783252, time=65.33
+bytes used=594563048, alloc=4783252, time=65.39
+bytes used=595563528, alloc=4783252, time=65.46
+bytes used=596564008, alloc=4783252, time=65.53
+bytes used=597564488, alloc=4783252, time=65.60
+bytes used=598564968, alloc=4783252, time=65.67
+bytes used=599565156, alloc=4783252, time=65.77
+bytes used=600565272, alloc=4783252, time=65.83
+bytes used=601565452, alloc=4783252, time=65.89
+bytes used=602565628, alloc=4783252, time=65.96
+bytes used=603565768, alloc=4783252, time=66.02
+bytes used=604565904, alloc=4783252, time=66.09
+bytes used=605566056, alloc=4783252, time=66.15
+bytes used=606566212, alloc=4783252, time=66.22
+bytes used=607566328, alloc=4783252, time=66.28
+bytes used=608566472, alloc=4783252, time=66.35
+bytes used=609566704, alloc=4783252, time=66.41
+bytes used=610566872, alloc=4783252, time=66.48
+bytes used=611567068, alloc=4783252, time=66.54
+bytes used=612567272, alloc=4783252, time=66.61
+bytes used=613577628, alloc=4783252, time=66.67
+bytes used=614577776, alloc=4783252, time=66.74
+bytes used=615578148, alloc=4783252, time=66.81
+bytes used=616586456, alloc=4783252, time=66.88
+bytes used=617588560, alloc=4783252, time=66.96
+bytes used=618596448, alloc=4783252, time=67.03
+bytes used=619605268, alloc=4783252, time=67.10
+bytes used=620605448, alloc=4783252, time=67.17
+bytes used=621606684, alloc=4783252, time=67.24
+bytes used=622606864, alloc=4783252, time=67.31
+bytes used=623607064, alloc=4783252, time=67.38
+bytes used=624607276, alloc=4783252, time=67.44
+bytes used=625607580, alloc=4783252, time=67.51
+bytes used=626607792, alloc=4783252, time=67.58
+bytes used=627607940, alloc=4783252, time=67.64
+bytes used=628608144, alloc=4783252, time=67.72
+bytes used=629613872, alloc=4783252, time=67.79
+bytes used=630613992, alloc=4783252, time=67.86
+bytes used=631618724, alloc=4783252, time=67.94
+bytes used=632618920, alloc=4783252, time=68.01
+bytes used=633620616, alloc=4783252, time=68.08
+bytes used=634620772, alloc=4783252, time=68.16
+bytes used=635623912, alloc=4783252, time=68.23
+bytes used=636624204, alloc=4783252, time=68.30
+bytes used=637624440, alloc=4783252, time=68.38
+bytes used=638627952, alloc=4783252, time=68.45
+bytes used=639628136, alloc=4783252, time=68.52
+bytes used=640637360, alloc=4783252, time=68.59
+bytes used=641640964, alloc=4783252, time=68.66
+bytes used=642643240, alloc=4783252, time=68.73
+bytes used=643643360, alloc=4783252, time=68.81
+bytes used=644648140, alloc=4783252, time=68.88
+bytes used=645649632, alloc=4783252, time=68.95
+bytes used=646649832, alloc=4783252, time=69.02
+bytes used=647650988, alloc=4783252, time=69.10
+bytes used=648664876, alloc=4783252, time=69.17
+bytes used=649665056, alloc=4783252, time=69.24
+bytes used=650665232, alloc=4783252, time=69.31
+bytes used=651666372, alloc=4783252, time=69.39
+bytes used=652667628, alloc=4783252, time=69.46
+bytes used=653668688, alloc=4783252, time=69.53
+bytes used=654671680, alloc=4783252, time=69.60
+bytes used=655671888, alloc=4783252, time=69.67
+bytes used=656672024, alloc=4783252, time=69.75
+bytes used=657679984, alloc=4783252, time=69.82
+bytes used=658680180, alloc=4783252, time=69.89
+bytes used=659680364, alloc=4783252, time=69.96
+bytes used=660688888, alloc=4783252, time=70.03
+bytes used=661694576, alloc=4783252, time=70.10
+bytes used=662694760, alloc=4783252, time=70.18
+bytes used=663698152, alloc=4783252, time=70.25
+bytes used=664704452, alloc=4783252, time=70.32
+bytes used=665707184, alloc=4783252, time=70.39
+bytes used=666709320, alloc=4783252, time=70.46
+bytes used=667709460, alloc=4783252, time=70.54
+bytes used=668709672, alloc=4783252, time=70.61
+bytes used=669709844, alloc=4783252, time=70.68
+bytes used=670711976, alloc=4783252, time=70.76
+bytes used=671712124, alloc=4783252, time=70.83
+bytes used=672712276, alloc=4783252, time=70.90
+bytes used=673721464, alloc=4783252, time=70.97
+bytes used=674731500, alloc=4783252, time=71.04
+bytes used=675731640, alloc=4783252, time=71.11
+bytes used=676737452, alloc=4783252, time=71.18
+bytes used=677737632, alloc=4783252, time=71.26
+bytes used=678737804, alloc=4783252, time=71.34
+bytes used=679748600, alloc=4783252, time=71.41
+bytes used=680748728, alloc=4783252, time=71.47
+bytes used=681748936, alloc=4783252, time=71.55
+bytes used=682756776, alloc=4783252, time=71.63
+bytes used=683758744, alloc=4783252, time=71.70
+bytes used=684770412, alloc=4783252, time=71.77
+bytes used=685770552, alloc=4783252, time=71.84
+bytes used=686770736, alloc=4783252, time=71.91
+bytes used=687782292, alloc=4783252, time=71.98
+bytes used=688782436, alloc=4783252, time=72.06
+bytes used=689783336, alloc=4783252, time=72.13
+bytes used=690787012, alloc=4783252, time=72.19
+ 23 272
+interp_3d_cube_order4_smooth0 := - ---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1)
+ 6125 6125
+
+ 23 272
+ - ---- DATA(1, 1, -1) + ---- DATA(-1, -1, 0) + (1/1000 DATA(-1, 1, -1)
+ 6125 6125
+
+ - 1/1000 DATA(1, 1, -1) - 1/1000 DATA(-1, 1, 1) - 1/1000 DATA(1, -1, 1)
+
+ + 1/1000 DATA(-1, -1, 1) + 1/250 DATA(-1, -2, 2) - 1/250 DATA(1, -2, 2)
+
+ + 1/250 DATA(-2, -1, 2) - 1/125 DATA(2, -2, 2) - 1/250 DATA(-2, 1, 2)
+
+ + 1/1000 DATA(1, 1, 1) - 1/125 DATA(-2, 2, 2) - 1/1000 DATA(-1, -1, -1)
+
+ - 1/500 DATA(1, 2, -1) - 1/500 DATA(2, 1, -1) + 1/500 DATA(-1, 2, -1)
+
+ + 1/500 DATA(2, -1, -1) + 1/500 DATA(2, 1, 1) - 1/500 DATA(-1, 2, 1)
+
+ + 1/500 DATA(1, 2, 1) - 1/500 DATA(2, -1, 1) + 1/1000 DATA(1, -1, -1)
+
+ - 1/250 DATA(2, 2, -1) + 1/250 DATA(1, 2, 2) - 1/250 DATA(-2, -1, -2)
+
+ + 1/125 DATA(2, 2, 2) + 1/125 DATA(2, -2, -2) + 1/250 DATA(1, -2, -2)
+
+ + 1/500 DATA(1, 1, 2) + 1/250 DATA(2, 1, 2) - 1/250 DATA(-1, 2, 2)
+
+ - 1/250 DATA(-1, -2, -2) - 1/500 DATA(-1, 1, 2) - 1/125 DATA(-2, -2, -2)
+
+ - 1/500 DATA(1, -1, 2) - 1/250 DATA(2, -1, 2) + 1/500 DATA(-1, -1, 2)
+
+ + 1/250 DATA(2, 2, 1) + 1/125 DATA(-2, 2, -2) - 1/250 DATA(2, 1, -2)
+
+ - 1/500 DATA(1, 1, -2) + 1/500 DATA(-1, 1, -2) + 1/250 DATA(-2, 1, -2)
+
+ + 1/250 DATA(2, -1, -2) + 1/500 DATA(1, -1, -2) - 1/500 DATA(-1, -1, -2)
+
+ + 1/250 DATA(2, -2, -1) + 1/500 DATA(1, -2, -1) - 1/500 DATA(-1, -2, -1)
+
+ - 1/250 DATA(-2, -2, -1) - 1/125 DATA(2, 2, -2) - 1/250 DATA(1, 2, -2)
+
+ + 1/250 DATA(-1, 2, -2) + 1/500 DATA(-2, 1, -1) - 1/500 DATA(-2, -1, -1)
+
+ + 1/250 DATA(-2, 2, -1) + 1/250 DATA(-2, -2, 1) + 1/500 DATA(-1, -2, 1)
+
+ - 1/500 DATA(1, -2, 1) - 1/250 DATA(2, -2, 1) + 1/500 DATA(-2, -1, 1)
+
+ - 1/500 DATA(-2, 1, 1) - 1/250 DATA(-2, 2, 1) + 1/125 DATA(-2, -2, 2)) x y
+
+ 592 272 592
+ z + ---- DATA(0, -1, 0) + ---- DATA(1, -1, 0) + ---- DATA(-1, 0, 0)
+ 6125 6125 6125
+
+ 272
+ + ---- DATA(-1, 1, 0) + (- 1/1400 DATA(-1, 1, -1) + 1/1400 DATA(1, 1, -1)
+ 6125
+
+ + 1/1400 DATA(-1, 1, 1) + 1/700 DATA(-1, 0, 1) - 1/1400 DATA(1, -1, 1)
+
+ + 1/1400 DATA(-1, -1, 1) - 1/350 DATA(-1, -2, 2) - 1/700 DATA(-1, 0, -1)
+
+ + 1/700 DATA(1, 0, -1) + 1/350 DATA(1, -2, 2) + 1/350 DATA(-2, -1, 2)
+
+ + 1/175 DATA(2, -2, 2) + 1/175 DATA(-2, 0, 2) + 1/350 DATA(-2, 1, 2)
+
+ - 1/700 DATA(1, 0, 1) - 1/1400 DATA(1, 1, 1) - 1/175 DATA(-2, 2, 2)
+
+ - 1/1400 DATA(-1, -1, -1) - 1/700 DATA(1, 2, -1) + 1/700 DATA(2, 1, -1)
+
+ + 1/700 DATA(-1, 2, -1) + 1/700 DATA(2, -1, -1) + 1/350 DATA(2, 0, -1)
+
+ - 1/700 DATA(2, 1, 1) - 1/700 DATA(-1, 2, 1) + 1/700 DATA(1, 2, 1)
+
+ - 1/700 DATA(2, -1, 1) - 1/350 DATA(2, 0, 1) + 1/1400 DATA(1, -1, -1)
+
+ - 1/350 DATA(2, 2, -1) + 1/350 DATA(1, 2, 2) - 1/350 DATA(-2, -1, -2)
+
+ + 1/175 DATA(2, 2, 2) - 1/175 DATA(2, -2, -2) - 1/350 DATA(1, -2, -2)
+
+ - 1/700 DATA(1, 1, 2) - 1/350 DATA(2, 1, 2) - 1/350 DATA(-1, 2, 2)
+
+ + 1/350 DATA(-1, -2, -2) - 1/350 DATA(1, 0, 2) - 1/175 DATA(2, 0, 2)
+
+ + 1/700 DATA(-1, 1, 2) + 1/175 DATA(-2, -2, -2) - 1/700 DATA(1, -1, 2)
+
+ - 1/350 DATA(2, -1, 2) + 1/350 DATA(-1, 0, 2) + 1/700 DATA(-1, -1, 2)
+
+ + 1/350 DATA(2, 2, 1) + 1/175 DATA(-2, 2, -2) + 1/350 DATA(2, 1, -2)
+
+ + 1/700 DATA(1, 1, -2) - 1/700 DATA(-1, 1, -2) - 1/350 DATA(-2, 1, -2)
+
+ + 1/175 DATA(2, 0, -2) + 1/350 DATA(1, 0, -2) - 1/350 DATA(-1, 0, -2)
+
+ - 1/175 DATA(-2, 0, -2) + 1/350 DATA(2, -1, -2) + 1/700 DATA(1, -1, -2)
+
+ - 1/700 DATA(-1, -1, -2) - 1/350 DATA(2, -2, -1) - 1/700 DATA(1, -2, -1)
+
+ + 1/700 DATA(-1, -2, -1) + 1/350 DATA(-2, -2, -1) - 1/175 DATA(2, 2, -2)
+
+ - 1/350 DATA(1, 2, -2) + 1/350 DATA(-1, 2, -2) - 1/700 DATA(-2, 1, -1)
+
+ - 1/350 DATA(-2, 0, -1) - 1/700 DATA(-2, -1, -1) + 1/350 DATA(-2, 2, -1)
+
+ - 1/350 DATA(-2, -2, 1) - 1/700 DATA(-1, -2, 1) + 1/700 DATA(1, -2, 1)
+
+ + 1/350 DATA(2, -2, 1) + 1/700 DATA(-2, -1, 1) + 1/350 DATA(-2, 0, 1)
+
+ + 1/700 DATA(-2, 1, 1) - 1/350 DATA(-2, 2, 1) - 1/175 DATA(-2, -2, 2)) x
+
+ 2 23 272 23
+ y z - ---- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) - ---- DATA(1, -1, 1)
+ 6125 6125 6125
+
+ 23 272
+ - ---- DATA(-1, -1, 1) + ---- DATA(0, -1, 1) + (- 1/700 DATA(-1, 1, -1)
+ 6125 6125
+
+ - 1/700 DATA(0, 1, -1) - 1/700 DATA(1, 1, -1) + 1/350 DATA(-1, -1, 0)
+
+ + 1/350 DATA(0, -1, 0) + 1/350 DATA(1, -1, 0) - 1/350 DATA(-1, 1, 0)
+
+ - 1/700 DATA(-1, 1, 1) + 1/700 DATA(1, -1, 1) + 1/700 DATA(-1, -1, 1)
+
+ + 1/700 DATA(0, -1, 1) - 1/175 DATA(-1, -2, 2) - 1/175 DATA(0, -2, 2)
+
+ - 1/350 DATA(0, 1, 0) - 1/350 DATA(1, 1, 0) - 1/175 DATA(1, -2, 2)
+
+ - 1/350 DATA(-2, -1, 2) - 1/175 DATA(2, -2, 2) + 1/350 DATA(-2, 1, 2)
+
+ - 1/700 DATA(0, 1, 1) - 1/700 DATA(1, 1, 1) + 1/175 DATA(-2, 2, 2)
+
+ + 1/700 DATA(-1, -1, -1) + 1/700 DATA(0, -1, -1) - 1/350 DATA(1, 2, -1)
+
+ - 1/700 DATA(2, 1, -1) - 1/350 DATA(-1, 2, -1) - 1/350 DATA(0, 2, -1)
+
+ + 1/700 DATA(2, -1, -1) - 1/700 DATA(2, 1, 1) - 1/350 DATA(-1, 2, 1)
+
+ - 1/350 DATA(0, 2, 1) - 1/350 DATA(1, 2, 1) + 1/700 DATA(2, -1, 1)
+
+ + 1/700 DATA(1, -1, -1) - 1/175 DATA(1, 2, 0) - 1/175 DATA(2, 2, 0)
+
+ - 1/350 DATA(2, 1, 0) - 1/175 DATA(-1, 2, 0) - 1/175 DATA(0, 2, 0)
+
+ + 1/350 DATA(2, -1, 0) - 1/350 DATA(2, 2, -1) + 1/175 DATA(1, 2, 2)
+
+ - 1/350 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2) - 1/175 DATA(2, -2, -2)
+
+ - 1/175 DATA(1, -2, -2) + 1/350 DATA(1, 1, 2) + 1/350 DATA(2, 1, 2)
+
+ + 1/175 DATA(-1, 2, 2) + 1/175 DATA(0, 2, 2) - 1/175 DATA(0, -2, -2)
+
+ - 1/175 DATA(-1, -2, -2) + 1/350 DATA(-1, 1, 2) + 1/350 DATA(0, 1, 2)
+
+ - 1/175 DATA(-2, -2, -2) - 1/350 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2)
+
+ - 1/350 DATA(-1, -1, 2) - 1/350 DATA(0, -1, 2) - 1/350 DATA(2, 2, 1)
+
+ + 1/175 DATA(-2, 2, -2) + 1/350 DATA(2, 1, -2) + 1/350 DATA(1, 1, -2)
+
+ + 1/350 DATA(0, 1, -2) + 1/350 DATA(-1, 1, -2) + 1/350 DATA(-2, 1, -2)
+
+ - 1/350 DATA(2, -1, -2) - 1/350 DATA(1, -1, -2) - 1/350 DATA(0, -1, -2)
+
+ - 1/350 DATA(-1, -1, -2) + 1/350 DATA(2, -2, -1) + 1/350 DATA(1, -2, -1)
+
+ + 1/350 DATA(0, -2, -1) + 1/350 DATA(-1, -2, -1) + 1/350 DATA(-2, -2, -1)
+
+ + 1/175 DATA(2, 2, -2) + 1/175 DATA(1, 2, -2) + 1/175 DATA(0, 2, -2)
+
+ + 1/175 DATA(-1, 2, -2) - 1/700 DATA(-2, 1, -1) + 1/700 DATA(-2, -1, -1)
+
+ - 1/350 DATA(-2, 2, -1) + 1/175 DATA(0, -2, 0) + 1/175 DATA(-1, -2, 0)
+
+ + 1/175 DATA(-2, -2, 0) + 1/350 DATA(-2, -1, 0) + 1/175 DATA(2, -2, 0)
+
+ + 1/175 DATA(1, -2, 0) - 1/350 DATA(-2, 1, 0) - 1/175 DATA(-2, 2, 0)
+
+ + 1/350 DATA(-2, -2, 1) + 1/350 DATA(-1, -2, 1) + 1/350 DATA(1, -2, 1)
+
+ + 1/350 DATA(0, -2, 1) + 1/350 DATA(2, -2, 1) + 1/700 DATA(-2, -1, 1)
+
+ - 1/700 DATA(-2, 1, 1) - 1/350 DATA(-2, 2, 1) - 1/175 DATA(-2, -2, 2)) y
+
+ 2
+ z + (1/700 DATA(-1, 1, -1) - 1/700 DATA(1, 1, -1) + 1/350 DATA(-1, -1, 0)
+
+ - 1/350 DATA(1, -1, 0) + 1/350 DATA(-1, 0, 0) + 1/350 DATA(-1, 1, 0)
+
+ + 1/700 DATA(-1, 1, 1) + 1/700 DATA(-1, 0, 1) - 1/700 DATA(1, -1, 1)
+
+ + 1/700 DATA(-1, -1, 1) - 1/350 DATA(-1, -2, 2) + 1/700 DATA(-1, 0, -1)
+
+ - 1/700 DATA(1, 0, -1) - 1/350 DATA(1, 0, 0) - 1/350 DATA(1, 1, 0)
+
+ + 1/350 DATA(1, -2, 2) - 1/175 DATA(-2, -1, 2) + 1/175 DATA(2, -2, 2)
+
+ - 1/175 DATA(-2, 0, 2) - 1/175 DATA(-2, 1, 2) - 1/700 DATA(1, 0, 1)
+
+ - 1/700 DATA(1, 1, 1) - 1/175 DATA(-2, 2, 2) + 1/700 DATA(-1, -1, -1)
+
+ - 1/700 DATA(1, 2, -1) - 1/350 DATA(2, 1, -1) + 1/700 DATA(-1, 2, -1)
+
+ - 1/350 DATA(2, -1, -1) - 1/350 DATA(2, 0, -1) - 1/350 DATA(2, 1, 1)
+
+ + 1/700 DATA(-1, 2, 1) - 1/700 DATA(1, 2, 1) - 1/350 DATA(2, -1, 1)
+
+ - 1/350 DATA(2, 0, 1) - 1/700 DATA(1, -1, -1) - 1/350 DATA(1, 2, 0)
+
+ - 1/175 DATA(2, 2, 0) - 1/175 DATA(2, 1, 0) + 1/350 DATA(-1, 2, 0)
+
+ - 1/175 DATA(2, -1, 0) - 1/175 DATA(2, 0, 0) - 1/350 DATA(2, 2, -1)
+
+ + 1/350 DATA(1, 2, 2) - 1/175 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2)
+
+ + 1/175 DATA(2, -2, -2) + 1/350 DATA(1, -2, -2) + 1/350 DATA(1, 1, 2)
+
+ + 1/175 DATA(2, 1, 2) - 1/350 DATA(-1, 2, 2) - 1/350 DATA(-1, -2, -2)
+
+ + 1/350 DATA(1, 0, 2) + 1/175 DATA(2, 0, 2) - 1/350 DATA(-1, 1, 2)
+
+ - 1/175 DATA(-2, -2, -2) + 1/350 DATA(1, -1, 2) + 1/175 DATA(2, -1, 2)
+
+ - 1/350 DATA(-1, 0, 2) - 1/350 DATA(-1, -1, 2) - 1/350 DATA(2, 2, 1)
+
+ - 1/175 DATA(-2, 2, -2) + 1/175 DATA(2, 1, -2) + 1/350 DATA(1, 1, -2)
+
+ - 1/350 DATA(-1, 1, -2) - 1/175 DATA(-2, 1, -2) + 1/175 DATA(2, 0, -2)
+
+ + 1/350 DATA(1, 0, -2) - 1/350 DATA(-1, 0, -2) - 1/175 DATA(-2, 0, -2)
+
+ + 1/175 DATA(2, -1, -2) + 1/350 DATA(1, -1, -2) - 1/350 DATA(-1, -1, -2)
+
+ - 1/350 DATA(2, -2, -1) - 1/700 DATA(1, -2, -1) + 1/700 DATA(-1, -2, -1)
+
+ + 1/350 DATA(-2, -2, -1) + 1/175 DATA(2, 2, -2) + 1/350 DATA(1, 2, -2)
+
+ - 1/350 DATA(-1, 2, -2) + 1/350 DATA(-2, 1, -1) + 1/350 DATA(-2, 0, -1)
+
+ + 1/350 DATA(-2, -1, -1) + 1/350 DATA(-2, 2, -1) + 1/350 DATA(-1, -2, 0)
+
+ + 1/175 DATA(-2, -2, 0) + 1/175 DATA(-2, 0, 0) + 1/175 DATA(-2, -1, 0)
+
+ - 1/175 DATA(2, -2, 0) - 1/350 DATA(1, -2, 0) + 1/175 DATA(-2, 1, 0)
+
+ + 1/175 DATA(-2, 2, 0) + 1/350 DATA(-2, -2, 1) + 1/700 DATA(-1, -2, 1)
+
+ - 1/700 DATA(1, -2, 1) - 1/350 DATA(2, -2, 1) + 1/350 DATA(-2, -1, 1)
+
+ + 1/350 DATA(-2, 0, 1) + 1/350 DATA(-2, 1, 1) + 1/350 DATA(-2, 2, 1)
+
+ 2 / 137
+ - 1/175 DATA(-2, -2, 2)) x z + |- ---- DATA(-1, 1, -1)
+ \ 5250
+
+ 137 289 289
+ + ---- DATA(1, 1, -1) + ----- DATA(-1, -1, 0) - ----- DATA(1, -1, 0)
+ 5250 10500 10500
+
+ 289 137 137
+ - ----- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1) - ---- DATA(1, -1, 1)
+ 10500 5250 5250
+
+ 137 107 289
+ + ---- DATA(-1, -1, 1) + ---- DATA(-1, -2, 2) + ----- DATA(1, 1, 0)
+ 5250 7000 10500
+
+ 107 107 137
+ - ---- DATA(1, -2, 2) + ---- DATA(-2, -1, 2) + ---- DATA(2, -2, 2)
+ 7000 7000 5250
+
+ 107 137 137
+ - ---- DATA(-2, 1, 2) + ---- DATA(1, 1, 1) + ---- DATA(-2, 2, 2)
+ 7000 5250 5250
+
+ 137 167 167
+ + ---- DATA(-1, -1, -1) + ---- DATA(1, 2, -1) + ---- DATA(2, 1, -1)
+ 5250 7000 7000
+
+ 167 167 167
+ - ---- DATA(-1, 2, -1) - ---- DATA(2, -1, -1) + ---- DATA(2, 1, 1)
+ 7000 7000 7000
+
+ 167 167 167
+ - ---- DATA(-1, 2, 1) + ---- DATA(1, 2, 1) - ---- DATA(2, -1, 1)
+ 7000 7000 7000
+
+ 137 187 17
+ - ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0) - ---- DATA(2, 2, 0)
+ 5250 7000 5250
+
+ 187 187 187
+ + ---- DATA(2, 1, 0) - ---- DATA(-1, 2, 0) - ---- DATA(2, -1, 0)
+ 7000 7000 7000
+
+ 47 107 107
+ - ---- DATA(2, 2, -1) + ---- DATA(1, 2, 2) + ---- DATA(-2, -1, -2)
+ 5250 7000 7000
+
+ 137 137 107
+ - ---- DATA(2, 2, 2) + ---- DATA(2, -2, -2) - ---- DATA(1, -2, -2)
+ 5250 5250 7000
+
+ 229 107 107
+ + ----- DATA(1, 1, 2) + ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2)
+ 10500 7000 7000
+
+ 107 229 137
+ + ---- DATA(-1, -2, -2) - ----- DATA(-1, 1, 2) - ---- DATA(-2, -2, -2)
+ 7000 10500 5250
+
+ 229 107 229
+ - ----- DATA(1, -1, 2) - ---- DATA(2, -1, 2) + ----- DATA(-1, -1, 2)
+ 10500 7000 10500
+
+ 47 137 107
+ - ---- DATA(2, 2, 1) + ---- DATA(-2, 2, -2) + ---- DATA(2, 1, -2)
+ 5250 5250 7000
+
+ 229 229 107
+ + ----- DATA(1, 1, -2) - ----- DATA(-1, 1, -2) - ---- DATA(-2, 1, -2)
+ 10500 10500 7000
+
+ 107 229 229
+ - ---- DATA(2, -1, -2) - ----- DATA(1, -1, -2) + ----- DATA(-1, -1, -2)
+ 7000 10500 10500
+
+ 47 167 167
+ + ---- DATA(2, -2, -1) - ---- DATA(1, -2, -1) + ---- DATA(-1, -2, -1)
+ 5250 7000 7000
+
+ 47 137 107
+ - ---- DATA(-2, -2, -1) - ---- DATA(2, 2, -2) + ---- DATA(1, 2, -2)
+ 5250 5250 7000
+
+ 107 167 167
+ - ---- DATA(-1, 2, -2) - ---- DATA(-2, 1, -1) + ---- DATA(-2, -1, -1)
+ 7000 7000 7000
+
+ 47 187 17
+ + ---- DATA(-2, 2, -1) + ---- DATA(-1, -2, 0) - ---- DATA(-2, -2, 0)
+ 5250 7000 5250
+
+ 187 17 187
+ + ---- DATA(-2, -1, 0) + ---- DATA(2, -2, 0) - ---- DATA(1, -2, 0)
+ 7000 5250 7000
+
+ 187 17 47
+ - ---- DATA(-2, 1, 0) + ---- DATA(-2, 2, 0) - ---- DATA(-2, -2, 1)
+ 7000 5250 5250
+
+ 167 167 47
+ + ---- DATA(-1, -2, 1) - ---- DATA(1, -2, 1) + ---- DATA(2, -2, 1)
+ 7000 7000 5250
+
+ 167 167 47
+ + ---- DATA(-2, -1, 1) - ---- DATA(-2, 1, 1) + ---- DATA(-2, 2, 1)
+ 7000 7000 5250
+
+ 137 \ / 137
+ - ---- DATA(-2, -2, 2)| x y + |- ---- DATA(-1, 1, -1)
+ 5250 / \ 5250
+
+ 289 137 137
+ - ----- DATA(0, 1, -1) - ---- DATA(1, 1, -1) + ---- DATA(-1, 1, 1)
+ 10500 5250 5250
+
+ 137 137 289
+ - ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1) - ----- DATA(0, -1, 1)
+ 5250 5250 10500
+
+ 47 17 47
+ + ---- DATA(-1, -2, 2) + ---- DATA(0, -2, 2) + ---- DATA(1, -2, 2)
+ 5250 5250 5250
+
+ 107 137 107
+ - ---- DATA(-2, -1, 2) + ---- DATA(2, -2, 2) + ---- DATA(-2, 1, 2)
+ 7000 5250 7000
+
+ 289 137 137
+ + ----- DATA(0, 1, 1) + ---- DATA(1, 1, 1) - ---- DATA(-2, 2, 2)
+ 10500 5250 5250
+
+ 137 289 167
+ + ---- DATA(-1, -1, -1) + ----- DATA(0, -1, -1) - ---- DATA(1, 2, -1)
+ 5250 10500 7000
+
+ 229 167 187
+ - ----- DATA(2, 1, -1) - ---- DATA(-1, 2, -1) - ---- DATA(0, 2, -1)
+ 10500 7000 7000
+
+ 229 229 167
+ + ----- DATA(2, -1, -1) + ----- DATA(2, 1, 1) + ---- DATA(-1, 2, 1)
+ 10500 10500 7000
+
+ 187 167 229
+ + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1) - ----- DATA(2, -1, 1)
+ 7000 7000 10500
+
+ 137 107 47
+ + ---- DATA(1, -1, -1) - ---- DATA(2, 2, -1) - ---- DATA(1, 2, 2)
+ 5250 7000 5250
+
+ 107 137 137
+ + ---- DATA(-2, -1, -2) - ---- DATA(2, 2, 2) - ---- DATA(2, -2, -2)
+ 7000 5250 5250
+
+ 47 167 107
+ - ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2) + ---- DATA(2, 1, 2)
+ 5250 7000 7000
+
+ 47 17 17
+ - ---- DATA(-1, 2, 2) - ---- DATA(0, 2, 2) - ---- DATA(0, -2, -2)
+ 5250 5250 5250
+
+ 47 167 187
+ - ---- DATA(-1, -2, -2) + ---- DATA(-1, 1, 2) + ---- DATA(0, 1, 2)
+ 5250 7000 7000
+
+ 137 167 107
+ - ---- DATA(-2, -2, -2) - ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 5250 7000 7000
+
+ 167 187 107
+ - ---- DATA(-1, -1, 2) - ---- DATA(0, -1, 2) + ---- DATA(2, 2, 1)
+ 7000 7000 7000
+
+ 137 107 167
+ + ---- DATA(-2, 2, -2) - ---- DATA(2, 1, -2) - ---- DATA(1, 1, -2)
+ 5250 7000 7000
+
+ 187 167 107
+ - ---- DATA(0, 1, -2) - ---- DATA(-1, 1, -2) - ---- DATA(-2, 1, -2)
+ 7000 7000 7000
+
+ 107 167 187
+ + ---- DATA(2, -1, -2) + ---- DATA(1, -1, -2) + ---- DATA(0, -1, -2)
+ 7000 7000 7000
+
+ 167 107 167
+ + ---- DATA(-1, -1, -2) + ---- DATA(2, -2, -1) + ---- DATA(1, -2, -1)
+ 7000 7000 7000
+
+ 187 167 107
+ + ---- DATA(0, -2, -1) + ---- DATA(-1, -2, -1) + ---- DATA(-2, -2, -1)
+ 7000 7000 7000
+
+ 137 47 17
+ + ---- DATA(2, 2, -2) + ---- DATA(1, 2, -2) + ---- DATA(0, 2, -2)
+ 5250 5250 5250
+
+ 47 229 229
+ + ---- DATA(-1, 2, -2) - ----- DATA(-2, 1, -1) + ----- DATA(-2, -1, -1)
+ 5250 10500 10500
+
+ 107 107 167
+ - ---- DATA(-2, 2, -1) - ---- DATA(-2, -2, 1) - ---- DATA(-1, -2, 1)
+ 7000 7000 7000
+
+ 167 187 107
+ - ---- DATA(1, -2, 1) - ---- DATA(0, -2, 1) - ---- DATA(2, -2, 1)
+ 7000 7000 7000
+
+ 229 229 107
+ - ----- DATA(-2, -1, 1) + ----- DATA(-2, 1, 1) + ---- DATA(-2, 2, 1)
+ 10500 10500 7000
+
+ 137 \ /137 137
+ + ---- DATA(-2, -2, 2)| y z + |---- DATA(-1, 1, -1) - ---- DATA(1, 1, -1)
+ 5250 / \5250 5250
+
+ 137 289 137
+ - ---- DATA(-1, 1, 1) - ----- DATA(-1, 0, 1) + ---- DATA(1, -1, 1)
+ 5250 10500 5250
+
+ 137 107 289
+ - ---- DATA(-1, -1, 1) - ---- DATA(-1, -2, 2) + ----- DATA(-1, 0, -1)
+ 5250 7000 10500
+
+ 289 107 47
+ - ----- DATA(1, 0, -1) + ---- DATA(1, -2, 2) + ---- DATA(-2, -1, 2)
+ 10500 7000 5250
+
+ 137 17 47
+ - ---- DATA(2, -2, 2) + ---- DATA(-2, 0, 2) + ---- DATA(-2, 1, 2)
+ 5250 5250 5250
+
+ 289 137 137
+ + ----- DATA(1, 0, 1) + ---- DATA(1, 1, 1) + ---- DATA(-2, 2, 2)
+ 10500 5250 5250
+
+ 137 229 167
+ + ---- DATA(-1, -1, -1) - ----- DATA(1, 2, -1) - ---- DATA(2, 1, -1)
+ 5250 10500 7000
+
+ 229 167 187
+ + ----- DATA(-1, 2, -1) - ---- DATA(2, -1, -1) - ---- DATA(2, 0, -1)
+ 10500 7000 7000
+
+ 167 229 229
+ + ---- DATA(2, 1, 1) - ----- DATA(-1, 2, 1) + ----- DATA(1, 2, 1)
+ 7000 10500 10500
+
+ 167 187 137
+ + ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1)
+ 7000 7000 5250
+
+ 107 107 47
+ - ---- DATA(2, 2, -1) + ---- DATA(1, 2, 2) - ---- DATA(-2, -1, -2)
+ 7000 7000 5250
+
+ 137 137 107
+ - ---- DATA(2, 2, 2) + ---- DATA(2, -2, -2) - ---- DATA(1, -2, -2)
+ 5250 5250 7000
+
+ 167 47 107
+ + ---- DATA(1, 1, 2) - ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2)
+ 7000 5250 7000
+
+ 107 187 17
+ + ---- DATA(-1, -2, -2) + ---- DATA(1, 0, 2) - ---- DATA(2, 0, 2)
+ 7000 7000 5250
+
+ 167 137 167
+ - ---- DATA(-1, 1, 2) - ---- DATA(-2, -2, -2) + ---- DATA(1, -1, 2)
+ 7000 5250 7000
+
+ 47 187 167
+ - ---- DATA(2, -1, 2) - ---- DATA(-1, 0, 2) - ---- DATA(-1, -1, 2)
+ 5250 7000 7000
+
+ 107 137 47
+ + ---- DATA(2, 2, 1) - ---- DATA(-2, 2, -2) + ---- DATA(2, 1, -2)
+ 7000 5250 5250
+
+ 167 167 47
+ - ---- DATA(1, 1, -2) + ---- DATA(-1, 1, -2) - ---- DATA(-2, 1, -2)
+ 7000 7000 5250
+
+ 17 187 187
+ + ---- DATA(2, 0, -2) - ---- DATA(1, 0, -2) + ---- DATA(-1, 0, -2)
+ 5250 7000 7000
+
+ 17 47 167
+ - ---- DATA(-2, 0, -2) + ---- DATA(2, -1, -2) - ---- DATA(1, -1, -2)
+ 5250 5250 7000
+
+ 167 107 229
+ + ---- DATA(-1, -1, -2) - ---- DATA(2, -2, -1) - ----- DATA(1, -2, -1)
+ 7000 7000 10500
+
+ 229 107 137
+ + ----- DATA(-1, -2, -1) + ---- DATA(-2, -2, -1) + ---- DATA(2, 2, -2)
+ 10500 7000 5250
+
+ 107 107 167
+ - ---- DATA(1, 2, -2) + ---- DATA(-1, 2, -2) + ---- DATA(-2, 1, -1)
+ 7000 7000 7000
+
+ 187 167 107
+ + ---- DATA(-2, 0, -1) + ---- DATA(-2, -1, -1) + ---- DATA(-2, 2, -1)
+ 7000 7000 7000
+
+ 107 229 229
+ - ---- DATA(-2, -2, 1) - ----- DATA(-1, -2, 1) + ----- DATA(1, -2, 1)
+ 7000 10500 10500
+
+ 107 167 187
+ + ---- DATA(2, -2, 1) - ---- DATA(-2, -1, 1) - ---- DATA(-2, 0, 1)
+ 7000 7000 7000
+
+ 167 107 137 \
+ - ---- DATA(-2, 1, 1) - ---- DATA(-2, 2, 1) + ---- DATA(-2, -2, 2)| x z +
+ 7000 7000 5250 /
+
+ (1/700 DATA(-1, 1, -1) - 1/700 DATA(1, 1, -1) + 1/700 DATA(-1, -1, 0)
+
+ - 1/700 DATA(1, -1, 0) + 1/350 DATA(-1, 0, 0) + 1/700 DATA(-1, 1, 0)
+
+ + 1/700 DATA(-1, 1, 1) + 1/350 DATA(-1, 0, 1) - 1/700 DATA(1, -1, 1)
+
+ + 1/700 DATA(-1, -1, 1) - 1/350 DATA(-1, -2, 2) + 1/350 DATA(-1, 0, -1)
+
+ - 1/350 DATA(1, 0, -1) - 1/350 DATA(1, 0, 0) - 1/700 DATA(1, 1, 0)
+
+ + 1/350 DATA(1, -2, 2) + 1/350 DATA(-2, -1, 2) + 1/175 DATA(2, -2, 2)
+
+ + 1/175 DATA(-2, 0, 2) + 1/350 DATA(-2, 1, 2) - 1/350 DATA(1, 0, 1)
+
+ - 1/700 DATA(1, 1, 1) - 1/175 DATA(-2, 2, 2) + 1/700 DATA(-1, -1, -1)
+
+ + 1/350 DATA(1, 2, -1) - 1/350 DATA(2, 1, -1) - 1/350 DATA(-1, 2, -1)
+
+ - 1/350 DATA(2, -1, -1) - 1/175 DATA(2, 0, -1) - 1/350 DATA(2, 1, 1)
+
+ - 1/350 DATA(-1, 2, 1) + 1/350 DATA(1, 2, 1) - 1/350 DATA(2, -1, 1)
+
+ - 1/175 DATA(2, 0, 1) - 1/700 DATA(1, -1, -1) + 1/350 DATA(1, 2, 0)
+
+ + 1/175 DATA(2, 2, 0) - 1/350 DATA(2, 1, 0) - 1/350 DATA(-1, 2, 0)
+
+ - 1/350 DATA(2, -1, 0) - 1/175 DATA(2, 0, 0) + 1/175 DATA(2, 2, -1)
+
+ + 1/350 DATA(1, 2, 2) + 1/350 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2)
+
+ + 1/175 DATA(2, -2, -2) + 1/350 DATA(1, -2, -2) - 1/700 DATA(1, 1, 2)
+
+ - 1/350 DATA(2, 1, 2) - 1/350 DATA(-1, 2, 2) - 1/350 DATA(-1, -2, -2)
+
+ - 1/350 DATA(1, 0, 2) - 1/175 DATA(2, 0, 2) + 1/700 DATA(-1, 1, 2)
+
+ - 1/175 DATA(-2, -2, -2) - 1/700 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2)
+
+ + 1/350 DATA(-1, 0, 2) + 1/700 DATA(-1, -1, 2) + 1/175 DATA(2, 2, 1)
+
+ - 1/175 DATA(-2, 2, -2) - 1/350 DATA(2, 1, -2) - 1/700 DATA(1, 1, -2)
+
+ + 1/700 DATA(-1, 1, -2) + 1/350 DATA(-2, 1, -2) - 1/175 DATA(2, 0, -2)
+
+ - 1/350 DATA(1, 0, -2) + 1/350 DATA(-1, 0, -2) + 1/175 DATA(-2, 0, -2)
+
+ - 1/350 DATA(2, -1, -2) - 1/700 DATA(1, -1, -2) + 1/700 DATA(-1, -1, -2)
+
+ + 1/175 DATA(2, -2, -1) + 1/350 DATA(1, -2, -1) - 1/350 DATA(-1, -2, -1)
+
+ - 1/175 DATA(-2, -2, -1) + 1/175 DATA(2, 2, -2) + 1/350 DATA(1, 2, -2)
+
+ - 1/350 DATA(-1, 2, -2) + 1/350 DATA(-2, 1, -1) + 1/175 DATA(-2, 0, -1)
+
+ + 1/350 DATA(-2, -1, -1) - 1/175 DATA(-2, 2, -1) - 1/350 DATA(-1, -2, 0)
+
+ - 1/175 DATA(-2, -2, 0) + 1/175 DATA(-2, 0, 0) + 1/350 DATA(-2, -1, 0)
+
+ + 1/175 DATA(2, -2, 0) + 1/350 DATA(1, -2, 0) + 1/350 DATA(-2, 1, 0)
+
+ - 1/175 DATA(-2, 2, 0) - 1/175 DATA(-2, -2, 1) - 1/350 DATA(-1, -2, 1)
+
+ + 1/350 DATA(1, -2, 1) + 1/175 DATA(2, -2, 1) + 1/350 DATA(-2, -1, 1)
+
+ + 1/175 DATA(-2, 0, 1) + 1/350 DATA(-2, 1, 1) - 1/175 DATA(-2, 2, 1)
+
+ 2
+ - 1/175 DATA(-2, -2, 2)) x y + (- 1/700 DATA(-1, 1, -1)
+
+ - 1/350 DATA(0, 1, -1) - 1/700 DATA(1, 1, -1) + 1/700 DATA(-1, -1, 0)
+
+ + 1/350 DATA(0, -1, 0) + 1/700 DATA(1, -1, 0) - 1/700 DATA(-1, 1, 0)
+
+ - 1/700 DATA(-1, 1, 1) + 1/700 DATA(1, -1, 1) + 1/700 DATA(-1, -1, 1)
+
+ + 1/350 DATA(0, -1, 1) + 1/350 DATA(-1, -2, 2) + 1/175 DATA(0, -2, 2)
+
+ - 1/350 DATA(0, 1, 0) - 1/700 DATA(1, 1, 0) + 1/350 DATA(1, -2, 2)
+
+ - 1/350 DATA(-2, -1, 2) - 1/175 DATA(2, -2, 2) + 1/350 DATA(-2, 1, 2)
+
+ - 1/350 DATA(0, 1, 1) - 1/700 DATA(1, 1, 1) + 1/175 DATA(-2, 2, 2)
+
+ + 1/700 DATA(-1, -1, -1) + 1/350 DATA(0, -1, -1) - 1/350 DATA(1, 2, -1)
+
+ + 1/350 DATA(2, 1, -1) - 1/350 DATA(-1, 2, -1) - 1/175 DATA(0, 2, -1)
+
+ - 1/350 DATA(2, -1, -1) + 1/350 DATA(2, 1, 1) - 1/350 DATA(-1, 2, 1)
+
+ - 1/175 DATA(0, 2, 1) - 1/350 DATA(1, 2, 1) - 1/350 DATA(2, -1, 1)
+
+ + 1/700 DATA(1, -1, -1) - 1/350 DATA(1, 2, 0) + 1/175 DATA(2, 2, 0)
+
+ + 1/350 DATA(2, 1, 0) - 1/350 DATA(-1, 2, 0) - 1/175 DATA(0, 2, 0)
+
+ - 1/350 DATA(2, -1, 0) + 1/175 DATA(2, 2, -1) - 1/350 DATA(1, 2, 2)
+
+ - 1/350 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2) - 1/175 DATA(2, -2, -2)
+
+ + 1/350 DATA(1, -2, -2) - 1/700 DATA(1, 1, 2) + 1/350 DATA(2, 1, 2)
+
+ - 1/350 DATA(-1, 2, 2) - 1/175 DATA(0, 2, 2) + 1/175 DATA(0, -2, -2)
+
+ + 1/350 DATA(-1, -2, -2) - 1/700 DATA(-1, 1, 2) - 1/350 DATA(0, 1, 2)
+
+ - 1/175 DATA(-2, -2, -2) + 1/700 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2)
+
+ + 1/700 DATA(-1, -1, 2) + 1/350 DATA(0, -1, 2) + 1/175 DATA(2, 2, 1)
+
+ + 1/175 DATA(-2, 2, -2) + 1/350 DATA(2, 1, -2) - 1/700 DATA(1, 1, -2)
+
+ - 1/350 DATA(0, 1, -2) - 1/700 DATA(-1, 1, -2) + 1/350 DATA(-2, 1, -2)
+
+ - 1/350 DATA(2, -1, -2) + 1/700 DATA(1, -1, -2) + 1/350 DATA(0, -1, -2)
+
+ + 1/700 DATA(-1, -1, -2) - 1/175 DATA(2, -2, -1) + 1/350 DATA(1, -2, -1)
+
+ + 1/175 DATA(0, -2, -1) + 1/350 DATA(-1, -2, -1) - 1/175 DATA(-2, -2, -1)
+
+ + 1/175 DATA(2, 2, -2) - 1/350 DATA(1, 2, -2) - 1/175 DATA(0, 2, -2)
+
+ - 1/350 DATA(-1, 2, -2) + 1/350 DATA(-2, 1, -1) - 1/350 DATA(-2, -1, -1)
+
+ + 1/175 DATA(-2, 2, -1) + 1/175 DATA(0, -2, 0) + 1/350 DATA(-1, -2, 0)
+
+ - 1/175 DATA(-2, -2, 0) - 1/350 DATA(-2, -1, 0) - 1/175 DATA(2, -2, 0)
+
+ + 1/350 DATA(1, -2, 0) + 1/350 DATA(-2, 1, 0) + 1/175 DATA(-2, 2, 0)
+
+ - 1/175 DATA(-2, -2, 1) + 1/350 DATA(-1, -2, 1) + 1/350 DATA(1, -2, 1)
+
+ + 1/175 DATA(0, -2, 1) - 1/175 DATA(2, -2, 1) - 1/350 DATA(-2, -1, 1)
+
+ 2
+ + 1/350 DATA(-2, 1, 1) + 1/175 DATA(-2, 2, 1) - 1/175 DATA(-2, -2, 2)) x
+
+ y + (1/700 DATA(-1, 1, -1) + 1/700 DATA(0, 1, -1) + 1/700 DATA(1, 1, -1)
+
+ - 1/700 DATA(-1, 1, 1) - 1/350 DATA(-1, 0, 1) - 1/700 DATA(1, -1, 1)
+
+ - 1/700 DATA(-1, -1, 1) - 1/700 DATA(0, -1, 1) + 1/175 DATA(-1, -2, 2)
+
+ + 1/175 DATA(0, -2, 2) + 1/350 DATA(-1, 0, -1) + 1/350 DATA(0, 0, -1)
+
+ + 1/350 DATA(1, 0, -1) - 1/350 DATA(0, 0, 1) + 1/175 DATA(1, -2, 2)
+
+ - 1/350 DATA(-2, -1, 2) + 1/175 DATA(2, -2, 2) - 1/175 DATA(-2, 0, 2)
+
+ - 1/350 DATA(-2, 1, 2) - 1/350 DATA(1, 0, 1) - 1/700 DATA(0, 1, 1)
+
+ - 1/700 DATA(1, 1, 1) + 1/175 DATA(-2, 2, 2) + 1/700 DATA(-1, -1, -1)
+
+ + 1/700 DATA(0, -1, -1) - 1/350 DATA(1, 2, -1) + 1/700 DATA(2, 1, -1)
+
+ - 1/350 DATA(-1, 2, -1) - 1/350 DATA(0, 2, -1) + 1/700 DATA(2, -1, -1)
+
+ + 1/350 DATA(2, 0, -1) - 1/700 DATA(2, 1, 1) + 1/350 DATA(-1, 2, 1)
+
+ + 1/350 DATA(0, 2, 1) + 1/350 DATA(1, 2, 1) - 1/700 DATA(2, -1, 1)
+
+ - 1/350 DATA(2, 0, 1) + 1/700 DATA(1, -1, -1) - 1/350 DATA(2, 2, -1)
+
+ + 1/175 DATA(1, 2, 2) + 1/350 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2)
+
+ - 1/175 DATA(2, -2, -2) - 1/175 DATA(1, -2, -2) - 1/350 DATA(1, 1, 2)
+
+ - 1/350 DATA(2, 1, 2) + 1/175 DATA(-1, 2, 2) + 1/175 DATA(0, 2, 2)
+
+ - 1/175 DATA(0, -2, -2) - 1/175 DATA(-1, -2, -2) - 1/175 DATA(1, 0, 2)
+
+ - 1/175 DATA(2, 0, 2) - 1/350 DATA(-1, 1, 2) - 1/350 DATA(0, 1, 2)
+
+ - 1/175 DATA(-2, -2, -2) - 1/350 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2)
+
+ - 1/175 DATA(-1, 0, 2) - 1/175 DATA(0, 0, 2) - 1/350 DATA(-1, -1, 2)
+
+ - 1/350 DATA(0, -1, 2) + 1/350 DATA(2, 2, 1) - 1/175 DATA(-2, 2, -2)
+
+ + 1/350 DATA(2, 1, -2) + 1/350 DATA(1, 1, -2) + 1/350 DATA(0, 1, -2)
+
+ + 1/350 DATA(-1, 1, -2) + 1/350 DATA(-2, 1, -2) + 1/175 DATA(2, 0, -2)
+
+ + 1/175 DATA(0, 0, -2) + 1/175 DATA(1, 0, -2) + 1/175 DATA(-1, 0, -2)
+
+ + 1/175 DATA(-2, 0, -2) + 1/350 DATA(2, -1, -2) + 1/350 DATA(1, -1, -2)
+
+ + 1/350 DATA(0, -1, -2) + 1/350 DATA(-1, -1, -2) - 1/350 DATA(2, -2, -1)
+
+ - 1/350 DATA(1, -2, -1) - 1/350 DATA(0, -2, -1) - 1/350 DATA(-1, -2, -1)
+
+ - 1/350 DATA(-2, -2, -1) - 1/175 DATA(2, 2, -2) - 1/175 DATA(1, 2, -2)
+
+ - 1/175 DATA(0, 2, -2) - 1/175 DATA(-1, 2, -2) + 1/700 DATA(-2, 1, -1)
+
+ + 1/350 DATA(-2, 0, -1) + 1/700 DATA(-2, -1, -1) - 1/350 DATA(-2, 2, -1)
+
+ + 1/350 DATA(-2, -2, 1) + 1/350 DATA(-1, -2, 1) + 1/350 DATA(1, -2, 1)
+
+ + 1/350 DATA(0, -2, 1) + 1/350 DATA(2, -2, 1) - 1/700 DATA(-2, -1, 1)
+
+ - 1/350 DATA(-2, 0, 1) - 1/700 DATA(-2, 1, 1) + 1/350 DATA(-2, 2, 1)
+
+ 2
+ + 1/175 DATA(-2, -2, 2)) y z + (1/700 DATA(-1, 1, -1)
+
+ + 1/350 DATA(0, 1, -1) + 1/700 DATA(1, 1, -1) - 1/700 DATA(-1, 1, 1)
+
+ - 1/700 DATA(-1, 0, 1) - 1/700 DATA(1, -1, 1) - 1/700 DATA(-1, -1, 1)
+
+ - 1/350 DATA(0, -1, 1) - 1/350 DATA(-1, -2, 2) - 1/175 DATA(0, -2, 2)
+
+ + 1/700 DATA(-1, 0, -1) + 1/350 DATA(0, 0, -1) + 1/700 DATA(1, 0, -1)
+
+ - 1/350 DATA(0, 0, 1) - 1/350 DATA(1, -2, 2) + 1/175 DATA(-2, -1, 2)
+
+ + 1/175 DATA(2, -2, 2) + 1/175 DATA(-2, 0, 2) + 1/175 DATA(-2, 1, 2)
+
+ - 1/700 DATA(1, 0, 1) - 1/350 DATA(0, 1, 1) - 1/700 DATA(1, 1, 1)
+
+ + 1/175 DATA(-2, 2, 2) + 1/700 DATA(-1, -1, -1) + 1/350 DATA(0, -1, -1)
+
+ + 1/700 DATA(1, 2, -1) - 1/350 DATA(2, 1, -1) + 1/700 DATA(-1, 2, -1)
+
+ + 1/350 DATA(0, 2, -1) - 1/350 DATA(2, -1, -1) - 1/350 DATA(2, 0, -1)
+
+ + 1/350 DATA(2, 1, 1) - 1/700 DATA(-1, 2, 1) - 1/350 DATA(0, 2, 1)
+
+ - 1/700 DATA(1, 2, 1) + 1/350 DATA(2, -1, 1) + 1/350 DATA(2, 0, 1)
+
+ + 1/700 DATA(1, -1, -1) - 1/350 DATA(2, 2, -1) - 1/350 DATA(1, 2, 2)
+
+ - 1/175 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2) - 1/175 DATA(2, -2, -2)
+
+ + 1/350 DATA(1, -2, -2) - 1/350 DATA(1, 1, 2) + 1/175 DATA(2, 1, 2)
+
+ - 1/350 DATA(-1, 2, 2) - 1/175 DATA(0, 2, 2) + 1/175 DATA(0, -2, -2)
+
+ + 1/350 DATA(-1, -2, -2) - 1/350 DATA(1, 0, 2) + 1/175 DATA(2, 0, 2)
+
+ - 1/350 DATA(-1, 1, 2) - 1/175 DATA(0, 1, 2) - 1/175 DATA(-2, -2, -2)
+
+ - 1/350 DATA(1, -1, 2) + 1/175 DATA(2, -1, 2) - 1/350 DATA(-1, 0, 2)
+
+ - 1/175 DATA(0, 0, 2) - 1/350 DATA(-1, -1, 2) - 1/175 DATA(0, -1, 2)
+
+ + 1/350 DATA(2, 2, 1) - 1/175 DATA(-2, 2, -2) - 1/175 DATA(2, 1, -2)
+
+ + 1/350 DATA(1, 1, -2) + 1/175 DATA(0, 1, -2) + 1/350 DATA(-1, 1, -2)
+
+ - 1/175 DATA(-2, 1, -2) - 1/175 DATA(2, 0, -2) + 1/175 DATA(0, 0, -2)
+
+ + 1/350 DATA(1, 0, -2) + 1/350 DATA(-1, 0, -2) - 1/175 DATA(-2, 0, -2)
+
+ - 1/175 DATA(2, -1, -2) + 1/350 DATA(1, -1, -2) + 1/175 DATA(0, -1, -2)
+
+ + 1/350 DATA(-1, -1, -2) - 1/350 DATA(2, -2, -1) + 1/700 DATA(1, -2, -1)
+
+ + 1/350 DATA(0, -2, -1) + 1/700 DATA(-1, -2, -1) - 1/350 DATA(-2, -2, -1)
+
+ - 1/175 DATA(2, 2, -2) + 1/350 DATA(1, 2, -2) + 1/175 DATA(0, 2, -2)
+
+ + 1/350 DATA(-1, 2, -2) - 1/350 DATA(-2, 1, -1) - 1/350 DATA(-2, 0, -1)
+
+ - 1/350 DATA(-2, -1, -1) - 1/350 DATA(-2, 2, -1) + 1/350 DATA(-2, -2, 1)
+
+ - 1/700 DATA(-1, -2, 1) - 1/700 DATA(1, -2, 1) - 1/350 DATA(0, -2, 1)
+
+ + 1/350 DATA(2, -2, 1) + 1/350 DATA(-2, -1, 1) + 1/350 DATA(-2, 0, 1)
+
+ 2
+ + 1/350 DATA(-2, 1, 1) + 1/350 DATA(-2, 2, 1) + 1/175 DATA(-2, -2, 2)) x
+
+ z + (1/300 DATA(-1, 1, -1) - 1/300 DATA(1, 1, -1) - 1/300 DATA(-1, -1, 0)
+
+ + 1/300 DATA(1, -1, 0) + 1/300 DATA(-1, 1, 0) + 1/300 DATA(-1, 1, 1)
+
+ + 1/300 DATA(1, -1, 1) - 1/300 DATA(-1, -1, 1) + 1/600 DATA(-1, -2, 2)
+
+ - 1/300 DATA(1, 1, 0) - 1/600 DATA(1, -2, 2) - 1/150 DATA(-2, -1, 2)
+
+ - 1/300 DATA(2, -2, 2) + 1/150 DATA(-2, 1, 2) - 1/300 DATA(1, 1, 1)
+
+ - 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1) + 1/600 DATA(1, 2, -1)
+
+ - 1/150 DATA(2, 1, -1) - 1/600 DATA(-1, 2, -1) + 1/150 DATA(2, -1, -1)
+
+ - 1/150 DATA(2, 1, 1) - 1/600 DATA(-1, 2, 1) + 1/600 DATA(1, 2, 1)
+
+ + 1/150 DATA(2, -1, 1) + 1/300 DATA(1, -1, -1) + 1/600 DATA(1, 2, 0)
+
+ + 1/300 DATA(2, 2, 0) - 1/150 DATA(2, 1, 0) - 1/600 DATA(-1, 2, 0)
+
+ + 1/150 DATA(2, -1, 0) + 1/300 DATA(2, 2, -1) + 1/600 DATA(1, 2, 2)
+
+ - 1/150 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2) - 1/300 DATA(2, -2, -2)
+
+ - 1/600 DATA(1, -2, -2) - 1/300 DATA(1, 1, 2) - 1/150 DATA(2, 1, 2)
+
+ - 1/600 DATA(-1, 2, 2) + 1/600 DATA(-1, -2, -2) + 1/300 DATA(-1, 1, 2)
+
+ + 1/300 DATA(-2, -2, -2) + 1/300 DATA(1, -1, 2) + 1/150 DATA(2, -1, 2)
+
+ - 1/300 DATA(-1, -1, 2) + 1/300 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2)
+
+ - 1/150 DATA(2, 1, -2) - 1/300 DATA(1, 1, -2) + 1/300 DATA(-1, 1, -2)
+
+ + 1/150 DATA(-2, 1, -2) + 1/150 DATA(2, -1, -2) + 1/300 DATA(1, -1, -2)
+
+ - 1/300 DATA(-1, -1, -2) - 1/300 DATA(2, -2, -1) - 1/600 DATA(1, -2, -1)
+
+ + 1/600 DATA(-1, -2, -1) + 1/300 DATA(-2, -2, -1) + 1/300 DATA(2, 2, -2)
+
+ + 1/600 DATA(1, 2, -2) - 1/600 DATA(-1, 2, -2) + 1/150 DATA(-2, 1, -1)
+
+ - 1/150 DATA(-2, -1, -1) - 1/300 DATA(-2, 2, -1) + 1/600 DATA(-1, -2, 0)
+
+ + 1/300 DATA(-2, -2, 0) - 1/150 DATA(-2, -1, 0) - 1/300 DATA(2, -2, 0)
+
+ - 1/600 DATA(1, -2, 0) + 1/150 DATA(-2, 1, 0) - 1/300 DATA(-2, 2, 0)
+
+ + 1/300 DATA(-2, -2, 1) + 1/600 DATA(-1, -2, 1) - 1/600 DATA(1, -2, 1)
+
+ - 1/300 DATA(2, -2, 1) - 1/150 DATA(-2, -1, 1) + 1/150 DATA(-2, 1, 1)
+
+ 3
+ - 1/300 DATA(-2, 2, 1) + 1/300 DATA(-2, -2, 2)) x y + (
+
+ 1/980 DATA(-1, 1, -1) + 1/490 DATA(0, 1, -1) + 1/980 DATA(1, 1, -1)
+
+ + 1/980 DATA(-1, -1, 0) + 1/490 DATA(0, -1, 0) + 1/980 DATA(1, -1, 0)
+
+ + 1/490 DATA(-1, 0, 0) + 1/980 DATA(-1, 1, 0) + 1/980 DATA(-1, 1, 1)
+
+ + 1/490 DATA(-1, 0, 1) + 1/980 DATA(1, -1, 1) + 1/980 DATA(-1, -1, 1)
+
+ + 1/490 DATA(0, -1, 1) - 1/490 DATA(-1, -2, 2) - 1/245 DATA(0, -2, 2)
+
+ + 1/490 DATA(-1, 0, -1) + 1/245 DATA(0, 0, -1) + 1/490 DATA(1, 0, -1)
+
+ + 1/245 DATA(0, 0, 0) + 1/490 DATA(1, 0, 0) + 1/490 DATA(0, 1, 0)
+
+ + 1/980 DATA(1, 1, 0) + 1/245 DATA(0, 0, 1) - 1/490 DATA(1, -2, 2)
+
+ - 1/490 DATA(-2, -1, 2) + 1/245 DATA(2, -2, 2) - 1/245 DATA(-2, 0, 2)
+
+ - 1/490 DATA(-2, 1, 2) + 1/490 DATA(1, 0, 1) + 1/490 DATA(0, 1, 1)
+
+ + 1/980 DATA(1, 1, 1) + 1/245 DATA(-2, 2, 2) + 1/980 DATA(-1, -1, -1)
+
+ + 1/490 DATA(0, -1, -1) - 1/490 DATA(1, 2, -1) - 1/490 DATA(2, 1, -1)
+
+ - 1/490 DATA(-1, 2, -1) - 1/245 DATA(0, 2, -1) - 1/490 DATA(2, -1, -1)
+
+ - 1/245 DATA(2, 0, -1) - 1/490 DATA(2, 1, 1) - 1/490 DATA(-1, 2, 1)
+
+ - 1/245 DATA(0, 2, 1) - 1/490 DATA(1, 2, 1) - 1/490 DATA(2, -1, 1)
+
+ - 1/245 DATA(2, 0, 1) + 1/980 DATA(1, -1, -1) - 1/490 DATA(1, 2, 0)
+
+ + 1/245 DATA(2, 2, 0) - 1/490 DATA(2, 1, 0) - 1/490 DATA(-1, 2, 0)
+
+ - 1/245 DATA(0, 2, 0) - 1/490 DATA(2, -1, 0) - 1/245 DATA(2, 0, 0)
+
+ + 1/245 DATA(2, 2, -1) - 1/490 DATA(1, 2, 2) - 1/490 DATA(-2, -1, -2)
+
+ + 1/245 DATA(2, 2, 2) + 1/245 DATA(2, -2, -2) - 1/490 DATA(1, -2, -2)
+
+ + 1/980 DATA(1, 1, 2) - 1/490 DATA(2, 1, 2) - 1/490 DATA(-1, 2, 2)
+
+ - 1/245 DATA(0, 2, 2) - 1/245 DATA(0, -2, -2) - 1/490 DATA(-1, -2, -2)
+
+ + 1/490 DATA(1, 0, 2) - 1/245 DATA(2, 0, 2) + 1/980 DATA(-1, 1, 2)
+
+ + 1/490 DATA(0, 1, 2) + 1/245 DATA(-2, -2, -2) + 1/980 DATA(1, -1, 2)
+
+ - 1/490 DATA(2, -1, 2) + 1/490 DATA(-1, 0, 2) + 1/245 DATA(0, 0, 2)
+
+ + 1/980 DATA(-1, -1, 2) + 1/490 DATA(0, -1, 2) + 1/245 DATA(2, 2, 1)
+
+ + 1/245 DATA(-2, 2, -2) - 1/490 DATA(2, 1, -2) + 1/980 DATA(1, 1, -2)
+
+ + 1/490 DATA(0, 1, -2) + 1/980 DATA(-1, 1, -2) - 1/490 DATA(-2, 1, -2)
+
+ - 1/245 DATA(2, 0, -2) + 1/245 DATA(0, 0, -2) + 1/490 DATA(1, 0, -2)
+
+ + 1/490 DATA(-1, 0, -2) - 1/245 DATA(-2, 0, -2) - 1/490 DATA(2, -1, -2)
+
+ + 1/980 DATA(1, -1, -2) + 1/490 DATA(0, -1, -2) + 1/980 DATA(-1, -1, -2)
+
+ + 1/245 DATA(2, -2, -1) - 1/490 DATA(1, -2, -1) - 1/245 DATA(0, -2, -1)
+
+ - 1/490 DATA(-1, -2, -1) + 1/245 DATA(-2, -2, -1) + 1/245 DATA(2, 2, -2)
+
+ - 1/490 DATA(1, 2, -2) - 1/245 DATA(0, 2, -2) - 1/490 DATA(-1, 2, -2)
+
+ - 1/490 DATA(-2, 1, -1) - 1/245 DATA(-2, 0, -1) - 1/490 DATA(-2, -1, -1)
+
+ + 1/245 DATA(-2, 2, -1) - 1/245 DATA(0, -2, 0) - 1/490 DATA(-1, -2, 0)
+
+ + 1/245 DATA(-2, -2, 0) - 1/245 DATA(-2, 0, 0) - 1/490 DATA(-2, -1, 0)
+
+ + 1/245 DATA(2, -2, 0) - 1/490 DATA(1, -2, 0) - 1/490 DATA(-2, 1, 0)
+
+ + 1/245 DATA(-2, 2, 0) + 1/245 DATA(-2, -2, 1) - 1/490 DATA(-1, -2, 1)
+
+ - 1/490 DATA(1, -2, 1) - 1/245 DATA(0, -2, 1) + 1/245 DATA(2, -2, 1)
+
+ - 1/490 DATA(-2, -1, 1) - 1/245 DATA(-2, 0, 1) - 1/490 DATA(-2, 1, 1)
+
+ 2 2
+ + 1/245 DATA(-2, 2, 1) + 1/245 DATA(-2, -2, 2)) x y + (
+
+ 1/300 DATA(-1, 1, -1) - 1/300 DATA(1, 1, -1) - 1/300 DATA(-1, -1, 0)
+
+ + 1/300 DATA(1, -1, 0) + 1/300 DATA(-1, 1, 0) + 1/300 DATA(-1, 1, 1)
+
+ + 1/300 DATA(1, -1, 1) - 1/300 DATA(-1, -1, 1) - 1/150 DATA(-1, -2, 2)
+
+ - 1/300 DATA(1, 1, 0) + 1/150 DATA(1, -2, 2) + 1/600 DATA(-2, -1, 2)
+
+ - 1/300 DATA(2, -2, 2) - 1/600 DATA(-2, 1, 2) - 1/300 DATA(1, 1, 1)
+
+ - 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1) - 1/150 DATA(1, 2, -1)
+
+ + 1/600 DATA(2, 1, -1) + 1/150 DATA(-1, 2, -1) - 1/600 DATA(2, -1, -1)
+
+ + 1/600 DATA(2, 1, 1) + 1/150 DATA(-1, 2, 1) - 1/150 DATA(1, 2, 1)
+
+ - 1/600 DATA(2, -1, 1) + 1/300 DATA(1, -1, -1) - 1/150 DATA(1, 2, 0)
+
+ + 1/300 DATA(2, 2, 0) + 1/600 DATA(2, 1, 0) + 1/150 DATA(-1, 2, 0)
+
+ - 1/600 DATA(2, -1, 0) + 1/300 DATA(2, 2, -1) - 1/150 DATA(1, 2, 2)
+
+ + 1/600 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2) - 1/300 DATA(2, -2, -2)
+
+ + 1/150 DATA(1, -2, -2) - 1/300 DATA(1, 1, 2) + 1/600 DATA(2, 1, 2)
+
+ + 1/150 DATA(-1, 2, 2) - 1/150 DATA(-1, -2, -2) + 1/300 DATA(-1, 1, 2)
+
+ + 1/300 DATA(-2, -2, -2) + 1/300 DATA(1, -1, 2) - 1/600 DATA(2, -1, 2)
+
+ - 1/300 DATA(-1, -1, 2) + 1/300 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2)
+
+ + 1/600 DATA(2, 1, -2) - 1/300 DATA(1, 1, -2) + 1/300 DATA(-1, 1, -2)
+
+ - 1/600 DATA(-2, 1, -2) - 1/600 DATA(2, -1, -2) + 1/300 DATA(1, -1, -2)
+
+ - 1/300 DATA(-1, -1, -2) - 1/300 DATA(2, -2, -1) + 1/150 DATA(1, -2, -1)
+
+ - 1/150 DATA(-1, -2, -1) + 1/300 DATA(-2, -2, -1) + 1/300 DATA(2, 2, -2)
+
+ - 1/150 DATA(1, 2, -2) + 1/150 DATA(-1, 2, -2) - 1/600 DATA(-2, 1, -1)
+
+ + 1/600 DATA(-2, -1, -1) - 1/300 DATA(-2, 2, -1) - 1/150 DATA(-1, -2, 0)
+
+ + 1/300 DATA(-2, -2, 0) + 1/600 DATA(-2, -1, 0) - 1/300 DATA(2, -2, 0)
+
+ + 1/150 DATA(1, -2, 0) - 1/600 DATA(-2, 1, 0) - 1/300 DATA(-2, 2, 0)
+
+ + 1/300 DATA(-2, -2, 1) - 1/150 DATA(-1, -2, 1) + 1/150 DATA(1, -2, 1)
+
+ - 1/300 DATA(2, -2, 1) + 1/600 DATA(-2, -1, 1) - 1/600 DATA(-2, 1, 1)
+
+ 3
+ - 1/300 DATA(-2, 2, 1) + 1/300 DATA(-2, -2, 2)) x y + (
+
+ 1/300 DATA(-1, 1, -1) + 1/300 DATA(0, 1, -1) + 1/300 DATA(1, 1, -1)
+
+ - 1/300 DATA(-1, 1, 1) + 1/300 DATA(1, -1, 1) + 1/300 DATA(-1, -1, 1)
+
+ + 1/300 DATA(0, -1, 1) - 1/300 DATA(-1, -2, 2) - 1/300 DATA(0, -2, 2)
+
+ - 1/300 DATA(1, -2, 2) + 1/150 DATA(-2, -1, 2) - 1/300 DATA(2, -2, 2)
+
+ - 1/150 DATA(-2, 1, 2) - 1/300 DATA(0, 1, 1) - 1/300 DATA(1, 1, 1)
+
+ + 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1) - 1/300 DATA(0, -1, -1)
+
+ - 1/600 DATA(1, 2, -1) + 1/300 DATA(2, 1, -1) - 1/600 DATA(-1, 2, -1)
+
+ - 1/600 DATA(0, 2, -1) - 1/300 DATA(2, -1, -1) - 1/300 DATA(2, 1, 1)
+
+ + 1/600 DATA(-1, 2, 1) + 1/600 DATA(0, 2, 1) + 1/600 DATA(1, 2, 1)
+
+ + 1/300 DATA(2, -1, 1) - 1/300 DATA(1, -1, -1) - 1/600 DATA(2, 2, -1)
+
+ + 1/300 DATA(1, 2, 2) - 1/150 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ + 1/300 DATA(2, -2, -2) + 1/300 DATA(1, -2, -2) - 1/150 DATA(1, 1, 2)
+
+ - 1/150 DATA(2, 1, 2) + 1/300 DATA(-1, 2, 2) + 1/300 DATA(0, 2, 2)
+
+ + 1/300 DATA(0, -2, -2) + 1/300 DATA(-1, -2, -2) - 1/150 DATA(-1, 1, 2)
+
+ - 1/150 DATA(0, 1, 2) + 1/300 DATA(-2, -2, -2) + 1/150 DATA(1, -1, 2)
+
+ + 1/150 DATA(2, -1, 2) + 1/150 DATA(-1, -1, 2) + 1/150 DATA(0, -1, 2)
+
+ + 1/600 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2) + 1/150 DATA(2, 1, -2)
+
+ + 1/150 DATA(1, 1, -2) + 1/150 DATA(0, 1, -2) + 1/150 DATA(-1, 1, -2)
+
+ + 1/150 DATA(-2, 1, -2) - 1/150 DATA(2, -1, -2) - 1/150 DATA(1, -1, -2)
+
+ - 1/150 DATA(0, -1, -2) - 1/150 DATA(-1, -1, -2) + 1/600 DATA(2, -2, -1)
+
+ + 1/600 DATA(1, -2, -1) + 1/600 DATA(0, -2, -1) + 1/600 DATA(-1, -2, -1)
+
+ + 1/600 DATA(-2, -2, -1) - 1/300 DATA(2, 2, -2) - 1/300 DATA(1, 2, -2)
+
+ - 1/300 DATA(0, 2, -2) - 1/300 DATA(-1, 2, -2) + 1/300 DATA(-2, 1, -1)
+
+ - 1/300 DATA(-2, -1, -1) - 1/600 DATA(-2, 2, -1) - 1/600 DATA(-2, -2, 1)
+
+ - 1/600 DATA(-1, -2, 1) - 1/600 DATA(1, -2, 1) - 1/600 DATA(0, -2, 1)
+
+ - 1/600 DATA(2, -2, 1) + 1/300 DATA(-2, -1, 1) - 1/300 DATA(-2, 1, 1)
+
+ 3
+ + 1/600 DATA(-2, 2, 1) - 1/300 DATA(-2, -2, 2)) y z + (
+
+ - 1/300 DATA(-1, 1, -1) + 1/300 DATA(1, 1, -1) + 1/300 DATA(-1, 1, 1)
+
+ + 1/300 DATA(-1, 0, 1) - 1/300 DATA(1, -1, 1) + 1/300 DATA(-1, -1, 1)
+
+ + 1/150 DATA(-1, -2, 2) - 1/300 DATA(-1, 0, -1) + 1/300 DATA(1, 0, -1)
+
+ - 1/150 DATA(1, -2, 2) - 1/300 DATA(-2, -1, 2) + 1/300 DATA(2, -2, 2)
+
+ - 1/300 DATA(-2, 0, 2) - 1/300 DATA(-2, 1, 2) - 1/300 DATA(1, 0, 1)
+
+ - 1/300 DATA(1, 1, 1) - 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1)
+
+ + 1/300 DATA(1, 2, -1) - 1/600 DATA(2, 1, -1) - 1/300 DATA(-1, 2, -1)
+
+ - 1/600 DATA(2, -1, -1) - 1/600 DATA(2, 0, -1) + 1/600 DATA(2, 1, 1)
+
+ + 1/300 DATA(-1, 2, 1) - 1/300 DATA(1, 2, 1) + 1/600 DATA(2, -1, 1)
+
+ + 1/600 DATA(2, 0, 1) + 1/300 DATA(1, -1, -1) - 1/600 DATA(2, 2, -1)
+
+ - 1/150 DATA(1, 2, 2) + 1/300 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ - 1/300 DATA(2, -2, -2) + 1/150 DATA(1, -2, -2) - 1/150 DATA(1, 1, 2)
+
+ + 1/300 DATA(2, 1, 2) + 1/150 DATA(-1, 2, 2) - 1/150 DATA(-1, -2, -2)
+
+ - 1/150 DATA(1, 0, 2) + 1/300 DATA(2, 0, 2) + 1/150 DATA(-1, 1, 2)
+
+ + 1/300 DATA(-2, -2, -2) - 1/150 DATA(1, -1, 2) + 1/300 DATA(2, -1, 2)
+
+ + 1/150 DATA(-1, 0, 2) + 1/150 DATA(-1, -1, 2) + 1/600 DATA(2, 2, 1)
+
+ + 1/300 DATA(-2, 2, -2) - 1/300 DATA(2, 1, -2) + 1/150 DATA(1, 1, -2)
+
+ - 1/150 DATA(-1, 1, -2) + 1/300 DATA(-2, 1, -2) - 1/300 DATA(2, 0, -2)
+
+ + 1/150 DATA(1, 0, -2) - 1/150 DATA(-1, 0, -2) + 1/300 DATA(-2, 0, -2)
+
+ - 1/300 DATA(2, -1, -2) + 1/150 DATA(1, -1, -2) - 1/150 DATA(-1, -1, -2)
+
+ - 1/600 DATA(2, -2, -1) + 1/300 DATA(1, -2, -1) - 1/300 DATA(-1, -2, -1)
+
+ + 1/600 DATA(-2, -2, -1) - 1/300 DATA(2, 2, -2) + 1/150 DATA(1, 2, -2)
+
+ - 1/150 DATA(-1, 2, -2) + 1/600 DATA(-2, 1, -1) + 1/600 DATA(-2, 0, -1)
+
+ + 1/600 DATA(-2, -1, -1) + 1/600 DATA(-2, 2, -1) - 1/600 DATA(-2, -2, 1)
+
+ + 1/300 DATA(-1, -2, 1) - 1/300 DATA(1, -2, 1) + 1/600 DATA(2, -2, 1)
+
+ - 1/600 DATA(-2, -1, 1) - 1/600 DATA(-2, 0, 1) - 1/600 DATA(-2, 1, 1)
+
+ 3
+ - 1/600 DATA(-2, 2, 1) - 1/300 DATA(-2, -2, 2)) x z + (
+
+ 1/980 DATA(-1, 1, -1) + 1/980 DATA(0, 1, -1) + 1/980 DATA(1, 1, -1)
+
+ + 1/490 DATA(-1, -1, 0) + 1/490 DATA(0, -1, 0) + 1/490 DATA(1, -1, 0)
+
+ + 1/245 DATA(-1, 0, 0) + 1/490 DATA(-1, 1, 0) + 1/980 DATA(-1, 1, 1)
+
+ + 1/490 DATA(-1, 0, 1) + 1/980 DATA(1, -1, 1) + 1/980 DATA(-1, -1, 1)
+
+ + 1/980 DATA(0, -1, 1) + 1/245 DATA(-1, -2, 2) + 1/245 DATA(0, -2, 2)
+
+ + 1/490 DATA(-1, 0, -1) + 1/490 DATA(0, 0, -1) + 1/490 DATA(1, 0, -1)
+
+ + 1/245 DATA(0, 0, 0) + 1/245 DATA(1, 0, 0) + 1/490 DATA(0, 1, 0)
+
+ + 1/490 DATA(1, 1, 0) + 1/490 DATA(0, 0, 1) + 1/245 DATA(1, -2, 2)
+
+ - 1/490 DATA(-2, -1, 2) + 1/245 DATA(2, -2, 2) - 1/245 DATA(-2, 0, 2)
+
+ - 1/490 DATA(-2, 1, 2) + 1/490 DATA(1, 0, 1) + 1/980 DATA(0, 1, 1)
+
+ + 1/980 DATA(1, 1, 1) + 1/245 DATA(-2, 2, 2) + 1/980 DATA(-1, -1, -1)
+
+ + 1/980 DATA(0, -1, -1) - 1/490 DATA(1, 2, -1) + 1/980 DATA(2, 1, -1)
+
+ - 1/490 DATA(-1, 2, -1) - 1/490 DATA(0, 2, -1) + 1/980 DATA(2, -1, -1)
+
+ + 1/490 DATA(2, 0, -1) + 1/980 DATA(2, 1, 1) - 1/490 DATA(-1, 2, 1)
+
+ - 1/490 DATA(0, 2, 1) - 1/490 DATA(1, 2, 1) + 1/980 DATA(2, -1, 1)
+
+ + 1/490 DATA(2, 0, 1) + 1/980 DATA(1, -1, -1) - 1/245 DATA(1, 2, 0)
+
+ - 1/245 DATA(2, 2, 0) + 1/490 DATA(2, 1, 0) - 1/245 DATA(-1, 2, 0)
+
+ - 1/245 DATA(0, 2, 0) + 1/490 DATA(2, -1, 0) + 1/245 DATA(2, 0, 0)
+
+ - 1/490 DATA(2, 2, -1) + 1/245 DATA(1, 2, 2) - 1/490 DATA(-2, -1, -2)
+
+ + 1/245 DATA(2, 2, 2) + 1/245 DATA(2, -2, -2) + 1/245 DATA(1, -2, -2)
+
+ - 1/490 DATA(1, 1, 2) - 1/490 DATA(2, 1, 2) + 1/245 DATA(-1, 2, 2)
+
+ + 1/245 DATA(0, 2, 2) + 1/245 DATA(0, -2, -2) + 1/245 DATA(-1, -2, -2)
+
+ - 1/245 DATA(1, 0, 2) - 1/245 DATA(2, 0, 2) - 1/490 DATA(-1, 1, 2)
+
+ - 1/490 DATA(0, 1, 2) + 1/245 DATA(-2, -2, -2) - 1/490 DATA(1, -1, 2)
+
+ - 1/490 DATA(2, -1, 2) - 1/245 DATA(-1, 0, 2) - 1/245 DATA(0, 0, 2)
+
+ - 1/490 DATA(-1, -1, 2) - 1/490 DATA(0, -1, 2) - 1/490 DATA(2, 2, 1)
+
+ + 1/245 DATA(-2, 2, -2) - 1/490 DATA(2, 1, -2) - 1/490 DATA(1, 1, -2)
+
+ - 1/490 DATA(0, 1, -2) - 1/490 DATA(-1, 1, -2) - 1/490 DATA(-2, 1, -2)
+
+ - 1/245 DATA(2, 0, -2) - 1/245 DATA(0, 0, -2) - 1/245 DATA(1, 0, -2)
+
+ - 1/245 DATA(-1, 0, -2) - 1/245 DATA(-2, 0, -2) - 1/490 DATA(2, -1, -2)
+
+ - 1/490 DATA(1, -1, -2) - 1/490 DATA(0, -1, -2) - 1/490 DATA(-1, -1, -2)
+
+ - 1/490 DATA(2, -2, -1) - 1/490 DATA(1, -2, -1) - 1/490 DATA(0, -2, -1)
+
+ - 1/490 DATA(-1, -2, -1) - 1/490 DATA(-2, -2, -1) + 1/245 DATA(2, 2, -2)
+
+ + 1/245 DATA(1, 2, -2) + 1/245 DATA(0, 2, -2) + 1/245 DATA(-1, 2, -2)
+
+ + 1/980 DATA(-2, 1, -1) + 1/490 DATA(-2, 0, -1) + 1/980 DATA(-2, -1, -1)
+
+ - 1/490 DATA(-2, 2, -1) - 1/245 DATA(0, -2, 0) - 1/245 DATA(-1, -2, 0)
+
+ - 1/245 DATA(-2, -2, 0) + 1/245 DATA(-2, 0, 0) + 1/490 DATA(-2, -1, 0)
+
+ - 1/245 DATA(2, -2, 0) - 1/245 DATA(1, -2, 0) + 1/490 DATA(-2, 1, 0)
+
+ - 1/245 DATA(-2, 2, 0) - 1/490 DATA(-2, -2, 1) - 1/490 DATA(-1, -2, 1)
+
+ - 1/490 DATA(1, -2, 1) - 1/490 DATA(0, -2, 1) - 1/490 DATA(2, -2, 1)
+
+ + 1/980 DATA(-2, -1, 1) + 1/490 DATA(-2, 0, 1) + 1/980 DATA(-2, 1, 1)
+
+ 2 2
+ - 1/490 DATA(-2, 2, 1) + 1/245 DATA(-2, -2, 2)) y z + (
+
+ 1/980 DATA(-1, 1, -1) + 1/490 DATA(0, 1, -1) + 1/980 DATA(1, 1, -1)
+
+ + 1/490 DATA(-1, -1, 0) + 1/245 DATA(0, -1, 0) + 1/490 DATA(1, -1, 0)
+
+ + 1/490 DATA(-1, 0, 0) + 1/490 DATA(-1, 1, 0) + 1/980 DATA(-1, 1, 1)
+
+ + 1/980 DATA(-1, 0, 1) + 1/980 DATA(1, -1, 1) + 1/980 DATA(-1, -1, 1)
+
+ + 1/490 DATA(0, -1, 1) - 1/490 DATA(-1, -2, 2) - 1/245 DATA(0, -2, 2)
+
+ + 1/980 DATA(-1, 0, -1) + 1/490 DATA(0, 0, -1) + 1/980 DATA(1, 0, -1)
+
+ + 1/245 DATA(0, 0, 0) + 1/490 DATA(1, 0, 0) + 1/245 DATA(0, 1, 0)
+
+ + 1/490 DATA(1, 1, 0) + 1/490 DATA(0, 0, 1) - 1/490 DATA(1, -2, 2)
+
+ + 1/245 DATA(-2, -1, 2) + 1/245 DATA(2, -2, 2) + 1/245 DATA(-2, 0, 2)
+
+ + 1/245 DATA(-2, 1, 2) + 1/980 DATA(1, 0, 1) + 1/490 DATA(0, 1, 1)
+
+ + 1/980 DATA(1, 1, 1) + 1/245 DATA(-2, 2, 2) + 1/980 DATA(-1, -1, -1)
+
+ + 1/490 DATA(0, -1, -1) + 1/980 DATA(1, 2, -1) - 1/490 DATA(2, 1, -1)
+
+ + 1/980 DATA(-1, 2, -1) + 1/490 DATA(0, 2, -1) - 1/490 DATA(2, -1, -1)
+
+ - 1/490 DATA(2, 0, -1) - 1/490 DATA(2, 1, 1) + 1/980 DATA(-1, 2, 1)
+
+ + 1/490 DATA(0, 2, 1) + 1/980 DATA(1, 2, 1) - 1/490 DATA(2, -1, 1)
+
+ - 1/490 DATA(2, 0, 1) + 1/980 DATA(1, -1, -1) + 1/490 DATA(1, 2, 0)
+
+ - 1/245 DATA(2, 2, 0) - 1/245 DATA(2, 1, 0) + 1/490 DATA(-1, 2, 0)
+
+ + 1/245 DATA(0, 2, 0) - 1/245 DATA(2, -1, 0) - 1/245 DATA(2, 0, 0)
+
+ - 1/490 DATA(2, 2, -1) - 1/490 DATA(1, 2, 2) + 1/245 DATA(-2, -1, -2)
+
+ + 1/245 DATA(2, 2, 2) + 1/245 DATA(2, -2, -2) - 1/490 DATA(1, -2, -2)
+
+ - 1/490 DATA(1, 1, 2) + 1/245 DATA(2, 1, 2) - 1/490 DATA(-1, 2, 2)
+
+ - 1/245 DATA(0, 2, 2) - 1/245 DATA(0, -2, -2) - 1/490 DATA(-1, -2, -2)
+
+ - 1/490 DATA(1, 0, 2) + 1/245 DATA(2, 0, 2) - 1/490 DATA(-1, 1, 2)
+
+ - 1/245 DATA(0, 1, 2) + 1/245 DATA(-2, -2, -2) - 1/490 DATA(1, -1, 2)
+
+ + 1/245 DATA(2, -1, 2) - 1/490 DATA(-1, 0, 2) - 1/245 DATA(0, 0, 2)
+
+ - 1/490 DATA(-1, -1, 2) - 1/245 DATA(0, -1, 2) - 1/490 DATA(2, 2, 1)
+
+ + 1/245 DATA(-2, 2, -2) + 1/245 DATA(2, 1, -2) - 1/490 DATA(1, 1, -2)
+
+ - 1/245 DATA(0, 1, -2) - 1/490 DATA(-1, 1, -2) + 1/245 DATA(-2, 1, -2)
+
+ + 1/245 DATA(2, 0, -2) - 1/245 DATA(0, 0, -2) - 1/490 DATA(1, 0, -2)
+
+ - 1/490 DATA(-1, 0, -2) + 1/245 DATA(-2, 0, -2) + 1/245 DATA(2, -1, -2)
+
+ - 1/490 DATA(1, -1, -2) - 1/245 DATA(0, -1, -2) - 1/490 DATA(-1, -1, -2)
+
+ - 1/490 DATA(2, -2, -1) + 1/980 DATA(1, -2, -1) + 1/490 DATA(0, -2, -1)
+
+ + 1/980 DATA(-1, -2, -1) - 1/490 DATA(-2, -2, -1) + 1/245 DATA(2, 2, -2)
+
+ - 1/490 DATA(1, 2, -2) - 1/245 DATA(0, 2, -2) - 1/490 DATA(-1, 2, -2)
+
+ - 1/490 DATA(-2, 1, -1) - 1/490 DATA(-2, 0, -1) - 1/490 DATA(-2, -1, -1)
+
+ - 1/490 DATA(-2, 2, -1) + 1/245 DATA(0, -2, 0) + 1/490 DATA(-1, -2, 0)
+
+ - 1/245 DATA(-2, -2, 0) - 1/245 DATA(-2, 0, 0) - 1/245 DATA(-2, -1, 0)
+
+ - 1/245 DATA(2, -2, 0) + 1/490 DATA(1, -2, 0) - 1/245 DATA(-2, 1, 0)
+
+ - 1/245 DATA(-2, 2, 0) - 1/490 DATA(-2, -2, 1) + 1/980 DATA(-1, -2, 1)
+
+ + 1/980 DATA(1, -2, 1) + 1/490 DATA(0, -2, 1) - 1/490 DATA(2, -2, 1)
+
+ - 1/490 DATA(-2, -1, 1) - 1/490 DATA(-2, 0, 1) - 1/490 DATA(-2, 1, 1)
+
+ 2 2
+ - 1/490 DATA(-2, 2, 1) + 1/245 DATA(-2, -2, 2)) x z + (
+
+ 1/300 DATA(-1, 1, -1) + 1/300 DATA(0, 1, -1) + 1/300 DATA(1, 1, -1)
+
+ - 1/300 DATA(-1, 1, 1) + 1/300 DATA(1, -1, 1) + 1/300 DATA(-1, -1, 1)
+
+ + 1/300 DATA(0, -1, 1) - 1/300 DATA(-1, -2, 2) - 1/300 DATA(0, -2, 2)
+
+ - 1/300 DATA(1, -2, 2) - 1/600 DATA(-2, -1, 2) - 1/300 DATA(2, -2, 2)
+
+ + 1/600 DATA(-2, 1, 2) - 1/300 DATA(0, 1, 1) - 1/300 DATA(1, 1, 1)
+
+ + 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1) - 1/300 DATA(0, -1, -1)
+
+ + 1/150 DATA(1, 2, -1) + 1/300 DATA(2, 1, -1) + 1/150 DATA(-1, 2, -1)
+
+ + 1/150 DATA(0, 2, -1) - 1/300 DATA(2, -1, -1) - 1/300 DATA(2, 1, 1)
+
+ - 1/150 DATA(-1, 2, 1) - 1/150 DATA(0, 2, 1) - 1/150 DATA(1, 2, 1)
+
+ + 1/300 DATA(2, -1, 1) - 1/300 DATA(1, -1, -1) + 1/150 DATA(2, 2, -1)
+
+ + 1/300 DATA(1, 2, 2) + 1/600 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ + 1/300 DATA(2, -2, -2) + 1/300 DATA(1, -2, -2) + 1/600 DATA(1, 1, 2)
+
+ + 1/600 DATA(2, 1, 2) + 1/300 DATA(-1, 2, 2) + 1/300 DATA(0, 2, 2)
+
+ + 1/300 DATA(0, -2, -2) + 1/300 DATA(-1, -2, -2) + 1/600 DATA(-1, 1, 2)
+
+ + 1/600 DATA(0, 1, 2) + 1/300 DATA(-2, -2, -2) - 1/600 DATA(1, -1, 2)
+
+ - 1/600 DATA(2, -1, 2) - 1/600 DATA(-1, -1, 2) - 1/600 DATA(0, -1, 2)
+
+ - 1/150 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2) - 1/600 DATA(2, 1, -2)
+
+ - 1/600 DATA(1, 1, -2) - 1/600 DATA(0, 1, -2) - 1/600 DATA(-1, 1, -2)
+
+ - 1/600 DATA(-2, 1, -2) + 1/600 DATA(2, -1, -2) + 1/600 DATA(1, -1, -2)
+
+ + 1/600 DATA(0, -1, -2) + 1/600 DATA(-1, -1, -2) - 1/150 DATA(2, -2, -1)
+
+ - 1/150 DATA(1, -2, -1) - 1/150 DATA(0, -2, -1) - 1/150 DATA(-1, -2, -1)
+
+ - 1/150 DATA(-2, -2, -1) - 1/300 DATA(2, 2, -2) - 1/300 DATA(1, 2, -2)
+
+ - 1/300 DATA(0, 2, -2) - 1/300 DATA(-1, 2, -2) + 1/300 DATA(-2, 1, -1)
+
+ - 1/300 DATA(-2, -1, -1) + 1/150 DATA(-2, 2, -1) + 1/150 DATA(-2, -2, 1)
+
+ + 1/150 DATA(-1, -2, 1) + 1/150 DATA(1, -2, 1) + 1/150 DATA(0, -2, 1)
+
+ + 1/150 DATA(2, -2, 1) + 1/300 DATA(-2, -1, 1) - 1/300 DATA(-2, 1, 1)
+
+ 3
+ - 1/150 DATA(-2, 2, 1) - 1/300 DATA(-2, -2, 2)) y z + (
+
+ - 1/300 DATA(-1, 1, -1) + 1/300 DATA(1, 1, -1) + 1/300 DATA(-1, 1, 1)
+
+ + 1/300 DATA(-1, 0, 1) - 1/300 DATA(1, -1, 1) + 1/300 DATA(-1, -1, 1)
+
+ - 1/600 DATA(-1, -2, 2) - 1/300 DATA(-1, 0, -1) + 1/300 DATA(1, 0, -1)
+
+ + 1/600 DATA(1, -2, 2) - 1/300 DATA(-2, -1, 2) + 1/300 DATA(2, -2, 2)
+
+ - 1/300 DATA(-2, 0, 2) - 1/300 DATA(-2, 1, 2) - 1/300 DATA(1, 0, 1)
+
+ - 1/300 DATA(1, 1, 1) - 1/300 DATA(-2, 2, 2) - 1/300 DATA(-1, -1, -1)
+
+ + 1/300 DATA(1, 2, -1) + 1/150 DATA(2, 1, -1) - 1/300 DATA(-1, 2, -1)
+
+ + 1/150 DATA(2, -1, -1) + 1/150 DATA(2, 0, -1) - 1/150 DATA(2, 1, 1)
+
+ + 1/300 DATA(-1, 2, 1) - 1/300 DATA(1, 2, 1) - 1/150 DATA(2, -1, 1)
+
+ - 1/150 DATA(2, 0, 1) + 1/300 DATA(1, -1, -1) + 1/150 DATA(2, 2, -1)
+
+ + 1/600 DATA(1, 2, 2) + 1/300 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ - 1/300 DATA(2, -2, -2) - 1/600 DATA(1, -2, -2) + 1/600 DATA(1, 1, 2)
+
+ + 1/300 DATA(2, 1, 2) - 1/600 DATA(-1, 2, 2) + 1/600 DATA(-1, -2, -2)
+
+ + 1/600 DATA(1, 0, 2) + 1/300 DATA(2, 0, 2) - 1/600 DATA(-1, 1, 2)
+
+ + 1/300 DATA(-2, -2, -2) + 1/600 DATA(1, -1, 2) + 1/300 DATA(2, -1, 2)
+
+ - 1/600 DATA(-1, 0, 2) - 1/600 DATA(-1, -1, 2) - 1/150 DATA(2, 2, 1)
+
+ + 1/300 DATA(-2, 2, -2) - 1/300 DATA(2, 1, -2) - 1/600 DATA(1, 1, -2)
+
+ + 1/600 DATA(-1, 1, -2) + 1/300 DATA(-2, 1, -2) - 1/300 DATA(2, 0, -2)
+
+ - 1/600 DATA(1, 0, -2) + 1/600 DATA(-1, 0, -2) + 1/300 DATA(-2, 0, -2)
+
+ - 1/300 DATA(2, -1, -2) - 1/600 DATA(1, -1, -2) + 1/600 DATA(-1, -1, -2)
+
+ + 1/150 DATA(2, -2, -1) + 1/300 DATA(1, -2, -1) - 1/300 DATA(-1, -2, -1)
+
+ - 1/150 DATA(-2, -2, -1) - 1/300 DATA(2, 2, -2) - 1/600 DATA(1, 2, -2)
+
+ + 1/600 DATA(-1, 2, -2) - 1/150 DATA(-2, 1, -1) - 1/150 DATA(-2, 0, -1)
+
+ - 1/150 DATA(-2, -1, -1) - 1/150 DATA(-2, 2, -1) + 1/150 DATA(-2, -2, 1)
+
+ + 1/300 DATA(-1, -2, 1) - 1/300 DATA(1, -2, 1) - 1/150 DATA(2, -2, 1)
+
+ + 1/150 DATA(-2, -1, 1) + 1/150 DATA(-2, 0, 1) + 1/150 DATA(-2, 1, 1)
+
+ 3
+ + 1/150 DATA(-2, 2, 1) - 1/300 DATA(-2, -2, 2)) x z
+
+ 47 272
+ - 2/125 DATA(-1, -2, 2) + ---- DATA(0, -2, 2) + ---- DATA(-1, 0, -1)
+ 6125 6125
+
+ 592 272 937
+ + ---- DATA(0, 0, -1) + ---- DATA(1, 0, -1) + ---- DATA(0, 0, 0)
+ 6125 6125 6125
+
+ 592 592 272
+ + ---- DATA(1, 0, 0) + ---- DATA(0, 1, 0) + ---- DATA(1, 1, 0)
+ 6125 6125 6125
+
+ 592
+ + ---- DATA(0, 0, 1) - 2/125 DATA(1, -2, 2) - 2/125 DATA(-2, -1, 2)
+ 6125
+
+ 202 47
+ + ---- DATA(2, -2, 2) + ---- DATA(-2, 0, 2) + (1/1400 DATA(-1, 1, -1)
+ 6125 6125
+
+ - 1/1400 DATA(1, 1, -1) - 1/700 DATA(-1, -1, 0) + 1/700 DATA(1, -1, 0)
+
+ + 1/700 DATA(-1, 1, 0) + 1/1400 DATA(-1, 1, 1) + 1/1400 DATA(1, -1, 1)
+
+ - 1/1400 DATA(-1, -1, 1) + 1/350 DATA(-1, -2, 2) - 1/700 DATA(1, 1, 0)
+
+ - 1/350 DATA(1, -2, 2) + 1/350 DATA(-2, -1, 2) - 1/175 DATA(2, -2, 2)
+
+ - 1/350 DATA(-2, 1, 2) - 1/1400 DATA(1, 1, 1) - 1/175 DATA(-2, 2, 2)
+
+ - 1/1400 DATA(-1, -1, -1) - 1/700 DATA(1, 2, -1) - 1/700 DATA(2, 1, -1)
+
+ + 1/700 DATA(-1, 2, -1) + 1/700 DATA(2, -1, -1) - 1/700 DATA(2, 1, 1)
+
+ + 1/700 DATA(-1, 2, 1) - 1/700 DATA(1, 2, 1) + 1/700 DATA(2, -1, 1)
+
+ + 1/1400 DATA(1, -1, -1) - 1/350 DATA(1, 2, 0) - 1/175 DATA(2, 2, 0)
+
+ - 1/350 DATA(2, 1, 0) + 1/350 DATA(-1, 2, 0) + 1/350 DATA(2, -1, 0)
+
+ - 1/350 DATA(2, 2, -1) + 1/350 DATA(1, 2, 2) + 1/350 DATA(-2, -1, -2)
+
+ + 1/175 DATA(2, 2, 2) - 1/175 DATA(2, -2, -2) - 1/350 DATA(1, -2, -2)
+
+ + 1/700 DATA(1, 1, 2) + 1/350 DATA(2, 1, 2) - 1/350 DATA(-1, 2, 2)
+
+ + 1/350 DATA(-1, -2, -2) - 1/700 DATA(-1, 1, 2) + 1/175 DATA(-2, -2, -2)
+
+ - 1/700 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2) + 1/700 DATA(-1, -1, 2)
+
+ - 1/350 DATA(2, 2, 1) - 1/175 DATA(-2, 2, -2) + 1/350 DATA(2, 1, -2)
+
+ + 1/700 DATA(1, 1, -2) - 1/700 DATA(-1, 1, -2) - 1/350 DATA(-2, 1, -2)
+
+ - 1/350 DATA(2, -1, -2) - 1/700 DATA(1, -1, -2) + 1/700 DATA(-1, -1, -2)
+
+ + 1/350 DATA(2, -2, -1) + 1/700 DATA(1, -2, -1) - 1/700 DATA(-1, -2, -1)
+
+ - 1/350 DATA(-2, -2, -1) + 1/175 DATA(2, 2, -2) + 1/350 DATA(1, 2, -2)
+
+ - 1/350 DATA(-1, 2, -2) + 1/700 DATA(-2, 1, -1) - 1/700 DATA(-2, -1, -1)
+
+ + 1/350 DATA(-2, 2, -1) - 1/350 DATA(-1, -2, 0) - 1/175 DATA(-2, -2, 0)
+
+ - 1/350 DATA(-2, -1, 0) + 1/175 DATA(2, -2, 0) + 1/350 DATA(1, -2, 0)
+
+ + 1/350 DATA(-2, 1, 0) + 1/175 DATA(-2, 2, 0) - 1/350 DATA(-2, -2, 1)
+
+ - 1/700 DATA(-1, -2, 1) + 1/700 DATA(1, -2, 1) + 1/350 DATA(2, -2, 1)
+
+ - 1/700 DATA(-2, -1, 1) + 1/700 DATA(-2, 1, 1) + 1/350 DATA(-2, 2, 1)
+
+ 2
+ + 1/175 DATA(-2, -2, 2)) x y z + (1/1400 DATA(-1, 1, -1)
+
+ + 1/700 DATA(0, 1, -1) + 1/1400 DATA(1, 1, -1) - 1/1400 DATA(-1, 1, 1)
+
+ + 1/1400 DATA(1, -1, 1) + 1/1400 DATA(-1, -1, 1) + 1/700 DATA(0, -1, 1)
+
+ + 1/350 DATA(-1, -2, 2) + 1/175 DATA(0, -2, 2) + 1/350 DATA(1, -2, 2)
+
+ - 1/350 DATA(-2, -1, 2) - 1/175 DATA(2, -2, 2) + 1/350 DATA(-2, 1, 2)
+
+ - 1/700 DATA(0, 1, 1) - 1/1400 DATA(1, 1, 1) + 1/175 DATA(-2, 2, 2)
+
+ - 1/1400 DATA(-1, -1, -1) - 1/700 DATA(0, -1, -1) + 1/700 DATA(1, 2, -1)
+
+ - 1/700 DATA(2, 1, -1) + 1/700 DATA(-1, 2, -1) + 1/350 DATA(0, 2, -1)
+
+ + 1/700 DATA(2, -1, -1) + 1/700 DATA(2, 1, 1) - 1/700 DATA(-1, 2, 1)
+
+ - 1/350 DATA(0, 2, 1) - 1/700 DATA(1, 2, 1) - 1/700 DATA(2, -1, 1)
+
+ - 1/1400 DATA(1, -1, -1) - 1/350 DATA(2, 2, -1) - 1/350 DATA(1, 2, 2)
+
+ + 1/350 DATA(-2, -1, -2) + 1/175 DATA(2, 2, 2) + 1/175 DATA(2, -2, -2)
+
+ - 1/350 DATA(1, -2, -2) - 1/700 DATA(1, 1, 2) + 1/350 DATA(2, 1, 2)
+
+ - 1/350 DATA(-1, 2, 2) - 1/175 DATA(0, 2, 2) - 1/175 DATA(0, -2, -2)
+
+ - 1/350 DATA(-1, -2, -2) - 1/700 DATA(-1, 1, 2) - 1/350 DATA(0, 1, 2)
+
+ + 1/175 DATA(-2, -2, -2) + 1/700 DATA(1, -1, 2) - 1/350 DATA(2, -1, 2)
+
+ + 1/700 DATA(-1, -1, 2) + 1/350 DATA(0, -1, 2) + 1/350 DATA(2, 2, 1)
+
+ - 1/175 DATA(-2, 2, -2) - 1/350 DATA(2, 1, -2) + 1/700 DATA(1, 1, -2)
+
+ + 1/350 DATA(0, 1, -2) + 1/700 DATA(-1, 1, -2) - 1/350 DATA(-2, 1, -2)
+
+ + 1/350 DATA(2, -1, -2) - 1/700 DATA(1, -1, -2) - 1/350 DATA(0, -1, -2)
+
+ - 1/700 DATA(-1, -1, -2) + 1/350 DATA(2, -2, -1) - 1/700 DATA(1, -2, -1)
+
+ - 1/350 DATA(0, -2, -1) - 1/700 DATA(-1, -2, -1) + 1/350 DATA(-2, -2, -1)
+
+ - 1/175 DATA(2, 2, -2) + 1/350 DATA(1, 2, -2) + 1/175 DATA(0, 2, -2)
+
+ + 1/350 DATA(-1, 2, -2) - 1/700 DATA(-2, 1, -1) + 1/700 DATA(-2, -1, -1)
+
+ - 1/350 DATA(-2, 2, -1) - 1/350 DATA(-2, -2, 1) + 1/700 DATA(-1, -2, 1)
+
+ + 1/700 DATA(1, -2, 1) + 1/350 DATA(0, -2, 1) - 1/350 DATA(2, -2, 1)
+
+ - 1/700 DATA(-2, -1, 1) + 1/700 DATA(-2, 1, 1) + 1/350 DATA(-2, 2, 1)
+
+ 2
+ - 1/175 DATA(-2, -2, 2)) x y z - 2/125 DATA(-2, 1, 2)
+
+ 272 272 23
+ + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1) - ---- DATA(1, 1, 1)
+ 6125 6125 6125
+
+ 202 / 83 151
+ + ---- DATA(-2, 2, 2) + |---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1)
+ 6125 \3675 7350
+
+ 83 57 61
+ + ---- DATA(1, 1, -1) - --- DATA(-1, -1, 0) - --- DATA(0, -1, 0)
+ 3675 980 980
+
+ 57 61 57
+ - --- DATA(1, -1, 0) - --- DATA(-1, 0, 0) - --- DATA(-1, 1, 0)
+ 980 980 980
+
+ 83 151 83
+ + ---- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) + ---- DATA(1, -1, 1)
+ 3675 7350 3675
+
+ 83 151 169
+ + ---- DATA(-1, -1, 1) + ---- DATA(0, -1, 1) - ----- DATA(-1, -2, 2)
+ 3675 7350 29400
+
+ 151 68
+ - 1/600 DATA(0, -2, 2) + ---- DATA(-1, 0, -1) + ---- DATA(0, 0, -1)
+ 7350 3675
+
+ 151 13 61
+ + ---- DATA(1, 0, -1) - --- DATA(0, 0, 0) - --- DATA(1, 0, 0)
+ 7350 196 980
+
+ 61 57 68
+ - --- DATA(0, 1, 0) - --- DATA(1, 1, 0) + ---- DATA(0, 0, 1)
+ 980 980 3675
+
+ 169 169 529
+ - ----- DATA(1, -2, 2) - ----- DATA(-2, -1, 2) - ----- DATA(2, -2, 2)
+ 29400 29400 29400
+
+ 169 151
+ - 1/600 DATA(-2, 0, 2) - ----- DATA(-2, 1, 2) + ---- DATA(1, 0, 1)
+ 29400 7350
+
+ 151 83 529
+ + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1) - ----- DATA(-2, 2, 2)
+ 7350 3675 29400
+
+ 83 151 211
+ + ---- DATA(-1, -1, -1) + ---- DATA(0, -1, -1) + ---- DATA(1, 2, -1)
+ 3675 7350 7350
+
+ 211 211
+ + ---- DATA(2, 1, -1) + ---- DATA(-1, 2, -1) + 2/75 DATA(0, 2, -1)
+ 7350 7350
+
+ 211 211
+ + ---- DATA(2, -1, -1) + 2/75 DATA(2, 0, -1) + ---- DATA(2, 1, 1)
+ 7350 7350
+
+ 211 211
+ + ---- DATA(-1, 2, 1) + 2/75 DATA(0, 2, 1) + ---- DATA(1, 2, 1)
+ 7350 7350
+
+ 211 83
+ + ---- DATA(2, -1, 1) + 2/75 DATA(2, 0, 1) + ---- DATA(1, -1, -1)
+ 7350 3675
+
+ 33
+ - 9/196 DATA(1, 2, 0) - --- DATA(2, 2, 0) - 9/196 DATA(2, 1, 0)
+ 980
+
+ - 9/196 DATA(-1, 2, 0) - 1/20 DATA(0, 2, 0) - 9/196 DATA(2, -1, 0)
+
+ 128 169
+ - 1/20 DATA(2, 0, 0) + ---- DATA(2, 2, -1) - ----- DATA(1, 2, 2)
+ 3675 29400
+
+ 169 529 529
+ - ----- DATA(-2, -1, -2) - ----- DATA(2, 2, 2) - ----- DATA(2, -2, -2)
+ 29400 29400 29400
+
+ 169 191 169
+ - ----- DATA(1, -2, -2) + ----- DATA(1, 1, 2) - ----- DATA(2, 1, 2)
+ 29400 29400 29400
+
+ 169
+ - ----- DATA(-1, 2, 2) - 1/600 DATA(0, 2, 2) - 1/600 DATA(0, -2, -2)
+ 29400
+
+ 169 311
+ - ----- DATA(-1, -2, -2) + ----- DATA(1, 0, 2) - 1/600 DATA(2, 0, 2)
+ 29400 29400
+
+ 191 311 529
+ + ----- DATA(-1, 1, 2) + ----- DATA(0, 1, 2) - ----- DATA(-2, -2, -2)
+ 29400 29400 29400
+
+ 191 169 311
+ + ----- DATA(1, -1, 2) - ----- DATA(2, -1, 2) + ----- DATA(-1, 0, 2)
+ 29400 29400 29400
+
+ 431 191 311
+ + ----- DATA(0, 0, 2) + ----- DATA(-1, -1, 2) + ----- DATA(0, -1, 2)
+ 29400 29400 29400
+
+ 128 529 169
+ + ---- DATA(2, 2, 1) - ----- DATA(-2, 2, -2) - ----- DATA(2, 1, -2)
+ 3675 29400 29400
+
+ 191 311 191
+ + ----- DATA(1, 1, -2) + ----- DATA(0, 1, -2) + ----- DATA(-1, 1, -2)
+ 29400 29400 29400
+
+ 169 431
+ - ----- DATA(-2, 1, -2) - 1/600 DATA(2, 0, -2) + ----- DATA(0, 0, -2)
+ 29400 29400
+
+ 311 311
+ + ----- DATA(1, 0, -2) + ----- DATA(-1, 0, -2) - 1/600 DATA(-2, 0, -2)
+ 29400 29400
+
+ 169 191 311
+ - ----- DATA(2, -1, -2) + ----- DATA(1, -1, -2) + ----- DATA(0, -1, -2)
+ 29400 29400 29400
+
+ 191 128 211
+ + ----- DATA(-1, -1, -2) + ---- DATA(2, -2, -1) + ---- DATA(1, -2, -1)
+ 29400 3675 7350
+
+ 211 128
+ + 2/75 DATA(0, -2, -1) + ---- DATA(-1, -2, -1) + ---- DATA(-2, -2, -1)
+ 7350 3675
+
+ 529 169
+ - ----- DATA(2, 2, -2) - ----- DATA(1, 2, -2) - 1/600 DATA(0, 2, -2)
+ 29400 29400
+
+ 169 211
+ - ----- DATA(-1, 2, -2) + ---- DATA(-2, 1, -1) + 2/75 DATA(-2, 0, -1)
+ 29400 7350
+
+ 211 128
+ + ---- DATA(-2, -1, -1) + ---- DATA(-2, 2, -1) - 1/20 DATA(0, -2, 0)
+ 7350 3675
+
+ 33
+ - 9/196 DATA(-1, -2, 0) - --- DATA(-2, -2, 0) - 1/20 DATA(-2, 0, 0)
+ 980
+
+ 33
+ - 9/196 DATA(-2, -1, 0) - --- DATA(2, -2, 0) - 9/196 DATA(1, -2, 0)
+ 980
+
+ 33 128
+ - 9/196 DATA(-2, 1, 0) - --- DATA(-2, 2, 0) + ---- DATA(-2, -2, 1)
+ 980 3675
+
+ 211 211
+ + ---- DATA(-1, -2, 1) + ---- DATA(1, -2, 1) + 2/75 DATA(0, -2, 1)
+ 7350 7350
+
+ 128 211
+ + ---- DATA(2, -2, 1) + ---- DATA(-2, -1, 1) + 2/75 DATA(-2, 0, 1)
+ 3675 7350
+
+ 211 128 529 \ 2
+ + ---- DATA(-2, 1, 1) + ---- DATA(-2, 2, 1) - ----- DATA(-2, -2, 2)| z +
+ 7350 3675 29400 /
+
+ (- 1/150 DATA(-1, 1, -1) - 1/150 DATA(0, 1, -1) - 1/150 DATA(1, 1, -1)
+
+ + 1/150 DATA(-1, -1, 0) + 1/150 DATA(0, -1, 0) + 1/150 DATA(1, -1, 0)
+
+ - 1/150 DATA(-1, 1, 0) - 1/150 DATA(-1, 1, 1) + 1/150 DATA(1, -1, 1)
+
+ + 1/150 DATA(-1, -1, 1) + 1/150 DATA(0, -1, 1) - 1/300 DATA(-1, -2, 2)
+
+ - 1/300 DATA(0, -2, 2) - 1/150 DATA(0, 1, 0) - 1/150 DATA(1, 1, 0)
+
+ - 1/300 DATA(1, -2, 2) + 1/150 DATA(-2, -1, 2) - 1/300 DATA(2, -2, 2)
+
+ - 1/150 DATA(-2, 1, 2) - 1/150 DATA(0, 1, 1) - 1/150 DATA(1, 1, 1)
+
+ + 1/300 DATA(-2, 2, 2) + 1/150 DATA(-1, -1, -1) + 1/150 DATA(0, -1, -1)
+
+ + 1/300 DATA(1, 2, -1) - 1/150 DATA(2, 1, -1) + 1/300 DATA(-1, 2, -1)
+
+ + 1/300 DATA(0, 2, -1) + 1/150 DATA(2, -1, -1) - 1/150 DATA(2, 1, 1)
+
+ + 1/300 DATA(-1, 2, 1) + 1/300 DATA(0, 2, 1) + 1/300 DATA(1, 2, 1)
+
+ + 1/150 DATA(2, -1, 1) + 1/150 DATA(1, -1, -1) + 1/300 DATA(1, 2, 0)
+
+ + 1/300 DATA(2, 2, 0) - 1/150 DATA(2, 1, 0) + 1/300 DATA(-1, 2, 0)
+
+ + 1/300 DATA(0, 2, 0) + 1/150 DATA(2, -1, 0) + 1/300 DATA(2, 2, -1)
+
+ + 1/300 DATA(1, 2, 2) + 1/150 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ - 1/300 DATA(2, -2, -2) - 1/300 DATA(1, -2, -2) - 1/150 DATA(1, 1, 2)
+
+ - 1/150 DATA(2, 1, 2) + 1/300 DATA(-1, 2, 2) + 1/300 DATA(0, 2, 2)
+
+ - 1/300 DATA(0, -2, -2) - 1/300 DATA(-1, -2, -2) - 1/150 DATA(-1, 1, 2)
+
+ - 1/150 DATA(0, 1, 2) - 1/300 DATA(-2, -2, -2) + 1/150 DATA(1, -1, 2)
+
+ + 1/150 DATA(2, -1, 2) + 1/150 DATA(-1, -1, 2) + 1/150 DATA(0, -1, 2)
+
+ + 1/300 DATA(2, 2, 1) + 1/300 DATA(-2, 2, -2) - 1/150 DATA(2, 1, -2)
+
+ - 1/150 DATA(1, 1, -2) - 1/150 DATA(0, 1, -2) - 1/150 DATA(-1, 1, -2)
+
+ - 1/150 DATA(-2, 1, -2) + 1/150 DATA(2, -1, -2) + 1/150 DATA(1, -1, -2)
+
+ + 1/150 DATA(0, -1, -2) + 1/150 DATA(-1, -1, -2) - 1/300 DATA(2, -2, -1)
+
+ - 1/300 DATA(1, -2, -1) - 1/300 DATA(0, -2, -1) - 1/300 DATA(-1, -2, -1)
+
+ - 1/300 DATA(-2, -2, -1) + 1/300 DATA(2, 2, -2) + 1/300 DATA(1, 2, -2)
+
+ + 1/300 DATA(0, 2, -2) + 1/300 DATA(-1, 2, -2) - 1/150 DATA(-2, 1, -1)
+
+ + 1/150 DATA(-2, -1, -1) + 1/300 DATA(-2, 2, -1) - 1/300 DATA(0, -2, 0)
+
+ - 1/300 DATA(-1, -2, 0) - 1/300 DATA(-2, -2, 0) + 1/150 DATA(-2, -1, 0)
+
+ - 1/300 DATA(2, -2, 0) - 1/300 DATA(1, -2, 0) - 1/150 DATA(-2, 1, 0)
+
+ + 1/300 DATA(-2, 2, 0) - 1/300 DATA(-2, -2, 1) - 1/300 DATA(-1, -2, 1)
+
+ - 1/300 DATA(1, -2, 1) - 1/300 DATA(0, -2, 1) - 1/300 DATA(2, -2, 1)
+
+ + 1/150 DATA(-2, -1, 1) - 1/150 DATA(-2, 1, 1) + 1/300 DATA(-2, 2, 1)
+
+ 3 / 17 17
+ - 1/300 DATA(-2, -2, 2)) y + |- --- DATA(-1, 1, -1) + --- DATA(1, 1, -1)
+ \ 525 525
+
+ 37 37
+ - ---- DATA(-1, -1, 0) + ---- DATA(1, -1, 0) - 4/105 DATA(-1, 0, 0)
+ 1050 1050
+
+ 37 17 37
+ - ---- DATA(-1, 1, 0) - --- DATA(-1, 1, 1) - ---- DATA(-1, 0, 1)
+ 1050 525 1050
+
+ 17 17
+ + --- DATA(1, -1, 1) - --- DATA(-1, -1, 1) - 8/525 DATA(-1, -2, 2)
+ 525 525
+
+ 37 37
+ - ---- DATA(-1, 0, -1) + ---- DATA(1, 0, -1) + 4/105 DATA(1, 0, 0)
+ 1050 1050
+
+ 37 19
+ + ---- DATA(1, 1, 0) + 8/525 DATA(1, -2, 2) + ---- DATA(-2, -1, 2)
+ 1050 2100
+
+ 11 19
+ - --- DATA(2, -2, 2) + 1/300 DATA(-2, 0, 2) + ---- DATA(-2, 1, 2)
+ 420 2100
+
+ 37 17 11
+ + ---- DATA(1, 0, 1) + --- DATA(1, 1, 1) + --- DATA(-2, 2, 2)
+ 1050 525 420
+
+ 17 17
+ - --- DATA(-1, -1, -1) + 1/42 DATA(1, 2, -1) + ---- DATA(2, 1, -1)
+ 525 2100
+
+ 17 29
+ - 1/42 DATA(-1, 2, -1) + ---- DATA(2, -1, -1) + ---- DATA(2, 0, -1)
+ 2100 2100
+
+ 17
+ + ---- DATA(2, 1, 1) - 1/42 DATA(-1, 2, 1) + 1/42 DATA(1, 2, 1)
+ 2100
+
+ 17 29 17
+ + ---- DATA(2, -1, 1) + ---- DATA(2, 0, 1) + --- DATA(1, -1, -1)
+ 2100 2100 525
+
+ 29
+ + 2/75 DATA(1, 2, 0) - 1/300 DATA(2, 2, 0) + ---- DATA(2, 1, 0)
+ 2100
+
+ 29 41
+ - 2/75 DATA(-1, 2, 0) + ---- DATA(2, -1, 0) + ---- DATA(2, 0, 0)
+ 2100 2100
+
+ 19 19
+ - ---- DATA(2, 2, -1) + 8/525 DATA(1, 2, 2) + ---- DATA(-2, -1, -2)
+ 2100 2100
+
+ 11 11
+ - --- DATA(2, 2, 2) - --- DATA(2, -2, -2) + 8/525 DATA(1, -2, -2)
+ 420 420
+
+ 19
+ + 1/42 DATA(1, 1, 2) - ---- DATA(2, 1, 2) - 8/525 DATA(-1, 2, 2)
+ 2100
+
+ - 8/525 DATA(-1, -2, -2) + 2/75 DATA(1, 0, 2) - 1/300 DATA(2, 0, 2)
+
+ 11
+ - 1/42 DATA(-1, 1, 2) + --- DATA(-2, -2, -2) + 1/42 DATA(1, -1, 2)
+ 420
+
+ 19
+ - ---- DATA(2, -1, 2) - 2/75 DATA(-1, 0, 2) - 1/42 DATA(-1, -1, 2)
+ 2100
+
+ 19 11 19
+ - ---- DATA(2, 2, 1) + --- DATA(-2, 2, -2) - ---- DATA(2, 1, -2)
+ 2100 420 2100
+
+ 19
+ + 1/42 DATA(1, 1, -2) - 1/42 DATA(-1, 1, -2) + ---- DATA(-2, 1, -2)
+ 2100
+
+ - 1/300 DATA(2, 0, -2) + 2/75 DATA(1, 0, -2) - 2/75 DATA(-1, 0, -2)
+
+ 19
+ + 1/300 DATA(-2, 0, -2) - ---- DATA(2, -1, -2) + 1/42 DATA(1, -1, -2)
+ 2100
+
+ 19
+ - 1/42 DATA(-1, -1, -2) - ---- DATA(2, -2, -1) + 1/42 DATA(1, -2, -1)
+ 2100
+
+ 19 11
+ - 1/42 DATA(-1, -2, -1) + ---- DATA(-2, -2, -1) - --- DATA(2, 2, -2)
+ 2100 420
+
+ 17
+ + 8/525 DATA(1, 2, -2) - 8/525 DATA(-1, 2, -2) - ---- DATA(-2, 1, -1)
+ 2100
+
+ 29 17 19
+ - ---- DATA(-2, 0, -1) - ---- DATA(-2, -1, -1) + ---- DATA(-2, 2, -1)
+ 2100 2100 2100
+
+ 41
+ - 2/75 DATA(-1, -2, 0) + 1/300 DATA(-2, -2, 0) - ---- DATA(-2, 0, 0)
+ 2100
+
+ 29
+ - ---- DATA(-2, -1, 0) - 1/300 DATA(2, -2, 0) + 2/75 DATA(1, -2, 0)
+ 2100
+
+ 29 19
+ - ---- DATA(-2, 1, 0) + 1/300 DATA(-2, 2, 0) + ---- DATA(-2, -2, 1)
+ 2100 2100
+
+ 19
+ - 1/42 DATA(-1, -2, 1) + 1/42 DATA(1, -2, 1) - ---- DATA(2, -2, 1)
+ 2100
+
+ 17 29 17
+ - ---- DATA(-2, -1, 1) - ---- DATA(-2, 0, 1) - ---- DATA(-2, 1, 1)
+ 2100 2100 2100
+
+ 19 11 \ /17
+ + ---- DATA(-2, 2, 1) + --- DATA(-2, -2, 2)| x + |--- DATA(-1, 1, -1)
+ 2100 420 / \525
+
+ 37 17 37
+ + ---- DATA(0, 1, -1) + --- DATA(1, 1, -1) - ---- DATA(-1, -1, 0)
+ 1050 525 1050
+
+ 37 37
+ - 4/105 DATA(0, -1, 0) - ---- DATA(1, -1, 0) + ---- DATA(-1, 1, 0)
+ 1050 1050
+
+ 17 17 17
+ + --- DATA(-1, 1, 1) - --- DATA(1, -1, 1) - --- DATA(-1, -1, 1)
+ 525 525 525
+
+ 37 19
+ - ---- DATA(0, -1, 1) + ---- DATA(-1, -2, 2) + 1/300 DATA(0, -2, 2)
+ 1050 2100
+
+ 37 19
+ + 4/105 DATA(0, 1, 0) + ---- DATA(1, 1, 0) + ---- DATA(1, -2, 2)
+ 1050 2100
+
+ 11
+ - 8/525 DATA(-2, -1, 2) + --- DATA(2, -2, 2) + 8/525 DATA(-2, 1, 2)
+ 420
+
+ 37 17 11
+ + ---- DATA(0, 1, 1) + --- DATA(1, 1, 1) - --- DATA(-2, 2, 2)
+ 1050 525 420
+
+ 17 37 17
+ - --- DATA(-1, -1, -1) - ---- DATA(0, -1, -1) + ---- DATA(1, 2, -1)
+ 525 1050 2100
+
+ 17 29
+ + 1/42 DATA(2, 1, -1) + ---- DATA(-1, 2, -1) + ---- DATA(0, 2, -1)
+ 2100 2100
+
+ 17
+ - 1/42 DATA(2, -1, -1) + 1/42 DATA(2, 1, 1) + ---- DATA(-1, 2, 1)
+ 2100
+
+ 29 17
+ + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1) - 1/42 DATA(2, -1, 1)
+ 2100 2100
+
+ 17 29
+ - --- DATA(1, -1, -1) + ---- DATA(1, 2, 0) - 1/300 DATA(2, 2, 0)
+ 525 2100
+
+ 29 41
+ + 2/75 DATA(2, 1, 0) + ---- DATA(-1, 2, 0) + ---- DATA(0, 2, 0)
+ 2100 2100
+
+ 19 19
+ - 2/75 DATA(2, -1, 0) - ---- DATA(2, 2, -1) - ---- DATA(1, 2, 2)
+ 2100 2100
+
+ 11 11
+ - 8/525 DATA(-2, -1, -2) - --- DATA(2, 2, 2) + --- DATA(2, -2, -2)
+ 420 420
+
+ 19
+ + ---- DATA(1, -2, -2) + 1/42 DATA(1, 1, 2) + 8/525 DATA(2, 1, 2)
+ 2100
+
+ 19
+ - ---- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2) + 1/300 DATA(0, -2, -2)
+ 2100
+
+ 19
+ + ---- DATA(-1, -2, -2) + 1/42 DATA(-1, 1, 2) + 2/75 DATA(0, 1, 2)
+ 2100
+
+ 11
+ + --- DATA(-2, -2, -2) - 1/42 DATA(1, -1, 2) - 8/525 DATA(2, -1, 2)
+ 420
+
+ 19
+ - 1/42 DATA(-1, -1, 2) - 2/75 DATA(0, -1, 2) - ---- DATA(2, 2, 1)
+ 2100
+
+ 11
+ - --- DATA(-2, 2, -2) + 8/525 DATA(2, 1, -2) + 1/42 DATA(1, 1, -2)
+ 420
+
+ + 2/75 DATA(0, 1, -2) + 1/42 DATA(-1, 1, -2) + 8/525 DATA(-2, 1, -2)
+
+ - 8/525 DATA(2, -1, -2) - 1/42 DATA(1, -1, -2) - 2/75 DATA(0, -1, -2)
+
+ 19 17
+ - 1/42 DATA(-1, -1, -2) + ---- DATA(2, -2, -1) - ---- DATA(1, -2, -1)
+ 2100 2100
+
+ 29 17 19
+ - ---- DATA(0, -2, -1) - ---- DATA(-1, -2, -1) + ---- DATA(-2, -2, -1)
+ 2100 2100 2100
+
+ 11 19
+ - --- DATA(2, 2, -2) - ---- DATA(1, 2, -2) - 1/300 DATA(0, 2, -2)
+ 420 2100
+
+ 19
+ - ---- DATA(-1, 2, -2) + 1/42 DATA(-2, 1, -1) - 1/42 DATA(-2, -1, -1)
+ 2100
+
+ 19 41 29
+ - ---- DATA(-2, 2, -1) - ---- DATA(0, -2, 0) - ---- DATA(-1, -2, 0)
+ 2100 2100 2100
+
+ + 1/300 DATA(-2, -2, 0) - 2/75 DATA(-2, -1, 0) + 1/300 DATA(2, -2, 0)
+
+ 29
+ - ---- DATA(1, -2, 0) + 2/75 DATA(-2, 1, 0) - 1/300 DATA(-2, 2, 0)
+ 2100
+
+ 19 17 17
+ + ---- DATA(-2, -2, 1) - ---- DATA(-1, -2, 1) - ---- DATA(1, -2, 1)
+ 2100 2100 2100
+
+ 29 19
+ - ---- DATA(0, -2, 1) + ---- DATA(2, -2, 1) - 1/42 DATA(-2, -1, 1)
+ 2100 2100
+
+ 19 11 \ /
+ + 1/42 DATA(-2, 1, 1) - ---- DATA(-2, 2, 1) + --- DATA(-2, -2, 2)| y + |
+ 2100 420 / \
+
+ 17 37 17
+ - --- DATA(-1, 1, -1) - ---- DATA(0, 1, -1) - --- DATA(1, 1, -1)
+ 525 1050 525
+
+ 17 37 17
+ + --- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) + --- DATA(1, -1, 1)
+ 525 1050 525
+
+ 17 37 19
+ + --- DATA(-1, -1, 1) + ---- DATA(0, -1, 1) - ---- DATA(-1, -2, 2)
+ 525 1050 2100
+
+ 37
+ - 1/300 DATA(0, -2, 2) - ---- DATA(-1, 0, -1) - 4/105 DATA(0, 0, -1)
+ 1050
+
+ 37 19
+ - ---- DATA(1, 0, -1) + 4/105 DATA(0, 0, 1) - ---- DATA(1, -2, 2)
+ 1050 2100
+
+ 19 11
+ - ---- DATA(-2, -1, 2) - --- DATA(2, -2, 2) - 1/300 DATA(-2, 0, 2)
+ 2100 420
+
+ 19 37 37
+ - ---- DATA(-2, 1, 2) + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1)
+ 2100 1050 1050
+
+ 17 11 17
+ + --- DATA(1, 1, 1) - --- DATA(-2, 2, 2) - --- DATA(-1, -1, -1)
+ 525 420 525
+
+ 37
+ - ---- DATA(0, -1, -1) - 1/42 DATA(1, 2, -1) - 1/42 DATA(2, 1, -1)
+ 1050
+
+ - 1/42 DATA(-1, 2, -1) - 2/75 DATA(0, 2, -1) - 1/42 DATA(2, -1, -1)
+
+ - 2/75 DATA(2, 0, -1) + 1/42 DATA(2, 1, 1) + 1/42 DATA(-1, 2, 1)
+
+ + 2/75 DATA(0, 2, 1) + 1/42 DATA(1, 2, 1) + 1/42 DATA(2, -1, 1)
+
+ 17
+ + 2/75 DATA(2, 0, 1) - --- DATA(1, -1, -1) - 8/525 DATA(2, 2, -1)
+ 525
+
+ 19 19 11
+ - ---- DATA(1, 2, 2) + ---- DATA(-2, -1, -2) - --- DATA(2, 2, 2)
+ 2100 2100 420
+
+ 11 19 17
+ + --- DATA(2, -2, -2) + ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 420 2100 2100
+
+ 19 19
+ - ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2)
+ 2100 2100
+
+ 19 29
+ + 1/300 DATA(0, -2, -2) + ---- DATA(-1, -2, -2) + ---- DATA(1, 0, 2)
+ 2100 2100
+
+ 17 29
+ - 1/300 DATA(2, 0, 2) + ---- DATA(-1, 1, 2) + ---- DATA(0, 1, 2)
+ 2100 2100
+
+ 11 17 19
+ + --- DATA(-2, -2, -2) + ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 420 2100 2100
+
+ 29 41 17
+ + ---- DATA(-1, 0, 2) + ---- DATA(0, 0, 2) + ---- DATA(-1, -1, 2)
+ 2100 2100 2100
+
+ 29 11
+ + ---- DATA(0, -1, 2) + 8/525 DATA(2, 2, 1) + --- DATA(-2, 2, -2)
+ 2100 420
+
+ 19 17 29
+ + ---- DATA(2, 1, -2) - ---- DATA(1, 1, -2) - ---- DATA(0, 1, -2)
+ 2100 2100 2100
+
+ 17 19
+ - ---- DATA(-1, 1, -2) + ---- DATA(-2, 1, -2) + 1/300 DATA(2, 0, -2)
+ 2100 2100
+
+ 41 29 29
+ - ---- DATA(0, 0, -2) - ---- DATA(1, 0, -2) - ---- DATA(-1, 0, -2)
+ 2100 2100 2100
+
+ 19 17
+ + 1/300 DATA(-2, 0, -2) + ---- DATA(2, -1, -2) - ---- DATA(1, -1, -2)
+ 2100 2100
+
+ 29 17
+ - ---- DATA(0, -1, -2) - ---- DATA(-1, -1, -2) - 8/525 DATA(2, -2, -1)
+ 2100 2100
+
+ - 1/42 DATA(1, -2, -1) - 2/75 DATA(0, -2, -1) - 1/42 DATA(-1, -2, -1)
+
+ 11 19
+ - 8/525 DATA(-2, -2, -1) + --- DATA(2, 2, -2) + ---- DATA(1, 2, -2)
+ 420 2100
+
+ 19
+ + 1/300 DATA(0, 2, -2) + ---- DATA(-1, 2, -2) - 1/42 DATA(-2, 1, -1)
+ 2100
+
+ - 2/75 DATA(-2, 0, -1) - 1/42 DATA(-2, -1, -1) - 8/525 DATA(-2, 2, -1)
+
+ + 8/525 DATA(-2, -2, 1) + 1/42 DATA(-1, -2, 1) + 1/42 DATA(1, -2, 1)
+
+ + 2/75 DATA(0, -2, 1) + 8/525 DATA(2, -2, 1) + 1/42 DATA(-2, -1, 1)
+
+ + 2/75 DATA(-2, 0, 1) + 1/42 DATA(-2, 1, 1) + 8/525 DATA(-2, 2, 1)
+
+ 11 \ / 83 151
+ - --- DATA(-2, -2, 2)| z + |---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1)
+ 420 / \3675 7350
+
+ 83 151 68
+ + ---- DATA(1, 1, -1) + ---- DATA(-1, -1, 0) + ---- DATA(0, -1, 0)
+ 3675 7350 3675
+
+ 151 61 151
+ + ---- DATA(1, -1, 0) - --- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0)
+ 7350 980 7350
+
+ 83 57 83
+ + ---- DATA(-1, 1, 1) - --- DATA(-1, 0, 1) + ---- DATA(1, -1, 1)
+ 3675 980 3675
+
+ 83 151 169
+ + ---- DATA(-1, -1, 1) + ---- DATA(0, -1, 1) - ----- DATA(-1, -2, 2)
+ 3675 7350 29400
+
+ 57 61
+ - 1/600 DATA(0, -2, 2) - --- DATA(-1, 0, -1) - --- DATA(0, 0, -1)
+ 980 980
+
+ 57 13 61
+ - --- DATA(1, 0, -1) - --- DATA(0, 0, 0) - --- DATA(1, 0, 0)
+ 980 196 980
+
+ 68 151 61
+ + ---- DATA(0, 1, 0) + ---- DATA(1, 1, 0) - --- DATA(0, 0, 1)
+ 3675 7350 980
+
+ 169 128 529
+ - ----- DATA(1, -2, 2) + ---- DATA(-2, -1, 2) - ----- DATA(2, -2, 2)
+ 29400 3675 29400
+
+ 33 128 57
+ - --- DATA(-2, 0, 2) + ---- DATA(-2, 1, 2) - --- DATA(1, 0, 1)
+ 980 3675 980
+
+ 151 83 529
+ + ---- DATA(0, 1, 1) + ---- DATA(1, 1, 1) - ----- DATA(-2, 2, 2)
+ 7350 3675 29400
+
+ 83 151 191
+ + ---- DATA(-1, -1, -1) + ---- DATA(0, -1, -1) + ----- DATA(1, 2, -1)
+ 3675 7350 29400
+
+ 211 191 311
+ + ---- DATA(2, 1, -1) + ----- DATA(-1, 2, -1) + ----- DATA(0, 2, -1)
+ 7350 29400 29400
+
+ 211 211
+ + ---- DATA(2, -1, -1) - 9/196 DATA(2, 0, -1) + ---- DATA(2, 1, 1)
+ 7350 7350
+
+ 191 311 191
+ + ----- DATA(-1, 2, 1) + ----- DATA(0, 2, 1) + ----- DATA(1, 2, 1)
+ 29400 29400 29400
+
+ 211 83
+ + ---- DATA(2, -1, 1) - 9/196 DATA(2, 0, 1) + ---- DATA(1, -1, -1)
+ 7350 3675
+
+ 311
+ + ----- DATA(1, 2, 0) - 1/600 DATA(2, 2, 0) + 2/75 DATA(2, 1, 0)
+ 29400
+
+ 311 431
+ + ----- DATA(-1, 2, 0) + ----- DATA(0, 2, 0) + 2/75 DATA(2, -1, 0)
+ 29400 29400
+
+ 169 169
+ - 1/20 DATA(2, 0, 0) - ----- DATA(2, 2, -1) - ----- DATA(1, 2, 2)
+ 29400 29400
+
+ 128 529 529
+ + ---- DATA(-2, -1, -2) - ----- DATA(2, 2, 2) - ----- DATA(2, -2, -2)
+ 3675 29400 29400
+
+ 169 211 128
+ - ----- DATA(1, -2, -2) + ---- DATA(1, 1, 2) + ---- DATA(2, 1, 2)
+ 29400 7350 3675
+
+ 169
+ - ----- DATA(-1, 2, 2) - 1/600 DATA(0, 2, 2) - 1/600 DATA(0, -2, -2)
+ 29400
+
+ 169 33
+ - ----- DATA(-1, -2, -2) - 9/196 DATA(1, 0, 2) - --- DATA(2, 0, 2)
+ 29400 980
+
+ 211 529
+ + ---- DATA(-1, 1, 2) + 2/75 DATA(0, 1, 2) - ----- DATA(-2, -2, -2)
+ 7350 29400
+
+ 211 128
+ + ---- DATA(1, -1, 2) + ---- DATA(2, -1, 2) - 9/196 DATA(-1, 0, 2)
+ 7350 3675
+
+ 211
+ - 1/20 DATA(0, 0, 2) + ---- DATA(-1, -1, 2) + 2/75 DATA(0, -1, 2)
+ 7350
+
+ 169 529 128
+ - ----- DATA(2, 2, 1) - ----- DATA(-2, 2, -2) + ---- DATA(2, 1, -2)
+ 29400 29400 3675
+
+ 211 211
+ + ---- DATA(1, 1, -2) + 2/75 DATA(0, 1, -2) + ---- DATA(-1, 1, -2)
+ 7350 7350
+
+ 128 33
+ + ---- DATA(-2, 1, -2) - --- DATA(2, 0, -2) - 1/20 DATA(0, 0, -2)
+ 3675 980
+
+ 33
+ - 9/196 DATA(1, 0, -2) - 9/196 DATA(-1, 0, -2) - --- DATA(-2, 0, -2)
+ 980
+
+ 128 211
+ + ---- DATA(2, -1, -2) + ---- DATA(1, -1, -2) + 2/75 DATA(0, -1, -2)
+ 3675 7350
+
+ 211 169 191
+ + ---- DATA(-1, -1, -2) - ----- DATA(2, -2, -1) + ----- DATA(1, -2, -1)
+ 7350 29400 29400
+
+ 311 191 169
+ + ----- DATA(0, -2, -1) + ----- DATA(-1, -2, -1) - ----- DATA(-2, -2, -1)
+ 29400 29400 29400
+
+ 529 169
+ - ----- DATA(2, 2, -2) - ----- DATA(1, 2, -2) - 1/600 DATA(0, 2, -2)
+ 29400 29400
+
+ 169 211
+ - ----- DATA(-1, 2, -2) + ---- DATA(-2, 1, -1) - 9/196 DATA(-2, 0, -1)
+ 29400 7350
+
+ 211 169 431
+ + ---- DATA(-2, -1, -1) - ----- DATA(-2, 2, -1) + ----- DATA(0, -2, 0)
+ 7350 29400 29400
+
+ 311
+ + ----- DATA(-1, -2, 0) - 1/600 DATA(-2, -2, 0) - 1/20 DATA(-2, 0, 0)
+ 29400
+
+ 311
+ + 2/75 DATA(-2, -1, 0) - 1/600 DATA(2, -2, 0) + ----- DATA(1, -2, 0)
+ 29400
+
+ 169
+ + 2/75 DATA(-2, 1, 0) - 1/600 DATA(-2, 2, 0) - ----- DATA(-2, -2, 1)
+ 29400
+
+ 191 191 311
+ + ----- DATA(-1, -2, 1) + ----- DATA(1, -2, 1) + ----- DATA(0, -2, 1)
+ 29400 29400 29400
+
+ 169 211
+ - ----- DATA(2, -2, 1) + ---- DATA(-2, -1, 1) - 9/196 DATA(-2, 0, 1)
+ 29400 7350
+
+ 211 169 529 \ 2
+ + ---- DATA(-2, 1, 1) - ----- DATA(-2, 2, 1) - ----- DATA(-2, -2, 2)| y
+ 7350 29400 29400 /
+
+ + (- 1/150 DATA(-1, 1, -1) - 1/150 DATA(0, 1, -1) - 1/150 DATA(1, 1, -1)
+
+ + 1/100 DATA(-1, -1, 0) + 1/100 DATA(0, -1, 0) + 1/100 DATA(1, -1, 0)
+
+ + 1/100 DATA(-1, 0, 0) + 1/100 DATA(-1, 1, 0) - 1/150 DATA(-1, 1, 1)
+
+ - 1/150 DATA(-1, 0, 1) - 1/150 DATA(1, -1, 1) - 1/150 DATA(-1, -1, 1)
+
+ - 1/150 DATA(0, -1, 1) + 1/600 DATA(-1, -2, 2) + 1/600 DATA(0, -2, 2)
+
+ - 1/150 DATA(-1, 0, -1) - 1/150 DATA(0, 0, -1) - 1/150 DATA(1, 0, -1)
+
+ + 1/100 DATA(0, 0, 0) + 1/100 DATA(1, 0, 0) + 1/100 DATA(0, 1, 0)
+
+ + 1/100 DATA(1, 1, 0) - 1/150 DATA(0, 0, 1) + 1/600 DATA(1, -2, 2)
+
+ + 1/600 DATA(-2, -1, 2) + 1/600 DATA(2, -2, 2) + 1/600 DATA(-2, 0, 2)
+
+ + 1/600 DATA(-2, 1, 2) - 1/150 DATA(1, 0, 1) - 1/150 DATA(0, 1, 1)
+
+ - 1/150 DATA(1, 1, 1) + 1/600 DATA(-2, 2, 2) - 1/150 DATA(-1, -1, -1)
+
+ - 1/150 DATA(0, -1, -1) - 1/150 DATA(1, 2, -1) - 1/150 DATA(2, 1, -1)
+
+ - 1/150 DATA(-1, 2, -1) - 1/150 DATA(0, 2, -1) - 1/150 DATA(2, -1, -1)
+
+ - 1/150 DATA(2, 0, -1) - 1/150 DATA(2, 1, 1) - 1/150 DATA(-1, 2, 1)
+
+ - 1/150 DATA(0, 2, 1) - 1/150 DATA(1, 2, 1) - 1/150 DATA(2, -1, 1)
+
+ - 1/150 DATA(2, 0, 1) - 1/150 DATA(1, -1, -1) + 1/100 DATA(1, 2, 0)
+
+ + 1/100 DATA(2, 2, 0) + 1/100 DATA(2, 1, 0) + 1/100 DATA(-1, 2, 0)
+
+ + 1/100 DATA(0, 2, 0) + 1/100 DATA(2, -1, 0) + 1/100 DATA(2, 0, 0)
+
+ - 1/150 DATA(2, 2, -1) + 1/600 DATA(1, 2, 2) + 1/600 DATA(-2, -1, -2)
+
+ + 1/600 DATA(2, 2, 2) + 1/600 DATA(2, -2, -2) + 1/600 DATA(1, -2, -2)
+
+ + 1/600 DATA(1, 1, 2) + 1/600 DATA(2, 1, 2) + 1/600 DATA(-1, 2, 2)
+
+ + 1/600 DATA(0, 2, 2) + 1/600 DATA(0, -2, -2) + 1/600 DATA(-1, -2, -2)
+
+ + 1/600 DATA(1, 0, 2) + 1/600 DATA(2, 0, 2) + 1/600 DATA(-1, 1, 2)
+
+ + 1/600 DATA(0, 1, 2) + 1/600 DATA(-2, -2, -2) + 1/600 DATA(1, -1, 2)
+
+ + 1/600 DATA(2, -1, 2) + 1/600 DATA(-1, 0, 2) + 1/600 DATA(0, 0, 2)
+
+ + 1/600 DATA(-1, -1, 2) + 1/600 DATA(0, -1, 2) - 1/150 DATA(2, 2, 1)
+
+ + 1/600 DATA(-2, 2, -2) + 1/600 DATA(2, 1, -2) + 1/600 DATA(1, 1, -2)
+
+ + 1/600 DATA(0, 1, -2) + 1/600 DATA(-1, 1, -2) + 1/600 DATA(-2, 1, -2)
+
+ + 1/600 DATA(2, 0, -2) + 1/600 DATA(0, 0, -2) + 1/600 DATA(1, 0, -2)
+
+ + 1/600 DATA(-1, 0, -2) + 1/600 DATA(-2, 0, -2) + 1/600 DATA(2, -1, -2)
+
+ + 1/600 DATA(1, -1, -2) + 1/600 DATA(0, -1, -2) + 1/600 DATA(-1, -1, -2)
+
+ - 1/150 DATA(2, -2, -1) - 1/150 DATA(1, -2, -1) - 1/150 DATA(0, -2, -1)
+
+ - 1/150 DATA(-1, -2, -1) - 1/150 DATA(-2, -2, -1) + 1/600 DATA(2, 2, -2)
+
+ + 1/600 DATA(1, 2, -2) + 1/600 DATA(0, 2, -2) + 1/600 DATA(-1, 2, -2)
+
+ - 1/150 DATA(-2, 1, -1) - 1/150 DATA(-2, 0, -1) - 1/150 DATA(-2, -1, -1)
+
+ - 1/150 DATA(-2, 2, -1) + 1/100 DATA(0, -2, 0) + 1/100 DATA(-1, -2, 0)
+
+ + 1/100 DATA(-2, -2, 0) + 1/100 DATA(-2, 0, 0) + 1/100 DATA(-2, -1, 0)
+
+ + 1/100 DATA(2, -2, 0) + 1/100 DATA(1, -2, 0) + 1/100 DATA(-2, 1, 0)
+
+ + 1/100 DATA(-2, 2, 0) - 1/150 DATA(-2, -2, 1) - 1/150 DATA(-1, -2, 1)
+
+ - 1/150 DATA(1, -2, 1) - 1/150 DATA(0, -2, 1) - 1/150 DATA(2, -2, 1)
+
+ - 1/150 DATA(-2, -1, 1) - 1/150 DATA(-2, 0, 1) - 1/150 DATA(-2, 1, 1)
+
+ 4
+ - 1/150 DATA(-2, 2, 1) + 1/600 DATA(-2, -2, 2)) z + (
+
+ - 1/150 DATA(-1, 1, -1) + 1/100 DATA(0, 1, -1) - 1/150 DATA(1, 1, -1)
+
+ - 1/150 DATA(-1, -1, 0) + 1/100 DATA(0, -1, 0) - 1/150 DATA(1, -1, 0)
+
+ - 1/150 DATA(-1, 0, 0) - 1/150 DATA(-1, 1, 0) - 1/150 DATA(-1, 1, 1)
+
+ - 1/150 DATA(-1, 0, 1) - 1/150 DATA(1, -1, 1) - 1/150 DATA(-1, -1, 1)
+
+ + 1/100 DATA(0, -1, 1) - 1/150 DATA(-1, -2, 2) + 1/100 DATA(0, -2, 2)
+
+ - 1/150 DATA(-1, 0, -1) + 1/100 DATA(0, 0, -1) - 1/150 DATA(1, 0, -1)
+
+ + 1/100 DATA(0, 0, 0) - 1/150 DATA(1, 0, 0) + 1/100 DATA(0, 1, 0)
+
+ - 1/150 DATA(1, 1, 0) + 1/100 DATA(0, 0, 1) - 1/150 DATA(1, -2, 2)
+
+ + 1/600 DATA(-2, -1, 2) + 1/600 DATA(2, -2, 2) + 1/600 DATA(-2, 0, 2)
+
+ + 1/600 DATA(-2, 1, 2) - 1/150 DATA(1, 0, 1) + 1/100 DATA(0, 1, 1)
+
+ - 1/150 DATA(1, 1, 1) + 1/600 DATA(-2, 2, 2) - 1/150 DATA(-1, -1, -1)
+
+ + 1/100 DATA(0, -1, -1) - 1/150 DATA(1, 2, -1) + 1/600 DATA(2, 1, -1)
+
+ - 1/150 DATA(-1, 2, -1) + 1/100 DATA(0, 2, -1) + 1/600 DATA(2, -1, -1)
+
+ + 1/600 DATA(2, 0, -1) + 1/600 DATA(2, 1, 1) - 1/150 DATA(-1, 2, 1)
+
+ + 1/100 DATA(0, 2, 1) - 1/150 DATA(1, 2, 1) + 1/600 DATA(2, -1, 1)
+
+ + 1/600 DATA(2, 0, 1) - 1/150 DATA(1, -1, -1) - 1/150 DATA(1, 2, 0)
+
+ + 1/600 DATA(2, 2, 0) + 1/600 DATA(2, 1, 0) - 1/150 DATA(-1, 2, 0)
+
+ + 1/100 DATA(0, 2, 0) + 1/600 DATA(2, -1, 0) + 1/600 DATA(2, 0, 0)
+
+ + 1/600 DATA(2, 2, -1) - 1/150 DATA(1, 2, 2) + 1/600 DATA(-2, -1, -2)
+
+ + 1/600 DATA(2, 2, 2) + 1/600 DATA(2, -2, -2) - 1/150 DATA(1, -2, -2)
+
+ - 1/150 DATA(1, 1, 2) + 1/600 DATA(2, 1, 2) - 1/150 DATA(-1, 2, 2)
+
+ + 1/100 DATA(0, 2, 2) + 1/100 DATA(0, -2, -2) - 1/150 DATA(-1, -2, -2)
+
+ - 1/150 DATA(1, 0, 2) + 1/600 DATA(2, 0, 2) - 1/150 DATA(-1, 1, 2)
+
+ + 1/100 DATA(0, 1, 2) + 1/600 DATA(-2, -2, -2) - 1/150 DATA(1, -1, 2)
+
+ + 1/600 DATA(2, -1, 2) - 1/150 DATA(-1, 0, 2) + 1/100 DATA(0, 0, 2)
+
+ - 1/150 DATA(-1, -1, 2) + 1/100 DATA(0, -1, 2) + 1/600 DATA(2, 2, 1)
+
+ + 1/600 DATA(-2, 2, -2) + 1/600 DATA(2, 1, -2) - 1/150 DATA(1, 1, -2)
+
+ + 1/100 DATA(0, 1, -2) - 1/150 DATA(-1, 1, -2) + 1/600 DATA(-2, 1, -2)
+
+ + 1/600 DATA(2, 0, -2) + 1/100 DATA(0, 0, -2) - 1/150 DATA(1, 0, -2)
+
+ - 1/150 DATA(-1, 0, -2) + 1/600 DATA(-2, 0, -2) + 1/600 DATA(2, -1, -2)
+
+ - 1/150 DATA(1, -1, -2) + 1/100 DATA(0, -1, -2) - 1/150 DATA(-1, -1, -2)
+
+ + 1/600 DATA(2, -2, -1) - 1/150 DATA(1, -2, -1) + 1/100 DATA(0, -2, -1)
+
+ - 1/150 DATA(-1, -2, -1) + 1/600 DATA(-2, -2, -1) + 1/600 DATA(2, 2, -2)
+
+ - 1/150 DATA(1, 2, -2) + 1/100 DATA(0, 2, -2) - 1/150 DATA(-1, 2, -2)
+
+ + 1/600 DATA(-2, 1, -1) + 1/600 DATA(-2, 0, -1) + 1/600 DATA(-2, -1, -1)
+
+ + 1/600 DATA(-2, 2, -1) + 1/100 DATA(0, -2, 0) - 1/150 DATA(-1, -2, 0)
+
+ + 1/600 DATA(-2, -2, 0) + 1/600 DATA(-2, 0, 0) + 1/600 DATA(-2, -1, 0)
+
+ + 1/600 DATA(2, -2, 0) - 1/150 DATA(1, -2, 0) + 1/600 DATA(-2, 1, 0)
+
+ + 1/600 DATA(-2, 2, 0) + 1/600 DATA(-2, -2, 1) - 1/150 DATA(-1, -2, 1)
+
+ - 1/150 DATA(1, -2, 1) + 1/100 DATA(0, -2, 1) + 1/600 DATA(2, -2, 1)
+
+ + 1/600 DATA(-2, -1, 1) + 1/600 DATA(-2, 0, 1) + 1/600 DATA(-2, 1, 1)
+
+ 4
+ + 1/600 DATA(-2, 2, 1) + 1/600 DATA(-2, -2, 2)) x + (
+
+ - 1/150 DATA(-1, 1, -1) - 1/150 DATA(0, 1, -1) - 1/150 DATA(1, 1, -1)
+
+ - 1/150 DATA(-1, -1, 0) - 1/150 DATA(0, -1, 0) - 1/150 DATA(1, -1, 0)
+
+ + 1/100 DATA(-1, 0, 0) - 1/150 DATA(-1, 1, 0) - 1/150 DATA(-1, 1, 1)
+
+ + 1/100 DATA(-1, 0, 1) - 1/150 DATA(1, -1, 1) - 1/150 DATA(-1, -1, 1)
+
+ - 1/150 DATA(0, -1, 1) + 1/600 DATA(-1, -2, 2) + 1/600 DATA(0, -2, 2)
+
+ + 1/100 DATA(-1, 0, -1) + 1/100 DATA(0, 0, -1) + 1/100 DATA(1, 0, -1)
+
+ + 1/100 DATA(0, 0, 0) + 1/100 DATA(1, 0, 0) - 1/150 DATA(0, 1, 0)
+
+ - 1/150 DATA(1, 1, 0) + 1/100 DATA(0, 0, 1) + 1/600 DATA(1, -2, 2)
+
+ - 1/150 DATA(-2, -1, 2) + 1/600 DATA(2, -2, 2) + 1/100 DATA(-2, 0, 2)
+
+ - 1/150 DATA(-2, 1, 2) + 1/100 DATA(1, 0, 1) - 1/150 DATA(0, 1, 1)
+
+ - 1/150 DATA(1, 1, 1) + 1/600 DATA(-2, 2, 2) - 1/150 DATA(-1, -1, -1)
+
+ - 1/150 DATA(0, -1, -1) + 1/600 DATA(1, 2, -1) - 1/150 DATA(2, 1, -1)
+
+ + 1/600 DATA(-1, 2, -1) + 1/600 DATA(0, 2, -1) - 1/150 DATA(2, -1, -1)
+
+ + 1/100 DATA(2, 0, -1) - 1/150 DATA(2, 1, 1) + 1/600 DATA(-1, 2, 1)
+
+ + 1/600 DATA(0, 2, 1) + 1/600 DATA(1, 2, 1) - 1/150 DATA(2, -1, 1)
+
+ + 1/100 DATA(2, 0, 1) - 1/150 DATA(1, -1, -1) + 1/600 DATA(1, 2, 0)
+
+ + 1/600 DATA(2, 2, 0) - 1/150 DATA(2, 1, 0) + 1/600 DATA(-1, 2, 0)
+
+ + 1/600 DATA(0, 2, 0) - 1/150 DATA(2, -1, 0) + 1/100 DATA(2, 0, 0)
+
+ + 1/600 DATA(2, 2, -1) + 1/600 DATA(1, 2, 2) - 1/150 DATA(-2, -1, -2)
+
+ + 1/600 DATA(2, 2, 2) + 1/600 DATA(2, -2, -2) + 1/600 DATA(1, -2, -2)
+
+ - 1/150 DATA(1, 1, 2) - 1/150 DATA(2, 1, 2) + 1/600 DATA(-1, 2, 2)
+
+ + 1/600 DATA(0, 2, 2) + 1/600 DATA(0, -2, -2) + 1/600 DATA(-1, -2, -2)
+
+ + 1/100 DATA(1, 0, 2) + 1/100 DATA(2, 0, 2) - 1/150 DATA(-1, 1, 2)
+
+ - 1/150 DATA(0, 1, 2) + 1/600 DATA(-2, -2, -2) - 1/150 DATA(1, -1, 2)
+
+ - 1/150 DATA(2, -1, 2) + 1/100 DATA(-1, 0, 2) + 1/100 DATA(0, 0, 2)
+
+ - 1/150 DATA(-1, -1, 2) - 1/150 DATA(0, -1, 2) + 1/600 DATA(2, 2, 1)
+
+ + 1/600 DATA(-2, 2, -2) - 1/150 DATA(2, 1, -2) - 1/150 DATA(1, 1, -2)
+
+ - 1/150 DATA(0, 1, -2) - 1/150 DATA(-1, 1, -2) - 1/150 DATA(-2, 1, -2)
+
+ + 1/100 DATA(2, 0, -2) + 1/100 DATA(0, 0, -2) + 1/100 DATA(1, 0, -2)
+
+ + 1/100 DATA(-1, 0, -2) + 1/100 DATA(-2, 0, -2) - 1/150 DATA(2, -1, -2)
+
+ - 1/150 DATA(1, -1, -2) - 1/150 DATA(0, -1, -2) - 1/150 DATA(-1, -1, -2)
+
+ + 1/600 DATA(2, -2, -1) + 1/600 DATA(1, -2, -1) + 1/600 DATA(0, -2, -1)
+
+ + 1/600 DATA(-1, -2, -1) + 1/600 DATA(-2, -2, -1) + 1/600 DATA(2, 2, -2)
+
+ + 1/600 DATA(1, 2, -2) + 1/600 DATA(0, 2, -2) + 1/600 DATA(-1, 2, -2)
+
+ - 1/150 DATA(-2, 1, -1) + 1/100 DATA(-2, 0, -1) - 1/150 DATA(-2, -1, -1)
+
+ + 1/600 DATA(-2, 2, -1) + 1/600 DATA(0, -2, 0) + 1/600 DATA(-1, -2, 0)
+
+ + 1/600 DATA(-2, -2, 0) + 1/100 DATA(-2, 0, 0) - 1/150 DATA(-2, -1, 0)
+
+ + 1/600 DATA(2, -2, 0) + 1/600 DATA(1, -2, 0) - 1/150 DATA(-2, 1, 0)
+
+ + 1/600 DATA(-2, 2, 0) + 1/600 DATA(-2, -2, 1) + 1/600 DATA(-1, -2, 1)
+
+ + 1/600 DATA(1, -2, 1) + 1/600 DATA(0, -2, 1) + 1/600 DATA(2, -2, 1)
+
+ - 1/150 DATA(-2, -1, 1) + 1/100 DATA(-2, 0, 1) - 1/150 DATA(-2, 1, 1)
+
+ 4 23
+ + 1/600 DATA(-2, 2, 1) + 1/600 DATA(-2, -2, 2)) y - ---- DATA(-1, -1, -1)
+ 6125
+
+ 272 173 173
+ + ---- DATA(0, -1, -1) - ---- DATA(1, 2, -1) - ---- DATA(2, 1, -1)
+ 6125 6125 6125
+
+ 173 47 173
+ - ---- DATA(-1, 2, -1) + ---- DATA(0, 2, -1) - ---- DATA(2, -1, -1)
+ 6125 6125 6125
+
+ 47
+ + ---- DATA(2, 0, -1) + (1/150 DATA(-1, 1, -1) - 1/150 DATA(1, 1, -1)
+ 6125
+
+ + 1/150 DATA(-1, -1, 0) - 1/150 DATA(1, -1, 0) + 1/150 DATA(-1, 0, 0)
+
+ + 1/150 DATA(-1, 1, 0) + 1/150 DATA(-1, 1, 1) + 1/150 DATA(-1, 0, 1)
+
+ - 1/150 DATA(1, -1, 1) + 1/150 DATA(-1, -1, 1) + 1/150 DATA(-1, -2, 2)
+
+ + 1/150 DATA(-1, 0, -1) - 1/150 DATA(1, 0, -1) - 1/150 DATA(1, 0, 0)
+
+ - 1/150 DATA(1, 1, 0) - 1/150 DATA(1, -2, 2) - 1/300 DATA(-2, -1, 2)
+
+ + 1/300 DATA(2, -2, 2) - 1/300 DATA(-2, 0, 2) - 1/300 DATA(-2, 1, 2)
+
+ - 1/150 DATA(1, 0, 1) - 1/150 DATA(1, 1, 1) - 1/300 DATA(-2, 2, 2)
+
+ + 1/150 DATA(-1, -1, -1) - 1/150 DATA(1, 2, -1) + 1/300 DATA(2, 1, -1)
+
+ + 1/150 DATA(-1, 2, -1) + 1/300 DATA(2, -1, -1) + 1/300 DATA(2, 0, -1)
+
+ + 1/300 DATA(2, 1, 1) + 1/150 DATA(-1, 2, 1) - 1/150 DATA(1, 2, 1)
+
+ + 1/300 DATA(2, -1, 1) + 1/300 DATA(2, 0, 1) - 1/150 DATA(1, -1, -1)
+
+ - 1/150 DATA(1, 2, 0) + 1/300 DATA(2, 2, 0) + 1/300 DATA(2, 1, 0)
+
+ + 1/150 DATA(-1, 2, 0) + 1/300 DATA(2, -1, 0) + 1/300 DATA(2, 0, 0)
+
+ + 1/300 DATA(2, 2, -1) - 1/150 DATA(1, 2, 2) - 1/300 DATA(-2, -1, -2)
+
+ + 1/300 DATA(2, 2, 2) + 1/300 DATA(2, -2, -2) - 1/150 DATA(1, -2, -2)
+
+ - 1/150 DATA(1, 1, 2) + 1/300 DATA(2, 1, 2) + 1/150 DATA(-1, 2, 2)
+
+ + 1/150 DATA(-1, -2, -2) - 1/150 DATA(1, 0, 2) + 1/300 DATA(2, 0, 2)
+
+ + 1/150 DATA(-1, 1, 2) - 1/300 DATA(-2, -2, -2) - 1/150 DATA(1, -1, 2)
+
+ + 1/300 DATA(2, -1, 2) + 1/150 DATA(-1, 0, 2) + 1/150 DATA(-1, -1, 2)
+
+ + 1/300 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2) + 1/300 DATA(2, 1, -2)
+
+ - 1/150 DATA(1, 1, -2) + 1/150 DATA(-1, 1, -2) - 1/300 DATA(-2, 1, -2)
+
+ + 1/300 DATA(2, 0, -2) - 1/150 DATA(1, 0, -2) + 1/150 DATA(-1, 0, -2)
+
+ - 1/300 DATA(-2, 0, -2) + 1/300 DATA(2, -1, -2) - 1/150 DATA(1, -1, -2)
+
+ + 1/150 DATA(-1, -1, -2) + 1/300 DATA(2, -2, -1) - 1/150 DATA(1, -2, -1)
+
+ + 1/150 DATA(-1, -2, -1) - 1/300 DATA(-2, -2, -1) + 1/300 DATA(2, 2, -2)
+
+ - 1/150 DATA(1, 2, -2) + 1/150 DATA(-1, 2, -2) - 1/300 DATA(-2, 1, -1)
+
+ - 1/300 DATA(-2, 0, -1) - 1/300 DATA(-2, -1, -1) - 1/300 DATA(-2, 2, -1)
+
+ + 1/150 DATA(-1, -2, 0) - 1/300 DATA(-2, -2, 0) - 1/300 DATA(-2, 0, 0)
+
+ - 1/300 DATA(-2, -1, 0) + 1/300 DATA(2, -2, 0) - 1/150 DATA(1, -2, 0)
+
+ - 1/300 DATA(-2, 1, 0) - 1/300 DATA(-2, 2, 0) - 1/300 DATA(-2, -2, 1)
+
+ + 1/150 DATA(-1, -2, 1) - 1/150 DATA(1, -2, 1) + 1/300 DATA(2, -2, 1)
+
+ - 1/300 DATA(-2, -1, 1) - 1/300 DATA(-2, 0, 1) - 1/300 DATA(-2, 1, 1)
+
+ 3
+ - 1/300 DATA(-2, 2, 1) - 1/300 DATA(-2, -2, 2)) x + (
+
+ 1/150 DATA(-1, 1, -1) + 1/150 DATA(0, 1, -1) + 1/150 DATA(1, 1, -1)
+
+ - 1/150 DATA(-1, 1, 1) - 1/150 DATA(-1, 0, 1) - 1/150 DATA(1, -1, 1)
+
+ - 1/150 DATA(-1, -1, 1) - 1/150 DATA(0, -1, 1) + 1/300 DATA(-1, -2, 2)
+
+ + 1/300 DATA(0, -2, 2) + 1/150 DATA(-1, 0, -1) + 1/150 DATA(0, 0, -1)
+
+ + 1/150 DATA(1, 0, -1) - 1/150 DATA(0, 0, 1) + 1/300 DATA(1, -2, 2)
+
+ + 1/300 DATA(-2, -1, 2) + 1/300 DATA(2, -2, 2) + 1/300 DATA(-2, 0, 2)
+
+ + 1/300 DATA(-2, 1, 2) - 1/150 DATA(1, 0, 1) - 1/150 DATA(0, 1, 1)
+
+ - 1/150 DATA(1, 1, 1) + 1/300 DATA(-2, 2, 2) + 1/150 DATA(-1, -1, -1)
+
+ + 1/150 DATA(0, -1, -1) + 1/150 DATA(1, 2, -1) + 1/150 DATA(2, 1, -1)
+
+ + 1/150 DATA(-1, 2, -1) + 1/150 DATA(0, 2, -1) + 1/150 DATA(2, -1, -1)
+
+ + 1/150 DATA(2, 0, -1) - 1/150 DATA(2, 1, 1) - 1/150 DATA(-1, 2, 1)
+
+ - 1/150 DATA(0, 2, 1) - 1/150 DATA(1, 2, 1) - 1/150 DATA(2, -1, 1)
+
+ - 1/150 DATA(2, 0, 1) + 1/150 DATA(1, -1, -1) + 1/150 DATA(2, 2, -1)
+
+ + 1/300 DATA(1, 2, 2) - 1/300 DATA(-2, -1, -2) + 1/300 DATA(2, 2, 2)
+
+ - 1/300 DATA(2, -2, -2) - 1/300 DATA(1, -2, -2) + 1/300 DATA(1, 1, 2)
+
+ + 1/300 DATA(2, 1, 2) + 1/300 DATA(-1, 2, 2) + 1/300 DATA(0, 2, 2)
+
+ - 1/300 DATA(0, -2, -2) - 1/300 DATA(-1, -2, -2) + 1/300 DATA(1, 0, 2)
+
+ + 1/300 DATA(2, 0, 2) + 1/300 DATA(-1, 1, 2) + 1/300 DATA(0, 1, 2)
+
+ - 1/300 DATA(-2, -2, -2) + 1/300 DATA(1, -1, 2) + 1/300 DATA(2, -1, 2)
+
+ + 1/300 DATA(-1, 0, 2) + 1/300 DATA(0, 0, 2) + 1/300 DATA(-1, -1, 2)
+
+ + 1/300 DATA(0, -1, 2) - 1/150 DATA(2, 2, 1) - 1/300 DATA(-2, 2, -2)
+
+ - 1/300 DATA(2, 1, -2) - 1/300 DATA(1, 1, -2) - 1/300 DATA(0, 1, -2)
+
+ - 1/300 DATA(-1, 1, -2) - 1/300 DATA(-2, 1, -2) - 1/300 DATA(2, 0, -2)
+
+ - 1/300 DATA(0, 0, -2) - 1/300 DATA(1, 0, -2) - 1/300 DATA(-1, 0, -2)
+
+ - 1/300 DATA(-2, 0, -2) - 1/300 DATA(2, -1, -2) - 1/300 DATA(1, -1, -2)
+
+ - 1/300 DATA(0, -1, -2) - 1/300 DATA(-1, -1, -2) + 1/150 DATA(2, -2, -1)
+
+ + 1/150 DATA(1, -2, -1) + 1/150 DATA(0, -2, -1) + 1/150 DATA(-1, -2, -1)
+
+ + 1/150 DATA(-2, -2, -1) - 1/300 DATA(2, 2, -2) - 1/300 DATA(1, 2, -2)
+
+ - 1/300 DATA(0, 2, -2) - 1/300 DATA(-1, 2, -2) + 1/150 DATA(-2, 1, -1)
+
+ + 1/150 DATA(-2, 0, -1) + 1/150 DATA(-2, -1, -1) + 1/150 DATA(-2, 2, -1)
+
+ - 1/150 DATA(-2, -2, 1) - 1/150 DATA(-1, -2, 1) - 1/150 DATA(1, -2, 1)
+
+ - 1/150 DATA(0, -2, 1) - 1/150 DATA(2, -2, 1) - 1/150 DATA(-2, -1, 1)
+
+ - 1/150 DATA(-2, 0, 1) - 1/150 DATA(-2, 1, 1) - 1/150 DATA(-2, 2, 1)
+
+ 3 173 173
+ + 1/300 DATA(-2, -2, 2)) z - ---- DATA(2, 1, 1) - ---- DATA(-1, 2, 1)
+ 6125 6125
+
+ 47 173 173
+ + ---- DATA(0, 2, 1) - ---- DATA(1, 2, 1) - ---- DATA(2, -1, 1)
+ 6125 6125 6125
+
+ 47 23 47
+ + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1) + ---- DATA(1, 2, 0)
+ 6125 6125 6125
+
+ 47 47 47
+ + ---- DATA(2, 2, 0) + ---- DATA(2, 1, 0) + ---- DATA(-1, 2, 0)
+ 6125 6125 6125
+
+ 292 47 292
+ + ---- DATA(0, 2, 0) + ---- DATA(2, -1, 0) + ---- DATA(2, 0, 0)
+ 6125 6125 6125
+
+ - 2/125 DATA(2, 2, -1) - 2/125 DATA(1, 2, 2) - 2/125 DATA(-2, -1, -2)
+
+ 202 202
+ + ---- DATA(2, 2, 2) + ---- DATA(2, -2, -2) - 2/125 DATA(1, -2, -2)
+ 6125 6125
+
+ 173
+ - ---- DATA(1, 1, 2) - 2/125 DATA(2, 1, 2) - 2/125 DATA(-1, 2, 2)
+ 6125
+
+ 47 47
+ + ---- DATA(0, 2, 2) + ---- DATA(0, -2, -2) - 2/125 DATA(-1, -2, -2)
+ 6125 6125
+
+ 47 47 173
+ + ---- DATA(1, 0, 2) + ---- DATA(2, 0, 2) - ---- DATA(-1, 1, 2)
+ 6125 6125 6125
+
+ 47 202 173
+ + ---- DATA(0, 1, 2) + ---- DATA(-2, -2, -2) - ---- DATA(1, -1, 2)
+ 6125 6125 6125
+
+ 47 292
+ - 2/125 DATA(2, -1, 2) + ---- DATA(-1, 0, 2) + ---- DATA(0, 0, 2)
+ 6125 6125
+
+ 173 47
+ - ---- DATA(-1, -1, 2) + ---- DATA(0, -1, 2) - 2/125 DATA(2, 2, 1)
+ 6125 6125
+
+ 202 173
+ + ---- DATA(-2, 2, -2) - 2/125 DATA(2, 1, -2) - ---- DATA(1, 1, -2)
+ 6125 6125
+
+ 47 173
+ + ---- DATA(0, 1, -2) - ---- DATA(-1, 1, -2) - 2/125 DATA(-2, 1, -2)
+ 6125 6125
+
+ 47 292 47
+ + ---- DATA(2, 0, -2) + ---- DATA(0, 0, -2) + ---- DATA(1, 0, -2)
+ 6125 6125 6125
+
+ 47 47
+ + ---- DATA(-1, 0, -2) + ---- DATA(-2, 0, -2) - 2/125 DATA(2, -1, -2)
+ 6125 6125
+
+ 173 47 173
+ - ---- DATA(1, -1, -2) + ---- DATA(0, -1, -2) - ---- DATA(-1, -1, -2)
+ 6125 6125 6125
+
+ 173 47
+ - 2/125 DATA(2, -2, -1) - ---- DATA(1, -2, -1) + ---- DATA(0, -2, -1)
+ 6125 6125
+
+ 173 202
+ - ---- DATA(-1, -2, -1) - 2/125 DATA(-2, -2, -1) + ---- DATA(2, 2, -2)
+ 6125 6125
+
+ 47
+ - 2/125 DATA(1, 2, -2) + ---- DATA(0, 2, -2) - 2/125 DATA(-1, 2, -2)
+ 6125
+
+ 173 47 173
+ - ---- DATA(-2, 1, -1) + ---- DATA(-2, 0, -1) - ---- DATA(-2, -1, -1)
+ 6125 6125 6125
+
+ 292 47
+ - 2/125 DATA(-2, 2, -1) + ---- DATA(0, -2, 0) + ---- DATA(-1, -2, 0)
+ 6125 6125
+
+ 47 292 47
+ + ---- DATA(-2, -2, 0) + ---- DATA(-2, 0, 0) + ---- DATA(-2, -1, 0)
+ 6125 6125 6125
+
+ 47 47 47
+ + ---- DATA(2, -2, 0) + ---- DATA(1, -2, 0) + ---- DATA(-2, 1, 0)
+ 6125 6125 6125
+
+ 47 / 83
+ + ---- DATA(-2, 2, 0) - 2/125 DATA(-2, -2, 1) + |---- DATA(-1, 1, -1)
+ 6125 \3675
+
+ 57 83 151
+ - --- DATA(0, 1, -1) + ---- DATA(1, 1, -1) + ---- DATA(-1, -1, 0)
+ 980 3675 7350
+
+ 61 151 68
+ - --- DATA(0, -1, 0) + ---- DATA(1, -1, 0) + ---- DATA(-1, 0, 0)
+ 980 7350 3675
+
+ 151 83 151
+ + ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1)
+ 7350 3675 7350
+
+ 83 83 57
+ + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1) - --- DATA(0, -1, 1)
+ 3675 3675 980
+
+ 128 33 151
+ + ---- DATA(-1, -2, 2) - --- DATA(0, -2, 2) + ---- DATA(-1, 0, -1)
+ 3675 980 7350
+
+ 61 151 13
+ - --- DATA(0, 0, -1) + ---- DATA(1, 0, -1) - --- DATA(0, 0, 0)
+ 980 7350 196
+
+ 68 61 151
+ + ---- DATA(1, 0, 0) - --- DATA(0, 1, 0) + ---- DATA(1, 1, 0)
+ 3675 980 7350
+
+ 61 128 169
+ - --- DATA(0, 0, 1) + ---- DATA(1, -2, 2) - ----- DATA(-2, -1, 2)
+ 980 3675 29400
+
+ 529 169
+ - ----- DATA(2, -2, 2) - 1/600 DATA(-2, 0, 2) - ----- DATA(-2, 1, 2)
+ 29400 29400
+
+ 151 57 83
+ + ---- DATA(1, 0, 1) - --- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 7350 980 3675
+
+ 529 83 57
+ - ----- DATA(-2, 2, 2) + ---- DATA(-1, -1, -1) - --- DATA(0, -1, -1)
+ 29400 3675 980
+
+ 211 191 211
+ + ---- DATA(1, 2, -1) + ----- DATA(2, 1, -1) + ---- DATA(-1, 2, -1)
+ 7350 29400 7350
+
+ 191 311
+ - 9/196 DATA(0, 2, -1) + ----- DATA(2, -1, -1) + ----- DATA(2, 0, -1)
+ 29400 29400
+
+ 191 211
+ + ----- DATA(2, 1, 1) + ---- DATA(-1, 2, 1) - 9/196 DATA(0, 2, 1)
+ 29400 7350
+
+ 211 191 311
+ + ---- DATA(1, 2, 1) + ----- DATA(2, -1, 1) + ----- DATA(2, 0, 1)
+ 7350 29400 29400
+
+ 83
+ + ---- DATA(1, -1, -1) + 2/75 DATA(1, 2, 0) - 1/600 DATA(2, 2, 0)
+ 3675
+
+ 311
+ + ----- DATA(2, 1, 0) + 2/75 DATA(-1, 2, 0) - 1/20 DATA(0, 2, 0)
+ 29400
+
+ 311 431 169
+ + ----- DATA(2, -1, 0) + ----- DATA(2, 0, 0) - ----- DATA(2, 2, -1)
+ 29400 29400 29400
+
+ 128 169 529
+ + ---- DATA(1, 2, 2) - ----- DATA(-2, -1, -2) - ----- DATA(2, 2, 2)
+ 3675 29400 29400
+
+ 529 128 211
+ - ----- DATA(2, -2, -2) + ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 29400 3675 7350
+
+ 169 128 33
+ - ----- DATA(2, 1, 2) + ---- DATA(-1, 2, 2) - --- DATA(0, 2, 2)
+ 29400 3675 980
+
+ 33 128
+ - --- DATA(0, -2, -2) + ---- DATA(-1, -2, -2) + 2/75 DATA(1, 0, 2)
+ 980 3675
+
+ 211
+ - 1/600 DATA(2, 0, 2) + ---- DATA(-1, 1, 2) - 9/196 DATA(0, 1, 2)
+ 7350
+
+ 529 211 169
+ - ----- DATA(-2, -2, -2) + ---- DATA(1, -1, 2) - ----- DATA(2, -1, 2)
+ 29400 7350 29400
+
+ 211
+ + 2/75 DATA(-1, 0, 2) - 1/20 DATA(0, 0, 2) + ---- DATA(-1, -1, 2)
+ 7350
+
+ 169 529
+ - 9/196 DATA(0, -1, 2) - ----- DATA(2, 2, 1) - ----- DATA(-2, 2, -2)
+ 29400 29400
+
+ 169 211
+ - ----- DATA(2, 1, -2) + ---- DATA(1, 1, -2) - 9/196 DATA(0, 1, -2)
+ 29400 7350
+
+ 211 169
+ + ---- DATA(-1, 1, -2) - ----- DATA(-2, 1, -2) - 1/600 DATA(2, 0, -2)
+ 7350 29400
+
+ - 1/20 DATA(0, 0, -2) + 2/75 DATA(1, 0, -2) + 2/75 DATA(-1, 0, -2)
+
+ 169 211
+ - 1/600 DATA(-2, 0, -2) - ----- DATA(2, -1, -2) + ---- DATA(1, -1, -2)
+ 29400 7350
+
+ 211 169
+ - 9/196 DATA(0, -1, -2) + ---- DATA(-1, -1, -2) - ----- DATA(2, -2, -1)
+ 7350 29400
+
+ 211 211
+ + ---- DATA(1, -2, -1) - 9/196 DATA(0, -2, -1) + ---- DATA(-1, -2, -1)
+ 7350 7350
+
+ 169 529 128
+ - ----- DATA(-2, -2, -1) - ----- DATA(2, 2, -2) + ---- DATA(1, 2, -2)
+ 29400 29400 3675
+
+ 33 128 191
+ - --- DATA(0, 2, -2) + ---- DATA(-1, 2, -2) + ----- DATA(-2, 1, -1)
+ 980 3675 29400
+
+ 311 191 169
+ + ----- DATA(-2, 0, -1) + ----- DATA(-2, -1, -1) - ----- DATA(-2, 2, -1)
+ 29400 29400 29400
+
+ - 1/20 DATA(0, -2, 0) + 2/75 DATA(-1, -2, 0) - 1/600 DATA(-2, -2, 0)
+
+ 431 311
+ + ----- DATA(-2, 0, 0) + ----- DATA(-2, -1, 0) - 1/600 DATA(2, -2, 0)
+ 29400 29400
+
+ 311
+ + 2/75 DATA(1, -2, 0) + ----- DATA(-2, 1, 0) - 1/600 DATA(-2, 2, 0)
+ 29400
+
+ 169 211 211
+ - ----- DATA(-2, -2, 1) + ---- DATA(-1, -2, 1) + ---- DATA(1, -2, 1)
+ 29400 7350 7350
+
+ 169 191
+ - 9/196 DATA(0, -2, 1) - ----- DATA(2, -2, 1) + ----- DATA(-2, -1, 1)
+ 29400 29400
+
+ 311 191 169
+ + ----- DATA(-2, 0, 1) + ----- DATA(-2, 1, 1) - ----- DATA(-2, 2, 1)
+ 29400 29400 29400
+
+ 529 \ 2 173 173
+ - ----- DATA(-2, -2, 2)| x - ---- DATA(-1, -2, 1) - ---- DATA(1, -2, 1)
+ 29400 / 6125 6125
+
+ 47 173
+ + ---- DATA(0, -2, 1) - 2/125 DATA(2, -2, 1) - ---- DATA(-2, -1, 1)
+ 6125 6125
+
+ 47 173
+ + ---- DATA(-2, 0, 1) - ---- DATA(-2, 1, 1) - 2/125 DATA(-2, 2, 1)
+ 6125 6125
+
+ 202
+ + ---- DATA(-2, -2, 2)
+ 6125
+
+>
+# I
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=691971756, alloc=4783252, time=72.27
+bytes used=692972088, alloc=4783252, time=72.35
+bytes used=694025408, alloc=4783252, time=72.43
+bytes used=695101396, alloc=4783252, time=72.50
+bytes used=696101512, alloc=4783252, time=72.58
+bytes used=697149588, alloc=4783252, time=72.67
+bytes used=698150188, alloc=4783252, time=72.74
+bytes used=699317088, alloc=4783252, time=72.84
+bytes used=700317476, alloc=4783252, time=72.91
+bytes used=701388852, alloc=4783252, time=72.99
+bytes used=702495168, alloc=4783252, time=73.09
+bytes used=703495392, alloc=4783252, time=73.18
+bytes used=704527724, alloc=4783252, time=73.28
+bytes used=705528140, alloc=4783252, time=73.36
+bytes used=706568892, alloc=4783252, time=73.46
+bytes used=707569140, alloc=4783252, time=73.55
+bytes used=708700932, alloc=4783252, time=73.64
+bytes used=709755956, alloc=4783252, time=73.73
+bytes used=710944504, alloc=4783252, time=73.84
+bytes used=711944780, alloc=4783252, time=73.94
+bytes used=712984132, alloc=4783252, time=74.03
+bytes used=714086972, alloc=4783252, time=74.12
+bytes used=715163944, alloc=4783252, time=74.22
+bytes used=716164312, alloc=4783252, time=74.31
+bytes used=717164620, alloc=4783252, time=74.40
+bytes used=718184008, alloc=4783252, time=74.50
+bytes used=719184428, alloc=4783252, time=74.59
+bytes used=720184692, alloc=4783252, time=74.68
+bytes used=721184888, alloc=4783252, time=74.78
+bytes used=722186120, alloc=4979824, time=74.88
+bytes used=723258944, alloc=5045348, time=74.98
+bytes used=724347388, alloc=5504016, time=75.08
+bytes used=725477564, alloc=5569540, time=75.18
+bytes used=726548664, alloc=5635064, time=75.29
+bytes used=727573676, alloc=5700588, time=75.39
+bytes used=728574056, alloc=5766112, time=75.49
+bytes used=729574184, alloc=5831636, time=75.59
+bytes used=730684988, alloc=5962684, time=75.69
+bytes used=731753244, alloc=6028208, time=75.80
+bytes used=732753524, alloc=6159256, time=75.90
+bytes used=733839216, alloc=6159256, time=76.00
+bytes used=734910196, alloc=6421352, time=76.10
+bytes used=735911656, alloc=6421352, time=76.20
+bytes used=736935036, alloc=6552400, time=76.30
+bytes used=737935208, alloc=6617924, time=76.40
+bytes used=738966628, alloc=6683448, time=76.51
+bytes used=740020884, alloc=6945544, time=76.58
+bytes used=741024712, alloc=6945544, time=76.64
+bytes used=742028420, alloc=6945544, time=76.70
+bytes used=743032128, alloc=6945544, time=76.76
+bytes used=744036020, alloc=6945544, time=76.82
+bytes used=745039912, alloc=6945544, time=76.88
+bytes used=746043740, alloc=6945544, time=76.94
+bytes used=747047448, alloc=6945544, time=77.00
+bytes used=748051156, alloc=6945544, time=77.05
+bytes used=749054864, alloc=6945544, time=77.11
+bytes used=750058572, alloc=6945544, time=77.17
+bytes used=751062464, alloc=6945544, time=77.23
+bytes used=752066356, alloc=6945544, time=77.30
+ 11 11 11 2 2
+[COEFF(-2, -2, -2) = --- x + --- y + --- z + 1/175 x y z + 1/175 x y z
+ 420 420 420
+
+ 2 529 2 529 2 529 2 3 3
+ + 1/175 x y z - ----- z - ----- y - ----- x - 1/300 x - 1/300 y
+ 29400 29400 29400
+
+ 3 4 4 4 202
+ - 1/300 z + 1/600 y + 1/600 x + 1/600 z + ---- - 1/125 x y z
+ 6125
+
+ 137 137 2 2 2 3 3
+ - ---- x z - ---- y z - 1/175 x z + 1/245 x z + 1/300 x z + 1/300 y z
+ 5250 5250
+
+ 3 2 2 2 3 2 2
+ + 1/300 x z + 1/245 y z - 1/175 y z + 1/300 x y + 1/245 x y
+
+ 137 2 2 2 2
+ - ---- x y - 1/175 y z - 1/175 x y - 1/175 x y - 1/175 x z
+ 5250
+
+ 3 3 19 19
+ + 1/300 x y + 1/300 y z, COEFF(-1, -2, -2) = - 8/525 x + ---- y + ---- z
+ 2100 2100
+
+ 2 2 2 169 2 169 2
+ - 1/350 x y z + 1/350 x y z + 1/350 x y z - ----- z - ----- y
+ 29400 29400
+
+ 128 2 3 3 3 4 4
+ + ---- x + 1/150 x - 1/300 y - 1/300 z + 1/600 y - 1/150 x
+ 3675
+
+ 4 107 47 2
+ + 1/600 z - 2/125 - 1/250 x y z + ---- x z - ---- y z - 1/350 x z
+ 7000 5250
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z + 1/600 x z + 1/300 y z - 1/150 x z + 1/245 y z
+
+ 2 3 2 2 107 2
+ - 1/175 y z - 1/150 x y - 1/490 x y + ---- x y - 1/175 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y - 1/350 x y + 1/350 x z + 1/600 x y + 1/300 y z,
+
+ 2 2 2 17 3
+ COEFF(0, -2, -2) = 1/245 y z - 1/175 y z + 1/300 y - ---- y z - 1/300 y
+ 5250
+
+ 2 2 2 2 2 2 4
+ - 1/245 x z + 1/175 x z + 1/175 x y - 1/245 x y + 1/100 x
+
+ 2 2 33 2 2 3
+ - 1/600 y - 1/175 y z + 1/300 z - --- x - 1/600 z - 1/300 z
+ 980
+
+ 3 4 2 3 4 47
+ + 1/300 y z + 1/600 y - 1/175 x y z + 1/300 y z + 1/600 z + ----,
+ 6125
+
+ 19 19 2 2
+ COEFF(1, -2, -2) = 8/525 x + ---- y + ---- z - 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 2 169 2 169 2 128 2 3 3
+ - 1/350 x y z - ----- z - ----- y + ---- x - 1/150 x - 1/300 y
+ 29400 29400 3675
+
+ 3 4 4 4
+ - 1/300 z + 1/600 y - 1/150 x + 1/600 z - 2/125 + 1/250 x y z
+
+ 107 47 2 2 2 3 3
+ - ---- x z - ---- y z + 1/350 x z - 1/490 x z - 1/600 x z + 1/300 y z
+ 7000 5250
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z + 1/245 y z - 1/175 y z + 1/150 x y - 1/490 x y
+
+ 107 2 2 2 2
+ - ---- x y - 1/175 y z + 1/350 x y + 1/350 x y + 1/350 x z
+ 7000
+
+ 3 3 11 11 11
+ - 1/600 x y + 1/300 y z, COEFF(2, -2, -2) = - --- x + --- y + --- z
+ 420 420 420
+
+ 2 2 2 529 2 529 2
+ + 1/175 x y z - 1/175 x y z - 1/175 x y z - ----- z - ----- y
+ 29400 29400
+
+ 529 2 3 3 3 4 4
+ - ----- x + 1/300 x - 1/300 y - 1/300 z + 1/600 y + 1/600 x
+ 29400
+
+ 4 202 137 137 2
+ + 1/600 z + ---- + 1/125 x y z + ---- x z - ---- y z + 1/175 x z
+ 6125 5250 5250
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z - 1/300 x z + 1/300 y z - 1/300 x z + 1/245 y z
+
+ 2 3 2 2 137 2
+ - 1/175 y z - 1/300 x y + 1/245 x y + ---- x y - 1/175 y z
+ 5250
+
+ 2 2 2 3 3
+ - 1/175 x y + 1/175 x y - 1/175 x z - 1/300 x y + 1/300 y z,
+
+ 19 19 2 2
+ COEFF(-2, -1, -2) = ---- x - 8/525 y + ---- z + 1/350 x y z + 1/350 x y z
+ 2100 2100
+
+ 2 169 2 128 2 169 2 3 3
+ - 1/350 x y z - ----- z + ---- y - ----- x - 1/300 x + 1/150 y
+ 29400 3675 29400
+
+ 3 4 4 4
+ - 1/300 z - 1/150 y + 1/600 x + 1/600 z - 2/125 - 1/250 x y z
+
+ 47 107 2 2 2 3 3
+ - ---- x z + ---- y z - 1/175 x z + 1/245 x z + 1/300 x z + 1/600 y z
+ 5250 7000
+
+ 3 2 2 2 3 2 2
+ + 1/300 x z - 1/490 y z - 1/350 y z + 1/600 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y + 1/350 y z - 1/350 x y + 1/350 x y - 1/175 x z
+ 7000
+
+ 3 3 17
+ - 1/150 x y - 1/150 y z, COEFF(-1, -1, -2) = - 1/42 x - 1/42 y - ---- z
+ 2100
+
+ 2 2 2 191 2 211 2
+ - 1/700 x y z + 1/700 x y z - 1/700 x y z + ----- z + ---- y
+ 29400 7350
+
+ 211 2 3 3 3 4 4
+ + ---- x + 1/150 x + 1/150 y - 1/300 z - 1/150 y - 1/150 x
+ 7350
+
+ 4 173 167 167 2
+ + 1/600 z - ---- - 1/500 x y z + ---- x z + ---- y z - 1/350 x z
+ 6125 7000 7000
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z + 1/600 x z + 1/600 y z - 1/150 x z - 1/490 y z
+
+ 2 3 2 2 229 2
+ - 1/350 y z - 1/300 x y + 1/980 x y + ----- x y + 1/350 y z
+ 10500
+
+ 2 2 2 3 3
+ + 1/700 x y + 1/700 x y + 1/350 x z - 1/300 x y - 1/150 y z,
+
+ 4 4 3 2
+ COEFF(0, -1, -2) = 1/100 x + 1/600 z + 1/150 y - 1/350 y z
+
+ 2 4 2 187 2 3
+ - 1/350 x y z - 1/150 y - 9/196 x + ---- y z + 1/350 x y - 1/150 y z
+ 7000
+
+ 311 2 3 2 47 3
+ + ----- z - 1/300 z + 1/175 x z + ---- + 1/600 y z - 2/75 y
+ 29400 6125
+
+ 2 2 2 2 2 2 2 2 29
+ + 1/490 x y + 2/75 y - 1/245 x z + 1/350 y z - 1/490 y z - ---- z,
+ 2100
+
+ 17 2 2
+ COEFF(1, -1, -2) = 1/42 x - 1/42 y - ---- z - 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 191 2 211 2 211 2 3 3
+ + 1/700 x y z + ----- z + ---- y + ---- x - 1/150 x + 1/150 y
+ 29400 7350 7350
+
+ 3 4 4 4 173
+ - 1/300 z - 1/150 y - 1/150 x + 1/600 z - ---- + 1/500 x y z
+ 6125
+
+ 167 167 2 2 2 3 3
+ - ---- x z + ---- y z + 1/350 x z - 1/490 x z - 1/600 x z + 1/600 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z - 1/490 y z - 1/350 y z + 1/300 x y + 1/980 x y
+
+ 229 2 2 2 2
+ - ----- x y + 1/350 y z + 1/700 x y - 1/700 x y + 1/350 x z
+ 10500
+
+ 3 3 19 19
+ + 1/300 x y - 1/150 y z, COEFF(2, -1, -2) = - ---- x - 8/525 y + ---- z
+ 2100 2100
+
+ 2 2 2 169 2 128 2
+ + 1/350 x y z - 1/350 x y z + 1/350 x y z - ----- z + ---- y
+ 29400 3675
+
+ 169 2 3 3 3 4 4
+ - ----- x + 1/300 x + 1/150 y - 1/300 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 47 107 2
+ + 1/600 z - 2/125 + 1/250 x y z + ---- x z + ---- y z + 1/175 x z
+ 5250 7000
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z - 1/300 x z + 1/600 y z - 1/300 x z - 1/490 y z
+
+ 2 3 2 2 107 2
+ - 1/350 y z - 1/600 x y - 1/490 x y - ---- x y + 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ - 1/350 x y - 1/350 x y - 1/175 x z + 1/150 x y - 1/150 y z,
+
+ 2 4 2 2 2
+ COEFF(-2, 0, -2) = - 1/175 x z + 1/600 z + 1/175 x y + 1/245 x z
+
+ 2 2 2 2 3 4
+ + 1/300 z + 1/175 y z - 1/600 x - 1/245 y z + 1/300 x z + 1/100 y
+
+ 3 2 2 2 2 4
+ + 1/300 x z + 1/300 x - 1/245 x y - 1/600 z - 1/175 x z + 1/600 x
+
+ 3 17 3 2 47 33 2
+ - 1/300 x - ---- x z - 1/300 z - 1/175 x y z + ---- - --- y ,
+ 5250 6125 980
+
+ 4 2 2 3
+ COEFF(-1, 0, -2) = - 2/75 x + 1/600 z - 9/196 y + 1/175 y z + 1/150 x
+
+ 3 2 2 29 2 2 4 2 2
+ - 1/300 z + 1/490 x y - ---- z - 1/245 y z + 1/100 y - 1/490 x z
+ 2100
+
+ 2 311 2 2 4 3 47
+ + 2/75 x + ----- z + 1/350 x z - 1/150 x + 1/600 x z + ----
+ 29400 6125
+
+ 187 2 3 2 2
+ + ---- x z - 1/350 x y z - 1/150 x z + 1/350 x y - 1/350 x z ,
+ 7000
+
+ 292 4 2 431 2 4 2
+ COEFF(0, 0, -2) = ---- + 1/100 y - 1/20 y + ----- z + 1/100 x - 1/20 x
+ 6125 29400
+
+ 2 2 2 2 2 3 4 41
+ - 1/245 x z - 1/245 y z + 1/175 x z - 1/300 z + 1/600 z - ---- z
+ 2100
+
+ 2 2 2 2 4
+ + 1/245 x y + 1/175 y z, COEFF(1, 0, -2) = 1/175 y z + 1/600 z
+
+ 2 2 2 2 47 4 2 2
+ - 1/245 y z + 1/490 x y + ---- - 1/150 x + 1/350 x z - 9/196 y
+ 6125
+
+ 2 3 3 29 2
+ + 2/75 x - 1/350 x y + 1/150 x z - 1/150 x - ---- z + 1/350 x y z
+ 2100
+
+ 2 187 3 311 2 2 3
+ + 1/350 x z - ---- x z - 1/300 z + ----- z + 2/75 x - 1/600 x z
+ 7000 29400
+
+ 4 2 2 3 2
+ + 1/100 y - 1/490 x z , COEFF(2, 0, -2) = - 1/300 z - 1/175 x z
+
+ 4 4 2 4 47
+ + 1/600 z + 1/600 x + 1/175 y z + 1/100 y + ---- + 1/300 z
+ 6125
+
+ 2 2 33 2 2 3 3
+ - 1/175 x y - 1/600 x - --- y + 1/175 x z - 1/300 x z - 1/300 x z
+ 980
+
+ 3 2 2 2 2 2 2
+ + 1/300 x + 1/245 x z - 1/600 z - 1/245 y z + 1/175 x y z
+
+ 2 2 17 19
+ - 1/245 x y - 1/300 x + ---- x z, COEFF(-2, 1, -2) = ---- x + 8/525 y
+ 5250 2100
+
+ 19 2 2 2 169 2 128 2
+ + ---- z - 1/350 x y z - 1/350 x y z - 1/350 x y z - ----- z + ---- y
+ 2100 29400 3675
+
+ 169 2 3 3 3 4 4
+ - ----- x - 1/300 x - 1/150 y - 1/300 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 47 107 2
+ + 1/600 z - 2/125 + 1/250 x y z - ---- x z - ---- y z - 1/175 x z
+ 5250 7000
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z + 1/300 x z - 1/600 y z + 1/300 x z - 1/490 y z
+
+ 2 3 2 2 107 2
+ + 1/350 y z - 1/600 x y - 1/490 x y - ---- x y + 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y + 1/350 x y - 1/175 x z + 1/150 x y + 1/150 y z,
+
+ 17 2 2
+ COEFF(-1, 1, -2) = - 1/42 x + 1/42 y - ---- z + 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 191 2 211 2 211 2 3 3
+ - 1/700 x y z + ----- z + ---- y + ---- x + 1/150 x - 1/150 y
+ 29400 7350 7350
+
+ 3 4 4 4 173
+ - 1/300 z - 1/150 y - 1/150 x + 1/600 z - ---- + 1/500 x y z
+ 6125
+
+ 167 167 2 2 2 3 3
+ + ---- x z - ---- y z - 1/350 x z - 1/490 x z + 1/600 x z - 1/600 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ - 1/150 x z - 1/490 y z + 1/350 y z + 1/300 x y + 1/980 x y
+
+ 229 2 2 2 2
+ - ----- x y + 1/350 y z - 1/700 x y + 1/700 x y + 1/350 x z
+ 10500
+
+ 3 3 187 311 2
+ + 1/300 x y + 1/150 y z, COEFF(0, 1, -2) = - ---- y z + ----- z
+ 7000 29400
+
+ 2 2 2 2 2 3
+ + 1/350 x y z + 1/175 x z - 1/490 y z - 9/196 x - 1/150 y + 2/75 y
+
+ 3 2 4 4 2 3
+ - 1/600 y z + 1/350 y z + 1/600 z + 1/100 x - 1/350 x y + 1/150 y z
+
+ 2 2 3 2 47 29 2 2
+ - 1/245 x z - 1/300 z + 2/75 y + ---- - ---- z + 1/490 x y
+ 6125 2100
+
+ 4 2 17
+ - 1/150 y + 1/350 y z, COEFF(1, 1, -2) = 1/42 x + 1/42 y - ---- z
+ 2100
+
+ 2 2 2 191 2 211 2
+ + 1/700 x y z + 1/700 x y z + 1/700 x y z + ----- z + ---- y
+ 29400 7350
+
+ 211 2 3 3 3 4 4
+ + ---- x - 1/150 x - 1/150 y - 1/300 z - 1/150 y - 1/150 x
+ 7350
+
+ 4 173 167 167 2
+ + 1/600 z - ---- - 1/500 x y z - ---- x z - ---- y z + 1/350 x z
+ 6125 7000 7000
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z - 1/600 x z - 1/600 y z + 1/150 x z - 1/490 y z
+
+ 2 3 2 2 229 2
+ + 1/350 y z - 1/300 x y + 1/980 x y + ----- x y + 1/350 y z
+ 10500
+
+ 2 2 2 3 3
+ - 1/700 x y - 1/700 x y + 1/350 x z - 1/300 x y + 1/150 y z,
+
+ 19 19 2 2
+ COEFF(2, 1, -2) = - ---- x + 8/525 y + ---- z - 1/350 x y z + 1/350 x y z
+ 2100 2100
+
+ 2 169 2 128 2 169 2 3 3
+ + 1/350 x y z - ----- z + ---- y - ----- x + 1/300 x - 1/150 y
+ 29400 3675 29400
+
+ 3 4 4 4
+ - 1/300 z - 1/150 y + 1/600 x + 1/600 z - 2/125 - 1/250 x y z
+
+ 47 107 2 2 2 3 3
+ + ---- x z - ---- y z + 1/175 x z + 1/245 x z - 1/300 x z - 1/600 y z
+ 5250 7000
+
+ 3 2 2 2 3 2 2
+ - 1/300 x z - 1/490 y z + 1/350 y z + 1/600 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y + 1/350 y z + 1/350 x y - 1/350 x y - 1/175 x z
+ 7000
+
+ 3 3 11 11 11
+ - 1/150 x y + 1/150 y z, COEFF(-2, 2, -2) = --- x - --- y + --- z
+ 420 420 420
+
+ 2 2 2 529 2 529 2
+ - 1/175 x y z - 1/175 x y z + 1/175 x y z - ----- z - ----- y
+ 29400 29400
+
+ 529 2 3 3 3 4 4
+ - ----- x - 1/300 x + 1/300 y - 1/300 z + 1/600 y + 1/600 x
+ 29400
+
+ 4 202 137 137 2
+ + 1/600 z + ---- + 1/125 x y z - ---- x z + ---- y z - 1/175 x z
+ 6125 5250 5250
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z + 1/300 x z - 1/300 y z + 1/300 x z + 1/245 y z
+
+ 2 3 2 2 137 2
+ + 1/175 y z - 1/300 x y + 1/245 x y + ---- x y - 1/175 y z
+ 5250
+
+ 2 2 2 3 3
+ + 1/175 x y - 1/175 x y - 1/175 x z - 1/300 x y - 1/300 y z,
+
+ 19 19 2
+ COEFF(-1, 2, -2) = - 8/525 x - ---- y + ---- z + 1/350 x y z
+ 2100 2100
+
+ 2 2 169 2 169 2 128 2 3
+ - 1/350 x y z + 1/350 x y z - ----- z - ----- y + ---- x + 1/150 x
+ 29400 29400 3675
+
+ 3 3 4 4 4
+ + 1/300 y - 1/300 z + 1/600 y - 1/150 x + 1/600 z - 2/125
+
+ 107 47 2 2 2
+ + 1/250 x y z + ---- x z + ---- y z - 1/350 x z - 1/490 x z
+ 7000 5250
+
+ 3 3 3 2 2 2
+ + 1/600 x z - 1/300 y z - 1/150 x z + 1/245 y z + 1/175 y z
+
+ 3 2 2 107 2 2
+ + 1/150 x y - 1/490 x y - ---- x y - 1/175 y z - 1/350 x y
+ 7000
+
+ 2 2 3 3
+ - 1/350 x y + 1/350 x z - 1/600 x y - 1/300 y z, COEFF(0, 2, -2) =
+
+ 2 2 17 2 2 47
+ 1/175 x y z - 1/600 z + 1/300 z + ---- y z - 1/245 x y + ----
+ 5250 6125
+
+ 4 2 2 3 2 3 3
+ + 1/600 y + 1/245 y z + 1/300 y - 1/600 y - 1/300 y z - 1/300 z
+
+ 2 2 2 2 2
+ + 1/175 y z - 1/300 y + 1/175 x z - 1/245 x z - 1/175 y z
+
+ 2 3 33 2 4 4
+ - 1/175 x y - 1/300 y z - --- x + 1/100 x + 1/600 z , COEFF(1, 2, -2)
+ 980
+
+ 19 19 2 2 2
+ = 8/525 x - ---- y + ---- z + 1/350 x y z + 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 169 2 169 2 128 2 3 3 3
+ - ----- z - ----- y + ---- x - 1/150 x + 1/300 y - 1/300 z
+ 29400 29400 3675
+
+ 4 4 4 107
+ + 1/600 y - 1/150 x + 1/600 z - 2/125 - 1/250 x y z - ---- x z
+ 7000
+
+ 47 2 2 2 3 3
+ + ---- y z + 1/350 x z - 1/490 x z - 1/600 x z - 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z + 1/245 y z + 1/175 y z - 1/150 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y - 1/175 y z - 1/350 x y + 1/350 x y + 1/350 x z
+ 7000
+
+ 3 3 11 11 11
+ + 1/600 x y - 1/300 y z, COEFF(2, 2, -2) = - --- x - --- y + --- z
+ 420 420 420
+
+ 2 2 2 529 2 529 2
+ - 1/175 x y z + 1/175 x y z - 1/175 x y z - ----- z - ----- y
+ 29400 29400
+
+ 529 2 3 3 3 4 4
+ - ----- x + 1/300 x + 1/300 y - 1/300 z + 1/600 y + 1/600 x
+ 29400
+
+ 4 202 137 137 2
+ + 1/600 z + ---- - 1/125 x y z + ---- x z + ---- y z + 1/175 x z
+ 6125 5250 5250
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z - 1/300 x z - 1/300 y z - 1/300 x z + 1/245 y z
+
+ 2 3 2 2 137 2
+ + 1/175 y z + 1/300 x y + 1/245 x y - ---- x y - 1/175 y z
+ 5250
+
+ 2 2 2 3 3
+ + 1/175 x y + 1/175 x y - 1/175 x z + 1/300 x y - 1/300 y z,
+
+ 19 19 2 2
+ COEFF(-2, -2, -1) = ---- x + ---- y - 8/525 z + 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 2 128 2 169 2 169 2 3 3
+ + 1/350 x y z + ---- z - ----- y - ----- x - 1/300 x - 1/300 y
+ 3675 29400 29400
+
+ 3 4 4 4
+ + 1/150 z + 1/600 y + 1/600 x - 1/150 z - 2/125 - 1/250 x y z
+
+ 107 107 2 2 2 3 3
+ + ---- x z + ---- y z + 1/350 x z - 1/490 x z - 1/150 x z - 1/150 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ + 1/600 x z - 1/490 y z + 1/350 y z + 1/300 x y + 1/245 x y
+
+ 47 2 2 2 2
+ - ---- x y - 1/350 y z - 1/175 x y - 1/175 x y - 1/350 x z
+ 5250
+
+ 3 3 17
+ + 1/300 x y + 1/600 y z, COEFF(-1, -2, -1) = - 1/42 x - ---- y - 1/42 z
+ 2100
+
+ 2 2 2 211 2 191 2
+ - 1/700 x y z - 1/700 x y z + 1/700 x y z + ---- z + ----- y
+ 7350 29400
+
+ 211 2 3 3 3 4 4
+ + ---- x + 1/150 x - 1/300 y + 1/150 z + 1/600 y - 1/150 x
+ 7350
+
+ 4 173 229 167 2
+ - 1/150 z - ---- - 1/500 x y z + ----- x z + ---- y z + 1/700 x z
+ 6125 10500 7000
+
+ 2 2 3 3 3 2 2
+ + 1/980 x z - 1/300 x z - 1/150 y z - 1/300 x z - 1/490 y z
+
+ 2 3 2 2 167 2
+ + 1/350 y z - 1/150 x y - 1/490 x y + ---- x y - 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y - 1/350 x y + 1/700 x z + 1/600 x y + 1/600 y z,
+
+ 2 2 2 4 47 3
+ COEFF(0, -2, -1) = - 9/196 x - 1/245 x y + 1/600 y + ---- + 1/150 z
+ 6125
+
+ 311 2 2 187 2 2 2 2
+ + ----- y + 1/175 x y + ---- y z - 1/490 y z + 2/75 z - 1/350 y z
+ 29400 7000
+
+ 4 3 29 2 2 4
+ + 1/100 x - 1/150 y z - ---- y - 1/350 x y z + 1/350 y z - 1/150 z
+ 2100
+
+ 3 3 2 2 2
+ + 1/600 y z - 1/300 y + 1/350 x z - 2/75 z + 1/490 x z ,
+
+ 17 2 2
+ COEFF(1, -2, -1) = 1/42 x - ---- y - 1/42 z - 1/700 x y z + 1/700 x y z
+ 2100
+
+ 2 211 2 191 2 211 2 3 3
+ - 1/700 x y z + ---- z + ----- y + ---- x - 1/150 x - 1/300 y
+ 7350 29400 7350
+
+ 3 4 4 4 173
+ + 1/150 z + 1/600 y - 1/150 x - 1/150 z - ---- + 1/500 x y z
+ 6125
+
+ 229 167 2 2 2 3
+ - ----- x z + ---- y z - 1/700 x z + 1/980 x z + 1/300 x z
+ 10500 7000
+
+ 3 3 2 2 2 3
+ - 1/150 y z + 1/300 x z - 1/490 y z + 1/350 y z + 1/150 x y
+
+ 2 2 167 2 2 2
+ - 1/490 x y - ---- x y - 1/350 y z + 1/350 x y + 1/350 x y
+ 7000
+
+ 2 3 3 19
+ + 1/700 x z - 1/600 x y + 1/600 y z, COEFF(2, -2, -1) = - ---- x
+ 2100
+
+ 19 2 2 2 128 2
+ + ---- y - 8/525 z + 1/350 x y z + 1/350 x y z - 1/350 x y z + ---- z
+ 2100 3675
+
+ 169 2 169 2 3 3 3 4
+ - ----- y - ----- x + 1/300 x - 1/300 y + 1/150 z + 1/600 y
+ 29400 29400
+
+ 4 4 107 107
+ + 1/600 x - 1/150 z - 2/125 + 1/250 x y z - ---- x z + ---- y z
+ 7000 7000
+
+ 2 2 2 3 3 3
+ - 1/350 x z - 1/490 x z + 1/150 x z - 1/150 y z - 1/600 x z
+
+ 2 2 2 3 2 2 47
+ - 1/490 y z + 1/350 y z - 1/300 x y + 1/245 x y + ---- x y
+ 5250
+
+ 2 2 2 2 3
+ - 1/350 y z - 1/175 x y + 1/175 x y - 1/350 x z - 1/300 x y
+
+ 3 17
+ + 1/600 y z, COEFF(-2, -1, -1) = - ---- x - 1/42 y - 1/42 z
+ 2100
+
+ 2 2 2 211 2 211 2
+ + 1/700 x y z - 1/700 x y z - 1/700 x y z + ---- z + ---- y
+ 7350 7350
+
+ 191 2 3 3 3 4 4
+ + ----- x - 1/300 x + 1/150 y + 1/150 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 173 167 229 2
+ - 1/150 z - ---- - 1/500 x y z + ---- x z + ----- y z + 1/350 x z
+ 6125 7000 10500
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z - 1/150 x z - 1/300 y z + 1/600 x z + 1/980 y z
+
+ 2 3 2 2 167 2
+ + 1/700 y z + 1/600 x y - 1/490 x y + ---- x y + 1/700 y z
+ 7000
+
+ 2 2 2 3 3
+ - 1/350 x y + 1/350 x y - 1/350 x z - 1/150 x y - 1/300 y z,
+
+ 17 17 17 2 2
+ COEFF(-1, -1, -1) = - --- x - --- y - --- z - 1/1400 x y z - 1/1400 x y z
+ 525 525 525
+
+ 2 83 2 83 2 83 2 3 3
+ - 1/1400 x y z + ---- z + ---- y + ---- x + 1/150 x + 1/150 y
+ 3675 3675 3675
+
+ 3 4 4 4 137
+ + 1/150 z - 1/150 y - 1/150 x - 1/150 z - 1/1000 x y z + ---- x z
+ 5250
+
+ 137 2 2 2 3 3
+ + ---- y z + 1/700 x z + 1/980 x z - 1/300 x z - 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ - 1/300 x z + 1/980 y z + 1/700 y z - 1/300 x y + 1/980 x y
+
+ 137 2 2 2 2
+ + ---- x y + 1/700 y z + 1/700 x y + 1/700 x y + 1/700 x z
+ 5250
+
+ 3 3 23 2
+ - 1/300 x y - 1/300 y z - ----, COEFF(0, -1, -1) = 1/350 x y
+ 6125
+
+ 2 3 2 2 2 2 3 272
+ - 1/700 x y z + 1/150 y + 1/490 x y + 1/980 y z - 1/300 y z + ----
+ 6125
+
+ 2 2 4 3 4 3 37
+ + 1/490 x z - 1/150 y - 1/300 y z - 1/150 z + 1/150 z - ---- z
+ 1050
+
+ 2 4 2 57 2 289 2
+ + 1/350 x z + 1/100 x + 1/700 y z - --- x + ----- y z + 1/700 y z
+ 980 10500
+
+ 151 2 151 2 37 17 17 17
+ + ---- z + ---- y - ---- y, COEFF(1, -1, -1) = --- x - --- y - --- z
+ 7350 7350 1050 525 525 525
+
+ 2 2 2 83 2 83 2
+ - 1/1400 x y z + 1/1400 x y z + 1/1400 x y z + ---- z + ---- y
+ 3675 3675
+
+ 83 2 3 3 3 4 4
+ + ---- x - 1/150 x + 1/150 y + 1/150 z - 1/150 y - 1/150 x
+ 3675
+
+ 4 137 137 2 2 2
+ - 1/150 z + 1/1000 x y z - ---- x z + ---- y z - 1/700 x z + 1/980 x z
+ 5250 5250
+
+ 3 3 3 2 2 2
+ + 1/300 x z - 1/300 y z + 1/300 x z + 1/980 y z + 1/700 y z
+
+ 3 2 2 137 2 2
+ + 1/300 x y + 1/980 x y - ---- x y + 1/700 y z + 1/700 x y
+ 5250
+
+ 2 2 3 3 23
+ - 1/700 x y + 1/700 x z + 1/300 x y - 1/300 y z - ----,
+ 6125
+
+ 17 2 2
+ COEFF(2, -1, -1) = ---- x - 1/42 y - 1/42 z + 1/700 x y z + 1/700 x y z
+ 2100
+
+ 2 211 2 211 2 191 2 3 3
+ + 1/700 x y z + ---- z + ---- y + ----- x + 1/300 x + 1/150 y
+ 7350 7350 29400
+
+ 3 4 4 4 173
+ + 1/150 z - 1/150 y + 1/600 x - 1/150 z - ---- + 1/500 x y z
+ 6125
+
+ 167 229 2 2 2 3
+ - ---- x z + ----- y z - 1/350 x z - 1/490 x z + 1/150 x z
+ 7000 10500
+
+ 3 3 2 2 2 3
+ - 1/300 y z - 1/600 x z + 1/980 y z + 1/700 y z - 1/600 x y
+
+ 2 2 167 2 2 2
+ - 1/490 x y - ---- x y + 1/700 y z - 1/350 x y - 1/350 x y
+ 7000
+
+ 2 3 3 47
+ - 1/350 x z + 1/150 x y - 1/300 y z, COEFF(-2, 0, -1) = ----
+ 6125
+
+ 2 2 2 4 2 2 2
+ - 1/350 x z + 1/350 x z + 1/175 x y + 1/100 y + 2/75 z - 1/245 x y
+
+ 311 2 2 2 29 2 2 2 2
+ + ----- x - 9/196 y - 1/350 x y z - ---- x - 1/490 x z + 1/490 y z
+ 29400 2100
+
+ 2 3 4 187 3
+ + 1/350 y z - 1/300 x - 2/75 z - 1/150 z + ---- x z + 1/150 z
+ 7000
+
+ 3 4 3 151 2
+ - 1/150 x z + 1/600 x + 1/600 x z, COEFF(-1, 0, -1) = ---- x
+ 7350
+
+ 4 3 272 2 2 2 151 2
+ + 1/100 y + 1/150 x + ---- + 1/350 y z + 1/980 x z + ---- z
+ 6125 7350
+
+ 289 2 3 2 2 37 2
+ + ----- x z + 1/700 x z - 1/300 x z + 1/490 x y - ---- z + 1/700 x z
+ 10500 1050
+
+ 57 2 2 4 2 2 37 3
+ - --- y + 1/350 x y - 1/150 z + 1/490 y z - ---- x - 1/300 x z
+ 980 1050
+
+ 3 2 4 4
+ + 1/150 z - 1/700 x y z - 1/150 x , COEFF(0, 0, -1) = 1/100 x
+
+ 2 2 61 2 2 2 2 592 4
+ + 1/490 x z - --- y + 1/350 x z + 1/490 y z + ---- + 1/100 y
+ 980 6125
+
+ 2 2 61 2 4 68 2 2
+ + 1/245 x y - --- x - 4/105 z - 1/150 z + ---- z + 1/350 y z
+ 980 3675
+
+ 3 3 2 2 2
+ + 1/150 z , COEFF(1, 0, -1) = 1/300 x z + 1/490 x y - 1/700 x z
+
+ 2 37 2 3 2 272
+ - 1/350 x y + ---- x + 1/700 x y z + 1/300 x z + 1/350 y z + ----
+ 1050 6125
+
+ 57 2 289 37 2 3 2 2
+ - --- y - ----- x z - ---- z + 1/700 x z + 1/150 z + 1/980 x z
+ 980 10500 1050
+
+ 4 2 2 151 2 3 4 4
+ - 1/150 x + 1/490 y z + ---- z - 1/150 x + 1/100 y - 1/150 z
+ 7350
+
+ 151 2 2 4 47 29
+ + ---- x , COEFF(2, 0, -1) = - 1/350 x z + 1/100 y + ---- + ---- x
+ 7350 6125 2100
+
+ 2 2 311 2 2 2 2 3
+ + 1/490 y z + ----- x - 9/196 y + 2/75 z - 1/350 x z + 1/150 z
+ 29400
+
+ 2 2 2 4 3 187
+ + 1/350 y z - 1/490 x z + 1/600 x + 1/150 x z - 2/75 z - ---- x z
+ 7000
+
+ 3 2 2 3 4
+ + 1/300 x - 1/175 x y + 1/350 x y z - 1/600 x z - 1/150 z
+
+ 2 2 17
+ - 1/245 x y , COEFF(-2, 1, -1) = - ---- x + 1/42 y - 1/42 z
+ 2100
+
+ 2 2 2 211 2 211 2
+ - 1/700 x y z + 1/700 x y z - 1/700 x y z + ---- z + ---- y
+ 7350 7350
+
+ 191 2 3 3 3 4 4
+ + ----- x - 1/300 x - 1/150 y + 1/150 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 173 167 229 2
+ - 1/150 z - ---- + 1/500 x y z + ---- x z - ----- y z + 1/350 x z
+ 6125 7000 10500
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z - 1/150 x z + 1/300 y z + 1/600 x z + 1/980 y z
+
+ 2 3 2 2 167 2
+ - 1/700 y z - 1/600 x y - 1/490 x y - ---- x y + 1/700 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y + 1/350 x y - 1/350 x z + 1/150 x y + 1/300 y z,
+
+ 17 17 17 2 2
+ COEFF(-1, 1, -1) = - --- x + --- y - --- z + 1/1400 x y z + 1/1400 x y z
+ 525 525 525
+
+ 2 83 2 83 2 83 2 3 3
+ - 1/1400 x y z + ---- z + ---- y + ---- x + 1/150 x - 1/150 y
+ 3675 3675 3675
+
+ 3 4 4 4 137
+ + 1/150 z - 1/150 y - 1/150 x - 1/150 z + 1/1000 x y z + ---- x z
+ 5250
+
+ 137 2 2 2 3 3
+ - ---- y z + 1/700 x z + 1/980 x z - 1/300 x z + 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ - 1/300 x z + 1/980 y z - 1/700 y z + 1/300 x y + 1/980 x y
+
+ 137 2 2 2 2
+ - ---- x y + 1/700 y z - 1/700 x y + 1/700 x y + 1/700 x z
+ 5250
+
+ 3 3 23 2 272
+ + 1/300 x y + 1/300 y z - ----, COEFF(0, 1, -1) = - 1/350 x y + ----
+ 6125 6125
+
+ 289 57 2 3 4 2 3
+ - ----- y z - --- x + 1/300 y z - 1/150 y + 1/700 y z + 1/300 y z
+ 10500 980
+
+ 4 37 4 2 2 3 2 2
+ - 1/150 z - ---- z + 1/100 x + 1/490 x y + 1/150 z + 1/980 y z
+ 1050
+
+ 3 2 2 151 2 151 2 37
+ - 1/150 y + 1/350 x z - 1/700 y z + ---- y + ---- z + ---- y
+ 7350 7350 1050
+
+ 2 2 2 17 17 17
+ + 1/490 x z + 1/700 x y z, COEFF(1, 1, -1) = --- x + --- y - --- z
+ 525 525 525
+
+ 2 2 2 83 2 83 2
+ + 1/1400 x y z - 1/1400 x y z + 1/1400 x y z + ---- z + ---- y
+ 3675 3675
+
+ 83 2 3 3 3 4 4
+ + ---- x - 1/150 x - 1/150 y + 1/150 z - 1/150 y - 1/150 x
+ 3675
+
+ 4 137 137 2 2 2
+ - 1/150 z - 1/1000 x y z - ---- x z - ---- y z - 1/700 x z + 1/980 x z
+ 5250 5250
+
+ 3 3 3 2 2 2
+ + 1/300 x z + 1/300 y z + 1/300 x z + 1/980 y z - 1/700 y z
+
+ 3 2 2 137 2 2
+ - 1/300 x y + 1/980 x y + ---- x y + 1/700 y z - 1/700 x y
+ 5250
+
+ 2 2 3 3 23
+ - 1/700 x y + 1/700 x z - 1/300 x y + 1/300 y z - ----,
+ 6125
+
+ 17 2 2
+ COEFF(2, 1, -1) = ---- x + 1/42 y - 1/42 z - 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 211 2 211 2 191 2 3 3
+ + 1/700 x y z + ---- z + ---- y + ----- x + 1/300 x - 1/150 y
+ 7350 7350 29400
+
+ 3 4 4 4 173
+ + 1/150 z - 1/150 y + 1/600 x - 1/150 z - ---- - 1/500 x y z
+ 6125
+
+ 167 229 2 2 2 3
+ - ---- x z - ----- y z - 1/350 x z - 1/490 x z + 1/150 x z
+ 7000 10500
+
+ 3 3 2 2 2 3
+ + 1/300 y z - 1/600 x z + 1/980 y z - 1/700 y z + 1/600 x y
+
+ 2 2 167 2 2 2
+ - 1/490 x y + ---- x y + 1/700 y z + 1/350 x y - 1/350 x y
+ 7000
+
+ 2 3 3 19 19
+ - 1/350 x z - 1/150 x y + 1/300 y z, COEFF(-2, 2, -1) = ---- x - ---- y
+ 2100 2100
+
+ 2 2 2 128 2
+ - 8/525 z - 1/350 x y z + 1/350 x y z + 1/350 x y z + ---- z
+ 3675
+
+ 169 2 169 2 3 3 3 4
+ - ----- y - ----- x - 1/300 x + 1/300 y + 1/150 z + 1/600 y
+ 29400 29400
+
+ 4 4 107 107
+ + 1/600 x - 1/150 z - 2/125 + 1/250 x y z + ---- x z - ---- y z
+ 7000 7000
+
+ 2 2 2 3 3 3
+ + 1/350 x z - 1/490 x z - 1/150 x z + 1/150 y z + 1/600 x z
+
+ 2 2 2 3 2 2 47
+ - 1/490 y z - 1/350 y z - 1/300 x y + 1/245 x y + ---- x y
+ 5250
+
+ 2 2 2 2 3
+ - 1/350 y z + 1/175 x y - 1/175 x y - 1/350 x z - 1/300 x y
+
+ 3 17 2
+ - 1/600 y z, COEFF(-1, 2, -1) = - 1/42 x + ---- y - 1/42 z + 1/700 x y z
+ 2100
+
+ 2 2 211 2 191 2 211 2 3
+ + 1/700 x y z + 1/700 x y z + ---- z + ----- y + ---- x + 1/150 x
+ 7350 29400 7350
+
+ 3 3 4 4 4 173
+ + 1/300 y + 1/150 z + 1/600 y - 1/150 x - 1/150 z - ----
+ 6125
+
+ 229 167 2 2 2
+ + 1/500 x y z + ----- x z - ---- y z + 1/700 x z + 1/980 x z
+ 10500 7000
+
+ 3 3 3 2 2 2
+ - 1/300 x z + 1/150 y z - 1/300 x z - 1/490 y z - 1/350 y z
+
+ 3 2 2 167 2 2
+ + 1/150 x y - 1/490 x y - ---- x y - 1/350 y z - 1/350 x y
+ 7000
+
+ 2 2 3 3
+ - 1/350 x y + 1/700 x z - 1/600 x y - 1/600 y z, COEFF(0, 2, -1) =
+
+ 2 2 2 3 2 2 4 47
+ - 1/490 y z - 1/175 x y - 1/600 y z + 1/490 x z - 1/150 z + ----
+ 6125
+
+ 2 2 3 3 2 2
+ + 1/350 x y z - 9/196 x + 1/150 y z - 2/75 z + 1/150 z - 1/245 x y
+
+ 2 3 311 2 2 2 29
+ + 1/350 x z + 1/300 y + ----- y + 2/75 z - 1/350 y z + ---- y
+ 29400 2100
+
+ 2 4 187 4
+ - 1/350 y z + 1/100 x - ---- y z + 1/600 y , COEFF(1, 2, -1) = 1/42 x
+ 7000
+
+ 17 2 2 2 211 2
+ + ---- y - 1/42 z + 1/700 x y z - 1/700 x y z - 1/700 x y z + ---- z
+ 2100 7350
+
+ 191 2 211 2 3 3 3 4
+ + ----- y + ---- x - 1/150 x + 1/300 y + 1/150 z + 1/600 y
+ 29400 7350
+
+ 4 4 173 229 167
+ - 1/150 x - 1/150 z - ---- - 1/500 x y z - ----- x z - ---- y z
+ 6125 10500 7000
+
+ 2 2 2 3 3 3
+ - 1/700 x z + 1/980 x z + 1/300 x z + 1/150 y z + 1/300 x z
+
+ 2 2 2 3 2 2 167
+ - 1/490 y z - 1/350 y z - 1/150 x y - 1/490 x y + ---- x y
+ 7000
+
+ 2 2 2 2 3
+ - 1/350 y z - 1/350 x y + 1/350 x y + 1/700 x z + 1/600 x y
+
+ 3 19 19 2
+ - 1/600 y z, COEFF(2, 2, -1) = - ---- x - ---- y - 8/525 z - 1/350 x y z
+ 2100 2100
+
+ 2 2 128 2 169 2 169 2 3
+ - 1/350 x y z - 1/350 x y z + ---- z - ----- y - ----- x + 1/300 x
+ 3675 29400 29400
+
+ 3 3 4 4 4
+ + 1/300 y + 1/150 z + 1/600 y + 1/600 x - 1/150 z - 2/125
+
+ 107 107 2 2 2
+ - 1/250 x y z - ---- x z - ---- y z - 1/350 x z - 1/490 x z
+ 7000 7000
+
+ 3 3 3 2 2 2
+ + 1/150 x z + 1/150 y z - 1/600 x z - 1/490 y z - 1/350 y z
+
+ 3 2 2 47 2 2
+ + 1/300 x y + 1/245 x y - ---- x y - 1/350 y z + 1/175 x y
+ 5250
+
+ 2 2 3 3
+ + 1/175 x y - 1/350 x z + 1/300 x y - 1/600 y z, COEFF(-2, -2, 0) =
+
+ 47 3 2 2 3 17 2
+ ---- + 1/300 x y - 1/245 y z + 1/300 x y - ---- x y + 1/175 x z
+ 6125 5250
+
+ 2 2 2 2 2 2 2
+ - 1/245 x z + 1/245 x y - 1/175 x y - 1/600 y + 1/175 y z
+
+ 4 3 3 4 33 2 4 2
+ + 1/100 z - 1/300 x - 1/300 y + 1/600 x - --- z + 1/600 y - 1/600 x
+ 980
+
+ 2 2
+ - 1/175 x y + 1/300 y - 1/175 x y z + 1/300 x, COEFF(-1, -2, 0) =
+
+ 2 2 2 2 4 29 2
+ - 1/490 x y - 1/245 y z - 2/75 x + 1/100 z - ---- y + 1/350 x y
+ 2100
+
+ 311 2 3 3 3 2 2
+ + ----- y - 1/300 y - 1/150 x y + 1/600 x y + 1/175 y z + 2/75 x
+ 29400
+
+ 4 4 2 2 47 2
+ + 1/600 y - 1/150 x - 1/350 x y + 1/350 x z + ---- - 1/350 x y z
+ 6125
+
+ 187 2 2 2 3 431 2
+ + ---- x y + 1/490 x z - 9/196 z + 1/150 x , COEFF(0, -2, 0) = ----- y
+ 7000 29400
+
+ 292 2 2 2 2 2 2 2
+ + ---- - 1/245 x y + 1/175 y z + 1/245 x z - 1/20 z - 1/20 x
+ 6125
+
+ 2 2 4 4 2 4 3
+ - 1/245 y z + 1/100 z + 1/100 x + 1/175 x y + 1/600 y - 1/300 y
+
+ 41 2 2 2
+ - ---- y, COEFF(1, -2, 0) = - 1/350 x z + 1/350 x y + 1/350 x y
+ 2100
+
+ 3 47 2 3 2 2
+ + 1/150 x y + ---- + 1/350 x y z - 1/600 x y - 1/245 y z + 2/75 x
+ 6125
+
+ 311 2 2 2 2 2 2 3
+ + ----- y - 1/490 x y - 9/196 z + 1/175 y z + 2/75 x - 1/150 x
+ 29400
+
+ 4 187 4 2 2 3 29
+ + 1/100 z - ---- x y - 1/150 x + 1/490 x z - 1/300 y - ---- y
+ 7000 2100
+
+ 4 2 17 2
+ + 1/600 y , COEFF(2, -2, 0) = 1/175 x y + ---- x y - 1/600 y
+ 5250
+
+ 2 3 3 47 4 2 2
+ + 1/175 x y z - 1/300 x y - 1/300 y + ---- + 1/100 z - 1/245 x z
+ 6125
+
+ 2 4 3 2 2 2
+ - 1/175 x z + 1/600 y - 1/300 x y - 1/600 x + 1/300 y - 1/245 y z
+
+ 3 2 2 2 2 33 2
+ - 1/300 x + 1/300 x - 1/175 x y + 1/245 x y + 1/175 y z - --- z
+ 980
+
+ 4 3 2 47 2
+ + 1/600 x , COEFF(-2, -1, 0) = 1/600 x y + 1/350 x y + ---- + 2/75 y
+ 6125
+
+ 2 2 187 2 2 2 2
+ - 1/490 x y + ---- x y - 1/350 x y - 1/245 x z + 1/350 y z
+ 7000
+
+ 311 2 2 3 3 4 2 2
+ + ----- x - 1/350 x y z + 1/150 y - 1/150 x y + 1/600 x + 1/490 y z
+ 29400
+
+ 2 3 4 29 4 2
+ - 2/75 y + 1/175 x z - 1/300 x + 1/100 z - ---- x - 1/150 y - 9/196 z
+ 2100
+
+ 3 151 2 57 2 2
+ , COEFF(-1, -1, 0) = - 1/300 x y + ---- x - --- z + 1/350 x z
+ 7350 980
+
+ 2 2 4 2 3 37 3
+ + 1/980 x y - 1/150 x - 1/700 x y z - 1/300 x y - ---- x + 1/150 y
+ 1050
+
+ 3 272 2 2 2 2 151 2
+ + 1/150 x + ---- + 1/700 x y + 1/490 y z + 1/700 x y + ---- y
+ 6125 7350
+
+ 4 4 2 2 2 289 37
+ + 1/100 z - 1/150 y + 1/490 x z + 1/350 y z + ----- x y - ---- y,
+ 10500 1050
+
+ 2 2 2 2
+ COEFF(0, -1, 0) = - 4/105 y + 1/350 y z + 1/490 x y + 1/350 x y
+
+ 61 2 3 592 2 2 68 2 4 61 2
+ - --- x + 1/150 y + ---- + 1/245 x z + ---- y + 1/100 z - --- z
+ 980 6125 3675 980
+
+ 2 2 4 4 3
+ + 1/490 y z - 1/150 y + 1/100 x , COEFF(1, -1, 0) = 1/300 x y
+
+ 2 2 272 2 2 289 2
+ + 1/490 x z + ---- + 1/350 y z - 1/700 x y - ----- x y + 1/700 x y z
+ 6125 10500
+
+ 37 3 4 2 37 3
+ + ---- x - 1/150 x - 1/150 x + 1/700 x y - ---- y + 1/300 x y
+ 1050 1050
+
+ 3 2 2 151 2 2 2 151 2 2
+ + 1/150 y + 1/490 y z + ---- y + 1/980 x y + ---- x - 1/350 x z
+ 7350 7350
+
+ 4 4 57 2 29 2
+ - 1/150 y + 1/100 z - --- z , COEFF(2, -1, 0) = ---- x - 1/350 x y
+ 980 2100
+
+ 2 2 2 3 2 2 187 2
+ - 9/196 z + 1/490 y z + 1/150 x y - 1/490 x y - ---- x y + 2/75 y
+ 7000
+
+ 2 3 4 4 2 47
+ - 1/175 x z + 1/150 y - 1/150 y + 1/600 x + 1/350 y z + ----
+ 6125
+
+ 311 2 3 2 2 2 2
+ + ----- x + 1/300 x - 1/350 x y + 1/350 x y z - 1/245 x z - 2/75 y
+ 29400
+
+ 3 4 4 2 292
+ - 1/600 x y + 1/100 z , COEFF(-2, 0, 0) = 1/600 x + 1/175 x z + ----
+ 6125
+
+ 2 41 2 2 2 2 2 3
+ - 1/20 z - ---- x - 1/20 y - 1/245 x y - 1/245 x z - 1/300 x
+ 2100
+
+ 431 2 2 2 4 2 4
+ + ----- x + 1/245 y z + 1/100 z + 1/175 x y + 1/100 y ,
+ 29400
+
+ 592 61 2 2 2 2
+ COEFF(-1, 0, 0) = ---- - --- z + 1/245 y z - 4/105 x + 1/350 x y
+ 6125 980
+
+ 4 2 2 4 2 61 2 2 2
+ + 1/100 y + 1/490 x y + 1/100 z + 1/350 x z - --- y + 1/490 x z
+ 980
+
+ 68 2 4 3 13 2 4
+ + ---- x - 1/150 x + 1/150 x , COEFF(0, 0, 0) = - --- y + 1/100 y
+ 3675 196
+
+ 937 13 2 2 2 4 2 2 4
+ + ---- - --- z + 1/245 x y + 1/100 x + 1/245 y z + 1/100 z
+ 6125 196
+
+ 2 2 13 2 2 2
+ + 1/245 x z - --- x , COEFF(1, 0, 0) = - 1/350 x z - 1/350 x y
+ 196
+
+ 2 2 2 2 61 2 4 3 68 2
+ + 1/490 x z + 1/245 y z - --- y + 1/100 z - 1/150 x + ---- x
+ 980 3675
+
+ 61 2 592 4 4 2 2
+ + 4/105 x - --- z + ---- + 1/100 y - 1/150 x + 1/490 x y ,
+ 980 6125
+
+ 3 431 2 2 2
+ COEFF(2, 0, 0) = 1/300 x + ----- x - 1/175 x y - 1/175 x z
+ 29400
+
+ 2 2 41 2 2 4 2 2 2
+ - 1/245 x y + ---- x + 1/245 y z + 1/600 x - 1/245 x z - 1/20 z
+ 2100
+
+ 292 4 4 2 2
+ + ---- + 1/100 y + 1/100 z - 1/20 y , COEFF(-2, 1, 0) = 1/350 x y
+ 6125
+
+ 3 47 3 2 3
+ - 1/600 x y + ---- + 1/150 x y + 2/75 y + 1/175 x z - 1/150 y
+ 6125
+
+ 2 2 187 4 2 311 2
+ + 1/490 y z - ---- x y + 1/100 z + 1/350 x y z + ----- x
+ 7000 29400
+
+ 2 2 3 2 29 2 2 2
+ - 1/490 x y - 1/300 x + 1/350 x y - ---- x - 1/245 x z - 9/196 z
+ 2100
+
+ 2 4 4 2 3
+ - 1/350 y z - 1/150 y + 1/600 x + 2/75 y , COEFF(-1, 1, 0) = 1/150 x
+
+ 272 3 3 151 2 4 151 2 2
+ + ---- + 1/300 x y - 1/150 y + ---- y + 1/100 z + ---- x + 1/350 x z
+ 6125 7350 7350
+
+ 2 4 37 3 2 289
+ - 1/350 y z - 1/150 y - ---- x + 1/300 x y + 1/700 x y z - ----- x y
+ 1050 10500
+
+ 2 2 2 2 2 37 2 2 4
+ + 1/490 x z + 1/490 y z + 1/700 x y + ---- y + 1/980 x y - 1/150 x
+ 1050
+
+ 57 2 2 2 2 4 3
+ - --- z - 1/700 x y, COEFF(0, 1, 0) = 1/245 x z + 1/100 z - 1/150 y
+ 980
+
+ 61 2 2 4 2 4
+ - --- x - 1/350 y z - 1/150 y + 4/105 y - 1/350 x y + 1/100 x
+ 980
+
+ 2 2 2 2 592 61 2 68 2
+ + 1/490 x y + 1/490 y z + ---- - --- z + ---- y , COEFF(1, 1, 0) =
+ 6125 980 3675
+
+ 3 2 3 4 289 3
+ - 1/150 x - 1/350 x z - 1/300 x y + 1/100 z + ----- x y - 1/300 x y
+ 10500
+
+ 2 2 37 57 2 151 2 2 2
+ - 1/700 x y z - 1/700 x y + ---- x - --- z + ---- y + 1/980 x y
+ 1050 980 7350
+
+ 151 2 2 2 3 2 272 2
+ + ---- x + 1/490 x z - 1/150 y - 1/350 y z + ---- - 1/700 x y
+ 7350 6125
+
+ 37 2 2 4 4 3
+ + ---- y + 1/490 y z - 1/150 x - 1/150 y , COEFF(2, 1, 0) = 1/600 x y
+ 1050
+
+ 4 3 4 2 29 2 311 2
+ - 1/150 y + 1/300 x + 1/100 z + 2/75 y + ---- x - 9/196 z + ----- x
+ 2100 29400
+
+ 3 2 2 187 2 2
+ - 1/150 x y - 1/350 y z - 1/350 x y z + ---- x y + 1/490 y z
+ 7000
+
+ 2 2 2 2 2 4 47
+ - 1/350 x y + 1/350 x y - 1/175 x z - 1/245 x z + 1/600 x + ----
+ 6125
+
+ 3 2 2 2 2
+ - 1/150 y - 1/490 x y + 2/75 y, COEFF(-2, 2, 0) = - 1/245 y z
+
+ 3 3 4 47 4
+ - 1/300 x y + 1/300 x - 1/300 x y + 1/600 y + ---- + 1/600 x
+ 6125
+
+ 2 3 2 2 2 33 2
+ + 1/175 x y - 1/300 x - 1/300 y + 1/175 x y z - 1/245 x z - --- z
+ 980
+
+ 2 2 2 2 2 17 4
+ - 1/175 y z - 1/600 x + 1/245 x y - 1/600 y + ---- x y + 1/100 z
+ 5250
+
+ 2 3 2 2
+ - 1/175 x y + 1/300 y + 1/175 x z , COEFF(-1, 2, 0) = - 1/350 x y
+
+ 2 2 3 3 47 2 2 2
+ - 1/245 y z + 1/150 x y - 1/600 x y + ---- + 1/490 x z - 1/175 y z
+ 6125
+
+ 2 2 2 3 187 2
+ + 1/350 x y z - 1/490 x y + 1/150 x - ---- x y - 2/75 x - 1/350 x y
+ 7000
+
+ 2 2 2 311 2 4 4
+ - 9/196 z + 1/350 x z + 2/75 x + ----- y + 1/100 z + 1/600 y
+ 29400
+
+ 3 4 29 2 2 2
+ + 1/300 y - 1/150 x + ---- y, COEFF(0, 2, 0) = - 1/20 x - 1/245 x y
+ 2100
+
+ 292 2 2 4 2 4 2 2
+ + ---- + 1/245 x z + 1/100 x - 1/175 y z + 1/600 y - 1/245 y z
+ 6125
+
+ 2 431 2 4 3 41 2
+ - 1/20 z + ----- y + 1/100 z + 1/300 y + ---- y - 1/175 x y,
+ 29400 2100
+
+ 3 2 2 2
+ COEFF(1, 2, 0) = - 1/150 x - 1/350 x z + 1/490 x z + 2/75 x
+
+ 2 2 2 187 2 2 29
+ + 1/350 x y - 1/490 x y + ---- x y - 1/350 x y z - 1/175 y z + ---- y
+ 7000 2100
+
+ 47 311 2 2 4 2 2 2
+ + ---- + ----- y - 1/350 x y + 1/600 y - 1/245 y z + 2/75 x
+ 6125 29400
+
+ 3 4 3 3 4 2
+ + 1/600 x y - 1/150 x - 1/150 x y + 1/300 y + 1/100 z - 9/196 z ,
+
+ 2 2 2 2 17
+ COEFF(2, 2, 0) = - 1/175 x z + 1/175 x y - 1/245 x z - ---- x y
+ 5250
+
+ 2 47 2 2 2 2
+ - 1/175 y z + ---- + 1/245 x y - 1/175 x y z + 1/175 x y - 1/300 y
+ 6125
+
+ 2 2 2 3 4 3 2
+ - 1/245 y z - 1/600 y + 1/300 x y + 1/600 y + 1/300 x y - 1/600 x
+
+ 3 4 3 4 33 2
+ + 1/300 x + 1/600 x - 1/300 x + 1/300 y + 1/100 z - --- z ,
+ 980
+
+ 19 19 2 2
+ COEFF(-2, -2, 1) = ---- x + ---- y + 8/525 z - 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 2 128 2 169 2 169 2 3 3
+ - 1/350 x y z + ---- z - ----- y - ----- x - 1/300 x - 1/300 y
+ 3675 29400 29400
+
+ 3 4 4 4
+ - 1/150 z + 1/600 y + 1/600 x - 1/150 z - 2/125 + 1/250 x y z
+
+ 107 107 2 2 2 3 3
+ - ---- x z - ---- y z + 1/350 x z - 1/490 x z + 1/150 x z + 1/150 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ - 1/600 x z - 1/490 y z + 1/350 y z + 1/300 x y + 1/245 x y
+
+ 47 2 2 2 2
+ - ---- x y + 1/350 y z - 1/175 x y - 1/175 x y + 1/350 x z
+ 5250
+
+ 3 3 17
+ + 1/300 x y - 1/600 y z, COEFF(-1, -2, 1) = - 1/42 x - ---- y + 1/42 z
+ 2100
+
+ 2 2 2 211 2 191 2
+ + 1/700 x y z - 1/700 x y z - 1/700 x y z + ---- z + ----- y
+ 7350 29400
+
+ 211 2 3 3 3 4 4
+ + ---- x + 1/150 x - 1/300 y - 1/150 z + 1/600 y - 1/150 x
+ 7350
+
+ 4 173 229 167 2
+ - 1/150 z - ---- + 1/500 x y z - ----- x z - ---- y z + 1/700 x z
+ 6125 10500 7000
+
+ 2 2 3 3 3 2 2
+ + 1/980 x z + 1/300 x z + 1/150 y z + 1/300 x z - 1/490 y z
+
+ 2 3 2 2 167 2
+ + 1/350 y z - 1/150 x y - 1/490 x y + ---- x y + 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y - 1/350 x y - 1/700 x z + 1/600 x y - 1/600 y z,
+
+ 2 2 2 2 47 2
+ COEFF(0, -2, 1) = 2/75 z + 1/175 x y - 1/245 x y + ---- + 1/350 x y z
+ 6125
+
+ 2 2 2 2 3 2 3
+ - 1/490 y z + 1/490 x z + 1/150 y z - 9/196 x - 1/600 y z
+
+ 3 311 2 187 4 4 2
+ - 1/150 z + ----- y - ---- y z - 1/150 z + 1/100 x + 1/350 y z
+ 29400 7000
+
+ 2 3 29 2 4
+ + 1/350 y z + 2/75 z - 1/300 y - ---- y - 1/350 x z + 1/600 y ,
+ 2100
+
+ 17 2 2
+ COEFF(1, -2, 1) = 1/42 x - ---- y + 1/42 z + 1/700 x y z + 1/700 x y z
+ 2100
+
+ 2 211 2 191 2 211 2 3 3
+ + 1/700 x y z + ---- z + ----- y + ---- x - 1/150 x - 1/300 y
+ 7350 29400 7350
+
+ 3 4 4 4 173
+ - 1/150 z + 1/600 y - 1/150 x - 1/150 z - ---- - 1/500 x y z
+ 6125
+
+ 229 167 2 2 2 3
+ + ----- x z - ---- y z - 1/700 x z + 1/980 x z - 1/300 x z
+ 10500 7000
+
+ 3 3 2 2 2 3
+ + 1/150 y z - 1/300 x z - 1/490 y z + 1/350 y z + 1/150 x y
+
+ 2 2 167 2 2 2
+ - 1/490 x y - ---- x y + 1/350 y z + 1/350 x y + 1/350 x y
+ 7000
+
+ 2 3 3 19
+ - 1/700 x z - 1/600 x y - 1/600 y z, COEFF(2, -2, 1) = - ---- x
+ 2100
+
+ 19 2 2 2 128 2
+ + ---- y + 8/525 z - 1/350 x y z + 1/350 x y z + 1/350 x y z + ---- z
+ 2100 3675
+
+ 169 2 169 2 3 3 3 4
+ - ----- y - ----- x + 1/300 x - 1/300 y - 1/150 z + 1/600 y
+ 29400 29400
+
+ 4 4 107 107
+ + 1/600 x - 1/150 z - 2/125 - 1/250 x y z + ---- x z - ---- y z
+ 7000 7000
+
+ 2 2 2 3 3 3
+ - 1/350 x z - 1/490 x z - 1/150 x z + 1/150 y z + 1/600 x z
+
+ 2 2 2 3 2 2 47
+ - 1/490 y z + 1/350 y z - 1/300 x y + 1/245 x y + ---- x y
+ 5250
+
+ 2 2 2 2 3
+ + 1/350 y z - 1/175 x y + 1/175 x y + 1/350 x z - 1/300 x y
+
+ 3 17 2
+ - 1/600 y z, COEFF(-2, -1, 1) = - ---- x - 1/42 y + 1/42 z - 1/700 x y z
+ 2100
+
+ 2 2 211 2 211 2 191 2 3
+ - 1/700 x y z + 1/700 x y z + ---- z + ---- y + ----- x - 1/300 x
+ 7350 7350 29400
+
+ 3 3 4 4 4 173
+ + 1/150 y - 1/150 z - 1/150 y + 1/600 x - 1/150 z - ----
+ 6125
+
+ 167 229 2 2 2
+ + 1/500 x y z - ---- x z - ----- y z + 1/350 x z - 1/490 x z
+ 7000 10500
+
+ 3 3 3 2 2 2
+ + 1/150 x z + 1/300 y z - 1/600 x z + 1/980 y z + 1/700 y z
+
+ 3 2 2 167 2 2
+ + 1/600 x y - 1/490 x y + ---- x y - 1/700 y z - 1/350 x y
+ 7000
+
+ 2 2 3 3
+ + 1/350 x y + 1/350 x z - 1/150 x y + 1/300 y z, COEFF(-1, -1, 1) =
+
+ 17 17 17 2 2 2
+ - --- x - --- y + --- z + 1/1400 x y z - 1/1400 x y z + 1/1400 x y z
+ 525 525 525
+
+ 83 2 83 2 83 2 3 3 3 4
+ + ---- z + ---- y + ---- x + 1/150 x + 1/150 y - 1/150 z - 1/150 y
+ 3675 3675 3675
+
+ 4 4 137 137 2
+ - 1/150 x - 1/150 z + 1/1000 x y z - ---- x z - ---- y z + 1/700 x z
+ 5250 5250
+
+ 2 2 3 3 3 2 2
+ + 1/980 x z + 1/300 x z + 1/300 y z + 1/300 x z + 1/980 y z
+
+ 2 3 2 2 137 2
+ + 1/700 y z - 1/300 x y + 1/980 x y + ---- x y - 1/700 y z
+ 5250
+
+ 2 2 2 3 3 23
+ + 1/700 x y + 1/700 x y - 1/700 x z - 1/300 x y + 1/300 y z - ----,
+ 6125
+
+ 151 2 3 2 4
+ COEFF(0, -1, 1) = ---- y + 1/300 y z - 1/350 x z + 1/100 x
+ 7350
+
+ 2 2 272 2 2 2 57 2
+ + 1/980 y z + ---- + 1/700 y z + 1/350 x y + 1/700 x y z - --- x
+ 6125 980
+
+ 289 2 2 3 2 2 37 37
+ - ----- y z + 1/490 x z + 1/150 y + 1/490 x y + ---- z - ---- y
+ 10500 1050 1050
+
+ 3 3 4 2 4 151 2
+ + 1/300 y z - 1/150 z - 1/150 z - 1/700 y z - 1/150 y + ---- z ,
+ 7350
+
+ 17 17 17 2 2
+ COEFF(1, -1, 1) = --- x - --- y + --- z + 1/1400 x y z + 1/1400 x y z
+ 525 525 525
+
+ 2 83 2 83 2 83 2 3 3
+ - 1/1400 x y z + ---- z + ---- y + ---- x - 1/150 x + 1/150 y
+ 3675 3675 3675
+
+ 3 4 4 4 137
+ - 1/150 z - 1/150 y - 1/150 x - 1/150 z - 1/1000 x y z + ---- x z
+ 5250
+
+ 137 2 2 2 3 3
+ - ---- y z - 1/700 x z + 1/980 x z - 1/300 x z + 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ - 1/300 x z + 1/980 y z + 1/700 y z + 1/300 x y + 1/980 x y
+
+ 137 2 2 2 2
+ - ---- x y - 1/700 y z + 1/700 x y - 1/700 x y - 1/700 x z
+ 5250
+
+ 3 3 23 17
+ + 1/300 x y + 1/300 y z - ----, COEFF(2, -1, 1) = ---- x - 1/42 y
+ 6125 2100
+
+ 2 2 2 211 2 211 2
+ + 1/42 z - 1/700 x y z + 1/700 x y z - 1/700 x y z + ---- z + ---- y
+ 7350 7350
+
+ 191 2 3 3 3 4 4
+ + ----- x + 1/300 x + 1/150 y - 1/150 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 173 167 229 2
+ - 1/150 z - ---- - 1/500 x y z + ---- x z - ----- y z - 1/350 x z
+ 6125 7000 10500
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z - 1/150 x z + 1/300 y z + 1/600 x z + 1/980 y z
+
+ 2 3 2 2 167 2
+ + 1/700 y z - 1/600 x y - 1/490 x y - ---- x y - 1/700 y z
+ 7000
+
+ 2 2 2 3 3
+ - 1/350 x y - 1/350 x y + 1/350 x z + 1/150 x y + 1/300 y z,
+
+ 2 2 47 2 2 2
+ COEFF(-2, 0, 1) = - 1/490 x z + ---- - 1/245 x y - 1/350 y z
+ 6125
+
+ 2 2 2 3 29 2 311 2
+ + 1/350 x z + 1/490 y z + 1/150 x z - ---- x + 1/350 x y z + ----- x
+ 2100 29400
+
+ 2 3 4 2 3
+ + 1/350 x z - 1/150 z + 1/100 y + 2/75 z + 2/75 z - 1/600 x z
+
+ 3 187 2 2 4 4
+ - 1/300 x - ---- x z - 9/196 y + 1/175 x y - 1/150 z + 1/600 x ,
+ 7000
+
+ 37 2 57 2 3 2 2
+ COEFF(-1, 0, 1) = ---- z + 1/350 x y - --- y + 1/300 x z + 1/490 x y
+ 1050 980
+
+ 272 2 4 4 3 289
+ + ---- - 1/350 y z + 1/100 y - 1/150 z - 1/150 z - ----- x z
+ 6125 10500
+
+ 2 151 2 37 2 2 151 2 2
+ + 1/700 x z + ---- x - ---- x + 1/490 y z + ---- z - 1/700 x z
+ 7350 1050 7350
+
+ 2 2 3 2 4 3
+ + 1/980 x z + 1/150 x + 1/700 x y z - 1/150 x + 1/300 x z,
+
+ 2 2 2 2 61 2 2 4
+ COEFF(0, 0, 1) = 1/490 x z + 1/490 y z - --- y - 1/350 x z + 1/100 x
+ 980
+
+ 61 2 3 592 4 2 4
+ - --- x - 1/150 z + ---- + 4/105 z - 1/150 z - 1/350 y z + 1/100 y
+ 980 6125
+
+ 2 2 68 2 2 2 2
+ + 1/245 x y + ---- z , COEFF(1, 0, 1) = - 1/350 y z + 1/490 x y
+ 3675
+
+ 2 2 272 2 2 2 4 57 2
+ + 1/980 x z + ---- + 1/490 y z - 1/700 x z - 1/150 x - --- y
+ 6125 980
+
+ 37 2 151 2 3 3 2
+ + ---- z - 1/350 x y + ---- x - 1/300 x z - 1/150 z - 1/700 x z
+ 1050 7350
+
+ 4 2 151 2 37 3 289
+ - 1/150 z - 1/700 x y z + ---- z + ---- x - 1/300 x z + ----- x z
+ 7350 1050 10500
+
+ 4 3 2 2 2
+ + 1/100 y - 1/150 x , COEFF(2, 0, 1) = - 1/350 x z + 1/490 y z
+
+ 187 2 47 2 2 2 2 2
+ + ---- x z - 1/350 y z + ---- - 1/245 x y + 1/350 x z - 1/490 x z
+ 7000 6125
+
+ 3 311 2 3 29 2
+ + 1/600 x z + ----- x - 1/150 x z + 2/75 z + ---- x + 2/75 z
+ 29400 2100
+
+ 3 4 2 4 2 4
+ + 1/300 x + 1/600 x - 1/350 x y z + 1/100 y - 9/196 y - 1/150 z
+
+ 2 3 17
+ - 1/175 x y - 1/150 z , COEFF(-2, 1, 1) = - ---- x + 1/42 y + 1/42 z
+ 2100
+
+ 2 2 2 211 2 211 2
+ + 1/700 x y z + 1/700 x y z + 1/700 x y z + ---- z + ---- y
+ 7350 7350
+
+ 191 2 3 3 3 4 4
+ + ----- x - 1/300 x - 1/150 y - 1/150 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 173 167 229 2
+ - 1/150 z - ---- - 1/500 x y z - ---- x z + ----- y z + 1/350 x z
+ 6125 7000 10500
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z + 1/150 x z - 1/300 y z - 1/600 x z + 1/980 y z
+
+ 2 3 2 2 167 2
+ - 1/700 y z - 1/600 x y - 1/490 x y - ---- x y - 1/700 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y + 1/350 x y + 1/350 x z + 1/150 x y - 1/300 y z,
+
+ 17 17 17 2 2
+ COEFF(-1, 1, 1) = - --- x + --- y + --- z - 1/1400 x y z + 1/1400 x y z
+ 525 525 525
+
+ 2 83 2 83 2 83 2 3 3
+ + 1/1400 x y z + ---- z + ---- y + ---- x + 1/150 x - 1/150 y
+ 3675 3675 3675
+
+ 3 4 4 4 137
+ - 1/150 z - 1/150 y - 1/150 x - 1/150 z - 1/1000 x y z - ---- x z
+ 5250
+
+ 137 2 2 2 3 3
+ + ---- y z + 1/700 x z + 1/980 x z + 1/300 x z - 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ + 1/300 x z + 1/980 y z - 1/700 y z + 1/300 x y + 1/980 x y
+
+ 137 2 2 2 2
+ - ---- x y - 1/700 y z - 1/700 x y + 1/700 x y - 1/700 x z
+ 5250
+
+ 3 3 23 37 3
+ + 1/300 x y - 1/300 y z - ----, COEFF(0, 1, 1) = ---- y - 1/150 y
+ 6125 1050
+
+ 289 2 4 151 2 2 4
+ + ----- y z - 1/700 y z - 1/150 z + ---- z - 1/700 y z + 1/100 x
+ 10500 7350
+
+ 151 2 3 37 2 2 2 2
+ + ---- y - 1/300 y z + ---- z + 1/980 y z - 1/350 x z - 1/700 x y z
+ 7350 1050
+
+ 3 2 2 2 2 272 3 2
+ - 1/300 y z + 1/490 x y + 1/490 x z + ---- - 1/150 z - 1/350 x y
+ 6125
+
+ 4 57 2 17 17 17
+ - 1/150 y - --- x , COEFF(1, 1, 1) = --- x + --- y + --- z
+ 980 525 525 525
+
+ 2 2 2 83 2 83 2
+ - 1/1400 x y z - 1/1400 x y z - 1/1400 x y z + ---- z + ---- y
+ 3675 3675
+
+ 83 2 3 3 3 4 4
+ + ---- x - 1/150 x - 1/150 y - 1/150 z - 1/150 y - 1/150 x
+ 3675
+
+ 4 137 137 2 2 2
+ - 1/150 z + 1/1000 x y z + ---- x z + ---- y z - 1/700 x z + 1/980 x z
+ 5250 5250
+
+ 3 3 3 2 2 2
+ - 1/300 x z - 1/300 y z - 1/300 x z + 1/980 y z - 1/700 y z
+
+ 3 2 2 137 2 2
+ - 1/300 x y + 1/980 x y + ---- x y - 1/700 y z - 1/700 x y
+ 5250
+
+ 2 2 3 3 23
+ - 1/700 x y - 1/700 x z - 1/300 x y - 1/300 y z - ----, COEFF(2, 1, 1)
+ 6125
+
+ 17 2 2 2
+ = ---- x + 1/42 y + 1/42 z + 1/700 x y z - 1/700 x y z - 1/700 x y z
+ 2100
+
+ 211 2 211 2 191 2 3 3 3 4
+ + ---- z + ---- y + ----- x + 1/300 x - 1/150 y - 1/150 z - 1/150 y
+ 7350 7350 29400
+
+ 4 4 173 167 229
+ + 1/600 x - 1/150 z - ---- + 1/500 x y z + ---- x z + ----- y z
+ 6125 7000 10500
+
+ 2 2 2 3 3 3
+ - 1/350 x z - 1/490 x z - 1/150 x z - 1/300 y z + 1/600 x z
+
+ 2 2 2 3 2 2 167
+ + 1/980 y z - 1/700 y z + 1/600 x y - 1/490 x y + ---- x y
+ 7000
+
+ 2 2 2 2 3
+ - 1/700 y z + 1/350 x y - 1/350 x y + 1/350 x z - 1/150 x y
+
+ 3 19 19 2
+ - 1/300 y z, COEFF(-2, 2, 1) = ---- x - ---- y + 8/525 z + 1/350 x y z
+ 2100 2100
+
+ 2 2 128 2 169 2 169 2 3
+ + 1/350 x y z - 1/350 x y z + ---- z - ----- y - ----- x - 1/300 x
+ 3675 29400 29400
+
+ 3 3 4 4 4
+ + 1/300 y - 1/150 z + 1/600 y + 1/600 x - 1/150 z - 2/125
+
+ 107 107 2 2 2
+ - 1/250 x y z - ---- x z + ---- y z + 1/350 x z - 1/490 x z
+ 7000 7000
+
+ 3 3 3 2 2 2
+ + 1/150 x z - 1/150 y z - 1/600 x z - 1/490 y z - 1/350 y z
+
+ 3 2 2 47 2 2
+ - 1/300 x y + 1/245 x y + ---- x y + 1/350 y z + 1/175 x y
+ 5250
+
+ 2 2 3 3
+ - 1/175 x y + 1/350 x z - 1/300 x y + 1/600 y z, COEFF(-1, 2, 1) =
+
+ 17 2 2 2
+ - 1/42 x + ---- y + 1/42 z - 1/700 x y z + 1/700 x y z - 1/700 x y z
+ 2100
+
+ 211 2 191 2 211 2 3 3 3 4
+ + ---- z + ----- y + ---- x + 1/150 x + 1/300 y - 1/150 z + 1/600 y
+ 7350 29400 7350
+
+ 4 4 173 229 167
+ - 1/150 x - 1/150 z - ---- - 1/500 x y z - ----- x z + ---- y z
+ 6125 10500 7000
+
+ 2 2 2 3 3 3
+ + 1/700 x z + 1/980 x z + 1/300 x z - 1/150 y z + 1/300 x z
+
+ 2 2 2 3 2 2 167
+ - 1/490 y z - 1/350 y z + 1/150 x y - 1/490 x y - ---- x y
+ 7000
+
+ 2 2 2 2 3
+ + 1/350 y z - 1/350 x y - 1/350 x y - 1/700 x z - 1/600 x y
+
+ 3 4 3 3
+ + 1/600 y z, COEFF(0, 2, 1) = - 1/150 z + 1/300 y - 1/150 y z
+
+ 2 2 2 2 3 2 2 47
+ + 1/490 x z + 1/350 y z - 1/350 x z + 1/600 y z - 1/245 x y + ----
+ 6125
+
+ 4 2 2 2 187 4
+ + 1/600 y - 1/350 y z - 1/175 x y - 1/350 x y z + ---- y z + 1/100 x
+ 7000
+
+ 311 2 29 3 2 2 2 2
+ + ----- y + ---- y + 2/75 z - 1/150 z - 9/196 x + 2/75 z - 1/490 y z
+ 29400 2100
+
+ 17 2 2
+ , COEFF(1, 2, 1) = 1/42 x + ---- y + 1/42 z - 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 211 2 191 2 211 2 3 3
+ + 1/700 x y z + ---- z + ----- y + ---- x - 1/150 x + 1/300 y
+ 7350 29400 7350
+
+ 3 4 4 4 173
+ - 1/150 z + 1/600 y - 1/150 x - 1/150 z - ---- + 1/500 x y z
+ 6125
+
+ 229 167 2 2 2 3
+ + ----- x z + ---- y z - 1/700 x z + 1/980 x z - 1/300 x z
+ 10500 7000
+
+ 3 3 2 2 2 3
+ - 1/150 y z - 1/300 x z - 1/490 y z - 1/350 y z - 1/150 x y
+
+ 2 2 167 2 2 2
+ - 1/490 x y + ---- x y + 1/350 y z - 1/350 x y + 1/350 x y
+ 7000
+
+ 2 3 3 19 19
+ - 1/700 x z + 1/600 x y + 1/600 y z, COEFF(2, 2, 1) = - ---- x - ---- y
+ 2100 2100
+
+ 2 2 2 128 2
+ + 8/525 z + 1/350 x y z - 1/350 x y z + 1/350 x y z + ---- z
+ 3675
+
+ 169 2 169 2 3 3 3 4
+ - ----- y - ----- x + 1/300 x + 1/300 y - 1/150 z + 1/600 y
+ 29400 29400
+
+ 4 4 107 107
+ + 1/600 x - 1/150 z - 2/125 + 1/250 x y z + ---- x z + ---- y z
+ 7000 7000
+
+ 2 2 2 3 3 3
+ - 1/350 x z - 1/490 x z - 1/150 x z - 1/150 y z + 1/600 x z
+
+ 2 2 2 3 2 2 47
+ - 1/490 y z - 1/350 y z + 1/300 x y + 1/245 x y - ---- x y
+ 5250
+
+ 2 2 2 2 3
+ + 1/350 y z + 1/175 x y + 1/175 x y + 1/350 x z + 1/300 x y
+
+ 3 11 11 11 2
+ + 1/600 y z, COEFF(-2, -2, 2) = --- x + --- y - --- z - 1/175 x y z
+ 420 420 420
+
+ 2 2 529 2 529 2 529 2 3
+ + 1/175 x y z - 1/175 x y z - ----- z - ----- y - ----- x - 1/300 x
+ 29400 29400 29400
+
+ 3 3 4 4 4 202
+ - 1/300 y + 1/300 z + 1/600 y + 1/600 x + 1/600 z + ----
+ 6125
+
+ 137 137 2 2 2
+ + 1/125 x y z + ---- x z + ---- y z - 1/175 x z + 1/245 x z
+ 5250 5250
+
+ 3 3 3 2 2 2
+ - 1/300 x z - 1/300 y z - 1/300 x z + 1/245 y z - 1/175 y z
+
+ 3 2 2 137 2 2
+ + 1/300 x y + 1/245 x y - ---- x y + 1/175 y z - 1/175 x y
+ 5250
+
+ 2 2 3 3
+ - 1/175 x y + 1/175 x z + 1/300 x y - 1/300 y z, COEFF(-1, -2, 2) =
+
+ 19 19 2 2 2
+ - 8/525 x + ---- y - ---- z + 1/350 x y z + 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 169 2 169 2 128 2 3 3 3
+ - ----- z - ----- y + ---- x + 1/150 x - 1/300 y + 1/300 z
+ 29400 29400 3675
+
+ 4 4 4 107
+ + 1/600 y - 1/150 x + 1/600 z - 2/125 + 1/250 x y z - ---- x z
+ 7000
+
+ 47 2 2 2 3 3
+ + ---- y z - 1/350 x z - 1/490 x z - 1/600 x z - 1/300 y z
+ 5250
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z + 1/245 y z - 1/175 y z - 1/150 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y + 1/175 y z + 1/350 x y - 1/350 x y - 1/350 x z
+ 7000
+
+ 3 3 2 2 2
+ + 1/600 x y - 1/300 y z, COEFF(0, -2, 2) = - 1/245 x z + 1/175 y z
+
+ 2 2 3 2 2 2 2
+ - 1/175 x z - 1/600 z - 1/300 y z - 1/245 x y + 1/245 y z
+
+ 3 2 17 2 47
+ - 1/300 y + 1/175 x y z + 1/300 y + ---- y z - 1/600 y + ----
+ 5250 6125
+
+ 4 2 33 2 3 4 3
+ + 1/600 z - 1/175 y z - --- x - 1/300 y z + 1/600 y + 1/300 z
+ 980
+
+ 4 2 19
+ + 1/100 x + 1/175 x y - 1/300 z, COEFF(1, -2, 2) = 8/525 x + ---- y
+ 2100
+
+ 19 2 2 2 169 2
+ - ---- z + 1/350 x y z - 1/350 x y z + 1/350 x y z - ----- z
+ 2100 29400
+
+ 169 2 128 2 3 3 3 4
+ - ----- y + ---- x - 1/150 x - 1/300 y + 1/300 z + 1/600 y
+ 29400 3675
+
+ 4 4 107 47
+ - 1/150 x + 1/600 z - 2/125 - 1/250 x y z + ---- x z + ---- y z
+ 7000 5250
+
+ 2 2 2 3 3 3
+ + 1/350 x z - 1/490 x z + 1/600 x z - 1/300 y z - 1/150 x z
+
+ 2 2 2 3 2 2 107
+ + 1/245 y z - 1/175 y z + 1/150 x y - 1/490 x y - ---- x y
+ 7000
+
+ 2 2 2 2 3
+ + 1/175 y z + 1/350 x y + 1/350 x y - 1/350 x z - 1/600 x y
+
+ 3 11 11 11 2
+ - 1/300 y z, COEFF(2, -2, 2) = - --- x + --- y - --- z - 1/175 x y z
+ 420 420 420
+
+ 2 2 529 2 529 2 529 2 3
+ - 1/175 x y z + 1/175 x y z - ----- z - ----- y - ----- x + 1/300 x
+ 29400 29400 29400
+
+ 3 3 4 4 4 202
+ - 1/300 y + 1/300 z + 1/600 y + 1/600 x + 1/600 z + ----
+ 6125
+
+ 137 137 2 2 2
+ - 1/125 x y z - ---- x z + ---- y z + 1/175 x z + 1/245 x z
+ 5250 5250
+
+ 3 3 3 2 2 2
+ + 1/300 x z - 1/300 y z + 1/300 x z + 1/245 y z - 1/175 y z
+
+ 3 2 2 137 2 2
+ - 1/300 x y + 1/245 x y + ---- x y + 1/175 y z - 1/175 x y
+ 5250
+
+ 2 2 3 3
+ + 1/175 x y + 1/175 x z - 1/300 x y - 1/300 y z, COEFF(-2, -1, 2) =
+
+ 19 19 2 2 2
+ ---- x - 8/525 y - ---- z - 1/350 x y z + 1/350 x y z + 1/350 x y z
+ 2100 2100
+
+ 169 2 128 2 169 2 3 3 3
+ - ----- z + ---- y - ----- x - 1/300 x + 1/150 y + 1/300 z
+ 29400 3675 29400
+
+ 4 4 4 47
+ - 1/150 y + 1/600 x + 1/600 z - 2/125 + 1/250 x y z + ---- x z
+ 5250
+
+ 107 2 2 2 3 3
+ - ---- y z - 1/175 x z + 1/245 x z - 1/300 x z - 1/600 y z
+ 7000
+
+ 3 2 2 2 3 2 2
+ - 1/300 x z - 1/490 y z - 1/350 y z + 1/600 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y - 1/350 y z - 1/350 x y + 1/350 x y + 1/175 x z
+ 7000
+
+ 3 3 17
+ - 1/150 x y + 1/150 y z, COEFF(-1, -1, 2) = - 1/42 x - 1/42 y + ---- z
+ 2100
+
+ 2 2 2 191 2 211 2
+ + 1/700 x y z + 1/700 x y z + 1/700 x y z + ----- z + ---- y
+ 29400 7350
+
+ 211 2 3 3 3 4 4
+ + ---- x + 1/150 x + 1/150 y + 1/300 z - 1/150 y - 1/150 x
+ 7350
+
+ 4 173 167 167 2
+ + 1/600 z - ---- + 1/500 x y z - ---- x z - ---- y z - 1/350 x z
+ 6125 7000 7000
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z - 1/600 x z - 1/600 y z + 1/150 x z - 1/490 y z
+
+ 2 3 2 2 229 2
+ - 1/350 y z - 1/300 x y + 1/980 x y + ----- x y - 1/350 y z
+ 10500
+
+ 2 2 2 3 3
+ + 1/700 x y + 1/700 x y - 1/350 x z - 1/300 x y + 1/150 y z,
+
+ 2 3 4 29 2
+ COEFF(0, -1, 2) = - 9/196 x + 1/150 y - 1/150 y + ---- z - 1/350 y z
+ 2100
+
+ 2 2 2 47 3 2 3
+ - 1/490 y z + 2/75 y + ---- + 1/300 z + 1/350 x y z + 1/150 y z
+ 6125
+
+ 4 2 311 2 187 2 2
+ + 1/600 z - 2/75 y - 1/175 x z + ----- z - ---- y z + 1/490 x y
+ 29400 7000
+
+ 2 3 2 2 2 4
+ - 1/350 y z - 1/600 y z + 1/350 x y - 1/245 x z + 1/100 x ,
+
+ 17 2 2
+ COEFF(1, -1, 2) = 1/42 x - 1/42 y + ---- z + 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 191 2 211 2 211 2 3 3
+ - 1/700 x y z + ----- z + ---- y + ---- x - 1/150 x + 1/150 y
+ 29400 7350 7350
+
+ 3 4 4 4 173
+ + 1/300 z - 1/150 y - 1/150 x + 1/600 z - ---- - 1/500 x y z
+ 6125
+
+ 167 167 2 2 2 3 3
+ + ---- x z - ---- y z + 1/350 x z - 1/490 x z + 1/600 x z - 1/600 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ - 1/150 x z - 1/490 y z - 1/350 y z + 1/300 x y + 1/980 x y
+
+ 229 2 2 2 2
+ - ----- x y - 1/350 y z + 1/700 x y - 1/700 x y - 1/350 x z
+ 10500
+
+ 3 3 19 19
+ + 1/300 x y + 1/150 y z, COEFF(2, -1, 2) = - ---- x - 8/525 y - ---- z
+ 2100 2100
+
+ 2 2 2 169 2 128 2
+ - 1/350 x y z - 1/350 x y z - 1/350 x y z - ----- z + ---- y
+ 29400 3675
+
+ 169 2 3 3 3 4 4
+ - ----- x + 1/300 x + 1/150 y + 1/300 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 47 107 2
+ + 1/600 z - 2/125 - 1/250 x y z - ---- x z - ---- y z + 1/175 x z
+ 5250 7000
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z + 1/300 x z - 1/600 y z + 1/300 x z - 1/490 y z
+
+ 2 3 2 2 107 2
+ - 1/350 y z - 1/600 x y - 1/490 x y - ---- x y - 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ - 1/350 x y - 1/350 x y + 1/175 x z + 1/150 x y + 1/150 y z,
+
+ 47 3 2 3
+ COEFF(-2, 0, 2) = ---- + 1/300 z + 1/300 x + 1/175 x z - 1/300 x z
+ 6125
+
+ 33 2 17 2 3 2
+ - --- y + ---- x z + 1/175 x y z - 1/300 z - 1/300 x - 1/600 z
+ 980 5250
+
+ 2 2 2 2 2 4 2
+ + 1/245 x z - 1/600 x - 1/175 y z + 1/175 x y + 1/600 x - 1/175 x z
+
+ 2 2 3 4 2 2 4
+ - 1/245 x y - 1/300 x z + 1/100 y - 1/245 y z + 1/600 z ,
+
+ 2 187 2 2 2
+ COEFF(-1, 0, 2) = 1/350 x y - ---- x z - 1/245 y z - 1/175 y z
+ 7000
+
+ 2 2 2 3 47 2 2 4
+ - 1/350 x z - 1/490 x z - 1/600 x z + ---- + 1/490 x y + 1/600 z
+ 6125
+
+ 2 3 3 2 3 2
+ + 1/350 x y z + 1/150 x + 1/300 z - 9/196 y + 1/150 x z - 1/350 x z
+
+ 29 311 2 4 2 4
+ + ---- z - 2/75 x + ----- z + 1/100 y + 2/75 x - 1/150 x ,
+ 2100 29400
+
+ 2 2 2 2 2 2 292
+ COEFF(0, 0, 2) = - 1/175 y z + 1/245 x y - 1/20 x - 1/245 y z + ----
+ 6125
+
+ 4 2 2 2 431 2 2 4
+ + 1/600 z - 1/245 x z - 1/175 x z + ----- z - 1/20 y + 1/100 y
+ 29400
+
+ 4 41 3 2 187
+ + 1/100 x + ---- z + 1/300 z , COEFF(1, 0, 2) = - 1/350 x y + ---- x z
+ 2100 7000
+
+ 2 3 3 2 2 2 47
+ + 1/350 x z + 1/600 x z - 1/150 x z - 9/196 y - 1/490 x z + ----
+ 6125
+
+ 311 2 4 2 2 2 4
+ + ----- z + 1/600 z - 1/350 x y z + 1/490 x y - 1/150 x + 2/75 x
+ 29400
+
+ 4 3 2 2 3 2
+ + 1/100 y - 1/150 x - 1/175 y z - 1/350 x z + 1/300 z + 2/75 x
+
+ 2 2 29 47 17 2
+ - 1/245 y z + ---- z, COEFF(2, 0, 2) = ---- - ---- x z - 1/175 x y
+ 2100 6125 5250
+
+ 2 3 3 2 2 2
+ + 1/175 x z + 1/300 x z + 1/300 x z - 1/175 y z - 1/245 y z
+
+ 2 2 4 2 2 4 2
+ + 1/245 x z + 1/600 x - 1/245 x y + 1/100 y - 1/175 x y z
+
+ 3 2 4 3 2
+ + 1/300 z + 1/175 x z + 1/600 z + 1/300 x - 1/300 x - 1/600 z
+
+ 2 33 2 19 19
+ - 1/600 x - --- y - 1/300 z, COEFF(-2, 1, 2) = ---- x + 8/525 y - ---- z
+ 980 2100 2100
+
+ 2 2 2 169 2 128 2
+ + 1/350 x y z - 1/350 x y z + 1/350 x y z - ----- z + ---- y
+ 29400 3675
+
+ 169 2 3 3 3 4 4
+ - ----- x - 1/300 x - 1/150 y + 1/300 z - 1/150 y + 1/600 x
+ 29400
+
+ 4 47 107 2
+ + 1/600 z - 2/125 - 1/250 x y z + ---- x z + ---- y z - 1/175 x z
+ 5250 7000
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z - 1/300 x z + 1/600 y z - 1/300 x z - 1/490 y z
+
+ 2 3 2 2 107 2
+ + 1/350 y z - 1/600 x y - 1/490 x y - ---- x y - 1/350 y z
+ 7000
+
+ 2 2 2 3 3
+ + 1/350 x y + 1/350 x y + 1/175 x z + 1/150 x y - 1/150 y z,
+
+ 17 2 2
+ COEFF(-1, 1, 2) = - 1/42 x + 1/42 y + ---- z - 1/700 x y z - 1/700 x y z
+ 2100
+
+ 2 191 2 211 2 211 2 3 3
+ + 1/700 x y z + ----- z + ---- y + ---- x + 1/150 x - 1/150 y
+ 29400 7350 7350
+
+ 3 4 4 4 173
+ + 1/300 z - 1/150 y - 1/150 x + 1/600 z - ---- - 1/500 x y z
+ 6125
+
+ 167 167 2 2 2 3 3
+ - ---- x z + ---- y z - 1/350 x z - 1/490 x z - 1/600 x z + 1/600 y z
+ 7000 7000
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z - 1/490 y z + 1/350 y z + 1/300 x y + 1/980 x y
+
+ 229 2 2 2 2
+ - ----- x y - 1/350 y z - 1/700 x y + 1/700 x y - 1/350 x z
+ 10500
+
+ 3 3 2 3
+ + 1/300 x y - 1/150 y z, COEFF(0, 1, 2) = - 1/175 x z - 1/150 y z
+
+ 29 4 2 2 3 311 2
+ + ---- z - 1/150 y - 1/350 x y - 9/196 x + 1/300 z + ----- z + 2/75 y
+ 2100 29400
+
+ 2 2 2 2 4 2 2
+ - 1/350 x y z - 1/350 y z - 1/490 y z + 1/100 x + 1/490 x y
+
+ 3 3 2 4 2 47
+ - 1/150 y + 1/600 y z + 2/75 y + 1/600 z + 1/350 y z + ----
+ 6125
+
+ 2 2 187 17
+ - 1/245 x z + ---- y z, COEFF(1, 1, 2) = 1/42 x + 1/42 y + ---- z
+ 7000 2100
+
+ 2 2 2 191 2 211 2
+ - 1/700 x y z + 1/700 x y z - 1/700 x y z + ----- z + ---- y
+ 29400 7350
+
+ 211 2 3 3 3 4 4
+ + ---- x - 1/150 x - 1/150 y + 1/300 z - 1/150 y - 1/150 x
+ 7350
+
+ 4 173 167 167 2
+ + 1/600 z - ---- + 1/500 x y z + ---- x z + ---- y z + 1/350 x z
+ 6125 7000 7000
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z + 1/600 x z + 1/600 y z - 1/150 x z - 1/490 y z
+
+ 2 3 2 2 229 2
+ + 1/350 y z - 1/300 x y + 1/980 x y + ----- x y - 1/350 y z
+ 10500
+
+ 2 2 2 3 3
+ - 1/700 x y - 1/700 x y - 1/350 x z - 1/300 x y - 1/150 y z,
+
+ 19 19 2 2
+ COEFF(2, 1, 2) = - ---- x + 8/525 y - ---- z + 1/350 x y z + 1/350 x y z
+ 2100 2100
+
+ 2 169 2 128 2 169 2 3 3
+ - 1/350 x y z - ----- z + ---- y - ----- x + 1/300 x - 1/150 y
+ 29400 3675 29400
+
+ 3 4 4 4
+ + 1/300 z - 1/150 y + 1/600 x + 1/600 z - 2/125 + 1/250 x y z
+
+ 47 107 2 2 2 3 3
+ - ---- x z + ---- y z + 1/175 x z + 1/245 x z + 1/300 x z + 1/600 y z
+ 5250 7000
+
+ 3 2 2 2 3 2 2
+ + 1/300 x z - 1/490 y z + 1/350 y z + 1/600 x y - 1/490 x y
+
+ 107 2 2 2 2
+ + ---- x y - 1/350 y z + 1/350 x y - 1/350 x y + 1/175 x z
+ 7000
+
+ 3 3 11 11 11
+ - 1/150 x y - 1/150 y z, COEFF(-2, 2, 2) = --- x - --- y - --- z
+ 420 420 420
+
+ 2 2 2 529 2 529 2
+ + 1/175 x y z - 1/175 x y z - 1/175 x y z - ----- z - ----- y
+ 29400 29400
+
+ 529 2 3 3 3 4 4
+ - ----- x - 1/300 x + 1/300 y + 1/300 z + 1/600 y + 1/600 x
+ 29400
+
+ 4 202 137 137 2
+ + 1/600 z + ---- - 1/125 x y z + ---- x z - ---- y z - 1/175 x z
+ 6125 5250 5250
+
+ 2 2 3 3 3 2 2
+ + 1/245 x z - 1/300 x z + 1/300 y z - 1/300 x z + 1/245 y z
+
+ 2 3 2 2 137 2
+ + 1/175 y z - 1/300 x y + 1/245 x y + ---- x y + 1/175 y z
+ 5250
+
+ 2 2 2 3 3
+ + 1/175 x y - 1/175 x y + 1/175 x z - 1/300 x y + 1/300 y z,
+
+ 19 19 2 2
+ COEFF(-1, 2, 2) = - 8/525 x - ---- y - ---- z - 1/350 x y z - 1/350 x y z
+ 2100 2100
+
+ 2 169 2 169 2 128 2 3 3
+ - 1/350 x y z - ----- z - ----- y + ---- x + 1/150 x + 1/300 y
+ 29400 29400 3675
+
+ 3 4 4 4
+ + 1/300 z + 1/600 y - 1/150 x + 1/600 z - 2/125 - 1/250 x y z
+
+ 107 47 2 2 2 3 3
+ - ---- x z - ---- y z - 1/350 x z - 1/490 x z - 1/600 x z + 1/300 y z
+ 7000 5250
+
+ 3 2 2 2 3 2 2
+ + 1/150 x z + 1/245 y z + 1/175 y z + 1/150 x y - 1/490 x y
+
+ 107 2 2 2 2
+ - ---- x y + 1/175 y z - 1/350 x y - 1/350 x y - 1/350 x z
+ 7000
+
+ 3 3 33 2 3
+ - 1/600 x y + 1/300 y z, COEFF(0, 2, 2) = - --- x + 1/300 y z
+ 980
+
+ 2 2 2 2 2 2
+ + 1/175 y z - 1/175 x y z - 1/600 z + 1/245 y z - 1/175 x y
+
+ 4 47 3 3 2 4 4
+ + 1/600 z + ---- + 1/300 z + 1/300 y z - 1/600 y + 1/100 x + 1/600 y
+ 6125
+
+ 2 2 2 2 17 2 2
+ - 1/175 x z - 1/300 y + 1/175 y z - 1/245 x y - ---- y z - 1/245 x z
+ 5250
+
+ 3 19 19
+ + 1/300 y - 1/300 z, COEFF(1, 2, 2) = 8/525 x - ---- y - ---- z
+ 2100 2100
+
+ 2 2 2 169 2 169 2
+ - 1/350 x y z + 1/350 x y z + 1/350 x y z - ----- z - ----- y
+ 29400 29400
+
+ 128 2 3 3 3 4 4
+ + ---- x - 1/150 x + 1/300 y + 1/300 z + 1/600 y - 1/150 x
+ 3675
+
+ 4 107 47 2
+ + 1/600 z - 2/125 + 1/250 x y z + ---- x z - ---- y z + 1/350 x z
+ 7000 5250
+
+ 2 2 3 3 3 2 2
+ - 1/490 x z + 1/600 x z + 1/300 y z - 1/150 x z + 1/245 y z
+
+ 2 3 2 2 107 2
+ + 1/175 y z - 1/150 x y - 1/490 x y + ---- x y + 1/175 y z
+ 7000
+
+ 2 2 2 3 3
+ - 1/350 x y + 1/350 x y - 1/350 x z + 1/600 x y + 1/300 y z,
+
+ 11 11 11 2 2
+ COEFF(2, 2, 2) = - --- x - --- y - --- z + 1/175 x y z + 1/175 x y z
+ 420 420 420
+
+ 2 529 2 529 2 529 2 3 3
+ + 1/175 x y z - ----- z - ----- y - ----- x + 1/300 x + 1/300 y
+ 29400 29400 29400
+
+ 3 4 4 4 202
+ + 1/300 z + 1/600 y + 1/600 x + 1/600 z + ---- + 1/125 x y z
+ 6125
+
+ 137 137 2 2 2 3 3
+ - ---- x z - ---- y z + 1/175 x z + 1/245 x z + 1/300 x z + 1/300 y z
+ 5250 5250
+
+ 3 2 2 2 3 2 2
+ + 1/300 x z + 1/245 y z + 1/175 y z + 1/300 x y + 1/245 x y
+
+ 137 2 2 2 2
+ - ---- x y + 1/175 y z + 1/175 x y + 1/175 x y + 1/175 x z
+ 5250
+
+ 3 3
+ + 1/300 x y + 1/300 y z]
+
+> print_coeff__lc_of_data(%, "coeff_I_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c");
+bytes used=753066536, alloc=6945544, time=77.38
+bytes used=754066688, alloc=6945544, time=77.47
+bytes used=755066844, alloc=6945544, time=77.54
+bytes used=756067380, alloc=6945544, time=77.62
+bytes used=757067540, alloc=6945544, time=77.69
+bytes used=758067700, alloc=6945544, time=77.77
+bytes used=759068112, alloc=6945544, time=77.85
+bytes used=760068848, alloc=6945544, time=77.92
+bytes used=761069184, alloc=6945544, time=78.00
+bytes used=762069348, alloc=6945544, time=78.07
+bytes used=763069888, alloc=6945544, time=78.14
+bytes used=764070052, alloc=6945544, time=78.22
+bytes used=765070204, alloc=6945544, time=78.30
+bytes used=766070420, alloc=6945544, time=78.40
+bytes used=767070584, alloc=6945544, time=78.92
+bytes used=768071084, alloc=6945544, time=79.45
+bytes used=769071424, alloc=6945544, time=79.97
+bytes used=770071580, alloc=6945544, time=80.48
+bytes used=771072280, alloc=6945544, time=80.98
+bytes used=772072552, alloc=6945544, time=81.18
+bytes used=773072740, alloc=6945544, time=81.26
+bytes used=774072940, alloc=6945544, time=81.35
+bytes used=775073152, alloc=6945544, time=81.44
+bytes used=776073480, alloc=6945544, time=81.53
+bytes used=777073652, alloc=6945544, time=81.62
+bytes used=778073816, alloc=6945544, time=81.70
+bytes used=779074120, alloc=6945544, time=81.79
+bytes used=780074308, alloc=6945544, time=81.88
+bytes used=781074472, alloc=6945544, time=81.97
+bytes used=782074688, alloc=6945544, time=82.07
+bytes used=783330180, alloc=6945544, time=82.15
+bytes used=784394728, alloc=6945544, time=82.21
+bytes used=785451216, alloc=6945544, time=82.27
+bytes used=786494956, alloc=6945544, time=82.33
+bytes used=787523620, alloc=6945544, time=82.39
+bytes used=788543956, alloc=6945544, time=82.45
+bytes used=789554088, alloc=6945544, time=82.51
+bytes used=790557268, alloc=6945544, time=82.57
+bytes used=791558968, alloc=6945544, time=82.63
+bytes used=792790916, alloc=6945544, time=82.70
+bytes used=794017824, alloc=6945544, time=82.77
+bytes used=795233084, alloc=6945544, time=82.84
+bytes used=796439252, alloc=6945544, time=82.91
+bytes used=797637176, alloc=6945544, time=82.98
+bytes used=798826664, alloc=6945544, time=83.05
+bytes used=800011540, alloc=6945544, time=83.11
+bytes used=801195100, alloc=6945544, time=83.18
+bytes used=802375532, alloc=6945544, time=83.25
+bytes used=803545472, alloc=6945544, time=83.32
+bytes used=804686732, alloc=6945544, time=83.39
+bytes used=805799200, alloc=6945544, time=83.46
+bytes used=806896404, alloc=6945544, time=83.53
+bytes used=807976032, alloc=6945544, time=83.59
+bytes used=809033384, alloc=6945544, time=83.66
+bytes used=810071824, alloc=6945544, time=83.73
+bytes used=811089856, alloc=6945544, time=83.80
+bytes used=812092200, alloc=6945544, time=83.86
+bytes used=813247076, alloc=6945544, time=83.94
+bytes used=814375196, alloc=6945544, time=84.01
+bytes used=815469140, alloc=6945544, time=84.08
+bytes used=816536992, alloc=6945544, time=84.16
+bytes used=817583152, alloc=6945544, time=84.23
+bytes used=818598820, alloc=6945544, time=84.30
+bytes used=819734660, alloc=6945544, time=84.38
+bytes used=820820768, alloc=6945544, time=84.46
+bytes used=821861556, alloc=6945544, time=84.54
+bytes used=822875180, alloc=6945544, time=84.62
+bytes used=823875444, alloc=6945544, time=84.70
+bytes used=825004496, alloc=6945544, time=84.78
+bytes used=826122080, alloc=6945544, time=84.87
+bytes used=827234252, alloc=6945544, time=84.95
+bytes used=828339788, alloc=6945544, time=85.04
+bytes used=829440256, alloc=6945544, time=85.13
+bytes used=830525428, alloc=6945544, time=85.21
+bytes used=831526592, alloc=6945544, time=85.30
+bytes used=832578140, alloc=6945544, time=85.40
+bytes used=833588820, alloc=6945544, time=85.49
+bytes used=834646356, alloc=6945544, time=85.59
+bytes used=835663652, alloc=6945544, time=85.69
+bytes used=836675244, alloc=6945544, time=85.79
+bytes used=837677520, alloc=6945544, time=85.89
+bytes used=838678588, alloc=6945544, time=85.99
+bytes used=839679508, alloc=6945544, time=86.09
+bytes used=840687200, alloc=6945544, time=86.18
+bytes used=841756664, alloc=6945544, time=86.28
+bytes used=842757664, alloc=6945544, time=86.35
+bytes used=843757844, alloc=6945544, time=86.42
+bytes used=844787924, alloc=6945544, time=88.39
+bytes used=845788228, alloc=6945544, time=88.84
+bytes used=846788400, alloc=6945544, time=88.93
+bytes used=847788556, alloc=6945544, time=89.03
+bytes used=848788824, alloc=6945544, time=89.11
+bytes used=849789200, alloc=6945544, time=89.18
+bytes used=850789352, alloc=6945544, time=89.26
+bytes used=851789616, alloc=6945544, time=89.34
+bytes used=852790220, alloc=6945544, time=89.41
+bytes used=853790864, alloc=6945544, time=89.48
+bytes used=854791112, alloc=6945544, time=89.55
+bytes used=855791868, alloc=6945544, time=89.62
+bytes used=856792040, alloc=6945544, time=89.69
+bytes used=857792788, alloc=6945544, time=89.77
+bytes used=858793268, alloc=6945544, time=89.85
+bytes used=859794440, alloc=6945544, time=89.92
+bytes used=860799288, alloc=6945544, time=89.99
+bytes used=861799720, alloc=6945544, time=90.06
+bytes used=862799932, alloc=6945544, time=90.13
+bytes used=863800564, alloc=6945544, time=90.21
+bytes used=864800836, alloc=6945544, time=90.29
+bytes used=865806564, alloc=6945544, time=90.38
+bytes used=866810432, alloc=6945544, time=90.46
+bytes used=867810792, alloc=6945544, time=90.54
+bytes used=868811396, alloc=6945544, time=90.61
+bytes used=869812612, alloc=6945544, time=90.68
+bytes used=870818344, alloc=6945544, time=90.75
+bytes used=871819736, alloc=6945544, time=90.83
+bytes used=872820064, alloc=6945544, time=90.91
+bytes used=873820252, alloc=6945544, time=90.98
+bytes used=874822512, alloc=6945544, time=91.06
+bytes used=875822800, alloc=6945544, time=91.13
+bytes used=876823264, alloc=6945544, time=91.22
+bytes used=877823512, alloc=6945544, time=91.29
+bytes used=878823812, alloc=6945544, time=91.38
+bytes used=879824176, alloc=6945544, time=91.45
+bytes used=880824840, alloc=6945544, time=91.53
+bytes used=881825124, alloc=6945544, time=91.61
+bytes used=882825352, alloc=6945544, time=91.69
+bytes used=883825508, alloc=6945544, time=91.77
+bytes used=884825676, alloc=6945544, time=91.86
+bytes used=885825824, alloc=6945544, time=91.96
+bytes used=886825992, alloc=6945544, time=92.12
+bytes used=887834116, alloc=6945544, time=92.26
+bytes used=888863632, alloc=6945544, time=92.37
+bytes used=889863984, alloc=6945544, time=92.49
+bytes used=890891568, alloc=6945544, time=92.61
+bytes used=891891744, alloc=6945544, time=92.75
+bytes used=892892384, alloc=6945544, time=92.90
+bytes used=893928652, alloc=6945544, time=93.02
+bytes used=894929500, alloc=6945544, time=93.15
+bytes used=895946464, alloc=6945544, time=93.30
+bytes used=896946696, alloc=6945544, time=93.44
+bytes used=897946856, alloc=6945544, time=93.59
+bytes used=898947048, alloc=6945544, time=93.76
+bytes used=899947316, alloc=6945544, time=93.94
+bytes used=900947876, alloc=6945544, time=94.09
+bytes used=901971312, alloc=6945544, time=94.25
+bytes used=902971584, alloc=6945544, time=94.38
+bytes used=903971860, alloc=6945544, time=94.53
+bytes used=904972080, alloc=6945544, time=94.68
+bytes used=905997204, alloc=6945544, time=94.84
+bytes used=906997396, alloc=6945544, time=94.96
+bytes used=907997568, alloc=6945544, time=95.08
+bytes used=908997828, alloc=6945544, time=95.24
+bytes used=909998008, alloc=6945544, time=95.34
+bytes used=911002232, alloc=6945544, time=95.43
+bytes used=912038568, alloc=6945544, time=95.52
+bytes used=913038788, alloc=6945544, time=95.61
+bytes used=914039024, alloc=6945544, time=95.70
+bytes used=915039240, alloc=6945544, time=95.80
+bytes used=916039456, alloc=6945544, time=95.95
+bytes used=917078796, alloc=6945544, time=96.06
+bytes used=918089332, alloc=6945544, time=96.15
+bytes used=919089556, alloc=6945544, time=96.26
+bytes used=920097256, alloc=6945544, time=96.37
+bytes used=921133500, alloc=6945544, time=96.47
+bytes used=922167660, alloc=6945544, time=96.59
+bytes used=923204264, alloc=6945544, time=96.70
+bytes used=924243500, alloc=6945544, time=96.82
+bytes used=925255732, alloc=6945544, time=96.94
+bytes used=926286464, alloc=6945544, time=97.05
+bytes used=927306308, alloc=6945544, time=97.15
+bytes used=928314668, alloc=6945544, time=97.27
+bytes used=929331912, alloc=6945544, time=97.38
+bytes used=930348964, alloc=6945544, time=97.48
+bytes used=931349132, alloc=6945544, time=97.58
+bytes used=932382792, alloc=6945544, time=97.68
+bytes used=933411952, alloc=6945544, time=97.80
+bytes used=934412200, alloc=6945544, time=97.91
+bytes used=935420400, alloc=6945544, time=98.00
+bytes used=936459692, alloc=6945544, time=98.10
+bytes used=937461576, alloc=6945544, time=98.19
+bytes used=938479660, alloc=6945544, time=98.28
+bytes used=939479844, alloc=6945544, time=98.38
+bytes used=940482196, alloc=6945544, time=98.48
+bytes used=941482452, alloc=6945544, time=98.58
+bytes used=942521988, alloc=6945544, time=98.69
+bytes used=943542600, alloc=6945544, time=98.78
+bytes used=944542808, alloc=6945544, time=98.86
+bytes used=945543464, alloc=6945544, time=98.93
+bytes used=946573028, alloc=6945544, time=101.31
+bytes used=947581368, alloc=6945544, time=101.62
+bytes used=948581676, alloc=6945544, time=102.59
+bytes used=949581864, alloc=6945544, time=102.69
+bytes used=950582084, alloc=6945544, time=102.79
+bytes used=951582448, alloc=6945544, time=102.86
+bytes used=952582812, alloc=6945544, time=102.94
+bytes used=953582988, alloc=6945544, time=103.01
+bytes used=954583196, alloc=6945544, time=103.08
+bytes used=955583940, alloc=6945544, time=103.15
+bytes used=956584108, alloc=6945544, time=103.24
+bytes used=957584444, alloc=6945544, time=103.31
+bytes used=958584640, alloc=6945544, time=103.40
+bytes used=959585012, alloc=6945544, time=103.47
+bytes used=960585260, alloc=6945544, time=103.57
+bytes used=961585624, alloc=6945544, time=103.64
+bytes used=962585920, alloc=6945544, time=103.71
+bytes used=963586212, alloc=6945544, time=103.78
+bytes used=964586708, alloc=6945544, time=103.85
+bytes used=965586964, alloc=6945544, time=103.92
+bytes used=966587812, alloc=6945544, time=104.02
+bytes used=967588152, alloc=6945544, time=104.10
+bytes used=968588644, alloc=6945544, time=104.19
+bytes used=969589144, alloc=6945544, time=104.26
+bytes used=970589448, alloc=6945544, time=104.33
+bytes used=971589612, alloc=6945544, time=104.40
+bytes used=972589860, alloc=6945544, time=104.49
+bytes used=973590180, alloc=6945544, time=104.57
+bytes used=974590336, alloc=6945544, time=104.64
+bytes used=975590944, alloc=6945544, time=104.72
+bytes used=976591200, alloc=6945544, time=104.82
+bytes used=977591364, alloc=6945544, time=104.89
+bytes used=978591576, alloc=6945544, time=104.97
+bytes used=979591812, alloc=6945544, time=105.05
+bytes used=980592044, alloc=6945544, time=105.25
+bytes used=981593644, alloc=6945544, time=105.44
+bytes used=982604180, alloc=6945544, time=105.57
+bytes used=983618116, alloc=6945544, time=105.69
+bytes used=984618332, alloc=6945544, time=105.80
+bytes used=985618600, alloc=6945544, time=105.93
+bytes used=986644632, alloc=6945544, time=106.05
+bytes used=987650632, alloc=6945544, time=106.17
+bytes used=988669860, alloc=6945544, time=106.29
+bytes used=989671252, alloc=6945544, time=106.41
+bytes used=990671696, alloc=6945544, time=106.53
+bytes used=991672180, alloc=6945544, time=106.66
+bytes used=992714672, alloc=6945544, time=106.78
+bytes used=993714852, alloc=6945544, time=106.91
+bytes used=994752948, alloc=6945544, time=107.06
+bytes used=995753188, alloc=6945544, time=107.21
+bytes used=996753792, alloc=6945544, time=107.34
+bytes used=997754032, alloc=6945544, time=107.48
+bytes used=998779032, alloc=6945544, time=107.63
+bytes used=999784008, alloc=6945544, time=107.85
+bytes used=1000825200, alloc=6945544, time=108.00
+bytes used=1001829732, alloc=6945544, time=108.14
+bytes used=1002831112, alloc=6945544, time=108.29
+bytes used=1003873072, alloc=6945544, time=108.44
+bytes used=1004905380, alloc=6945544, time=108.57
+bytes used=1005913924, alloc=6945544, time=108.73
+bytes used=1006914112, alloc=6945544, time=108.86
+bytes used=1007914372, alloc=6945544, time=109.01
+bytes used=1008922188, alloc=6945544, time=109.17
+bytes used=1009941648, alloc=6945544, time=109.33
+bytes used=1010945800, alloc=6945544, time=109.49
+bytes used=1011947488, alloc=6945544, time=109.64
+bytes used=1012966840, alloc=6945544, time=109.82
+bytes used=1014003192, alloc=6945544, time=109.96
+bytes used=1015003424, alloc=6945544, time=110.09
+bytes used=1016003632, alloc=6945544, time=110.21
+bytes used=1017003820, alloc=6945544, time=110.32
+bytes used=1018004172, alloc=6945544, time=110.44
+bytes used=1019004336, alloc=6945544, time=110.56
+bytes used=1020004496, alloc=6945544, time=110.67
+bytes used=1021004912, alloc=6945544, time=110.75
+bytes used=1022005472, alloc=6945544, time=110.82
+bytes used=1023011816, alloc=6945544, time=113.91
+bytes used=1024030772, alloc=6945544, time=114.08
+bytes used=1025045008, alloc=6945544, time=114.28
+bytes used=1026054032, alloc=6945544, time=114.51
+bytes used=1027054224, alloc=6945544, time=114.71
+bytes used=1028054464, alloc=6945544, time=115.79
+bytes used=1029054628, alloc=6945544, time=116.63
+bytes used=1030054864, alloc=6945544, time=116.73
+bytes used=1031100840, alloc=6945544, time=116.84
+bytes used=1032100992, alloc=6945544, time=116.92
+bytes used=1033101256, alloc=6945544, time=116.99
+bytes used=1034101436, alloc=6945544, time=117.06
+bytes used=1035101892, alloc=6945544, time=117.14
+bytes used=1036102224, alloc=6945544, time=117.21
+bytes used=1037102388, alloc=6945544, time=117.29
+bytes used=1038102656, alloc=6945544, time=117.36
+bytes used=1039102936, alloc=6945544, time=117.44
+bytes used=1040103200, alloc=6945544, time=117.50
+bytes used=1041103444, alloc=6945544, time=117.58
+bytes used=1042103624, alloc=6945544, time=117.65
+bytes used=1043103972, alloc=6945544, time=117.72
+bytes used=1044104216, alloc=6945544, time=117.80
+bytes used=1045104340, alloc=6945544, time=117.87
+bytes used=1046104568, alloc=6945544, time=117.95
+bytes used=1047105048, alloc=6945544, time=118.02
+bytes used=1048105436, alloc=6945544, time=118.09
+bytes used=1049105696, alloc=6945544, time=118.17
+bytes used=1050105832, alloc=6945544, time=118.25
+bytes used=1051105956, alloc=6945544, time=118.32
+bytes used=1052106368, alloc=6945544, time=118.40
+bytes used=1053106608, alloc=6945544, time=118.47
+bytes used=1054106752, alloc=6945544, time=118.54
+bytes used=1055107072, alloc=6945544, time=118.62
+bytes used=1056107188, alloc=6945544, time=118.69
+bytes used=1057107484, alloc=6945544, time=118.77
+bytes used=1058107752, alloc=6945544, time=118.84
+bytes used=1059108108, alloc=6945544, time=118.92
+bytes used=1060108328, alloc=6945544, time=118.99
+bytes used=1061108652, alloc=6945544, time=119.06
+bytes used=1062109148, alloc=6945544, time=119.14
+bytes used=1063109420, alloc=6945544, time=119.22
+bytes used=1064109560, alloc=6945544, time=119.29
+bytes used=1065109800, alloc=6945544, time=119.37
+bytes used=1066110008, alloc=6945544, time=119.44
+bytes used=1067110228, alloc=6945544, time=119.80
+bytes used=1068111104, alloc=6945544, time=120.15
+bytes used=1069112168, alloc=6945544, time=120.51
+bytes used=1070114620, alloc=6945544, time=120.72
+bytes used=1071114752, alloc=6945544, time=120.95
+bytes used=1072114916, alloc=6945544, time=121.11
+bytes used=1073115056, alloc=6945544, time=121.22
+bytes used=1074115268, alloc=6945544, time=121.33
+bytes used=1075115420, alloc=6945544, time=121.45
+bytes used=1076115608, alloc=6945544, time=121.56
+bytes used=1077115872, alloc=6945544, time=121.67
+bytes used=1078116068, alloc=6945544, time=124.73
+bytes used=1079116224, alloc=6945544, time=125.86
+bytes used=1080116488, alloc=6945544, time=126.68
+bytes used=1081116936, alloc=6945544, time=126.78
+bytes used=1082117440, alloc=6945544, time=126.86
+bytes used=1083117784, alloc=6945544, time=126.93
+bytes used=1084118116, alloc=6945544, time=127.01
+bytes used=1085118340, alloc=6945544, time=127.08
+bytes used=1086118560, alloc=6945544, time=127.15
+bytes used=1087118884, alloc=6945544, time=127.23
+bytes used=1088119300, alloc=6945544, time=127.30
+bytes used=1089119516, alloc=6945544, time=127.38
+bytes used=1090119688, alloc=6945544, time=127.45
+bytes used=1091119860, alloc=6945544, time=127.53
+bytes used=1092120228, alloc=6945544, time=127.60
+bytes used=1093120520, alloc=6945544, time=127.67
+bytes used=1094120692, alloc=6945544, time=127.75
+bytes used=1095121004, alloc=6945544, time=127.82
+bytes used=1096121264, alloc=6945544, time=127.90
+bytes used=1097121420, alloc=6945544, time=127.97
+bytes used=1098121584, alloc=6945544, time=128.05
+bytes used=1099121780, alloc=6945544, time=128.12
+bytes used=1100122016, alloc=6945544, time=128.20
+bytes used=1101122192, alloc=6945544, time=128.27
+bytes used=1102122348, alloc=6945544, time=128.35
+bytes used=1103122536, alloc=6945544, time=128.42
+bytes used=1104122888, alloc=6945544, time=128.49
+bytes used=1105123304, alloc=6945544, time=128.57
+bytes used=1106123472, alloc=6945544, time=128.64
+bytes used=1107123728, alloc=6945544, time=128.72
+bytes used=1108123984, alloc=6945544, time=128.79
+bytes used=1109124440, alloc=6945544, time=128.86
+bytes used=1110124596, alloc=6945544, time=128.94
+bytes used=1111124772, alloc=6945544, time=129.01
+bytes used=1112125268, alloc=6945544, time=129.09
+bytes used=1113125700, alloc=6945544, time=129.16
+bytes used=1114126164, alloc=6945544, time=129.23
+bytes used=1115126388, alloc=6945544, time=129.30
+bytes used=1116126748, alloc=6945544, time=129.42
+bytes used=1117126900, alloc=6945544, time=129.86
+bytes used=1118127156, alloc=6945544, time=130.33
+bytes used=1119127356, alloc=6945544, time=130.64
+bytes used=1120127528, alloc=6945544, time=130.82
+bytes used=1121127692, alloc=6945544, time=130.94
+bytes used=1122127860, alloc=6945544, time=131.05
+bytes used=1123128020, alloc=6945544, time=131.17
+bytes used=1124129100, alloc=6945544, time=131.28
+bytes used=1125129252, alloc=6945544, time=133.86
+bytes used=1126129452, alloc=6945544, time=136.09
+bytes used=1127129620, alloc=6945544, time=136.19
+bytes used=1128129868, alloc=6945544, time=136.27
+bytes used=1129130032, alloc=6945544, time=136.35
+bytes used=1130130288, alloc=6945544, time=136.42
+bytes used=1131130492, alloc=6945544, time=136.50
+bytes used=1132131160, alloc=6945544, time=136.57
+bytes used=1133131676, alloc=6945544, time=136.64
+bytes used=1134131984, alloc=6945544, time=136.72
+bytes used=1135132276, alloc=6945544, time=136.79
+bytes used=1136132676, alloc=6945544, time=136.87
+bytes used=1137132960, alloc=6945544, time=136.94
+bytes used=1138133464, alloc=6945544, time=137.02
+bytes used=1139133776, alloc=6945544, time=137.09
+bytes used=1140133944, alloc=6945544, time=137.17
+bytes used=1141134236, alloc=6945544, time=137.24
+bytes used=1142134400, alloc=6945544, time=137.32
+bytes used=1143134552, alloc=6945544, time=137.39
+bytes used=1144134728, alloc=6945544, time=137.46
+bytes used=1145134884, alloc=6945544, time=137.54
+bytes used=1146135244, alloc=6945544, time=137.61
+bytes used=1147135420, alloc=6945544, time=137.69
+bytes used=1148135576, alloc=6945544, time=137.76
+bytes used=1149135912, alloc=6945544, time=137.84
+bytes used=1150136292, alloc=6945544, time=137.91
+bytes used=1151136728, alloc=6945544, time=137.99
+bytes used=1152137008, alloc=6945544, time=138.06
+bytes used=1153137232, alloc=6945544, time=138.14
+bytes used=1154137528, alloc=6945544, time=138.21
+bytes used=1155137772, alloc=6945544, time=138.30
+bytes used=1156138072, alloc=6945544, time=138.37
+bytes used=1157138504, alloc=6945544, time=138.45
+bytes used=1158138748, alloc=6945544, time=138.52
+bytes used=1159139260, alloc=6945544, time=138.59
+bytes used=1160139460, alloc=6945544, time=138.67
+bytes used=1161139612, alloc=6945544, time=138.74
+bytes used=1162140064, alloc=6945544, time=138.93
+bytes used=1163141868, alloc=6945544, time=139.36
+bytes used=1164142108, alloc=6945544, time=139.84
+bytes used=1165142268, alloc=6945544, time=140.17
+bytes used=1166142460, alloc=6945544, time=140.28
+bytes used=1167142720, alloc=6945544, time=140.40
+bytes used=1168142920, alloc=6945544, time=140.51
+bytes used=1169143100, alloc=6945544, time=140.63
+bytes used=1170143300, alloc=6945544, time=140.74
+bytes used=1171143488, alloc=6945544, time=144.92
+bytes used=1172143640, alloc=6945544, time=145.68
+bytes used=1173143936, alloc=6945544, time=145.78
+bytes used=1174144284, alloc=6945544, time=145.85
+bytes used=1175144484, alloc=6945544, time=145.93
+bytes used=1176144852, alloc=6945544, time=146.00
+bytes used=1177145140, alloc=6945544, time=146.08
+bytes used=1178145316, alloc=6945544, time=146.15
+bytes used=1179145488, alloc=6945544, time=146.23
+bytes used=1180145760, alloc=6945544, time=146.30
+bytes used=1181145976, alloc=6945544, time=146.37
+bytes used=1182146460, alloc=6945544, time=146.45
+bytes used=1183146680, alloc=6945544, time=146.52
+bytes used=1184146984, alloc=6945544, time=146.60
+bytes used=1185147196, alloc=6945544, time=146.67
+bytes used=1186147356, alloc=6945544, time=146.75
+bytes used=1187147672, alloc=6945544, time=146.82
+bytes used=1188148024, alloc=6945544, time=146.89
+bytes used=1189148180, alloc=6945544, time=146.97
+bytes used=1190148540, alloc=6945544, time=147.04
+bytes used=1191149008, alloc=6945544, time=147.12
+bytes used=1192149196, alloc=6945544, time=147.19
+bytes used=1193149448, alloc=6945544, time=147.27
+bytes used=1194149824, alloc=6945544, time=147.34
+bytes used=1195150288, alloc=6945544, time=147.42
+bytes used=1196150444, alloc=6945544, time=147.49
+bytes used=1197150628, alloc=6945544, time=147.56
+bytes used=1198151004, alloc=6945544, time=147.64
+bytes used=1199151156, alloc=6945544, time=147.71
+bytes used=1200151336, alloc=6945544, time=147.79
+bytes used=1201151776, alloc=6945544, time=147.86
+bytes used=1202152204, alloc=6945544, time=147.94
+bytes used=1203152652, alloc=6945544, time=148.01
+bytes used=1204152952, alloc=6945544, time=148.08
+bytes used=1205153348, alloc=6945544, time=148.16
+bytes used=1206153600, alloc=6945544, time=148.23
+bytes used=1207153868, alloc=6945544, time=148.31
+bytes used=1208154328, alloc=6945544, time=148.60
+bytes used=1209154744, alloc=6945544, time=149.12
+bytes used=1210154924, alloc=6945544, time=149.47
+bytes used=1211155132, alloc=6945544, time=149.73
+bytes used=1212155328, alloc=6945544, time=149.85
+bytes used=1213155500, alloc=6945544, time=149.95
+bytes used=1214155664, alloc=6945544, time=150.07
+bytes used=1215155876, alloc=6945544, time=150.18
+bytes used=1216156056, alloc=6945544, time=151.98
+bytes used=1217158092, alloc=6945544, time=155.06
+bytes used=1218159288, alloc=6945544, time=155.36
+bytes used=1219159520, alloc=6945544, time=155.66
+bytes used=1220161512, alloc=6945544, time=155.88
+bytes used=1221165628, alloc=6945544, time=156.06
+bytes used=1222166164, alloc=6945544, time=156.13
+bytes used=1223166336, alloc=6945544, time=156.19
+bytes used=1224166512, alloc=6945544, time=156.32
+bytes used=1225166808, alloc=6945544, time=156.45
+bytes used=1226167008, alloc=6945544, time=156.60
+bytes used=1227167164, alloc=6945544, time=156.73
+>
+# d/dx
+> simplify( diff(interp_3d_cube_order4_smooth0,x) );
+bytes used=1228167336, alloc=6945544, time=156.84
+bytes used=1229168568, alloc=6945544, time=156.92
+bytes used=1230168960, alloc=6945544, time=156.99
+bytes used=1231169716, alloc=6945544, time=157.06
+bytes used=1232170104, alloc=6945544, time=157.13
+bytes used=1233170264, alloc=6945544, time=157.20
+bytes used=1234170424, alloc=6945544, time=157.28
+bytes used=1235170584, alloc=6945544, time=157.35
+bytes used=1236170752, alloc=6945544, time=157.42
+bytes used=1237170948, alloc=6945544, time=157.50
+bytes used=1238171108, alloc=6945544, time=157.57
+bytes used=1239171268, alloc=6945544, time=157.65
+bytes used=1240655088, alloc=6945544, time=157.76
+bytes used=1241655468, alloc=6945544, time=157.85
+bytes used=1242655604, alloc=6945544, time=157.93
+bytes used=1243656096, alloc=6945544, time=158.00
+bytes used=1244656260, alloc=6945544, time=158.09
+bytes used=1245656428, alloc=6945544, time=158.17
+bytes used=1246656772, alloc=6945544, time=158.25
+bytes used=1247656916, alloc=6945544, time=158.33
+bytes used=1248657068, alloc=6945544, time=158.42
+bytes used=1249657736, alloc=6945544, time=158.50
+bytes used=1250657896, alloc=6945544, time=158.59
+bytes used=1251658640, alloc=6945544, time=158.68
+bytes used=1252658788, alloc=6945544, time=158.78
+bytes used=1253658948, alloc=6945544, time=158.87
+bytes used=1254659072, alloc=6945544, time=158.97
+bytes used=1255659268, alloc=6945544, time=159.07
+bytes used=1256659408, alloc=6945544, time=159.16
+bytes used=1257659592, alloc=6945544, time=159.25
+ 17 17 37
+- --- DATA(-1, 1, -1) + --- DATA(1, 1, -1) - ---- DATA(-1, -1, 0)
+ 525 525 1050
+
+ 37 37
+ + ---- DATA(1, -1, 0) - 4/105 DATA(-1, 0, 0) - ---- DATA(-1, 1, 0)
+ 1050 1050
+
+ 17 37 17
+ - --- DATA(-1, 1, 1) - ---- DATA(-1, 0, 1) + --- DATA(1, -1, 1)
+ 525 1050 525
+
+ 17
+ - --- DATA(-1, -1, 1) - 1/175 x y z DATA(2, 2, -1) - 8/525 DATA(-1, -2, 2)
+ 525
+
+ 37 37
+ - ---- DATA(-1, 0, -1) + ---- DATA(1, 0, -1) + 4/105 DATA(1, 0, 0)
+ 1050 1050
+
+ 37
+ + ---- DATA(1, 1, 0) + 1/700 x y z DATA(1, 1, -1)
+ 1050
+
+ + 1/175 x y z DATA(2, 1, 2) - 1/175 x y z DATA(1, -2, -2)
+
+ + 1/700 x y z DATA(-1, 1, -1) + 2/175 x y z DATA(2, 2, 2)
+
+ - 1/175 x y z DATA(1, 2, 2) + 2/175 x y z DATA(2, -2, -2)
+
+ + 1/175 x y z DATA(-2, -1, -2) - 1/700 x y z DATA(1, -1, -1)
+
+ + 1/175 x y z DATA(2, 2, 1) - 2/175 x y z DATA(-2, 2, -2)
+
+ + 1/350 x y z DATA(1, -1, 2) - 1/175 x y z DATA(2, -1, 2)
+
+ - 1/175 x y z DATA(-1, -2, -2) + 1/700 x y z DATA(-1, -1, 1)
+
+ - 1/175 x y z DATA(-1, 2, 2) - 1/350 x y z DATA(-1, 1, 2)
+
+ + 2/175 x y z DATA(-2, -2, -2) + 1/700 x y z DATA(1, -1, 1)
+
+ - 1/700 x y z DATA(-1, 1, 1) - 1/350 x y z DATA(1, -2, -1)
+
+ - 1/350 x y z DATA(-1, -2, -1) + 1/350 x y z DATA(1, 1, -2)
+
+ - 1/175 x y z DATA(-2, 1, -2) + 1/350 x y z DATA(-1, 1, -2)
+
+ + 1/175 x y z DATA(-1, -2, 2) + 8/525 DATA(1, -2, 2)
+
+ + 1/175 x y z DATA(2, -1, -2) + 1/350 x y z DATA(-1, -1, 2)
+
+ - 1/175 x y z DATA(2, 1, -2) - 1/350 x y z DATA(-2, 1, -1)
+
+ + 1/350 x y z DATA(-2, -1, -1) + 1/175 x y z DATA(-2, -2, -1)
+
+ 19
+ + ---- DATA(-2, -1, 2) - 1/350 x y z DATA(-1, -1, -2)
+ 2100
+
+ - 2/175 x y z DATA(2, 2, -2) - 1/350 x y z DATA(1, -1, -2)
+
+ 11
+ + 1/175 x y z DATA(2, -2, -1) - --- DATA(2, -2, 2)
+ 420
+
+ - 1/350 x y z DATA(-2, -1, 1) + 1/175 x y z DATA(1, 2, -2)
+
+ + 1/175 x y z DATA(-1, 2, -2) + 1/350 x y z DATA(-1, -2, 1)
+
+ - 1/350 x y z DATA(1, 1, 2) + 1/350 x y z DATA(1, -2, 1)
+
+ + 1/175 x y z DATA(1, -2, 2) - 1/175 x y z DATA(2, -2, 1)
+
+ + 1/175 x y z DATA(-2, 2, 1) - 1/175 x y z DATA(-2, -2, 1)
+
+ - 1/175 x y z DATA(-2, 2, -1) + 1/350 x y z DATA(0, 1, -1)
+
+ + 1/350 x y z DATA(0, -1, 1) + 1/300 DATA(-2, 0, 2)
+
+ + 1/350 x y z DATA(-2, 1, 1) - 1/175 x y z DATA(-2, -1, 2)
+
+ - 2/175 x y z DATA(-2, -2, 2) - 2/175 x y z DATA(0, 2, 2)
+
+ - 2/175 x y z DATA(2, -2, 2) - 1/350 x y z DATA(0, -1, -1)
+
+ 19
+ + ---- DATA(-2, 1, 2) + 2/175 x y z DATA(0, -2, 2)
+ 2100
+
+ + 1/175 x y z DATA(0, 2, -1) - 1/175 x y z DATA(0, 2, 1)
+
+ 37 17
+ + ---- DATA(1, 0, 1) + --- DATA(1, 1, 1) - 2/175 x y z DATA(0, -2, -2)
+ 1050 525
+
+ + 1/175 x y z DATA(0, 1, -2) + 1/175 x y z DATA(0, -1, 2)
+
+ 11
+ - 1/175 x y z DATA(0, -1, -2) + --- DATA(-2, 2, 2)
+ 420
+
+ - 1/175 x y z DATA(0, 1, 2) - 1/350 x y z DATA(0, 1, 1)
+
+ - 1/175 x y z DATA(0, -2, -1) + 2/175 x y z DATA(0, 2, -2)
+
+ + 1/175 x y z DATA(0, -2, 1) - 1/700 x y z DATA(-1, -1, -1)
+
+ - 1/700 x y z DATA(1, 1, 1) + 1/175 x y z DATA(-2, 1, 2)
+
+ 2 2
+ - 1/350 y z DATA(-2, 1, -2) - 1/350 y z DATA(2, -1, -2)
+
+ 2
+ - 1/700 y z DATA(1, -1, -2) + 1/250 y z DATA(2, -2, -1)
+
+ + 1/500 y z DATA(1, -2, -1) - 1/500 y z DATA(-1, -2, -1)
+
+ - 1/250 y z DATA(-2, -2, -1) - 1/125 y z DATA(2, 2, -2)
+
+ - 1/250 y z DATA(1, 2, -2) + 1/250 y z DATA(-1, 2, -2)
+
+ - 1/350 x y z DATA(2, -1, 1) + 1/500 y z DATA(-2, 1, -1)
+
+ - 1/500 y z DATA(-2, -1, -1) - 1/350 x y z DATA(1, 2, 1)
+
+ - 1/350 x y z DATA(-1, 2, 1) + 1/250 y z DATA(-2, 2, -1)
+
+ + 1/250 y z DATA(-2, -2, 1) + 1/350 x y z DATA(2, 1, 1)
+
+ + 1/350 x y z DATA(1, 2, -1) + 1/350 x y z DATA(-1, 2, -1)
+
+ 2
+ + 2/175 x y z DATA(-2, 2, 2) - 1/700 y z DATA(1, 2, 1)
+
+ 2 2
+ + 1/700 y z DATA(2, -1, 1) + 1/1400 y z DATA(1, -1, -1)
+
+ 2 2
+ - 1/350 y z DATA(2, 2, -1) + 1/350 y z DATA(1, 2, 2)
+
+ 2 2
+ + 1/350 y z DATA(-2, -1, -2) + 1/175 y z DATA(2, 2, 2)
+
+ 2 2
+ - 1/175 y z DATA(2, -2, -2) + 1/1400 y z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/350 y z DATA(1, -2, -2) + 1/350 y z DATA(2, 1, 2)
+
+ 2 2
+ - 1/350 y z DATA(-1, 2, 2) + 1/350 y z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/700 y z DATA(-1, 1, 2) + 1/175 y z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/700 y z DATA(1, -1, 2) - 1/350 y z DATA(2, -1, 2)
+
+ 2 2
+ + 1/700 y z DATA(-1, -1, 2) - 1/350 y z DATA(2, 2, 1)
+
+ 2 2
+ - 1/175 y z DATA(-2, 2, -2) + 1/350 y z DATA(2, 1, -2)
+
+ 2 2
+ + 1/700 y z DATA(1, 1, -2) - 1/700 y z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/700 y z DATA(-1, 1, 0) + 1/1400 y z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/1400 y z DATA(1, -1, 1) - 1/1400 y z DATA(-1, -1, 1)
+
+ 2 17
+ + 1/350 y z DATA(-1, -2, 2) - --- DATA(-1, -1, -1)
+ 525
+
+ 2 2
+ - 1/700 y z DATA(1, 1, 0) - 1/350 y z DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 y z DATA(-2, -1, 2) - 1/175 y z DATA(2, -2, 2)
+
+ 2 2
+ - 1/350 y z DATA(-2, 1, 2) - 1/1400 y z DATA(1, 1, 1)
+
+ 2 2
+ - 1/175 y z DATA(-2, 2, 2) - 1/1400 y z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/700 y z DATA(1, 2, -1) - 1/700 y z DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 y z DATA(-1, 2, -1) + 1/700 y z DATA(2, -1, -1)
+
+ 2 2
+ - 1/700 y z DATA(2, 1, 1) + 1/700 y z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/350 y z DATA(2, -1, 2) + 1/700 y z DATA(-1, -1, 2)
+
+ 2 2
+ + 1/350 y z DATA(2, 2, 1) + 1/175 y z DATA(-2, 2, -2)
+
+ 2 2
+ + 1/350 y z DATA(2, 1, -2) + 1/700 y z DATA(1, 1, -2)
+
+ 2
+ - 1/700 y z DATA(-1, 1, -2) + 1/42 DATA(1, 2, -1)
+
+ 2 2
+ - 1/350 y z DATA(-2, 1, -2) + 1/350 y z DATA(2, -1, -2)
+
+ 17 2
+ + ---- DATA(2, 1, -1) - 1/42 DATA(-1, 2, -1) + 1/700 y z DATA(1, -1, -2)
+ 2100
+
+ 2 2
+ - 1/700 y z DATA(-1, -1, -2) - 1/350 y z DATA(2, -2, -1)
+
+ 2 2
+ - 1/700 y z DATA(1, -2, -1) + 1/700 y z DATA(-1, -2, -1)
+
+ 2
+ + 1/350 y z DATA(-2, -2, -1) - 1/250 y z DATA(2, -2, 1)
+
+ + 1/500 y z DATA(-2, -1, 1) - 1/500 y z DATA(-2, 1, 1)
+
+ 17 29
+ + ---- DATA(2, -1, -1) + ---- DATA(2, 0, -1) - 1/250 y z DATA(-2, 2, 1)
+ 2100 2100
+
+ 2
+ + 1/125 y z DATA(-2, -2, 2) - 1/700 y z DATA(-1, -1, 0)
+
+ 2 2
+ + 1/700 y z DATA(1, -1, 0) - 1/700 y z DATA(1, 2, -1)
+
+ 17 2
+ + ---- DATA(2, 1, 1) - 1/42 DATA(-1, 2, 1) + 1/700 y z DATA(2, 1, -1)
+ 2100
+
+ 2
+ + 1/42 DATA(1, 2, 1) + 1/700 y z DATA(-1, 2, -1)
+
+ 2 2
+ + 1/700 y z DATA(2, -1, -1) - 1/700 y z DATA(2, 1, 1)
+
+ 2
+ - 1/700 y z DATA(-1, 2, 1) - 1/500 y z DATA(-1, -1, -2)
+
+ 17 2 29
+ + ---- DATA(2, -1, 1) + 1/700 y z DATA(1, 2, 1) + ---- DATA(2, 0, 1)
+ 2100 2100
+
+ 17 2
+ + --- DATA(1, -1, -1) - 1/700 y z DATA(2, -1, 1)
+ 525
+
+ 2
+ + 1/1400 y z DATA(1, -1, -1) + 2/75 DATA(1, 2, 0) - 1/300 DATA(2, 2, 0)
+
+ 2 2
+ - 1/350 y z DATA(2, 2, -1) + 1/350 y z DATA(1, 2, 2)
+
+ 2 2
+ - 1/350 y z DATA(-2, -1, -2) + 1/175 y z DATA(2, 2, 2)
+
+ 29 2
+ + ---- DATA(2, 1, 0) - 1/175 y z DATA(2, -2, -2) - 2/75 DATA(-1, 2, 0)
+ 2100
+
+ 2 2
+ - 1/1400 y z DATA(-1, 1, -1) - 1/350 y z DATA(1, -2, -2)
+
+ 2 2
+ - 1/350 y z DATA(2, 1, 2) - 1/350 y z DATA(-1, 2, 2)
+
+ 2 2
+ + 1/350 y z DATA(-1, -2, -2) + 1/700 y z DATA(-1, 1, 2)
+
+ 29 41 2
+ + ---- DATA(2, -1, 0) + ---- DATA(2, 0, 0) + 1/175 y z DATA(-2, -2, -2)
+ 2100 2100
+
+ 19 2
+ - ---- DATA(2, 2, -1) - 1/700 y z DATA(1, -1, 2)
+ 2100
+
+ 2 2
+ + 1/350 y z DATA(-2, 2, 1) + 1/175 y z DATA(-2, -2, 2)
+
+ 2 19
+ - 1/350 y z DATA(1, 2, 0) + 8/525 DATA(1, 2, 2) + ---- DATA(-2, -1, -2)
+ 2100
+
+ 11 2 2
+ - --- DATA(2, 2, 2) - 1/175 y z DATA(2, 2, 0) - 1/350 y z DATA(2, 1, 0)
+ 420
+
+ 2 2
+ + 1/350 y z DATA(-1, 2, 0) + 1/350 y z DATA(2, -1, 0)
+
+ 2 2
+ - 1/350 y z DATA(-1, -2, 0) - 1/175 y z DATA(-2, -2, 0)
+
+ 11 2
+ - --- DATA(2, -2, -2) - 1/350 y z DATA(-2, -1, 0) + 8/525 DATA(1, -2, -2)
+ 420
+
+ 19 2
+ + 1/42 DATA(1, 1, 2) - ---- DATA(2, 1, 2) + 1/175 y z DATA(2, -2, 0)
+ 2100
+
+ 2
+ - 8/525 DATA(-1, 2, 2) + 1/350 y z DATA(1, -2, 0)
+
+ - 8/525 DATA(-1, -2, -2) + 2/75 DATA(1, 0, 2) - 1/300 DATA(2, 0, 2)
+
+ 2 11
+ - 1/42 DATA(-1, 1, 2) + 1/350 y z DATA(-2, 1, 0) + --- DATA(-2, -2, -2)
+ 420
+
+ 2 2
+ + 1/175 y z DATA(-2, 2, 0) + 1/1400 y z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/700 y z DATA(-1, 0, 1) - 1/1400 y z DATA(1, -1, 1)
+
+ 2 2
+ + 1/1400 y z DATA(-1, -1, 1) - 1/350 y z DATA(-1, -2, 2)
+
+ 2 19
+ - 1/700 y z DATA(-1, 0, -1) + 1/42 DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 2100
+
+ 2
+ + 1/700 y z DATA(1, 0, -1) - 2/75 DATA(-1, 0, 2)
+
+ 2 2
+ + 1/350 y z DATA(1, -2, 2) + 1/350 y z DATA(-2, -1, 2)
+
+ 2 2
+ + 1/175 y z DATA(2, -2, 2) + 1/350 y z DATA(-2, 1, 2)
+
+ 2 19
+ - 1/1400 y z DATA(1, 1, 1) - 1/42 DATA(-1, -1, 2) - ---- DATA(2, 2, 1)
+ 2100
+
+ 2 2
+ - 1/175 y z DATA(-2, 2, 2) - 1/1400 y z DATA(-1, -1, -1)
+
+ - 2/175 x z DATA(-2, -1, -2) + 2/175 x z DATA(2, 2, 2)
+
+ 11
+ + --- DATA(-2, 2, -2) - 2/175 x z DATA(2, -2, -2)
+ 420
+
+ 19
+ + 1/350 x z DATA(-1, 1, -1) - ---- DATA(2, 1, -2)
+ 2100
+
+ 2
+ + 1/500 y z DATA(-1, 2, -1) + 1/700 y z DATA(-1, -1, -2)
+
+ 2
+ + 1/42 DATA(1, 1, -2) + 1/350 y z DATA(2, -2, -1) - 1/42 DATA(-1, 1, -2)
+
+ 2 2
+ + 1/700 y z DATA(1, -2, -1) - 1/700 y z DATA(-1, -2, -1)
+
+ 2 2
+ - 1/350 y z DATA(-2, -2, -1) + 1/175 y z DATA(2, 2, -2)
+
+ 2 2
+ + 1/350 y z DATA(1, 2, -2) - 1/350 y z DATA(-1, 2, -2)
+
+ 2 2
+ + 1/700 y z DATA(-2, 1, -1) - 1/700 y z DATA(-2, -1, -1)
+
+ 19 2
+ + ---- DATA(-2, 1, -2) + 1/350 y z DATA(-2, 2, -1)
+ 2100
+
+ 2
+ - 1/350 y z DATA(-2, -2, 1) - 1/300 DATA(2, 0, -2) + 2/75 DATA(1, 0, -2)
+
+ 2
+ - 1/700 y z DATA(-1, -2, 1) - 2/75 DATA(-1, 0, -2)
+
+ 2 19
+ + 1/700 y z DATA(1, -2, 1) + 1/300 DATA(-2, 0, -2) - ---- DATA(2, -1, -2)
+ 2100
+
+ 2 2
+ + 1/700 y z DATA(1, 1, 2) + 1/350 y z DATA(2, -2, 1)
+
+ 2
+ - 1/700 y z DATA(-2, -1, 1) + 1/42 DATA(1, -1, -2)
+
+ 2
+ + 1/700 y z DATA(-2, 1, 1) - 1/42 DATA(-1, -1, -2)
+
+ + 1/350 x z DATA(1, 1, -1) - 1/350 x z DATA(-1, 1, 1)
+
+ 19
+ - 1/350 x z DATA(-1, 0, 1) - ---- DATA(2, -2, -1)
+ 2100
+
+ - 1/350 x z DATA(1, -1, 1) - 1/350 x z DATA(-1, -1, 1)
+
+ - 1/175 x z DATA(-1, -2, 2) + 1/350 x z DATA(-1, 0, -1)
+
+ + 1/350 x z DATA(1, 0, -1) - 1/175 x z DATA(1, -2, 2)
+
+ + 1/42 DATA(1, -2, -1) + 2/175 x z DATA(-2, -1, 2)
+
+ + 2/175 x z DATA(2, -2, 2) + 2/175 x z DATA(-2, 1, 2)
+
+ - 1/350 x z DATA(1, 1, 1) + 2/175 x z DATA(-2, 2, 2)
+
+ + 1/350 x z DATA(-1, -1, -1) - 1/42 DATA(-1, -2, -1)
+
+ + 1/350 x z DATA(1, 2, -1) - 1/175 x z DATA(2, 1, -1)
+
+ 19
+ + ---- DATA(-2, -2, -1) + 1/350 x z DATA(-1, 2, -1)
+ 2100
+
+ 11
+ - 1/175 x z DATA(2, -1, -1) + 1/175 x z DATA(2, 1, 1) - --- DATA(2, 2, -2)
+ 420
+
+ - 1/350 x z DATA(-1, 2, 1) - 1/350 x z DATA(1, 2, 1)
+
+ + 1/175 x z DATA(2, -1, 1) + 8/525 DATA(1, 2, -2)
+
+ + 1/350 x z DATA(1, -1, -1) - 1/175 x z DATA(2, 2, -1)
+
+ - 1/175 x z DATA(1, 2, 2) - 8/525 DATA(-1, 2, -2)
+
+ 2 17
+ - 1/350 y z DATA(-2, 2, 1) - ---- DATA(-2, 1, -1)
+ 2100
+
+ 2 2
+ - 1/175 y z DATA(-2, -2, 2) + 1/175 y z DATA(-2, 0, 2)
+
+ 2 2
+ - 1/700 y z DATA(1, 0, 1) - 1/350 y z DATA(2, 0, 1)
+
+ 2 2
+ - 1/350 y z DATA(1, 0, 2) - 1/175 y z DATA(2, 0, 2)
+
+ 2 2
+ + 1/350 y z DATA(-1, 0, 2) + 1/175 y z DATA(2, 0, -2)
+
+ 2 29
+ + 1/350 y z DATA(1, 0, -2) - ---- DATA(-2, 0, -1)
+ 2100
+
+ 2 2
+ + 1/350 y z DATA(2, 0, -1) - 1/350 y z DATA(-1, 0, -2)
+
+ 2 2
+ - 1/175 y z DATA(-2, 0, -2) - 1/350 y z DATA(-2, 0, -1)
+
+ 17 2
+ - ---- DATA(-2, -1, -1) + 1/350 y z DATA(-2, 0, 1)
+ 2100
+
+ 2 2
+ - 1/175 y z DATA(2, 2, -2) - 1/350 y z DATA(1, 2, -2)
+
+ 2 19
+ + 1/350 y z DATA(-1, 2, -2) + ---- DATA(-2, 2, -1)
+ 2100
+
+ 2 2
+ - 1/700 y z DATA(-2, 1, -1) - 1/700 y z DATA(-2, -1, -1)
+
+ 2 2
+ + 1/350 y z DATA(-2, 2, -1) - 1/350 y z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/700 y z DATA(-1, -2, 1) + 1/700 y z DATA(1, -2, 1)
+
+ 2 2
+ - 1/700 y z DATA(1, 1, 2) + 1/350 y z DATA(2, -2, 1)
+
+ 2 2
+ + 1/700 y z DATA(-2, -1, 1) + 1/700 y z DATA(-2, 1, 1)
+
+ - 1/175 x z DATA(0, -2, 1) + 2/175 x z DATA(-2, 0, 2)
+
+ - 2/75 DATA(-1, -2, 0) - 2/175 x z DATA(0, 1, 2) + 1/300 DATA(-2, -2, 0)
+
+ - 1/175 x z DATA(0, 1, 1) + 1/175 x z DATA(0, -2, -1)
+
+ - 1/350 x z DATA(1, 0, 1) + 1/175 x z DATA(2, 0, 1)
+
+ - 1/175 x z DATA(1, 0, 2) + 2/175 x z DATA(2, 0, 2)
+
+ 41
+ - 1/175 x z DATA(-1, 0, 2) - ---- DATA(-2, 0, 0)
+ 2100
+
+ + 1/175 x z DATA(0, 2, -1) - 1/175 x z DATA(0, 2, 1)
+
+ - 2/175 x z DATA(0, 2, 2) + 2/175 x z DATA(0, -2, -2)
+
+ 29
+ - 2/175 x z DATA(0, -1, 2) - ---- DATA(-2, -1, 0)
+ 2100
+
+ + 2/175 x z DATA(0, 1, -2) + 2/175 x z DATA(0, -1, -2)
+
+ - 1/300 DATA(2, -2, 0) + 2/75 DATA(1, -2, 0) + 2/175 x z DATA(0, 2, -2)
+
+ + 1/175 x z DATA(-2, -2, 1) - 1/350 x z DATA(-1, -2, 1)
+
+ 29
+ - 1/350 x z DATA(1, -2, 1) - 1/175 x z DATA(1, 1, 2) - ---- DATA(-2, 1, 0)
+ 2100
+
+ + 1/175 x z DATA(2, -2, 1) + 1/175 x z DATA(-2, -1, 1)
+
+ + 1/175 x z DATA(-2, 1, 1) + 1/175 x z DATA(-2, 2, 1)
+
+ + 2/175 x z DATA(-2, -2, 2) + 1/175 x z DATA(0, 1, -1)
+
+ - 1/175 x z DATA(0, -1, 1) - 2/175 x z DATA(0, -2, 2)
+
+ + 1/175 x z DATA(0, -1, -1) - 1/175 x z DATA(-2, -2, -1)
+
+ - 2/175 x z DATA(2, 2, -2) + 1/175 x z DATA(1, 2, -2)
+
+ + 1/175 x z DATA(-1, 2, -2) + 1/300 DATA(-2, 2, 0)
+
+ - 1/175 x z DATA(-2, 1, -1) - 1/175 x z DATA(-2, -1, -1)
+
+ - 1/175 x z DATA(-2, 2, -1) + 1/175 x z DATA(1, -1, -2)
+
+ 19
+ + ---- DATA(-2, -2, 1) + 1/175 x z DATA(-1, -1, -2)
+ 2100
+
+ - 1/175 x z DATA(2, -2, -1) + 1/350 x z DATA(1, -2, -1)
+
+ + 1/350 x z DATA(-1, -2, -1) + 1/175 x z DATA(2, 2, 1)
+
+ - 2/175 x z DATA(-2, 2, -2) - 2/175 x z DATA(2, 1, -2)
+
+ - 1/42 DATA(-1, -2, 1) + 1/175 x z DATA(1, 1, -2)
+
+ + 1/175 x z DATA(-1, 1, -2) - 2/175 x z DATA(-2, 1, -2)
+
+ - 2/175 x z DATA(2, -1, -2) + 1/42 DATA(1, -2, 1)
+
+ - 1/175 x z DATA(-1, 1, 2) - 2/175 x z DATA(-2, -2, -2)
+
+ - 1/175 x z DATA(1, -1, 2) + 2/175 x z DATA(2, -1, 2)
+
+ - 1/175 x z DATA(-1, -1, 2) + 1/175 x y DATA(-1, -2, 1)
+
+ 19
+ + 1/175 x y DATA(1, -2, 1) - ---- DATA(2, -2, 1) - 1/350 x y DATA(1, 1, 2)
+ 2100
+
+ - 2/175 x y DATA(2, -2, 1) + 1/175 x z DATA(1, -2, -2)
+
+ + 2/175 x z DATA(2, 1, 2) - 1/175 x z DATA(-1, 2, 2)
+
+ 2
+ + 1/175 x z DATA(-1, -2, -2) + 2/245 x y DATA(-2, 2, -2)
+
+ 2 2
+ + 2/245 x y DATA(2, 2, 1) + 1/490 x y DATA(-1, -1, 2)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, 2) + 1/490 x y DATA(1, -1, 2)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, -2) + 1/490 x y DATA(-1, 1, 2)
+
+ 2 2
+ - 1/245 x y DATA(-1, -2, -2) - 1/245 x y DATA(-1, 2, 2)
+
+ 2 2
+ - 1/245 x y DATA(2, 1, 2) - 1/245 x y DATA(1, -2, -2)
+
+ 2 2
+ + 1/490 x y DATA(-1, 1, -1) + 2/245 x y DATA(2, -2, -2)
+
+ 2 2
+ + 2/245 x y DATA(2, 2, 2) - 1/245 x y DATA(-2, -1, -2)
+
+ 2 2
+ - 1/245 x y DATA(1, 2, 2) + 2/245 x y DATA(2, 2, -1)
+
+ 2 2
+ + 1/490 x y DATA(1, -1, -1) - 1/245 x y DATA(2, -1, 1)
+
+ 2 2
+ - 1/245 x y DATA(1, 2, 1) - 1/245 x y DATA(-2, -1, 0)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, 0) - 1/245 x y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, 0) - 1/245 x y DATA(-1, 2, 0)
+
+ 2 2
+ - 1/245 x y DATA(2, 1, 0) + 2/245 x y DATA(2, 2, 0)
+
+ 2 2
+ - 1/245 x y DATA(1, 2, 0) - 2/245 x y DATA(0, -2, 1)
+
+ 2 2
+ - 2/245 x y DATA(0, 2, -2) + 1/245 x y DATA(0, -1, -2)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, -2) + 1/245 x y DATA(0, -1, 2)
+
+ 2
+ - 2/245 x y DATA(0, -2, -2) + 1/350 x y z DATA(2, -1, -1)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, 0) + 1/490 x y DATA(1, -1, 0)
+
+ 2 2
+ + 1/490 x y DATA(-1, -1, 0) - 1/100 x y DATA(-2, 2, 0)
+
+ 2 2
+ - 1/200 x y DATA(-2, 1, 0) + 1/50 x y DATA(1, -2, 0)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, 0) + 1/200 x y DATA(-2, -1, 0)
+
+ 2 2
+ + 1/100 x y DATA(-2, -2, 0) - 1/50 x y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/200 x y DATA(2, -1, 0) + 1/50 x y DATA(-1, 2, 0)
+
+ 2
+ + 1/200 x y DATA(2, 1, 0) + 1/500 y z DATA(-1, -1, 2)
+
+ 2 2
+ - 1/245 x y DATA(-1, -2, 1) + 2/245 x y DATA(-2, -2, 1)
+
+ 2 2
+ + 2/245 x y DATA(-2, 2, -1) - 1/245 x y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, -1) - 1/245 x y DATA(-1, 2, -2)
+
+ 2 2
+ - 1/245 x y DATA(1, 2, -2) + 2/245 x y DATA(2, 2, -2)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, -1) - 1/245 x y DATA(-1, -2, -1)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, -1) + 2/245 x y DATA(2, -2, -1)
+
+ 2 2
+ + 1/490 x y DATA(-1, -1, -2) + 1/490 x y DATA(1, -1, -2)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, -2) - 1/245 x y DATA(-2, 1, -2)
+
+ 2
+ + 1/250 y z DATA(2, 2, 1) + 1/490 x y DATA(-1, 1, -2)
+
+ 2 2
+ + 1/490 x y DATA(1, 1, -2) - 1/245 x y DATA(2, 1, -2)
+
+ 2
+ - 1/175 x y DATA(-2, -1, -1) + 1/100 x y DATA(-1, 1, -1)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, -2) + 1/100 x y DATA(2, 2, 2)
+
+ 2 2
+ + 1/200 x y DATA(-2, -1, -2) - 1/50 x y DATA(1, 2, 2)
+
+ 2 2
+ + 1/100 x y DATA(2, 2, -1) - 1/245 x y DATA(-1, 2, 1)
+
+ 2 2
+ - 1/245 x y DATA(2, 1, 1) - 1/245 x y DATA(2, -1, -1)
+
+ 2 2
+ - 1/245 x y DATA(-1, 2, -1) - 1/245 x y DATA(2, 1, -1)
+
+ 2 2
+ - 1/245 x y DATA(1, 2, -1) + 1/490 x y DATA(-1, -1, -1)
+
+ 2 2
+ + 2/245 x y DATA(-2, 2, 2) + 1/490 x y DATA(1, 1, 1)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, 2) + 2/245 x y DATA(2, -2, 2)
+
+ 2 2
+ - 1/245 x y DATA(-2, -1, 2) - 1/245 x y DATA(1, -2, 2)
+
+ 2 2
+ + 1/490 x y DATA(1, 1, 0) + 1/245 x y DATA(1, 0, 0)
+
+ 2
+ + 1/245 x y DATA(1, 0, -1) + 1/125 y z DATA(-2, 2, -2)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, -1) - 1/245 x y DATA(-1, -2, 2)
+
+ 2
+ + 1/500 y z DATA(1, -1, -2) + 1/490 x y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/490 x y DATA(1, -1, 1) + 1/245 x y DATA(-1, 0, 1)
+
+ 2 2
+ + 1/490 x y DATA(-1, 1, 1) + 1/490 x y DATA(-1, 1, 0)
+
+ 2
+ - 1/350 x y z DATA(2, 1, -1) - 1/200 x y DATA(-2, 1, -1)
+
+ 2 2
+ + 1/50 x y DATA(-1, 2, -2) - 1/50 x y DATA(1, 2, -2)
+
+ 2 2
+ + 1/100 x y DATA(2, 2, -2) + 1/100 x y DATA(-2, -2, -1)
+
+ 2 2
+ - 1/50 x y DATA(-1, -2, -1) + 1/50 x y DATA(1, -2, -1)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, -1) - 1/100 x y DATA(-1, -1, -2)
+
+ 2 2
+ + 1/100 x y DATA(1, -1, -2) - 1/200 x y DATA(2, -1, -2)
+
+ 2 2
+ - 1/200 x y DATA(-2, 1, -2) + 1/100 x y DATA(-1, 1, -2)
+
+ 2 2
+ - 1/100 x y DATA(1, 1, -2) + 1/200 x y DATA(2, 1, -2)
+
+ 2 2
+ - 1/100 x y DATA(-2, 2, -2) + 1/100 x y DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, 2) - 1/200 x y DATA(2, -1, 2)
+
+ 2 2
+ + 1/100 x y DATA(1, -1, 2) + 1/100 x y DATA(-2, -2, -2)
+
+ 2 2
+ + 1/100 x y DATA(-1, 1, 2) - 1/50 x y DATA(-1, -2, -2)
+
+ 2 2
+ + 1/50 x y DATA(-1, 2, 2) + 1/200 x y DATA(2, 1, 2)
+
+ 2 2
+ + 1/50 x y DATA(1, -2, -2) - 1/700 z DATA(1, 2, 1)
+
+ 2 2
+ + 1/50 x z DATA(1, 0, -2) - 1/100 x z DATA(2, 0, -2)
+
+ 2 2
+ + 1/50 x z DATA(-1, 0, 2) + 1/100 x z DATA(2, 0, 2)
+
+ 2 2
+ - 1/50 x z DATA(1, 0, 2) + 1/200 x z DATA(2, 0, 1)
+
+ 2 2
+ - 1/100 x z DATA(1, 0, 1) - 1/100 x z DATA(-2, 0, 2)
+
+ 2 2
+ - 1/100 x z DATA(-2, -2, 2) - 1/200 x z DATA(-2, 2, 1)
+
+ 2 2
+ - 1/200 x z DATA(-2, 1, 1) - 1/200 x z DATA(-2, -1, 1)
+
+ 2 2
+ + 1/200 x z DATA(2, -2, 1) - 1/50 x z DATA(1, 1, 2)
+
+ 2 2
+ - 1/100 x z DATA(1, -2, 1) + 1/100 x z DATA(-1, -2, 1)
+
+ 2 2
+ - 1/200 x z DATA(-2, -2, 1) + 1/200 x z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/200 x z DATA(-2, -1, -1) + 1/200 x z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/50 x z DATA(-1, 2, -2) + 1/50 x z DATA(1, 2, -2)
+
+ 2 2
+ - 1/100 x z DATA(2, 2, -2) + 1/200 x z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/100 x z DATA(-1, -2, -1) + 1/100 x z DATA(1, -2, -1)
+
+ 2 2
+ + 1/100 x y DATA(2, 2, 0) - 1/50 x y DATA(1, 2, 0)
+
+ 2 2
+ + 1/100 x y DATA(-2, -2, 2) - 1/100 x y DATA(-2, 2, 1)
+
+ 2 2
+ - 1/200 x y DATA(-2, 1, 1) + 1/200 x y DATA(-2, -1, 1)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, 1) - 1/100 x y DATA(1, 1, 2)
+
+ 2 2
+ + 1/50 x y DATA(1, -2, 1) - 1/50 x y DATA(-1, -2, 1)
+
+ 2 2
+ + 1/100 x y DATA(-2, -2, 1) - 1/100 x y DATA(-2, 2, -1)
+
+ 2 2
+ + 1/200 x y DATA(-2, -1, -1) - 1/350 z DATA(2, -1, 1)
+
+ 2 2
+ - 1/100 x y DATA(1, 1, 1) - 1/200 x y DATA(-2, 1, 2)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, 2) + 1/200 x y DATA(-2, -1, 2)
+
+ 2 2
+ + 1/50 x y DATA(1, -2, 2) - 1/100 x y DATA(1, 1, 0)
+
+ 2 2
+ - 1/50 x y DATA(-1, -2, 2) - 1/100 x y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/100 x y DATA(1, -1, 1) + 1/100 x y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 x y DATA(-1, 1, 0) + 1/100 x y DATA(1, -1, 0)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, 0) - 1/100 x y DATA(1, 1, -1)
+
+ 2 2
+ - 1/200 x z DATA(-2, 0, 1) + 1/200 x z DATA(-2, 0, -1)
+
+ 2 2
+ + 1/100 x z DATA(-2, 0, -2) - 1/50 x z DATA(-1, 0, -2)
+
+ 2 2
+ - 1/200 x z DATA(2, 0, -1) - 1/700 z DATA(1, -1, -1)
+
+ 2 2
+ - 1/100 x z DATA(-2, 2, 2) - 1/100 x z DATA(1, 1, 1)
+
+ 2
+ - 1/250 y z DATA(2, 1, -2) - 1/100 x z DATA(-2, 1, 2)
+
+ 2 2
+ + 1/100 x z DATA(2, -2, 2) - 1/100 x z DATA(-2, -1, 2)
+
+ 2 2
+ - 1/50 x z DATA(1, -2, 2) + 1/100 x z DATA(1, 0, -1)
+
+ 2 2
+ - 1/100 x z DATA(-1, 0, -1) + 1/50 x z DATA(-1, -2, 2)
+
+ 2 2
+ + 1/100 x y DATA(1, -1, -1) - 1/200 x y DATA(2, -1, 1)
+
+ 2 2
+ - 1/50 x y DATA(1, 2, 1) + 1/50 x y DATA(-1, 2, 1)
+
+ 2 2
+ + 1/200 x y DATA(2, 1, 1) - 1/200 x y DATA(2, -1, -1)
+
+ 2 2
+ + 1/50 x y DATA(-1, 2, -1) + 1/200 x y DATA(2, 1, -1)
+
+ 2 2
+ - 1/50 x y DATA(1, 2, -1) - 1/100 x y DATA(-1, -1, -1)
+
+ 2
+ - 1/100 x y DATA(-2, 2, 2) + 2/175 x y DATA(0, -2, -1)
+
+ - 1/175 x y DATA(0, 1, 1) - 1/175 x y DATA(0, 1, 2)
+
+ + 2/175 x y DATA(-2, 2, 0) + 1/175 x y DATA(-2, 1, 0)
+
+ + 1/175 x y DATA(1, -2, 0) - 2/175 x y DATA(2, -2, 0)
+
+ - 1/175 x y DATA(-2, -1, 0) - 2/175 x y DATA(-2, -2, 0)
+
+ + 1/175 x y DATA(-1, -2, 0) - 1/175 x y DATA(2, -1, 0)
+
+ - 1/175 x y DATA(-1, 2, 0) + 1/175 x y DATA(2, 1, 0)
+
+ + 2/175 x y DATA(2, 2, 0) - 1/175 x y DATA(1, 2, 0)
+
+ + 2/175 x y DATA(0, -2, 1) - 2/175 x y DATA(0, 2, -2)
+
+ + 1/175 x y DATA(0, -1, -2) - 1/175 x y DATA(0, 1, -2)
+
+ + 1/175 x y DATA(0, -1, 2) + 2/175 x y DATA(0, -2, -2)
+
+ - 2/175 x y DATA(0, 2, 2) - 2/175 x y DATA(0, 2, 1)
+
+ - 2/175 x y DATA(0, 2, -1) + 1/175 x y DATA(0, -1, -1)
+
+ + 2/175 x y DATA(0, -2, 2) + 1/175 x y DATA(0, -1, 1)
+
+ - 1/175 x y DATA(0, 1, -1) - 2/175 x y DATA(-2, -2, 2)
+
+ + 2/175 x y DATA(-2, 2, 1) + 1/175 x y DATA(-2, 1, 1)
+
+ 2
+ - 1/175 x y DATA(-2, -1, 1) - 1/200 x z DATA(2, -2, -1)
+
+ 2 2
+ - 1/50 x z DATA(-1, -1, -2) + 1/50 x z DATA(1, -1, -2)
+
+ 2 2
+ - 1/100 x z DATA(2, -1, -2) + 1/100 x z DATA(-2, 1, -2)
+
+ 2 2
+ - 1/50 x z DATA(-1, 1, -2) + 1/50 x z DATA(1, 1, -2)
+
+ 2 2
+ - 1/100 x z DATA(2, 1, -2) + 1/100 x z DATA(-2, 2, -2)
+
+ 2 2
+ + 1/200 x z DATA(2, 2, 1) + 1/50 x z DATA(-1, -1, 2)
+
+ 2 2
+ + 1/100 x z DATA(2, -1, 2) - 1/50 x z DATA(1, -1, 2)
+
+ 2 2
+ + 1/100 x z DATA(-2, -2, -2) + 1/50 x z DATA(-1, 1, 2)
+
+ 2 2
+ - 1/50 x z DATA(-1, -2, -2) + 1/50 x z DATA(-1, 2, 2)
+
+ 2 2
+ + 1/100 x z DATA(2, 1, 2) + 1/50 x z DATA(1, -2, -2)
+
+ 2 2
+ - 1/100 x z DATA(-1, 1, -1) - 1/100 x z DATA(2, -2, -2)
+
+ 2 2
+ + 1/100 x z DATA(2, 2, 2) + 1/100 x z DATA(-2, -1, -2)
+
+ 2 2
+ - 1/50 x z DATA(1, 2, 2) - 1/200 x z DATA(2, 2, -1)
+
+ 2 2
+ + 1/100 x z DATA(1, -1, -1) + 1/200 x z DATA(2, -1, 1)
+
+ 2 2
+ - 1/100 x z DATA(1, 2, 1) + 1/100 x z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/200 x z DATA(2, 1, 1) - 1/200 x z DATA(2, -1, -1)
+
+ 2 2
+ - 1/100 x z DATA(-1, 2, -1) - 1/200 x z DATA(2, 1, -1)
+
+ 2 2
+ + 1/100 x z DATA(1, 2, -1) - 1/100 x z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/350 z DATA(2, 2, -1) - 1/175 z DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 z DATA(2, 2, 2) + 1/175 z DATA(2, -2, -2)
+
+ 2 2
+ + 1/700 z DATA(-1, 1, -1) + 1/350 z DATA(1, -2, -2)
+
+ 2 2
+ + 1/175 z DATA(2, 1, 2) - 1/350 z DATA(-1, 2, 2)
+
+ 2 2
+ - 1/350 z DATA(-1, -2, -2) - 1/350 z DATA(-1, 1, 2)
+
+ 2 2
+ - 1/175 z DATA(-2, -2, -2) + 1/350 z DATA(1, -1, 2)
+
+ 2 2
+ + 1/175 z DATA(2, -1, 2) - 1/350 z DATA(-1, -1, 2)
+
+ 2 2
+ - 1/350 z DATA(2, 2, 1) - 1/175 z DATA(-2, 2, -2)
+
+ 2 2
+ + 1/175 z DATA(2, 1, -2) + 1/350 z DATA(1, 1, -2)
+
+ 2 2
+ - 1/350 z DATA(-1, 1, -2) - 1/175 z DATA(-2, 1, -2)
+
+ 2 2
+ + 1/700 z DATA(-1, 2, 1) - 1/700 z DATA(1, 1, -1)
+
+ 2 2
+ + 1/350 z DATA(-1, -1, 0) - 1/350 z DATA(1, -1, 0)
+
+ 2 2
+ + 1/350 z DATA(-1, 0, 0) + 1/350 z DATA(-1, 1, 0)
+
+ 2 2
+ + 1/700 z DATA(-1, 1, 1) + 1/700 z DATA(-1, 0, 1)
+
+ 2 2
+ - 1/700 z DATA(1, -1, 1) + 1/700 z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/350 z DATA(-1, -2, 2) + 1/700 z DATA(-1, 0, -1)
+
+ 2 2
+ - 1/700 z DATA(1, 0, -1) - 1/350 z DATA(1, 0, 0)
+
+ 2 2
+ - 1/350 z DATA(1, 1, 0) + 1/350 z DATA(1, -2, 2)
+
+ 2 2
+ - 1/175 z DATA(-2, -1, 2) + 1/175 z DATA(2, -2, 2)
+
+ 2 2
+ - 1/175 z DATA(-2, 1, 2) - 1/700 z DATA(1, 1, 1)
+
+ 2 2
+ - 1/175 z DATA(-2, 2, 2) + 1/700 z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/700 z DATA(1, 2, -1) + 1/350 y DATA(-2, 1, 0)
+
+ 2 2
+ - 1/175 y DATA(-2, 2, 0) + 1/175 y DATA(-2, 0, 2)
+
+ 2 2 2
+ - 1/350 y DATA(1, 0, 1) - 1/175 y DATA(2, 0, 1) - 1/350 y DATA(1, 0, 2)
+
+ 2 2
+ - 1/175 y DATA(2, 0, 2) + 1/350 y DATA(-1, 0, 2)
+
+ 2 2
+ - 1/175 y DATA(2, 0, -2) - 1/350 y DATA(1, 0, -2)
+
+ 2 2
+ - 1/175 y DATA(2, 0, -1) + 1/350 y DATA(-1, 0, -2)
+
+ 2 2
+ + 1/175 y DATA(-2, 0, -2) + 1/175 y DATA(-2, 0, -1)
+
+ 2 2
+ + 1/175 y DATA(-2, 0, 1) - 1/175 y DATA(2, 0, 0)
+
+ 2 2
+ + 1/175 y DATA(-2, 0, 0) - 1/50 x DATA(1, 1, -1)
+
+ 2 187
+ + 1/50 x DATA(-1, -1, 0) + ---- z DATA(-2, 0, -1)
+ 7000
+
+ 2 2
+ - 1/700 y DATA(1, 1, -1) + 1/700 y DATA(-1, -1, 0)
+
+ 2 2
+ - 1/700 y DATA(1, -1, 0) + 1/350 y DATA(-1, 0, 0)
+
+ 2 2
+ + 1/700 y DATA(-1, 1, 0) + 1/700 y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/350 y DATA(-1, 0, 1) - 1/700 y DATA(1, -1, 1)
+
+ 2 2
+ + 1/700 y DATA(-1, -1, 1) - 1/350 y DATA(-1, -2, 2)
+
+ 2 2
+ + 1/350 y DATA(-1, 0, -1) - 1/350 y DATA(1, 0, -1)
+
+ 2 2
+ - 1/350 y DATA(1, 0, 0) - 1/700 y DATA(1, 1, 0)
+
+ 2 2
+ + 1/350 y DATA(1, -2, 2) + 1/350 y DATA(-2, -1, 2)
+
+ 2 2
+ + 1/175 y DATA(2, -2, 2) + 1/350 y DATA(-2, 1, 2)
+
+ 2 2
+ - 1/700 y DATA(1, 1, 1) - 1/175 y DATA(-2, 2, 2)
+
+ 2 2
+ + 1/700 y DATA(-1, -1, -1) + 1/350 y DATA(1, 2, -1)
+
+ 2 2
+ - 1/350 y DATA(2, 1, -1) - 1/350 y DATA(-1, 2, -1)
+
+ 2 2
+ - 1/350 y DATA(2, -1, -1) - 1/350 y DATA(2, 1, 1)
+
+ 2 2
+ - 1/350 y DATA(-1, 2, 1) + 1/350 y DATA(1, 2, 1)
+
+ 2 2
+ - 1/350 y DATA(2, -1, 1) - 1/700 y DATA(1, -1, -1)
+
+ 2 2
+ + 1/175 y DATA(2, 2, -1) + 1/350 y DATA(1, 2, 2)
+
+ 2 2
+ + 1/350 y DATA(-2, -1, -2) + 1/175 y DATA(2, 2, 2)
+
+ 2 2
+ + 1/175 y DATA(2, -2, -2) + 1/700 y DATA(-1, 1, -1)
+
+ 2 2
+ + 1/350 y DATA(1, -2, -2) - 1/350 y DATA(2, 1, 2)
+
+ 2 2
+ - 1/350 y DATA(-1, 2, 2) - 1/350 y DATA(-1, -2, -2)
+
+ 2 2
+ + 1/700 y DATA(-1, 1, 2) - 1/175 y DATA(-2, -2, -2)
+
+ 2 2
+ - 1/700 y DATA(1, -1, 2) - 1/350 y DATA(2, -1, 2)
+
+ 2 2
+ + 1/700 y DATA(-1, -1, 2) + 1/175 y DATA(2, 2, 1)
+
+ 2 2
+ - 1/175 y DATA(-2, 2, -2) - 1/350 y DATA(2, 1, -2)
+
+ 2 2
+ - 1/700 y DATA(1, 1, -2) + 1/700 y DATA(-1, 1, -2)
+
+ + 1/500 y z DATA(1, 1, 2) - 1/500 y z DATA(1, -2, 1)
+
+ + 2/175 x y DATA(-2, 2, -1) - 2/175 x y DATA(-2, -2, 1)
+
+ 17
+ + 1/500 y z DATA(-1, -2, 1) - ---- DATA(-2, -1, 1)
+ 2100
+
+ 2
+ - 1/175 x y DATA(-1, 2, -2) - 1/100 x DATA(-2, -2, -2)
+
+ 2 2
+ - 1/50 x DATA(1, -1, 2) + 1/100 x DATA(2, -1, 2)
+
+ 2 2
+ + 1/50 x DATA(-1, -1, 2) + 1/100 x DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 x DATA(-2, 2, -2) + 1/100 x DATA(2, 1, -2)
+
+ 2 2
+ - 1/50 x DATA(1, 1, -2) + 1/50 x DATA(-1, 1, -2)
+
+ 2 2
+ - 1/100 x DATA(-2, 1, -2) + 1/100 x DATA(2, -1, -2)
+
+ 2 2
+ - 1/50 x DATA(1, -1, -2) + 1/50 x DATA(-1, -1, -2)
+
+ 2 2
+ + 1/100 x DATA(2, -2, -1) - 1/50 x DATA(1, -2, -1)
+
+ 2 2 2
+ - 1/50 x DATA(1, -2, 2) - 1/50 x DATA(1, -1, 0) + 1/50 x DATA(-1, 0, 0)
+
+ 2 2 2
+ + 1/50 x DATA(-1, 1, 0) + 1/50 x DATA(-1, 1, 1) + 1/50 x DATA(-1, 0, 1)
+
+ 2 2
+ - 1/50 x DATA(1, -1, 1) + 1/50 x DATA(-1, -1, 1)
+
+ 2 2
+ + 1/50 x DATA(-1, -2, 2) + 1/50 x DATA(-1, 0, -1)
+
+ 2 2 2
+ - 1/50 x DATA(1, 0, -1) - 1/50 x DATA(1, 0, 0) - 1/100 x DATA(-2, 0, 0)
+
+ 3 3
+ - 2/75 x DATA(-1, -1, 0) - 2/75 x DATA(1, -1, 0)
+
+ 3 3 3
+ - 2/75 x DATA(-1, 0, 0) - 2/75 x DATA(-1, 1, 0) - 2/75 x DATA(-1, 1, 1)
+
+ 3 3
+ - 2/75 x DATA(-1, 0, 1) - 2/75 x DATA(1, -1, 1)
+
+ 3 3
+ - 2/75 x DATA(-1, -1, 1) - 2/75 x DATA(-1, -2, 2)
+
+ 3 3 3
+ - 2/75 x DATA(-1, 0, -1) - 2/75 x DATA(1, 0, -1) - 2/75 x DATA(1, 0, 0)
+
+ 3 3
+ - 2/75 x DATA(1, 1, 0) - 2/75 x DATA(1, -2, 2)
+
+ 3 3
+ + 1/150 x DATA(-2, -1, 2) + 1/150 x DATA(2, -2, 2)
+
+ 3 3
+ + 1/150 x DATA(-2, 1, 2) - 2/75 x DATA(1, 1, 1)
+
+ 3 3
+ + 1/150 x DATA(-2, 2, 2) - 2/75 x DATA(-1, -1, -1)
+
+ 3 3
+ - 2/75 x DATA(1, 2, -1) + 1/150 x DATA(2, 1, -1)
+
+ 3 3
+ - 2/75 x DATA(-1, 2, -1) + 1/150 x DATA(2, -1, -1)
+
+ 3 3 3
+ + 1/150 x DATA(2, 1, 1) - 2/75 x DATA(-1, 2, 1) - 2/75 x DATA(1, 2, 1)
+
+ 3 3
+ + 1/150 x DATA(2, -1, 1) - 2/75 x DATA(1, -1, -1)
+
+ 3 3
+ + 1/150 x DATA(2, 2, -1) - 2/75 x DATA(1, 2, 2)
+
+ 3 3
+ + 1/150 x DATA(-2, -1, -2) + 1/150 x DATA(2, 2, 2)
+
+ 3 3
+ + 1/150 x DATA(2, -2, -2) - 2/75 x DATA(-1, 1, -1)
+
+ 3 3
+ - 2/75 x DATA(1, -2, -2) + 1/150 x DATA(2, 1, 2)
+
+ 3 3
+ - 2/75 x DATA(-1, 2, 2) - 2/75 x DATA(-1, -2, -2)
+
+ 3 3
+ - 2/75 x DATA(-1, 1, 2) + 1/150 x DATA(-2, -2, -2)
+
+ 3 3
+ - 2/75 x DATA(1, -1, 2) + 1/150 x DATA(2, -1, 2)
+
+ 3 3
+ - 2/75 x DATA(-1, -1, 2) + 1/150 x DATA(2, 2, 1)
+
+ 3 3
+ + 1/150 x DATA(-2, 2, -2) + 1/150 x DATA(2, 1, -2)
+
+ 3 3
+ - 2/75 x DATA(1, 1, -2) - 2/75 x DATA(-1, 1, -2)
+
+ 3 3
+ + 1/150 x DATA(-2, 1, -2) + 1/150 x DATA(2, -1, -2)
+
+ 3 3
+ - 2/75 x DATA(1, -1, -2) - 2/75 x DATA(-1, -1, -2)
+
+ 3 3
+ + 1/150 x DATA(2, -2, -1) - 2/75 x DATA(1, -2, -1)
+
+ 3 3
+ - 2/75 x DATA(-1, -2, -1) + 1/150 x DATA(-2, -2, -1)
+
+ 2 2
+ - 1/50 x DATA(1, 1, 0) - 1/100 x DATA(-2, -1, 2)
+
+ 2 2
+ + 1/100 x DATA(2, -2, 2) - 1/100 x DATA(-2, 1, 2)
+
+ 2 2
+ - 1/50 x DATA(1, 1, 1) - 1/100 x DATA(-2, 2, 2)
+
+ 2 2
+ + 1/50 x DATA(-1, -1, -1) - 1/50 x DATA(1, 2, -1)
+
+ 2 2
+ + 1/100 x DATA(2, 1, -1) + 1/50 x DATA(-1, 2, -1)
+
+ 2 2
+ + 1/100 x DATA(2, -1, -1) + 1/100 x DATA(2, 1, 1)
+
+ 2 2 2
+ + 1/50 x DATA(-1, 2, 1) - 1/50 x DATA(1, 2, 1) + 1/100 x DATA(2, -1, 1)
+
+ 2 2
+ - 1/50 x DATA(1, -1, -1) + 1/100 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/50 x DATA(1, 2, 2) - 1/100 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 2, 2) + 1/100 x DATA(2, -2, -2)
+
+ 2 2
+ + 1/50 x DATA(-1, 1, -1) - 1/50 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 1, 2) + 1/50 x DATA(-1, 2, 2)
+
+ 2 2
+ + 1/50 x DATA(-1, -2, -2) + 1/50 x DATA(-1, 1, 2)
+
+ 3 3
+ - 2/75 x DATA(1, 1, -1) + 1/150 x DATA(-2, -1, -1)
+
+ 3 3
+ + 1/150 x DATA(-2, 2, -1) + 1/150 x DATA(-2, -2, 1)
+
+ 3 3 3
+ - 2/75 x DATA(-1, -2, 1) - 2/75 x DATA(1, -2, 1) - 2/75 x DATA(1, 1, 2)
+
+ 3 3
+ + 1/150 x DATA(2, -2, 1) + 1/150 x DATA(-2, -1, 1)
+
+ 3 3
+ + 1/150 x DATA(-2, 1, 1) + 1/150 x DATA(-2, 2, 1)
+
+ 2 2
+ + 1/50 x DATA(-1, -2, -1) - 1/100 x DATA(-2, -2, -1)
+
+ 2 2
+ + 1/100 x DATA(2, 2, -2) - 1/50 x DATA(1, 2, -2)
+
+ 2 2
+ + 1/50 x DATA(-1, 2, -2) - 1/100 x DATA(-2, 1, -1)
+
+ 2 2
+ - 1/100 x DATA(-2, -1, -1) - 1/100 x DATA(-2, 2, -1)
+
+ 2 2
+ - 1/100 x DATA(-2, -2, 1) + 1/50 x DATA(-1, -2, 1)
+
+ 2 2 2
+ - 1/50 x DATA(1, -2, 1) - 1/50 x DATA(1, 1, 2) + 1/100 x DATA(2, -2, 1)
+
+ 2 2
+ - 1/100 x DATA(-2, -1, 1) - 1/100 x DATA(-2, 1, 1)
+
+ 2 2
+ - 1/100 x DATA(-2, 2, 1) - 1/100 x DATA(-2, -2, 2)
+
+ 2 2 2
+ - 1/50 x DATA(1, 2, 0) + 1/100 x DATA(2, 2, 0) + 1/100 x DATA(2, 1, 0)
+
+ 2 2
+ + 1/50 x DATA(-1, 2, 0) + 1/100 x DATA(2, -1, 0)
+
+ 2 2
+ + 1/50 x DATA(-1, -2, 0) - 1/100 x DATA(-2, -2, 0)
+
+ 2 2
+ - 1/100 x DATA(-2, -1, 0) + 1/100 x DATA(2, -2, 0)
+
+ 2 2
+ - 1/50 x DATA(1, -2, 0) - 1/100 x DATA(-2, 1, 0)
+
+ 2 2
+ - 1/100 x DATA(-2, 2, 0) - 1/100 x DATA(-2, 0, 2)
+
+ 2 2 2
+ - 1/50 x DATA(1, 0, 1) + 1/100 x DATA(2, 0, 1) - 1/50 x DATA(1, 0, 2)
+
+ 2 2
+ + 1/100 x DATA(2, 0, 2) + 1/50 x DATA(-1, 0, 2)
+
+ 2 2
+ + 1/100 x DATA(2, 0, -2) - 1/50 x DATA(1, 0, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 0, -1) + 1/50 x DATA(-1, 0, -2)
+
+ 2 2
+ - 1/100 x DATA(-2, 0, -2) - 1/100 x DATA(-2, 0, -1)
+
+ 2 2
+ - 1/100 x DATA(-2, 0, 1) + 1/100 x DATA(2, 0, 0)
+
+ 3
+ + 1/250 y z DATA(-2, -1, 2) + 1/25 x DATA(0, -2, 2)
+
+ 3 3 3
+ + 1/25 x DATA(0, -1, -1) + 1/25 x DATA(0, 2, -1) + 1/25 x DATA(0, 2, 1)
+
+ 3 3 3
+ + 1/25 x DATA(0, 2, 2) + 1/25 x DATA(0, -2, -2) + 1/25 x DATA(0, -1, 2)
+
+ 3 3
+ + 1/25 x DATA(0, 1, -2) + 1/25 x DATA(0, -1, -2)
+
+ 3 3 3
+ + 1/25 x DATA(0, 2, -2) + 1/25 x DATA(0, -2, 1) - 2/75 x DATA(1, 2, 0)
+
+ 3 3 3
+ + 1/150 x DATA(2, 2, 0) + 1/150 x DATA(2, 1, 0) - 2/75 x DATA(-1, 2, 0)
+
+ 3 3
+ + 1/150 x DATA(2, -1, 0) - 2/75 x DATA(-1, -2, 0)
+
+ 3 3
+ + 1/150 x DATA(-2, -2, 0) + 1/150 x DATA(-2, -1, 0)
+
+ 3 3
+ + 1/150 x DATA(2, -2, 0) - 2/75 x DATA(1, -2, 0)
+
+ 3 3
+ + 1/150 x DATA(-2, 1, 0) + 1/150 x DATA(-2, 2, 0)
+
+ 3 3 3
+ + 1/150 x DATA(-2, 0, 2) + 1/25 x DATA(0, 1, 2) + 1/25 x DATA(0, 1, 1)
+
+ 3 3 3
+ + 1/25 x DATA(0, -2, -1) - 2/75 x DATA(1, 0, 1) + 1/150 x DATA(2, 0, 1)
+
+ 3 3 3
+ - 2/75 x DATA(1, 0, 2) + 1/150 x DATA(2, 0, 2) - 2/75 x DATA(-1, 0, 2)
+
+ 3 3
+ + 1/150 x DATA(2, 0, -2) - 2/75 x DATA(1, 0, -2)
+
+ 3 3
+ + 1/150 x DATA(2, 0, -1) - 2/75 x DATA(-1, 0, -2)
+
+ 3 3
+ + 1/150 x DATA(-2, 0, -2) + 1/150 x DATA(-2, 0, -1)
+
+ 3 3
+ + 1/150 x DATA(-2, 0, 1) + 1/150 x DATA(2, 0, 0)
+
+ 3 3
+ + 1/25 x DATA(0, 1, -1) + 1/150 x DATA(2, 2, -2)
+
+ 3 3
+ - 2/75 x DATA(1, 2, -2) - 2/75 x DATA(-1, 2, -2)
+
+ 3 151
+ + 1/150 x DATA(-2, 1, -1) + ---- x DATA(-1, 0, 1)
+ 3675
+
+ 166 256 151
+ + ---- x DATA(-1, -1, 1) + ---- x DATA(-1, -2, 2) + ---- x DATA(-1, 0, -1)
+ 3675 3675 3675
+
+ 151 136 151
+ + ---- x DATA(1, 0, -1) + ---- x DATA(1, 0, 0) + ---- x DATA(1, 1, 0)
+ 3675 3675 3675
+
+ 256 169 529
+ + ---- x DATA(1, -2, 2) - ----- x DATA(-2, -1, 2) - ----- x DATA(2, -2, 2)
+ 3675 14700 14700
+
+ 169 166 529
+ - ----- x DATA(-2, 1, 2) + ---- x DATA(1, 1, 1) - ----- x DATA(-2, 2, 2)
+ 14700 3675 14700
+
+ 166 211 191
+ + ---- x DATA(-1, -1, -1) + ---- x DATA(1, 2, -1) + ----- x DATA(2, 1, -1)
+ 3675 3675 14700
+
+ 211 191 191
+ + ---- x DATA(-1, 2, -1) + ----- x DATA(2, -1, -1) + ----- x DATA(2, 1, 1)
+ 3675 14700 14700
+
+ 211 211 191
+ + ---- x DATA(-1, 2, 1) + ---- x DATA(1, 2, 1) + ----- x DATA(2, -1, 1)
+ 3675 3675 14700
+
+ 166 169 256
+ + ---- x DATA(1, -1, -1) - ----- x DATA(2, 2, -1) + ---- x DATA(1, 2, 2)
+ 3675 14700 3675
+
+ 169 3
+ - ----- x DATA(-2, -1, -2) + 1/25 x DATA(0, -1, 0)
+ 14700
+
+ 3 3
+ + 1/150 x DATA(-2, -2, 2) + 1/25 x DATA(0, -1, 1)
+
+ 166 169 211
+ + ---- x DATA(1, -1, 1) - ----- x DATA(2, -2, -1) + ---- x DATA(1, -2, -1)
+ 3675 14700 3675
+
+ 211 169
+ + ---- x DATA(-1, -2, -1) - ----- x DATA(-2, -2, -1)
+ 3675 14700
+
+ 529 256 256
+ - ----- x DATA(2, 2, -2) + ---- x DATA(1, 2, -2) + ---- x DATA(-1, 2, -2)
+ 14700 3675 3675
+
+ 191 191
+ + ----- x DATA(-2, 1, -1) + ----- x DATA(-2, -1, -1)
+ 14700 14700
+
+ 169 169
+ - ----- x DATA(-2, 2, -1) - ----- x DATA(-2, -2, 1)
+ 14700 14700
+
+ 211 211 211
+ + ---- x DATA(-1, -2, 1) + ---- x DATA(1, -2, 1) + ---- x DATA(1, 1, 2)
+ 3675 3675 3675
+
+ 169 166 3
+ - ----- x DATA(2, -2, 1) + ---- x DATA(1, 1, -1) + 1/150 x DATA(-2, 0, 0)
+ 14700 3675
+
+ 3 3 3
+ + 1/25 x DATA(0, 0, -1) + 1/25 x DATA(0, 0, 0) + 1/25 x DATA(0, 1, 0)
+
+ 3 3 3
+ + 1/25 x DATA(0, 0, 1) + 1/25 x DATA(0, 0, 2) + 1/25 x DATA(0, 0, -2)
+
+ 3 3 151
+ + 1/25 x DATA(0, -2, 0) + 1/25 x DATA(0, 2, 0) + ---- x DATA(-1, -1, 0)
+ 3675
+
+ 151 136 151
+ + ---- x DATA(1, -1, 0) + ---- x DATA(-1, 0, 0) + ---- x DATA(-1, 1, 0)
+ 3675 3675 3675
+
+ 166 311
+ + ---- x DATA(-1, 1, 1) + 4/75 x DATA(1, -2, 0) + ----- x DATA(-2, 1, 0)
+ 3675 14700
+
+ - 1/300 x DATA(-2, 2, 0) - 1/300 x DATA(-2, 0, 2) - 9/98 x DATA(0, 1, 2)
+
+ 57 151
+ - --- x DATA(0, 1, 1) - 9/98 x DATA(0, -2, -1) + ---- x DATA(1, 0, 1)
+ 490 3675
+
+ 311 529
+ + ----- x DATA(2, 0, 1) + 4/75 x DATA(1, 0, 2) - ----- x DATA(2, 2, 2)
+ 14700 14700
+
+ 529 166
+ - ----- x DATA(2, -2, -2) + ---- x DATA(-1, 1, -1)
+ 14700 3675
+
+ 256 169 256
+ + ---- x DATA(1, -2, -2) - ----- x DATA(2, 1, 2) + ---- x DATA(-1, 2, 2)
+ 3675 14700 3675
+
+ 256 211
+ + ---- x DATA(-1, -2, -2) + ---- x DATA(-1, 1, 2)
+ 3675 3675
+
+ 529 211
+ - ----- x DATA(-2, -2, -2) + ---- x DATA(1, -1, 2)
+ 14700 3675
+
+ 169 211 169
+ - ----- x DATA(2, -1, 2) + ---- x DATA(-1, -1, 2) - ----- x DATA(2, 2, 1)
+ 14700 3675 14700
+
+ 529 169 211
+ - ----- x DATA(-2, 2, -2) - ----- x DATA(2, 1, -2) + ---- x DATA(1, 1, -2)
+ 14700 14700 3675
+
+ 211 169
+ + ---- x DATA(-1, 1, -2) - ----- x DATA(-2, 1, -2)
+ 3675 14700
+
+ 169 211
+ - ----- x DATA(2, -1, -2) + ---- x DATA(1, -1, -2)
+ 14700 3675
+
+ 211 311
+ + ---- x DATA(-1, -1, -2) + ----- x DATA(2, 0, -1)
+ 3675 14700
+
+ 311
+ - 1/300 x DATA(-2, 0, -2) + ----- x DATA(-2, 0, -1)
+ 14700
+
+ 311 431 431
+ + ----- x DATA(-2, 0, 1) + ----- x DATA(2, 0, 0) + ----- x DATA(-2, 0, 0)
+ 14700 14700 14700
+
+ 61 61 13
+ - --- x DATA(0, -1, 0) - --- x DATA(0, 0, -1) - -- x DATA(0, 0, 0)
+ 490 490 98
+
+ 61 61
+ - --- x DATA(0, 1, 0) - --- x DATA(0, 0, 1) - 1/10 x DATA(0, 0, 2)
+ 490 490
+
+ - 1/10 x DATA(0, 0, -2) - 1/10 x DATA(0, -2, 0) - 1/10 x DATA(0, 2, 0)
+
+ 191 191
+ + 4/75 x DATA(-1, 0, 2) + ----- x DATA(-2, -1, 1) + ----- x DATA(-2, 1, 1)
+ 14700 14700
+
+ 169 529 57
+ - ----- x DATA(-2, 2, 1) - ----- x DATA(-2, -2, 2) - --- x DATA(0, 1, -1)
+ 14700 14700 490
+
+ 57 33 57
+ - --- x DATA(0, -1, 1) - --- x DATA(0, -2, 2) - --- x DATA(0, -1, -1)
+ 490 490 490
+
+ 33
+ - 9/98 x DATA(0, 2, -1) - 9/98 x DATA(0, 2, 1) - --- x DATA(0, 2, 2)
+ 490
+
+ 33
+ - --- x DATA(0, -2, -2) - 9/98 x DATA(0, -1, 2) - 9/98 x DATA(0, 1, -2)
+ 490
+
+ 33
+ - 9/98 x DATA(0, -1, -2) - --- x DATA(0, 2, -2) - 9/98 x DATA(0, -2, 1)
+ 490
+
+ 311
+ + 4/75 x DATA(1, 2, 0) - 1/300 x DATA(2, 2, 0) + ----- x DATA(2, 1, 0)
+ 14700
+
+ 311
+ + 4/75 x DATA(-1, 2, 0) + ----- x DATA(2, -1, 0) + 4/75 x DATA(-1, -2, 0)
+ 14700
+
+ 311
+ - 1/300 x DATA(-2, -2, 0) + ----- x DATA(-2, -1, 0)
+ 14700
+
+ - 1/300 x DATA(2, -2, 0) + 4/75 x DATA(-1, 0, -2)
+
+ 3 3
+ - 1/300 z DATA(2, -1, -2) + 1/600 z DATA(-1, -1, -2)
+
+ 3 3
+ + 1/150 z DATA(2, -2, -1) + 1/300 z DATA(1, -2, -1)
+
+ 3 3
+ - 1/300 z DATA(-1, -2, -1) - 1/150 z DATA(-2, -2, -1)
+
+ 3 3
+ - 1/300 z DATA(2, 2, -2) - 1/600 z DATA(1, 2, -2)
+
+ 3 3
+ + 1/600 z DATA(-1, 2, -2) - 1/150 z DATA(-2, 1, -1)
+
+ 3 3
+ - 1/150 z DATA(-2, -1, -1) - 1/150 z DATA(-2, 2, -1)
+
+ 3 3
+ + 1/150 z DATA(-2, -2, 1) + 1/300 z DATA(-1, -2, 1)
+
+ 3 3
+ - 1/300 z DATA(1, -2, 1) + 1/600 z DATA(1, 1, 2)
+
+ 3 3
+ - 1/150 z DATA(2, -2, 1) + 1/150 z DATA(-2, -1, 1)
+
+ 3 3
+ + 1/150 z DATA(-2, 1, 1) + 1/150 z DATA(-2, 2, 1)
+
+ 3 3
+ - 1/300 z DATA(-2, -2, 2) - 1/300 z DATA(-2, 0, 2)
+
+ 3 3 3
+ - 1/300 z DATA(1, 0, 1) - 1/150 z DATA(2, 0, 1) + 1/600 z DATA(1, 0, 2)
+
+ 3 3
+ + 1/300 z DATA(2, 0, 2) - 1/600 z DATA(-1, 0, 2)
+
+ 3 3
+ - 1/300 z DATA(2, 0, -2) - 1/600 z DATA(1, 0, -2)
+
+ 3 3
+ + 1/150 z DATA(2, 0, -1) + 1/600 z DATA(-1, 0, -2)
+
+ 3 3
+ + 1/300 z DATA(-2, 0, -2) - 1/150 z DATA(-2, 0, -1)
+
+ 3 3
+ + 1/150 z DATA(-2, 0, 1) - 1/600 z DATA(-1, -1, 2)
+
+ 3 3
+ + 1/300 z DATA(-1, -1, 1) - 1/600 z DATA(-1, -2, 2)
+
+ 3 3
+ - 1/300 z DATA(-1, 0, -1) + 1/300 z DATA(1, 0, -1)
+
+ 3 3
+ + 1/600 z DATA(1, -2, 2) - 1/300 z DATA(-2, -1, 2)
+
+ 3 3
+ + 1/300 z DATA(2, -2, 2) - 1/600 z DATA(1, -1, -2)
+
+ 187 187 17
+ - ---- y DATA(1, -2, 0) - ---- y DATA(-2, 1, 0) + ---- y DATA(-2, 2, 0)
+ 7000 7000 5250
+
+ 137 137 47
+ - ---- z DATA(1, 1, -1) - ---- z DATA(-1, 1, 1) + ---- y DATA(-2, 2, -1)
+ 5250 5250 5250
+
+ 137 289 289
+ + ---- y DATA(1, 1, -1) + ----- y DATA(-1, -1, 0) - ----- y DATA(1, -1, 0)
+ 5250 10500 10500
+
+ 289 137 137
+ - ----- y DATA(-1, 1, 0) - ---- y DATA(-1, 1, 1) - ---- y DATA(1, -1, 1)
+ 10500 5250 5250
+
+ 137 107 289
+ + ---- y DATA(-1, -1, 1) + ---- y DATA(-1, -2, 2) + ----- y DATA(1, 1, 0)
+ 5250 7000 10500
+
+ 107 107 137
+ - ---- y DATA(1, -2, 2) + ---- y DATA(-2, -1, 2) + ---- y DATA(2, -2, 2)
+ 7000 7000 5250
+
+ 107 137 137
+ - ---- y DATA(-2, 1, 2) + ---- y DATA(1, 1, 1) + ---- y DATA(-2, 2, 2)
+ 7000 5250 5250
+
+ 137 167 167
+ + ---- y DATA(-1, -1, -1) + ---- y DATA(1, 2, -1) + ---- y DATA(2, 1, -1)
+ 5250 7000 7000
+
+ 167 167 167
+ - ---- y DATA(-1, 2, -1) - ---- y DATA(2, -1, -1) + ---- y DATA(2, 1, 1)
+ 7000 7000 7000
+
+ 167 167 167
+ - ---- y DATA(-1, 2, 1) + ---- y DATA(1, 2, 1) - ---- y DATA(2, -1, 1)
+ 7000 7000 7000
+
+ 137 47 107
+ - ---- y DATA(1, -1, -1) - ---- y DATA(2, 2, -1) + ---- y DATA(1, 2, 2)
+ 5250 5250 7000
+
+ 107 137 137
+ + ---- y DATA(-2, -1, -2) - ---- y DATA(2, 2, 2) + ---- y DATA(2, -2, -2)
+ 7000 5250 5250
+
+ 137 107 107
+ - ---- y DATA(-1, 1, -1) - ---- y DATA(1, -2, -2) + ---- y DATA(2, 1, 2)
+ 5250 7000 7000
+
+ 107 107 229
+ - ---- y DATA(-1, 2, 2) + ---- y DATA(-1, -2, -2) - ----- y DATA(-1, 1, 2)
+ 7000 7000 10500
+
+ 137 3
+ - ---- y DATA(-2, -2, -2) + 1/150 y DATA(2, -1, -1)
+ 5250
+
+ 3 3
+ - 1/600 y DATA(-1, 2, 1) + 1/600 y DATA(1, 2, 1)
+
+ 3 3
+ + 1/150 y DATA(2, -1, 1) + 1/300 y DATA(1, -1, -1)
+
+ 3 3
+ + 1/300 y DATA(2, 2, -1) + 1/600 y DATA(1, 2, 2)
+
+ 3 3
+ - 1/150 y DATA(-2, -1, -2) + 1/300 y DATA(2, 2, 2)
+
+ 3 3
+ - 1/300 y DATA(2, -2, -2) + 1/300 y DATA(-1, 1, -1)
+
+ 3 3
+ - 1/600 y DATA(1, -2, -2) - 1/150 y DATA(2, 1, 2)
+
+ 3 3
+ - 1/600 y DATA(-1, 2, 2) + 1/600 y DATA(-1, -2, -2)
+
+ 3 3
+ + 1/300 y DATA(-1, 1, 2) + 1/300 y DATA(-2, -2, -2)
+
+ 3 3
+ + 1/300 y DATA(1, -1, 2) + 1/150 y DATA(2, -1, 2)
+
+ 3 3
+ - 1/300 y DATA(-1, -1, 2) + 1/300 y DATA(2, 2, 1)
+
+ 3 3
+ - 1/300 y DATA(-2, 2, -2) - 1/150 y DATA(2, 1, -2)
+
+ 3 3
+ - 1/300 y DATA(1, 1, -2) + 1/300 y DATA(-1, 1, -2)
+
+ 3 3
+ + 1/150 y DATA(-2, 1, -2) + 1/150 y DATA(2, -1, -2)
+
+ 3 3
+ + 1/300 y DATA(1, -1, -2) - 1/300 y DATA(-1, -1, -2)
+
+ 3 3
+ - 1/300 y DATA(2, -2, -1) - 1/600 y DATA(1, -2, -1)
+
+ 3 3
+ + 1/600 y DATA(-1, -2, -1) + 1/300 y DATA(-2, -2, -1)
+
+ 3 3
+ + 1/300 y DATA(2, 2, -2) - 1/150 y DATA(2, 1, 1)
+
+ 3 3
+ + 1/600 y DATA(1, 2, -2) - 1/600 y DATA(-1, 2, -2)
+
+ 3 3
+ + 1/150 y DATA(-2, 1, -1) - 1/150 y DATA(-2, -1, -1)
+
+ 3 3
+ - 1/300 y DATA(-2, 2, -1) + 1/300 y DATA(-2, -2, 1)
+
+ 3 3
+ + 1/600 y DATA(-1, -2, 1) - 1/600 y DATA(1, -2, 1)
+
+ 3 3
+ - 1/300 y DATA(1, 1, 2) - 1/300 y DATA(2, -2, 1)
+
+ 3 3
+ - 1/150 y DATA(-2, -1, 1) + 1/150 y DATA(-2, 1, 1)
+
+ 3 3
+ - 1/300 y DATA(-2, 2, 1) + 1/300 y DATA(-2, -2, 2)
+
+ 3 3 3
+ + 1/600 y DATA(1, 2, 0) + 1/300 y DATA(2, 2, 0) - 1/150 y DATA(2, 1, 0)
+
+ 3 3
+ - 1/600 y DATA(-1, 2, 0) + 1/150 y DATA(2, -1, 0)
+
+ 3 3
+ + 1/600 y DATA(-1, -2, 0) + 1/300 y DATA(-2, -2, 0)
+
+ 3 3
+ - 1/150 y DATA(-2, -1, 0) - 1/300 y DATA(2, -2, 0)
+
+ 3 3
+ - 1/600 y DATA(1, -2, 0) + 1/150 y DATA(-2, 1, 0)
+
+ 3 3
+ - 1/300 y DATA(-2, 2, 0) - 1/300 y DATA(1, 1, -1)
+
+ 3 3
+ - 1/300 y DATA(-1, -1, 0) + 1/300 y DATA(1, -1, 0)
+
+ 3 3
+ + 1/300 y DATA(-1, 1, 0) + 1/300 y DATA(-1, 1, 1)
+
+ 3 3
+ + 1/300 y DATA(1, -1, 1) - 1/300 y DATA(-1, -1, 1)
+
+ 3 3
+ + 1/600 y DATA(-1, -2, 2) - 1/300 y DATA(1, 1, 0)
+
+ 3 3
+ - 1/600 y DATA(1, -2, 2) - 1/150 y DATA(-2, -1, 2)
+
+ 3 3
+ - 1/300 y DATA(2, -2, 2) + 1/150 y DATA(-2, 1, 2)
+
+ 3 3
+ - 1/300 y DATA(1, 1, 1) - 1/300 y DATA(-2, 2, 2)
+
+ 3 3
+ - 1/300 y DATA(-1, -1, -1) + 1/600 y DATA(1, 2, -1)
+
+ 3 3
+ - 1/150 y DATA(2, 1, -1) - 1/600 y DATA(-1, 2, -1)
+
+ 3 3
+ + 1/300 z DATA(2, -1, 2) - 1/150 z DATA(2, 2, 1)
+
+ 3 3
+ + 1/300 z DATA(-2, 2, -2) - 1/300 z DATA(2, 1, -2)
+
+ 3 3
+ - 1/600 z DATA(1, 1, -2) + 1/600 z DATA(-1, 1, -2)
+
+ 3 3
+ + 1/300 z DATA(-2, 1, -2) - 1/300 z DATA(-2, 1, 2)
+
+ 3 3
+ - 1/300 z DATA(-2, 2, 2) - 1/300 z DATA(-1, -1, -1)
+
+ 3 3
+ + 1/300 z DATA(1, 2, -1) + 1/150 z DATA(2, 1, -1)
+
+ 3 3
+ - 1/300 z DATA(-1, 2, -1) + 1/150 z DATA(2, -1, -1)
+
+ 3 3
+ - 1/150 z DATA(2, 1, 1) + 1/300 z DATA(-1, 2, 1)
+
+ 3 3
+ - 1/300 z DATA(1, 2, 1) - 1/150 z DATA(2, -1, 1)
+
+ 3 3
+ + 1/300 z DATA(1, -1, -1) + 1/150 z DATA(2, 2, -1)
+
+ 3 3
+ + 1/600 z DATA(1, 2, 2) + 1/300 z DATA(-2, -1, -2)
+
+ 3 3
+ + 1/300 z DATA(2, 2, 2) - 1/300 z DATA(2, -2, -2)
+
+ 3 3
+ - 1/300 z DATA(-1, 1, -1) - 1/600 z DATA(1, -2, -2)
+
+ 3 3
+ + 1/300 z DATA(2, 1, 2) - 1/600 z DATA(-1, 2, 2)
+
+ 3 3
+ + 1/600 z DATA(-1, -2, -2) - 1/600 z DATA(-1, 1, 2)
+
+ 3 3
+ + 1/300 z DATA(-2, -2, -2) + 1/600 z DATA(1, -1, 2)
+
+ 2 2
+ + 1/350 z DATA(-1, 2, 0) + 1/350 z DATA(-1, -2, 0)
+
+ 2 2
+ + 1/175 z DATA(-2, -2, 0) + 1/175 z DATA(-2, -1, 0)
+
+ 2 2
+ - 1/175 z DATA(2, -2, 0) - 1/350 z DATA(1, -2, 0)
+
+ 2 2
+ + 1/175 z DATA(-2, 1, 0) + 1/175 z DATA(-2, 2, 0)
+
+ 2 2
+ - 1/175 z DATA(-2, 0, 2) - 1/700 z DATA(1, 0, 1)
+
+ 2 2 2
+ - 1/350 z DATA(2, 0, 1) + 1/350 z DATA(1, 0, 2) + 1/175 z DATA(2, 0, 2)
+
+ 2 2
+ - 1/350 z DATA(-1, 0, 2) + 1/175 z DATA(2, 0, -2)
+
+ 2 2
+ + 1/350 z DATA(1, 0, -2) - 1/350 z DATA(2, 0, -1)
+
+ 2 2
+ - 1/350 z DATA(-1, 0, -2) - 1/175 z DATA(-2, 0, -2)
+
+ 2 2
+ + 1/350 z DATA(-2, 0, -1) + 1/350 z DATA(-2, 0, 1)
+
+ 2 2
+ - 1/175 z DATA(2, 0, 0) + 1/175 z DATA(-2, 0, 0)
+
+ 3 3
+ + 1/300 z DATA(1, 1, -1) + 1/300 z DATA(-1, 1, 1)
+
+ 3 3
+ + 1/300 z DATA(-1, 0, 1) - 1/300 z DATA(1, -1, 1)
+
+ 2 2
+ - 1/175 z DATA(2, -1, 0) + 1/175 z DATA(2, -1, -2)
+
+ 2 2
+ + 1/350 z DATA(1, -1, -2) - 1/350 z DATA(-1, -1, -2)
+
+ 2 2
+ - 1/350 z DATA(2, -2, -1) - 1/700 z DATA(1, -2, -1)
+
+ 2 2
+ + 1/700 z DATA(-1, -2, -1) + 1/350 z DATA(-2, -2, -1)
+
+ 2 2
+ + 1/175 z DATA(2, 2, -2) + 1/350 z DATA(1, 2, -2)
+
+ 2 2
+ - 1/350 z DATA(-1, 2, -2) + 1/350 z DATA(-2, 1, -1)
+
+ 2 2
+ + 1/350 z DATA(-2, -1, -1) + 1/350 z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/350 z DATA(-2, -2, 1) + 1/700 z DATA(-1, -2, 1)
+
+ 2 2
+ - 1/700 z DATA(1, -2, 1) + 1/350 z DATA(1, 1, 2)
+
+ 2 2
+ - 1/350 z DATA(2, -2, 1) + 1/350 z DATA(-2, -1, 1)
+
+ 2 2
+ + 1/350 z DATA(-2, 1, 1) + 1/350 z DATA(-2, 2, 1)
+
+ 2 2
+ - 1/175 z DATA(-2, -2, 2) - 1/350 z DATA(1, 2, 0)
+
+ 2 2
+ - 1/175 z DATA(2, 2, 0) - 1/175 z DATA(2, 1, 0)
+
+ 2 2
+ - 1/350 z DATA(2, 1, -1) + 1/700 z DATA(-1, 2, -1)
+
+ 2
+ - 1/350 z DATA(2, -1, -1) - 1/300 x DATA(2, 0, 2)
+
+ 3
+ - 1/300 x DATA(2, 0, -2) + 4/75 x DATA(1, 0, -2) - 1/300 z DATA(1, 1, 1)
+
+ 17 289 187
+ + ---- z DATA(-2, 0, 2) + ----- z DATA(1, 0, 1) + ---- z DATA(2, 0, 1)
+ 5250 10500 7000
+
+ 187 17 187
+ + ---- z DATA(1, 0, 2) - ---- z DATA(2, 0, 2) - ---- z DATA(-1, 0, 2)
+ 7000 5250 7000
+
+ 17 187 187
+ + ---- z DATA(2, 0, -2) - ---- z DATA(1, 0, -2) - ---- z DATA(2, 0, -1)
+ 5250 7000 7000
+
+ 187 17 229
+ + ---- z DATA(-1, 0, -2) - ---- z DATA(-2, 0, -2) - ----- y DATA(1, -1, 2)
+ 7000 5250 10500
+
+ 107 229 47
+ - ---- y DATA(2, -1, 2) + ----- y DATA(-1, -1, 2) - ---- y DATA(2, 2, 1)
+ 7000 10500 5250
+
+ 137 107 229
+ + ---- y DATA(-2, 2, -2) + ---- y DATA(2, 1, -2) + ----- y DATA(1, 1, -2)
+ 5250 7000 10500
+
+ 229 107
+ - ----- y DATA(-1, 1, -2) - ---- y DATA(-2, 1, -2)
+ 10500 7000
+
+ 107 229
+ - ---- y DATA(2, -1, -2) - ----- y DATA(1, -1, -2)
+ 7000 10500
+
+ 229 47
+ + ----- y DATA(-1, -1, -2) + ---- y DATA(2, -2, -1)
+ 10500 5250
+
+ 167 167
+ - ---- y DATA(1, -2, -1) + ---- y DATA(-1, -2, -1)
+ 7000 7000
+
+ 47 137 107
+ - ---- y DATA(-2, -2, -1) - ---- y DATA(2, 2, -2) + ---- y DATA(1, 2, -2)
+ 5250 5250 7000
+
+ 107 167
+ - ---- y DATA(-1, 2, -2) - ---- y DATA(-2, 1, -1)
+ 7000 7000
+
+ 167 47
+ + ---- y DATA(-2, -1, -1) - ---- y DATA(-2, -2, 1)
+ 7000 5250
+
+ 167 167 229
+ + ---- y DATA(-1, -2, 1) - ---- y DATA(1, -2, 1) + ----- y DATA(1, 1, 2)
+ 7000 7000 10500
+
+ 47 167 167
+ + ---- y DATA(2, -2, 1) + ---- y DATA(-2, -1, 1) - ---- y DATA(-2, 1, 1)
+ 5250 7000 7000
+
+ 47 137 187
+ + ---- y DATA(-2, 2, 1) - ---- y DATA(-2, -2, 2) + ---- y DATA(1, 2, 0)
+ 5250 5250 7000
+
+ 17 187 187
+ - ---- y DATA(2, 2, 0) + ---- y DATA(2, 1, 0) - ---- y DATA(-1, 2, 0)
+ 5250 7000 7000
+
+ 187 187 17
+ - ---- y DATA(2, -1, 0) + ---- y DATA(-1, -2, 0) - ---- y DATA(-2, -2, 0)
+ 7000 7000 5250
+
+ 187 17 107
+ + ---- y DATA(-2, -1, 0) + ---- y DATA(2, -2, 0) - ---- z DATA(-1, 2, 2)
+ 7000 5250 7000
+
+ 167 137 167
+ - ---- z DATA(-1, 1, 2) - ---- z DATA(-2, -2, -2) + ---- z DATA(1, -1, 2)
+ 7000 5250 7000
+
+ 47 167 107
+ - ---- z DATA(2, -1, 2) - ---- z DATA(-1, -1, 2) + ---- z DATA(2, 2, 1)
+ 5250 7000 7000
+
+ 137 47 167
+ - ---- z DATA(-2, 2, -2) + ---- z DATA(2, 1, -2) - ---- z DATA(1, 1, -2)
+ 5250 5250 7000
+
+ 167 47 47
+ + ---- z DATA(-1, 1, -2) - ---- z DATA(-2, 1, -2) + ---- z DATA(2, -1, -2)
+ 7000 5250 5250
+
+ 167 167
+ - ---- z DATA(1, -1, -2) + ---- z DATA(-1, -1, -2)
+ 7000 7000
+
+ 107 229
+ - ---- z DATA(2, -2, -1) - ----- z DATA(1, -2, -1)
+ 7000 10500
+
+ 229 107
+ + ----- z DATA(-1, -2, -1) + ---- z DATA(-2, -2, -1)
+ 10500 7000
+
+ 137 107 107
+ + ---- z DATA(2, 2, -2) - ---- z DATA(1, 2, -2) + ---- z DATA(-1, 2, -2)
+ 5250 7000 7000
+
+ 167 167
+ + ---- z DATA(-2, 1, -1) + ---- z DATA(-2, -1, -1)
+ 7000 7000
+
+ 107 107
+ + ---- z DATA(-2, 2, -1) - ---- z DATA(-2, -2, 1)
+ 7000 7000
+
+ 229 229 167
+ - ----- z DATA(-1, -2, 1) + ----- z DATA(1, -2, 1) + ---- z DATA(1, 1, 2)
+ 10500 10500 7000
+
+ 107 167 167
+ + ---- z DATA(2, -2, 1) - ---- z DATA(-2, -1, 1) - ---- z DATA(-2, 1, 1)
+ 7000 7000 7000
+
+ 107 137 107
+ - ---- z DATA(-2, 2, 1) + ---- z DATA(-2, -2, 2) + ---- z DATA(-1, -2, -2)
+ 7000 5250 7000
+
+ 2 2
+ + 1/350 y DATA(-2, 1, -2) - 1/350 y DATA(2, -1, -2)
+
+ 2 2
+ - 1/700 y DATA(1, -1, -2) + 1/700 y DATA(-1, -1, -2)
+
+ 2 2
+ + 1/175 y DATA(2, -2, -1) + 1/350 y DATA(1, -2, -1)
+
+ 2 2
+ - 1/350 y DATA(-1, -2, -1) - 1/175 y DATA(-2, -2, -1)
+
+ 2 2
+ + 1/175 y DATA(2, 2, -2) + 1/350 y DATA(1, 2, -2)
+
+ 2 2
+ - 1/350 y DATA(-1, 2, -2) + 1/350 y DATA(-2, 1, -1)
+
+ 2 2
+ + 1/350 y DATA(-2, -1, -1) - 1/175 y DATA(-2, 2, -1)
+
+ 2 2
+ - 1/175 y DATA(-2, -2, 1) - 1/350 y DATA(-1, -2, 1)
+
+ 2 2
+ + 1/350 y DATA(1, -2, 1) - 1/700 y DATA(1, 1, 2)
+
+ 2 2
+ + 1/175 y DATA(2, -2, 1) + 1/350 y DATA(-2, -1, 1)
+
+ 2 2
+ + 1/350 y DATA(-2, 1, 1) - 1/175 y DATA(-2, 2, 1)
+
+ 2 2
+ - 1/175 y DATA(-2, -2, 2) + 1/350 y DATA(1, 2, 0)
+
+ 2 2
+ + 1/175 y DATA(2, 2, 0) - 1/350 y DATA(2, 1, 0)
+
+ 2 2
+ - 1/350 y DATA(-1, 2, 0) - 1/350 y DATA(2, -1, 0)
+
+ 2 2
+ - 1/350 y DATA(-1, -2, 0) - 1/175 y DATA(-2, -2, 0)
+
+ 2 2
+ + 1/350 y DATA(-2, -1, 0) + 1/175 y DATA(2, -2, 0)
+
+ 2 187 289
+ + 1/350 y DATA(1, -2, 0) - ---- z DATA(-2, 0, 1) - ----- z DATA(-1, 0, 1)
+ 7000 10500
+
+ 137 137 107
+ + ---- z DATA(1, -1, 1) - ---- z DATA(-1, -1, 1) - ---- z DATA(-1, -2, 2)
+ 5250 5250 7000
+
+ 289 289 107
+ + ----- z DATA(-1, 0, -1) - ----- z DATA(1, 0, -1) + ---- z DATA(1, -2, 2)
+ 10500 10500 7000
+
+ 47 137 47
+ + ---- z DATA(-2, -1, 2) - ---- z DATA(2, -2, 2) + ---- z DATA(-2, 1, 2)
+ 5250 5250 5250
+
+ 137 137 137
+ + ---- z DATA(1, 1, 1) + ---- z DATA(-2, 2, 2) + ---- z DATA(-1, -1, -1)
+ 5250 5250 5250
+
+ 229 167 229
+ - ----- z DATA(1, 2, -1) - ---- z DATA(2, 1, -1) + ----- z DATA(-1, 2, -1)
+ 10500 7000 10500
+
+ 167 167 229
+ - ---- z DATA(2, -1, -1) + ---- z DATA(2, 1, 1) - ----- z DATA(-1, 2, 1)
+ 7000 7000 10500
+
+ 229 167 137
+ + ----- z DATA(1, 2, 1) + ---- z DATA(2, -1, 1) - ---- z DATA(1, -1, -1)
+ 10500 7000 5250
+
+ 107 107 47
+ - ---- z DATA(2, 2, -1) + ---- z DATA(1, 2, 2) - ---- z DATA(-2, -1, -2)
+ 7000 7000 5250
+
+ 137 137 137
+ - ---- z DATA(2, 2, 2) + ---- z DATA(2, -2, -2) + ---- z DATA(-1, 1, -1)
+ 5250 5250 5250
+
+ 107 47
+ - ---- z DATA(1, -2, -2) - ---- z DATA(2, 1, 2) + 1/250 y z DATA(2, 1, 2)
+ 7000 5250
+
+ + 1/1000 y z DATA(-1, 1, -1) + 1/125 y z DATA(2, -2, -2)
+
+ - 1/500 y z DATA(1, 1, -2) + 1/500 y z DATA(-1, 1, -2)
+
+ - 1/250 y z DATA(-2, -1, -2) + 1/125 y z DATA(2, 2, 2)
+
+ + 1/1000 y z DATA(1, -1, -1) - 1/250 y z DATA(2, 2, -1)
+
+ + 1/250 y z DATA(1, 2, 2) + 1/500 y z DATA(1, 2, 1)
+
+ - 1/500 y z DATA(2, -1, 1) + 1/500 y z DATA(2, -1, -1)
+
+ + 1/500 y z DATA(2, 1, 1) - 1/500 y z DATA(-1, 2, 1)
+
+ - 1/500 y z DATA(2, 1, -1) - 1/1000 y z DATA(-1, -1, -1)
+
+ - 1/500 y z DATA(1, 2, -1) - 1/125 y z DATA(-2, 2, 2)
+
+ 2
+ + 1/1400 y z DATA(1, 1, -1) - 1/1000 y z DATA(1, 1, -1)
+
+ 2 2
+ - 1/1400 y z DATA(1, 1, -1) + 1/490 x z DATA(1, 1, -1)
+
+ 2
+ + 1/490 x y DATA(1, 1, -1) - 1/250 y z DATA(-2, 1, 2)
+
+ 2
+ + 1/100 x z DATA(1, 1, -1) - 1/350 x y DATA(1, 1, -1)
+
+ - 1/125 y z DATA(2, -2, 2) - 1/250 y z DATA(1, -2, 2)
+
+ + 1/250 y z DATA(-1, -2, 2) + 1/250 y z DATA(1, -2, -2)
+
+ 2 2
+ - 2/245 x z DATA(0, -1, 2) - 2/245 x z DATA(0, -2, -2)
+
+ 2
+ - 2/245 x z DATA(0, 2, 2) - 1/250 y z DATA(2, -1, 2)
+
+ 2 2
+ + 1/245 x z DATA(0, 2, 1) - 1/245 x z DATA(-2, 0, -1)
+
+ 2 2
+ + 2/245 x z DATA(-2, 0, -2) - 1/245 x z DATA(-1, 0, -2)
+
+ - 1/125 y z DATA(-2, -2, -2) + 1/1000 y z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/245 x z DATA(2, 0, -1) - 1/245 x z DATA(1, 0, -2)
+
+ 2
+ + 2/245 x z DATA(2, 0, -2) - 1/500 y z DATA(1, -1, 2)
+
+ 2 2
+ - 1/245 x z DATA(-1, 0, 2) + 2/245 x z DATA(2, 0, 2)
+
+ 2 2
+ - 1/245 x z DATA(1, 0, 2) - 1/245 x z DATA(2, 0, 1)
+
+ 2 2
+ + 1/490 x z DATA(1, 0, 1) + 1/245 x z DATA(0, -2, -1)
+
+ 2 2
+ + 1/245 x z DATA(0, 1, 1) - 2/245 x z DATA(0, 1, 2)
+
+ 2 2
+ + 2/245 x z DATA(-2, 0, 2) - 2/245 x z DATA(-2, 2, 0)
+
+ 2 2
+ + 2/245 x z DATA(0, 2, 0) + 2/245 x z DATA(0, -2, 0)
+
+ 2 2
+ - 2/245 x z DATA(0, 0, -2) - 2/245 x z DATA(0, 0, 2)
+
+ 2 2
+ + 1/245 x z DATA(0, 0, 1) + 2/245 x z DATA(0, 1, 0)
+
+ 2 2
+ + 2/245 x z DATA(0, 0, 0) + 1/245 x z DATA(0, 0, -1)
+
+ 2 2
+ + 2/245 x z DATA(0, -1, 0) - 2/245 x z DATA(-2, 0, 0)
+
+ 2 2
+ - 2/245 x z DATA(2, 0, 0) - 1/245 x z DATA(-2, 0, 1)
+
+ - 1/250 y z DATA(-1, -2, -2) - 1/500 y z DATA(-1, 1, 2)
+
+ - 1/1000 y z DATA(1, -1, 1) - 1/1000 y z DATA(-1, 1, 1)
+
+ - 1/250 y z DATA(-1, 2, 2) + 1/250 y z DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 x z DATA(-2, 2, 1) - 1/245 x z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/245 x z DATA(-2, -1, 1) - 1/245 x z DATA(2, -2, 1)
+
+ 2 2
+ - 1/245 x z DATA(1, 1, 2) + 1/490 x z DATA(1, -2, 1)
+
+ 2 2
+ + 1/490 x z DATA(-1, -2, 1) - 1/245 x z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 x z DATA(-2, 2, -1) - 1/245 x z DATA(-2, -1, -1)
+
+ 2 2
+ - 1/245 x z DATA(-2, 1, -1) - 1/245 x z DATA(-1, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(1, 2, -2) + 2/245 x z DATA(2, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(-2, -2, -1) + 1/490 x z DATA(-1, -2, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, -2, -1) - 1/245 x z DATA(2, -2, -1)
+
+ 2 2
+ - 1/245 x z DATA(-1, -1, -2) - 2/245 x z DATA(-2, 1, 0)
+
+ 2 2
+ + 1/245 x z DATA(1, -2, 0) - 2/245 x z DATA(2, -2, 0)
+
+ 2 2
+ - 2/245 x z DATA(-2, -1, 0) - 2/245 x z DATA(-2, -2, 0)
+
+ 2 2
+ + 1/245 x z DATA(-1, -2, 0) - 2/245 x z DATA(2, -1, 0)
+
+ 2 2
+ + 1/245 x z DATA(-1, 2, 0) - 2/245 x z DATA(2, 1, 0)
+
+ 2 2
+ - 2/245 x z DATA(2, 2, 0) + 1/245 x z DATA(1, 2, 0)
+
+ 2 2
+ + 1/245 x z DATA(0, -2, 1) - 2/245 x z DATA(0, 2, -2)
+
+ 2 2
+ - 2/245 x z DATA(0, -1, -2) - 2/245 x z DATA(0, 1, -2)
+
+ 2
+ - 1/350 z DATA(2, 1, 1) + 1/175 x y DATA(-2, 1, -1)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, 0) + 2/245 x y DATA(2, -2, 0)
+
+ 2
+ + 1/490 x z DATA(-1, 0, -1) + 1/250 y z DATA(2, -1, -2)
+
+ 2 2
+ - 1/245 x z DATA(-1, -2, 2) + 1/490 x z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/490 x z DATA(1, -1, 1) + 1/490 x z DATA(-1, 0, 1)
+
+ 2 2
+ + 1/490 x z DATA(-1, 1, 1) + 1/245 x z DATA(-1, 1, 0)
+
+ 2 2
+ + 1/245 x z DATA(-1, 0, 0) + 1/245 x z DATA(1, -1, 0)
+
+ 2 2
+ + 1/245 x z DATA(-1, -1, 0) - 2/245 x y DATA(0, 2, 0)
+
+ 2 2
+ - 2/245 x y DATA(0, -2, 0) + 2/245 x y DATA(0, 0, -2)
+
+ 2 2
+ + 2/245 x y DATA(0, 0, 2) + 2/245 x y DATA(0, 0, 1)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, 0) + 2/245 x y DATA(0, 0, 0)
+
+ 2
+ + 1/1000 y z DATA(1, 1, 1) + 2/245 x y DATA(0, 0, -1)
+
+ 2 2
+ + 2/245 x z DATA(2, 1, 2) - 1/245 x z DATA(1, -2, -2)
+
+ 2 2
+ + 1/490 x z DATA(-1, 1, -1) + 2/245 x z DATA(2, -2, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, 2, 2) + 2/245 x z DATA(-2, -1, -2)
+
+ 2 2
+ - 1/245 x z DATA(1, 2, 2) - 1/245 x z DATA(2, 2, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, -1, -1) - 1/245 x z DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 x z DATA(1, 2, 1) + 1/490 x z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/245 x z DATA(2, 1, 1) - 1/245 x z DATA(2, -1, -1)
+
+ 2 2
+ + 1/490 x z DATA(-1, 2, -1) - 1/245 x z DATA(2, 1, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, 2, -1) + 1/490 x z DATA(-1, -1, -1)
+
+ 2 2
+ + 2/245 x z DATA(-2, 2, 2) + 1/490 x z DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 x z DATA(-2, 1, 2) + 2/245 x z DATA(2, -2, 2)
+
+ 2 2
+ + 2/245 x z DATA(-2, -1, 2) - 1/245 x z DATA(1, -2, 2)
+
+ 2 2
+ + 1/245 x z DATA(1, 1, 0) + 1/245 x z DATA(1, 0, 0)
+
+ 2 2
+ + 1/490 x z DATA(1, 0, -1) - 1/245 x z DATA(1, -1, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, -1, -2) + 2/245 x z DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 x z DATA(-1, 1, -2) - 1/245 x z DATA(1, 1, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, 1, -2) + 2/245 x z DATA(-2, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(2, 2, 1) - 1/245 x z DATA(-1, -1, 2)
+
+ 2 2
+ + 2/245 x z DATA(2, -1, 2) - 1/245 x z DATA(1, -1, 2)
+
+ 2 2
+ + 2/245 x z DATA(-2, -2, -2) - 1/245 x z DATA(-1, 1, 2)
+
+ 2 2
+ - 1/245 x z DATA(-1, -2, -2) - 1/245 x z DATA(-1, 2, 2)
+
+ 2 2
+ + 1/245 x z DATA(0, 2, -1) + 1/245 x z DATA(0, -1, -1)
+
+ 2 2
+ - 2/245 x z DATA(0, -2, 2) + 1/245 x z DATA(0, -1, 1)
+
+ 2 2
+ + 1/245 x z DATA(0, 1, -1) + 2/245 x z DATA(-2, -2, 2)
+
+ 2 2
+ - 2/245 x y DATA(0, 2, 2) - 2/245 x y DATA(0, 2, -1)
+
+ 2 2
+ + 1/245 x y DATA(0, -1, -1) - 2/245 x y DATA(0, -2, 2)
+
+ 2 2
+ + 1/245 x y DATA(0, -1, 1) + 1/245 x y DATA(0, 1, -1)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, 2) + 2/245 x y DATA(-2, 2, 1)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, 1) - 1/245 x y DATA(-2, -1, 1)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, 1) + 1/490 x y DATA(1, 1, 2)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, 1) + 1/245 x y DATA(0, -1, 0)
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, 0) - 2/245 x y DATA(2, 0, 0)
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, 1) - 2/245 x y DATA(0, 2, 1)
+
+ + 2/175 x y DATA(2, 2, -2) - 1/175 x y DATA(1, 2, -2)
+
+ - 2/175 x y DATA(-2, -2, -1) + 1/350 x y DATA(1, -1, -2)
+
+ + 1/350 x y DATA(-1, -1, -2) - 2/175 x y DATA(2, -2, -1)
+
+ + 1/175 x y DATA(1, -2, -1) + 1/175 x y DATA(-1, -2, -1)
+
+ + 1/175 x y DATA(-2, 1, -2) - 1/175 x y DATA(2, -1, -2)
+
+ - 1/350 x y DATA(1, 1, -2) - 1/350 x y DATA(-1, 1, -2)
+
+ 29
+ + 2/175 x y DATA(-2, 2, -2) - ---- DATA(-2, 0, 1)
+ 2100
+
+ + 1/175 x y DATA(2, 1, -2) + 1/350 x y DATA(1, -1, 2)
+
+ - 1/175 x y DATA(2, -1, 2) + 1/350 x y DATA(-1, -1, 2)
+
+ 17
+ + 2/175 x y DATA(2, 2, 1) - ---- DATA(-2, 1, 1)
+ 2100
+
+ + 1/175 x y DATA(-1, -2, -2) - 1/350 x y DATA(-1, 1, 2)
+
+ - 2/175 x y DATA(-2, -2, -2) - 1/350 x y DATA(-1, 1, -1)
+
+ + 1/175 x y DATA(1, -2, -2) + 1/175 x y DATA(2, 1, 2)
+
+ 19
+ - 1/175 x y DATA(-1, 2, 2) + ---- DATA(-2, 2, 1) + 2/175 x y DATA(2, 2, 2)
+ 2100
+
+ - 2/175 x y DATA(2, -2, -2) + 1/350 x y DATA(1, -1, -1)
+
+ + 2/175 x y DATA(2, 2, -1) - 1/175 x y DATA(1, 2, 2)
+
+ - 1/175 x y DATA(-2, -1, -2) - 1/175 x y DATA(1, 2, 1)
+
+ - 1/175 x y DATA(2, -1, 1) - 1/175 x y DATA(-1, 2, 1)
+
+ 11 2
+ + --- DATA(-2, -2, 2) + 1/350 z DATA(1, 2, 2)
+ 420
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, -1) - 2/245 x y DATA(-2, 0, -2)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, -2) - 2/245 x y DATA(2, 0, -1)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, -2) - 2/245 x y DATA(2, 0, -2)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, 2) - 2/245 x y DATA(2, 0, 2)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, 2) - 2/245 x y DATA(2, 0, 1)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, 1) - 2/245 x y DATA(0, -2, -1)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, 1) + 1/245 x y DATA(0, 1, 2)
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, 2) + 2/245 x y DATA(-2, 2, 0)
+
+ 2
+ - 1/245 x y DATA(-2, 1, 0) - 1/175 x y DATA(2, -1, -1)
+
+ - 1/175 x y DATA(-1, 2, -1) + 1/175 x y DATA(2, 1, -1)
+
+ - 1/175 x y DATA(1, 2, -1) + 1/350 x y DATA(-1, -1, -1)
+
+ + 2/175 x y DATA(-2, 2, 2) - 1/350 x y DATA(1, 1, 1)
+
+ + 1/175 x y DATA(-2, 1, 2) - 2/175 x y DATA(2, -2, 2)
+
+ - 1/175 x y DATA(-2, -1, 2) + 1/175 x y DATA(1, -2, 2)
+
+ - 1/350 x y DATA(1, 1, 0) + 1/175 x y DATA(-1, -2, 2)
+
+ + 1/350 x y DATA(-1, -1, 1) + 1/350 x y DATA(1, -1, 1)
+
+ - 1/350 x y DATA(-1, 1, 1) - 1/350 x y DATA(-1, 1, 0)
+
+ + 1/350 x y DATA(1, -1, 0) + 1/350 x y DATA(-1, -1, 0)
+
+ + 2/175 x z DATA(0, 0, -2) - 2/175 x z DATA(0, 0, 2)
+
+ - 1/175 x z DATA(0, 0, 1) + 1/175 x z DATA(0, 0, -1)
+
+ + 1/175 x z DATA(-2, 0, 1) - 1/175 x z DATA(-2, 0, -1)
+
+ - 2/175 x z DATA(-2, 0, -2) + 1/175 x z DATA(-1, 0, -2)
+
+ - 1/175 x z DATA(2, 0, -1) + 1/175 x z DATA(1, 0, -2)
+
+ 2
+ - 2/175 x z DATA(2, 0, -2) + 1/100 x z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/100 x z DATA(1, -1, 1) + 1/100 x z DATA(-1, 0, 1)
+
+ 2
+ + 1/100 x z DATA(-1, 1, 1) - 2/175 x y DATA(0, 2, 0)
+
+ + 2/175 x y DATA(0, -2, 0) - 1/175 x y DATA(0, 1, 0)
+
+ + 1/175 x y DATA(0, -1, 0) + 1/175 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=1258660008, alloc=6945544, time=159.34
+bytes used=1259716260, alloc=6945544, time=159.42
+bytes used=1260830476, alloc=6945544, time=159.52
+bytes used=1262024528, alloc=6945544, time=159.62
+bytes used=1263196924, alloc=6945544, time=159.71
+bytes used=1264348824, alloc=6945544, time=159.81
+bytes used=1265480636, alloc=6945544, time=159.90
+bytes used=1266596932, alloc=7142116, time=160.00
+bytes used=1267692080, alloc=7273164, time=160.09
+bytes used=1268766220, alloc=7404212, time=160.19
+bytes used=1269820184, alloc=7600784, time=160.28
+bytes used=1270851124, alloc=7731832, time=160.37
+bytes used=1271863284, alloc=7928404, time=160.47
+bytes used=1272946552, alloc=8059452, time=160.57
+bytes used=1273946864, alloc=8124976, time=160.67
+bytes used=1274947016, alloc=8321548, time=160.78
+bytes used=1276056612, alloc=8518120, time=160.89
+bytes used=1277057256, alloc=8714692, time=161.00
+bytes used=1278184128, alloc=8714692, time=161.10
+bytes used=1279184260, alloc=8976788, time=161.21
+bytes used=1280203028, alloc=9238884, time=161.32
+bytes used=1281203324, alloc=9369932, time=161.44
+bytes used=1282203952, alloc=9566504, time=161.56
+bytes used=1283235708, alloc=9632028, time=161.68
+bytes used=1284271548, alloc=9828600, time=161.80
+bytes used=1285272756, alloc=10025172, time=161.93
+bytes used=1286272948, alloc=10156220, time=162.05
+bytes used=1287311500, alloc=10811460, time=162.18
+bytes used=1288311624, alloc=11139080, time=162.31
+bytes used=1289321568, alloc=11532224, time=162.44
+bytes used=1290356220, alloc=11859844, time=162.58
+bytes used=1291356436, alloc=12384036, time=162.72
+bytes used=1292375824, alloc=12908228, time=162.86
+bytes used=1293375960, alloc=13235848, time=163.00
+bytes used=1294424376, alloc=13628992, time=163.15
+bytes used=1295433888, alloc=14022136, time=163.29
+bytes used=1296435884, alloc=14480804, time=163.44
+bytes used=1297442212, alloc=15136044, time=163.52
+bytes used=1298489976, alloc=15136044, time=163.59
+bytes used=1299537572, alloc=15136044, time=163.66
+bytes used=1300585112, alloc=15136044, time=163.73
+bytes used=1301632540, alloc=15136044, time=163.80
+bytes used=1302680080, alloc=15136044, time=163.87
+ 137 2 2 3 2
+[COEFF(-2, -2, -2) = - ---- y - 1/175 z + 1/100 x z + 1/300 y + 1/100 x y
+ 5250
+
+ 137 2 2 11
+ - ---- z - 1/100 x - 1/125 y z + 2/245 x y + 2/175 x y z + ---
+ 5250 420
+
+ 2 529 3 3
+ + 1/175 y z - ----- x + 1/150 x - 2/175 x y - 2/175 x z + 1/300 z
+ 14700
+
+ 2 2 2 2
+ - 1/175 y + 2/245 x z + 1/175 y z , COEFF(-1, -2, -2) = - 1/245 x z
+
+ 2 2 2 2
+ - 1/245 x y + 1/175 x y + 1/350 y z - 1/350 z - 1/50 x z - 1/175 x y z
+
+ 2 107 2 3 2 3 107
+ + 1/50 x + ---- y + 1/350 y z - 2/75 x - 1/350 y + 1/600 z + ---- z
+ 7000 7000
+
+ 2 3 256
+ - 8/525 - 1/50 x y + 1/175 x z - 1/250 y z + 1/600 y + ---- x,
+ 3675
+
+ 2 33
+ COEFF(0, -2, -2) = 2/175 x z - 2/245 x z - 2/175 x y z - --- x
+ 490
+
+ 2 3 107 107
+ - 2/245 x y + 2/175 x y + 1/25 x , COEFF(1, -2, -2) = - ---- y - ---- z
+ 7000 7000
+
+ 3 2 256 2
+ - 1/600 y + 1/50 x y + ---- x + 1/175 x y + 1/350 y + 1/175 x z
+ 3675
+
+ 2 3 2
+ + 1/250 y z - 1/175 x y z - 1/350 y z + 8/525 - 1/600 z - 1/50 x
+
+ 2 2 2 2 3 2
+ - 1/245 x z - 1/245 x y - 1/350 y z + 1/50 x z - 2/75 x + 1/350 z ,
+
+ 2 2 3 137
+ COEFF(2, -2, -2) = - 1/100 x z + 2/245 x y - 1/300 z + ---- y
+ 5250
+
+ 2 2 3 137
+ - 1/175 y z + 1/175 z + 1/125 y z + 1/150 x + ---- z + 2/175 x y z
+ 5250
+
+ 2 2 2 3 2 529
+ + 1/100 x + 2/245 x z - 1/175 y z - 1/300 y - 1/100 x y - ----- x
+ 14700
+
+ 2 11
+ + 1/175 y - --- - 2/175 x y - 2/175 x z, COEFF(-2, -1, -2) = - 2/175 x z
+ 420
+
+ 2 2 2 107
+ - 1/350 y z + 1/350 y - 1/175 z + ---- y + 1/175 x y z - 1/175 x y
+ 7000
+
+ 47 2 2 19 3 3 169
+ - ---- z - 1/245 x y - 1/100 x + ---- + 1/300 z + 1/150 x - ----- x
+ 5250 2100 14700
+
+ 2 2 3 2 2
+ - 1/250 y z + 2/245 x z + 1/200 x y - 1/150 y + 1/100 x z + 1/350 y z
+
+ 211 3 2 167 2
+ , COEFF(-1, -1, -2) = ---- x + 1/600 z + 1/490 x y + ---- z - 1/350 z
+ 3675 7000
+
+ 3 2 2 2 2
+ - 1/300 y + 1/50 x + 1/700 y - 1/42 - 1/100 x y - 1/245 x z
+
+ 2 2 229
+ + 1/175 x z - 1/500 y z + 1/700 y z - 1/700 y z + ----- y - 1/350 x y z
+ 10500
+
+ 3 2 3
+ - 2/75 x - 1/50 x z + 1/350 x y, COEFF(0, -1, -2) = - 9/98 x + 1/25 x
+
+ 2 2
+ + 1/245 x y - 1/175 x y z - 2/245 x z + 1/175 x y + 2/175 x z,
+
+ 211 2 2 2
+ COEFF(1, -1, -2) = ---- x + 1/50 x z + 1/100 x y + 1/350 z + 1/175 x z
+ 3675
+
+ 167 3 3 2
+ - ---- z - 2/75 x + 1/300 y - 1/245 x z + 1/500 y z - 1/350 x y z
+ 7000
+
+ 2 2 2 3 2
+ - 1/700 y + 1/42 - 1/700 y z + 1/490 x y - 1/600 z - 1/50 x
+
+ 2 229 2
+ + 1/700 y z - ----- y + 1/350 x y, COEFF(2, -1, -2) = 1/350 y z
+ 10500
+
+ 2 169 2
+ + 1/250 y z - 1/100 x z + 1/175 x y z - ----- x - 1/350 y z - 2/175 x z
+ 14700
+
+ 2 47 2 3 107 19
+ - 1/350 y + ---- z + 1/175 z - 1/300 z - ---- y - ---- - 1/175 x y
+ 5250 7000 2100
+
+ 3 3 2 2 2 2
+ + 1/150 y + 1/150 x - 1/200 x y - 1/245 x y + 2/245 x z + 1/100 x ,
+
+ 2 2 2
+ COEFF(-2, 0, -2) = - 1/300 x - 2/245 x y + 1/100 x z - 1/175 z + 1/300
+
+ 3 2 2 17 2 3
+ + 1/300 z - 1/100 x - 1/175 y z - ---- z + 2/245 x z + 1/150 x
+ 5250
+
+ 2 2 2
+ + 1/175 y - 2/175 x z, COEFF(-1, 0, -2) = 1/50 x + 4/75 x - 1/50 x z
+
+ 3 3 2 2
+ - 2/75 x + 1/600 z + 1/175 x z - 2/75 - 1/350 y z - 1/350 z
+
+ 2 187 2 2
+ - 1/245 x z + ---- z + 1/350 y + 1/245 x y ,
+ 7000
+
+ 2 2 3
+ COEFF(0, 0, -2) = 2/245 x y - 2/245 x z + 2/175 x z + 1/25 x - 1/10 x,
+
+ 2 2
+ COEFF(1, 0, -2) = 2/75 + 1/175 x z + 1/245 x y + 4/75 x + 1/350 z
+
+ 3 2 2 3 2 2
+ - 1/600 z + 1/50 x z + 1/350 y z - 2/75 x - 1/350 y - 1/50 x
+
+ 2 187 3
+ - 1/245 x z - ---- z, COEFF(2, 0, -2) = - 1/300 x - 2/175 x z + 1/150 x
+ 7000
+
+ 17 2 2 2 3
+ + ---- z - 1/100 x z + 1/100 x - 2/245 x y - 1/300 - 1/300 z
+ 5250
+
+ 2 2 2 2
+ + 1/175 z + 2/245 x z - 1/175 y + 1/175 y z, COEFF(-2, 1, -2) =
+
+ 107 3 2 2 2
+ - ---- y + 1/250 y z + 1/300 z - 1/245 x y + 1/350 y - 1/350 y z
+ 7000
+
+ 2 3 47 19
+ + 2/245 x z - 1/175 x y z + 1/150 y - 2/175 x z - ---- z + ----
+ 5250 2100
+
+ 3 2 2 2 2
+ + 1/150 x + 1/100 x z + 1/175 x y - 1/100 x - 1/175 z - 1/200 x y
+
+ 169 2 2 211 2
+ - ----- x - 1/350 y z, COEFF(-1, 1, -2) = 1/50 x + ---- x - 1/350 z
+ 14700 3675
+
+ 2 229 2 2
+ - 1/700 y z - ----- y - 1/350 x y - 1/50 x z - 1/245 x z + 1/500 y z
+ 10500
+
+ 2 3 2 2 167
+ + 1/490 x y - 2/75 x + 1/350 x y z + 1/100 x y - 1/700 y z + ---- z
+ 7000
+
+ 3 2 3
+ + 1/300 y + 1/700 y + 1/175 x z - 1/42 + 1/600 z , COEFF(0, 1, -2) =
+
+ 3 2
+ 1/175 x y z + 1/25 x - 1/175 x y + 2/175 x z + 1/245 x y - 9/98 x
+
+ 2 211 229 3
+ - 2/245 x z , COEFF(1, 1, -2) = ---- x - 1/500 y z + ----- y - 1/600 z
+ 3675 10500
+
+ 2 2 2 3
+ + 1/350 x y z + 1/700 y z + 1/175 x z - 1/50 x - 1/245 x z - 2/75 x
+
+ 2 2 2 3 2 167
+ + 1/700 y z + 1/350 z + 1/42 - 1/700 y - 1/300 y + 1/490 x y - ---- z
+ 7000
+
+ 2 2
+ - 1/350 x y - 1/100 x y + 1/50 x z, COEFF(2, 1, -2) = - 1/175 x y z
+
+ 2 19 2 47 3 2
+ + 1/175 z - ---- + 1/100 x + ---- z - 2/175 x z + 1/150 x - 1/100 x z
+ 2100 5250
+
+ 2 2 3 2 107
+ - 1/350 y + 2/245 x z - 1/300 z + 1/350 y z - 1/250 y z + ---- y
+ 7000
+
+ 2 2 3 169 2
+ + 1/350 y z - 1/245 x y - 1/150 y - ----- x + 1/175 x y + 1/200 x y,
+ 14700
+
+ 11 529 3 137
+ COEFF(-2, 2, -2) = --- - ----- x - 2/175 x y z + 1/300 z + ---- y
+ 420 14700 5250
+
+ 2 3 2 2 2
+ - 1/175 z - 1/300 y + 2/175 x y - 1/175 y z + 2/245 x y + 2/245 x z
+
+ 2 2 3 2
+ - 2/175 x z - 1/100 x + 1/100 x z + 1/125 y z + 1/150 x + 1/175 y z
+
+ 2 2 137 2 2
+ - 1/175 y - 1/100 x y - ---- z, COEFF(-1, 2, -2) = 1/50 x y - 1/50 x z
+ 5250
+
+ 2 2 2 2 256
+ - 1/245 x y + 1/250 y z + 1/350 y z + 1/50 x - 1/245 x z + ---- x
+ 3675
+
+ 107 2 2 3 2
+ + ---- z - 1/350 y - 8/525 - 1/350 y z + 1/600 z + 1/175 x z - 1/350 z
+ 7000
+
+ 3 107 3
+ - 1/600 y - 1/175 x y - ---- y - 2/75 x + 1/175 x y z, COEFF(0, 2, -2)
+ 7000
+
+ 33 2 2
+ = - --- x - 2/245 x z + 2/175 x z - 2/245 x y + 2/175 x y z - 2/175 x y
+ 490
+
+ 3 2 2
+ + 1/25 x , COEFF(1, 2, -2) = - 1/245 x y + 1/350 y z - 1/250 y z
+
+ 3 2 2 2
+ - 2/75 x + 1/175 x z - 1/50 x y - 1/245 x z - 1/175 x y + 1/350 z
+
+ 2 2 2 3 107 2
+ + 1/350 y - 1/50 x + 1/50 x z + 1/600 y - ---- z + 8/525 - 1/350 y z
+ 7000
+
+ 107 3 256 529
+ + 1/175 x y z + ---- y - 1/600 z + ---- x, COEFF(2, 2, -2) = - ----- x
+ 7000 3675 14700
+
+ 2 2 2 2 2
+ - 1/175 y z - 1/100 x z + 2/175 x y + 1/175 z + 2/245 x y + 1/100 x
+
+ 11 3 3 137
+ - 2/175 x y z - --- + 1/150 x - 1/300 z + ---- z - 2/175 x z
+ 420 5250
+
+ 2 2 2 3 137
+ + 1/175 y z + 1/175 y - 1/125 y z + 2/245 x z + 1/300 y - ---- y
+ 5250
+
+ 2 107 3
+ + 1/100 x y, COEFF(-2, -2, -1) = - 2/175 x y + ---- z + 1/150 x
+ 7000
+
+ 169 2 2 2 2
+ - ----- x + 1/350 y z + 1/100 x y + 1/200 x z - 1/250 y z - 1/245 x z
+ 14700
+
+ 2 2 19 3
+ + 1/350 z - 1/350 y z + 1/175 x y z - 1/175 x z + ---- + 1/300 y
+ 2100
+
+ 3 2 2 2 47
+ - 1/150 z + 2/245 x y - 1/175 y - 1/100 x - ---- y, COEFF(-1, -2, -1)
+ 5250
+
+ 3 2 2 2
+ = - 2/75 x + 1/175 x y - 1/245 x y + 1/700 y z + 1/490 x z
+
+ 2 167 2 2 2
+ - 1/100 x z + ---- y + 1/700 z + 1/50 x - 1/42 - 1/350 y + 1/350 x z
+ 7000
+
+ 2 229 3 211
+ - 1/50 x y - 1/350 x y z - 1/500 y z + ----- z + 1/600 y + ---- x
+ 10500 3675
+
+ 2 3 2
+ - 1/700 y z - 1/300 z , COEFF(0, -2, -1) = - 1/175 x y z - 2/245 x y
+
+ 2 3
+ + 1/245 x z + 1/25 x + 1/175 x z - 9/98 x + 2/175 x y, COEFF(1, -2, -1)
+
+ 2 3 2 2 167
+ = 1/42 - 1/50 x - 2/75 x + 1/350 y + 1/175 x y + 1/100 x z - ---- y
+ 7000
+
+ 2 211 2 3 3 2
+ - 1/700 y z + ---- x - 1/245 x y - 1/600 y + 1/300 z - 1/700 z
+ 3675
+
+ 2 2 229
+ + 1/350 x z - 1/350 x y z + 1/490 x z + 1/50 x y + 1/500 y z - ----- z
+ 10500
+
+ 2 2 3
+ + 1/700 y z , COEFF(2, -2, -1) = 1/250 y z + 2/245 x y - 1/300 y
+
+ 47 2 2 107 2
+ + ---- y + 1/175 x y z + 1/100 x + 1/175 y - ---- z - 1/245 x z
+ 5250 7000
+
+ 2 3 2 3
+ - 2/175 x y - 1/350 y z + 1/150 x - 1/175 x z - 1/200 x z + 1/150 z
+
+ 2 19 2 169 2
+ - 1/100 x y - ---- + 1/350 y z - ----- x - 1/350 z , COEFF(-2, -1, -1)
+ 2100 14700
+
+ 3 2 2 167 191 2
+ = 1/150 x - 1/100 x + 1/200 x y + ---- z + ----- x + 1/200 x z
+ 7000 14700
+
+ 3 2 3 2 2
+ - 1/150 y + 1/350 x y z - 1/700 y z - 1/150 z + 1/350 y - 1/245 x y
+
+ 2 167 17 2
+ - 1/245 x z - 1/175 x y - 1/175 x z + ---- y - ---- - 1/700 y z
+ 7000 2100
+
+ 2 2 2
+ + 1/350 z - 1/500 y z, COEFF(-1, -1, -1) = - 1/100 x z - 1/1400 y z
+
+ 3 2 2 137
+ - 2/75 x + 1/700 z - 1/700 x y z + 1/490 x y + 1/350 x z + ---- y
+ 5250
+
+ 2 2 137 3 2
+ + 1/350 x y + 1/490 x z + 1/50 x + ---- z - 1/300 y - 1/1400 y z
+ 5250
+
+ 3 2 2 17 166
+ - 1/300 z - 1/100 x y - 1/1000 y z + 1/700 y - --- + ---- x,
+ 525 3675
+
+ 57 3 2
+ COEFF(0, -1, -1) = - --- x + 1/25 x - 1/350 x y z + 1/245 x z + 1/175 x y
+ 490
+
+ 2 2 3
+ + 1/175 x z + 1/245 x y , COEFF(1, -1, -1) = 1/1400 y z + 1/300 z
+
+ 2 166 2 2 137
+ + 1/1400 y z + 1/350 x y + ---- x - 1/700 y + 1/100 x y - ---- y
+ 3675 5250
+
+ 2 3 137 3
+ + 1/100 x z - 1/700 x y z - 2/75 x - ---- z + 1/300 y + 1/1000 y z
+ 5250
+
+ 2 17 2 2 2
+ + 1/350 x z + 1/490 x y + --- - 1/700 z + 1/490 x z - 1/50 x ,
+ 525
+
+ 2 2 2 17
+ COEFF(2, -1, -1) = 1/700 y z - 1/245 x y - 1/175 x z + 1/100 x + ----
+ 2100
+
+ 2 3 2 2 191
+ - 1/350 z + 1/150 z - 1/200 x z - 1/175 x y - 1/200 x y + ----- x
+ 14700
+
+ 2 2 167 3
+ + 1/500 y z + 1/350 x y z - 1/350 y - 1/245 x z - ---- z + 1/150 x
+ 7000
+
+ 2 167 3 2 2
+ + 1/700 y z - ---- y + 1/150 y , COEFF(-2, 0, -1) = 1/175 y - 1/245 x z
+ 7000
+
+ 2 2 311 187 2
+ + 1/350 z - 1/350 y z - 1/175 x z + ----- x + ---- z - 2/245 x y
+ 14700 7000
+
+ 3 2 3 29 2
+ - 1/150 z + 1/200 x z + 1/150 x - ---- - 1/100 x , COEFF(-1, 0, -1) =
+ 2100
+
+ 2 2 2 151 3 2
+ 1/50 x + 1/245 x y - 1/100 x z + ---- x - 2/75 x + 1/490 x z
+ 3675
+
+ 289 37 3 2 2 2
+ + 1/350 x z + ----- z - ---- - 1/300 z + 1/350 y + 1/700 z - 1/700 y z
+ 10500 1050
+
+ 2 2 3 61
+ , COEFF(0, 0, -1) = 1/175 x z + 1/245 x z + 2/245 x y + 1/25 x - --- x,
+ 490
+
+ 3 2 2 37
+ COEFF(1, 0, -1) = 1/300 z + 1/350 x z - 1/700 z + 1/100 x z + ----
+ 1050
+
+ 2 289 2 2 3 2
+ + 1/490 x z - ----- z - 1/350 y - 1/50 x - 2/75 x + 1/700 y z
+ 10500
+
+ 2 151 3 2
+ + 1/245 x y + ---- x, COEFF(2, 0, -1) = 1/150 x + 1/100 x - 1/175 x z
+ 3675
+
+ 2 311 2 2 187 2
+ - 1/200 x z + ----- x + 1/350 y z - 1/175 y - ---- z - 1/350 z
+ 14700 7000
+
+ 2 29 3 2 167
+ - 2/245 x y + ---- + 1/150 z - 1/245 x z , COEFF(-2, 1, -1) = ---- z
+ 2100 7000
+
+ 2 2 2 3 17 2
+ + 1/350 z - 1/700 y z - 1/245 x z - 1/150 z - ---- - 1/245 x y
+ 2100
+
+ 2 2 2 3 167 2
+ + 1/700 y z + 1/200 x z + 1/350 y + 1/150 y - ---- y - 1/200 x y
+ 7000
+
+ 3 2
+ - 1/350 x y z - 1/175 x z + 1/175 x y + 1/500 y z + 1/150 x - 1/100 x
+
+ 191 2 2
+ + ----- x, COEFF(-1, 1, -1) = 1/1000 y z + 1/100 x y + 1/490 x y
+ 14700
+
+ 137 3 166 17 2
+ + 1/700 x y z + ---- z + 1/350 x z - 1/300 z + ---- x - --- + 1/700 z
+ 5250 3675 525
+
+ 2 3 2 2 2
+ - 1/350 x y + 1/1400 y z - 2/75 x + 1/700 y + 1/50 x - 1/1400 y z
+
+ 2 3 137 2
+ + 1/490 x z + 1/300 y - ---- y - 1/100 x z, COEFF(0, 1, -1) = 1/175 x z
+ 5250
+
+ 2 2 57 3
+ + 1/245 x y + 1/245 x z - --- x - 1/175 x y + 1/350 x y z + 1/25 x ,
+ 490
+
+ 3 137 166 137 17 2
+ COEFF(1, 1, -1) = - 1/300 y + ---- y + ---- x - ---- z + --- - 1/1400 y z
+ 5250 3675 5250 525
+
+ 3 2 3 2 2 2
+ + 1/300 z + 1/490 x y - 2/75 x + 1/100 x z + 1/490 x z - 1/50 x
+
+ 2 2
+ + 1/350 x z - 1/700 y - 1/350 x y - 1/100 x y + 1/700 x y z - 1/1000 y z
+
+ 2 2 17 191 2
+ - 1/700 z + 1/1400 y z, COEFF(2, 1, -1) = ---- + ----- x - 1/245 x z
+ 2100 14700
+
+ 167 2 2 167
+ + 1/175 x y - ---- z - 1/700 y z - 1/350 y + ---- y - 1/175 x z
+ 7000 7000
+
+ 2 2 2 3
+ - 1/350 x y z - 1/245 x y - 1/500 y z + 1/700 y z - 1/350 z - 1/150 y
+
+ 2 3 2 3 2
+ + 1/100 x + 1/150 x - 1/200 x z + 1/150 z + 1/200 x y,
+
+ 2 2 2 19
+ COEFF(-2, 2, -1) = 1/350 y z + 2/245 x y + 1/350 z - 1/175 x y z + ----
+ 2100
+
+ 169 2 2 2 107
+ - ----- x + 2/175 x y + 1/350 y z - 1/100 x + 1/200 x z + ---- z
+ 14700 7000
+
+ 2 3 3 47
+ - 1/100 x y + 1/250 y z - 1/150 z - 1/175 x z + 1/150 x + ---- y
+ 5250
+
+ 2 2 3 3
+ - 1/175 y - 1/245 x z - 1/300 y , COEFF(-1, 2, -1) = - 1/300 z - 1/42
+
+ 3 2 2 2 229
+ - 2/75 x - 1/175 x y - 1/100 x z + 1/700 z + 1/700 y z + ----- z
+ 10500
+
+ 2 2 3 2
+ + 1/50 x + 1/350 x y z - 1/350 y - 1/600 y + 1/50 x y + 1/500 y z
+
+ 2 2 167 2 211
+ - 1/245 x y + 1/490 x z - ---- y + 1/700 y z + 1/350 x z + ---- x,
+ 7000 3675
+
+ 3 2
+ COEFF(0, 2, -1) = - 9/98 x + 1/25 x - 2/245 x y + 1/175 x y z - 2/175 x y
+
+ 2 2
+ + 1/175 x z + 1/245 x z , COEFF(1, 2, -1) = 1/350 x y z - 1/245 x y
+
+ 2 2 2 2 167
+ - 1/50 x - 1/175 x y + 1/350 y - 1/700 z - 1/50 x y + ---- y
+ 7000
+
+ 3 3 3 229 2
+ + 1/350 x z + 1/600 y + 1/300 z - 2/75 x + 1/42 - ----- z + 1/100 x z
+ 10500
+
+ 2 211 2 2
+ - 1/700 y z + ---- x - 1/700 y z - 1/500 y z + 1/490 x z ,
+ 3675
+
+ 2 47 3 2
+ COEFF(2, 2, -1) = - 1/350 z - ---- y - 1/175 x y z + 1/150 x + 1/100 x
+ 5250
+
+ 19 2 2 3
+ - ---- + 2/175 x y - 1/200 x z + 1/175 y - 1/250 y z + 1/300 y
+ 2100
+
+ 2 169 2 2 107 2
+ + 2/245 x y - ----- x - 1/350 y z - 1/245 x z - ---- z - 1/350 y z
+ 14700 7000
+
+ 2 3 2
+ + 1/100 x y - 1/175 x z + 1/150 z , COEFF(-2, -2, 0) = 1/100 x y
+
+ 2 2 3 17 2
+ - 2/245 x z + 2/245 x y + 1/300 + 1/300 y - ---- y + 1/175 z
+ 5250
+
+ 2 2 2 3
+ - 1/100 x - 1/175 y - 1/300 x - 2/175 x y - 1/175 y z + 1/150 x ,
+
+ 2 3 2 2
+ COEFF(-1, -2, 0) = 1/245 x z - 2/75 - 2/75 x - 1/350 y + 1/50 x
+
+ 3 187 2 2 2
+ + 1/600 y + ---- y + 1/175 x y - 1/50 x y - 1/350 y z - 1/245 x y
+ 7000
+
+ 2
+ + 1/350 z + 4/75 x,
+
+ 2 3 2
+ COEFF(0, -2, 0) = - 2/245 x y - 1/10 x + 2/175 x y + 1/25 x + 2/245 x z ,
+
+ 2 3 2
+ COEFF(1, -2, 0) = 4/75 x + 1/245 x z + 2/75 - 1/600 y - 1/50 x
+
+ 3 2 2 2 2
+ + 1/175 x y - 2/75 x + 1/350 y + 1/350 y z - 1/245 x y - 1/350 z
+
+ 2 187 2 17
+ + 1/50 x y - ---- y, COEFF(2, -2, 0) = - 2/245 x z + ---- y - 2/175 x y
+ 7000 5250
+
+ 2 2 2 3 2 2
+ - 1/175 z + 1/175 y z + 1/100 x - 1/300 y + 1/175 y + 2/245 x y
+
+ 3 2 2
+ + 1/150 x - 1/300 - 1/300 x - 1/100 x y, COEFF(-2, -1, 0) = 1/175 z
+
+ 2 2 2 29 3
+ - 1/100 x + 1/200 x y - 1/245 x y - ---- + 1/150 x - 1/175 x y
+ 2100
+
+ 2 2 187 311 2 3
+ - 2/245 x z + 1/350 y + ---- y + ----- x - 1/350 y z - 1/150 y ,
+ 7000 14700
+
+ 2 2 2 289 37
+ COEFF(-1, -1, 0) = 1/700 y + 1/350 z - 1/700 y z + ----- y - ----
+ 10500 1050
+
+ 3 151 3 2 2
+ - 2/75 x + ---- x - 1/300 y + 1/350 x y + 1/490 x y - 1/100 x y
+ 3675
+
+ 2 2
+ + 1/50 x + 1/245 x z ,
+
+ 2 3 61 2
+ COEFF(0, -1, 0) = 1/175 x y + 1/245 x y + 1/25 x - --- x + 2/245 x z ,
+ 490
+
+ 3 37 2 2
+ COEFF(1, -1, 0) = 1/300 y + ---- + 1/100 x y - 1/700 y + 1/350 x y
+ 1050
+
+ 2 2 2 3 151 289
+ + 1/490 x y + 1/700 y z - 1/350 z - 2/75 x + ---- x - ----- y
+ 3675 10500
+
+ 2 2 29 311 3
+ + 1/245 x z - 1/50 x , COEFF(2, -1, 0) = ---- + ----- x + 1/150 y
+ 2100 14700
+
+ 3 187 2 2 2
+ + 1/150 x - ---- y + 1/100 x - 2/245 x z - 1/175 x y - 1/175 z
+ 7000
+
+ 2 2 2 2
+ + 1/350 y z - 1/245 x y - 1/350 y - 1/200 x y, COEFF(-2, 0, 0) =
+
+ 3 2 41 2 2 431 2
+ 1/150 x - 1/100 x - ---- - 2/245 x y + 1/175 z + ----- x + 1/175 y
+ 2100 14700
+
+ 2 2 2 2
+ - 2/245 x z , COEFF(-1, 0, 0) = 1/50 x - 4/105 + 1/245 x z + 1/245 x y
+
+ 2 136 3 2
+ + 1/350 z + ---- x - 2/75 x + 1/350 y ,
+ 3675
+
+ 3 2 2 13
+ COEFF(0, 0, 0) = 1/25 x + 2/245 x y + 2/245 x z - -- x, COEFF(1, 0, 0)
+ 98
+
+ 2 136 2 2 3
+ = - 1/350 z + ---- x + 4/105 + 1/245 x z + 1/245 x y - 2/75 x
+ 3675
+
+ 2 2 2 2 3
+ - 1/350 y - 1/50 x , COEFF(2, 0, 0) = - 2/245 x y - 1/175 z + 1/150 x
+
+ 41 2 2 2 431
+ + ---- - 2/245 x z - 1/175 y + 1/100 x + ----- x, COEFF(-2, 1, 0) =
+ 2100 14700
+
+ 2 2 29 2 187 2 3
+ 1/175 z - 1/245 x y - ---- + 1/350 y z - ---- y - 1/100 x + 1/150 y
+ 2100 7000
+
+ 2 311 2 2 3
+ - 1/200 x y + 1/175 x y + ----- x - 2/245 x z + 1/350 y + 1/150 x ,
+ 14700
+
+ 2 151 2 3
+ COEFF(-1, 1, 0) = 1/350 z + ---- x + 1/50 x + 1/300 y - 1/350 x y
+ 3675
+
+ 289 37 3 2 2 2
+ - ----- y - ---- - 2/75 x + 1/490 x y + 1/700 y + 1/700 y z
+ 10500 1050
+
+ 2 2
+ + 1/245 x z + 1/100 x y,
+
+ 2 2 61 3
+ COEFF(0, 1, 0) = 1/245 x y + 2/245 x z - 1/175 x y - --- x + 1/25 x ,
+ 490
+
+ 2 2 2 2
+ COEFF(1, 1, 0) = 1/490 x y - 1/700 y z - 1/700 y - 1/350 z - 1/350 x y
+
+ 2 37 151 3 2 2 3
+ - 1/50 x + ---- + ---- x - 2/75 x - 1/100 x y + 1/245 x z - 1/300 y
+ 1050 3675
+
+ 289 2 2 311 29
+ + ----- y, COEFF(2, 1, 0) = 1/100 x - 1/350 y + ----- x + ----
+ 10500 14700 2100
+
+ 3 3 187 2 2
+ - 1/150 y + 1/175 x y + 1/150 x + ---- y - 2/245 x z - 1/350 y z
+ 7000
+
+ 2 2 2 2
+ + 1/200 x y - 1/245 x y - 1/175 z , COEFF(-2, 2, 0) = 2/245 x y
+
+ 3 2 17 2
+ + 1/150 x - 2/245 x z + ---- y + 2/175 x y + 1/175 z - 1/300 x + 1/300
+ 5250
+
+ 2 2 2 3 2
+ + 1/175 y z - 1/175 y - 1/100 x y - 1/300 y - 1/100 x ,
+
+ 2 2 2 3
+ COEFF(-1, 2, 0) = - 1/245 x y + 1/50 x + 1/50 x y - 1/600 y - 1/175 x y
+
+ 3 2 187 2 2
+ - 2/75 + 4/75 x - 2/75 x + 1/245 x z - ---- y + 1/350 y z + 1/350 z
+ 7000
+
+ 2
+ - 1/350 y ,
+
+ 3 2 2
+ COEFF(0, 2, 0) = 1/25 x - 2/245 x y - 1/10 x + 2/245 x z - 2/175 x y,
+
+ 2 2 3
+ COEFF(1, 2, 0) = - 1/350 z + 2/75 + 4/75 x + 1/245 x z - 2/75 x
+
+ 2 2 2 2 3
+ - 1/175 x y - 1/350 y z - 1/245 x y + 1/350 y - 1/50 x + 1/600 y
+
+ 187 2 3 2
+ + ---- y - 1/50 x y, COEFF(2, 2, 0) = 1/150 x - 1/300 + 1/100 x y
+ 7000
+
+ 2 2 2 2 3
+ - 2/245 x z + 2/245 x y - 1/300 x - 1/175 z - 1/175 y z + 1/300 y
+
+ 2 17 2 3
+ + 2/175 x y + 1/175 y - ---- y + 1/100 x , COEFF(-2, -2, 1) = 1/150 x
+ 5250
+
+ 2 2 2
+ - 1/175 y + 1/250 y z - 1/350 y z + 1/350 z - 2/175 x y + 1/175 x z
+
+ 3 3 2 2 169
+ + 1/150 z + 1/300 y - 1/175 x y z - 1/200 x z + 1/100 x y - ----- x
+ 14700
+
+ 2 107 47 2 2 2 19
+ - 1/100 x - ---- z - ---- y - 1/245 x z + 2/245 x y - 1/350 y z + ----
+ 7000 5250 2100
+
+ 2 167 211 2 2
+ , COEFF(-1, -2, 1) = 1/100 x z + ---- y + ---- x - 1/700 y z + 1/50 x
+ 7000 3675
+
+ 2 2 3 3
+ - 1/42 - 1/50 x y - 1/700 y z + 1/350 x y z - 2/75 x + 1/300 z
+
+ 2 229 2
+ + 1/700 z - ----- z + 1/175 x y - 1/350 y + 1/500 y z - 1/350 x z
+ 10500
+
+ 2 3 2 2
+ - 1/245 x y + 1/600 y + 1/490 x z , COEFF(0, -2, 1) = 1/245 x z
+
+ 2 3
+ + 2/175 x y - 2/245 x y - 9/98 x - 1/175 x z + 1/175 x y z + 1/25 x ,
+
+ 3 211
+ COEFF(1, -2, 1) = - 1/600 y + 1/350 x y z + ---- x - 1/500 y z - 1/350 x z
+ 3675
+
+ 2 2 3 2 2 2
+ - 1/700 z + 1/700 y z - 2/75 x - 1/50 x + 1/490 x z + 1/42 + 1/350 y
+
+ 3 167 229 2 2 2
+ - 1/300 z - ---- y + ----- z - 1/245 x y - 1/100 x z + 1/50 x y
+ 7000 10500
+
+ 2 3 2
+ + 1/700 y z + 1/175 x y, COEFF(2, -2, 1) = - 1/300 y + 1/200 x z
+
+ 3 2 2 2
+ - 1/150 z - 1/100 x y - 2/175 x y - 1/250 y z + 2/245 x y + 1/100 x
+
+ 169 2 2 19 2
+ - ----- x - 1/245 x z + 1/175 x z + 1/175 y - ---- + 1/350 y z
+ 14700 2100
+
+ 2 47 107 3 2
+ - 1/175 x y z - 1/350 z + ---- y + ---- z + 1/150 x + 1/350 y z ,
+ 5250 7000
+
+ 191 2 2
+ COEFF(-2, -1, 1) = - 1/350 x y z + ----- x + 1/350 z + 1/700 y z
+ 14700
+
+ 2 2 167 2 3
+ - 1/700 y z + 1/200 x y - ---- z - 1/200 x z + 1/150 z + 1/175 x z
+ 7000
+
+ 2 3 2 17 2
+ - 1/245 x y + 1/150 x - 1/175 x y - 1/245 x z - ---- + 1/350 y
+ 2100
+
+ 3 2 167 3
+ - 1/150 y - 1/100 x + ---- y + 1/500 y z, COEFF(-1, -1, 1) = - 1/300 y
+ 7000
+
+ 3 137 2 2
+ - 2/75 x + ---- y + 1/1000 y z + 1/700 z - 1/350 x z + 1/700 y
+ 5250
+
+ 2 3 2 2 2 17
+ + 1/50 x + 1/300 z + 1/490 x y + 1/490 x z - 1/100 x y - ---
+ 525
+
+ 2 2 166 137 2
+ + 1/1400 y z + 1/350 x y + 1/100 x z + ---- x - ---- z - 1/1400 y z
+ 3675 5250
+
+ + 1/700 x y z, COEFF(0, -1, 1) = 1/175 x y + 1/350 x y z - 1/175 x z
+
+ 57 2 3 2 2
+ - --- x + 1/245 x y + 1/25 x + 1/245 x z , COEFF(1, -1, 1) = 1/1400 y z
+ 490
+
+ 3 3 2 2 2
+ + 1/350 x y - 1/300 z - 2/75 x + 1/100 x y + 1/490 x y - 1/100 x z
+
+ 137 166 2 17 2
+ + ---- z + ---- x + 1/700 x y z - 1/700 z - 1/350 x z + --- + 1/490 x z
+ 5250 3675 525
+
+ 2 137 2 3 2
+ - 1/1400 y z - ---- y - 1/700 y + 1/300 y - 1/50 x - 1/1000 y z,
+ 5250
+
+ 3 2 2 2
+ COEFF(2, -1, 1) = 1/150 y + 1/700 y z - 1/700 y z + 1/100 x
+
+ 2 17 2 2 2
+ + 1/200 x z + ---- - 1/200 x y - 1/350 y - 1/350 x y z - 1/245 x y
+ 2100
+
+ 3 167 3 2 2
+ - 1/150 z + ---- z + 1/150 x + 1/175 x z - 1/245 x z - 1/350 z
+ 7000
+
+ 191 167 2
+ - 1/500 y z + ----- x - 1/175 x y - ---- y, COEFF(-2, 0, 1) = - 1/245 x z
+ 14700 7000
+
+ 2 2 2 311 2 3
+ + 1/175 y - 2/245 x y - 1/100 x + ----- x - 1/200 x z + 1/150 x
+ 14700
+
+ 2 3 187 2 29
+ + 1/175 x z + 1/350 z + 1/150 z - ---- z + 1/350 y z - ----,
+ 7000 2100
+
+ 3 37 2 3 2
+ COEFF(-1, 0, 1) = 1/300 z - ---- + 1/490 x z - 2/75 x + 1/50 x
+ 1050
+
+ 289 2 2 2 2
+ - ----- z + 1/350 y - 1/350 x z + 1/100 x z + 1/700 z + 1/245 x y
+ 10500
+
+ 151 2
+ + ---- x + 1/700 y z,
+ 3675
+
+ 3 2 61 2
+ COEFF(0, 0, 1) = 1/25 x - 1/175 x z + 1/245 x z - --- x + 2/245 x y ,
+ 490
+
+ 2 2 151 2 3
+ COEFF(1, 0, 1) = 1/245 x y - 1/50 x + ---- x - 1/700 z - 2/75 x
+ 3675
+
+ 3 2 289 37 2 2
+ - 1/300 z - 1/700 y z + ----- z + ---- + 1/490 x z - 1/100 x z
+ 10500 1050
+
+ 2 2 3 3
+ - 1/350 x z - 1/350 y , COEFF(2, 0, 1) = 1/100 x + 1/150 x - 1/150 z
+
+ 2 2 2 2 311
+ + 1/200 x z - 1/350 y z - 1/175 y - 2/245 x y + ----- x + 1/175 x z
+ 14700
+
+ 2 2 29 187
+ - 1/350 z - 1/245 x z + ---- + ---- z, COEFF(-2, 1, 1) = - 1/500 y z
+ 2100 7000
+
+ 2 2 2
+ + 1/350 x y z - 1/200 x z - 1/200 x y + 1/700 y z + 1/175 x z
+
+ 2 2 17 167 2
+ - 1/245 x z + 1/175 x y + 1/350 y - ---- - ---- z - 1/245 x y
+ 2100 7000
+
+ 2 3 2 3 3 191
+ - 1/100 x + 1/150 z + 1/350 z + 1/150 x + 1/150 y + ----- x
+ 14700
+
+ 2 167 2
+ + 1/700 y z - ---- y, COEFF(-1, 1, 1) = 1/700 y - 1/350 x z - 1/1000 y z
+ 7000
+
+ 137 3 2 2 3 2
+ - ---- y + 1/300 z + 1/100 x y + 1/1400 y z + 1/300 y + 1/490 x z
+ 5250
+
+ 137 2 166 2 3 17
+ - ---- z + 1/1400 y z + ---- x + 1/490 x y - 2/75 x - 1/700 x y z - ---
+ 5250 3675 525
+
+ 2 2 2 2
+ + 1/100 x z + 1/50 x + 1/700 z - 1/350 x y, COEFF(0, 1, 1) = 1/245 x y
+
+ 3 57 2
+ - 1/175 x z + 1/25 x - --- x + 1/245 x z - 1/175 x y - 1/350 x y z,
+ 490
+
+ 137 3 2
+ COEFF(1, 1, 1) = ---- z + 1/1000 y z - 1/350 x y - 1/300 z - 1/100 x y
+ 5250
+
+ 17 2 2 166 2 3 137
+ + --- + 1/490 x z + 1/490 x y + ---- x - 1/700 y - 1/300 y + ---- y
+ 525 3675 5250
+
+ 2 2 2 2
+ - 1/700 z - 1/50 x - 1/700 x y z - 1/1400 y z - 1/1400 y z
+
+ 2 3 2
+ - 1/100 x z - 1/350 x z - 2/75 x , COEFF(2, 1, 1) = 1/200 x y
+
+ 2 2 191 2
+ + 1/175 x z - 1/245 x z + 1/200 x z + ----- x - 1/245 x y + 1/500 y z
+ 14700
+
+ 167 2 2 2
+ + 1/350 x y z + ---- z - 1/350 z + 1/175 x y + 1/100 x - 1/350 y
+ 7000
+
+ 3 3 3 17 2 167 2
+ - 1/150 y - 1/150 z + 1/150 x + ---- - 1/700 y z + ---- y - 1/700 y z
+ 2100 7000
+
+ 2 2 3
+ , COEFF(-2, 2, 1) = - 1/200 x z - 1/250 y z - 1/350 y z - 1/300 y
+
+ 2 19 2
+ - 1/175 y + 1/175 x z + ---- + 2/245 x y + 1/175 x y z + 2/175 x y
+ 2100
+
+ 169 2 2 2 47 3
+ - ----- x - 1/245 x z + 1/350 z - 1/100 x + ---- y + 1/150 x
+ 14700 5250
+
+ 2 2 107 3 211
+ + 1/350 y z - 1/100 x y - ---- z + 1/150 z , COEFF(-1, 2, 1) = ---- x
+ 7000 3675
+
+ 2 3 2 2 2
+ - 1/175 x y + 1/100 x z - 2/75 x + 1/50 x + 1/490 x z - 1/350 y
+
+ 3 2 229 2
+ + 1/300 z + 1/700 z - 1/350 x z - ----- z - 1/42 - 1/245 x y
+ 10500
+
+ 3 2 167 2
+ - 1/350 x y z - 1/600 y - 1/700 y z - 1/500 y z - ---- y + 1/700 y z
+ 7000
+
+ 2 2
+ + 1/50 x y, COEFF(0, 2, 1) = - 9/98 x - 1/175 x y z + 1/245 x z
+
+ 3 2
+ - 1/175 x z + 1/25 x - 2/175 x y - 2/245 x y , COEFF(1, 2, 1) =
+
+ 2 3 2 167 2
+ - 1/100 x z - 2/75 x + 1/700 y z - 1/175 x y + ---- y - 1/700 z
+ 7000
+
+ 2 2 3 2 2
+ - 1/50 x - 1/50 x y - 1/350 x z - 1/300 z + 1/490 x z - 1/700 y z
+
+ 2 2 211
+ - 1/245 x y + 1/350 y - 1/350 x y z + 1/500 y z + 1/42 + ---- x
+ 3675
+
+ 229 3 2 47
+ + ----- z + 1/600 y , COEFF(2, 2, 1) = 1/100 x y - ---- y + 1/175 x z
+ 10500 5250
+
+ 2 3 2 2
+ + 1/175 x y z + 1/175 y + 1/150 x + 2/175 x y + 1/100 x + 2/245 x y
+
+ 3 2 19 169 3 2
+ - 1/150 z - 1/350 z - ---- - ----- x + 1/300 y - 1/245 x z
+ 2100 14700
+
+ 2 2 107 2
+ - 1/350 y z + 1/200 x z + ---- z + 1/250 y z + 1/350 y z,
+ 7000
+
+ 137 2 529 3
+ COEFF(-2, -2, 2) = - ---- y + 1/100 x y - 2/175 x y - ----- x + 1/150 x
+ 5250 14700
+
+ 2 2 137
+ - 1/100 x + 2/175 x z - 2/175 x y z + 2/245 x y + ---- z + 1/125 y z
+ 5250
+
+ 2 2 2 3 3 11
+ - 1/175 y - 1/175 y z + 2/245 x z - 1/300 z + 1/300 y + ---
+ 420
+
+ 2 2 2 2
+ - 1/100 x z - 1/175 z + 1/175 y z , COEFF(-1, -2, 2) = - 1/350 z
+
+ 2 2 3 3
+ - 1/350 y z - 1/245 x y + 1/175 x y z - 2/75 x + 1/175 x y - 1/600 z
+
+ 2 107 2 107
+ + 1/50 x z + 1/250 y z + ---- y - 1/50 x y - ---- z - 1/175 x z
+ 7000 7000
+
+ 2 2 256 2 2 3
+ - 1/245 x z - 8/525 - 1/350 y + ---- x + 1/50 x + 1/350 y z + 1/600 y
+ 3675
+
+ 33
+ , COEFF(0, -2, 2) = 2/175 x y z - 2/175 x z - --- x + 2/175 x y
+ 490
+
+ 2 3 2
+ - 2/245 x z + 1/25 x - 2/245 x y , COEFF(1, -2, 2) = 1/175 x y
+
+ 2 3 256 2 2 2
+ + 1/350 y - 1/600 y + ---- x - 1/50 x z - 1/350 y z + 1/50 x y
+ 3675
+
+ 2 2 3 2 3
+ - 1/245 x y - 1/250 y z + 1/350 z + 1/600 z - 1/50 x - 2/75 x
+
+ 2 107 107
+ + 1/175 x y z - 1/245 x z + ---- z - 1/175 x z + 8/525 - ---- y
+ 7000 7000
+
+ 2 2 529 2
+ + 1/350 y z, COEFF(2, -2, 2) = 2/245 x z - ----- x + 1/175 z
+ 14700
+
+ 2 3 3 137
+ - 1/175 y z - 2/175 x y z + 1/300 z - 1/300 y - 2/175 x y - ---- z
+ 5250
+
+ 2 137 2 2
+ + 1/175 y - 1/125 y z + 2/175 x z + ---- y + 1/100 x z - 1/100 x y
+ 5250
+
+ 11 2 3 2 2
+ - --- + 1/100 x + 1/150 x + 2/245 x y + 1/175 y z, COEFF(-2, -1, 2) =
+ 420
+
+ 2 3 2 2
+ 1/350 y z - 1/175 x y z - 1/150 y + 2/175 x z - 1/100 x + 1/350 y
+
+ 3 2 169 2 2
+ - 1/300 z + 1/350 y z - 1/175 x y - ----- x - 1/175 z + 2/245 x z
+ 14700
+
+ 2 19 3 2 2 107
+ - 1/100 x z + ---- + 1/150 x + 1/200 x y - 1/245 x y + ---- y
+ 2100 7000
+
+ 47 2
+ + 1/250 y z + ---- z, COEFF(-1, -1, 2) = - 1/175 x z + 1/700 y z
+ 5250
+
+ 2 3 2 167
+ + 1/50 x z - 1/300 y - 1/100 x y + 1/350 x y z - 1/42 - ---- z
+ 7000
+
+ 229 3 2 2 2
+ + 1/350 x y + ----- y - 1/600 z + 1/700 y - 1/350 z + 1/490 x y
+ 10500
+
+ 2 2 3 2 211
+ + 1/50 x - 1/245 x z - 2/75 x + 1/700 y z + 1/500 y z + ---- x,
+ 3675
+
+ 3 2
+ COEFF(0, -1, 2) = - 9/98 x - 2/175 x z + 1/25 x + 1/175 x y z - 2/245 x z
+
+ 2 211 2 2
+ + 1/175 x y + 1/245 x y , COEFF(1, -1, 2) = ---- x + 1/350 z - 1/700 y
+ 3675
+
+ 167 3 2
+ + 1/350 x y z + ---- z + 1/600 z + 1/42 - 1/50 x - 1/175 x z
+ 7000
+
+ 2 2 2 229 3
+ + 1/490 x y - 1/50 x z + 1/350 x y - 1/700 y z - ----- y - 2/75 x
+ 10500
+
+ 2 2 3 2
+ - 1/500 y z - 1/700 y z - 1/245 x z + 1/300 y + 1/100 x y,
+
+ 3 2 2 2 169
+ COEFF(2, -1, 2) = 1/150 x - 1/350 y z - 1/200 x y + 1/100 x - ----- x
+ 14700
+
+ 3 2 47 107 2
+ + 1/150 y + 1/175 z - ---- z + 2/175 x z - 1/175 x y - ---- y - 1/350 y
+ 5250 7000
+
+ 2 19 2 2
+ - 1/175 x y z + 1/100 x z - ---- - 1/250 y z - 1/350 y z + 2/245 x z
+ 2100
+
+ 2 3 2 2
+ - 1/245 x y + 1/300 z , COEFF(-2, 0, 2) = 1/300 - 1/175 z + 1/175 y z
+
+ 2 2 2 17
+ - 1/300 x - 2/245 x y - 1/100 x + 1/175 y + 2/175 x z + ---- z
+ 5250
+
+ 2 3 3 2
+ - 1/100 x z - 1/300 z + 1/150 x + 2/245 x z , COEFF(-1, 0, 2) =
+
+ 2 2 187 2 3
+ - 1/245 x z + 1/50 x - ---- z - 1/350 z + 4/75 x - 1/175 x z - 2/75 x
+ 7000
+
+ 2 3 2 2 2
+ + 1/245 x y - 1/600 z - 2/75 + 1/350 y z + 1/50 x z + 1/350 y ,
+
+ 2 2 3
+ COEFF(0, 0, 2) = 2/245 x y - 2/245 x z - 1/10 x - 2/175 x z + 1/25 x ,
+
+ 187 2 2
+ COEFF(1, 0, 2) = 4/75 x + ---- z - 1/175 x z - 1/350 y + 1/245 x y
+ 7000
+
+ 2 2 2 3 2
+ - 1/350 y z + 2/75 - 1/245 x z - 1/50 x z + 1/600 z - 1/50 x
+
+ 3 2 2 17
+ - 2/75 x + 1/350 z , COEFF(2, 0, 2) = - 1/300 x + 2/245 x z - ---- z
+ 5250
+
+ 3 2 2 2 2 2
+ + 1/300 z - 2/245 x y + 1/100 x z - 1/175 y z + 1/175 z + 1/100 x
+
+ 3 2
+ - 1/300 + 1/150 x + 2/175 x z - 1/175 y , COEFF(-2, 1, 2) = - 1/250 y z
+
+ 2 2 3 3 2
+ + 1/350 y z + 2/245 x z + 1/150 y + 1/175 x y z + 1/150 x - 1/100 x z
+
+ 2 169 3 2 2
+ + 1/350 y - ----- x - 1/300 z - 1/350 y z + 1/175 x y - 1/200 x y
+ 14700
+
+ 2 2 47 19 2 107
+ - 1/100 x - 1/245 x y + ---- z + ---- + 2/175 x z - 1/175 z - ---- y,
+ 5250 2100 7000
+
+ 211 2 2 229
+ COEFF(-1, 1, 2) = - 1/175 x z + ---- x + 1/50 x z + 1/100 x y - ----- y
+ 3675 10500
+
+ 167 2 3 2 3
+ - ---- z - 1/500 y z + 1/50 x + 1/300 y + 1/490 x y - 1/600 z
+ 7000
+
+ 2 3 2 2
+ - 1/350 x y + 1/700 y - 2/75 x - 1/350 x y z - 1/350 z + 1/700 y z
+
+ 2 2 2
+ - 1/42 - 1/245 x z - 1/700 y z , COEFF(0, 1, 2) = - 2/245 x z
+
+ 2 3
+ - 1/175 x y z + 1/245 x y - 1/175 x y - 9/98 x + 1/25 x - 2/175 x z,
+
+ 3 2 2 3
+ COEFF(1, 1, 2) = - 1/300 y + 1/42 + 1/350 z - 1/245 x z + 1/600 z
+
+ 211 2 167 3 2 2
+ + ---- x - 1/50 x z + ---- z - 2/75 x - 1/50 x + 1/700 y z + 1/500 y z
+ 3675 7000
+
+ 229 2 2 2
+ - 1/350 x y + ----- y - 1/100 x y - 1/175 x z + 1/490 x y - 1/700 y z
+ 10500
+
+ 2 19 3 2
+ - 1/700 y - 1/350 x y z, COEFF(2, 1, 2) = - ---- + 1/300 z + 1/100 x z
+ 2100
+
+ 3 2 2 3 2
+ + 1/150 x - 1/245 x y + 2/175 x z + 1/200 x y - 1/150 y - 1/350 y z
+
+ 169 107 2 2
+ + 1/250 y z - ----- x + ---- y + 1/175 z + 2/245 x z + 1/175 x y
+ 14700 7000
+
+ 2 2 47 2
+ + 1/175 x y z + 1/100 x - 1/350 y - ---- z + 1/350 y z , COEFF(-2, 2, 2)
+ 5250
+
+ 11 2 2 2 2
+ = --- - 1/100 x y - 1/175 y z + 2/175 x y z - 1/175 y - 1/175 z
+ 420
+
+ 2 2 3 3 3 529
+ - 1/100 x z - 1/175 y z + 1/150 x - 1/300 z - 1/300 y - ----- x
+ 14700
+
+ 2 137 2 2 137
+ + 2/175 x y + 2/245 x y + ---- z - 1/100 x + 2/245 x z + ---- y
+ 5250 5250
+
+ 3 3
+ + 2/175 x z - 1/125 y z, COEFF(-1, 2, 2) = - 2/75 x - 8/525 - 1/600 y
+
+ 2 2 256 2 2
+ + 1/50 x y - 1/350 y z - 1/175 x y z + ---- x - 1/350 y + 1/50 x z
+ 3675
+
+ 2 3 2 107 2
+ - 1/250 y z + 1/50 x - 1/600 z - 1/350 y z - ---- z - 1/245 x y
+ 7000
+
+ 107 2 2
+ - 1/175 x z - 1/175 x y - ---- y - 1/245 x z - 1/350 z , COEFF(0, 2, 2)
+ 7000
+
+ 3 33 2
+ = 1/25 x - --- x - 2/175 x y z - 2/175 x z - 2/245 x z - 2/175 x y
+ 490
+
+ 2 2 3
+ - 2/245 x y , COEFF(1, 2, 2) = - 1/50 x y + 8/525 - 1/175 x z + 1/600 z
+
+ 2 3 2 3 256
+ + 1/350 y - 1/175 x y z - 2/75 x - 1/50 x z + 1/600 y + ---- x
+ 3675
+
+ 107 2 2 2 107
+ + ---- y - 1/50 x + 1/350 y z + 1/250 y z - 1/245 x z + ---- z
+ 7000 7000
+
+ 2 2 2
+ + 1/350 y z + 1/350 z - 1/175 x y - 1/245 x y , COEFF(2, 2, 2) =
+
+ 2 3 11 2 2
+ 1/175 z + 1/300 z + 2/175 x z - --- + 2/175 x y z + 1/175 y z + 1/100 x
+ 420
+
+ 2 2 2 2 529
+ + 1/175 y z + 2/245 x y + 1/100 x z + 1/100 x y + 1/125 y z - ----- x
+ 14700
+
+ 2 137 137 3 3
+ + 1/175 y - ---- y - ---- z + 1/150 x + 1/300 y + 2/175 x y
+ 5250 5250
+
+ 2
+ + 2/245 x z ]
+
+> print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c");
+bytes used=1303680372, alloc=15136044, time=163.95
+bytes used=1304680536, alloc=15136044, time=164.03
+bytes used=1305681184, alloc=15136044, time=164.12
+bytes used=1306681764, alloc=15136044, time=164.20
+bytes used=1307681920, alloc=15136044, time=164.29
+bytes used=1308682084, alloc=15136044, time=164.38
+bytes used=1309682272, alloc=15136044, time=164.46
+bytes used=1310682560, alloc=15136044, time=164.71
+bytes used=1311682916, alloc=15136044, time=165.49
+bytes used=1312683440, alloc=15136044, time=166.28
+bytes used=1313683612, alloc=15136044, time=167.06
+bytes used=1314683920, alloc=15136044, time=167.84
+bytes used=1315684260, alloc=15136044, time=168.59
+bytes used=1316684444, alloc=15136044, time=168.75
+bytes used=1317684596, alloc=15136044, time=168.84
+bytes used=1318684800, alloc=15136044, time=168.94
+bytes used=1319685028, alloc=15136044, time=169.03
+bytes used=1320685256, alloc=15136044, time=169.13
+bytes used=1321707328, alloc=15136044, time=169.22
+bytes used=1322812716, alloc=15136044, time=169.29
+bytes used=1323896636, alloc=15136044, time=169.37
+bytes used=1324933564, alloc=15136044, time=169.44
+bytes used=1325942092, alloc=15136044, time=169.51
+bytes used=1327040872, alloc=15136044, time=169.58
+bytes used=1328082548, alloc=15136044, time=169.66
+bytes used=1329168004, alloc=15136044, time=169.73
+bytes used=1330229592, alloc=15136044, time=169.82
+bytes used=1331294972, alloc=15136044, time=169.90
+bytes used=1332317988, alloc=15136044, time=169.99
+bytes used=1333386468, alloc=15136044, time=170.08
+bytes used=1334404600, alloc=15136044, time=170.17
+bytes used=1335430928, alloc=15136044, time=170.26
+bytes used=1336455140, alloc=15136044, time=170.36
+bytes used=1337480256, alloc=15136044, time=170.47
+bytes used=1338480460, alloc=15136044, time=170.57
+bytes used=1339480664, alloc=15136044, time=170.70
+bytes used=1340480844, alloc=15136044, time=172.41
+bytes used=1341481076, alloc=15136044, time=172.72
+bytes used=1342498972, alloc=15136044, time=172.82
+bytes used=1343499612, alloc=15136044, time=172.90
+bytes used=1344499940, alloc=15136044, time=172.99
+bytes used=1345500144, alloc=15136044, time=173.08
+bytes used=1346501208, alloc=15136044, time=173.16
+bytes used=1347501448, alloc=15136044, time=173.24
+bytes used=1348503576, alloc=15136044, time=173.33
+bytes used=1349503956, alloc=15136044, time=173.40
+bytes used=1350504244, alloc=15136044, time=173.48
+bytes used=1351504660, alloc=15136044, time=173.56
+bytes used=1352504996, alloc=15136044, time=173.64
+bytes used=1353505680, alloc=15136044, time=173.72
+bytes used=1354506424, alloc=15136044, time=173.81
+bytes used=1355508656, alloc=15136044, time=173.90
+bytes used=1356508916, alloc=15136044, time=173.99
+bytes used=1357509324, alloc=15136044, time=174.10
+bytes used=1358513068, alloc=15136044, time=174.18
+bytes used=1359513200, alloc=15136044, time=174.27
+bytes used=1360513352, alloc=15136044, time=174.35
+bytes used=1361513648, alloc=15136044, time=174.46
+bytes used=1362513848, alloc=15136044, time=174.59
+bytes used=1363517880, alloc=15136044, time=174.72
+bytes used=1364518004, alloc=15136044, time=174.87
+bytes used=1365519032, alloc=15136044, time=175.00
+bytes used=1366536080, alloc=15136044, time=175.13
+bytes used=1367546280, alloc=15136044, time=175.26
+bytes used=1368546396, alloc=15136044, time=175.39
+bytes used=1369546524, alloc=15136044, time=175.55
+bytes used=1370567748, alloc=15136044, time=175.69
+bytes used=1371569276, alloc=15136044, time=175.81
+bytes used=1372569392, alloc=15136044, time=175.95
+bytes used=1373575408, alloc=15136044, time=176.08
+bytes used=1374575556, alloc=15136044, time=176.23
+bytes used=1375584756, alloc=15136044, time=176.38
+bytes used=1376584948, alloc=15136044, time=176.50
+bytes used=1377585064, alloc=15136044, time=176.63
+bytes used=1378599648, alloc=15136044, time=176.74
+bytes used=1379621768, alloc=15136044, time=176.86
+bytes used=1380621964, alloc=15136044, time=176.98
+bytes used=1381622184, alloc=15136044, time=177.09
+bytes used=1382631952, alloc=15136044, time=177.20
+bytes used=1383632308, alloc=15136044, time=177.30
+bytes used=1384632800, alloc=15136044, time=177.38
+bytes used=1385643816, alloc=15136044, time=179.40
+bytes used=1386644052, alloc=15136044, time=179.73
+bytes used=1387644172, alloc=15136044, time=180.24
+bytes used=1388644332, alloc=15136044, time=180.34
+bytes used=1389644504, alloc=15136044, time=180.42
+bytes used=1390645032, alloc=15136044, time=180.50
+bytes used=1391645356, alloc=15136044, time=180.58
+bytes used=1392645752, alloc=15136044, time=180.64
+bytes used=1393646040, alloc=15136044, time=180.72
+bytes used=1394646344, alloc=15136044, time=180.80
+bytes used=1395648312, alloc=15136044, time=180.87
+bytes used=1396648516, alloc=15136044, time=180.95
+bytes used=1397648748, alloc=15136044, time=181.02
+bytes used=1398649080, alloc=15136044, time=181.10
+bytes used=1399649380, alloc=15136044, time=181.18
+bytes used=1400649696, alloc=15136044, time=181.25
+bytes used=1401650280, alloc=15136044, time=181.33
+bytes used=1402650552, alloc=15136044, time=181.41
+bytes used=1403650972, alloc=15136044, time=181.48
+bytes used=1404651204, alloc=15136044, time=181.56
+bytes used=1405651448, alloc=15136044, time=181.69
+bytes used=1406651644, alloc=15136044, time=181.85
+bytes used=1407653440, alloc=15136044, time=181.97
+bytes used=1408673788, alloc=15136044, time=182.10
+bytes used=1409689096, alloc=15136044, time=182.24
+bytes used=1410690636, alloc=15136044, time=182.37
+bytes used=1411714744, alloc=15136044, time=182.57
+bytes used=1412719180, alloc=15136044, time=182.72
+bytes used=1413720628, alloc=15136044, time=182.85
+bytes used=1414722220, alloc=15136044, time=182.98
+bytes used=1415723844, alloc=15136044, time=183.13
+bytes used=1416745520, alloc=15136044, time=183.27
+bytes used=1417745716, alloc=15136044, time=183.42
+bytes used=1418746016, alloc=15136044, time=183.54
+bytes used=1419746432, alloc=15136044, time=183.62
+bytes used=1420746616, alloc=15136044, time=185.69
+bytes used=1421760744, alloc=15136044, time=186.32
+bytes used=1422760908, alloc=15136044, time=187.15
+bytes used=1423761076, alloc=15136044, time=187.40
+bytes used=1424761228, alloc=15136044, time=187.50
+bytes used=1425761580, alloc=15136044, time=187.58
+bytes used=1426761796, alloc=15136044, time=187.66
+bytes used=1427762136, alloc=15136044, time=187.73
+bytes used=1428762300, alloc=15136044, time=187.81
+bytes used=1429762488, alloc=15136044, time=187.89
+bytes used=1430762900, alloc=15136044, time=187.97
+bytes used=1431763156, alloc=15136044, time=188.05
+bytes used=1432763372, alloc=15136044, time=188.13
+bytes used=1433763580, alloc=15136044, time=188.21
+bytes used=1434763732, alloc=15136044, time=188.29
+bytes used=1435763948, alloc=15136044, time=188.37
+bytes used=1436764124, alloc=15136044, time=188.45
+bytes used=1437764624, alloc=15136044, time=188.53
+bytes used=1438764904, alloc=15136044, time=188.61
+bytes used=1439765112, alloc=15136044, time=188.69
+bytes used=1440767436, alloc=15136044, time=188.76
+bytes used=1441767636, alloc=15136044, time=189.07
+bytes used=1442767804, alloc=15136044, time=189.41
+bytes used=1443769020, alloc=15136044, time=189.56
+bytes used=1444769292, alloc=15136044, time=190.95
+bytes used=1445769504, alloc=15136044, time=192.73
+bytes used=1446769660, alloc=15136044, time=193.12
+bytes used=1447769832, alloc=15136044, time=193.20
+bytes used=1448770072, alloc=15136044, time=193.29
+bytes used=1449770336, alloc=15136044, time=193.36
+bytes used=1450770540, alloc=15136044, time=193.44
+bytes used=1451770868, alloc=15136044, time=193.52
+bytes used=1452771136, alloc=15136044, time=193.60
+bytes used=1453771588, alloc=15136044, time=193.68
+bytes used=1454772028, alloc=15136044, time=193.76
+bytes used=1455772488, alloc=15136044, time=193.84
+bytes used=1456772648, alloc=15136044, time=193.92
+bytes used=1457772948, alloc=15136044, time=194.00
+bytes used=1458773112, alloc=15136044, time=194.07
+bytes used=1459773328, alloc=15136044, time=194.15
+bytes used=1460773668, alloc=15136044, time=194.23
+bytes used=1461774084, alloc=15136044, time=194.31
+bytes used=1462774300, alloc=15136044, time=194.39
+bytes used=1463774568, alloc=15136044, time=194.62
+bytes used=1464775452, alloc=15136044, time=195.02
+bytes used=1465775700, alloc=15136044, time=195.18
+bytes used=1466775940, alloc=15136044, time=197.45
+bytes used=1467776164, alloc=15136044, time=198.56
+bytes used=1468777036, alloc=15136044, time=198.81
+bytes used=1469777604, alloc=15136044, time=198.97
+bytes used=1470778212, alloc=15136044, time=199.02
+bytes used=1471778476, alloc=15136044, time=199.16
+bytes used=1472778644, alloc=15136044, time=199.29
+>
+# d/dy
+> simplify( diff(interp_3d_cube_order4_smooth0,y) );
+bytes used=1473778924, alloc=15136044, time=199.41
+bytes used=1474779084, alloc=15136044, time=199.49
+bytes used=1475779268, alloc=15136044, time=199.57
+bytes used=1476779656, alloc=15136044, time=199.65
+bytes used=1477779812, alloc=15136044, time=199.73
+bytes used=1478779972, alloc=15136044, time=199.81
+bytes used=1479780148, alloc=15136044, time=199.89
+bytes used=1480780308, alloc=15136044, time=199.97
+bytes used=1481780584, alloc=15136044, time=200.06
+bytes used=1482866432, alloc=15136044, time=200.15
+bytes used=1483866912, alloc=15136044, time=200.21
+bytes used=1484867068, alloc=15136044, time=200.30
+bytes used=1485867228, alloc=15136044, time=200.38
+bytes used=1486867400, alloc=15136044, time=200.46
+bytes used=1487867556, alloc=15136044, time=200.54
+bytes used=1488867688, alloc=15136044, time=200.63
+bytes used=1489868848, alloc=15136044, time=200.72
+bytes used=1490869000, alloc=15136044, time=200.80
+bytes used=1491869116, alloc=15136044, time=200.90
+bytes used=1492869260, alloc=15136044, time=200.99
+bytes used=1493869552, alloc=15136044, time=201.08
+bytes used=1494869784, alloc=15136044, time=201.18
+bytes used=1495869912, alloc=15136044, time=201.28
+bytes used=1496870144, alloc=15136044, time=201.37
+bytes used=1497870532, alloc=15136044, time=201.45
+17 37 17
+--- DATA(-1, 1, -1) + ---- DATA(0, 1, -1) + --- DATA(1, 1, -1)
+525 1050 525
+
+ 37 2
+ - ---- DATA(-1, -1, 0) - 1/700 x z DATA(0, -1, -1) - 4/105 DATA(0, -1, 0)
+ 1050
+
+ 37 37 151
+ - ---- DATA(1, -1, 0) + ---- DATA(-1, 1, 0) + ---- y DATA(0, -1, -1)
+ 1050 1050 3675
+
+ 17 311 17
+ + --- DATA(-1, 1, 1) + ----- y DATA(0, 2, -1) - --- DATA(1, -1, 1)
+ 525 14700 525
+
+ 17 37
+ - --- DATA(-1, -1, 1) - ---- DATA(0, -1, 1) - 1/175 x y z DATA(2, 2, -1)
+ 525 1050
+
+ 19
+ + ---- DATA(-1, -2, 2) + 1/300 DATA(0, -2, 2) + 4/105 DATA(0, 1, 0)
+ 2100
+
+ 37
+ + ---- DATA(1, 1, 0) + 1/700 x y z DATA(1, 1, -1)
+ 1050
+
+ - 1/175 x y z DATA(2, 1, 2) - 1/175 x y z DATA(1, -2, -2)
+
+ - 1/700 x y z DATA(-1, 1, -1) + 2/175 x y z DATA(2, 2, 2)
+
+ + 1/175 x y z DATA(1, 2, 2) - 2/175 x y z DATA(2, -2, -2)
+
+ 151
+ + ---- y DATA(0, 1, 1) - 1/175 x y z DATA(-2, -1, -2)
+ 3675
+
+ + 1/700 x y z DATA(1, -1, -1) + 1/175 x y z DATA(2, 2, 1)
+
+ + 2/175 x y z DATA(-2, 2, -2) - 1/350 x y z DATA(1, -1, 2)
+
+ - 1/175 x y z DATA(2, -1, 2) + 1/175 x y z DATA(-1, -2, -2)
+
+ + 1/700 x y z DATA(-1, -1, 1) - 1/175 x y z DATA(-1, 2, 2)
+
+ + 1/350 x y z DATA(-1, 1, 2) + 2/175 x y z DATA(-2, -2, -2)
+
+ - 1/700 x y z DATA(1, -1, 1) + 1/700 x y z DATA(-1, 1, 1)
+
+ 136
+ - 1/350 x y z DATA(1, -2, -1) + ---- y DATA(0, 1, 0)
+ 3675
+
+ + 1/350 x y z DATA(-1, -2, -1) - 1/300 y DATA(0, -2, 2)
+
+ + 1/350 x y z DATA(1, 1, -2) - 1/175 x y z DATA(-2, 1, -2)
+
+ - 1/350 x y z DATA(-1, 1, -2) - 1/175 x y z DATA(-1, -2, 2)
+
+ 19
+ + ---- DATA(1, -2, 2) + 1/175 x y z DATA(2, -1, -2)
+ 2100
+
+ + 1/350 x y z DATA(-1, -1, 2) + 1/175 x y z DATA(2, 1, -2)
+
+ 61 57 57
+ - --- y DATA(-1, 0, 0) - --- y DATA(-1, 0, 1) - --- y DATA(-1, 0, -1)
+ 490 490 490
+
+ 61
+ - --- y DATA(0, 0, -1) - 1/350 x y z DATA(-2, 1, -1)
+ 490
+
+ 431 431
+ + 4/75 y DATA(0, -1, 2) + ----- y DATA(0, -2, 0) + ----- y DATA(0, 2, 0)
+ 14700 14700
+
+ 2 2
+ - 1/100 y DATA(0, -2, 0) + 1/100 y DATA(0, 2, 0)
+
+ 2 33
+ - 1/100 y DATA(0, -2, -1) - --- y DATA(2, 0, 2) - 9/98 y DATA(2, 0, -1)
+ 490
+
+ 61 33 57
+ - --- y DATA(0, 0, 1) - --- y DATA(-2, 0, 2) - --- y DATA(1, 0, -1)
+ 490 490 490
+
+ 13 61
+ - 9/98 y DATA(2, 0, 1) - -- y DATA(0, 0, 0) - --- y DATA(1, 0, 0)
+ 98 490
+
+ 33
+ - 9/98 y DATA(-1, 0, 2) - --- y DATA(2, 0, -2) - 1/10 y DATA(0, 0, 2)
+ 490
+
+ 2
+ - 9/98 y DATA(1, 0, 2) - 1/10 y DATA(2, 0, 0) + 1/100 y DATA(0, 2, -2)
+
+ 57
+ - --- y DATA(1, 0, 1) - 1/350 x y z DATA(-2, -1, -1)
+ 490
+
+ 3
+ - 9/98 y DATA(1, 0, -2) - 9/98 y DATA(-1, 0, -2) - 2/75 y DATA(0, -1, -2)
+
+ 33 3 3
+ - --- y DATA(-2, 0, -2) - 2/75 y DATA(0, 1, 2) + 1/150 y DATA(0, 2, 2)
+ 490
+
+ - 9/98 y DATA(-2, 0, 1) - 1/10 y DATA(-2, 0, 0) - 9/98 y DATA(-2, 0, -1)
+
+ 3 3
+ - 1/10 y DATA(0, 0, -2) - 2/75 y DATA(0, -1, -1) + 1/150 y DATA(0, 2, 1)
+
+ 3 3
+ + 1/150 y DATA(0, -2, -2) - 2/75 y DATA(0, 1, 0)
+
+ 3 3
+ + 1/150 y DATA(0, -2, 2) + 1/150 y DATA(0, 2, -1)
+
+ 3 3
+ + 1/150 y DATA(0, -2, 1) - 2/75 y DATA(0, -1, 1)
+
+ 3 3 3
+ - 2/75 y DATA(0, -1, 0) - 2/75 y DATA(0, 1, 1) - 2/75 y DATA(0, 1, -1)
+
+ 3 3
+ + 1/150 y DATA(0, 2, -2) + 1/25 y DATA(2, 0, -1)
+
+ 3 3
+ + 1/150 y DATA(0, -2, 0) + 1/150 y DATA(0, 2, 0)
+
+ 3 3
+ + 1/25 y DATA(-1, 0, 0) + 1/25 y DATA(-1, 0, 1)
+
+ 3 3 3
+ + 1/150 y DATA(0, -2, -1) + 1/25 y DATA(1, 0, 2) + 1/25 y DATA(2, 0, 0)
+
+ 3 3 3
+ + 1/25 y DATA(2, 0, 2) + 1/25 y DATA(2, 0, 1) + 1/25 y DATA(1, 0, 1)
+
+ 3
+ + 1/175 x y z DATA(-2, -2, -1) + 1/25 y DATA(1, 0, 0)
+
+ 3 3 3
+ + 1/25 y DATA(-1, 0, 2) + 1/25 y DATA(2, 0, -2) + 1/25 y DATA(0, 0, 2)
+
+ 2
+ + 1/700 x z DATA(0, -1, 1) - 8/525 DATA(-2, -1, 2)
+
+ 3
+ - 1/350 x y z DATA(-1, -1, -2) + 1/25 y DATA(0, 0, 1)
+
+ 3 3 3
+ + 1/25 y DATA(-2, 0, 2) + 1/25 y DATA(1, 0, -1) + 1/25 y DATA(-2, 0, 1)
+
+ 3 3
+ + 1/25 y DATA(-2, 0, -2) + 1/25 y DATA(-2, 0, 0)
+
+ 3 3
+ + 1/25 y DATA(-2, 0, -1) + 1/25 y DATA(0, 0, -2)
+
+ 3 3 3
+ + 1/25 y DATA(-1, 0, -1) + 1/25 y DATA(0, 0, -1) + 1/25 y DATA(0, 0, 0)
+
+ 187 3
+ + ---- z DATA(0, -1, -2) + 1/25 y DATA(1, 0, -2)
+ 7000
+
+ 3 2
+ + 1/25 y DATA(-1, 0, -2) + 1/700 x z DATA(0, 1, -1)
+
+ 187
+ - 2/175 x y z DATA(2, 2, -2) - ---- z DATA(0, 1, -2)
+ 7000
+
+ 187 187 2
+ - ---- z DATA(0, -1, 2) + ---- z DATA(0, 1, 2) - 1/50 y DATA(0, 1, -1)
+ 7000 7000
+
+ 2 17 17
+ - 1/100 y DATA(0, -2, 1) - ---- z DATA(0, 2, 2) - ---- z DATA(0, -2, -2)
+ 5250 5250
+
+ 187 17 187
+ - ---- z DATA(0, 2, -1) + ---- z DATA(0, -2, 2) + ---- z DATA(0, 2, 1)
+ 7000 5250 7000
+
+ 289 289
+ - ----- z DATA(0, 1, -1) - ----- z DATA(0, -1, 1)
+ 10500 10500
+
+ 289 289 187
+ + ----- z DATA(0, -1, -1) + ----- z DATA(0, 1, 1) - ---- z DATA(0, -2, 1)
+ 10500 10500 7000
+
+ 187
+ + ---- z DATA(0, -2, -1) - 1/300 y DATA(0, 2, 2) - 1/300 y DATA(0, -2, -2)
+ 7000
+
+ 17 311
+ + 4/75 y DATA(0, 1, 2) + ---- z DATA(0, 2, -2) + ----- y DATA(0, 2, 1)
+ 5250 14700
+
+ 136
+ + 1/350 x y z DATA(1, -1, -2) + ---- y DATA(0, -1, 0)
+ 3675
+
+ 151
+ + ---- y DATA(0, 1, -1) - 1/175 x y z DATA(2, -2, -1)
+ 3675
+
+ 151 11
+ + ---- y DATA(0, -1, 1) + --- DATA(2, -2, 2) + 1/350 x y z DATA(-2, -1, 1)
+ 3675 420
+
+ - 1/175 y z DATA(0, 1, 2) - 1/175 x y z DATA(1, 2, -2)
+
+ - 2/175 y z DATA(0, -2, -2) + 2/175 y z DATA(0, 2, 2)
+
+ 2 2
+ - 2/245 x y DATA(2, 0, -1) - 2/245 x y DATA(2, 0, 1)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, 1) + 2/245 x y DATA(0, 0, -2)
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, -1) - 2/245 x y DATA(-2, 0, 0)
+
+ 2 2
+ - 2/245 x y DATA(-2, 0, -2) - 2/245 x y DATA(-2, 0, 1)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, -1) - 2/245 x y DATA(-2, 0, 2)
+
+ 2 2
+ + 2/245 x y DATA(0, 0, 1) + 1/245 x y DATA(-1, 0, -2)
+
+ 2 2
+ + 1/245 x y DATA(1, 0, -2) + 1/245 x y DATA(1, 0, 0)
+
+ 2 2
+ + 2/245 x y DATA(0, 0, 0) + 2/245 x y DATA(0, 0, -1)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, -1) + 1/245 x y DATA(-1, 0, 1)
+
+ 2 2
+ + 1/245 x y DATA(-1, 0, 0) - 2/245 x y DATA(0, 2, 0)
+
+ 2 2
+ - 2/245 x y DATA(0, -2, 0) + 2/245 x y DATA(0, 0, 2)
+
+ 2 2
+ - 2/245 x y DATA(2, 0, -2) + 1/245 x y DATA(-1, 0, 2)
+
+ 2
+ + 2/175 x y z DATA(2, 0, -2) - 2/245 x y DATA(2, 0, 2)
+
+ 2 2
+ - 2/245 x y DATA(2, 0, 0) + 1/245 x y DATA(1, 0, 2)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, 1) + 1/245 x y DATA(0, 1, 0)
+
+ 2 2
+ + 1/245 x y DATA(0, -1, 1) - 2/245 x y DATA(0, -2, 2)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, -1) + 1/245 x y DATA(0, -1, 0)
+
+ 2 2
+ - 2/245 x y DATA(0, -2, 1) - 2/245 x y DATA(0, 2, -2)
+
+ 2 2
+ - 2/245 x y DATA(0, -2, -1) + 1/245 x y DATA(0, 1, -2)
+
+ 2 2
+ + 1/245 x y DATA(0, 1, 2) + 1/245 x y DATA(0, -1, 2)
+
+ 2 2
+ - 2/245 x y DATA(0, -2, -2) - 2/245 x y DATA(0, 2, 2)
+
+ 2
+ - 1/175 x y z DATA(-1, 0, -2) - 2/245 x y DATA(0, 2, 1)
+
+ 2
+ + 1/175 x y z DATA(1, 0, -2) + 1/245 x y DATA(0, -1, -1)
+
+ 2 2
+ - 2/245 x y DATA(0, 2, -1) - 1/245 y z DATA(0, -2, -1)
+
+ 2 2
+ + 2/245 y z DATA(0, 2, -2) - 2/245 y z DATA(1, 0, 2)
+
+ 2 2
+ - 2/245 y z DATA(2, 0, -2) - 2/245 y z DATA(-1, 0, 2)
+
+ 2 2
+ + 2/245 y z DATA(1, 0, 0) + 2/245 y z DATA(0, 0, 0)
+
+ 2 2
+ + 1/245 y z DATA(0, 0, -1) + 1/245 y z DATA(-1, 0, -1)
+
+ 2 2
+ + 1/245 y z DATA(-1, 0, 1) + 2/245 y z DATA(-1, 0, 0)
+
+ 2 2
+ - 2/245 y z DATA(0, 2, 0) - 2/245 y z DATA(0, -2, 0)
+
+ 2 2
+ - 2/245 y z DATA(0, 0, 2) + 1/245 y z DATA(2, 0, -1)
+
+ 2 2
+ + 1/245 y z DATA(1, 0, 1) + 1/245 y z DATA(2, 0, 1)
+
+ 2 2
+ - 2/245 y z DATA(2, 0, 2) + 2/245 y z DATA(2, 0, 0)
+
+ 2 2
+ + 1/245 y z DATA(-2, 0, -1) - 2/245 y z DATA(-2, 0, -2)
+
+ 2 2
+ + 1/245 y z DATA(-2, 0, 1) + 1/245 y z DATA(1, 0, -1)
+
+ 2 2
+ - 2/245 y z DATA(-2, 0, 2) + 1/245 y z DATA(0, 0, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, 0, 0) - 2/245 y z DATA(-1, 0, -2)
+
+ 2 2
+ - 2/245 y z DATA(1, 0, -2) - 2/245 y z DATA(0, 0, -2)
+
+ 2 2
+ - 1/245 y z DATA(0, 2, 1) - 1/245 y z DATA(0, 2, -1)
+
+ 2 2
+ + 1/490 y z DATA(0, 1, 1) + 1/490 y z DATA(0, -1, -1)
+
+ 2 2
+ + 1/245 y z DATA(0, 1, 0) - 1/50 y DATA(0, 1, 2)
+
+ 2 2
+ + 1/100 y DATA(0, 2, 2) - 1/100 y DATA(0, -2, -2)
+
+ 2 2
+ + 1/50 y DATA(0, -1, -1) - 1/50 y DATA(0, 1, 1)
+
+ 3
+ - 1/600 z DATA(0, 1, -2) + 1/175 x y z DATA(-1, 2, -2)
+
+ 311
+ + ----- y DATA(0, -2, 1) - 1/175 x y z DATA(1, 0, 2)
+ 14700
+
+ 311
+ - 1/300 y DATA(0, 2, -2) + ----- y DATA(0, -2, -1)
+ 14700
+
+ 2 2
+ + 1/350 x DATA(0, -1, 0) - 1/350 x DATA(0, 1, -1)
+
+ + 2/175 x y z DATA(-2, 0, 2) + 1/350 x y z DATA(1, 0, -1)
+
+ 2
+ + 1/175 x DATA(0, -2, 1) - 1/350 x y z DATA(-1, -2, 1)
+
+ + 1/175 x y z DATA(-2, 0, 1) - 1/350 x y z DATA(1, 1, 2)
+
+ 2 2
+ - 1/350 x DATA(0, 1, -2) + 1/350 x DATA(0, -1, -2)
+
+ 2
+ - 2/175 x y z DATA(-2, 0, -2) - 1/50 y z DATA(0, 1, 2)
+
+ 3 2
+ - 1/300 z DATA(0, 2, -2) + 1/350 z DATA(0, 1, -2)
+
+ 3 2
+ + 1/300 z DATA(0, -2, -2) - 1/350 z DATA(0, -1, -2)
+
+ 3 2
+ - 1/150 z DATA(0, -2, -1) + 1/175 z DATA(0, 2, 2)
+
+ 2 2
+ + 1/350 z DATA(0, 1, 2) - 1/350 z DATA(0, -1, 2)
+
+ 2 2
+ + 1/200 y z DATA(0, 2, 1) - 1/175 z DATA(0, -2, -2)
+
+ 2 2
+ - 1/350 z DATA(0, 2, 1) - 1/350 z DATA(0, 2, -1)
+
+ 2 2
+ + 1/700 z DATA(0, -1, -1) + 1/50 y z DATA(0, 1, -2)
+
+ 2 2
+ - 1/350 z DATA(0, 1, 0) - 1/175 z DATA(0, -2, 2)
+
+ 2 2
+ - 1/700 z DATA(0, 1, 1) + 1/700 z DATA(0, -1, 1)
+
+ 2 2
+ + 1/350 z DATA(0, -2, 1) + 1/350 z DATA(0, -1, 0)
+
+ 2 2
+ - 1/700 z DATA(0, 1, -1) + 1/175 z DATA(0, 2, -2)
+
+ 2 2
+ + 1/350 z DATA(0, -2, -1) + 1/175 z DATA(0, -2, 0)
+
+ 2 3
+ - 1/175 z DATA(0, 2, 0) - 1/600 z DATA(0, -1, 2)
+
+ 3 3
+ - 2/75 y DATA(0, 1, -2) - 2/75 y DATA(0, -1, 2) + 4/75 y DATA(0, -1, -2)
+
+ 3 3
+ + 1/600 z DATA(0, -1, -2) + 1/300 z DATA(0, 2, 2)
+
+ 3 2
+ + 1/600 z DATA(0, 1, 2) - 1/200 y z DATA(0, 2, -1)
+
+ 3 3
+ - 1/300 z DATA(0, -1, -1) + 1/150 z DATA(0, 2, -1)
+
+ 3 3
+ - 1/150 z DATA(0, 2, 1) + 1/300 z DATA(0, 1, -1)
+
+ 3 3
+ - 1/300 z DATA(0, -2, 2) + 1/300 z DATA(0, -1, 1)
+
+ 3 3
+ - 1/300 z DATA(0, 1, 1) + 1/150 z DATA(0, -2, 1)
+
+ + 1/350 x y z DATA(1, -2, 1) + 1/350 x y z DATA(-1, 0, 1)
+
+ 2 2
+ + 1/100 y DATA(0, 2, 1) + 4/75 y DATA(0, 1, -2) + 1/50 y DATA(0, -1, 0)
+
+ + 1/175 x y z DATA(1, -2, 2) + 2/175 x y DATA(-2, 0, -2)
+
+ 2
+ + 2/175 x y DATA(-2, 0, 1) + 1/100 y z DATA(0, 2, 2)
+
+ 2
+ + 1/100 y z DATA(0, -2, -2) - 1/175 x y DATA(1, 0, 2)
+
+ - 2/175 x y DATA(2, 0, -2) + 1/175 x y DATA(-1, 0, -2)
+
+ - 1/175 x y DATA(1, 0, -2) + 2/175 x y DATA(-2, 0, -1)
+
+ + 2/175 x y DATA(-2, 0, 0) - 1/175 x y DATA(1, 0, 1)
+
+ - 2/175 x y DATA(2, 0, 1) - 2/175 x y DATA(2, 0, 2)
+
+ - 2/175 x y DATA(2, 0, 0) - 1/175 x y DATA(1, 0, -1)
+
+ + 2/175 x y DATA(-2, 0, 2) - 2/175 x y DATA(2, 0, -1)
+
+ + 1/175 x y DATA(-1, 0, 2) - 1/175 x y DATA(1, 0, 0)
+
+ + 1/175 x y DATA(-1, 0, -1) + 1/175 x y DATA(-1, 0, 1)
+
+ 2
+ + 1/175 x y DATA(-1, 0, 0) + 1/50 y z DATA(0, -1, 2)
+
+ 2
+ - 1/350 x y z DATA(-1, 0, -1) + 1/50 y DATA(0, -1, -2)
+
+ + 2/175 y z DATA(1, 0, -2) + 2/175 y z DATA(0, 0, -2)
+
+ + 2/175 y z DATA(-1, 0, -2) + 1/175 x y z DATA(2, -2, 1)
+
+ - 2/175 y z DATA(0, 0, 2) + 2/175 y z DATA(2, 0, -2)
+
+ - 2/175 y z DATA(-1, 0, 2) + 1/175 y z DATA(0, 0, -1)
+
+ + 1/175 y z DATA(-1, 0, -1) - 1/175 y z DATA(-1, 0, 1)
+
+ - 1/175 y z DATA(0, -2, -1) - 1/175 y z DATA(0, 0, 1)
+
+ + 1/175 y z DATA(2, 0, -1) - 1/175 y z DATA(1, 0, 1)
+
+ - 1/175 y z DATA(2, 0, 1) - 2/175 y z DATA(2, 0, 2)
+
+ 2
+ - 2/175 y z DATA(1, 0, 2) + 1/50 y DATA(0, -1, 1)
+
+ 2
+ + 1/100 y DATA(0, 2, -1) + 1/175 y z DATA(-2, 0, -1)
+
+ + 2/175 y z DATA(-2, 0, -2) - 1/175 y z DATA(-2, 0, 1)
+
+ + 1/175 y z DATA(1, 0, -1) - 2/175 y z DATA(-2, 0, 2)
+
+ 2
+ + 1/175 y z DATA(0, -2, 1) - 1/50 y DATA(0, 1, 0)
+
+ 2
+ - 1/100 y DATA(0, -2, 2) + 2/175 y z DATA(0, -2, 2)
+
+ - 2/175 y z DATA(0, 2, -2) - 1/350 y z DATA(0, -1, 1)
+
+ + 1/350 y z DATA(0, 1, -1) + 1/175 x y z DATA(-1, 0, 2)
+
+ + 1/175 y z DATA(0, 2, 1) - 1/350 y z DATA(0, 1, 1)
+
+ + 1/350 y z DATA(0, -1, -1) - 1/175 y z DATA(0, 2, -1)
+
+ + 1/175 y z DATA(0, 1, -2) - 1/175 x y z DATA(-2, 0, -1)
+
+ 2 2
+ + 1/350 x z DATA(0, -1, 2) - 1/350 x z DATA(0, 1, 2)
+
+ 2
+ - 1/175 x z DATA(0, 2, 2) + 1/175 y z DATA(0, -1, -2)
+
+ 2 2
+ - 1/50 y DATA(0, 1, -2) - 1/175 x z DATA(0, -2, -2)
+
+ 2 2
+ + 1/245 x y DATA(0, -1, -2) - 1/350 x z DATA(0, 2, 1)
+
+ 2
+ - 1/175 x y z DATA(-2, 2, 1) - 1/245 y z DATA(0, -1, -2)
+
+ 2 2
+ + 1/350 x DATA(0, -1, 1) + 1/50 y DATA(0, -1, 2)
+
+ 2 2
+ - 1/50 y z DATA(0, -1, -2) - 1/245 y z DATA(0, 1, -2)
+
+ 2 2
+ + 1/175 x DATA(0, -2, -1) - 1/175 x DATA(0, 2, -2)
+
+ - 2/175 x y z DATA(2, 0, 2) - 1/175 x y z DATA(2, 0, 1)
+
+ 2 2
+ + 1/350 x DATA(0, -1, 2) - 1/175 x DATA(0, 2, 0)
+
+ 2 2
+ + 1/175 x DATA(0, -2, 0) - 1/175 x DATA(0, 2, 2)
+
+ 2 2
+ + 1/175 x DATA(0, -2, -2) - 1/350 x DATA(0, 1, 2)
+
+ 2 2
+ + 1/350 x DATA(0, -1, -1) - 1/175 x DATA(0, 2, -1)
+
+ 2 2
+ - 1/175 x DATA(0, 2, 1) - 1/350 x DATA(0, 1, 1)
+
+ 2 2
+ + 1/175 x DATA(0, -2, 2) - 1/350 x DATA(0, 1, 0)
+
+ - 1/350 x y z DATA(1, 0, 1) + 1/175 x y z DATA(2, 0, -1)
+
+ - 1/175 x y z DATA(-2, -2, 1) + 1/175 x y z DATA(-2, 2, -1)
+
+ - 1/175 y z DATA(0, -1, 2) + 1/350 x y z DATA(-2, 1, 1)
+
+ + 1/175 x y z DATA(-2, -1, 2) - 2/175 x y z DATA(-2, -2, 2)
+
+ 37
+ + 2/175 x y z DATA(2, -2, 2) + 8/525 DATA(-2, 1, 2) + ---- DATA(0, 1, 1)
+ 1050
+
+ 17 11
+ + --- DATA(1, 1, 1) - --- DATA(-2, 2, 2) - 1/700 x y z DATA(-1, -1, -1)
+ 525 420
+
+ - 1/700 x y z DATA(1, 1, 1) + 1/175 x y z DATA(-2, 1, 2)
+
+ 2 2
+ - 1/245 y z DATA(-2, 1, -2) - 1/245 y z DATA(2, -1, -2)
+
+ 2
+ - 1/245 y z DATA(1, -1, -2) - 1/175 y z DATA(2, -2, -1)
+
+ - 1/175 y z DATA(1, -2, -1) - 1/175 y z DATA(-1, -2, -1)
+
+ - 1/175 y z DATA(-2, -2, -1) - 2/175 y z DATA(2, 2, -2)
+
+ - 2/175 y z DATA(1, 2, -2) - 2/175 y z DATA(-1, 2, -2)
+
+ - 1/350 x y z DATA(2, -1, 1) + 1/350 y z DATA(-2, 1, -1)
+
+ + 1/350 y z DATA(-2, -1, -1) + 1/350 x y z DATA(1, 2, 1)
+
+ - 1/350 x y z DATA(-1, 2, 1) - 1/175 y z DATA(-2, 2, -1)
+
+ + 1/175 y z DATA(-2, -2, 1) - 1/350 x y z DATA(2, 1, 1)
+
+ - 1/350 x y z DATA(1, 2, -1) + 1/350 x y z DATA(-1, 2, -1)
+
+ 2
+ - 2/175 x y z DATA(-2, 2, 2) - 1/245 y z DATA(1, 2, 1)
+
+ 2 2
+ + 1/490 y z DATA(2, -1, 1) + 1/490 y z DATA(1, -1, -1)
+
+ 2 2
+ - 1/245 y z DATA(2, 2, -1) + 2/245 y z DATA(1, 2, 2)
+
+ 2 2
+ - 1/245 y z DATA(-2, -1, -2) + 2/245 y z DATA(2, 2, 2)
+
+ 2 2
+ + 2/245 y z DATA(2, -2, -2) + 1/490 y z DATA(-1, 1, -1)
+
+ 2 2
+ + 2/245 y z DATA(1, -2, -2) - 1/245 y z DATA(2, 1, 2)
+
+ 2 2
+ + 2/245 y z DATA(-1, 2, 2) + 2/245 y z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/245 y z DATA(-1, 1, 2) + 2/245 y z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/245 y z DATA(1, -1, 2) - 1/245 y z DATA(2, -1, 2)
+
+ 2 2
+ - 1/245 y z DATA(-1, -1, 2) - 1/245 y z DATA(2, 2, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, 2, -2) - 1/245 y z DATA(2, 1, -2)
+
+ 2 2
+ - 1/245 y z DATA(1, 1, -2) - 1/245 y z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/245 y z DATA(-1, 1, 0) + 1/490 y z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 y z DATA(1, -1, 1) + 1/490 y z DATA(-1, -1, 1)
+
+ 2 17
+ + 2/245 y z DATA(-1, -2, 2) - --- DATA(-1, -1, -1)
+ 525
+
+ 2 2
+ + 1/245 y z DATA(1, 1, 0) + 2/245 y z DATA(1, -2, 2)
+
+ 2 2
+ - 1/245 y z DATA(-2, -1, 2) + 2/245 y z DATA(2, -2, 2)
+
+ 2 2
+ - 1/245 y z DATA(-2, 1, 2) + 1/490 y z DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, 2, 2) + 1/490 y z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/245 y z DATA(1, 2, -1) + 1/490 y z DATA(2, 1, -1)
+
+ 2 2
+ - 1/245 y z DATA(-1, 2, -1) + 1/490 y z DATA(2, -1, -1)
+
+ 2 2
+ + 1/490 y z DATA(2, 1, 1) - 1/245 y z DATA(-1, 2, 1)
+
+ 2 37
+ + 1/50 y z DATA(2, -1, 2) - ---- DATA(0, -1, -1)
+ 1050
+
+ 2 2
+ + 1/50 y z DATA(-1, -1, 2) + 1/200 y z DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 y z DATA(-2, 2, -2) + 1/50 y z DATA(2, 1, -2)
+
+ 2 2
+ + 1/50 y z DATA(1, 1, -2) + 1/50 y z DATA(-1, 1, -2)
+
+ 17 2
+ + ---- DATA(1, 2, -1) + 1/50 y z DATA(-2, 1, -2)
+ 2100
+
+ 2 17
+ - 1/50 y z DATA(2, -1, -2) + 1/42 DATA(2, 1, -1) + ---- DATA(-1, 2, -1)
+ 2100
+
+ 29 2
+ + ---- DATA(0, 2, -1) - 1/50 y z DATA(1, -1, -2)
+ 2100
+
+ 2 2
+ - 1/50 y z DATA(-1, -1, -2) + 1/200 y z DATA(2, -2, -1)
+
+ 2 2
+ + 1/200 y z DATA(1, -2, -1) + 1/200 y z DATA(-1, -2, -1)
+
+ 2
+ + 1/200 y z DATA(-2, -2, -1) + 1/175 y z DATA(2, -2, 1)
+
+ - 1/350 y z DATA(-2, -1, 1) - 1/350 y z DATA(-2, 1, 1)
+
+ - 1/42 DATA(2, -1, -1) + 1/175 y z DATA(-2, 2, 1)
+
+ 2
+ + 2/175 y z DATA(-2, -2, 2) + 1/245 y z DATA(-1, -1, 0)
+
+ 2 2
+ + 1/245 y z DATA(1, -1, 0) - 1/200 y z DATA(1, 2, -1)
+
+ 17 2
+ + 1/42 DATA(2, 1, 1) + ---- DATA(-1, 2, 1) + 1/100 y z DATA(2, 1, -1)
+ 2100
+
+ 29 17 2
+ + ---- DATA(0, 2, 1) + ---- DATA(1, 2, 1) - 1/200 y z DATA(-1, 2, -1)
+ 2100 2100
+
+ 2 2
+ - 1/100 y z DATA(2, -1, -1) - 1/100 y z DATA(2, 1, 1)
+
+ 2
+ + 1/200 y z DATA(-1, 2, 1) + 1/175 y z DATA(-1, -1, -2)
+
+ 2 17
+ - 1/42 DATA(2, -1, 1) + 1/200 y z DATA(1, 2, 1) - --- DATA(1, -1, -1)
+ 525
+
+ 2 2
+ + 1/100 y z DATA(2, -1, 1) + 1/350 x z DATA(0, 2, -1)
+
+ 2 29
+ - 1/100 y z DATA(1, -1, -1) + ---- DATA(1, 2, 0) - 1/300 DATA(2, 2, 0)
+ 2100
+
+ 2 2
+ - 1/200 y z DATA(2, 2, -1) + 1/100 y z DATA(1, 2, 2)
+
+ 2 2
+ - 1/50 y z DATA(-2, -1, -2) + 1/100 y z DATA(2, 2, 2)
+
+ 2 29
+ + 2/75 DATA(2, 1, 0) + 1/100 y z DATA(2, -2, -2) + ---- DATA(-1, 2, 0)
+ 2100
+
+ 2 41
+ + 1/100 y z DATA(-1, 1, -1) + ---- DATA(0, 2, 0)
+ 2100
+
+ 2 2
+ + 1/100 y z DATA(1, -2, -2) - 1/50 y z DATA(2, 1, 2)
+
+ 2 2
+ + 1/100 y z DATA(-1, 2, 2) + 1/100 y z DATA(-1, -2, -2)
+
+ 2
+ - 1/50 y z DATA(-1, 1, 2) - 2/75 DATA(2, -1, 0)
+
+ 2 19
+ + 1/100 y z DATA(-2, -2, -2) - ---- DATA(2, 2, -1)
+ 2100
+
+ 2 2
+ + 1/50 y z DATA(1, -1, 2) - 1/245 y z DATA(-2, 2, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, -2, 2) - 2/245 y z DATA(1, 2, 0)
+
+ 19 11
+ - ---- DATA(1, 2, 2) - 8/525 DATA(-2, -1, -2) - --- DATA(2, 2, 2)
+ 2100 420
+
+ 2 2
+ - 2/245 y z DATA(2, 2, 0) + 1/245 y z DATA(2, 1, 0)
+
+ 2 2
+ - 2/245 y z DATA(-1, 2, 0) + 1/245 y z DATA(2, -1, 0)
+
+ 2 2
+ - 2/245 y z DATA(-1, -2, 0) - 2/245 y z DATA(-2, -2, 0)
+
+ 11 2 19
+ + --- DATA(2, -2, -2) + 1/245 y z DATA(-2, -1, 0) + ---- DATA(1, -2, -2)
+ 420 2100
+
+ 2
+ + 1/42 DATA(1, 1, 2) + 8/525 DATA(2, 1, 2) - 2/245 y z DATA(2, -2, 0)
+
+ 19
+ - ---- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2) + 1/300 DATA(0, -2, -2)
+ 2100
+
+ 2 19
+ - 2/245 y z DATA(1, -2, 0) + ---- DATA(-1, -2, -2) + 1/42 DATA(-1, 1, 2)
+ 2100
+
+ 2 11
+ + 1/245 y z DATA(-2, 1, 0) + 2/75 DATA(0, 1, 2) + --- DATA(-2, -2, -2)
+ 420
+
+ 2 2
+ - 2/245 y z DATA(-2, 2, 0) - 1/100 y z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 y z DATA(1, -1, 1) + 1/100 y z DATA(-1, -1, 1)
+
+ 2
+ - 1/100 y z DATA(-1, -2, 2) - 1/42 DATA(1, -1, 2) - 8/525 DATA(2, -1, 2)
+
+ 2 2
+ - 1/700 x z DATA(0, 1, 1) - 1/100 y z DATA(1, -2, 2)
+
+ 2 2
+ + 1/50 y z DATA(-2, -1, 2) - 1/100 y z DATA(2, -2, 2)
+
+ 2 2
+ - 1/50 y z DATA(-2, 1, 2) - 1/100 y z DATA(1, 1, 1)
+
+ 2 2
+ + 1/350 x z DATA(0, 1, -2) + 1/175 x z DATA(0, -2, 2)
+
+ 19
+ - 1/42 DATA(-1, -1, 2) - 2/75 DATA(0, -1, 2) - ---- DATA(2, 2, 1)
+ 2100
+
+ 2 2
+ + 1/100 y z DATA(-2, 2, 2) - 1/100 y z DATA(-1, -1, -1)
+
+ - 1/250 x z DATA(-2, -1, -2) + 1/125 x z DATA(2, 2, 2)
+
+ 11
+ - --- DATA(-2, 2, -2) + 1/125 x z DATA(2, -2, -2)
+ 420
+
+ + 1/1000 x z DATA(-1, 1, -1) + 8/525 DATA(2, 1, -2)
+
+ 2
+ - 1/175 y z DATA(-1, 2, -1) - 1/245 y z DATA(-1, -1, -2)
+
+ 2
+ + 1/42 DATA(1, 1, -2) - 1/245 y z DATA(2, -2, -1) + 2/75 DATA(0, 1, -2)
+
+ 2
+ + 1/42 DATA(-1, 1, -2) - 1/245 y z DATA(1, -2, -1)
+
+ 2 2
+ - 1/245 y z DATA(-1, -2, -1) - 1/245 y z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/350 x z DATA(0, -1, -2) + 2/245 y z DATA(2, 2, -2)
+
+ 2 2
+ + 2/245 y z DATA(1, 2, -2) + 2/245 y z DATA(-1, 2, -2)
+
+ 2 2
+ + 1/490 y z DATA(-2, 1, -1) + 1/490 y z DATA(-2, -1, -1)
+
+ 2
+ + 8/525 DATA(-2, 1, -2) - 1/245 y z DATA(-2, 2, -1)
+
+ 2 2
+ - 1/245 y z DATA(-2, -2, 1) - 1/245 y z DATA(-1, -2, 1)
+
+ 2
+ - 1/245 y z DATA(1, -2, 1) - 8/525 DATA(2, -1, -2)
+
+ 2 2
+ - 1/245 y z DATA(1, 1, 2) - 1/245 y z DATA(2, -2, 1)
+
+ 2
+ + 1/490 y z DATA(-2, -1, 1) - 1/42 DATA(1, -1, -2)
+
+ 2
+ + 1/490 y z DATA(-2, 1, 1) - 2/75 DATA(0, -1, -2) - 1/42 DATA(-1, -1, -2)
+
+ - 1/1000 x z DATA(1, 1, -1) - 1/1000 x z DATA(-1, 1, 1)
+
+ 19
+ + ---- DATA(2, -2, -1) - 1/1000 x z DATA(1, -1, 1)
+ 2100
+
+ + 1/1000 x z DATA(-1, -1, 1) + 1/250 x z DATA(-1, -2, 2)
+
+ 17
+ - 1/250 x z DATA(1, -2, 2) - ---- DATA(1, -2, -1)
+ 2100
+
+ + 1/250 x z DATA(-2, -1, 2) - 1/125 x z DATA(2, -2, 2)
+
+ - 1/250 x z DATA(-2, 1, 2) + 1/1000 x z DATA(1, 1, 1)
+
+ 29
+ - 1/125 x z DATA(-2, 2, 2) - ---- DATA(0, -2, -1)
+ 2100
+
+ 17
+ - 1/1000 x z DATA(-1, -1, -1) - ---- DATA(-1, -2, -1)
+ 2100
+
+ - 1/500 x z DATA(1, 2, -1) - 1/500 x z DATA(2, 1, -1)
+
+ 19
+ + ---- DATA(-2, -2, -1) + 1/500 x z DATA(-1, 2, -1)
+ 2100
+
+ 11
+ + 1/500 x z DATA(2, -1, -1) + 1/500 x z DATA(2, 1, 1) - --- DATA(2, 2, -2)
+ 420
+
+ - 1/500 x z DATA(-1, 2, 1) + 1/500 x z DATA(1, 2, 1)
+
+ 19
+ - 1/500 x z DATA(2, -1, 1) - ---- DATA(1, 2, -2)
+ 2100
+
+ + 1/1000 x z DATA(1, -1, -1) - 1/250 x z DATA(2, 2, -1)
+
+ 19
+ - 1/300 DATA(0, 2, -2) + 1/250 x z DATA(1, 2, 2) - ---- DATA(-1, 2, -2)
+ 2100
+
+ 2
+ + 1/200 y z DATA(-2, 2, 1) + 1/42 DATA(-2, 1, -1)
+
+ 2 2
+ - 1/100 y z DATA(-2, -2, 2) + 1/175 x z DATA(0, 2, -2)
+
+ 2
+ - 1/350 x z DATA(0, -2, -1) - 1/42 DATA(-2, -1, -1)
+
+ 2 2
+ - 1/100 y z DATA(2, 2, -2) - 1/100 y z DATA(1, 2, -2)
+
+ 2 2
+ - 1/245 y z DATA(0, 1, 2) - 1/100 y z DATA(-1, 2, -2)
+
+ 19 2
+ - ---- DATA(-2, 2, -1) + 2/245 y z DATA(0, 2, 2)
+ 2100
+
+ 2 2
+ + 2/245 y z DATA(0, -2, -2) + 1/100 y z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/100 y z DATA(-2, -1, -1) - 1/200 y z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/350 x z DATA(0, -2, 1) - 1/200 y z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/200 y z DATA(-1, -2, 1) - 1/200 y z DATA(1, -2, 1)
+
+ 2 2
+ - 1/50 y z DATA(1, 1, 2) - 1/200 y z DATA(2, -2, 1)
+
+ 2 2
+ + 1/100 y z DATA(-2, -1, 1) - 1/100 y z DATA(-2, 1, 1)
+
+ 41 29
+ - ---- DATA(0, -2, 0) - ---- DATA(-1, -2, 0) + 1/300 DATA(-2, -2, 0)
+ 2100 2100
+
+ 2 2
+ - 1/100 y z DATA(0, 2, -2) + 1/200 y z DATA(0, -2, -1)
+
+ 2
+ - 1/245 y z DATA(0, -1, 2) - 2/75 DATA(-2, -1, 0) + 1/300 DATA(2, -2, 0)
+
+ 29
+ - ---- DATA(1, -2, 0) + 1/250 x z DATA(-2, -2, 1)
+ 2100
+
+ + 1/500 x z DATA(-1, -2, 1) - 1/500 x z DATA(1, -2, 1)
+
+ 2
+ + 1/500 x z DATA(1, 1, 2) + 1/100 y z DATA(0, 1, -1)
+
+ + 2/75 DATA(-2, 1, 0) - 1/250 x z DATA(2, -2, 1)
+
+ + 1/500 x z DATA(-2, -1, 1) - 1/500 x z DATA(-2, 1, 1)
+
+ - 1/250 x z DATA(-2, 2, 1) + 1/125 x z DATA(-2, -2, 2)
+
+ 2
+ - 1/200 y z DATA(0, -2, 1) - 1/250 x z DATA(-2, -2, -1)
+
+ 2
+ - 1/100 y z DATA(0, -2, 2) - 1/125 x z DATA(2, 2, -2)
+
+ 2
+ + 1/100 y z DATA(0, -1, 1) - 1/250 x z DATA(1, 2, -2)
+
+ + 1/250 x z DATA(-1, 2, -2) - 1/300 DATA(-2, 2, 0)
+
+ + 1/500 x z DATA(-2, 1, -1) - 1/500 x z DATA(-2, -1, -1)
+
+ + 1/250 x z DATA(-2, 2, -1) + 1/500 x z DATA(1, -1, -2)
+
+ 19
+ + ---- DATA(-2, -2, 1) - 1/500 x z DATA(-1, -1, -2)
+ 2100
+
+ 2
+ - 1/100 y z DATA(0, 1, 1) + 1/250 x z DATA(2, -2, -1)
+
+ + 1/500 x z DATA(1, -2, -1) - 1/500 x z DATA(-1, -2, -1)
+
+ + 1/250 x z DATA(2, 2, 1) + 1/125 x z DATA(-2, 2, -2)
+
+ 17
+ - 1/250 x z DATA(2, 1, -2) - ---- DATA(-1, -2, 1)
+ 2100
+
+ - 1/500 x z DATA(1, 1, -2) + 1/500 x z DATA(-1, 1, -2)
+
+ + 1/250 x z DATA(-2, 1, -2) + 1/250 x z DATA(2, -1, -2)
+
+ 17
+ - ---- DATA(1, -2, 1) - 1/500 x z DATA(-1, 1, 2)
+ 2100
+
+ - 1/125 x z DATA(-2, -2, -2) - 1/500 x z DATA(1, -1, 2)
+
+ 29
+ - ---- DATA(0, -2, 1) - 1/250 x z DATA(2, -1, 2)
+ 2100
+
+ 2
+ - 1/100 y z DATA(0, -1, -1) + 1/500 x z DATA(-1, -1, 2)
+
+ - 1/175 x y DATA(-1, -2, 1) + 1/175 x y DATA(1, -2, 1)
+
+ 19
+ + ---- DATA(2, -2, 1) - 1/350 x y DATA(1, 1, 2) + 2/175 x y DATA(2, -2, 1)
+ 2100
+
+ + 1/250 x z DATA(1, -2, -2) + 1/250 x z DATA(2, 1, 2)
+
+ - 1/250 x z DATA(-1, 2, 2) - 1/250 x z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/100 x y DATA(-2, 2, -2) + 1/100 x y DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, 2) + 1/50 x y DATA(2, -1, 2)
+
+ 2 2
+ + 1/100 x y DATA(1, -1, 2) + 1/100 x y DATA(-2, -2, -2)
+
+ 2 2
+ + 1/100 x y DATA(-1, 1, 2) + 1/200 x y DATA(-1, -2, -2)
+
+ 2 2
+ - 1/200 x y DATA(-1, 2, 2) - 1/50 x y DATA(2, 1, 2)
+
+ 2 2
+ - 1/200 x y DATA(1, -2, -2) + 1/100 x y DATA(-1, 1, -1)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, -2) + 1/100 x y DATA(2, 2, 2)
+
+ 2 2
+ - 1/50 x y DATA(-2, -1, -2) + 1/200 x y DATA(1, 2, 2)
+
+ 2 2
+ + 1/100 x y DATA(2, 2, -1) + 1/100 x y DATA(1, -1, -1)
+
+ 2 2
+ + 1/50 x y DATA(2, -1, 1) + 1/200 x y DATA(1, 2, 1)
+
+ 2 2
+ - 1/50 x y DATA(-2, -1, 0) + 1/100 x y DATA(-2, -2, 0)
+
+ 2 2
+ + 1/200 x y DATA(-1, -2, 0) + 1/50 x y DATA(2, -1, 0)
+
+ 2 2
+ - 1/200 x y DATA(-1, 2, 0) - 1/50 x y DATA(2, 1, 0)
+
+ 2 2
+ + 1/100 x y DATA(2, 2, 0) + 1/200 x y DATA(1, 2, 0)
+
+ 2
+ + 1/350 x y z DATA(2, -1, -1) + 1/100 x y DATA(1, -1, 0)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, 0) + 2/245 x y DATA(-2, 2, 0)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, 0) - 1/245 x y DATA(1, -2, 0)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, 0) - 1/245 x y DATA(-2, -1, 0)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, 0) - 1/245 x y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, 0) - 1/245 x y DATA(-1, 2, 0)
+
+ 2
+ - 1/245 x y DATA(2, 1, 0) - 1/175 y z DATA(-1, -1, 2)
+
+ 2 2
+ + 1/200 x y DATA(-1, -2, 1) + 1/100 x y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/100 x y DATA(-2, 2, -1) - 1/50 x y DATA(-2, -1, -1)
+
+ 2 2
+ + 1/50 x y DATA(-2, 1, -1) - 1/200 x y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/200 x y DATA(1, 2, -2) + 1/100 x y DATA(2, 2, -2)
+
+ 2 2
+ + 1/100 x y DATA(-2, -2, -1) + 1/200 x y DATA(-1, -2, -1)
+
+ 2 2
+ - 1/200 x y DATA(1, -2, -1) - 1/100 x y DATA(2, -2, -1)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, -2) + 1/100 x y DATA(1, -1, -2)
+
+ 2 2
+ + 1/50 x y DATA(2, -1, -2) + 1/50 x y DATA(-2, 1, -2)
+
+ 2
+ + 1/175 y z DATA(2, 2, 1) + 1/100 x y DATA(-1, 1, -2)
+
+ 2 2
+ - 1/100 x y DATA(1, 1, -2) - 1/50 x y DATA(2, 1, -2)
+
+ 2
+ + 1/175 x y DATA(-2, -1, -1) + 1/490 x y DATA(-1, 1, -1)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, -2) + 2/245 x y DATA(2, 2, 2)
+
+ 2 2
+ - 1/245 x y DATA(-2, -1, -2) - 1/245 x y DATA(1, 2, 2)
+
+ 2 2
+ + 2/245 x y DATA(2, 2, -1) - 1/200 x y DATA(-1, 2, 1)
+
+ 2 2
+ - 1/50 x y DATA(2, 1, 1) + 1/50 x y DATA(2, -1, -1)
+
+ 2 2
+ - 1/200 x y DATA(-1, 2, -1) - 1/50 x y DATA(2, 1, -1)
+
+ 2 2
+ + 1/200 x y DATA(1, 2, -1) - 1/100 x y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/100 x y DATA(-2, 2, 2) - 1/100 x y DATA(1, 1, 1)
+
+ 2 2
+ + 1/50 x y DATA(-2, 1, 2) - 1/100 x y DATA(2, -2, 2)
+
+ 2 2
+ - 1/50 x y DATA(-2, -1, 2) - 1/200 x y DATA(1, -2, 2)
+
+ 2
+ - 1/100 x y DATA(1, 1, 0) - 2/175 y z DATA(-2, 2, -2)
+
+ 2
+ + 1/200 x y DATA(-1, -2, 2) + 1/175 y z DATA(1, -1, -2)
+
+ 2 2
+ - 1/100 x y DATA(-1, -1, 1) + 1/100 x y DATA(1, -1, 1)
+
+ 2 2
+ + 1/100 x y DATA(-1, 1, 1) + 1/100 x y DATA(-1, 1, 0)
+
+ 2
+ + 1/350 x y z DATA(2, 1, -1) - 1/245 x y DATA(-2, 1, -1)
+
+ 2 2
+ - 1/245 x y DATA(-1, 2, -2) - 1/245 x y DATA(1, 2, -2)
+
+ 2 2
+ + 2/245 x y DATA(2, 2, -2) + 2/245 x y DATA(-2, -2, -1)
+
+ 2 2
+ - 1/245 x y DATA(-1, -2, -1) - 1/245 x y DATA(1, -2, -1)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, -1) + 1/490 x y DATA(-1, -1, -2)
+
+ 2 2
+ + 1/490 x y DATA(1, -1, -2) - 1/245 x y DATA(2, -1, -2)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, -2) + 1/490 x y DATA(-1, 1, -2)
+
+ 2 2
+ + 1/490 x y DATA(1, 1, -2) - 1/245 x y DATA(2, 1, -2)
+
+ 2 2
+ + 2/245 x y DATA(-2, 2, -2) + 2/245 x y DATA(2, 2, 1)
+
+ 2 2
+ + 1/490 x y DATA(-1, -1, 2) - 1/245 x y DATA(2, -1, 2)
+
+ 2 2
+ + 1/490 x y DATA(1, -1, 2) + 2/245 x y DATA(-2, -2, -2)
+
+ 2 2
+ + 1/490 x y DATA(-1, 1, 2) - 1/245 x y DATA(-1, -2, -2)
+
+ 2 2
+ - 1/245 x y DATA(-1, 2, 2) - 1/245 x y DATA(2, 1, 2)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, -2) - 1/350 z DATA(1, 2, 1)
+
+ 2 2
+ - 1/175 x z DATA(-2, -2, 2) + 1/350 x z DATA(-2, 2, 1)
+
+ 2 2
+ + 1/700 x z DATA(-2, 1, 1) - 1/700 x z DATA(-2, -1, 1)
+
+ 2 2
+ - 1/350 x z DATA(2, -2, 1) - 1/700 x z DATA(1, 1, 2)
+
+ 2 2
+ + 1/700 x z DATA(1, -2, 1) + 1/700 x z DATA(-1, -2, 1)
+
+ 2 2
+ - 1/350 x z DATA(-2, -2, 1) - 1/350 x z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/700 x z DATA(-2, -1, -1) - 1/700 x z DATA(-2, 1, -1)
+
+ 2 2
+ + 1/350 x z DATA(-1, 2, -2) + 1/350 x z DATA(1, 2, -2)
+
+ 2 2
+ - 1/175 x z DATA(2, 2, -2) + 1/350 x z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/700 x z DATA(-1, -2, -1) - 1/700 x z DATA(1, -2, -1)
+
+ 2 2
+ + 2/245 x y DATA(2, 2, 0) - 1/245 x y DATA(1, 2, 0)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, 2) + 2/245 x y DATA(-2, 2, 1)
+
+ 2 2
+ - 1/245 x y DATA(-2, 1, 1) - 1/245 x y DATA(-2, -1, 1)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, 1) + 1/490 x y DATA(1, 1, 2)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, 1) - 1/245 x y DATA(-1, -2, 1)
+
+ 2 2
+ + 2/245 x y DATA(-2, -2, 1) + 2/245 x y DATA(-2, 2, -1)
+
+ 2 2
+ - 1/245 x y DATA(-2, -1, -1) + 1/700 z DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 x y DATA(1, 1, 1) - 1/245 x y DATA(-2, 1, 2)
+
+ 2 2
+ + 2/245 x y DATA(2, -2, 2) - 1/245 x y DATA(-2, -1, 2)
+
+ 2 2
+ - 1/245 x y DATA(1, -2, 2) + 1/490 x y DATA(1, 1, 0)
+
+ 2 2
+ - 1/245 x y DATA(-1, -2, 2) + 1/490 x y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/490 x y DATA(1, -1, 1) + 1/490 x y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 x y DATA(-1, 1, 0) + 1/490 x y DATA(1, -1, 0)
+
+ 2 2
+ + 1/490 x y DATA(-1, -1, 0) + 1/490 x y DATA(1, 1, -1)
+
+ 2 2
+ + 1/700 z DATA(1, -1, -1) + 1/175 x z DATA(-2, 2, 2)
+
+ 2
+ - 1/1400 x z DATA(1, 1, 1) + 1/175 y z DATA(2, 1, -2)
+
+ 2 2
+ + 1/350 x z DATA(-2, 1, 2) - 1/175 x z DATA(2, -2, 2)
+
+ 2 2
+ - 1/350 x z DATA(-2, -1, 2) + 1/350 x z DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 x z DATA(-1, -2, 2) + 1/490 x y DATA(1, -1, -1)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, 1) - 1/245 x y DATA(1, 2, 1)
+
+ 2 2
+ - 1/245 x y DATA(-1, 2, 1) - 1/245 x y DATA(2, 1, 1)
+
+ 2 2
+ - 1/245 x y DATA(2, -1, -1) - 1/245 x y DATA(-1, 2, -1)
+
+ 2 2
+ - 1/245 x y DATA(2, 1, -1) - 1/245 x y DATA(1, 2, -1)
+
+ 2 2
+ + 1/490 x y DATA(-1, -1, -1) + 2/245 x y DATA(-2, 2, 2)
+
+ - 2/175 x y DATA(-2, 2, 0) + 1/175 x y DATA(-2, 1, 0)
+
+ + 1/175 x y DATA(1, -2, 0) + 2/175 x y DATA(2, -2, 0)
+
+ + 1/175 x y DATA(-2, -1, 0) - 2/175 x y DATA(-2, -2, 0)
+
+ - 1/175 x y DATA(-1, -2, 0) - 1/175 x y DATA(2, -1, 0)
+
+ - 1/175 x y DATA(-1, 2, 0) - 1/175 x y DATA(2, 1, 0)
+
+ + 2/175 x y DATA(2, 2, 0) + 1/175 x y DATA(1, 2, 0)
+
+ - 2/175 x y DATA(-2, -2, 2) - 2/175 x y DATA(-2, 2, 1)
+
+ + 1/175 x y DATA(-2, 1, 1) + 1/175 x y DATA(-2, -1, 1)
+
+ 2 2
+ + 1/350 x z DATA(2, -2, -1) - 1/700 x z DATA(-1, -1, -2)
+
+ 2 2
+ - 1/700 x z DATA(1, -1, -2) + 1/350 x z DATA(2, -1, -2)
+
+ 2 2
+ - 1/350 x z DATA(-2, 1, -2) + 1/700 x z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/700 x z DATA(1, 1, -2) - 1/350 x z DATA(2, 1, -2)
+
+ 2 2
+ - 1/175 x z DATA(-2, 2, -2) + 1/350 x z DATA(2, 2, 1)
+
+ 2 2
+ + 1/700 x z DATA(-1, -1, 2) - 1/350 x z DATA(2, -1, 2)
+
+ 2 2
+ + 1/700 x z DATA(1, -1, 2) + 1/175 x z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/700 x z DATA(-1, 1, 2) - 1/350 x z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/350 x z DATA(-1, 2, 2) + 1/350 x z DATA(2, 1, 2)
+
+ 2 2
+ - 1/350 x z DATA(1, -2, -2) + 1/1400 x z DATA(-1, 1, -1)
+
+ 2 2
+ + 1/175 x z DATA(2, -2, -2) + 1/175 x z DATA(2, 2, 2)
+
+ 2 2
+ + 1/350 x z DATA(-2, -1, -2) - 1/350 x z DATA(1, 2, 2)
+
+ 2 2
+ - 1/350 x z DATA(2, 2, -1) - 1/1400 x z DATA(1, -1, -1)
+
+ 2 2
+ - 1/700 x z DATA(2, -1, 1) - 1/700 x z DATA(1, 2, 1)
+
+ 2 2
+ - 1/700 x z DATA(-1, 2, 1) + 1/700 x z DATA(2, 1, 1)
+
+ 2 2
+ + 1/700 x z DATA(2, -1, -1) + 1/700 x z DATA(-1, 2, -1)
+
+ 2 2
+ - 1/700 x z DATA(2, 1, -1) + 1/700 x z DATA(1, 2, -1)
+
+ 2 2
+ - 1/1400 x z DATA(-1, -1, -1) - 1/350 z DATA(2, 2, -1)
+
+ 2 2
+ - 1/350 z DATA(-2, -1, -2) + 1/175 z DATA(2, 2, 2)
+
+ 2 2
+ - 1/175 z DATA(2, -2, -2) - 1/700 z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/175 z DATA(1, -2, -2) + 1/350 z DATA(2, 1, 2)
+
+ 2 2
+ + 1/175 z DATA(-1, 2, 2) - 1/175 z DATA(-1, -2, -2)
+
+ 2 2
+ + 1/350 z DATA(-1, 1, 2) - 1/175 z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/350 z DATA(1, -1, 2) - 1/350 z DATA(2, -1, 2)
+
+ 2 2
+ - 1/350 z DATA(-1, -1, 2) - 1/350 z DATA(2, 2, 1)
+
+ 2 2
+ + 1/175 z DATA(-2, 2, -2) + 1/350 z DATA(2, 1, -2)
+
+ 2 2
+ + 1/350 z DATA(1, 1, -2) + 1/350 z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/350 z DATA(-2, 1, -2) - 1/350 z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/700 z DATA(1, 1, -1) + 1/350 z DATA(-1, -1, 0)
+
+ 2 2
+ + 1/350 z DATA(1, -1, 0) - 1/350 z DATA(-1, 1, 0)
+
+ 2 2
+ - 1/700 z DATA(-1, 1, 1) + 1/700 z DATA(1, -1, 1)
+
+ 2 2
+ + 1/700 z DATA(-1, -1, 1) - 1/175 z DATA(-1, -2, 2)
+
+ 2 2
+ - 1/350 z DATA(1, 1, 0) - 1/175 z DATA(1, -2, 2)
+
+ 2 2
+ - 1/350 z DATA(-2, -1, 2) - 1/175 z DATA(2, -2, 2)
+
+ 2 2
+ + 1/350 z DATA(-2, 1, 2) - 1/700 z DATA(1, 1, 1)
+
+ 2 2
+ + 1/175 z DATA(-2, 2, 2) + 1/700 z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/350 z DATA(1, 2, -1) - 1/50 y DATA(-2, 1, 0)
+
+ 2 2
+ + 1/100 y DATA(-2, 2, 0) - 1/700 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/700 x DATA(-1, -1, 0) - 1/50 y DATA(1, 1, -1)
+
+ 2 2
+ + 1/50 y DATA(-1, -1, 0) + 1/50 y DATA(1, -1, 0)
+
+ 2 2 2
+ - 1/50 y DATA(-1, 1, 0) - 1/50 y DATA(-1, 1, 1) + 1/50 y DATA(1, -1, 1)
+
+ 2 2
+ + 1/50 y DATA(-1, -1, 1) - 1/100 y DATA(-1, -2, 2)
+
+ 2 2
+ - 1/50 y DATA(1, 1, 0) - 1/100 y DATA(1, -2, 2)
+
+ 2 2
+ + 1/50 y DATA(-2, -1, 2) - 1/100 y DATA(2, -2, 2)
+
+ 2 2 2
+ - 1/50 y DATA(-2, 1, 2) - 1/50 y DATA(1, 1, 1) + 1/100 y DATA(-2, 2, 2)
+
+ 2 2
+ + 1/50 y DATA(-1, -1, -1) + 1/100 y DATA(1, 2, -1)
+
+ 2 2
+ - 1/50 y DATA(2, 1, -1) + 1/100 y DATA(-1, 2, -1)
+
+ 2 2
+ + 1/50 y DATA(2, -1, -1) - 1/50 y DATA(2, 1, 1)
+
+ 2 2
+ + 1/100 y DATA(-1, 2, 1) + 1/100 y DATA(1, 2, 1)
+
+ 2 2
+ + 1/50 y DATA(2, -1, 1) + 1/50 y DATA(1, -1, -1)
+
+ 2 2
+ + 1/100 y DATA(2, 2, -1) + 1/100 y DATA(1, 2, 2)
+
+ 2 2
+ + 1/50 y DATA(-2, -1, -2) + 1/100 y DATA(2, 2, 2)
+
+ 2 2
+ - 1/100 y DATA(2, -2, -2) - 1/50 y DATA(-1, 1, -1)
+
+ 2 2
+ - 1/100 y DATA(1, -2, -2) - 1/50 y DATA(2, 1, 2)
+
+ 2 2
+ + 1/100 y DATA(-1, 2, 2) - 1/100 y DATA(-1, -2, -2)
+
+ 2 2
+ - 1/50 y DATA(-1, 1, 2) - 1/100 y DATA(-2, -2, -2)
+
+ 2 2
+ + 1/50 y DATA(1, -1, 2) + 1/50 y DATA(2, -1, 2)
+
+ 2 2
+ + 1/50 y DATA(-1, -1, 2) + 1/100 y DATA(2, 2, 1)
+
+ 2 2
+ + 1/100 y DATA(-2, 2, -2) - 1/50 y DATA(2, 1, -2)
+
+ 2 2
+ - 1/50 y DATA(1, 1, -2) - 1/50 y DATA(-1, 1, -2)
+
+ - 1/175 y z DATA(1, 1, 2) + 1/175 y z DATA(1, -2, 1)
+
+ - 2/175 x y DATA(-2, 2, -1) - 2/175 x y DATA(-2, -2, 1)
+
+ + 1/175 y z DATA(-1, -2, 1) - 1/42 DATA(-2, -1, 1)
+
+ 2
+ - 1/175 x y DATA(-1, 2, -2) - 1/175 x DATA(-2, -2, -2)
+
+ 2 2
+ + 1/700 x DATA(1, -1, 2) - 1/350 x DATA(2, -1, 2)
+
+ 2 2
+ + 1/700 x DATA(-1, -1, 2) + 1/175 x DATA(2, 2, 1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, -2) + 1/350 x DATA(2, 1, -2)
+
+ 2 2
+ - 1/700 x DATA(1, 1, -2) - 1/700 x DATA(-1, 1, -2)
+
+ 2 2
+ + 1/350 x DATA(-2, 1, -2) - 1/350 x DATA(2, -1, -2)
+
+ 2 2
+ + 1/700 x DATA(1, -1, -2) + 1/700 x DATA(-1, -1, -2)
+
+ 2 2
+ - 1/175 x DATA(2, -2, -1) + 1/350 x DATA(1, -2, -1)
+
+ 2 2
+ + 1/350 x DATA(1, -2, 2) + 1/700 x DATA(1, -1, 0)
+
+ 2 2
+ - 1/700 x DATA(-1, 1, 0) - 1/700 x DATA(-1, 1, 1)
+
+ 2 2
+ + 1/700 x DATA(1, -1, 1) + 1/700 x DATA(-1, -1, 1)
+
+ 2 3
+ + 1/350 x DATA(-1, -2, 2) - 1/300 x DATA(-1, -1, 0)
+
+ 3 3
+ + 1/300 x DATA(1, -1, 0) + 1/300 x DATA(-1, 1, 0)
+
+ 3 3
+ + 1/300 x DATA(-1, 1, 1) + 1/300 x DATA(1, -1, 1)
+
+ 3 3
+ - 1/300 x DATA(-1, -1, 1) - 1/150 x DATA(-1, -2, 2)
+
+ 3 3
+ - 1/300 x DATA(1, 1, 0) + 1/150 x DATA(1, -2, 2)
+
+ 3 3
+ + 1/600 x DATA(-2, -1, 2) - 1/300 x DATA(2, -2, 2)
+
+ 3 3
+ - 1/600 x DATA(-2, 1, 2) - 1/300 x DATA(1, 1, 1)
+
+ 3 3
+ - 1/300 x DATA(-2, 2, 2) - 1/300 x DATA(-1, -1, -1)
+
+ 3 3
+ - 1/150 x DATA(1, 2, -1) + 1/600 x DATA(2, 1, -1)
+
+ 3 3
+ + 1/150 x DATA(-1, 2, -1) - 1/600 x DATA(2, -1, -1)
+
+ 3 3
+ + 1/600 x DATA(2, 1, 1) + 1/150 x DATA(-1, 2, 1)
+
+ 3 3
+ - 1/150 x DATA(1, 2, 1) - 1/600 x DATA(2, -1, 1)
+
+ 3 3
+ + 1/300 x DATA(1, -1, -1) + 1/300 x DATA(2, 2, -1)
+
+ 3 3
+ - 1/150 x DATA(1, 2, 2) + 1/600 x DATA(-2, -1, -2)
+
+ 3 3
+ + 1/300 x DATA(2, 2, 2) - 1/300 x DATA(2, -2, -2)
+
+ 3 3
+ + 1/300 x DATA(-1, 1, -1) + 1/150 x DATA(1, -2, -2)
+
+ 3 3
+ + 1/600 x DATA(2, 1, 2) + 1/150 x DATA(-1, 2, 2)
+
+ 3 3
+ - 1/150 x DATA(-1, -2, -2) + 1/300 x DATA(-1, 1, 2)
+
+ 3 3
+ + 1/300 x DATA(-2, -2, -2) + 1/300 x DATA(1, -1, 2)
+
+ 3 3
+ - 1/600 x DATA(2, -1, 2) - 1/300 x DATA(-1, -1, 2)
+
+ 3 3
+ + 1/300 x DATA(2, 2, 1) - 1/300 x DATA(-2, 2, -2)
+
+ 3 3
+ + 1/600 x DATA(2, 1, -2) - 1/300 x DATA(1, 1, -2)
+
+ 3 3
+ + 1/300 x DATA(-1, 1, -2) - 1/600 x DATA(-2, 1, -2)
+
+ 3 3
+ - 1/600 x DATA(2, -1, -2) + 1/300 x DATA(1, -1, -2)
+
+ 3 3
+ - 1/300 x DATA(-1, -1, -2) - 1/300 x DATA(2, -2, -1)
+
+ 3 3
+ + 1/150 x DATA(1, -2, -1) - 1/150 x DATA(-1, -2, -1)
+
+ 3 2
+ + 1/300 x DATA(-2, -2, -1) - 1/700 x DATA(1, 1, 0)
+
+ 2 2
+ - 1/350 x DATA(-2, -1, 2) - 1/175 x DATA(2, -2, 2)
+
+ 2 2
+ + 1/350 x DATA(-2, 1, 2) - 1/700 x DATA(1, 1, 1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, 2) + 1/700 x DATA(-1, -1, -1)
+
+ 2 2
+ - 1/350 x DATA(1, 2, -1) + 1/350 x DATA(2, 1, -1)
+
+ 2 2
+ - 1/350 x DATA(-1, 2, -1) - 1/350 x DATA(2, -1, -1)
+
+ 2 2
+ + 1/350 x DATA(2, 1, 1) - 1/350 x DATA(-1, 2, 1)
+
+ 2 2
+ - 1/350 x DATA(1, 2, 1) - 1/350 x DATA(2, -1, 1)
+
+ 2 2
+ + 1/700 x DATA(1, -1, -1) + 1/175 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/350 x DATA(1, 2, 2) - 1/350 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 x DATA(2, 2, 2) - 1/175 x DATA(2, -2, -2)
+
+ 2 2
+ - 1/700 x DATA(-1, 1, -1) + 1/350 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/350 x DATA(2, 1, 2) - 1/350 x DATA(-1, 2, 2)
+
+ 2 2
+ + 1/350 x DATA(-1, -2, -2) - 1/700 x DATA(-1, 1, 2)
+
+ 3 3
+ - 1/300 x DATA(1, 1, -1) + 1/600 x DATA(-2, -1, -1)
+
+ 3 3
+ - 1/300 x DATA(-2, 2, -1) + 1/300 x DATA(-2, -2, 1)
+
+ 3 3
+ - 1/150 x DATA(-1, -2, 1) + 1/150 x DATA(1, -2, 1)
+
+ 3 3
+ - 1/300 x DATA(1, 1, 2) - 1/300 x DATA(2, -2, 1)
+
+ 3 3
+ + 1/600 x DATA(-2, -1, 1) - 1/600 x DATA(-2, 1, 1)
+
+ 3 2
+ - 1/300 x DATA(-2, 2, 1) + 1/350 x DATA(-1, -2, -1)
+
+ 2 2
+ - 1/175 x DATA(-2, -2, -1) + 1/175 x DATA(2, 2, -2)
+
+ 2 2
+ - 1/350 x DATA(1, 2, -2) - 1/350 x DATA(-1, 2, -2)
+
+ 2 2
+ + 1/350 x DATA(-2, 1, -1) - 1/350 x DATA(-2, -1, -1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, -1) - 1/175 x DATA(-2, -2, 1)
+
+ 2 2
+ + 1/350 x DATA(-1, -2, 1) + 1/350 x DATA(1, -2, 1)
+
+ 2 2
+ - 1/700 x DATA(1, 1, 2) - 1/175 x DATA(2, -2, 1)
+
+ 2 2
+ - 1/350 x DATA(-2, -1, 1) + 1/350 x DATA(-2, 1, 1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, 1) - 1/175 x DATA(-2, -2, 2)
+
+ 2 2 2
+ - 1/350 x DATA(1, 2, 0) + 1/175 x DATA(2, 2, 0) + 1/350 x DATA(2, 1, 0)
+
+ 2 2
+ - 1/350 x DATA(-1, 2, 0) - 1/350 x DATA(2, -1, 0)
+
+ 2 2
+ + 1/350 x DATA(-1, -2, 0) - 1/175 x DATA(-2, -2, 0)
+
+ 2 2
+ - 1/350 x DATA(-2, -1, 0) - 1/175 x DATA(2, -2, 0)
+
+ 2 2
+ + 1/350 x DATA(1, -2, 0) + 1/350 x DATA(-2, 1, 0)
+
+ 2
+ + 1/175 x DATA(-2, 2, 0) - 1/175 y z DATA(-2, -1, 2)
+
+ 3 3 3
+ - 1/150 x DATA(1, 2, 0) + 1/300 x DATA(2, 2, 0) + 1/600 x DATA(2, 1, 0)
+
+ 3 3
+ + 1/150 x DATA(-1, 2, 0) - 1/600 x DATA(2, -1, 0)
+
+ 3 3
+ - 1/150 x DATA(-1, -2, 0) + 1/300 x DATA(-2, -2, 0)
+
+ 3 3
+ + 1/600 x DATA(-2, -1, 0) - 1/300 x DATA(2, -2, 0)
+
+ 3 3
+ + 1/150 x DATA(1, -2, 0) - 1/600 x DATA(-2, 1, 0)
+
+ 3 3
+ - 1/300 x DATA(-2, 2, 0) + 1/300 x DATA(2, 2, -2)
+
+ 3 3
+ - 1/150 x DATA(1, 2, -2) + 1/150 x DATA(-1, 2, -2)
+
+ 3 137
+ - 1/600 x DATA(-2, 1, -1) + ---- x DATA(-1, -1, 1)
+ 5250
+
+ 107 289 107
+ + ---- x DATA(-1, -2, 2) + ----- x DATA(1, 1, 0) - ---- x DATA(1, -2, 2)
+ 7000 10500 7000
+
+ 107 137 107
+ + ---- x DATA(-2, -1, 2) + ---- x DATA(2, -2, 2) - ---- x DATA(-2, 1, 2)
+ 7000 5250 7000
+
+ 137 137 137
+ + ---- x DATA(1, 1, 1) + ---- x DATA(-2, 2, 2) + ---- x DATA(-1, -1, -1)
+ 5250 5250 5250
+
+ 167 167 167
+ + ---- x DATA(1, 2, -1) + ---- x DATA(2, 1, -1) - ---- x DATA(-1, 2, -1)
+ 7000 7000 7000
+
+ 167 167 167
+ - ---- x DATA(2, -1, -1) + ---- x DATA(2, 1, 1) - ---- x DATA(-1, 2, 1)
+ 7000 7000 7000
+
+ 167 167 137
+ + ---- x DATA(1, 2, 1) - ---- x DATA(2, -1, 1) - ---- x DATA(1, -1, -1)
+ 7000 7000 5250
+
+ 47 107 107
+ - ---- x DATA(2, 2, -1) + ---- x DATA(1, 2, 2) + ---- x DATA(-2, -1, -2)
+ 5250 7000 7000
+
+ 3 137
+ + 1/300 x DATA(-2, -2, 2) - ---- x DATA(1, -1, 1)
+ 5250
+
+ 47 167
+ + ---- x DATA(2, -2, -1) - ---- x DATA(1, -2, -1)
+ 5250 7000
+
+ 167 47
+ + ---- x DATA(-1, -2, -1) - ---- x DATA(-2, -2, -1)
+ 7000 5250
+
+ 137 107 107
+ - ---- x DATA(2, 2, -2) + ---- x DATA(1, 2, -2) - ---- x DATA(-1, 2, -2)
+ 5250 7000 7000
+
+ 167 167
+ - ---- x DATA(-2, 1, -1) + ---- x DATA(-2, -1, -1)
+ 7000 7000
+
+ 47 47 167
+ + ---- x DATA(-2, 2, -1) - ---- x DATA(-2, -2, 1) + ---- x DATA(-1, -2, 1)
+ 5250 5250 7000
+
+ 167 229 47
+ - ---- x DATA(1, -2, 1) + ----- x DATA(1, 1, 2) + ---- x DATA(2, -2, 1)
+ 7000 10500 5250
+
+ 137 289 289
+ + ---- x DATA(1, 1, -1) + ----- x DATA(-1, -1, 0) - ----- x DATA(1, -1, 0)
+ 5250 10500 10500
+
+ 289 137 187
+ - ----- x DATA(-1, 1, 0) - ---- x DATA(-1, 1, 1) - ---- x DATA(1, -2, 0)
+ 10500 5250 7000
+
+ 187 17 137
+ - ---- x DATA(-2, 1, 0) + ---- x DATA(-2, 2, 0) - ---- x DATA(2, 2, 2)
+ 7000 5250 5250
+
+ 137 137 107
+ + ---- x DATA(2, -2, -2) - ---- x DATA(-1, 1, -1) - ---- x DATA(1, -2, -2)
+ 5250 5250 7000
+
+ 107 107 107
+ + ---- x DATA(2, 1, 2) - ---- x DATA(-1, 2, 2) + ---- x DATA(-1, -2, -2)
+ 7000 7000 7000
+
+ 229 137
+ - ----- x DATA(-1, 1, 2) - ---- x DATA(-2, -2, -2)
+ 10500 5250
+
+ 229 107 229
+ - ----- x DATA(1, -1, 2) - ---- x DATA(2, -1, 2) + ----- x DATA(-1, -1, 2)
+ 10500 7000 10500
+
+ 47 137 107
+ - ---- x DATA(2, 2, 1) + ---- x DATA(-2, 2, -2) + ---- x DATA(2, 1, -2)
+ 5250 5250 7000
+
+ 229 229
+ + ----- x DATA(1, 1, -2) - ----- x DATA(-1, 1, -2)
+ 10500 10500
+
+ 107 107
+ - ---- x DATA(-2, 1, -2) - ---- x DATA(2, -1, -2)
+ 7000 7000
+
+ 229 229
+ - ----- x DATA(1, -1, -2) + ----- x DATA(-1, -1, -2)
+ 10500 10500
+
+ 167 167 47
+ + ---- x DATA(-2, -1, 1) - ---- x DATA(-2, 1, 1) + ---- x DATA(-2, 2, 1)
+ 7000 7000 5250
+
+ 137 187 17
+ - ---- x DATA(-2, -2, 2) + ---- x DATA(1, 2, 0) - ---- x DATA(2, 2, 0)
+ 5250 7000 5250
+
+ 187 187 187
+ + ---- x DATA(2, 1, 0) - ---- x DATA(-1, 2, 0) - ---- x DATA(2, -1, 0)
+ 7000 7000 7000
+
+ 187 17 187
+ + ---- x DATA(-1, -2, 0) - ---- x DATA(-2, -2, 0) + ---- x DATA(-2, -1, 0)
+ 7000 5250 7000
+
+ 17 3
+ + ---- x DATA(2, -2, 0) + 1/600 z DATA(2, -1, -2)
+ 5250
+
+ 3 3
+ + 1/600 z DATA(-1, -1, -2) - 1/150 z DATA(2, -2, -1)
+
+ 3 3
+ - 1/150 z DATA(1, -2, -1) - 1/150 z DATA(-1, -2, -1)
+
+ 3 3
+ - 1/150 z DATA(-2, -2, -1) - 1/300 z DATA(2, 2, -2)
+
+ 3 3
+ - 1/300 z DATA(1, 2, -2) - 1/300 z DATA(-1, 2, -2)
+
+ 3 3
+ + 1/300 z DATA(-2, 1, -1) - 1/300 z DATA(-2, -1, -1)
+
+ 3 3
+ + 1/150 z DATA(-2, 2, -1) + 1/150 z DATA(-2, -2, 1)
+
+ 3 3
+ + 1/150 z DATA(-1, -2, 1) + 1/150 z DATA(1, -2, 1)
+
+ 3 3
+ + 1/600 z DATA(1, 1, 2) + 1/150 z DATA(2, -2, 1)
+
+ 3 3
+ + 1/300 z DATA(-2, -1, 1) - 1/300 z DATA(-2, 1, 1)
+
+ 3 3
+ - 1/150 z DATA(-2, 2, 1) - 1/300 z DATA(-2, -2, 2)
+
+ 3 3
+ - 1/600 z DATA(-1, -1, 2) + 1/300 z DATA(-1, -1, 1)
+
+ 3 3
+ - 1/300 z DATA(-1, -2, 2) - 1/300 z DATA(1, -2, 2)
+
+ 3 3
+ - 1/600 z DATA(-2, -1, 2) - 1/300 z DATA(2, -2, 2)
+
+ 3 311
+ + 1/600 z DATA(1, -1, -2) + ----- y DATA(1, -2, 0)
+ 14700
+
+ 137
+ + 4/75 y DATA(-2, 1, 0) - 1/300 y DATA(-2, 2, 0) - ---- z DATA(1, 1, -1)
+ 5250
+
+ 137 169 166
+ + ---- z DATA(-1, 1, 1) - ----- y DATA(-2, 2, -1) + ---- y DATA(1, 1, -1)
+ 5250 14700 3675
+
+ 151 151 151
+ + ---- y DATA(-1, -1, 0) + ---- y DATA(1, -1, 0) + ---- y DATA(-1, 1, 0)
+ 3675 3675 3675
+
+ 166 166 166
+ + ---- y DATA(-1, 1, 1) + ---- y DATA(1, -1, 1) + ---- y DATA(-1, -1, 1)
+ 3675 3675 3675
+
+ 169 151 169
+ - ----- y DATA(-1, -2, 2) + ---- y DATA(1, 1, 0) - ----- y DATA(1, -2, 2)
+ 14700 3675 14700
+
+ 256 529 256
+ + ---- y DATA(-2, -1, 2) - ----- y DATA(2, -2, 2) + ---- y DATA(-2, 1, 2)
+ 3675 14700 3675
+
+ 166 529 166
+ + ---- y DATA(1, 1, 1) - ----- y DATA(-2, 2, 2) + ---- y DATA(-1, -1, -1)
+ 3675 14700 3675
+
+ 191 211 191
+ + ----- y DATA(1, 2, -1) + ---- y DATA(2, 1, -1) + ----- y DATA(-1, 2, -1)
+ 14700 3675 14700
+
+ 211 211 191
+ + ---- y DATA(2, -1, -1) + ---- y DATA(2, 1, 1) + ----- y DATA(-1, 2, 1)
+ 3675 3675 14700
+
+ 191 211 166
+ + ----- y DATA(1, 2, 1) + ---- y DATA(2, -1, 1) + ---- y DATA(1, -1, -1)
+ 14700 3675 3675
+
+ 169 169 256
+ - ----- y DATA(2, 2, -1) - ----- y DATA(1, 2, 2) + ---- y DATA(-2, -1, -2)
+ 14700 14700 3675
+
+ 529 529 166
+ - ----- y DATA(2, 2, 2) - ----- y DATA(2, -2, -2) + ---- y DATA(-1, 1, -1)
+ 14700 14700 3675
+
+ 169 256 169
+ - ----- y DATA(1, -2, -2) + ---- y DATA(2, 1, 2) - ----- y DATA(-1, 2, 2)
+ 14700 3675 14700
+
+ 169 211
+ - ----- y DATA(-1, -2, -2) + ---- y DATA(-1, 1, 2)
+ 14700 3675
+
+ 529 3
+ - ----- y DATA(-2, -2, -2) - 2/75 y DATA(2, -1, -1)
+ 14700
+
+ 3 3
+ + 1/150 y DATA(-1, 2, 1) + 1/150 y DATA(1, 2, 1)
+
+ 3 3
+ - 2/75 y DATA(2, -1, 1) - 2/75 y DATA(1, -1, -1)
+
+ 3 3
+ + 1/150 y DATA(2, 2, -1) + 1/150 y DATA(1, 2, 2)
+
+ 3 3
+ - 2/75 y DATA(-2, -1, -2) + 1/150 y DATA(2, 2, 2)
+
+ 3 3
+ + 1/150 y DATA(2, -2, -2) - 2/75 y DATA(-1, 1, -1)
+
+ 3 3
+ + 1/150 y DATA(1, -2, -2) - 2/75 y DATA(2, 1, 2)
+
+ 3 3
+ + 1/150 y DATA(-1, 2, 2) + 1/150 y DATA(-1, -2, -2)
+
+ 3 3
+ - 2/75 y DATA(-1, 1, 2) + 1/150 y DATA(-2, -2, -2)
+
+ 3 3
+ - 2/75 y DATA(1, -1, 2) - 2/75 y DATA(2, -1, 2)
+
+ 3 3
+ - 2/75 y DATA(-1, -1, 2) + 1/150 y DATA(2, 2, 1)
+
+ 3 3
+ + 1/150 y DATA(-2, 2, -2) - 2/75 y DATA(2, 1, -2)
+
+ 3 3
+ - 2/75 y DATA(1, 1, -2) - 2/75 y DATA(-1, 1, -2)
+
+ 3 3
+ - 2/75 y DATA(-2, 1, -2) - 2/75 y DATA(2, -1, -2)
+
+ 3 3
+ - 2/75 y DATA(1, -1, -2) - 2/75 y DATA(-1, -1, -2)
+
+ 3 3
+ + 1/150 y DATA(2, -2, -1) + 1/150 y DATA(1, -2, -1)
+
+ 3 3
+ + 1/150 y DATA(-1, -2, -1) + 1/150 y DATA(-2, -2, -1)
+
+ 3 3
+ + 1/150 y DATA(2, 2, -2) - 2/75 y DATA(2, 1, 1)
+
+ 3 3
+ + 1/150 y DATA(1, 2, -2) + 1/150 y DATA(-1, 2, -2)
+
+ 3 3
+ - 2/75 y DATA(-2, 1, -1) - 2/75 y DATA(-2, -1, -1)
+
+ 3 3
+ + 1/150 y DATA(-2, 2, -1) + 1/150 y DATA(-2, -2, 1)
+
+ 3 3
+ + 1/150 y DATA(-1, -2, 1) + 1/150 y DATA(1, -2, 1)
+
+ 3 3
+ - 2/75 y DATA(1, 1, 2) + 1/150 y DATA(2, -2, 1)
+
+ 3 3
+ - 2/75 y DATA(-2, -1, 1) - 2/75 y DATA(-2, 1, 1)
+
+ 3 3
+ + 1/150 y DATA(-2, 2, 1) + 1/150 y DATA(-2, -2, 2)
+
+ 3 3 3
+ + 1/150 y DATA(1, 2, 0) + 1/150 y DATA(2, 2, 0) - 2/75 y DATA(2, 1, 0)
+
+ 3 3
+ + 1/150 y DATA(-1, 2, 0) - 2/75 y DATA(2, -1, 0)
+
+ 3 3
+ + 1/150 y DATA(-1, -2, 0) + 1/150 y DATA(-2, -2, 0)
+
+ 3 3
+ - 2/75 y DATA(-2, -1, 0) + 1/150 y DATA(2, -2, 0)
+
+ 3 3
+ + 1/150 y DATA(1, -2, 0) - 2/75 y DATA(-2, 1, 0)
+
+ 3 3
+ + 1/150 y DATA(-2, 2, 0) - 2/75 y DATA(1, 1, -1)
+
+ 3 3
+ - 2/75 y DATA(-1, -1, 0) - 2/75 y DATA(1, -1, 0)
+
+ 3 3 3
+ - 2/75 y DATA(-1, 1, 0) - 2/75 y DATA(-1, 1, 1) - 2/75 y DATA(1, -1, 1)
+
+ 3 3
+ - 2/75 y DATA(-1, -1, 1) + 1/150 y DATA(-1, -2, 2)
+
+ 3 3
+ - 2/75 y DATA(1, 1, 0) + 1/150 y DATA(1, -2, 2)
+
+ 3 3
+ - 2/75 y DATA(-2, -1, 2) + 1/150 y DATA(2, -2, 2)
+
+ 3 3 3
+ - 2/75 y DATA(-2, 1, 2) - 2/75 y DATA(1, 1, 1) + 1/150 y DATA(-2, 2, 2)
+
+ 3 3
+ - 2/75 y DATA(-1, -1, -1) + 1/150 y DATA(1, 2, -1)
+
+ 3 3
+ - 2/75 y DATA(2, 1, -1) + 1/150 y DATA(-1, 2, -1)
+
+ 3 3
+ - 1/600 z DATA(2, -1, 2) - 1/150 z DATA(2, 2, 1)
+
+ 3 3
+ - 1/300 z DATA(-2, 2, -2) - 1/600 z DATA(2, 1, -2)
+
+ 3 3
+ - 1/600 z DATA(1, 1, -2) - 1/600 z DATA(-1, 1, -2)
+
+ 3 3
+ - 1/600 z DATA(-2, 1, -2) + 1/600 z DATA(-2, 1, 2)
+
+ 3 3
+ + 1/300 z DATA(-2, 2, 2) - 1/300 z DATA(-1, -1, -1)
+
+ 3 3
+ + 1/150 z DATA(1, 2, -1) + 1/300 z DATA(2, 1, -1)
+
+ 3 3
+ + 1/150 z DATA(-1, 2, -1) - 1/300 z DATA(2, -1, -1)
+
+ 3 3
+ - 1/300 z DATA(2, 1, 1) - 1/150 z DATA(-1, 2, 1)
+
+ 3 3
+ - 1/150 z DATA(1, 2, 1) + 1/300 z DATA(2, -1, 1)
+
+ 3 3
+ - 1/300 z DATA(1, -1, -1) + 1/150 z DATA(2, 2, -1)
+
+ 3 3
+ + 1/300 z DATA(1, 2, 2) + 1/600 z DATA(-2, -1, -2)
+
+ 3 3
+ + 1/300 z DATA(2, 2, 2) + 1/300 z DATA(2, -2, -2)
+
+ 3 3
+ + 1/300 z DATA(-1, 1, -1) + 1/300 z DATA(1, -2, -2)
+
+ 3 3
+ + 1/600 z DATA(2, 1, 2) + 1/300 z DATA(-1, 2, 2)
+
+ 3 3
+ + 1/300 z DATA(-1, -2, -2) + 1/600 z DATA(-1, 1, 2)
+
+ 3 3
+ + 1/300 z DATA(-2, -2, -2) - 1/600 z DATA(1, -1, 2)
+
+ 2 2
+ - 1/175 z DATA(-1, 2, 0) + 1/175 z DATA(-1, -2, 0)
+
+ 2 2
+ + 1/175 z DATA(-2, -2, 0) + 1/350 z DATA(-2, -1, 0)
+
+ 2 2
+ + 1/175 z DATA(2, -2, 0) + 1/175 z DATA(1, -2, 0)
+
+ 2 2
+ - 1/350 z DATA(-2, 1, 0) - 1/175 z DATA(-2, 2, 0)
+
+ 3 3
+ + 1/300 z DATA(1, 1, -1) - 1/300 z DATA(-1, 1, 1)
+
+ 3 2
+ + 1/300 z DATA(1, -1, 1) + 1/350 z DATA(2, -1, 0)
+
+ 2 2
+ - 1/350 z DATA(2, -1, -2) - 1/350 z DATA(1, -1, -2)
+
+ 2 2
+ - 1/350 z DATA(-1, -1, -2) + 1/350 z DATA(2, -2, -1)
+
+ 2 2
+ + 1/350 z DATA(1, -2, -1) + 1/350 z DATA(-1, -2, -1)
+
+ 2 2
+ + 1/350 z DATA(-2, -2, -1) + 1/175 z DATA(2, 2, -2)
+
+ 2 2
+ + 1/175 z DATA(1, 2, -2) + 1/175 z DATA(-1, 2, -2)
+
+ 2 2
+ - 1/700 z DATA(-2, 1, -1) + 1/700 z DATA(-2, -1, -1)
+
+ 2 2
+ - 1/350 z DATA(-2, 2, -1) + 1/350 z DATA(-2, -2, 1)
+
+ 2 2
+ + 1/350 z DATA(-1, -2, 1) + 1/350 z DATA(1, -2, 1)
+
+ 2 2
+ + 1/350 z DATA(1, 1, 2) + 1/350 z DATA(2, -2, 1)
+
+ 2 2
+ + 1/700 z DATA(-2, -1, 1) - 1/700 z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/350 z DATA(-2, 2, 1) - 1/175 z DATA(-2, -2, 2)
+
+ 2 2 2
+ - 1/175 z DATA(1, 2, 0) - 1/175 z DATA(2, 2, 0) - 1/350 z DATA(2, 1, 0)
+
+ 2 2
+ - 1/700 z DATA(2, 1, -1) - 1/350 z DATA(-1, 2, -1)
+
+ 2 3
+ + 1/700 z DATA(2, -1, -1) - 1/300 z DATA(1, 1, 1)
+
+ 211 256 211
+ + ---- y DATA(1, -1, 2) + ---- y DATA(2, -1, 2) + ---- y DATA(-1, -1, 2)
+ 3675 3675 3675
+
+ 169 529 256
+ - ----- y DATA(2, 2, 1) - ----- y DATA(-2, 2, -2) + ---- y DATA(2, 1, -2)
+ 14700 14700 3675
+
+ 211 211 256
+ + ---- y DATA(1, 1, -2) + ---- y DATA(-1, 1, -2) + ---- y DATA(-2, 1, -2)
+ 3675 3675 3675
+
+ 256 211
+ + ---- y DATA(2, -1, -2) + ---- y DATA(1, -1, -2)
+ 3675 3675
+
+ 211 169
+ + ---- y DATA(-1, -1, -2) - ----- y DATA(2, -2, -1)
+ 3675 14700
+
+ 191 191
+ + ----- y DATA(1, -2, -1) + ----- y DATA(-1, -2, -1)
+ 14700 14700
+
+ 169 529
+ - ----- y DATA(-2, -2, -1) - ----- y DATA(2, 2, -2)
+ 14700 14700
+
+ 169 169
+ - ----- y DATA(1, 2, -2) - ----- y DATA(-1, 2, -2)
+ 14700 14700
+
+ 211 211
+ + ---- y DATA(-2, 1, -1) + ---- y DATA(-2, -1, -1)
+ 3675 3675
+
+ 169 191
+ - ----- y DATA(-2, -2, 1) + ----- y DATA(-1, -2, 1)
+ 14700 14700
+
+ 191 211 169
+ + ----- y DATA(1, -2, 1) + ---- y DATA(1, 1, 2) - ----- y DATA(2, -2, 1)
+ 14700 3675 14700
+
+ 211 211 169
+ + ---- y DATA(-2, -1, 1) + ---- y DATA(-2, 1, 1) - ----- y DATA(-2, 2, 1)
+ 3675 3675 14700
+
+ 529 311
+ - ----- y DATA(-2, -2, 2) + ----- y DATA(1, 2, 0) - 1/300 y DATA(2, 2, 0)
+ 14700 14700
+
+ 311
+ + 4/75 y DATA(2, 1, 0) + ----- y DATA(-1, 2, 0) + 4/75 y DATA(2, -1, 0)
+ 14700
+
+ 311
+ + ----- y DATA(-1, -2, 0) - 1/300 y DATA(-2, -2, 0)
+ 14700
+
+ 47
+ + 4/75 y DATA(-2, -1, 0) - 1/300 y DATA(2, -2, 0) - ---- z DATA(-1, 2, 2)
+ 5250
+
+ 167 137 167
+ + ---- z DATA(-1, 1, 2) - ---- z DATA(-2, -2, -2) - ---- z DATA(1, -1, 2)
+ 7000 5250 7000
+
+ 107 167 107
+ - ---- z DATA(2, -1, 2) - ---- z DATA(-1, -1, 2) + ---- z DATA(2, 2, 1)
+ 7000 7000 7000
+
+ 137 107 167
+ + ---- z DATA(-2, 2, -2) - ---- z DATA(2, 1, -2) - ---- z DATA(1, 1, -2)
+ 5250 7000 7000
+
+ 167 107 107
+ - ---- z DATA(-1, 1, -2) - ---- z DATA(-2, 1, -2) + ---- z DATA(2, -1, -2)
+ 7000 7000 7000
+
+ 167 167
+ + ---- z DATA(1, -1, -2) + ---- z DATA(-1, -1, -2)
+ 7000 7000
+
+ 107 167
+ + ---- z DATA(2, -2, -1) + ---- z DATA(1, -2, -1)
+ 7000 7000
+
+ 167 107
+ + ---- z DATA(-1, -2, -1) + ---- z DATA(-2, -2, -1)
+ 7000 7000
+
+ 137 47 47
+ + ---- z DATA(2, 2, -2) + ---- z DATA(1, 2, -2) + ---- z DATA(-1, 2, -2)
+ 5250 5250 5250
+
+ 229 229
+ - ----- z DATA(-2, 1, -1) + ----- z DATA(-2, -1, -1)
+ 10500 10500
+
+ 107 107 167
+ - ---- z DATA(-2, 2, -1) - ---- z DATA(-2, -2, 1) - ---- z DATA(-1, -2, 1)
+ 7000 7000 7000
+
+ 167 167 107
+ - ---- z DATA(1, -2, 1) + ---- z DATA(1, 1, 2) - ---- z DATA(2, -2, 1)
+ 7000 7000 7000
+
+ 229 229 107
+ - ----- z DATA(-2, -1, 1) + ----- z DATA(-2, 1, 1) + ---- z DATA(-2, 2, 1)
+ 10500 10500 7000
+
+ 137 47
+ + ---- z DATA(-2, -2, 2) - ---- z DATA(-1, -2, -2)
+ 5250 5250
+
+ 2 2
+ - 1/50 y DATA(-2, 1, -2) + 1/50 y DATA(2, -1, -2)
+
+ 2 2
+ + 1/50 y DATA(1, -1, -2) + 1/50 y DATA(-1, -1, -2)
+
+ 2 2
+ - 1/100 y DATA(2, -2, -1) - 1/100 y DATA(1, -2, -1)
+
+ 2 2
+ - 1/100 y DATA(-1, -2, -1) - 1/100 y DATA(-2, -2, -1)
+
+ 2 2
+ + 1/100 y DATA(2, 2, -2) + 1/100 y DATA(1, 2, -2)
+
+ 2 2
+ + 1/100 y DATA(-1, 2, -2) - 1/50 y DATA(-2, 1, -1)
+
+ 2 2
+ + 1/50 y DATA(-2, -1, -1) + 1/100 y DATA(-2, 2, -1)
+
+ 2 2
+ - 1/100 y DATA(-2, -2, 1) - 1/100 y DATA(-1, -2, 1)
+
+ 2 2
+ - 1/100 y DATA(1, -2, 1) - 1/50 y DATA(1, 1, 2)
+
+ 2 2
+ - 1/100 y DATA(2, -2, 1) + 1/50 y DATA(-2, -1, 1)
+
+ 2 2
+ - 1/50 y DATA(-2, 1, 1) + 1/100 y DATA(-2, 2, 1)
+
+ 2 2
+ - 1/100 y DATA(-2, -2, 2) + 1/100 y DATA(1, 2, 0)
+
+ 2 2 2
+ + 1/100 y DATA(2, 2, 0) - 1/50 y DATA(2, 1, 0) + 1/100 y DATA(-1, 2, 0)
+
+ 2 2
+ + 1/50 y DATA(2, -1, 0) - 1/100 y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/100 y DATA(-2, -2, 0) + 1/50 y DATA(-2, -1, 0)
+
+ 2 2
+ - 1/100 y DATA(2, -2, 0) - 1/100 y DATA(1, -2, 0)
+
+ 137 137 47
+ - ---- z DATA(1, -1, 1) - ---- z DATA(-1, -1, 1) + ---- z DATA(-1, -2, 2)
+ 5250 5250 5250
+
+ 47 107 137
+ + ---- z DATA(1, -2, 2) - ---- z DATA(-2, -1, 2) + ---- z DATA(2, -2, 2)
+ 5250 7000 5250
+
+ 107 137 137
+ + ---- z DATA(-2, 1, 2) + ---- z DATA(1, 1, 1) - ---- z DATA(-2, 2, 2)
+ 7000 5250 5250
+
+ 137 167 229
+ + ---- z DATA(-1, -1, -1) - ---- z DATA(1, 2, -1) - ----- z DATA(2, 1, -1)
+ 5250 7000 10500
+
+ 167 229 229
+ - ---- z DATA(-1, 2, -1) + ----- z DATA(2, -1, -1) + ----- z DATA(2, 1, 1)
+ 7000 10500 10500
+
+ 167 167 229
+ + ---- z DATA(-1, 2, 1) + ---- z DATA(1, 2, 1) - ----- z DATA(2, -1, 1)
+ 7000 7000 10500
+
+ 137 107 47
+ + ---- z DATA(1, -1, -1) - ---- z DATA(2, 2, -1) - ---- z DATA(1, 2, 2)
+ 5250 7000 5250
+
+ 107 137 137
+ + ---- z DATA(-2, -1, -2) - ---- z DATA(2, 2, 2) - ---- z DATA(2, -2, -2)
+ 7000 5250 5250
+
+ 137 47 107
+ - ---- z DATA(-1, 1, -1) - ---- z DATA(1, -2, -2) + ---- z DATA(2, 1, 2)
+ 5250 5250 7000
+
+ - 1/175 y z DATA(2, 1, 2) + 1/350 y z DATA(-1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, -2) + 1/175 y z DATA(1, 1, -2)
+
+ + 1/175 y z DATA(-1, 1, -2) + 1/175 y z DATA(-2, -1, -2)
+
+ + 2/175 y z DATA(2, 2, 2) + 1/350 y z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 2, -1) + 2/175 y z DATA(1, 2, 2)
+
+ + 1/175 y z DATA(1, 2, 1) - 1/350 y z DATA(2, -1, 1)
+
+ + 1/350 y z DATA(2, -1, -1) - 1/350 y z DATA(2, 1, 1)
+
+ + 1/175 y z DATA(-1, 2, 1) + 1/350 y z DATA(2, 1, -1)
+
+ + 1/350 y z DATA(-1, -1, -1) - 1/175 y z DATA(1, 2, -1)
+
+ 2
+ + 2/175 y z DATA(-2, 2, 2) + 1/100 y z DATA(1, 1, -1)
+
+ 2
+ + 1/350 y z DATA(1, 1, -1) + 1/490 y z DATA(1, 1, -1)
+
+ 2 2
+ - 1/1400 x z DATA(1, 1, -1) - 1/100 x y DATA(1, 1, -1)
+
+ 2
+ - 1/175 y z DATA(-2, 1, 2) + 1/1400 x z DATA(1, 1, -1)
+
+ - 1/350 x y DATA(1, 1, -1) + 2/175 y z DATA(2, -2, 2)
+
+ + 2/175 y z DATA(1, -2, 2) + 2/175 y z DATA(-1, -2, 2)
+
+ - 2/175 y z DATA(1, -2, -2) - 1/175 y z DATA(2, -1, 2)
+
+ - 2/175 y z DATA(-2, -2, -2) - 1/350 y z DATA(-1, -1, 1)
+
+ 2
+ - 1/175 y z DATA(1, -1, 2) + 1/175 x z DATA(-2, 2, 0)
+
+ - 2/175 y z DATA(-1, -2, -2) - 1/175 y z DATA(-1, 1, 2)
+
+ - 1/350 y z DATA(1, -1, 1) - 1/350 y z DATA(-1, 1, 1)
+
+ + 2/175 y z DATA(-1, 2, 2) + 1/175 y z DATA(-2, 1, -2)
+
+ 2 2
+ + 1/350 x z DATA(-2, 2, 1) + 1/700 x z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/700 x z DATA(-2, -1, 1) + 1/350 x z DATA(2, -2, 1)
+
+ 2 2
+ + 1/700 x z DATA(1, 1, 2) + 1/700 x z DATA(1, -2, 1)
+
+ 2 2
+ - 1/700 x z DATA(-1, -2, 1) - 1/350 x z DATA(-2, -2, 1)
+
+ 2 2
+ + 1/350 x z DATA(-2, 2, -1) - 1/700 x z DATA(-2, -1, -1)
+
+ 2 2
+ + 1/700 x z DATA(-2, 1, -1) - 1/350 x z DATA(-1, 2, -2)
+
+ 2 2
+ + 1/350 x z DATA(1, 2, -2) + 1/175 x z DATA(2, 2, -2)
+
+ 2 2
+ - 1/350 x z DATA(-2, -2, -1) - 1/700 x z DATA(-1, -2, -1)
+
+ 2 2
+ + 1/700 x z DATA(1, -2, -1) + 1/350 x z DATA(2, -2, -1)
+
+ 2 2
+ + 1/700 x z DATA(-1, -1, -2) + 1/350 x z DATA(-2, 1, 0)
+
+ 2 2
+ + 1/350 x z DATA(1, -2, 0) + 1/175 x z DATA(2, -2, 0)
+
+ 2 2
+ - 1/350 x z DATA(-2, -1, 0) - 1/175 x z DATA(-2, -2, 0)
+
+ 2 2
+ - 1/350 x z DATA(-1, -2, 0) + 1/350 x z DATA(2, -1, 0)
+
+ 2 2
+ + 1/350 x z DATA(-1, 2, 0) - 1/350 x z DATA(2, 1, 0)
+
+ 2 2
+ - 1/175 x z DATA(2, 2, 0) - 1/350 x z DATA(1, 2, 0)
+
+ 2
+ - 1/700 z DATA(2, 1, 1) + 1/175 x y DATA(-2, 1, -1)
+
+ 2 2
+ - 1/200 x y DATA(1, -2, 0) - 1/100 x y DATA(2, -2, 0)
+
+ 2
+ + 1/175 y z DATA(2, -1, -2) + 1/350 x z DATA(-1, -2, 2)
+
+ 2 2
+ - 1/1400 x z DATA(-1, -1, 1) + 1/1400 x z DATA(1, -1, 1)
+
+ 2 2
+ + 1/1400 x z DATA(-1, 1, 1) + 1/700 x z DATA(-1, 1, 0)
+
+ 2 2
+ + 1/700 x z DATA(1, -1, 0) - 1/700 x z DATA(-1, -1, 0)
+
+ 2
+ - 1/350 y z DATA(1, 1, 1) + 1/350 x z DATA(2, 1, 2)
+
+ 2 2
+ - 1/350 x z DATA(1, -2, -2) + 1/1400 x z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/175 x z DATA(2, -2, -2) + 1/175 x z DATA(2, 2, 2)
+
+ 2 2
+ + 1/350 x z DATA(-2, -1, -2) + 1/350 x z DATA(1, 2, 2)
+
+ 2 2
+ - 1/350 x z DATA(2, 2, -1) + 1/1400 x z DATA(1, -1, -1)
+
+ 2 2
+ + 1/700 x z DATA(2, -1, 1) - 1/700 x z DATA(1, 2, 1)
+
+ 2 2
+ + 1/700 x z DATA(-1, 2, 1) - 1/700 x z DATA(2, 1, 1)
+
+ 2 2
+ + 1/700 x z DATA(2, -1, -1) + 1/700 x z DATA(-1, 2, -1)
+
+ 2 2
+ - 1/700 x z DATA(2, 1, -1) - 1/700 x z DATA(1, 2, -1)
+
+ 2 2
+ - 1/1400 x z DATA(-1, -1, -1) - 1/175 x z DATA(-2, 2, 2)
+
+ 2 2
+ - 1/1400 x z DATA(1, 1, 1) - 1/350 x z DATA(-2, 1, 2)
+
+ 2 2
+ - 1/175 x z DATA(2, -2, 2) + 1/350 x z DATA(-2, -1, 2)
+
+ 2 2
+ - 1/350 x z DATA(1, -2, 2) - 1/700 x z DATA(1, 1, 0)
+
+ 2 2
+ - 1/700 x z DATA(1, -1, -2) - 1/350 x z DATA(2, -1, -2)
+
+ 2 2
+ - 1/350 x z DATA(-2, 1, -2) - 1/700 x z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/700 x z DATA(1, 1, -2) + 1/350 x z DATA(2, 1, -2)
+
+ 2 2
+ - 1/175 x z DATA(-2, 2, -2) - 1/350 x z DATA(2, 2, 1)
+
+ 2 2
+ + 1/700 x z DATA(-1, -1, 2) - 1/350 x z DATA(2, -1, 2)
+
+ 2 2
+ - 1/700 x z DATA(1, -1, 2) + 1/175 x z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/700 x z DATA(-1, 1, 2) + 1/350 x z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/350 x z DATA(-1, 2, 2) + 1/175 x z DATA(-2, -2, 2)
+
+ 2 2
+ + 1/100 x y DATA(-2, -2, 2) - 1/100 x y DATA(-2, 2, 1)
+
+ 2 2
+ + 1/50 x y DATA(-2, 1, 1) - 1/50 x y DATA(-2, -1, 1)
+
+ 2 2
+ - 1/100 x y DATA(2, -2, 1) - 1/100 x y DATA(1, 1, 2)
+
+ 2
+ - 1/200 x y DATA(1, -2, 1) + 2/175 x y DATA(2, 2, -2)
+
+ + 1/175 x y DATA(1, 2, -2) - 2/175 x y DATA(-2, -2, -1)
+
+ - 1/350 x y DATA(1, -1, -2) + 1/350 x y DATA(-1, -1, -2)
+
+ + 2/175 x y DATA(2, -2, -1) + 1/175 x y DATA(1, -2, -1)
+
+ - 1/175 x y DATA(-1, -2, -1) + 1/175 x y DATA(-2, 1, -2)
+
+ - 1/175 x y DATA(2, -1, -2) - 1/350 x y DATA(1, 1, -2)
+
+ + 1/350 x y DATA(-1, 1, -2) - 2/175 x y DATA(-2, 2, -2)
+
+ - 1/175 x y DATA(2, 1, -2) - 1/350 x y DATA(1, -1, 2)
+
+ - 1/175 x y DATA(2, -1, 2) + 1/350 x y DATA(-1, -1, 2)
+
+ + 2/175 x y DATA(2, 2, 1) + 1/42 DATA(-2, 1, 1)
+
+ - 1/175 x y DATA(-1, -2, -2) + 1/350 x y DATA(-1, 1, 2)
+
+ - 2/175 x y DATA(-2, -2, -2) + 1/350 x y DATA(-1, 1, -1)
+
+ + 1/175 x y DATA(1, -2, -2) - 1/175 x y DATA(2, 1, 2)
+
+ 19
+ - 1/175 x y DATA(-1, 2, 2) - ---- DATA(-2, 2, 1) + 2/175 x y DATA(2, 2, 2)
+ 2100
+
+ + 2/175 x y DATA(2, -2, -2) - 1/350 x y DATA(1, -1, -1)
+
+ + 2/175 x y DATA(2, 2, -1) + 1/175 x y DATA(1, 2, 2)
+
+ + 1/175 x y DATA(-2, -1, -2) + 1/175 x y DATA(1, 2, 1)
+
+ - 1/175 x y DATA(2, -1, 1) - 1/175 x y DATA(-1, 2, 1)
+
+ 11 2 2
+ + --- DATA(-2, -2, 2) + 1/175 z DATA(1, 2, 2) - 1/100 x y DATA(-2, 2, 0)
+ 420
+
+ 2 2
+ + 1/50 x y DATA(-2, 1, 0) - 1/245 y z DATA(0, -2, 1)
+
+ - 1/175 x y DATA(2, -1, -1) - 1/175 x y DATA(-1, 2, -1)
+
+ - 1/175 x y DATA(2, 1, -1) + 1/175 x y DATA(1, 2, -1)
+
+ + 1/350 x y DATA(-1, -1, -1) - 2/175 x y DATA(-2, 2, 2)
+
+ - 1/350 x y DATA(1, 1, 1) + 1/175 x y DATA(-2, 1, 2)
+
+ + 2/175 x y DATA(2, -2, 2) + 1/175 x y DATA(-2, -1, 2)
+
+ + 1/175 x y DATA(1, -2, 2) - 1/350 x y DATA(1, 1, 0)
+
+ - 1/175 x y DATA(-1, -2, 2) + 1/350 x y DATA(-1, -1, 1)
+
+ - 1/350 x y DATA(1, -1, 1) + 1/350 x y DATA(-1, 1, 1)
+
+ + 1/350 x y DATA(-1, 1, 0) - 1/350 x y DATA(1, -1, 0)
+
+ 2
+ + 1/350 x y DATA(-1, -1, 0) + 1/1400 x z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/1400 x z DATA(1, -1, 1) - 1/1400 x z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 y z DATA(0, 1, -1) + 1/245 y z DATA(0, -1, 0)
+
+ 2 2
+ + 1/490 y z DATA(0, -1, 1) + 2/245 y z DATA(0, -2, 2)
+
+ - 1/175 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=1498897760, alloc=15136044, time=201.54
+bytes used=1499897924, alloc=15136044, time=201.63
+bytes used=1500913592, alloc=15136044, time=201.71
+bytes used=1501948428, alloc=15136044, time=201.80
+bytes used=1503128616, alloc=15136044, time=201.89
+bytes used=1504287644, alloc=15136044, time=201.98
+bytes used=1505425440, alloc=15136044, time=202.07
+bytes used=1506549104, alloc=15136044, time=202.16
+bytes used=1507658208, alloc=15136044, time=202.25
+bytes used=1508746340, alloc=15136044, time=202.35
+bytes used=1509813632, alloc=15136044, time=202.44
+bytes used=1510858196, alloc=15136044, time=202.53
+bytes used=1511880744, alloc=15136044, time=202.63
+bytes used=1512881996, alloc=15136044, time=202.72
+bytes used=1513937040, alloc=15136044, time=202.82
+bytes used=1514937580, alloc=15136044, time=202.92
+bytes used=1515937936, alloc=15136044, time=203.02
+bytes used=1517003656, alloc=15136044, time=203.12
+bytes used=1518003960, alloc=15136044, time=203.22
+bytes used=1519106576, alloc=15136044, time=203.33
+bytes used=1520106924, alloc=15136044, time=203.43
+bytes used=1521110012, alloc=15136044, time=203.54
+bytes used=1522247204, alloc=15136044, time=203.65
+bytes used=1523336344, alloc=15136044, time=203.77
+bytes used=1524383712, alloc=15136044, time=203.88
+bytes used=1525426560, alloc=15136044, time=203.99
+bytes used=1526426968, alloc=15136044, time=204.11
+bytes used=1527520228, alloc=15136044, time=204.23
+bytes used=1528520472, alloc=15136044, time=204.35
+bytes used=1529562276, alloc=15136044, time=204.47
+bytes used=1530562876, alloc=15136044, time=204.60
+bytes used=1531594292, alloc=15136044, time=204.73
+bytes used=1532638292, alloc=15136044, time=204.87
+bytes used=1533657708, alloc=15136044, time=205.01
+bytes used=1534664944, alloc=15136044, time=205.15
+bytes used=1535700564, alloc=15136044, time=205.29
+bytes used=1536722020, alloc=15136044, time=205.43
+bytes used=1537744000, alloc=15136044, time=205.52
+bytes used=1538791820, alloc=15136044, time=205.58
+bytes used=1539839248, alloc=15136044, time=205.65
+bytes used=1540886748, alloc=15136044, time=205.72
+bytes used=1541934344, alloc=15136044, time=205.79
+bytes used=1542981772, alloc=15136044, time=205.86
+ 137 11 137 2
+[COEFF(-2, -2, -2) = - ---- x + --- - ---- z - 1/125 x z + 1/100 x y
+ 5250 420 5250
+
+ 3 2 2 2 2 529
+ + 1/300 x - 1/175 x + 1/100 y z + 1/175 x z - 1/175 z - ----- y
+ 14700
+
+ 2 3 2 3 2
+ + 1/175 x z + 1/150 y + 2/245 x y + 2/175 x y z + 1/300 z - 1/100 y
+
+ 2 2
+ + 2/245 y z - 2/175 y z - 2/175 x y, COEFF(-1, -2, -2) = 1/350 x z
+
+ 2 107 19 169 3 47
+ + 2/245 y z + ---- x + ---- - ----- y + 1/150 y - 1/250 x z - ---- z
+ 7000 2100 14700 5250
+
+ 3 3 2 2 2
+ + 1/300 z - 1/150 x - 1/245 x y - 1/175 x y - 1/350 x z - 1/175 z
+
+ 2 2 2 2
+ - 1/100 y + 1/100 y z + 1/175 x y z + 1/350 x - 2/175 y z + 1/200 x y ,
+
+ 2 2 2
+ COEFF(0, -2, -2) = - 1/300 y - 2/175 y z + 1/175 x - 1/100 y - 1/175 x z
+
+ 3 2 3 17 2
+ + 1/300 z + 1/300 + 1/100 y z + 1/150 y - ---- z - 1/175 z
+ 5250
+
+ 2 2 47 3
+ - 2/245 x y + 2/245 y z , COEFF(1, -2, -2) = - ---- z + 1/150 x
+ 5250
+
+ 169 2 2
+ - 2/175 y z - 1/175 x y z + 1/175 x y - ----- y + 1/350 x - 1/100 y
+ 14700
+
+ 2 2 19 2 3 2
+ - 1/200 x y + 2/245 y z + ---- - 1/350 x z + 1/300 z - 1/245 x y
+ 2100
+
+ 107 2 2 2 3
+ + 1/250 x z - ---- x - 1/175 z - 1/350 x z + 1/100 y z + 1/150 y ,
+ 7000
+
+ 3 2 137 137 2
+ COEFF(2, -2, -2) = 1/300 z - 1/175 z - ---- z + ---- x - 1/100 y
+ 5250 5250
+
+ 2 529 2
+ + 1/100 y z - ----- y + 1/125 x z + 2/175 x y + 2/245 x y - 2/175 x y z
+ 14700
+
+ 2 3 2 2 2
+ - 2/175 y z - 1/175 x z - 1/300 x + 1/175 x z + 2/245 y z - 1/175 x
+
+ 11 2 3 107
+ + --- - 1/100 x y + 1/150 y , COEFF(-2, -1, -2) = ---- z - 1/175 x y z
+ 420 7000
+
+ 3 2 2 3
+ + 1/600 z + 1/175 x y - 1/350 z + 1/175 y z + 1/350 x z - 2/75 y
+
+ 3 256 2 2 2
+ + 1/600 x + ---- y + 1/50 y - 1/245 x y - 1/250 x z - 1/50 y z
+ 3675
+
+ 2 2 2 107 2
+ - 1/50 x y - 8/525 - 1/350 x + 1/350 x z + ---- x - 1/245 y z ,
+ 7000
+
+ 2 2 229
+ COEFF(-1, -1, -2) = - 1/245 y z + 1/175 y z + 1/700 x z + ----- x
+ 10500
+
+ 2 2 3 2 3
+ - 1/50 y z + 1/350 x y + 1/490 x y - 2/75 y - 1/350 z - 1/300 x
+
+ 2 2 211 2
+ - 1/42 - 1/100 x y + 1/700 x + ---- y - 1/700 x z - 1/350 x y z
+ 3675
+
+ 2 167 3 3
+ - 1/500 x z + 1/50 y + ---- z + 1/600 z , COEFF(0, -1, -2) = - 2/75 y
+ 7000
+
+ 2 2 2 2 2
+ - 1/350 z - 1/350 x z + 1/350 x + 1/175 y z + 1/245 x y - 1/245 y z
+
+ 2 187 2 3
+ - 1/50 y z + ---- z - 2/75 + 1/50 y + 4/75 y + 1/600 z ,
+ 7000
+
+ 211 2
+ COEFF(1, -1, -2) = 1/350 x y z + 1/175 y z + ---- y - 1/700 x z
+ 3675
+
+ 2 2 2 2 3
+ - 1/350 x y + 1/490 x y + 1/100 x y - 1/245 y z - 1/350 z - 2/75 y
+
+ 167 2 3 3 229
+ + ---- z + 1/50 y - 1/42 + 1/600 z + 1/300 x - ----- x + 1/500 x z
+ 7000 10500
+
+ 2 2 2 107 3
+ - 1/700 x z + 1/700 x - 1/50 y z, COEFF(2, -1, -2) = - ---- x - 2/75 y
+ 7000
+
+ 3 2 2 3
+ + 1/250 x z + 1/600 z + 1/350 x z + 1/50 y - 1/600 x + 1/175 x y z
+
+ 2 2 2 2 2
+ - 1/350 z + 1/50 x y - 8/525 - 1/50 y z - 1/245 x y - 1/245 y z
+
+ 2 107 256 2
+ - 1/350 x z - 1/175 x y + ---- z + ---- y - 1/350 x + 1/175 y z,
+ 7000 3675
+
+ 3 2
+ COEFF(-2, 0, -2) = 1/25 y - 2/175 x y z - 2/245 y z + 2/175 y z
+
+ 33 2
+ + 2/175 x y - --- y - 2/245 x y, COEFF(-1, 0, -2) = 2/175 y z + 1/175 x y
+ 490
+
+ 2 3 2
+ - 9/98 y + 1/245 x y + 1/25 y - 2/245 y z - 1/175 x y z,
+
+ 3 2 2
+ COEFF(0, 0, -2) = 1/25 y - 2/245 y z + 2/175 y z - 1/10 y + 2/245 x y,
+
+ 2 3
+ COEFF(1, 0, -2) = - 9/98 y + 1/245 x y + 1/175 x y z - 1/175 x y + 1/25 y
+
+ 2 2 3 33
+ + 2/175 y z - 2/245 y z , COEFF(2, 0, -2) = - 2/245 x y + 1/25 y - --- y
+ 490
+
+ 2
+ - 2/245 y z + 2/175 x y z + 2/175 y z - 2/175 x y, COEFF(-2, 1, -2) =
+
+ 2 3 107 2 2
+ - 1/245 y z - 1/600 x + 1/175 x y - ---- x - 1/350 x z + 1/350 z
+ 7000
+
+ 2 2 2 2
+ + 1/50 x y + 1/350 x + 1/50 y z - 1/245 x y + 1/175 y z + 8/525
+
+ 2 2 3 107
+ - 1/350 x z - 1/50 y - 1/175 x y z - 2/75 y + 1/250 x z - ---- z
+ 7000
+
+ 3 256 3 3
+ - 1/600 z + ---- y, COEFF(-1, 1, -2) = - 2/75 y + 1/500 x z + 1/300 x
+ 3675
+
+ 2 211 3 2
+ - 1/700 x + 1/175 y z - 1/350 x y z + ---- y - 1/600 z - 1/50 y
+ 3675
+
+ 2 2 2 2 2 229
+ + 1/50 y z + 1/700 x z + 1/100 x y + 1/350 z - 1/245 y z - ----- x
+ 10500
+
+ 167 2 2
+ + 1/42 + 1/350 x y - ---- z + 1/490 x y - 1/700 x z , COEFF(0, 1, -2) =
+ 7000
+
+ 2 2 2 3 2 2
+ 2/75 - 1/50 y + 1/245 x y - 1/245 y z - 2/75 y - 1/350 x + 1/350 z
+
+ 3 187 2 2
+ - 1/600 z + 1/175 y z + 4/75 y - ---- z + 1/50 y z + 1/350 x z,
+ 7000
+
+ 2 2
+ COEFF(1, 1, -2) = 1/700 x z + 1/350 x y z - 1/500 x z + 1/42 - 1/100 x y
+
+ 3 2 2 167 2 2
+ - 1/600 z - 1/700 x + 1/700 x z - ---- z - 1/245 y z + 1/50 y z
+ 7000
+
+ 229 211 3 2 2 3
+ + ----- x + ---- y - 1/300 x - 1/50 y + 1/350 z - 2/75 y + 1/175 y z
+ 10500 3675
+
+ 2
+ + 1/490 x y - 1/350 x y, COEFF(2, 1, -2) = 1/175 x y z - 1/250 x z
+
+ 3 107 2 2 256
+ + 1/600 x - ---- z - 1/50 x y - 1/175 x y + 1/350 x z + 8/525 + ---- y
+ 7000 3675
+
+ 107 3 2 2 2 2
+ + ---- x - 2/75 y + 1/50 y z + 1/350 z - 1/245 y z - 1/350 x z
+ 7000
+
+ 2 3 2 2
+ - 1/245 x y + 1/175 y z - 1/600 z - 1/50 y + 1/350 x , COEFF(-2, 2, -2)
+
+ 529 2 2 2
+ = - ----- y + 2/245 x y - 1/100 x y + 1/175 z - 2/175 x y + 1/125 x z
+ 14700
+
+ 3 2 137 137 2
+ + 1/150 y + 1/100 y + ---- z + ---- x - 2/175 y z - 1/175 x z
+ 5250 5250
+
+ 2 3 2 2 2
+ + 1/175 x - 1/300 x - 1/175 x z + 2/175 x y z - 1/100 y z + 2/245 y z
+
+ 11 3 2 3
+ - --- - 1/300 z , COEFF(-1, 2, -2) = - 1/245 x y + 1/175 x y z + 1/150 y
+ 420
+
+ 2 2 2 2 3
+ - 1/100 y z - 1/200 x y - 2/175 y z + 1/175 z - 1/350 x z + 1/150 x
+
+ 19 2 47 2 3 107
+ + 1/250 x z - ---- + 2/245 y z + ---- z + 1/350 x z - 1/300 z - ---- x
+ 2100 5250 7000
+
+ 2 2 169
+ - 1/175 x y - 1/350 x + 1/100 y - ----- y, COEFF(0, 2, -2) = - 1/300
+ 14700
+
+ 3 17 2 2 2
+ + 1/150 y + ---- z + 1/175 z - 2/175 y z + 2/245 y z - 2/245 x y
+ 5250
+
+ 2 3 2 2 2
+ - 1/175 x - 1/300 z + 1/175 x z + 1/100 y - 1/300 y - 1/100 y z,
+
+ 3 2 2 2
+ COEFF(1, 2, -2) = - 1/300 z + 1/350 x z + 1/100 y + 1/200 x y
+
+ 2 169 2 3 2 2
+ + 1/175 z - ----- y + 1/350 x z - 1/150 x - 1/350 x - 1/100 y z
+ 14700
+
+ 107 47 3
+ - 2/175 y z + ---- x + ---- z + 1/150 y - 1/250 x z + 1/175 x y
+ 7000 5250
+
+ 2 19 2
+ - 1/245 x y - ---- - 1/175 x y z + 2/245 y z , COEFF(2, 2, -2) =
+ 2100
+
+ 529 2 3 3 11 2
+ - ----- y - 2/175 y z + 2/245 y z + 1/300 x + 1/150 y - --- + 1/175 z
+ 14700 420
+
+ 2 2 2 2 137
+ + 1/175 x + 1/100 x y + 1/100 y - 1/175 x z - 2/175 x y z - ---- x
+ 5250
+
+ 3 2 137 2 2
+ - 1/300 z + 2/175 x y + 2/245 x y + ---- z - 1/100 y z + 1/175 x z
+ 5250
+
+ 47 169
+ - 1/125 x z, COEFF(-2, -2, -1) = - ---- x - 1/250 x z - ----- y
+ 5250 14700
+
+ 2 2 2
+ - 2/175 x y - 1/175 y z + 2/245 x y - 1/350 x z + 1/200 y z
+
+ 2 2 3 19 2 2
+ + 1/100 x y + 1/350 x z - 1/150 z + ---- + 1/350 z - 1/100 y
+ 2100
+
+ 3 107 2 3 2
+ + 1/150 y + 1/175 x y z + ---- z - 1/245 y z + 1/300 x - 1/175 x ,
+ 7000
+
+ 2 167 2 3 2
+ COEFF(-1, -2, -1) = 1/350 x + ---- x - 1/245 x y - 1/150 z + 1/200 x y
+ 7000
+
+ 2 167 2 17
+ + 1/350 z + ---- z - 1/700 x z - ---- - 1/500 x z + 1/350 x y z
+ 7000 2100
+
+ 2 2 191 3 2
+ - 1/245 y z + 1/200 y z + ----- y - 1/175 x y - 1/150 x - 1/100 y
+ 14700
+
+ 3 2 187
+ + 1/150 y - 1/700 x z - 1/175 y z, COEFF(0, -2, -1) = ---- z
+ 7000
+
+ 2 29 3 2 2
+ + 1/200 y z - ---- - 1/150 z + 1/175 x - 1/245 y z - 1/175 y z
+ 2100
+
+ 3 311 2 2 2 2
+ + 1/150 y + ----- y - 1/100 y - 1/350 x z + 1/350 z - 2/245 x y,
+ 14700
+
+ 3 2 3 17
+ COEFF(1, -2, -1) = 1/150 x - 1/350 x y z - 1/700 x z + 1/150 y - ----
+ 2100
+
+ 2 2 2 2 191
+ - 1/245 x y - 1/100 y - 1/175 y z - 1/245 y z + 1/700 x z + ----- y
+ 14700
+
+ 2 167 167 2
+ + 1/350 z + ---- z + 1/500 x z - ---- x + 1/350 x + 1/175 x y
+ 7000 7000
+
+ 2 2 3 2 19
+ + 1/200 y z - 1/200 x y - 1/150 z , COEFF(2, -2, -1) = 1/350 x z + ----
+ 2100
+
+ 47 2 2
+ + 1/250 x z + ---- x - 1/175 y z - 1/175 x + 1/200 y z + 2/175 x y
+ 5250
+
+ 2 2 2 2 107
+ + 2/245 x y - 1/100 y - 1/100 x y + 1/350 z - 1/175 x y z + ---- z
+ 7000
+
+ 3 2 169 3 2 3
+ + 1/150 y - 1/245 y z - ----- y - 1/300 x + 1/350 x z - 1/150 z ,
+ 14700
+
+ 211 2
+ COEFF(-2, -1, -1) = - 1/42 + 1/350 y z + ---- y - 1/350 x - 1/500 x z
+ 3675
+
+ 2 2 2 2 3 3
+ - 1/245 x y - 1/100 y z - 1/50 x y + 1/490 y z + 1/600 x - 2/75 y
+
+ 2 3 2 229
+ + 1/700 z - 1/350 x y z + 1/175 x y - 1/300 z + 1/700 x z + ----- z
+ 10500
+
+ 167 2 2 2
+ + ---- x + 1/50 y - 1/700 x z , COEFF(-1, -1, -1) = - 1/1400 x z
+ 7000
+
+ 2 137 2 2 3
+ + 1/700 x + ---- z - 1/100 y z - 1/1000 x z + 1/490 x y - 2/75 y
+ 5250
+
+ 2 3 2 2 17
+ - 1/1400 x z - 1/300 x + 1/490 y z + 1/700 z + 1/350 y z - ---
+ 525
+
+ 2 3 137 166
+ - 1/100 x y - 1/300 z + ---- x + ---- y - 1/700 x y z + 1/350 x y
+ 5250 3675
+
+ 2 3 289 2
+ + 1/50 y , COEFF(0, -1, -1) = - 1/300 z + ----- z + 1/245 x y
+ 10500
+
+ 2 2 2 2 151
+ + 1/490 y z + 1/350 x + 1/50 y - 1/700 x z + 1/350 y z + ---- y
+ 3675
+
+ 2 37 3 2 3
+ + 1/700 z - ---- - 2/75 y - 1/100 y z, COEFF(1, -1, -1) = - 2/75 y
+ 1050
+
+ 137 2 2 2
+ + ---- z - 1/100 y z + 1/700 x y z + 1/100 x y + 1/350 y z + 1/490 x y
+ 5250
+
+ 3 2 166 2
+ - 1/350 x y - 1/300 z + 1/700 x + ---- y - 1/1400 x z + 1/1000 x z
+ 3675
+
+ 2 2 2 2 17 137 3
+ + 1/490 y z + 1/1400 x z + 1/50 y + 1/700 z - --- - ---- x + 1/300 x ,
+ 525 5250
+
+ 2 229 3 2 2
+ COEFF(2, -1, -1) = 1/700 z + ----- z - 1/600 x + 1/700 x z + 1/490 y z
+ 10500
+
+ 2 2 2 2
+ - 1/350 x - 1/100 y z - 1/175 x y + 1/700 x z + 1/50 y + 1/500 x z
+
+ 2 167 3 3
+ + 1/50 x y - ---- x - 1/300 z + 1/350 y z - 2/75 y - 1/42 + 1/350 x y z
+ 7000
+
+ 2 211 2
+ - 1/245 x y + ---- y, COEFF(-2, 0, -1) = - 1/175 x y z + 1/245 y z
+ 3675
+
+ 3 2
+ + 1/175 y z - 9/98 y + 1/25 y + 2/175 x y - 2/245 x y, COEFF(-1, 0, -1)
+
+ 2 2 57
+ = 1/175 x y + 1/245 y z + 1/245 x y - 1/350 x y z + 1/175 y z - --- y
+ 490
+
+ 3
+ + 1/25 y ,
+
+ 3 61 2 2
+ COEFF(0, 0, -1) = 1/25 y - --- y + 2/245 x y + 1/175 y z + 1/245 y z ,
+ 490
+
+ 2 57 2
+ COEFF(1, 0, -1) = 1/245 x y - --- y + 1/350 x y z - 1/175 x y + 1/245 y z
+ 490
+
+ 3
+ + 1/175 y z + 1/25 y , COEFF(2, 0, -1) = 1/175 x y z + 1/175 y z - 9/98 y
+
+ 2 2 3
+ - 2/245 x y + 1/245 y z + 1/25 y - 2/175 x y, COEFF(-2, 1, -1) =
+
+ 2 3 211 2 167 2
+ 1/700 x z - 2/75 y + ---- y + 1/350 x - ---- x + 1/175 x y + 1/490 y z
+ 3675 7000
+
+ 2 3 2 2 2 2
+ + 1/50 x y + 1/300 z - 1/245 x y - 1/50 y + 1/100 y z - 1/700 z
+
+ 2 3 229
+ - 1/350 x y z - 1/700 x z + 1/42 - 1/600 x + 1/500 x z - ----- z
+ 10500
+
+ 3 2 2 17
+ + 1/350 y z, COEFF(-1, 1, -1) = - 2/75 y + 1/100 y z + 1/1400 x z + ---
+ 525
+
+ 3 166 137 2 2
+ + 1/300 z + ---- y - ---- z - 1/700 x y z + 1/490 x y + 1/100 x y
+ 3675 5250
+
+ 2 2 3 2
+ - 1/50 y + 1/1000 x z - 1/700 x + 1/350 y z + 1/300 x + 1/1400 x z
+
+ 2 137 2 2
+ + 1/490 y z - ---- x - 1/700 z + 1/350 x y, COEFF(0, 1, -1) = 1/100 y z
+ 5250
+
+ 151 3 2 2 2 2
+ + ---- y - 2/75 y - 1/50 y + 1/700 x z + 1/245 x y + 1/490 y z
+ 3675
+
+ 3 37 289 2 2
+ + 1/300 z + ---- - ----- z - 1/350 x - 1/700 z + 1/350 y z,
+ 1050 10500
+
+ 137 2 2
+ COEFF(1, 1, -1) = - 1/1000 x z - 1/350 x y + ---- x - 1/100 x y - 1/700 x
+ 5250
+
+ 3 2 17 2 137 3 2
+ - 1/300 x - 1/50 y + --- + 1/1400 x z - ---- z + 1/300 z + 1/490 x y
+ 525 5250
+
+ 166 2 3 2
+ + ---- y - 1/700 z - 2/75 y + 1/100 y z + 1/700 x y z + 1/350 y z
+ 3675
+
+ 2 2 2 2
+ + 1/490 y z - 1/1400 x z , COEFF(2, 1, -1) = - 1/700 x z + 1/350 x
+
+ 229 2 2 3 2
+ - ----- z + 1/490 y z + 1/100 y z - 1/175 x y - 2/75 y - 1/700 x z
+ 10500
+
+ 2 167 2 211 2
+ - 1/700 z + ---- x - 1/50 x y + ---- y + 1/350 y z - 1/245 x y
+ 7000 3675
+
+ 3 3 2
+ + 1/600 x + 1/350 x y z + 1/300 z + 1/42 - 1/500 x z - 1/50 y ,
+
+ 3 2 2
+ COEFF(-2, 2, -1) = 1/150 z - 1/245 y z - 2/175 x y - 1/100 x y
+
+ 2 169 2 2
+ - 1/350 x z - ----- y + 1/250 x z + 1/175 x y z + 1/350 x z + 1/100 y
+ 14700
+
+ 2 47 3 3 2
+ - 1/200 y z + ---- x - 1/300 x - 1/175 y z + 1/150 y + 1/175 x
+ 5250
+
+ 107 19 2 2 3
+ - ---- z - ---- + 2/245 x y - 1/350 z , COEFF(-1, 2, -1) = 1/150 y
+ 7000 2100
+
+ 2 2 3
+ - 1/200 x y + 1/350 x y z + 1/500 x z - 1/175 y z - 1/350 x + 1/150 x
+
+ 2 2 2 2 167 2
+ - 1/245 x y - 1/245 y z - 1/200 y z - 1/350 z - ---- z + 1/700 x z
+ 7000
+
+ 2 2 167 17 3 191
+ + 1/700 x z + 1/100 y - ---- x + ---- - 1/175 x y + 1/150 z + ----- y,
+ 7000 2100 14700
+
+ 2 2 2 29 2
+ COEFF(0, 2, -1) = - 2/245 x y - 1/245 y z - 1/175 x + ---- - 1/200 y z
+ 2100
+
+ 2 3 2 3 187
+ + 1/100 y + 1/150 y - 1/350 z - 1/175 y z + 1/150 z - ---- z
+ 7000
+
+ 2 311 3 167 167
+ + 1/350 x z + ----- y, COEFF(1, 2, -1) = - 1/150 x + ---- x - ---- z
+ 14700 7000 7000
+
+ 191 2 2 2 3
+ + ----- y - 1/700 x z - 1/350 z + 1/200 x y - 1/350 x y z + 1/150 y
+ 14700
+
+ 2 2 3 2 2
+ + 1/175 x y - 1/245 x y - 1/350 x + 1/150 z - 1/245 y z + 1/700 x z
+
+ 2 2 17
+ - 1/175 y z - 1/500 x z + 1/100 y - 1/200 y z + ----, COEFF(2, 2, -1) =
+ 2100
+
+ 2 3 107 2 19 2 2
+ 1/100 x y + 1/150 z - ---- z - 1/200 y z - ---- + 2/245 x y + 1/100 y
+ 7000 2100
+
+ 2 169 2
+ - 1/250 x z - 1/245 y z - ----- y - 1/175 x y z + 2/175 x y - 1/350 x z
+ 14700
+
+ 2 2 2 47 3
+ - 1/350 z - 1/350 x z + 1/175 x - ---- x - 1/175 y z + 1/150 y
+ 5250
+
+ 3 2 2 2
+ + 1/300 x , COEFF(-2, -2, 0) = - 2/245 y z - 1/175 x z + 1/100 x y
+
+ 2 2 3
+ - 1/100 y - 1/175 x + 1/300 + 1/300 x - 2/175 x y - 1/300 y
+
+ 2 17 2 3 2
+ + 2/245 x y - ---- x + 1/175 z + 1/150 y , COEFF(-1, -2, 0) = 1/200 x y
+ 5250
+
+ 3 2 2 29 2 2
+ + 1/150 y - 1/100 y - 1/245 x y - ---- - 1/350 x z - 2/245 y z
+ 2100
+
+ 187 311 3 2 2
+ - 1/175 x y + ---- x + ----- y - 1/150 x + 1/175 z + 1/350 x ,
+ 7000 14700
+
+ 3 2 2 2 431
+ COEFF(0, -2, 0) = 1/150 y - 2/245 y z - 1/100 y + 1/175 z + ----- y
+ 14700
+
+ 41 2 2 187 2
+ - ---- + 1/175 x - 2/245 x y, COEFF(1, -2, 0) = - ---- x - 1/200 x y
+ 2100 7000
+
+ 2 2 3 2 2
+ + 1/175 z - 1/100 y + 1/150 x + 1/175 x y - 2/245 y z + 1/350 x
+
+ 29 311 2 2 3
+ - ---- + ----- y + 1/350 x z - 1/245 x y + 1/150 y , COEFF(2, -2, 0) =
+ 2100 14700
+
+ 3 17 2 2 2
+ - 1/300 x - 1/300 y + ---- x - 1/175 x - 1/100 y + 1/175 x z
+ 5250
+
+ 2 2 2 3 2
+ - 2/245 y z + 1/300 - 1/100 x y + 1/175 z + 1/150 y + 2/245 x y
+
+ 3 3 2 187
+ + 2/175 x y, COEFF(-2, -1, 0) = - 2/75 y + 1/600 x - 1/350 x z + ---- x
+ 7000
+
+ 2 2 2 2
+ + 1/175 x y + 1/350 z - 2/75 - 1/350 x + 4/75 y + 1/50 y - 1/50 x y
+
+ 2 2 2 2 289
+ + 1/245 y z - 1/245 x y, COEFF(-1, -1, 0) = 1/50 y + 1/700 x + ----- x
+ 10500
+
+ 2 37 2 2 2
+ - 1/100 x y - ---- + 1/350 x y + 1/245 y z + 1/350 z - 1/700 x z
+ 1050
+
+ 151 3 3 2 2
+ + ---- y - 2/75 y - 1/300 x + 1/490 x y, COEFF(0, -1, 0) = 1/350 x
+ 3675
+
+ 2 3 2 2 2 136
+ + 1/245 x y - 2/75 y + 1/350 z + 1/50 y + 1/245 y z + ---- y - 4/105,
+ 3675
+
+ 2 2 37 2 2
+ COEFF(1, -1, 0) = 1/350 z + 1/100 x y - ---- + 1/490 x y + 1/700 x z
+ 1050
+
+ 289 2 2 3 3 151
+ - ----- x + 1/50 y - 1/350 x y + 1/245 y z + 1/300 x - 2/75 y + ---- y
+ 10500 3675
+
+ 2 2 2 2
+ + 1/700 x , COEFF(2, -1, 0) = - 1/350 x - 1/245 x y + 1/50 x y
+
+ 2 3 2 2 187
+ + 1/350 x z - 2/75 y + 4/75 y + 1/350 z + 1/50 y - 2/75 - ---- x
+ 7000
+
+ 2 3
+ + 1/245 y z - 1/175 x y - 1/600 x ,
+
+ 3 2 2
+ COEFF(-2, 0, 0) = 1/25 y + 2/245 y z - 1/10 y - 2/245 x y + 2/175 x y,
+
+ 61 2 2 3
+ COEFF(-1, 0, 0) = - --- y + 1/245 x y + 2/245 y z + 1/25 y + 1/175 x y,
+ 490
+
+ 3 13 2 2
+ COEFF(0, 0, 0) = 1/25 y - -- y + 2/245 y z + 2/245 x y,
+ 98
+
+ 2 2 61 3
+ COEFF(1, 0, 0) = 2/245 y z + 1/245 x y - --- y - 1/175 x y + 1/25 y ,
+ 490
+
+ 2 2 3
+ COEFF(2, 0, 0) = - 2/175 x y + 2/245 y z - 2/245 x y - 1/10 y + 1/25 y ,
+
+ 2 2 2 2 3
+ COEFF(-2, 1, 0) = 1/350 x + 1/50 x y - 1/245 x y - 1/350 z - 2/75 y
+
+ 2 2 3 187
+ - 1/50 y + 1/245 y z + 4/75 y - 1/600 x + 1/175 x y - ---- x
+ 7000
+
+ 2 2 3
+ + 1/350 x z + 2/75, COEFF(-1, 1, 0) = 1/245 y z + 1/350 x y + 1/300 x
+
+ 2 2 151 289 2 3 2
+ - 1/700 x - 1/350 z + ---- y - ----- x + 1/490 x y - 2/75 y - 1/50 y
+ 3675 10500
+
+ 2 37 2 2
+ + 1/100 x y + ---- + 1/700 x z , COEFF(0, 1, 0) = 4/105 - 1/350 x
+ 1050
+
+ 2 2 2 2 136 3
+ - 1/350 z + 1/245 x y + 1/245 y z - 1/50 y + ---- y - 2/75 y ,
+ 3675
+
+ 2 2 289 3 3
+ COEFF(1, 1, 0) = - 1/700 x z - 1/100 x y + ----- x - 1/300 x - 2/75 y
+ 10500
+
+ 2 2 2 2 37 2 151
+ - 1/700 x - 1/50 y + 1/490 x y + 1/245 y z + ---- - 1/350 z + ---- y
+ 1050 3675
+
+ 2 3 3 2
+ - 1/350 x y, COEFF(2, 1, 0) = 1/350 x - 2/75 y + 1/600 x - 1/245 x y
+
+ 187 2 2 2 2
+ + ---- x + 1/245 y z + 4/75 y - 1/350 x z - 1/50 x y - 1/50 y
+ 7000
+
+ 2 2
+ - 1/175 x y + 2/75 - 1/350 z , COEFF(-2, 2, 0) = - 1/100 x y - 2/175 x y
+
+ 2 17 2 3 2 2
+ + 2/245 x y + ---- x - 1/175 z - 1/300 x + 1/175 x + 1/175 x z
+ 5250
+
+ 3 2 2
+ + 1/150 y + 1/100 y - 2/245 y z - 1/300 y - 1/300, COEFF(-1, 2, 0) =
+
+ 311 2 2 2 3 187
+ ----- y - 2/245 y z - 1/245 x y - 1/200 x y + 1/150 x - ---- x
+ 14700 7000
+
+ 3 2 2 2 29
+ + 1/150 y + 1/350 x z - 1/175 z - 1/175 x y - 1/350 x + ----
+ 2100
+
+ 2 2 431 2 2
+ + 1/100 y , COEFF(0, 2, 0) = 1/100 y + ----- y - 2/245 y z - 1/175 z
+ 14700
+
+ 3 2 2 41 3
+ + 1/150 y - 2/245 x y - 1/175 x + ----, COEFF(1, 2, 0) = 1/150 y
+ 2100
+
+ 29 2 2 311 2 2
+ + ---- - 1/175 z + 1/100 y + ----- y + 1/200 x y - 1/350 x
+ 2100 14700
+
+ 2 187 3 2 2
+ - 1/245 x y + ---- x - 1/150 x - 2/245 y z + 1/175 x y - 1/350 x z ,
+ 7000
+
+ 2 2 2 3
+ COEFF(2, 2, 0) = 1/100 y + 1/100 x y - 2/245 y z + 1/300 x + 2/175 x y
+
+ 3 2 2 2 17
+ - 1/300 y + 1/150 y - 1/175 x z - 1/175 z + 2/245 x y - ---- x
+ 5250
+
+ 2 3 2 2
+ + 1/175 x - 1/300, COEFF(-2, -2, 1) = 1/150 z - 1/100 y - 1/175 x
+
+ 2 2
+ + 1/250 x z - 1/350 x z - 1/175 x y z + 1/175 y z + 1/100 x y
+
+ 2 19 107 2 3
+ + 2/245 x y + ---- - ---- z - 1/245 y z - 2/175 x y + 1/300 x
+ 2100 7000
+
+ 2 2 3 2 169 47
+ - 1/350 x z - 1/200 y z + 1/150 y + 1/350 z - ----- y - ---- x,
+ 14700 5250
+
+ 167 3 167
+ COEFF(-1, -2, 1) = ---- x - 1/350 x y z + 1/150 z - ---- z + 1/500 x z
+ 7000 7000
+
+ 2 3 2 2 191 17
+ + 1/350 z - 1/150 x - 1/175 x y - 1/100 y - 1/200 y z + ----- y - ----
+ 14700 2100
+
+ 2 2 2 3 2 2
+ + 1/350 x - 1/245 x y - 1/700 x z + 1/150 y + 1/200 x y - 1/245 y z
+
+ 2 2 2
+ + 1/700 x z + 1/175 y z, COEFF(0, -2, 1) = 1/350 z - 1/100 y
+
+ 3 2 2 187 29 311
+ + 1/175 y z + 1/150 y - 2/245 x y + 1/175 x - ---- z - ---- + ----- y
+ 7000 2100 14700
+
+ 3 2 2 2
+ + 1/150 z + 1/350 x z - 1/200 y z - 1/245 y z , COEFF(1, -2, 1) =
+
+ 191 167 2 3 2 167
+ ----- y - ---- z + 1/175 y z - 1/100 y + 1/150 x - 1/200 x y - ---- x
+ 14700 7000 7000
+
+ 3 2 17 2 2 3
+ + 1/150 z + 1/700 x z - ---- + 1/350 z - 1/245 y z + 1/150 y
+ 2100
+
+ 2 2
+ - 1/200 y z - 1/500 x z - 1/245 x y + 1/350 x y z + 1/175 x y
+
+ 2 2 2
+ + 1/700 x z + 1/350 x , COEFF(2, -2, 1) = - 1/175 x + 2/175 x y
+
+ 169 3 2 2 2 2
+ - ----- y + 1/150 z - 1/100 y + 2/245 x y - 1/245 y z - 1/200 y z
+ 14700
+
+ 19 3 107 2
+ + ---- - 1/300 x - ---- z + 1/175 x y z - 1/250 x z - 1/100 x y
+ 2100 7000
+
+ 2 2 2 3 47
+ + 1/350 z + 1/175 y z + 1/350 x z - 1/350 x z + 1/150 y + ---- x,
+ 5250
+
+ 3 211 167 2
+ COEFF(-2, -1, 1) = - 1/350 y z - 2/75 y + ---- y + ---- x - 1/50 x y
+ 3675 7000
+
+ 2 2 2 2 2
+ + 1/500 x z + 1/700 z - 1/245 x y + 1/50 y - 1/350 x - 1/700 x z
+
+ 229 2 3 2 3
+ - ----- z - 1/42 + 1/490 y z + 1/600 x - 1/700 x z + 1/300 z
+ 10500
+
+ 2 166
+ + 1/100 y z + 1/350 x y z + 1/175 x y, COEFF(-1, -1, 1) = ---- y
+ 3675
+
+ 3 2 137 2
+ - 1/300 x + 1/490 y z + ---- x + 1/100 y z + 1/700 x y z - 1/350 y z
+ 5250
+
+ 137 3 2 2
+ - ---- z + 1/300 z + 1/50 y + 1/1000 x z + 1/700 z + 1/350 x y
+ 5250
+
+ 2 2 2 2 2 17
+ - 1/1400 x z + 1/490 x y + 1/1400 x z + 1/700 x - 1/100 x y - ---
+ 525
+
+ 3 289 2 2 3
+ - 2/75 y , COEFF(0, -1, 1) = - ----- z + 1/490 y z + 1/700 x z - 2/75 y
+ 10500
+
+ 2 37 2 3 2 2 151
+ + 1/100 y z - ---- + 1/50 y + 1/300 z + 1/350 x + 1/700 z + ---- y
+ 1050 3675
+
+ 2 2 3
+ - 1/350 y z + 1/245 x y, COEFF(1, -1, 1) = 1/100 y z - 2/75 y
+
+ 17 2 2
+ - 1/700 x y z - --- - 1/350 x y + 1/50 y - 1/1000 x z + 1/490 y z
+ 525
+
+ 2 3 2 2 3
+ + 1/700 x - 1/350 y z + 1/300 x + 1/1400 x z + 1/700 z + 1/300 z
+
+ 2 137 137 2 2 166
+ + 1/1400 x z - ---- x - ---- z + 1/490 x y + 1/100 x y + ---- y,
+ 5250 5250 3675
+
+ 211 167 2 3
+ COEFF(2, -1, 1) = - 1/350 y z + ---- y - ---- x + 1/700 z - 1/600 x
+ 3675 7000
+
+ 2 3 2 2
+ + 1/50 x y + 1/300 z - 1/42 + 1/100 y z - 1/245 x y - 1/175 x y
+
+ 2 3 229 2
+ - 1/500 x z - 1/350 x - 1/350 x y z - 2/75 y - ----- z - 1/700 x z
+ 10500
+
+ 2 2 2
+ + 1/50 y + 1/490 y z + 1/700 x z , COEFF(-2, 0, 1) = - 1/175 y z
+
+ 3 2 2
+ + 2/175 x y + 1/25 y - 2/245 x y + 1/175 x y z - 9/98 y + 1/245 y z ,
+
+ 3 57 2
+ COEFF(-1, 0, 1) = 1/25 y + 1/175 x y - --- y - 1/175 y z + 1/245 y z
+ 490
+
+ 2
+ + 1/245 x y + 1/350 x y z,
+
+ 2 2 3 61
+ COEFF(0, 0, 1) = 2/245 x y - 1/175 y z + 1/245 y z + 1/25 y - --- y,
+ 490
+
+ 3 2 57 2
+ COEFF(1, 0, 1) = - 1/175 x y + 1/25 y + 1/245 x y - --- y + 1/245 y z
+ 490
+
+ 2
+ - 1/175 y z - 1/350 x y z, COEFF(2, 0, 1) = - 2/245 x y - 2/175 x y
+
+ 2 3
+ - 1/175 y z - 1/175 x y z + 1/245 y z + 1/25 y - 9/98 y, COEFF(-2, 1, 1)
+
+ 2 2 211 3
+ = - 1/500 x z + 1/50 x y + 1/42 + 1/700 x z + ---- y - 2/75 y
+ 3675
+
+ 2 2 167 2
+ - 1/350 y z - 1/50 y - 1/700 z + 1/350 x y z - ---- x + 1/350 x
+ 7000
+
+ 2 229 3 2 2
+ - 1/100 y z + 1/175 x y + ----- z - 1/600 x - 1/245 x y + 1/700 x z
+ 10500
+
+ 3 2 17 2 3
+ - 1/300 z + 1/490 y z , COEFF(-1, 1, 1) = --- - 1/700 z + 1/300 x
+ 525
+
+ 2 2 2 3 2
+ - 1/1000 x z + 1/100 x y - 1/50 y + 1/1400 x z - 2/75 y + 1/490 y z
+
+ 137 2 2 3 2
+ - ---- x - 1/350 y z + 1/490 x y - 1/100 y z - 1/300 z - 1/700 x
+ 5250
+
+ 137 166 2
+ + ---- z + 1/700 x y z + ---- y + 1/350 x y - 1/1400 x z, COEFF(0, 1, 1)
+ 5250 3675
+
+ 3 2 151 2 2 3
+ = - 1/300 z - 1/100 y z + ---- y - 1/700 z - 1/50 y - 2/75 y
+ 3675
+
+ 289 2 2 37 2
+ - 1/350 y z + ----- z + 1/245 x y - 1/350 x + ---- + 1/490 y z
+ 10500 1050
+
+ 2 2 2 2
+ - 1/700 x z, COEFF(1, 1, 1) = - 1/1400 x z - 1/100 y z - 1/100 x y
+
+ 2 2 137 3 2
+ - 1/700 x - 1/1400 x z + ---- x - 1/300 z + 1/490 y z - 1/350 x y
+ 5250
+
+ 3 166 17 2 2
+ - 2/75 y + ---- y - 1/350 y z + --- - 1/50 y + 1/490 x y - 1/700 x y z
+ 3675 525
+
+ 137 2 3 2
+ + 1/1000 x z + ---- z - 1/700 z - 1/300 x , COEFF(2, 1, 1) = 1/700 x z
+ 5250
+
+ 167 2 2 2 211
+ + ---- x - 1/700 x z - 1/700 z + 1/500 x z - 1/100 y z + ---- y
+ 7000 3675
+
+ 2 3 2 229 2 2
+ - 1/245 x y - 2/75 y - 1/50 y + ----- z + 1/490 y z + 1/350 x
+ 10500
+
+ 2 3
+ - 1/350 y z - 1/350 x y z - 1/175 x y - 1/50 x y + 1/42 - 1/300 z
+
+ 3 3 2 19
+ + 1/600 x , COEFF(-2, 2, 1) = - 1/175 x y z + 1/150 y + 1/350 x z - ----
+ 2100
+
+ 2 3 2 169 107 2
+ + 2/245 x y - 1/150 z + 1/350 x z - ----- y + ---- z - 1/350 z
+ 14700 7000
+
+ 2 3 47 2
+ - 1/100 x y - 1/300 x + 1/175 y z + ---- x + 1/100 y - 1/250 x z
+ 5250
+
+ 2 2 2
+ + 1/200 y z + 1/175 x - 1/245 y z - 2/175 x y, COEFF(-1, 2, 1) =
+
+ 2 2 2 167 2
+ - 1/175 x y - 1/350 z - 1/700 x z - 1/350 x - ---- x - 1/200 x y
+ 7000
+
+ 3 167 2 2
+ - 1/350 x y z - 1/150 z + 1/175 y z + ---- z + 1/100 y - 1/245 y z
+ 7000
+
+ 3 2 2 17 2
+ + 1/150 y - 1/245 x y + 1/700 x z + ---- + 1/200 y z - 1/500 x z
+ 2100
+
+ 3 191 2 2
+ + 1/150 x + ----- y, COEFF(0, 2, 1) = - 2/245 x y - 1/175 x
+ 14700
+
+ 2 2 3 311 2 29
+ + 1/200 y z - 1/350 x z - 1/150 z + ----- y + 1/100 y + ----
+ 14700 2100
+
+ 3 2 2 187
+ + 1/150 y - 1/245 y z - 1/350 z + 1/175 y z + ---- z, COEFF(1, 2, 1) =
+ 7000
+
+ 2 3 2 2 2 2
+ 1/200 x y - 1/150 x - 1/245 x y - 1/245 y z - 1/350 z + 1/200 y z
+
+ 3 3 167
+ + 1/175 y z + 1/150 y - 1/150 z + ---- x + 1/175 x y + 1/500 x z
+ 7000
+
+ 2 167 191 2 2
+ + 1/100 y + ---- z + ----- y - 1/700 x z - 1/700 x z + 1/350 x y z
+ 7000 14700
+
+ 17 2 2 47 2
+ + ---- - 1/350 x , COEFF(2, 2, 1) = - 1/350 z - ---- x - 1/245 y z
+ 2100 5250
+
+ 2 107 2 2
+ + 1/250 x z + 2/245 x y + ---- z + 1/100 x y + 1/175 y z + 1/100 y
+ 7000
+
+ 169 2 2 3
+ + 1/175 x y z - ----- y - 1/350 x z + 2/175 x y + 1/200 y z - 1/150 z
+ 14700
+
+ 2 2 3 19 3
+ + 1/175 x + 1/350 x z + 1/150 y - ---- + 1/300 x , COEFF(-2, -2, 2) =
+ 2100
+
+ 2 2 137 3 2 2
+ 1/100 x y + 2/245 y z - ---- x - 1/300 z - 1/175 x z - 1/100 y
+ 5250
+
+ 3 2 3
+ + 1/300 x + 2/175 y z - 2/175 x y + 2/245 x y - 2/175 x y z + 1/150 y
+
+ 137 2 529 11 2 2
+ + ---- z - 1/175 z - ----- y + --- - 1/100 y z - 1/175 x + 1/125 x z
+ 5250 14700 420
+
+ 2 2 2
+ + 1/175 x z , COEFF(-1, -2, 2) = - 1/175 z + 1/200 x y - 1/175 x y
+
+ 3 2 47 2
+ + 1/250 x z + 1/150 y - 1/245 x y + ---- z - 1/175 x y z - 1/100 y z
+ 5250
+
+ 169 19 3 2 3 2
+ - ----- y + ---- - 1/150 x + 1/350 x z - 1/300 z + 2/245 y z
+ 14700 2100
+
+ 2 2 2 107
+ + 1/350 x z + 2/175 y z + 1/350 x - 1/100 y + ---- x, COEFF(0, -2, 2)
+ 7000
+
+ 3 2 3 2
+ = 2/175 y z - 1/300 z + 1/300 + 1/175 x + 1/150 y - 1/175 z
+
+ 2 2 17 2 2
+ - 2/245 x y + 1/175 x z - 1/300 y + ---- z + 2/245 y z - 1/100 y
+ 5250
+
+ 2 2 107
+ - 1/100 y z, COEFF(1, -2, 2) = 2/245 y z - ---- x + 1/175 x y z
+ 7000
+
+ 2 2 2 3 47 3
+ - 1/350 x z + 1/350 x z - 1/175 z + 1/150 y + ---- z - 1/300 z
+ 5250
+
+ 2 169 3 2
+ - 1/100 y + 2/175 y z - ----- y + 1/150 x - 1/245 x y - 1/250 x z
+ 14700
+
+ 2 2 2 19
+ + 1/350 x - 1/100 y z + 1/175 x y - 1/200 x y + ----, COEFF(2, -2, 2)
+ 2100
+
+ 137 2 3 11
+ = 2/175 x y z + ---- z - 1/175 x z - 1/300 x + --- + 2/175 x y
+ 5250 420
+
+ 2 2 2 2
+ + 2/175 y z - 1/125 x z - 1/100 y - 1/100 y z - 1/175 x - 1/100 x y
+
+ 3 529 2 137 3 2
+ - 1/300 z - ----- y + 2/245 y z + ---- x + 1/150 y - 1/175 z
+ 14700 5250
+
+ 2 2 256 3 107
+ + 2/245 x y - 1/175 x z, COEFF(-2, -1, 2) = ---- y - 2/75 y + ---- x
+ 3675 7000
+
+ 2 2 107
+ + 1/350 x z - 1/350 z + 1/175 x y z - ---- z - 1/175 y z + 1/175 x y
+ 7000
+
+ 2 2 3 2 3
+ + 1/250 x z - 1/350 x - 1/245 x y + 1/600 x + 1/50 y z - 1/600 z
+
+ 2 2 2 2
+ - 1/50 x y - 1/245 y z - 1/350 x z + 1/50 y - 8/525, COEFF(-1, -1, 2)
+
+ 3 2 2 2 2 229
+ = - 2/75 y - 1/245 y z + 1/700 x z + 1/50 y - 1/350 z + ----- x
+ 10500
+
+ 3 167 2 2 2
+ - 1/600 z - ---- z + 1/50 y z + 1/350 x y z + 1/490 x y - 1/100 x y
+ 7000
+
+ 3 2 2 211
+ - 1/300 x - 1/42 - 1/175 y z + 1/700 x z + 1/700 x + 1/350 x y + ---- y
+ 3675
+
+ 2 2 2
+ + 1/500 x z, COEFF(0, -1, 2) = 4/75 y + 1/245 x y + 1/350 x - 1/245 y z
+
+ 2 2 187 2 3
+ + 1/350 x z + 1/50 y - 2/75 - 1/175 y z - ---- z - 1/350 z - 1/600 z
+ 7000
+
+ 3 2 3 2
+ - 2/75 y + 1/50 y z, COEFF(1, -1, 2) = - 2/75 y - 1/700 x z
+
+ 2 211 167
+ - 1/245 y z - 1/500 x z - 1/350 x y + ---- y - ---- z - 1/175 y z
+ 3675 7000
+
+ 2 2 2 2 2 3
+ + 1/700 x + 1/700 x z + 1/100 x y + 1/50 y z + 1/490 x y + 1/300 x
+
+ 2 3 2 229
+ + 1/50 y - 1/600 z - 1/350 z - 1/350 x y z - ----- x - 1/42,
+ 10500
+
+ 2 107 2 3 2
+ COEFF(2, -1, 2) = 1/50 x y - ---- x - 1/245 y z - 2/75 y + 1/50 y
+ 7000
+
+ 256 2 2 107
+ + ---- y - 1/245 x y - 1/175 x y - 1/350 x - ---- z - 8/525
+ 3675 7000
+
+ 3 2 3
+ - 1/175 x y z - 1/600 z + 1/50 y z - 1/250 x z - 1/175 y z - 1/600 x
+
+ 2 2 2
+ - 1/350 x z - 1/350 z - 1/350 x z , COEFF(-2, 0, 2) = 2/175 x y
+
+ 2 3 2 33
+ - 2/245 y z + 1/25 y - 2/245 x y - --- y + 2/175 x y z - 2/175 y z,
+ 490
+
+ 2 3
+ COEFF(-1, 0, 2) = 1/245 x y - 9/98 y - 2/175 y z + 1/25 y + 1/175 x y z
+
+ 2
+ + 1/175 x y - 2/245 y z ,
+
+ 2 2 3
+ COEFF(0, 0, 2) = - 2/175 y z + 2/245 x y - 2/245 y z - 1/10 y + 1/25 y ,
+
+ 2 2 3
+ COEFF(1, 0, 2) = - 2/245 y z + 1/245 x y + 1/25 y - 1/175 x y z - 9/98 y
+
+ 2
+ - 2/175 y z - 1/175 x y, COEFF(2, 0, 2) = - 2/245 y z - 2/175 x y z
+
+ 2 3 33
+ - 2/245 x y - 2/175 y z + 1/25 y - --- y - 2/175 x y, COEFF(-2, 1, 2) =
+ 490
+
+ 256 2 3 3 107
+ ---- y - 1/50 y z - 2/75 y - 1/600 x - 1/250 x z + ---- z + 8/525
+ 3675 7000
+
+ 2 2 2 2
+ + 1/350 x z - 1/350 x z - 1/245 x y + 1/175 x y + 1/350 z
+
+ 107 2 3 2
+ + 1/175 x y z - ---- x - 1/245 y z - 1/175 y z + 1/600 z + 1/50 x y
+ 7000
+
+ 2 2 229 2
+ - 1/50 y + 1/350 x , COEFF(-1, 1, 2) = - ----- x + 1/350 x y - 1/700 x z
+ 10500
+
+ 2 2 2
+ + 1/490 x y + 1/100 x y + 1/350 x y z - 1/175 y z - 1/500 x z - 1/50 y
+
+ 167 2 211 2 3 2 3
+ + ---- z - 1/700 x z + ---- y + 1/350 z + 1/300 x - 1/50 y z - 2/75 y
+ 7000 3675
+
+ 3 2 2 3
+ + 1/600 z - 1/245 y z + 1/42 - 1/700 x , COEFF(0, 1, 2) = - 2/75 y
+
+ 2 2 2 187 3 2
+ + 1/245 x y - 1/50 y - 1/350 x + ---- z + 1/600 z + 1/350 z + 2/75
+ 7000
+
+ 2 2 2
+ - 1/50 y z - 1/245 y z - 1/350 x z + 4/75 y - 1/175 y z, COEFF(1, 1, 2)
+
+ 3 2 2 2
+ = - 2/75 y - 1/350 x y - 1/50 y z + 1/42 + 1/490 x y - 1/100 x y
+
+ 229 2 2 211 3
+ + ----- x + 1/700 x z + 1/350 z + ---- y + 1/500 x z + 1/600 z
+ 10500 3675
+
+ 3 2 2 2
+ - 1/300 x - 1/700 x z - 1/245 y z - 1/175 y z - 1/50 y - 1/350 x y z
+
+ 2 167 2 2 2
+ - 1/700 x + ---- z, COEFF(2, 1, 2) = - 1/245 x y + 1/350 x - 1/50 y z
+ 7000
+
+ 2 2 2 3 107
+ - 1/50 y + 1/350 x z - 1/245 y z + 1/600 x - 1/175 x y z + ---- x
+ 7000
+
+ 107 2 256 2 2
+ - 1/175 x y + ---- z + 1/350 z + ---- y - 1/50 x y + 1/350 x z
+ 7000 3675
+
+ 3 3
+ - 2/75 y - 1/175 y z + 8/525 + 1/250 x z + 1/600 z , COEFF(-2, 2, 2) =
+
+ 2 529 2 11 2 2
+ 2/245 x y - ----- y - 1/125 x z + 1/175 x - --- + 2/245 y z - 1/100 x y
+ 14700 420
+
+ 2 2 3 2 137 2
+ + 1/175 z + 1/100 y z + 1/300 z + 1/175 x z - ---- z - 1/175 x z
+ 5250
+
+ 137 3 3
+ + ---- x - 1/300 x - 2/175 x y z + 1/150 y + 2/175 y z - 2/175 x y
+ 5250
+
+ 2 2
+ + 1/100 y , COEFF(-1, 2, 2) = - 1/250 x z - 1/245 x y - 1/175 x y z
+
+ 169 2 19 2 3 2 107
+ - ----- y + 2/245 y z - ---- - 1/350 x z + 1/150 y + 1/175 z - ---- x
+ 14700 2100 7000
+
+ 2 2 2 47 2
+ - 1/350 x z + 2/175 y z + 1/100 y z - 1/350 x - ---- z - 1/200 x y
+ 5250
+
+ 3 3 2
+ + 1/150 x + 1/300 z - 1/175 x y + 1/100 y , COEFF(0, 2, 2) = - 1/300
+
+ 3 2 2 2 3 2
+ + 1/150 y + 1/175 z + 2/245 y z - 1/175 x z + 1/300 z + 1/100 y z
+
+ 2 2 17 2
+ - 1/300 y + 1/100 y - 1/175 x - ---- z + 2/175 y z - 2/245 x y,
+ 5250
+
+ 3 2 2 2 169
+ COEFF(1, 2, 2) = 1/150 y - 1/350 x - 1/350 x z + 1/100 y - ----- y
+ 14700
+
+ 107 2 2 3
+ + ---- x + 2/245 y z + 2/175 y z - 1/245 x y - 1/150 x + 1/175 x y
+ 7000
+
+ 2 2 47 2 3
+ + 1/200 x y + 1/350 x z + 1/175 x y z - ---- z + 1/100 y z + 1/300 z
+ 5250
+
+ 2 19 3 2
+ + 1/175 z + 1/250 x z - ----, COEFF(2, 2, 2) = 1/300 x + 2/245 y z
+ 2100
+
+ 2 2 529 3
+ + 2/175 x y z + 1/175 x z + 2/245 x y - ----- y + 2/175 y z + 1/150 y
+ 14700
+
+ 11 137 2 2 2
+ - --- - ---- x + 1/100 x y + 1/175 x + 2/175 x y + 1/125 x z + 1/100 y
+ 420 5250
+
+ 2 3 2 2 137
+ + 1/175 z + 1/300 z + 1/175 x z + 1/100 y z - ---- z]
+ 5250
+
+> print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c");
+bytes used=1543981972, alloc=15136044, time=205.94
+bytes used=1544982208, alloc=15136044, time=206.01
+bytes used=1545982400, alloc=15136044, time=206.08
+bytes used=1546982604, alloc=15136044, time=206.16
+bytes used=1547983052, alloc=15136044, time=206.24
+bytes used=1548983348, alloc=15136044, time=206.31
+bytes used=1549984984, alloc=15136044, time=206.39
+bytes used=1550985636, alloc=15136044, time=206.52
+bytes used=1551985800, alloc=15136044, time=207.31
+bytes used=1552986420, alloc=15136044, time=208.10
+bytes used=1553986760, alloc=15136044, time=208.88
+bytes used=1554986916, alloc=15136044, time=209.66
+bytes used=1555987416, alloc=15136044, time=210.43
+bytes used=1556987636, alloc=15136044, time=210.70
+bytes used=1557987840, alloc=15136044, time=210.79
+bytes used=1558988188, alloc=15136044, time=210.89
+bytes used=1559988456, alloc=15136044, time=210.98
+bytes used=1560988652, alloc=15136044, time=211.07
+bytes used=1562060044, alloc=15136044, time=211.17
+bytes used=1563175948, alloc=15136044, time=211.24
+bytes used=1564264112, alloc=15136044, time=211.32
+bytes used=1565316524, alloc=15136044, time=211.39
+bytes used=1566334564, alloc=15136044, time=211.46
+bytes used=1567430840, alloc=15136044, time=211.53
+bytes used=1568475376, alloc=15136044, time=211.60
+bytes used=1569545984, alloc=15136044, time=211.68
+bytes used=1570631252, alloc=15136044, time=211.76
+bytes used=1571700416, alloc=15136044, time=211.84
+bytes used=1572722192, alloc=15136044, time=211.93
+bytes used=1573790744, alloc=15136044, time=212.01
+bytes used=1574813380, alloc=15136044, time=212.10
+bytes used=1575850444, alloc=15136044, time=212.19
+bytes used=1576874376, alloc=15136044, time=212.28
+bytes used=1577898720, alloc=15136044, time=212.39
+bytes used=1578899212, alloc=15136044, time=212.49
+bytes used=1579899364, alloc=15136044, time=212.56
+bytes used=1580899632, alloc=15136044, time=214.49
+bytes used=1581899792, alloc=15136044, time=214.94
+bytes used=1582899996, alloc=15136044, time=215.03
+bytes used=1583900628, alloc=15136044, time=215.11
+bytes used=1584901824, alloc=15136044, time=215.20
+bytes used=1585902732, alloc=15136044, time=215.29
+bytes used=1586903576, alloc=15136044, time=215.38
+bytes used=1587904696, alloc=15136044, time=215.47
+bytes used=1588905928, alloc=15136044, time=215.55
+bytes used=1589906848, alloc=15136044, time=215.64
+bytes used=1590907980, alloc=15136044, time=215.73
+bytes used=1591908132, alloc=15136044, time=215.81
+bytes used=1592908860, alloc=15136044, time=215.91
+bytes used=1593909024, alloc=15136044, time=216.00
+bytes used=1594909644, alloc=15136044, time=216.08
+bytes used=1595910424, alloc=15136044, time=216.17
+bytes used=1596910908, alloc=15136044, time=216.25
+bytes used=1597911060, alloc=15136044, time=216.34
+bytes used=1598911216, alloc=15136044, time=216.43
+bytes used=1599911380, alloc=15136044, time=216.51
+bytes used=1600911568, alloc=15136044, time=216.59
+bytes used=1601911696, alloc=15136044, time=216.70
+bytes used=1602911868, alloc=15136044, time=216.82
+bytes used=1603912196, alloc=15136044, time=216.94
+bytes used=1604912756, alloc=15136044, time=217.08
+bytes used=1605913012, alloc=15136044, time=217.23
+bytes used=1606913244, alloc=15136044, time=217.34
+bytes used=1607913504, alloc=15136044, time=217.46
+bytes used=1608913720, alloc=15136044, time=217.59
+bytes used=1609913932, alloc=15136044, time=217.72
+bytes used=1610914128, alloc=15136044, time=217.87
+bytes used=1611914420, alloc=15136044, time=218.00
+bytes used=1612928616, alloc=15136044, time=218.14
+bytes used=1613928788, alloc=15136044, time=218.27
+bytes used=1614945816, alloc=15136044, time=218.40
+bytes used=1615946744, alloc=15136044, time=218.55
+bytes used=1616951704, alloc=15136044, time=218.69
+bytes used=1617961928, alloc=15136044, time=218.82
+bytes used=1618964252, alloc=15136044, time=218.95
+bytes used=1619964496, alloc=15136044, time=219.06
+bytes used=1620964896, alloc=15136044, time=219.18
+bytes used=1621986636, alloc=15136044, time=219.30
+bytes used=1622986868, alloc=15136044, time=219.43
+bytes used=1623987096, alloc=15136044, time=219.53
+bytes used=1624987268, alloc=15136044, time=219.63
+bytes used=1625987496, alloc=15136044, time=219.71
+bytes used=1626987708, alloc=15136044, time=220.31
+bytes used=1627992052, alloc=15136044, time=222.36
+bytes used=1628992272, alloc=15136044, time=223.06
+bytes used=1629992440, alloc=15136044, time=223.38
+bytes used=1630993036, alloc=15136044, time=223.48
+bytes used=1631993388, alloc=15136044, time=223.55
+bytes used=1632993748, alloc=15136044, time=223.63
+bytes used=1633994152, alloc=15136044, time=223.70
+bytes used=1634994344, alloc=15136044, time=223.78
+bytes used=1635994872, alloc=15136044, time=223.85
+bytes used=1636995104, alloc=15136044, time=223.93
+bytes used=1637995312, alloc=15136044, time=224.00
+bytes used=1638995596, alloc=15136044, time=224.07
+bytes used=1639995748, alloc=15136044, time=224.15
+bytes used=1640996188, alloc=15136044, time=224.22
+bytes used=1641996472, alloc=15136044, time=224.30
+bytes used=1642996632, alloc=15136044, time=224.37
+bytes used=1643996804, alloc=15136044, time=224.45
+bytes used=1644996968, alloc=15136044, time=224.52
+bytes used=1645997120, alloc=15136044, time=224.60
+bytes used=1646997312, alloc=15136044, time=224.76
+bytes used=1648018080, alloc=15136044, time=224.92
+bytes used=1649018272, alloc=15136044, time=225.04
+bytes used=1650018532, alloc=15136044, time=225.17
+bytes used=1651043592, alloc=15136044, time=225.32
+bytes used=1652051972, alloc=15136044, time=225.52
+bytes used=1653062780, alloc=15136044, time=225.65
+bytes used=1654065696, alloc=15136044, time=225.78
+bytes used=1655078592, alloc=15136044, time=225.92
+bytes used=1656104820, alloc=15136044, time=226.06
+bytes used=1657107452, alloc=15136044, time=226.22
+bytes used=1658107632, alloc=15136044, time=226.36
+bytes used=1659107896, alloc=15136044, time=226.49
+bytes used=1660108856, alloc=15136044, time=226.59
+bytes used=1661109060, alloc=15136044, time=226.82
+bytes used=1662138196, alloc=15136044, time=229.56
+bytes used=1663146120, alloc=15136044, time=229.76
+bytes used=1664146284, alloc=15136044, time=230.75
+bytes used=1665146440, alloc=15136044, time=230.88
+bytes used=1666146652, alloc=15136044, time=230.98
+bytes used=1667146924, alloc=15136044, time=231.05
+bytes used=1668147300, alloc=15136044, time=231.13
+bytes used=1669147608, alloc=15136044, time=231.20
+bytes used=1670147996, alloc=15136044, time=231.28
+bytes used=1671148208, alloc=15136044, time=231.36
+bytes used=1672148372, alloc=15136044, time=231.44
+bytes used=1673148756, alloc=15136044, time=231.52
+bytes used=1674149016, alloc=15136044, time=231.60
+bytes used=1675149352, alloc=15136044, time=231.67
+bytes used=1676149512, alloc=15136044, time=231.75
+bytes used=1677149860, alloc=15136044, time=231.83
+bytes used=1678150132, alloc=15136044, time=231.91
+bytes used=1679150384, alloc=15136044, time=231.99
+bytes used=1680150576, alloc=15136044, time=232.07
+bytes used=1681150744, alloc=15136044, time=232.27
+bytes used=1682150980, alloc=15136044, time=232.62
+bytes used=1683151228, alloc=15136044, time=232.84
+bytes used=1684151528, alloc=15136044, time=233.16
+bytes used=1685151804, alloc=15136044, time=236.13
+bytes used=1686151972, alloc=15136044, time=236.80
+bytes used=1687152204, alloc=15136044, time=236.89
+bytes used=1688152448, alloc=15136044, time=236.97
+bytes used=1689152824, alloc=15136044, time=237.04
+bytes used=1690153144, alloc=15136044, time=237.12
+bytes used=1691153440, alloc=15136044, time=237.20
+bytes used=1692153604, alloc=15136044, time=237.28
+bytes used=1693153784, alloc=15136044, time=237.35
+bytes used=1694153948, alloc=15136044, time=237.43
+bytes used=1695154220, alloc=15136044, time=237.51
+bytes used=1696154560, alloc=15136044, time=237.59
+bytes used=1697154768, alloc=15136044, time=237.67
+bytes used=1698155060, alloc=15136044, time=237.74
+bytes used=1699155356, alloc=15136044, time=237.82
+bytes used=1700155600, alloc=15136044, time=237.90
+bytes used=1701155828, alloc=15136044, time=237.98
+bytes used=1702157368, alloc=15136044, time=238.21
+bytes used=1703158524, alloc=15136044, time=238.60
+bytes used=1704158768, alloc=15136044, time=238.76
+bytes used=1705159068, alloc=15136044, time=241.39
+bytes used=1706159284, alloc=15136044, time=242.66
+bytes used=1707161088, alloc=15136044, time=242.93
+bytes used=1708161240, alloc=15136044, time=243.10
+bytes used=1709161536, alloc=15136044, time=243.16
+bytes used=1710161884, alloc=15136044, time=243.30
+bytes used=1711162228, alloc=15136044, time=243.46
+>
+# d/dz
+> simplify( diff(interp_3d_cube_order4_smooth0,z) );
+bytes used=1712162540, alloc=15136044, time=243.62
+bytes used=1713162740, alloc=15136044, time=243.70
+bytes used=1714163500, alloc=15136044, time=243.78
+bytes used=1715180868, alloc=15136044, time=243.86
+bytes used=1716329724, alloc=15136044, time=243.96
+bytes used=1717329960, alloc=15136044, time=244.05
+bytes used=1718330248, alloc=15136044, time=244.13
+bytes used=1719330368, alloc=15136044, time=244.21
+bytes used=1720331576, alloc=15136044, time=244.29
+bytes used=1721331828, alloc=15136044, time=244.38
+bytes used=1722331976, alloc=15136044, time=244.46
+bytes used=1723332808, alloc=15136044, time=244.55
+bytes used=1724332972, alloc=15136044, time=244.64
+bytes used=1725333636, alloc=15136044, time=244.73
+bytes used=1726334108, alloc=15136044, time=244.82
+bytes used=1727334756, alloc=15136044, time=244.92
+bytes used=1728334924, alloc=15136044, time=245.01
+bytes used=1729335268, alloc=15136044, time=245.11
+bytes used=1730335844, alloc=15136044, time=245.21
+bytes used=1731419544, alloc=15136044, time=245.30
+bytes used=1732419700, alloc=15136044, time=245.39
+bytes used=1733420056, alloc=15136044, time=245.47
+ 17 37 17
+- --- DATA(-1, 1, -1) - ---- DATA(0, 1, -1) - --- DATA(1, 1, -1)
+ 525 1050 525
+
+ 2 289
+ + 1/245 x z DATA(0, -1, -1) + ----- y DATA(0, -1, -1)
+ 10500
+
+ 17 37 187
+ + --- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) - ---- y DATA(0, 2, -1)
+ 525 1050 7000
+
+ 17 17 37
+ + --- DATA(1, -1, 1) + --- DATA(-1, -1, 1) + ---- DATA(0, -1, 1)
+ 525 525 1050
+
+ 19
+ - 1/175 x y z DATA(2, 2, -1) - ---- DATA(-1, -2, 2) - 1/300 DATA(0, -2, 2)
+ 2100
+
+ 37 37
+ - ---- DATA(-1, 0, -1) - 4/105 DATA(0, 0, -1) - ---- DATA(1, 0, -1)
+ 1050 1050
+
+ + 4/105 DATA(0, 0, 1) - 1/700 x y z DATA(1, 1, -1)
+
+ + 1/175 x y z DATA(2, 1, 2) - 1/175 x y z DATA(1, -2, -2)
+
+ + 1/700 x y z DATA(-1, 1, -1) + 2/175 x y z DATA(2, 2, 2)
+
+ + 1/175 x y z DATA(1, 2, 2) - 2/175 x y z DATA(2, -2, -2)
+
+ 289
+ + ----- y DATA(0, 1, 1) + 1/175 x y z DATA(-2, -1, -2)
+ 10500
+
+ + 1/700 x y z DATA(1, -1, -1) - 1/175 x y z DATA(2, 2, 1)
+
+ - 2/175 x y z DATA(-2, 2, -2) - 1/350 x y z DATA(1, -1, 2)
+
+ - 1/175 x y z DATA(2, -1, 2) + 1/175 x y z DATA(-1, -2, -2)
+
+ - 1/700 x y z DATA(-1, -1, 1) - 1/175 x y z DATA(-1, 2, 2)
+
+ - 1/350 x y z DATA(-1, 1, 2) + 2/175 x y z DATA(-2, -2, -2)
+
+ + 1/700 x y z DATA(1, -1, 1) + 1/700 x y z DATA(-1, 1, 1)
+
+ + 1/350 x y z DATA(1, -2, -1) - 1/350 x y z DATA(-1, -2, -1)
+
+ 17
+ + ---- y DATA(0, -2, 2) + 1/350 x y z DATA(1, 1, -2)
+ 5250
+
+ - 1/175 x y z DATA(-2, 1, -2) - 1/350 x y z DATA(-1, 1, -2)
+
+ 19
+ + 1/175 x y z DATA(-1, -2, 2) - ---- DATA(1, -2, 2)
+ 2100
+
+ - 1/175 x y z DATA(2, -1, -2) + 1/350 x y z DATA(-1, -1, 2)
+
+ + 1/175 x y z DATA(2, 1, -2) + 1/350 x y z DATA(-2, 1, -1)
+
+ 187 2
+ - ---- y DATA(0, -1, 2) - 1/350 y DATA(0, -2, -1)
+ 7000
+
+ 2
+ - 1/175 y DATA(0, 2, -2) - 1/350 x y z DATA(-2, -1, -1)
+
+ 3 3
+ - 1/150 y DATA(0, -1, -2) - 1/150 y DATA(0, 1, 2)
+
+ 3 3
+ + 1/300 y DATA(0, 2, 2) - 1/300 y DATA(0, -1, -1)
+
+ 3 3
+ + 1/600 y DATA(0, 2, 1) + 1/300 y DATA(0, -2, -2)
+
+ 3 3
+ - 1/300 y DATA(0, -2, 2) - 1/600 y DATA(0, 2, -1)
+
+ 3 3
+ - 1/600 y DATA(0, -2, 1) + 1/300 y DATA(0, -1, 1)
+
+ 3 3
+ - 1/300 y DATA(0, 1, 1) + 1/300 y DATA(0, 1, -1)
+
+ 3 3
+ - 1/300 y DATA(0, 2, -2) + 1/600 y DATA(0, -2, -1)
+
+ 2
+ - 1/175 x y z DATA(-2, -2, -1) + 1/245 x z DATA(0, -1, 1)
+
+ 19
+ - ---- DATA(-2, -1, 2) + 1/350 x y z DATA(-1, -1, -2)
+ 2100
+
+ 311 2
+ + ----- z DATA(0, -1, -2) + 1/245 x z DATA(0, 1, -1)
+ 14700
+
+ 311
+ + 2/175 x y z DATA(2, 2, -2) + ----- z DATA(0, 1, -2)
+ 14700
+
+ 311 311 2
+ + ----- z DATA(0, -1, 2) + ----- z DATA(0, 1, 2) + 1/700 y DATA(0, 1, -1)
+ 14700 14700
+
+ 2
+ + 1/350 y DATA(0, -2, 1) - 1/300 z DATA(0, 2, 2)
+
+ - 1/300 z DATA(0, -2, -2) + 4/75 z DATA(0, 2, -1) - 1/300 z DATA(0, -2, 2)
+
+ 151 151
+ + 4/75 z DATA(0, 2, 1) + ---- z DATA(0, 1, -1) + ---- z DATA(0, -1, 1)
+ 3675 3675
+
+ 151 151
+ + ---- z DATA(0, -1, -1) + ---- z DATA(0, 1, 1) + 4/75 z DATA(0, -2, 1)
+ 3675 3675
+
+ 17 17
+ + 4/75 z DATA(0, -2, -1) - ---- y DATA(0, 2, 2) - ---- y DATA(0, -2, -2)
+ 5250 5250
+
+ 187 187
+ + ---- y DATA(0, 1, 2) - 1/300 z DATA(0, 2, -2) + ---- y DATA(0, 2, 1)
+ 7000 7000
+
+ 289
+ - 1/350 x y z DATA(1, -1, -2) - ----- y DATA(0, 1, -1)
+ 10500
+
+ 289
+ + 1/175 x y z DATA(2, -2, -1) - ----- y DATA(0, -1, 1)
+ 10500
+
+ 11
+ - --- DATA(2, -2, 2) - 1/350 x y z DATA(-2, -1, 1)
+ 420
+
+ + 1/175 y z DATA(0, 1, 2) + 1/175 x y z DATA(1, 2, -2)
+
+ - 2/175 y z DATA(0, -2, -2) + 2/175 y z DATA(0, 2, 2)
+
+ 2 2
+ - 1/700 x y DATA(0, 1, 1) + 1/700 x y DATA(0, -1, 1)
+
+ 2 2
+ + 1/175 x y DATA(0, -2, 2) + 1/700 x y DATA(0, 1, -1)
+
+ 2 2
+ + 1/350 x y DATA(0, -2, 1) + 1/175 x y DATA(0, 2, -2)
+
+ 2 2
+ - 1/350 x y DATA(0, -2, -1) + 1/350 x y DATA(0, 1, -2)
+
+ 2 2
+ - 1/350 x y DATA(0, 1, 2) + 1/350 x y DATA(0, -1, 2)
+
+ 2 2
+ - 1/175 x y DATA(0, -2, -2) - 1/175 x y DATA(0, 2, 2)
+
+ 2 2
+ - 1/350 x y DATA(0, 2, 1) - 1/700 x y DATA(0, -1, -1)
+
+ 2 2
+ + 1/350 x y DATA(0, 2, -1) - 1/50 y z DATA(0, -2, -1)
+
+ 2 2
+ - 1/100 y z DATA(0, 2, -2) - 1/50 y z DATA(0, 2, 1)
+
+ 2 2
+ + 1/50 y z DATA(0, 2, -1) - 1/100 y z DATA(0, 1, 1)
+
+ 2 2
+ - 1/100 y z DATA(0, -1, -1) - 1/350 y DATA(0, 1, 2)
+
+ 2 2
+ + 1/175 y DATA(0, 2, 2) - 1/175 y DATA(0, -2, -2)
+
+ 2 2
+ + 1/700 y DATA(0, -1, -1) - 1/700 y DATA(0, 1, 1)
+
+ 3
+ + 1/150 z DATA(0, 1, -2) - 1/175 x y z DATA(-1, 2, -2)
+
+ 187 17 187
+ - ---- y DATA(0, -2, 1) + ---- y DATA(0, 2, -2) + ---- y DATA(0, -2, -1)
+ 7000 5250 7000
+
+ 2 2
+ + 1/350 x DATA(0, 1, -1) - 1/350 x DATA(0, -2, 1)
+
+ - 1/350 x y z DATA(-1, -2, 1) + 1/350 x y z DATA(1, 1, 2)
+
+ 2 2
+ + 1/175 x DATA(0, 1, -2) + 1/175 x DATA(0, -1, -2)
+
+ 2 3
+ - 1/245 y z DATA(0, 1, 2) + 1/150 z DATA(0, 2, -2)
+
+ 2 3
+ - 1/100 z DATA(0, 1, -2) + 1/150 z DATA(0, -2, -2)
+
+ 2 3
+ - 1/100 z DATA(0, -1, -2) - 2/75 z DATA(0, -2, -1)
+
+ 2 2
+ + 1/100 z DATA(0, 2, 2) + 1/100 z DATA(0, 1, 2)
+
+ 2 2
+ + 1/100 z DATA(0, -1, 2) - 1/245 y z DATA(0, 2, 1)
+
+ 2 2
+ - 1/100 z DATA(0, -2, -2) - 1/50 z DATA(0, 2, 1)
+
+ 2 2
+ + 1/50 z DATA(0, 2, -1) + 1/50 z DATA(0, -1, -1)
+
+ 2 2
+ - 1/245 y z DATA(0, 1, -2) + 1/100 z DATA(0, -2, 2)
+
+ 2 2 2
+ - 1/50 z DATA(0, 1, 1) - 1/50 z DATA(0, -1, 1) - 1/50 z DATA(0, -2, 1)
+
+ 2 2
+ + 1/50 z DATA(0, 1, -1) - 1/100 z DATA(0, 2, -2)
+
+ 2 3
+ + 1/50 z DATA(0, -2, -1) + 1/150 z DATA(0, -1, 2)
+
+ 3 3
+ + 1/150 y DATA(0, 1, -2) + 1/150 y DATA(0, -1, 2)
+
+ 187 3
+ + ---- y DATA(0, -1, -2) + 1/150 z DATA(0, -1, -2)
+ 7000
+
+ 3 3
+ + 1/150 z DATA(0, 2, 2) + 1/150 z DATA(0, 1, 2)
+
+ 2 3
+ - 1/245 y z DATA(0, 2, -1) - 2/75 z DATA(0, -1, -1)
+
+ 3 3 3
+ - 2/75 z DATA(0, 2, -1) - 2/75 z DATA(0, 2, 1) - 2/75 z DATA(0, 1, -1)
+
+ 3 3 3
+ + 1/150 z DATA(0, -2, 2) - 2/75 z DATA(0, -1, 1) - 2/75 z DATA(0, 1, 1)
+
+ 3
+ - 2/75 z DATA(0, -2, 1) + 1/350 x y z DATA(1, -2, 1)
+
+ 2 187
+ + 1/350 y DATA(0, 2, 1) - ---- y DATA(0, 1, -2)
+ 7000
+
+ 2
+ - 1/175 x y z DATA(1, -2, 2) + 2/245 y z DATA(0, 2, 2)
+
+ 2 2
+ + 2/245 y z DATA(0, -2, -2) - 1/245 y z DATA(0, -1, 2)
+
+ 2
+ + 1/350 y DATA(0, -1, -2) + 1/175 x y z DATA(2, -2, 1)
+
+ 2
+ + 1/175 y z DATA(0, -2, -1) - 1/700 y DATA(0, -1, 1)
+
+ 2
+ - 1/350 y DATA(0, 2, -1) + 1/175 y z DATA(0, -2, 1)
+
+ 2
+ + 1/175 y DATA(0, -2, 2) - 2/175 y z DATA(0, -2, 2)
+
+ + 2/175 y z DATA(0, 2, -2) + 1/350 y z DATA(0, -1, 1)
+
+ - 1/350 y z DATA(0, 1, -1) - 1/175 y z DATA(0, 2, 1)
+
+ - 1/350 y z DATA(0, 1, 1) + 1/350 y z DATA(0, -1, -1)
+
+ - 1/175 y z DATA(0, 2, -1) + 1/175 y z DATA(0, 1, -2)
+
+ 2 2
+ - 2/245 x z DATA(0, -1, 2) - 2/245 x z DATA(0, 1, 2)
+
+ 2
+ - 2/245 x z DATA(0, 2, 2) - 1/175 y z DATA(0, -1, -2)
+
+ 2 2
+ + 1/350 y DATA(0, 1, -2) - 2/245 x z DATA(0, -2, -2)
+
+ 2 2
+ - 1/350 x y DATA(0, -1, -2) + 1/245 x z DATA(0, 2, 1)
+
+ 2
+ + 1/175 x y z DATA(-2, 2, 1) + 1/200 y z DATA(0, -1, -2)
+
+ 2 2
+ - 1/350 x DATA(0, -1, 1) - 1/350 y DATA(0, -1, 2)
+
+ 2 2
+ - 1/245 y z DATA(0, -1, -2) - 1/200 y z DATA(0, 1, -2)
+
+ 2 2
+ + 1/350 x DATA(0, -2, -1) + 1/175 x DATA(0, 2, -2)
+
+ 2 2
+ - 1/175 x DATA(0, -1, 2) - 1/175 x DATA(0, 2, 2)
+
+ 2 2
+ + 1/175 x DATA(0, -2, -2) - 1/175 x DATA(0, 1, 2)
+
+ 2 2
+ + 1/350 x DATA(0, -1, -1) + 1/350 x DATA(0, 2, -1)
+
+ 2 2
+ - 1/350 x DATA(0, 2, 1) - 1/350 x DATA(0, 1, 1)
+
+ 2
+ - 1/175 x DATA(0, -2, 2) - 1/175 x y z DATA(-2, -2, 1)
+
+ + 1/175 x y z DATA(-2, 2, -1) - 1/175 y z DATA(0, -1, 2)
+
+ - 1/300 DATA(-2, 0, 2) + 1/350 x y z DATA(-2, 1, 1)
+
+ + 1/175 x y z DATA(-2, -1, 2) + 2/175 x y z DATA(-2, -2, 2)
+
+ 19 37
+ - 2/175 x y z DATA(2, -2, 2) - ---- DATA(-2, 1, 2) + ---- DATA(1, 0, 1)
+ 2100 1050
+
+ 37 17 11
+ + ---- DATA(0, 1, 1) + --- DATA(1, 1, 1) - --- DATA(-2, 2, 2)
+ 1050 525 420
+
+ - 1/700 x y z DATA(-1, -1, -1) - 1/700 x y z DATA(1, 1, 1)
+
+ - 1/175 x y z DATA(-2, 1, 2) - 1/175 x y z DATA(-2, -1, 0)
+
+ 2 2
+ - 1/200 y z DATA(-2, 1, -2) + 1/200 y z DATA(2, -1, -2)
+
+ 2
+ + 1/200 y z DATA(1, -1, -2) + 1/175 y z DATA(2, -2, -1)
+
+ + 1/175 y z DATA(1, -2, -1) + 1/175 y z DATA(-1, -2, -1)
+
+ + 2/175 x y z DATA(2, -2, 0) + 1/175 y z DATA(-2, -2, -1)
+
+ + 2/175 y z DATA(2, 2, -2) + 2/175 y z DATA(1, 2, -2)
+
+ + 2/175 y z DATA(-1, 2, -2) + 1/350 x y z DATA(2, -1, 1)
+
+ - 1/350 y z DATA(-2, 1, -1) + 1/350 y z DATA(-2, -1, -1)
+
+ - 1/350 x y z DATA(1, 2, 1) + 1/350 x y z DATA(-1, 2, 1)
+
+ - 1/175 y z DATA(-2, 2, -1) + 1/175 y z DATA(-2, -2, 1)
+
+ - 1/350 x y z DATA(2, 1, 1) - 1/350 x y z DATA(1, 2, -1)
+
+ + 1/175 x y z DATA(1, -2, 0) + 1/350 x y z DATA(-1, 2, -1)
+
+ + 1/175 x y z DATA(-2, 1, 0) - 2/175 x y z DATA(-2, 2, 2)
+
+ + 2/175 x y z DATA(-2, 2, 0) + 1/175 x y z DATA(-1, 2, 0)
+
+ 2 2
+ - 1/50 y z DATA(1, 2, 1) + 1/100 y z DATA(2, -1, 1)
+
+ 2
+ + 1/350 x y z DATA(-1, 1, 0) - 1/100 y z DATA(1, -1, -1)
+
+ 2 2
+ + 1/50 y z DATA(2, 2, -1) + 1/100 y z DATA(1, 2, 2)
+
+ 2
+ + 1/175 x y z DATA(2, -1, 0) + 1/200 y z DATA(-2, -1, -2)
+
+ 2
+ - 1/350 x y z DATA(-1, -1, 0) + 1/100 y z DATA(2, 2, 2)
+
+ 2 2
+ + 1/100 y z DATA(2, -2, -2) + 1/100 y z DATA(-1, 1, -1)
+
+ - 1/175 x y z DATA(-1, -2, 0) - 2/175 x y z DATA(-2, -2, 0)
+
+ 2 2
+ + 1/100 y z DATA(1, -2, -2) + 1/200 y z DATA(2, 1, 2)
+
+ 2 2
+ + 1/100 y z DATA(-1, 2, 2) + 1/100 y z DATA(-1, -2, -2)
+
+ 2 2
+ + 1/200 y z DATA(-1, 1, 2) + 1/100 y z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/200 y z DATA(1, -1, 2) - 1/200 y z DATA(2, -1, 2)
+
+ 2 2
+ - 1/200 y z DATA(-1, -1, 2) - 1/50 y z DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 y z DATA(-2, 2, -2) - 1/200 y z DATA(2, 1, -2)
+
+ 2 2
+ - 1/200 y z DATA(1, 1, -2) - 1/200 y z DATA(-1, 1, -2)
+
+ 2 2
+ - 1/100 y z DATA(-1, 1, 1) + 1/100 y z DATA(1, -1, 1)
+
+ 2 2
+ + 1/100 y z DATA(-1, -1, 1) - 1/100 y z DATA(-1, -2, 2)
+
+ 17 2
+ - --- DATA(-1, -1, -1) - 1/100 y z DATA(1, -2, 2)
+ 525
+
+ 2 2
+ - 1/200 y z DATA(-2, -1, 2) - 1/100 y z DATA(2, -2, 2)
+
+ 2 2
+ + 1/200 y z DATA(-2, 1, 2) - 1/100 y z DATA(1, 1, 1)
+
+ 2 2
+ + 1/100 y z DATA(-2, 2, 2) - 1/100 y z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/50 y z DATA(1, 2, -1) + 1/100 y z DATA(2, 1, -1)
+
+ 2 2
+ + 1/50 y z DATA(-1, 2, -1) - 1/100 y z DATA(2, -1, -1)
+
+ 2 2
+ - 1/100 y z DATA(2, 1, 1) - 1/50 y z DATA(-1, 2, 1)
+
+ 2 37
+ - 1/245 y z DATA(2, -1, 2) - ---- DATA(0, -1, -1)
+ 1050
+
+ 2 2
+ - 1/245 y z DATA(-1, -1, 2) - 1/245 y z DATA(2, 2, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, 2, -2) - 1/245 y z DATA(2, 1, -2)
+
+ 2 2
+ - 1/245 y z DATA(1, 1, -2) - 1/245 y z DATA(-1, 1, -2)
+
+ 2
+ - 1/42 DATA(1, 2, -1) - 1/245 y z DATA(-2, 1, -2)
+
+ 2
+ - 1/245 y z DATA(2, -1, -2) - 1/42 DATA(2, 1, -1) - 1/42 DATA(-1, 2, -1)
+
+ 2
+ - 2/75 DATA(0, 2, -1) - 1/245 y z DATA(1, -1, -2)
+
+ 2 2
+ - 1/245 y z DATA(-1, -1, -2) - 1/245 y z DATA(2, -2, -1)
+
+ 2 2
+ - 1/245 y z DATA(1, -2, -1) - 1/245 y z DATA(-1, -2, -1)
+
+ 2
+ - 1/245 y z DATA(-2, -2, -1) + 1/175 y z DATA(2, -2, 1)
+
+ + 1/350 y z DATA(-2, -1, 1) - 1/350 y z DATA(-2, 1, 1)
+
+ - 1/42 DATA(2, -1, -1) - 2/75 DATA(2, 0, -1) - 1/175 y z DATA(-2, 2, 1)
+
+ 2
+ - 2/175 y z DATA(-2, -2, 2) - 1/245 y z DATA(1, 2, -1)
+
+ 2
+ + 1/42 DATA(2, 1, 1) + 1/42 DATA(-1, 2, 1) + 1/490 y z DATA(2, 1, -1)
+
+ 2
+ + 2/75 DATA(0, 2, 1) + 1/42 DATA(1, 2, 1) - 1/245 y z DATA(-1, 2, -1)
+
+ 2 3
+ + 1/490 y z DATA(2, -1, -1) + 1/25 z DATA(-1, -1, 0)
+
+ 3 2
+ + 1/25 z DATA(0, -1, 0) + 1/490 y z DATA(2, 1, 1)
+
+ 3 2
+ + 1/25 z DATA(1, -1, 0) - 1/245 y z DATA(-1, 2, 1)
+
+ 3
+ - 1/175 y z DATA(-1, -1, -2) + 1/25 z DATA(-1, 0, 0)
+
+ 3 2
+ + 1/25 z DATA(-1, 1, 0) + 1/42 DATA(2, -1, 1) - 1/245 y z DATA(1, 2, 1)
+
+ 17 2
+ + 2/75 DATA(2, 0, 1) - --- DATA(1, -1, -1) + 1/490 y z DATA(2, -1, 1)
+ 525
+
+ 2 2
+ + 1/245 x z DATA(0, 2, -1) + 1/490 y z DATA(1, -1, -1)
+
+ 2 2
+ - 1/245 y z DATA(2, 2, -1) + 2/245 y z DATA(1, 2, 2)
+
+ 2 2
+ - 1/245 y z DATA(-2, -1, -2) + 2/245 y z DATA(2, 2, 2)
+
+ 2 2
+ + 2/245 y z DATA(2, -2, -2) + 1/490 y z DATA(-1, 1, -1)
+
+ 2 2
+ + 2/245 y z DATA(1, -2, -2) - 1/245 y z DATA(2, 1, 2)
+
+ 2 2
+ + 2/245 y z DATA(-1, 2, 2) + 2/245 y z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/245 y z DATA(-1, 1, 2) + 2/245 y z DATA(-2, -2, -2)
+
+ 2
+ - 8/525 DATA(2, 2, -1) - 1/245 y z DATA(1, -1, 2)
+
+ 2 2
+ - 1/50 y z DATA(-2, 2, 1) - 1/100 y z DATA(-2, -2, 2)
+
+ 2 19
+ + 1/245 y z DATA(2, 0, 1) - ---- DATA(1, 2, 2)
+ 2100
+
+ 2 2
+ - 2/245 y z DATA(-2, 0, 2) - 2/245 y z DATA(2, 0, 2)
+
+ 2 19 11
+ - 2/245 y z DATA(1, 0, 2) + ---- DATA(-2, -1, -2) - --- DATA(2, 2, 2)
+ 2100 420
+
+ 2 2
+ + 1/245 y z DATA(1, 0, 1) + 1/245 y z DATA(1, 0, -1)
+
+ 2 11
+ + 1/245 y z DATA(-1, 0, -1) + --- DATA(2, -2, -2)
+ 420
+
+ 2 19 17
+ - 2/245 y z DATA(0, -2, 0) + ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 2100 2100
+
+ 19 19
+ - ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2)
+ 2100 2100
+
+ 2
+ + 1/300 DATA(0, -2, -2) + 1/245 y z DATA(-1, 1, 0)
+
+ 2 2
+ + 2/245 y z DATA(-1, 0, 0) + 1/245 y z DATA(1, -1, 0)
+
+ 2 2
+ + 1/245 y z DATA(0, -1, 0) + 1/245 y z DATA(-1, -1, 0)
+
+ 19 2
+ + ---- DATA(-1, -2, -2) + 1/245 y z DATA(0, 0, 1)
+ 2100
+
+ 2 2
+ + 1/245 y z DATA(0, 1, 0) + 2/245 y z DATA(1, 0, 0)
+
+ 2 2
+ + 2/245 y z DATA(0, 0, 0) + 1/245 y z DATA(0, 0, -1)
+
+ 2 2
+ - 2/245 y z DATA(2, 2, 0) + 1/245 y z DATA(-2, 0, -1)
+
+ 2 2
+ - 2/245 y z DATA(-1, 0, 2) + 1/245 y z DATA(-2, 0, 1)
+
+ 29 17
+ + ---- DATA(1, 0, 2) - 1/300 DATA(2, 0, 2) + ---- DATA(-1, 1, 2)
+ 2100 2100
+
+ 29 11 2
+ + ---- DATA(0, 1, 2) + --- DATA(-2, -2, -2) + 1/490 y z DATA(-1, 1, 1)
+ 2100 420
+
+ 2 2
+ + 1/490 y z DATA(1, -1, 1) + 1/490 y z DATA(-1, -1, 1)
+
+ 2 17 19
+ + 2/245 y z DATA(-1, -2, 2) + ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 2100 2100
+
+ 29 41 2
+ + ---- DATA(-1, 0, 2) + ---- DATA(0, 0, 2) + 1/245 x z DATA(0, 1, 1)
+ 2100 2100
+
+ 2 2
+ + 2/245 y z DATA(1, -2, 2) - 1/245 y z DATA(-2, -1, 2)
+
+ 2 2
+ + 2/245 y z DATA(2, -2, 2) - 1/245 y z DATA(-2, 1, 2)
+
+ 2 2
+ + 1/490 y z DATA(1, 1, 1) - 2/245 x z DATA(0, 1, -2)
+
+ 2 17 29
+ - 2/245 x z DATA(0, -2, 2) + ---- DATA(-1, -1, 2) + ---- DATA(0, -1, 2)
+ 2100 2100
+
+ 3 3
+ + 8/525 DATA(2, 2, 1) - 1/600 x DATA(2, 0, -1) + 1/600 x DATA(2, 0, 1)
+
+ 2 2
+ + 2/245 y z DATA(-2, 2, 2) + 1/490 y z DATA(-1, -1, -1)
+
+ 2
+ - 2/175 x z DATA(-2, -1, -2) + 1/350 x y DATA(-2, 0, 1)
+
+ 2 2
+ + 1/350 x y DATA(1, 0, -2) + 1/350 x y DATA(-1, 0, 2)
+
+ 2 2
+ + 1/175 x y DATA(2, 0, -2) - 1/175 x y DATA(-2, 0, -2)
+
+ 2 2
+ - 1/350 x y DATA(2, 0, 1) + 1/350 x y DATA(2, 0, -1)
+
+ 11
+ + 2/175 x z DATA(2, 2, 2) + --- DATA(-2, 2, -2) + 2/175 y z DATA(0, -2, 0)
+ 420
+
+ + 2/175 y z DATA(-2, -2, 0) + 2/175 y z DATA(-1, -2, 0)
+
+ + 1/175 y z DATA(2, -1, 0) - 2/175 y z DATA(0, 2, 0)
+
+ - 1/175 y z DATA(2, 1, 0) + 2/175 x z DATA(2, -2, -2)
+
+ 19
+ + 1/350 x z DATA(-1, 1, -1) + ---- DATA(2, 1, -2)
+ 2100
+
+ - 1/175 y z DATA(0, 1, 0) - 1/175 y z DATA(-1, 1, 0)
+
+ + 1/175 y z DATA(1, -1, 0) + 1/175 y z DATA(0, -1, 0)
+
+ + 1/175 y z DATA(-1, -1, 0) - 2/175 y z DATA(2, 2, 0)
+
+ - 1/175 y z DATA(-1, 2, -1) - 1/350 x z DATA(1, 0, -1)
+
+ 2
+ + 1/350 x z DATA(-1, 0, -1) + 1/200 y z DATA(-1, -1, -2)
+
+ + 1/350 x z DATA(-1, 0, 1) - 2/175 x z DATA(2, 0, 0)
+
+ 17
+ - 2/175 x z DATA(2, -1, 0) - 2/175 x z DATA(2, 1, 0) - ---- DATA(1, 1, -2)
+ 2100
+
+ + 2/175 x z DATA(-2, -1, 0) + 2/175 x z DATA(-2, 0, 0)
+
+ + 2/175 x z DATA(-2, -2, 0) + 1/175 x z DATA(-1, -2, 0)
+
+ 2
+ - 1/50 y z DATA(2, -2, -1) + 1/175 x z DATA(-1, 2, 0)
+
+ + 2/175 x z DATA(-2, 2, 0) + 2/175 x z DATA(-2, 1, 0)
+
+ - 1/175 x z DATA(1, -2, 0) - 2/175 x z DATA(2, -2, 0)
+
+ - 2/175 x z DATA(-2, 0, -2) + 1/175 x z DATA(1, 0, -2)
+
+ + 2/175 x z DATA(2, 0, -2) - 1/175 x z DATA(2, 0, -1)
+
+ 29 17
+ - 1/175 x z DATA(2, 0, 1) - ---- DATA(0, 1, -2) - ---- DATA(-1, 1, -2)
+ 2100 2100
+
+ 2 2
+ - 1/50 y z DATA(1, -2, -1) - 1/50 y z DATA(-1, -2, -1)
+
+ 2 2
+ - 1/50 y z DATA(-2, -2, -1) - 2/245 x z DATA(0, -1, -2)
+
+ 2 2
+ - 1/100 y z DATA(2, 2, -2) - 1/100 y z DATA(1, 2, -2)
+
+ 2 2
+ - 1/100 y z DATA(-1, 2, -2) + 1/100 y z DATA(-2, 1, -1)
+
+ 2 19
+ - 1/100 y z DATA(-2, -1, -1) + ---- DATA(-2, 1, -2)
+ 2100
+
+ 2 2
+ + 1/50 y z DATA(-2, 2, -1) + 1/50 y z DATA(-2, -2, 1)
+
+ + 1/300 DATA(2, 0, -2) + 2/175 x z DATA(2, 0, 2) + 1/175 x z DATA(1, 0, 2)
+
+ 41 29 2
+ - ---- DATA(0, 0, -2) - ---- DATA(1, 0, -2) - 2/245 y z DATA(0, 0, 2)
+ 2100 2100
+
+ - 1/350 x z DATA(1, 0, 1) - 2/175 x z DATA(-2, 0, 2)
+
+ 2 2
+ - 2/245 y z DATA(0, 0, -2) + 2/245 y z DATA(2, 0, 0)
+
+ 2 2
+ + 1/245 y z DATA(2, -1, 0) - 2/245 y z DATA(0, 2, 0)
+
+ 2 2
+ + 1/245 y z DATA(2, 1, 0) + 1/50 y z DATA(-1, -2, 1)
+
+ 2 2
+ + 1/245 y z DATA(-2, -1, 0) + 2/245 y z DATA(-2, 0, 0)
+
+ 2 2
+ - 2/245 y z DATA(-2, -2, 0) - 2/245 y z DATA(-1, -2, 0)
+
+ 29 2
+ - ---- DATA(-1, 0, -2) + 1/50 y z DATA(1, -2, 1) + 1/300 DATA(-2, 0, -2)
+ 2100
+
+ 2 2
+ - 2/245 y z DATA(-1, 2, 0) - 2/245 y z DATA(-2, 2, 0)
+
+ 2 2
+ + 1/245 y z DATA(-2, 1, 0) - 2/245 y z DATA(1, -2, 0)
+
+ 2
+ - 2/245 y z DATA(2, -2, 0) - 1/175 x z DATA(1, 0, 0)
+
+ + 1/175 x z DATA(-1, 1, 0) + 1/175 x z DATA(-1, 0, 0)
+
+ - 1/175 x z DATA(1, -1, 0) + 1/175 x z DATA(-1, -1, 0)
+
+ 19
+ - 1/175 x z DATA(1, 1, 0) - 1/175 x z DATA(1, 2, 0) + ---- DATA(2, -1, -2)
+ 2100
+
+ 2
+ - 2/175 x z DATA(2, 2, 0) + 1/200 y z DATA(1, 1, 2)
+
+ 2
+ + 1/175 x z DATA(-2, 0, -1) + 1/50 y z DATA(2, -2, 1)
+
+ 2
+ + 1/175 x z DATA(-2, 0, 1) + 1/100 y z DATA(-2, -1, 1)
+
+ 17
+ - ---- DATA(1, -1, -2) - 1/175 x z DATA(-1, 0, 2)
+ 2100
+
+ 2 2
+ - 1/100 y z DATA(-2, 1, 1) - 2/245 y z DATA(-2, 0, -2)
+
+ 2 2
+ - 2/245 y z DATA(2, 0, -2) - 2/245 y z DATA(1, 0, -2)
+
+ 29 17 2
+ - ---- DATA(0, -1, -2) - ---- DATA(-1, -1, -2) + 1/245 y z DATA(2, 0, -1)
+ 2100 2100
+
+ 311
+ + 4/75 z DATA(2, 0, -1) - 1/300 z DATA(2, 0, -2) + ----- z DATA(1, 0, -2)
+ 14700
+
+ 311
+ - 1/300 z DATA(-2, 0, -2) + ----- z DATA(1, 0, 2) - 1/300 z DATA(2, 0, 2)
+ 14700
+
+ 151 151
+ + ---- z DATA(1, 0, -1) - 1/300 z DATA(-2, 0, 2) + ---- z DATA(1, 0, 1)
+ 3675 3675
+
+ 151
+ + 4/75 z DATA(2, 0, 1) + ---- z DATA(-1, 0, 1) - 1/10 z DATA(0, -2, 0)
+ 3675
+
+ 431
+ + ----- z DATA(0, 0, 2) - 9/98 z DATA(2, 1, 0) - 1/10 z DATA(0, 2, 0)
+ 14700
+
+ 431
+ - 9/98 z DATA(2, -1, 0) - 1/10 z DATA(2, 0, 0) + ----- z DATA(0, 0, -2)
+ 14700
+
+ 33
+ - 9/98 z DATA(-1, -2, 0) - --- z DATA(-2, -2, 0) - 1/10 z DATA(-2, 0, 0)
+ 490
+
+ 151
+ - 9/98 z DATA(-2, -1, 0) + ---- z DATA(-1, 0, -1)
+ 3675
+
+ 2
+ - 1/350 x z DATA(1, 1, -1) + 1/245 x z DATA(1, 0, 0)
+
+ 2
+ + 2/245 x z DATA(0, 0, 0) + 1/350 x z DATA(-1, 1, 1)
+
+ 33
+ - --- z DATA(2, -2, 0) - 9/98 z DATA(1, -2, 0) - 9/98 z DATA(-2, 1, 0)
+ 490
+
+ 33 2
+ - --- z DATA(-2, 2, 0) - 9/98 z DATA(-1, 2, 0) + 1/175 y DATA(-1, 0, -2)
+ 490
+
+ 2 2
+ + 1/350 y DATA(0, 0, -1) - 1/350 y DATA(0, 0, 1)
+
+ 2
+ + 1/350 y DATA(-2, 0, -1) - 8/525 DATA(2, -2, -1)
+
+ 2
+ - 1/350 x z DATA(1, -1, 1) + 1/175 y DATA(2, 0, -2)
+
+ 2
+ + 1/175 y DATA(1, 0, -2) + 1/350 x z DATA(-1, -1, 1)
+
+ 2
+ - 1/175 x z DATA(-1, -2, 2) - 1/350 y DATA(2, 0, 1)
+
+ 2 2
+ - 1/350 y DATA(-2, 0, 1) - 1/175 y DATA(-1, 0, 2)
+
+ 2 2
+ + 1/350 y DATA(2, 0, -1) + 1/175 y DATA(-2, 0, -2)
+
+ 2 2
+ - 1/175 y DATA(1, 0, 2) - 1/175 y DATA(2, 0, 2)
+
+ 2
+ - 1/175 y DATA(-2, 0, 2) + 1/175 x z DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 y DATA(-1, 0, -1) + 1/350 y DATA(1, 0, -1)
+
+ 2 2
+ - 1/350 y DATA(-1, 0, 1) - 1/350 y DATA(1, 0, 1)
+
+ - 2/175 y z DATA(1, 2, 0) - 1/42 DATA(1, -2, -1)
+
+ 2
+ - 2/175 x z DATA(-2, -1, 2) - 1/175 y DATA(0, 0, 2)
+
+ 2 187 187
+ + 1/175 y DATA(0, 0, -2) + ---- x DATA(-1, 0, -2) - ---- x DATA(-1, 0, 2)
+ 7000 7000
+
+ 187 17 187
+ + ---- x DATA(-2, 0, -1) + ---- x DATA(2, 0, -2) - ---- x DATA(1, 0, -2)
+ 7000 5250 7000
+
+ 187
+ - ---- x DATA(-2, 0, 1) + 2/175 x z DATA(2, -2, 2)
+ 7000
+
+ 187
+ - 2/175 x z DATA(-2, 1, 2) - ---- x DATA(2, 0, -1)
+ 7000
+
+ 17 187
+ - ---- x DATA(-2, 0, -2) + ---- x DATA(2, 0, 1) - 1/350 x z DATA(1, 1, 1)
+ 5250 7000
+
+ 187 17
+ - 2/175 x z DATA(-2, 2, 2) + ---- x DATA(1, 0, 2) - ---- x DATA(2, 0, 2)
+ 7000 5250
+
+ 289 289 17
+ - ----- x DATA(1, 0, -1) + ----- x DATA(-1, 0, -1) + ---- x DATA(-2, 0, 2)
+ 10500 10500 5250
+
+ 289
+ + ----- x DATA(1, 0, 1) - 2/75 DATA(0, -2, -1)
+ 10500
+
+ 2
+ - 1/350 x y DATA(-1, 0, -2) - 1/175 y z DATA(1, 1, 0)
+
+ 2
+ - 1/175 x z DATA(-1, 0, -2) + 1/200 x z DATA(-1, 0, -2)
+
+ 3 3
+ - 1/300 x DATA(-2, 0, 2) - 1/300 x DATA(1, 0, 1)
+
+ 3 2
+ - 1/150 x DATA(-1, 0, -2) - 1/350 x DATA(-1, 0, 2)
+
+ 289 3
+ - ----- x DATA(-1, 0, 1) - 1/300 x DATA(-1, 0, -1)
+ 10500
+
+ 3 3
+ + 1/300 x DATA(1, 0, -1) + 1/300 x DATA(-1, 0, 1)
+
+ + 1/350 x z DATA(-1, -1, -1) - 1/42 DATA(-1, -2, -1)
+
+ 2 2
+ - 1/350 x DATA(-2, 0, -1) + 1/350 x DATA(0, 0, -1)
+
+ 2 2
+ - 1/350 x DATA(0, 0, 1) + 1/350 x DATA(-1, 0, -2)
+
+ 2 2
+ + 1/350 x DATA(-2, 0, 1) - 2/245 y z DATA(1, 2, 0)
+
+ 2 2
+ + 1/350 x DATA(2, 0, 1) - 1/350 x DATA(2, 0, -1)
+
+ 2 2
+ - 1/175 x DATA(2, 0, -2) + 1/350 x DATA(1, 0, -2)
+
+ 2 2
+ - 1/175 x DATA(-2, 0, -2) + 1/700 x DATA(1, 0, -1)
+
+ 2 2
+ - 1/700 x DATA(-1, 0, 1) - 1/175 x DATA(0, 0, 2)
+
+ 2 2
+ + 1/175 x DATA(0, 0, -2) - 1/350 x DATA(1, 0, 2)
+
+ 2 2
+ + 1/175 x DATA(-2, 0, 2) + 1/175 x DATA(2, 0, 2)
+
+ 3 2
+ - 1/600 x DATA(-2, 0, 1) - 1/700 x DATA(1, 0, 1)
+
+ 2 3
+ + 1/700 x DATA(-1, 0, -1) + 1/600 x DATA(-2, 0, -1)
+
+ 2 2
+ + 1/245 y z DATA(1, 1, 0) + 1/245 x z DATA(-1, -1, 0)
+
+ - 1/350 x z DATA(1, 2, -1) - 1/175 x z DATA(2, 1, -1)
+
+ 57 61 57
+ - --- z DATA(-1, -1, 0) - --- z DATA(0, -1, 0) - --- z DATA(1, -1, 0)
+ 490 490 490
+
+ 61 3 3
+ - --- z DATA(-1, 0, 0) - 1/300 x DATA(2, 0, -2) + 1/150 x DATA(1, 0, -2)
+ 490
+
+ 3 3
+ + 1/300 x DATA(-2, 0, -2) - 1/150 x DATA(1, 0, 2)
+
+ 3
+ + 1/150 x DATA(-1, 0, 2) - 8/525 DATA(-2, -2, -1)
+
+ 2
+ + 1/245 x z DATA(1, 1, 0) + 1/350 x z DATA(-1, 2, -1)
+
+ 2
+ - 2/245 y z DATA(-1, 0, -2) - 1/175 x y z DATA(1, 2, 0)
+
+ 3
+ + 1/300 x DATA(2, 0, 2) - 1/175 x z DATA(2, -1, -1)
+
+ 2
+ - 1/175 x z DATA(2, 1, 1) + 1/100 x z DATA(1, 0, -1)
+
+ 2 11
+ - 1/100 x z DATA(-1, 0, -1) + --- DATA(2, 2, -2)
+ 420
+
+ 2
+ + 1/100 x z DATA(-1, 0, 1) + 1/350 x z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/100 x z DATA(2, 0, 2) + 1/200 x z DATA(1, 0, 2)
+
+ 2 2
+ - 1/100 x z DATA(1, 0, 1) - 1/100 x z DATA(-2, 0, 2)
+
+ 2
+ - 1/350 x y z DATA(1, 1, 0) + 1/50 x z DATA(2, 0, -1)
+
+ - 2/175 x y z DATA(2, 2, 0) - 1/350 x z DATA(1, 2, 1)
+
+ 19
+ - 1/175 x z DATA(2, -1, 1) + ---- DATA(1, 2, -2)
+ 2100
+
+ 2
+ - 1/350 x z DATA(1, -1, -1) - 1/100 x z DATA(2, 0, -2)
+
+ 2
+ - 1/50 x z DATA(2, 0, 1) - 1/175 x z DATA(2, 2, -1)
+
+ 2 2
+ + 1/100 x z DATA(-2, 0, -2) - 1/200 x z DATA(1, 0, -2)
+
+ + 1/300 DATA(0, 2, -2) + 1/175 x z DATA(1, 2, 2)
+
+ 2 2
+ + 1/50 x z DATA(-2, 0, 1) - 1/50 x z DATA(-2, 0, -1)
+
+ 2
+ - 1/175 x y z DATA(2, 1, 0) - 1/200 x z DATA(-1, 0, 2)
+
+ 19 2
+ + ---- DATA(-1, 2, -2) - 1/350 x y DATA(1, 0, 2)
+ 2100
+
+ 2 2
+ - 1/700 x y DATA(1, 0, 1) + 1/175 x y DATA(-2, 0, 2)
+
+ 2 2
+ - 1/175 x y DATA(2, 0, 2) + 1/700 x y DATA(-1, 0, 1)
+
+ 2 2
+ + 1/700 x y DATA(1, 0, -1) - 1/700 x y DATA(-1, 0, -1)
+
+ - 1/175 y z DATA(-2, 1, 0) + 2/175 y z DATA(1, -2, 0)
+
+ + 2/175 y z DATA(2, -2, 0) + 1/175 y z DATA(-2, -1, 0)
+
+ 2
+ - 1/350 x y DATA(-2, 0, -1) - 2/175 y z DATA(-1, 2, 0)
+
+ 2
+ - 2/175 y z DATA(-2, 2, 0) - 1/245 y z DATA(-2, 2, 1)
+
+ 2
+ - 1/42 DATA(-2, 1, -1) + 2/245 y z DATA(-2, -2, 2)
+
+ 2 2
+ + 1/245 y z DATA(-1, 0, 1) - 2/245 x z DATA(0, 2, -2)
+
+ 2
+ - 2/75 DATA(-2, 0, -1) + 1/245 x z DATA(0, -2, -1)
+
+ 2 2
+ - 2/245 x z DATA(0, 0, -2) - 2/245 x z DATA(-2, 1, 0)
+
+ 2 2
+ - 2/245 x z DATA(-2, 2, 0) + 1/245 x z DATA(-1, 2, 0)
+
+ 2 2
+ - 2/245 x z DATA(2, 0, 0) - 2/245 x z DATA(2, 1, 0)
+
+ 2 2
+ + 2/245 x z DATA(0, -2, 0) + 1/245 x z DATA(1, -2, 0)
+
+ 2 2
+ - 2/245 x z DATA(2, -2, 0) - 2/245 x z DATA(-2, -1, 0)
+
+ 2 2
+ - 2/245 x z DATA(-2, 0, 0) - 2/245 x z DATA(-2, -2, 0)
+
+ 2 2
+ + 1/245 x z DATA(-1, -2, 0) - 2/245 x z DATA(0, 0, 2)
+
+ 2 2
+ + 1/490 x z DATA(-1, 0, -1) + 1/490 x z DATA(1, 0, -1)
+
+ 2 2
+ + 1/490 x z DATA(-1, 0, 1) - 2/245 x z DATA(2, -1, 0)
+
+ 2 2
+ + 2/245 x z DATA(0, 2, 0) + 1/490 x z DATA(1, 0, 1)
+
+ 2 2
+ + 2/245 x z DATA(-2, 0, 2) - 1/245 x z DATA(2, 0, 1)
+
+ 2 2
+ + 2/245 x z DATA(2, 0, 2) - 1/245 x z DATA(1, 0, 2)
+
+ 2
+ - 1/245 x z DATA(2, 0, -1) + 1/350 x y z DATA(1, -1, 0)
+
+ 2 2
+ + 2/245 x z DATA(-2, 0, -2) - 1/245 x z DATA(1, 0, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, 0, -2) - 1/245 x z DATA(-1, 0, 2)
+
+ 2 2
+ - 1/245 x z DATA(-2, 0, -1) - 2/245 x z DATA(2, 2, 0)
+
+ 2 2
+ + 1/245 x z DATA(0, 0, 1) + 2/245 x z DATA(0, 1, 0)
+
+ 2 2
+ - 1/245 x z DATA(-2, 0, 1) + 1/245 x z DATA(1, -1, 0)
+
+ 2 2
+ - 1/245 x z DATA(-1, 0, -2) + 1/245 x z DATA(1, 2, 0)
+
+ 2 2
+ + 2/245 x z DATA(0, -1, 0) + 1/245 x z DATA(-1, 0, 0)
+
+ 2 2
+ + 1/50 z DATA(-2, 0, -1) - 1/100 z DATA(-1, 0, -2)
+
+ 2 2 2
+ - 1/50 z DATA(-2, 0, 1) + 1/50 z DATA(0, 0, -1) - 1/50 z DATA(0, 0, 1)
+
+ 2 2
+ + 1/100 z DATA(-1, 0, 2) - 1/100 z DATA(2, 0, -2)
+
+ 2 2
+ - 1/100 z DATA(1, 0, -2) - 1/50 z DATA(2, 0, 1)
+
+ 2 2
+ - 1/100 z DATA(-2, 0, -2) + 1/50 z DATA(2, 0, -1)
+
+ 2 2
+ + 1/245 x z DATA(0, 0, -1) + 1/100 z DATA(1, 0, 2)
+
+ 2 2 2
+ + 1/100 z DATA(2, 0, 2) + 1/100 z DATA(-2, 0, 2) - 1/50 z DATA(1, 0, 1)
+
+ 2 2
+ - 1/100 z DATA(0, 0, -2) + 1/50 z DATA(-1, 0, -1)
+
+ 2 2 2
+ - 1/50 z DATA(-1, 0, 1) + 1/50 z DATA(1, 0, -1) + 1/100 z DATA(0, 0, 2)
+
+ 3 3 3
+ + 1/25 z DATA(1, 2, 0) + 1/25 z DATA(1, 1, 0) + 1/150 z DATA(-1, 0, -2)
+
+ 3 3 3
+ - 2/75 z DATA(-2, 0, 1) - 2/75 z DATA(0, 0, -1) + 1/25 z DATA(0, 0, 0)
+
+ 3 3 3
+ + 1/25 z DATA(1, 0, 0) + 1/25 z DATA(0, 1, 0) - 2/75 z DATA(0, 0, 1)
+
+ 3 3
+ + 1/25 z DATA(2, 2, 0) + 1/150 z DATA(-1, 0, 2)
+
+ 3 3
+ - 2/75 z DATA(-2, 0, -1) + 1/150 z DATA(2, 0, -2)
+
+ 3 3
+ + 1/150 z DATA(1, 0, -2) + 1/150 z DATA(-2, 0, -2)
+
+ 3 2
+ - 2/75 z DATA(2, 0, -1) + 1/245 x z DATA(-1, 1, 0)
+
+ 3 3
+ - 2/75 z DATA(2, 0, 1) - 1/42 DATA(-2, -1, -1) + 1/150 z DATA(2, 0, 2)
+
+ 3 3
+ + 1/150 z DATA(-2, 0, 2) - 2/75 z DATA(-1, 0, -1)
+
+ 3 3 3
+ - 2/75 z DATA(1, 0, -1) - 2/75 z DATA(-1, 0, 1) + 1/150 z DATA(1, 0, 2)
+
+ 3 3 3
+ + 1/25 z DATA(2, 1, 0) + 1/25 z DATA(0, 2, 0) + 1/25 z DATA(2, -1, 0)
+
+ 3 3 3
+ + 1/25 z DATA(2, 0, 0) + 1/25 z DATA(0, -2, 0) - 2/75 z DATA(1, 0, 1)
+
+ 3 3
+ + 1/150 z DATA(0, 0, 2) + 1/25 z DATA(-2, -1, 0)
+
+ 3 3 3
+ + 1/25 z DATA(2, -2, 0) + 1/25 z DATA(1, -2, 0) + 1/25 z DATA(-2, 1, 0)
+
+ 3 3
+ + 1/25 z DATA(-2, 2, 0) + 1/25 z DATA(-1, 2, 0)
+
+ 311 57
+ + ----- z DATA(-1, 0, -2) - 9/98 z DATA(1, 2, 0) - --- z DATA(1, 1, 0)
+ 14700 490
+
+ 3 3
+ + 1/150 z DATA(0, 0, -2) + 1/25 z DATA(-1, -2, 0)
+
+ 3 3
+ + 1/25 z DATA(-2, -2, 0) + 1/25 z DATA(-2, 0, 0) + 4/75 z DATA(-2, 0, 1)
+
+ 57 136 13
+ - --- z DATA(-1, 1, 0) + ---- z DATA(0, 0, -1) - -- z DATA(0, 0, 0)
+ 490 3675 98
+
+ 61 61 136
+ - --- z DATA(1, 0, 0) - --- z DATA(0, 1, 0) + ---- z DATA(0, 0, 1)
+ 490 490 3675
+
+ 33 311
+ - --- z DATA(2, 2, 0) + 4/75 z DATA(-2, 0, -1) + ----- z DATA(-1, 0, 2)
+ 490 14700
+
+ 2 2
+ + 2/245 y z DATA(2, 2, -2) + 2/245 y z DATA(1, 2, -2)
+
+ 2 2
+ + 1/200 y z DATA(0, 1, 2) + 2/245 y z DATA(-1, 2, -2)
+
+ 2
+ - 8/525 DATA(-2, 2, -1) + 1/100 y z DATA(0, 2, 2)
+
+ 2 2
+ + 1/100 y z DATA(0, -2, -2) + 1/490 y z DATA(-2, 1, -1)
+
+ 2 2
+ + 1/490 y z DATA(-2, -1, -1) - 1/245 y z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/245 x z DATA(0, -2, 1) - 1/245 y z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 y z DATA(-1, -2, 1) - 1/245 y z DATA(1, -2, 1)
+
+ 2 2
+ - 1/245 y z DATA(1, 1, 2) - 1/245 y z DATA(2, -2, 1)
+
+ 2 2
+ + 1/490 y z DATA(-2, -1, 1) + 1/490 y z DATA(-2, 1, 1)
+
+ 2 2
+ + 2/245 y z DATA(0, 2, -2) - 1/245 y z DATA(0, -2, -1)
+
+ 2
+ - 1/200 y z DATA(0, -1, 2) + 1/175 x z DATA(-2, -2, 1)
+
+ + 1/350 x z DATA(-1, -2, 1) - 1/350 x z DATA(1, -2, 1)
+
+ 2
+ + 1/175 x z DATA(1, 1, 2) + 1/490 y z DATA(0, 1, -1)
+
+ - 1/175 x z DATA(2, -2, 1) + 1/175 x z DATA(-2, -1, 1)
+
+ + 1/175 x z DATA(-2, 1, 1) + 1/175 x z DATA(-2, 2, 1)
+
+ 2
+ - 2/175 x z DATA(-2, -2, 2) - 1/245 y z DATA(0, -2, 1)
+
+ 2
+ + 1/175 x z DATA(-2, -2, -1) + 2/245 y z DATA(0, -2, 2)
+
+ 2
+ + 2/175 x z DATA(2, 2, -2) + 1/490 y z DATA(0, -1, 1)
+
+ + 1/175 x z DATA(1, 2, -2) - 1/175 x z DATA(-1, 2, -2)
+
+ + 1/175 x z DATA(-2, 1, -1) + 1/175 x z DATA(-2, -1, -1)
+
+ + 1/175 x z DATA(-2, 2, -1) + 1/175 x z DATA(1, -1, -2)
+
+ + 8/525 DATA(-2, -2, 1) - 1/175 x z DATA(-1, -1, -2)
+
+ 2
+ + 1/490 y z DATA(0, 1, 1) - 1/175 x z DATA(2, -2, -1)
+
+ - 1/350 x z DATA(1, -2, -1) + 1/350 x z DATA(-1, -2, -1)
+
+ - 1/175 x z DATA(2, 2, 1) - 2/175 x z DATA(-2, 2, -2)
+
+ + 2/175 x z DATA(2, 1, -2) + 1/42 DATA(-1, -2, 1)
+
+ + 1/175 x z DATA(1, 1, -2) - 1/175 x z DATA(-1, 1, -2)
+
+ - 2/175 x z DATA(-2, 1, -2) + 2/175 x z DATA(2, -1, -2)
+
+ + 1/42 DATA(1, -2, 1) - 1/175 x z DATA(-1, 1, 2)
+
+ - 2/175 x z DATA(-2, -2, -2) + 1/175 x z DATA(1, -1, 2)
+
+ + 2/75 DATA(0, -2, 1) + 2/175 x z DATA(2, -1, 2)
+
+ 2
+ + 1/490 y z DATA(0, -1, -1) - 1/175 x z DATA(-1, -1, 2)
+
+ + 1/500 x y DATA(-1, -2, 1) - 1/500 x y DATA(1, -2, 1)
+
+ + 8/525 DATA(2, -2, 1) + 1/500 x y DATA(1, 1, 2)
+
+ - 1/250 x y DATA(2, -2, 1) + 1/175 x z DATA(1, -2, -2)
+
+ + 2/175 x z DATA(2, 1, 2) - 1/175 x z DATA(-1, 2, 2)
+
+ 2
+ - 1/175 x z DATA(-1, -2, -2) + 1/175 x y DATA(-2, 2, -2)
+
+ 2 2
+ + 1/350 x y DATA(2, 2, 1) + 1/700 x y DATA(-1, -1, 2)
+
+ 2 2
+ - 1/350 x y DATA(2, -1, 2) - 1/700 x y DATA(1, -1, 2)
+
+ 2 2
+ + 1/175 x y DATA(-2, -2, -2) + 1/700 x y DATA(-1, 1, 2)
+
+ 2 2
+ + 1/350 x y DATA(-1, -2, -2) - 1/350 x y DATA(-1, 2, 2)
+
+ 2 2
+ - 1/350 x y DATA(2, 1, 2) - 1/350 x y DATA(1, -2, -2)
+
+ 2 2
+ - 1/1400 x y DATA(-1, 1, -1) - 1/175 x y DATA(2, -2, -2)
+
+ 2 2
+ + 1/175 x y DATA(2, 2, 2) - 1/350 x y DATA(-2, -1, -2)
+
+ 2 2
+ + 1/350 x y DATA(1, 2, 2) - 1/350 x y DATA(2, 2, -1)
+
+ 2 2
+ + 1/1400 x y DATA(1, -1, -1) - 1/700 x y DATA(2, -1, 1)
+
+ 2
+ + 1/700 x y DATA(1, 2, 1) + 1/350 x y z DATA(2, -1, -1)
+
+ 2
+ - 1/175 y z DATA(-1, -1, 2) - 1/700 x y DATA(-1, -2, 1)
+
+ 2 2
+ - 1/350 x y DATA(-2, -2, 1) + 1/350 x y DATA(-2, 2, -1)
+
+ 2 2
+ - 1/700 x y DATA(-2, -1, -1) - 1/700 x y DATA(-2, 1, -1)
+
+ 2 2
+ + 1/350 x y DATA(-1, 2, -2) - 1/350 x y DATA(1, 2, -2)
+
+ 2 2
+ - 1/175 x y DATA(2, 2, -2) + 1/350 x y DATA(-2, -2, -1)
+
+ 2 2
+ + 1/700 x y DATA(-1, -2, -1) - 1/700 x y DATA(1, -2, -1)
+
+ 2 2
+ - 1/350 x y DATA(2, -2, -1) - 1/700 x y DATA(-1, -1, -2)
+
+ 2 2
+ + 1/700 x y DATA(1, -1, -2) + 1/350 x y DATA(2, -1, -2)
+
+ 2
+ - 1/350 x y DATA(-2, 1, -2) - 1/175 y z DATA(2, 2, 1)
+
+ 2 2
+ - 1/700 x y DATA(-1, 1, -2) + 1/700 x y DATA(1, 1, -2)
+
+ 2
+ + 1/350 x y DATA(2, 1, -2) - 1/500 x y DATA(-2, -1, -1)
+
+ 2 2
+ + 1/1400 x y DATA(-1, 1, -1) + 1/175 x y DATA(2, -2, -2)
+
+ 2 2
+ + 1/175 x y DATA(2, 2, 2) + 1/350 x y DATA(-2, -1, -2)
+
+ 2 2
+ - 1/350 x y DATA(1, 2, 2) - 1/350 x y DATA(2, 2, -1)
+
+ 2 2
+ - 1/700 x y DATA(-1, 2, 1) - 1/700 x y DATA(2, 1, 1)
+
+ 2 2
+ + 1/700 x y DATA(2, -1, -1) + 1/700 x y DATA(-1, 2, -1)
+
+ 2 2
+ + 1/700 x y DATA(2, 1, -1) - 1/700 x y DATA(1, 2, -1)
+
+ 2 2
+ - 1/1400 x y DATA(-1, -1, -1) - 1/175 x y DATA(-2, 2, 2)
+
+ 2 2
+ - 1/1400 x y DATA(1, 1, 1) + 1/350 x y DATA(-2, 1, 2)
+
+ 2 2
+ + 1/175 x y DATA(2, -2, 2) + 1/350 x y DATA(-2, -1, 2)
+
+ 2
+ + 1/350 x y DATA(1, -2, 2) + 2/175 y z DATA(-2, 2, -2)
+
+ 2
+ - 1/350 x y DATA(-1, -2, 2) - 1/175 y z DATA(1, -1, -2)
+
+ 2 2
+ + 1/1400 x y DATA(-1, -1, 1) - 1/1400 x y DATA(1, -1, 1)
+
+ 2
+ + 1/1400 x y DATA(-1, 1, 1) - 1/350 x y z DATA(2, 1, -1)
+
+ 2 2
+ - 1/700 x y DATA(-2, 1, -1) + 1/350 x y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/350 x y DATA(1, 2, -2) - 1/175 x y DATA(2, 2, -2)
+
+ 2 2
+ + 1/350 x y DATA(-2, -2, -1) - 1/700 x y DATA(-1, -2, -1)
+
+ 2 2
+ - 1/700 x y DATA(1, -2, -1) + 1/350 x y DATA(2, -2, -1)
+
+ 2 2
+ - 1/700 x y DATA(-1, -1, -2) - 1/700 x y DATA(1, -1, -2)
+
+ 2 2
+ + 1/350 x y DATA(2, -1, -2) - 1/350 x y DATA(-2, 1, -2)
+
+ 2 2
+ + 1/700 x y DATA(-1, 1, -2) + 1/700 x y DATA(1, 1, -2)
+
+ 2 2
+ - 1/350 x y DATA(2, 1, -2) - 1/175 x y DATA(-2, 2, -2)
+
+ 2 2
+ + 1/350 x y DATA(2, 2, 1) + 1/700 x y DATA(-1, -1, 2)
+
+ 2 2
+ - 1/350 x y DATA(2, -1, 2) + 1/700 x y DATA(1, -1, 2)
+
+ 2 2
+ + 1/175 x y DATA(-2, -2, -2) - 1/700 x y DATA(-1, 1, 2)
+
+ 2 2
+ - 1/350 x y DATA(-1, -2, -2) - 1/350 x y DATA(-1, 2, 2)
+
+ 2 2
+ + 1/350 x y DATA(2, 1, 2) - 1/350 x y DATA(1, -2, -2)
+
+ 2 2
+ - 1/50 z DATA(1, 2, 1) + 2/245 x z DATA(-2, -2, 2)
+
+ 2 2
+ - 1/245 x z DATA(-2, 2, 1) - 1/245 x z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/245 x z DATA(-2, -1, 1) - 1/245 x z DATA(2, -2, 1)
+
+ 2 2
+ - 1/245 x z DATA(1, 1, 2) + 1/490 x z DATA(1, -2, 1)
+
+ 2 2
+ + 1/490 x z DATA(-1, -2, 1) - 1/245 x z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 x z DATA(-2, 2, -1) - 1/245 x z DATA(-2, -1, -1)
+
+ 2 2
+ - 1/245 x z DATA(-2, 1, -1) - 1/245 x z DATA(-1, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(1, 2, -2) + 2/245 x z DATA(2, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(-2, -2, -1) + 1/490 x z DATA(-1, -2, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, -2, -1) - 1/175 x y DATA(-2, -2, 2)
+
+ 2 2
+ + 1/350 x y DATA(-2, 2, 1) + 1/700 x y DATA(-2, 1, 1)
+
+ 2 2
+ - 1/700 x y DATA(-2, -1, 1) - 1/350 x y DATA(2, -2, 1)
+
+ 2 2
+ - 1/700 x y DATA(1, 1, 2) + 1/700 x y DATA(1, -2, 1)
+
+ 2 2
+ + 1/700 x y DATA(-1, -2, 1) - 1/350 x y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/350 x y DATA(-2, 2, -1) + 1/700 x y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/50 z DATA(2, -1, 1) - 1/1400 x y DATA(1, 1, 1)
+
+ 2 2
+ + 1/350 x y DATA(-2, 1, 2) - 1/175 x y DATA(2, -2, 2)
+
+ 2 2
+ - 1/350 x y DATA(-2, -1, 2) + 1/350 x y DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 x y DATA(-1, -2, 2) + 1/1400 x y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/1400 x y DATA(1, -1, 1) - 1/1400 x y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/1400 x y DATA(1, 1, -1) + 1/50 z DATA(1, -1, -1)
+
+ 2 2
+ + 2/245 x z DATA(-2, 2, 2) + 1/490 x z DATA(1, 1, 1)
+
+ 2
+ + 1/175 y z DATA(2, 1, -2) + 2/245 x z DATA(-2, 1, 2)
+
+ 2 2
+ + 2/245 x z DATA(2, -2, 2) + 2/245 x z DATA(-2, -1, 2)
+
+ 2 2
+ - 1/245 x z DATA(1, -2, 2) - 1/245 x z DATA(-1, -2, 2)
+
+ 2 2
+ - 1/1400 x y DATA(1, -1, -1) - 1/700 x y DATA(2, -1, 1)
+
+ 2 2
+ - 1/700 x y DATA(1, 2, 1) - 1/700 x y DATA(-1, 2, 1)
+
+ 2 2
+ + 1/700 x y DATA(2, 1, 1) + 1/700 x y DATA(2, -1, -1)
+
+ 2 2
+ + 1/700 x y DATA(-1, 2, -1) - 1/700 x y DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 x y DATA(1, 2, -1) - 1/1400 x y DATA(-1, -1, -1)
+
+ 2
+ + 1/175 x y DATA(-2, 2, 2) + 1/125 x y DATA(-2, -2, 2)
+
+ - 1/250 x y DATA(-2, 2, 1) - 1/500 x y DATA(-2, 1, 1)
+
+ 2
+ + 1/500 x y DATA(-2, -1, 1) - 1/245 x z DATA(2, -2, -1)
+
+ 2 2
+ - 1/245 x z DATA(-1, -1, -2) - 1/245 x z DATA(1, -1, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, -1, -2) + 2/245 x z DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 x z DATA(-1, 1, -2) - 1/245 x z DATA(1, 1, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, 1, -2) + 2/245 x z DATA(-2, 2, -2)
+
+ 2 2
+ - 1/245 x z DATA(2, 2, 1) - 1/245 x z DATA(-1, -1, 2)
+
+ 2 2
+ + 2/245 x z DATA(2, -1, 2) - 1/245 x z DATA(1, -1, 2)
+
+ 2 2
+ + 2/245 x z DATA(-2, -2, -2) - 1/245 x z DATA(-1, 1, 2)
+
+ 2 2
+ - 1/245 x z DATA(-1, -2, -2) - 1/245 x z DATA(-1, 2, 2)
+
+ 2 2
+ + 2/245 x z DATA(2, 1, 2) - 1/245 x z DATA(1, -2, -2)
+
+ 2 2
+ + 1/490 x z DATA(-1, 1, -1) + 2/245 x z DATA(2, -2, -2)
+
+ 2 2
+ + 2/245 x z DATA(2, 2, 2) + 2/245 x z DATA(-2, -1, -2)
+
+ 2 2
+ - 1/245 x z DATA(1, 2, 2) - 1/245 x z DATA(2, 2, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, -1, -1) - 1/245 x z DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 x z DATA(1, 2, 1) + 1/490 x z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/245 x z DATA(2, 1, 1) - 1/245 x z DATA(2, -1, -1)
+
+ 2 2
+ + 1/490 x z DATA(-1, 2, -1) - 1/245 x z DATA(2, 1, -1)
+
+ 2 2
+ + 1/490 x z DATA(1, 2, -1) + 1/490 x z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/50 z DATA(2, 2, -1) - 1/100 z DATA(-2, -1, -2)
+
+ 2 2
+ + 1/100 z DATA(2, 2, 2) - 1/100 z DATA(2, -2, -2)
+
+ 2 2
+ + 1/50 z DATA(-1, 1, -1) - 1/100 z DATA(1, -2, -2)
+
+ 2 2
+ + 1/100 z DATA(2, 1, 2) + 1/100 z DATA(-1, 2, 2)
+
+ 2 2
+ - 1/100 z DATA(-1, -2, -2) + 1/100 z DATA(-1, 1, 2)
+
+ 2 2
+ - 1/100 z DATA(-2, -2, -2) + 1/100 z DATA(1, -1, 2)
+
+ 2 2
+ + 1/100 z DATA(2, -1, 2) + 1/100 z DATA(-1, -1, 2)
+
+ 2 2
+ - 1/50 z DATA(2, 2, 1) - 1/100 z DATA(-2, 2, -2)
+
+ 2 2
+ - 1/100 z DATA(2, 1, -2) - 1/100 z DATA(1, 1, -2)
+
+ 2 2
+ - 1/100 z DATA(-1, 1, -2) - 1/100 z DATA(-2, 1, -2)
+
+ 2 2 2
+ - 1/50 z DATA(-1, 2, 1) + 1/50 z DATA(1, 1, -1) - 1/50 z DATA(-1, 1, 1)
+
+ 2 2
+ - 1/50 z DATA(1, -1, 1) - 1/50 z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/100 z DATA(-1, -2, 2) + 1/100 z DATA(1, -2, 2)
+
+ 2 2
+ + 1/100 z DATA(-2, -1, 2) + 1/100 z DATA(2, -2, 2)
+
+ 2 2
+ + 1/100 z DATA(-2, 1, 2) - 1/50 z DATA(1, 1, 1)
+
+ 2 2
+ + 1/100 z DATA(-2, 2, 2) + 1/50 z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/50 z DATA(1, 2, -1) + 1/700 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/700 y DATA(1, 1, -1) - 1/700 y DATA(-1, 1, 1)
+
+ 2 2
+ - 1/700 y DATA(1, -1, 1) - 1/700 y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/175 y DATA(-1, -2, 2) + 1/175 y DATA(1, -2, 2)
+
+ 2 2
+ - 1/350 y DATA(-2, -1, 2) + 1/175 y DATA(2, -2, 2)
+
+ 2 2
+ - 1/350 y DATA(-2, 1, 2) - 1/700 y DATA(1, 1, 1)
+
+ 2 2
+ + 1/175 y DATA(-2, 2, 2) + 1/700 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/350 y DATA(1, 2, -1) + 1/700 y DATA(2, 1, -1)
+
+ 2 2
+ - 1/350 y DATA(-1, 2, -1) + 1/700 y DATA(2, -1, -1)
+
+ 2 2
+ - 1/700 y DATA(2, 1, 1) + 1/350 y DATA(-1, 2, 1)
+
+ 2 2
+ + 1/350 y DATA(1, 2, 1) - 1/700 y DATA(2, -1, 1)
+
+ 2 2
+ + 1/700 y DATA(1, -1, -1) - 1/350 y DATA(2, 2, -1)
+
+ 2 2
+ + 1/175 y DATA(1, 2, 2) + 1/350 y DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 y DATA(2, 2, 2) - 1/175 y DATA(2, -2, -2)
+
+ 2 2
+ + 1/700 y DATA(-1, 1, -1) - 1/175 y DATA(1, -2, -2)
+
+ 2 2
+ - 1/350 y DATA(2, 1, 2) + 1/175 y DATA(-1, 2, 2)
+
+ 2 2
+ - 1/175 y DATA(-1, -2, -2) - 1/350 y DATA(-1, 1, 2)
+
+ 2 2
+ - 1/175 y DATA(-2, -2, -2) - 1/350 y DATA(1, -1, 2)
+
+ 2 2
+ - 1/350 y DATA(2, -1, 2) - 1/350 y DATA(-1, -1, 2)
+
+ 2 2
+ + 1/350 y DATA(2, 2, 1) - 1/175 y DATA(-2, 2, -2)
+
+ 2 2
+ + 1/350 y DATA(2, 1, -2) + 1/350 y DATA(1, 1, -2)
+
+ 2
+ + 1/350 y DATA(-1, 1, -2) + 1/175 y z DATA(1, 1, 2)
+
+ + 1/175 y z DATA(1, -2, 1) + 1/250 x y DATA(-2, 2, -1)
+
+ + 1/250 x y DATA(-2, -2, 1) + 1/175 y z DATA(-1, -2, 1)
+
+ + 1/42 DATA(-2, -1, 1) + 1/250 x y DATA(-1, 2, -2)
+
+ 2 2
+ - 1/175 x DATA(-2, -2, -2) - 1/350 x DATA(1, -1, 2)
+
+ 2 2
+ + 1/175 x DATA(2, -1, 2) - 1/350 x DATA(-1, -1, 2)
+
+ 2 2
+ + 1/350 x DATA(2, 2, 1) - 1/175 x DATA(-2, 2, -2)
+
+ 2 2
+ - 1/175 x DATA(2, 1, -2) + 1/350 x DATA(1, 1, -2)
+
+ 2 2
+ + 1/350 x DATA(-1, 1, -2) - 1/175 x DATA(-2, 1, -2)
+
+ 2 2
+ - 1/175 x DATA(2, -1, -2) + 1/350 x DATA(1, -1, -2)
+
+ 2 2
+ + 1/350 x DATA(-1, -1, -2) - 1/350 x DATA(2, -2, -1)
+
+ 2 2
+ + 1/700 x DATA(1, -2, -1) - 1/350 x DATA(1, -2, 2)
+
+ 2 2
+ - 1/700 x DATA(-1, 1, 1) - 1/700 x DATA(1, -1, 1)
+
+ 2 2
+ - 1/700 x DATA(-1, -1, 1) - 1/350 x DATA(-1, -2, 2)
+
+ 3 3
+ + 1/300 x DATA(-1, 1, 1) - 1/300 x DATA(1, -1, 1)
+
+ 3 3
+ + 1/300 x DATA(-1, -1, 1) + 1/150 x DATA(-1, -2, 2)
+
+ 3 3
+ - 1/150 x DATA(1, -2, 2) - 1/300 x DATA(-2, -1, 2)
+
+ 3 3
+ + 1/300 x DATA(2, -2, 2) - 1/300 x DATA(-2, 1, 2)
+
+ 3 3
+ - 1/300 x DATA(1, 1, 1) - 1/300 x DATA(-2, 2, 2)
+
+ 3 3
+ - 1/300 x DATA(-1, -1, -1) + 1/300 x DATA(1, 2, -1)
+
+ 3 3
+ - 1/600 x DATA(2, 1, -1) - 1/300 x DATA(-1, 2, -1)
+
+ 3 3
+ - 1/600 x DATA(2, -1, -1) + 1/600 x DATA(2, 1, 1)
+
+ 3 3
+ + 1/300 x DATA(-1, 2, 1) - 1/300 x DATA(1, 2, 1)
+
+ 3 3
+ + 1/600 x DATA(2, -1, 1) + 1/300 x DATA(1, -1, -1)
+
+ 3 3
+ - 1/600 x DATA(2, 2, -1) - 1/150 x DATA(1, 2, 2)
+
+ 3 3
+ + 1/300 x DATA(-2, -1, -2) + 1/300 x DATA(2, 2, 2)
+
+ 3 3
+ - 1/300 x DATA(2, -2, -2) - 1/300 x DATA(-1, 1, -1)
+
+ 3 3
+ + 1/150 x DATA(1, -2, -2) + 1/300 x DATA(2, 1, 2)
+
+ 3 3
+ + 1/150 x DATA(-1, 2, 2) - 1/150 x DATA(-1, -2, -2)
+
+ 3 3
+ + 1/150 x DATA(-1, 1, 2) + 1/300 x DATA(-2, -2, -2)
+
+ 3 3
+ - 1/150 x DATA(1, -1, 2) + 1/300 x DATA(2, -1, 2)
+
+ 3 3
+ + 1/150 x DATA(-1, -1, 2) + 1/600 x DATA(2, 2, 1)
+
+ 3 3
+ + 1/300 x DATA(-2, 2, -2) - 1/300 x DATA(2, 1, -2)
+
+ 3 3
+ + 1/150 x DATA(1, 1, -2) - 1/150 x DATA(-1, 1, -2)
+
+ 3 3
+ + 1/300 x DATA(-2, 1, -2) - 1/300 x DATA(2, -1, -2)
+
+ 3 3
+ + 1/150 x DATA(1, -1, -2) - 1/150 x DATA(-1, -1, -2)
+
+ 3 3
+ - 1/600 x DATA(2, -2, -1) + 1/300 x DATA(1, -2, -1)
+
+ 3 3
+ - 1/300 x DATA(-1, -2, -1) + 1/600 x DATA(-2, -2, -1)
+
+ 2 2
+ + 1/175 x DATA(-2, -1, 2) + 1/175 x DATA(2, -2, 2)
+
+ 2 2
+ + 1/175 x DATA(-2, 1, 2) - 1/700 x DATA(1, 1, 1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, 2) + 1/700 x DATA(-1, -1, -1)
+
+ 2 2
+ + 1/700 x DATA(1, 2, -1) - 1/350 x DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 x DATA(-1, 2, -1) - 1/350 x DATA(2, -1, -1)
+
+ 2 2
+ + 1/350 x DATA(2, 1, 1) - 1/700 x DATA(-1, 2, 1)
+
+ 2 2
+ - 1/700 x DATA(1, 2, 1) + 1/350 x DATA(2, -1, 1)
+
+ 2 2
+ + 1/700 x DATA(1, -1, -1) - 1/350 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/350 x DATA(1, 2, 2) - 1/175 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 x DATA(2, 2, 2) - 1/175 x DATA(2, -2, -2)
+
+ 2 2
+ + 1/700 x DATA(-1, 1, -1) + 1/350 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/175 x DATA(2, 1, 2) - 1/350 x DATA(-1, 2, 2)
+
+ 2 2
+ + 1/350 x DATA(-1, -2, -2) - 1/350 x DATA(-1, 1, 2)
+
+ 3 3
+ + 1/300 x DATA(1, 1, -1) + 1/600 x DATA(-2, -1, -1)
+
+ 3 3
+ + 1/600 x DATA(-2, 2, -1) - 1/600 x DATA(-2, -2, 1)
+
+ 3 3
+ + 1/300 x DATA(-1, -2, 1) - 1/300 x DATA(1, -2, 1)
+
+ 3 3
+ - 1/150 x DATA(1, 1, 2) + 1/600 x DATA(2, -2, 1)
+
+ 3 3
+ - 1/600 x DATA(-2, -1, 1) - 1/600 x DATA(-2, 1, 1)
+
+ 3 2
+ - 1/600 x DATA(-2, 2, 1) + 1/700 x DATA(-1, -2, -1)
+
+ 2 2
+ - 1/350 x DATA(-2, -2, -1) - 1/175 x DATA(2, 2, -2)
+
+ 2 2
+ + 1/350 x DATA(1, 2, -2) + 1/350 x DATA(-1, 2, -2)
+
+ 2 2
+ - 1/350 x DATA(-2, 1, -1) - 1/350 x DATA(-2, -1, -1)
+
+ 2 2
+ - 1/350 x DATA(-2, 2, -1) + 1/350 x DATA(-2, -2, 1)
+
+ 2 2
+ - 1/700 x DATA(-1, -2, 1) - 1/700 x DATA(1, -2, 1)
+
+ 2 2
+ - 1/350 x DATA(1, 1, 2) + 1/350 x DATA(2, -2, 1)
+
+ 2 2
+ + 1/350 x DATA(-2, -1, 1) + 1/350 x DATA(-2, 1, 1)
+
+ 2 2
+ + 1/350 x DATA(-2, 2, 1) + 1/175 x DATA(-2, -2, 2)
+
+ 3
+ - 1/175 y z DATA(-2, -1, 2) - 1/300 x DATA(2, 2, -2)
+
+ 3 3
+ + 1/150 x DATA(1, 2, -2) - 1/150 x DATA(-1, 2, -2)
+
+ 3 137
+ + 1/600 x DATA(-2, 1, -1) - ---- x DATA(-1, -1, 1)
+ 5250
+
+ 107 107 47
+ - ---- x DATA(-1, -2, 2) + ---- x DATA(1, -2, 2) + ---- x DATA(-2, -1, 2)
+ 7000 7000 5250
+
+ 137 47 137
+ - ---- x DATA(2, -2, 2) + ---- x DATA(-2, 1, 2) + ---- x DATA(1, 1, 1)
+ 5250 5250 5250
+
+ 137 137 229
+ + ---- x DATA(-2, 2, 2) + ---- x DATA(-1, -1, -1) - ----- x DATA(1, 2, -1)
+ 5250 5250 10500
+
+ 167 229 167
+ - ---- x DATA(2, 1, -1) + ----- x DATA(-1, 2, -1) - ---- x DATA(2, -1, -1)
+ 7000 10500 7000
+
+ 167 229 229
+ + ---- x DATA(2, 1, 1) - ----- x DATA(-1, 2, 1) + ----- x DATA(1, 2, 1)
+ 7000 10500 10500
+
+ 167 137 107
+ + ---- x DATA(2, -1, 1) - ---- x DATA(1, -1, -1) - ---- x DATA(2, 2, -1)
+ 7000 5250 7000
+
+ 107 47
+ + ---- x DATA(1, 2, 2) - ---- x DATA(-2, -1, -2)
+ 7000 5250
+
+ 3 137
+ - 1/300 x DATA(-2, -2, 2) + ---- x DATA(1, -1, 1)
+ 5250
+
+ 107 229
+ - ---- x DATA(2, -2, -1) - ----- x DATA(1, -2, -1)
+ 7000 10500
+
+ 229 107
+ + ----- x DATA(-1, -2, -1) + ---- x DATA(-2, -2, -1)
+ 10500 7000
+
+ 137 107 107
+ + ---- x DATA(2, 2, -2) - ---- x DATA(1, 2, -2) + ---- x DATA(-1, 2, -2)
+ 5250 7000 7000
+
+ 167 167
+ + ---- x DATA(-2, 1, -1) + ---- x DATA(-2, -1, -1)
+ 7000 7000
+
+ 107 107
+ + ---- x DATA(-2, 2, -1) - ---- x DATA(-2, -2, 1)
+ 7000 7000
+
+ 229 229 167
+ - ----- x DATA(-1, -2, 1) + ----- x DATA(1, -2, 1) + ---- x DATA(1, 1, 2)
+ 10500 10500 7000
+
+ 107 137 137
+ + ---- x DATA(2, -2, 1) - ---- x DATA(1, 1, -1) - ---- x DATA(-1, 1, 1)
+ 7000 5250 5250
+
+ 137 137 137
+ - ---- x DATA(2, 2, 2) + ---- x DATA(2, -2, -2) + ---- x DATA(-1, 1, -1)
+ 5250 5250 5250
+
+ 107 47 107
+ - ---- x DATA(1, -2, -2) - ---- x DATA(2, 1, 2) - ---- x DATA(-1, 2, 2)
+ 7000 5250 7000
+
+ 107 167
+ + ---- x DATA(-1, -2, -2) - ---- x DATA(-1, 1, 2)
+ 7000 7000
+
+ 137 167 47
+ - ---- x DATA(-2, -2, -2) + ---- x DATA(1, -1, 2) - ---- x DATA(2, -1, 2)
+ 5250 7000 5250
+
+ 167 107 137
+ - ---- x DATA(-1, -1, 2) + ---- x DATA(2, 2, 1) - ---- x DATA(-2, 2, -2)
+ 7000 7000 5250
+
+ 47 167 167
+ + ---- x DATA(2, 1, -2) - ---- x DATA(1, 1, -2) + ---- x DATA(-1, 1, -2)
+ 5250 7000 7000
+
+ 47 47 167
+ - ---- x DATA(-2, 1, -2) + ---- x DATA(2, -1, -2) - ---- x DATA(1, -1, -2)
+ 5250 5250 7000
+
+ 167 167 167
+ + ---- x DATA(-1, -1, -2) - ---- x DATA(-2, -1, 1) - ---- x DATA(-2, 1, 1)
+ 7000 7000 7000
+
+ 107 137
+ - ---- x DATA(-2, 2, 1) + ---- x DATA(-2, -2, 2)
+ 7000 5250
+
+ 3 3
+ + 1/150 z DATA(2, -1, -2) + 1/150 z DATA(-1, -1, -2)
+
+ 3 3
+ - 2/75 z DATA(2, -2, -1) - 2/75 z DATA(1, -2, -1)
+
+ 3 3
+ - 2/75 z DATA(-1, -2, -1) - 2/75 z DATA(-2, -2, -1)
+
+ 3 3
+ + 1/150 z DATA(2, 2, -2) + 1/150 z DATA(1, 2, -2)
+
+ 3 3
+ + 1/150 z DATA(-1, 2, -2) - 2/75 z DATA(-2, 1, -1)
+
+ 3 3
+ - 2/75 z DATA(-2, -1, -1) - 2/75 z DATA(-2, 2, -1)
+
+ 3 3
+ - 2/75 z DATA(-2, -2, 1) - 2/75 z DATA(-1, -2, 1)
+
+ 3 3 3
+ - 2/75 z DATA(1, -2, 1) + 1/150 z DATA(1, 1, 2) - 2/75 z DATA(2, -2, 1)
+
+ 3 3
+ - 2/75 z DATA(-2, -1, 1) - 2/75 z DATA(-2, 1, 1)
+
+ 3 3
+ - 2/75 z DATA(-2, 2, 1) + 1/150 z DATA(-2, -2, 2)
+
+ 3 3
+ + 1/150 z DATA(-1, -1, 2) - 2/75 z DATA(-1, -1, 1)
+
+ 3 3
+ + 1/150 z DATA(-1, -2, 2) + 1/150 z DATA(1, -2, 2)
+
+ 3 3
+ + 1/150 z DATA(-2, -1, 2) + 1/150 z DATA(2, -2, 2)
+
+ 3 166 166
+ + 1/150 z DATA(1, -1, -2) + ---- z DATA(1, 1, -1) + ---- z DATA(-1, 1, 1)
+ 3675 3675
+
+ 107 137 137
+ - ---- y DATA(-2, 2, -1) - ---- y DATA(1, 1, -1) + ---- y DATA(-1, 1, 1)
+ 7000 5250 5250
+
+ 137 137 47
+ - ---- y DATA(1, -1, 1) - ---- y DATA(-1, -1, 1) + ---- y DATA(-1, -2, 2)
+ 5250 5250 5250
+
+ 47 107 137
+ + ---- y DATA(1, -2, 2) - ---- y DATA(-2, -1, 2) + ---- y DATA(2, -2, 2)
+ 5250 7000 5250
+
+ 107 137 137
+ + ---- y DATA(-2, 1, 2) + ---- y DATA(1, 1, 1) - ---- y DATA(-2, 2, 2)
+ 7000 5250 5250
+
+ 137 167 229
+ + ---- y DATA(-1, -1, -1) - ---- y DATA(1, 2, -1) - ----- y DATA(2, 1, -1)
+ 5250 7000 10500
+
+ 167 229 229
+ - ---- y DATA(-1, 2, -1) + ----- y DATA(2, -1, -1) + ----- y DATA(2, 1, 1)
+ 7000 10500 10500
+
+ 167 167 229
+ + ---- y DATA(-1, 2, 1) + ---- y DATA(1, 2, 1) - ----- y DATA(2, -1, 1)
+ 7000 7000 10500
+
+ 137 107 47
+ + ---- y DATA(1, -1, -1) - ---- y DATA(2, 2, -1) - ---- y DATA(1, 2, 2)
+ 5250 7000 5250
+
+ 107 137 137
+ + ---- y DATA(-2, -1, -2) - ---- y DATA(2, 2, 2) - ---- y DATA(2, -2, -2)
+ 7000 5250 5250
+
+ 137 47 107
+ - ---- y DATA(-1, 1, -1) - ---- y DATA(1, -2, -2) + ---- y DATA(2, 1, 2)
+ 5250 5250 7000
+
+ 47 47 167
+ - ---- y DATA(-1, 2, 2) - ---- y DATA(-1, -2, -2) + ---- y DATA(-1, 1, 2)
+ 5250 5250 7000
+
+ 137 3
+ - ---- y DATA(-2, -2, -2) - 1/300 y DATA(2, -1, -1)
+ 5250
+
+ 3 3
+ + 1/600 y DATA(-1, 2, 1) + 1/600 y DATA(1, 2, 1)
+
+ 3 3
+ + 1/300 y DATA(2, -1, 1) - 1/300 y DATA(1, -1, -1)
+
+ 3 3
+ - 1/600 y DATA(2, 2, -1) + 1/300 y DATA(1, 2, 2)
+
+ 3 3
+ - 1/150 y DATA(-2, -1, -2) + 1/300 y DATA(2, 2, 2)
+
+ 3 3
+ + 1/300 y DATA(2, -2, -2) + 1/300 y DATA(-1, 1, -1)
+
+ 3 3
+ + 1/300 y DATA(1, -2, -2) - 1/150 y DATA(2, 1, 2)
+
+ 3 3
+ + 1/300 y DATA(-1, 2, 2) + 1/300 y DATA(-1, -2, -2)
+
+ 3 3
+ - 1/150 y DATA(-1, 1, 2) + 1/300 y DATA(-2, -2, -2)
+
+ 3 3
+ + 1/150 y DATA(1, -1, 2) + 1/150 y DATA(2, -1, 2)
+
+ 3 3
+ + 1/150 y DATA(-1, -1, 2) + 1/600 y DATA(2, 2, 1)
+
+ 3 3
+ - 1/300 y DATA(-2, 2, -2) + 1/150 y DATA(2, 1, -2)
+
+ 3 3
+ + 1/150 y DATA(1, 1, -2) + 1/150 y DATA(-1, 1, -2)
+
+ 3 3
+ + 1/150 y DATA(-2, 1, -2) - 1/150 y DATA(2, -1, -2)
+
+ 3 3
+ - 1/150 y DATA(1, -1, -2) - 1/150 y DATA(-1, -1, -2)
+
+ 3 3
+ + 1/600 y DATA(2, -2, -1) + 1/600 y DATA(1, -2, -1)
+
+ 3 3
+ + 1/600 y DATA(-1, -2, -1) + 1/600 y DATA(-2, -2, -1)
+
+ 3 3
+ - 1/300 y DATA(2, 2, -2) - 1/300 y DATA(2, 1, 1)
+
+ 3 3
+ - 1/300 y DATA(1, 2, -2) - 1/300 y DATA(-1, 2, -2)
+
+ 3 3
+ + 1/300 y DATA(-2, 1, -1) - 1/300 y DATA(-2, -1, -1)
+
+ 3 3
+ - 1/600 y DATA(-2, 2, -1) - 1/600 y DATA(-2, -2, 1)
+
+ 3 3
+ - 1/600 y DATA(-1, -2, 1) - 1/600 y DATA(1, -2, 1)
+
+ 3 3
+ - 1/150 y DATA(1, 1, 2) - 1/600 y DATA(2, -2, 1)
+
+ 3 3
+ + 1/300 y DATA(-2, -1, 1) - 1/300 y DATA(-2, 1, 1)
+
+ 3 3
+ + 1/600 y DATA(-2, 2, 1) - 1/300 y DATA(-2, -2, 2)
+
+ 3 3
+ + 1/300 y DATA(1, 1, -1) - 1/300 y DATA(-1, 1, 1)
+
+ 3 3
+ + 1/300 y DATA(1, -1, 1) + 1/300 y DATA(-1, -1, 1)
+
+ 3 3
+ - 1/300 y DATA(-1, -2, 2) - 1/300 y DATA(1, -2, 2)
+
+ 3 3
+ + 1/150 y DATA(-2, -1, 2) - 1/300 y DATA(2, -2, 2)
+
+ 3 3
+ - 1/150 y DATA(-2, 1, 2) - 1/300 y DATA(1, 1, 1)
+
+ 3 3
+ + 1/300 y DATA(-2, 2, 2) - 1/300 y DATA(-1, -1, -1)
+
+ 3 3
+ - 1/600 y DATA(1, 2, -1) + 1/300 y DATA(2, 1, -1)
+
+ 3 3
+ - 1/600 y DATA(-1, 2, -1) + 1/150 z DATA(2, -1, 2)
+
+ 3 3
+ - 2/75 z DATA(2, 2, 1) + 1/150 z DATA(-2, 2, -2)
+
+ 3 3
+ + 1/150 z DATA(2, 1, -2) + 1/150 z DATA(1, 1, -2)
+
+ 3 3
+ + 1/150 z DATA(-1, 1, -2) + 1/150 z DATA(-2, 1, -2)
+
+ 3 3
+ + 1/150 z DATA(-2, 1, 2) + 1/150 z DATA(-2, 2, 2)
+
+ 3 3
+ - 2/75 z DATA(-1, -1, -1) - 2/75 z DATA(1, 2, -1)
+
+ 3 3
+ - 2/75 z DATA(2, 1, -1) - 2/75 z DATA(-1, 2, -1)
+
+ 3 3 3
+ - 2/75 z DATA(2, -1, -1) - 2/75 z DATA(2, 1, 1) - 2/75 z DATA(-1, 2, 1)
+
+ 3 3 3
+ - 2/75 z DATA(1, 2, 1) - 2/75 z DATA(2, -1, 1) - 2/75 z DATA(1, -1, -1)
+
+ 3 3
+ - 2/75 z DATA(2, 2, -1) + 1/150 z DATA(1, 2, 2)
+
+ 3 3
+ + 1/150 z DATA(-2, -1, -2) + 1/150 z DATA(2, 2, 2)
+
+ 3 3
+ + 1/150 z DATA(2, -2, -2) - 2/75 z DATA(-1, 1, -1)
+
+ 3 3
+ + 1/150 z DATA(1, -2, -2) + 1/150 z DATA(2, 1, 2)
+
+ 3 3
+ + 1/150 z DATA(-1, 2, 2) + 1/150 z DATA(-1, -2, -2)
+
+ 3 3
+ + 1/150 z DATA(-1, 1, 2) + 1/150 z DATA(-2, -2, -2)
+
+ 3 3
+ + 1/150 z DATA(1, -1, 2) - 2/75 z DATA(1, 1, -1)
+
+ 3 3
+ - 2/75 z DATA(-1, 1, 1) - 2/75 z DATA(1, -1, 1)
+
+ 2 2
+ - 1/100 z DATA(2, -1, -2) - 1/100 z DATA(1, -1, -2)
+
+ 2 2
+ - 1/100 z DATA(-1, -1, -2) + 1/50 z DATA(2, -2, -1)
+
+ 2 2
+ + 1/50 z DATA(1, -2, -1) + 1/50 z DATA(-1, -2, -1)
+
+ 2 2
+ + 1/50 z DATA(-2, -2, -1) - 1/100 z DATA(2, 2, -2)
+
+ 2 2
+ - 1/100 z DATA(1, 2, -2) - 1/100 z DATA(-1, 2, -2)
+
+ 2 2
+ + 1/50 z DATA(-2, 1, -1) + 1/50 z DATA(-2, -1, -1)
+
+ 2 2
+ + 1/50 z DATA(-2, 2, -1) - 1/50 z DATA(-2, -2, 1)
+
+ 2 2
+ - 1/50 z DATA(-1, -2, 1) - 1/50 z DATA(1, -2, 1)
+
+ 2 2
+ + 1/100 z DATA(1, 1, 2) - 1/50 z DATA(2, -2, 1)
+
+ 2 2
+ - 1/50 z DATA(-2, -1, 1) - 1/50 z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/50 z DATA(-2, 2, 1) + 1/100 z DATA(-2, -2, 2)
+
+ 2 2
+ + 1/50 z DATA(2, 1, -1) + 1/50 z DATA(-1, 2, -1)
+
+ 2 3 167
+ + 1/50 z DATA(2, -1, -1) - 2/75 z DATA(1, 1, 1) - ---- y DATA(1, -1, 2)
+ 7000
+
+ 107 167 107
+ - ---- y DATA(2, -1, 2) - ---- y DATA(-1, -1, 2) + ---- y DATA(2, 2, 1)
+ 7000 7000 7000
+
+ 137 107 167
+ + ---- y DATA(-2, 2, -2) - ---- y DATA(2, 1, -2) - ---- y DATA(1, 1, -2)
+ 5250 7000 7000
+
+ 167 107 107
+ - ---- y DATA(-1, 1, -2) - ---- y DATA(-2, 1, -2) + ---- y DATA(2, -1, -2)
+ 7000 7000 7000
+
+ 167 167
+ + ---- y DATA(1, -1, -2) + ---- y DATA(-1, -1, -2)
+ 7000 7000
+
+ 107 167
+ + ---- y DATA(2, -2, -1) + ---- y DATA(1, -2, -1)
+ 7000 7000
+
+ 167 107
+ + ---- y DATA(-1, -2, -1) + ---- y DATA(-2, -2, -1)
+ 7000 7000
+
+ 137 47 47
+ + ---- y DATA(2, 2, -2) + ---- y DATA(1, 2, -2) + ---- y DATA(-1, 2, -2)
+ 5250 5250 5250
+
+ 229 229
+ - ----- y DATA(-2, 1, -1) + ----- y DATA(-2, -1, -1)
+ 10500 10500
+
+ 107 167 167
+ - ---- y DATA(-2, -2, 1) - ---- y DATA(-1, -2, 1) - ---- y DATA(1, -2, 1)
+ 7000 7000 7000
+
+ 167 107 229
+ + ---- y DATA(1, 1, 2) - ---- y DATA(2, -2, 1) - ----- y DATA(-2, -1, 1)
+ 7000 7000 10500
+
+ 229 107 137
+ + ----- y DATA(-2, 1, 1) + ---- y DATA(-2, 2, 1) + ---- y DATA(-2, -2, 2)
+ 10500 7000 5250
+
+ 169 191
+ - ----- z DATA(-1, 2, 2) + ----- z DATA(-1, 1, 2)
+ 14700 14700
+
+ 529 191
+ - ----- z DATA(-2, -2, -2) + ----- z DATA(1, -1, 2)
+ 14700 14700
+
+ 169 191 256
+ - ----- z DATA(2, -1, 2) + ----- z DATA(-1, -1, 2) + ---- z DATA(2, 2, 1)
+ 14700 14700 3675
+
+ 529 169
+ - ----- z DATA(-2, 2, -2) - ----- z DATA(2, 1, -2)
+ 14700 14700
+
+ 191 191
+ + ----- z DATA(1, 1, -2) + ----- z DATA(-1, 1, -2)
+ 14700 14700
+
+ 169 169
+ - ----- z DATA(-2, 1, -2) - ----- z DATA(2, -1, -2)
+ 14700 14700
+
+ 191 191
+ + ----- z DATA(1, -1, -2) + ----- z DATA(-1, -1, -2)
+ 14700 14700
+
+ 256 211
+ + ---- z DATA(2, -2, -1) + ---- z DATA(1, -2, -1)
+ 3675 3675
+
+ 211 256
+ + ---- z DATA(-1, -2, -1) + ---- z DATA(-2, -2, -1)
+ 3675 3675
+
+ 529 169
+ - ----- z DATA(2, 2, -2) - ----- z DATA(1, 2, -2)
+ 14700 14700
+
+ 169 211
+ - ----- z DATA(-1, 2, -2) + ---- z DATA(-2, 1, -1)
+ 14700 3675
+
+ 211 256
+ + ---- z DATA(-2, -1, -1) + ---- z DATA(-2, 2, -1)
+ 3675 3675
+
+ 256 211 211
+ + ---- z DATA(-2, -2, 1) + ---- z DATA(-1, -2, 1) + ---- z DATA(1, -2, 1)
+ 3675 3675 3675
+
+ 191 256 211
+ + ----- z DATA(1, 1, 2) + ---- z DATA(2, -2, 1) + ---- z DATA(-2, -1, 1)
+ 14700 3675 3675
+
+ 211 256 529
+ + ---- z DATA(-2, 1, 1) + ---- z DATA(-2, 2, 1) - ----- z DATA(-2, -2, 2)
+ 3675 3675 14700
+
+ 169 2
+ - ----- z DATA(-1, -2, -2) + 1/350 y DATA(-2, 1, -2)
+ 14700
+
+ 2 2
+ + 1/350 y DATA(2, -1, -2) + 1/350 y DATA(1, -1, -2)
+
+ 2 2
+ + 1/350 y DATA(-1, -1, -2) - 1/350 y DATA(2, -2, -1)
+
+ 2 2
+ - 1/350 y DATA(1, -2, -1) - 1/350 y DATA(-1, -2, -1)
+
+ 2 2
+ - 1/350 y DATA(-2, -2, -1) - 1/175 y DATA(2, 2, -2)
+
+ 2 2
+ - 1/175 y DATA(1, 2, -2) - 1/175 y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/700 y DATA(-2, 1, -1) + 1/700 y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/350 y DATA(-2, 2, -1) + 1/350 y DATA(-2, -2, 1)
+
+ 2 2
+ + 1/350 y DATA(-1, -2, 1) + 1/350 y DATA(1, -2, 1)
+
+ 2 2
+ - 1/350 y DATA(1, 1, 2) + 1/350 y DATA(2, -2, 1)
+
+ 2 2
+ - 1/700 y DATA(-2, -1, 1) - 1/700 y DATA(-2, 1, 1)
+
+ 2 2
+ + 1/350 y DATA(-2, 2, 1) + 1/175 y DATA(-2, -2, 2)
+
+ 166 166 169
+ + ---- z DATA(1, -1, 1) + ---- z DATA(-1, -1, 1) - ----- z DATA(-1, -2, 2)
+ 3675 3675 14700
+
+ 169 169
+ - ----- z DATA(1, -2, 2) - ----- z DATA(-2, -1, 2)
+ 14700 14700
+
+ 529 169 166
+ - ----- z DATA(2, -2, 2) - ----- z DATA(-2, 1, 2) + ---- z DATA(1, 1, 1)
+ 14700 14700 3675
+
+ 529 166 211
+ - ----- z DATA(-2, 2, 2) + ---- z DATA(-1, -1, -1) + ---- z DATA(1, 2, -1)
+ 14700 3675 3675
+
+ 211 211 211
+ + ---- z DATA(2, 1, -1) + ---- z DATA(-1, 2, -1) + ---- z DATA(2, -1, -1)
+ 3675 3675 3675
+
+ 211 211 211
+ + ---- z DATA(2, 1, 1) + ---- z DATA(-1, 2, 1) + ---- z DATA(1, 2, 1)
+ 3675 3675 3675
+
+ 211 166 256
+ + ---- z DATA(2, -1, 1) + ---- z DATA(1, -1, -1) + ---- z DATA(2, 2, -1)
+ 3675 3675 3675
+
+ 169 169 529
+ - ----- z DATA(1, 2, 2) - ----- z DATA(-2, -1, -2) - ----- z DATA(2, 2, 2)
+ 14700 14700 14700
+
+ 529 166
+ - ----- z DATA(2, -2, -2) + ---- z DATA(-1, 1, -1)
+ 14700 3675
+
+ 169 169
+ - ----- z DATA(1, -2, -2) - ----- z DATA(2, 1, 2)
+ 14700 14700
+
+ + 1/175 y z DATA(2, 1, 2) - 1/350 y z DATA(-1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, -2) + 1/175 y z DATA(1, 1, -2)
+
+ + 1/175 y z DATA(-1, 1, -2) - 1/175 y z DATA(-2, -1, -2)
+
+ + 2/175 y z DATA(2, 2, 2) + 1/350 y z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 2, -1) + 2/175 y z DATA(1, 2, 2)
+
+ - 1/175 y z DATA(1, 2, 1) + 1/350 y z DATA(2, -1, 1)
+
+ + 1/350 y z DATA(2, -1, -1) - 1/350 y z DATA(2, 1, 1)
+
+ - 1/175 y z DATA(-1, 2, 1) - 1/350 y z DATA(2, 1, -1)
+
+ + 1/350 y z DATA(-1, -1, -1) - 1/175 y z DATA(1, 2, -1)
+
+ 2
+ + 2/175 y z DATA(-2, 2, 2) + 1/490 y z DATA(1, 1, -1)
+
+ 2
+ - 1/350 y z DATA(1, 1, -1) + 1/100 y z DATA(1, 1, -1)
+
+ 2 2
+ + 1/100 x z DATA(1, 1, -1) + 1/1400 x y DATA(1, 1, -1)
+
+ 2
+ + 1/175 y z DATA(-2, 1, 2) + 1/490 x z DATA(1, 1, -1)
+
+ - 1/1000 x y DATA(1, 1, -1) - 2/175 y z DATA(2, -2, 2)
+
+ - 2/175 y z DATA(1, -2, 2) - 2/175 y z DATA(-1, -2, 2)
+
+ - 2/175 y z DATA(1, -2, -2) - 1/175 y z DATA(2, -1, 2)
+
+ - 2/175 y z DATA(-2, -2, -2) + 1/350 y z DATA(-1, -1, 1)
+
+ - 1/175 y z DATA(1, -1, 2) - 2/175 y z DATA(-1, -2, -2)
+
+ + 1/175 y z DATA(-1, 1, 2) + 1/350 y z DATA(1, -1, 1)
+
+ - 1/350 y z DATA(-1, 1, 1) + 2/175 y z DATA(-1, 2, 2)
+
+ 2
+ + 1/175 y z DATA(-2, 1, -2) + 1/50 x z DATA(-2, 2, 1)
+
+ 2 2
+ + 1/50 x z DATA(-2, 1, 1) + 1/50 x z DATA(-2, -1, 1)
+
+ 2 2
+ - 1/50 x z DATA(2, -2, 1) + 1/200 x z DATA(1, 1, 2)
+
+ 2 2
+ - 1/100 x z DATA(1, -2, 1) + 1/100 x z DATA(-1, -2, 1)
+
+ 2 2
+ + 1/50 x z DATA(-2, -2, 1) - 1/50 x z DATA(-2, 2, -1)
+
+ 2 2
+ - 1/50 x z DATA(-2, -1, -1) - 1/50 x z DATA(-2, 1, -1)
+
+ 2 2
+ + 1/200 x z DATA(-1, 2, -2) - 1/200 x z DATA(1, 2, -2)
+
+ 2 2
+ - 1/100 x z DATA(2, 2, -2) - 1/50 x z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/100 x z DATA(-1, -2, -1) + 1/100 x z DATA(1, -2, -1)
+
+ 2 2
+ + 1/50 x z DATA(2, -2, -1) + 1/200 x z DATA(-1, -1, -2)
+
+ 2
+ - 1/50 z DATA(2, 1, 1) + 1/500 x y DATA(-2, 1, -1)
+
+ 2
+ - 1/175 y z DATA(2, -1, -2) - 1/200 x z DATA(-1, -2, 2)
+
+ 2 2
+ + 1/100 x z DATA(-1, -1, 1) - 1/100 x z DATA(1, -1, 1)
+
+ 2
+ + 1/100 x z DATA(-1, 1, 1) - 1/350 y z DATA(1, 1, 1)
+
+ 2 2
+ + 1/100 x z DATA(2, 1, 2) - 1/200 x z DATA(1, -2, -2)
+
+ 2 2
+ - 1/100 x z DATA(-1, 1, -1) - 1/100 x z DATA(2, -2, -2)
+
+ 2 2
+ + 1/100 x z DATA(2, 2, 2) + 1/100 x z DATA(-2, -1, -2)
+
+ 2 2
+ + 1/200 x z DATA(1, 2, 2) + 1/50 x z DATA(2, 2, -1)
+
+ 2 2
+ + 1/100 x z DATA(1, -1, -1) - 1/50 x z DATA(2, -1, 1)
+
+ 2 2
+ - 1/100 x z DATA(1, 2, 1) + 1/100 x z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/50 x z DATA(2, 1, 1) + 1/50 x z DATA(2, -1, -1)
+
+ 2 2
+ - 1/100 x z DATA(-1, 2, -1) + 1/50 x z DATA(2, 1, -1)
+
+ 2 2
+ + 1/100 x z DATA(1, 2, -1) - 1/100 x z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/100 x z DATA(-2, 2, 2) - 1/100 x z DATA(1, 1, 1)
+
+ 2 2
+ - 1/100 x z DATA(-2, 1, 2) + 1/100 x z DATA(2, -2, 2)
+
+ 2 2
+ - 1/100 x z DATA(-2, -1, 2) + 1/200 x z DATA(1, -2, 2)
+
+ 2 2
+ - 1/200 x z DATA(1, -1, -2) - 1/100 x z DATA(2, -1, -2)
+
+ 2 2
+ + 1/100 x z DATA(-2, 1, -2) + 1/200 x z DATA(-1, 1, -2)
+
+ 2 2
+ - 1/200 x z DATA(1, 1, -2) - 1/100 x z DATA(2, 1, -2)
+
+ 2 2
+ + 1/100 x z DATA(-2, 2, -2) - 1/50 x z DATA(2, 2, 1)
+
+ 2 2
+ - 1/200 x z DATA(-1, -1, 2) + 1/100 x z DATA(2, -1, 2)
+
+ 2 2
+ + 1/200 x z DATA(1, -1, 2) + 1/100 x z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/200 x z DATA(-1, 1, 2) + 1/200 x z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/200 x z DATA(-1, 2, 2) - 1/100 x z DATA(-2, -2, 2)
+
+ 2 2
+ - 1/175 x y DATA(-2, -2, 2) - 1/350 x y DATA(-2, 2, 1)
+
+ 2 2
+ + 1/700 x y DATA(-2, 1, 1) + 1/700 x y DATA(-2, -1, 1)
+
+ 2 2
+ + 1/350 x y DATA(2, -2, 1) - 1/700 x y DATA(1, 1, 2)
+
+ 2
+ + 1/700 x y DATA(1, -2, 1) - 1/125 x y DATA(2, 2, -2)
+
+ - 1/250 x y DATA(1, 2, -2) - 1/250 x y DATA(-2, -2, -1)
+
+ + 1/500 x y DATA(1, -1, -2) - 1/500 x y DATA(-1, -1, -2)
+
+ + 1/250 x y DATA(2, -2, -1) + 1/500 x y DATA(1, -2, -1)
+
+ - 1/500 x y DATA(-1, -2, -1) + 1/250 x y DATA(-2, 1, -2)
+
+ + 1/250 x y DATA(2, -1, -2) - 1/500 x y DATA(1, 1, -2)
+
+ + 1/500 x y DATA(-1, 1, -2) + 1/125 x y DATA(-2, 2, -2)
+
+ + 2/75 DATA(-2, 0, 1) - 1/250 x y DATA(2, 1, -2)
+
+ - 1/500 x y DATA(1, -1, 2) - 1/250 x y DATA(2, -1, 2)
+
+ + 1/500 x y DATA(-1, -1, 2) + 1/250 x y DATA(2, 2, 1)
+
+ + 1/42 DATA(-2, 1, 1) - 1/250 x y DATA(-1, -2, -2)
+
+ - 1/500 x y DATA(-1, 1, 2) - 1/125 x y DATA(-2, -2, -2)
+
+ + 1/1000 x y DATA(-1, 1, -1) + 1/250 x y DATA(1, -2, -2)
+
+ + 1/250 x y DATA(2, 1, 2) - 1/250 x y DATA(-1, 2, 2)
+
+ + 8/525 DATA(-2, 2, 1) + 1/125 x y DATA(2, 2, 2)
+
+ + 1/125 x y DATA(2, -2, -2) + 1/1000 x y DATA(1, -1, -1)
+
+ - 1/250 x y DATA(2, 2, -1) + 1/250 x y DATA(1, 2, 2)
+
+ - 1/250 x y DATA(-2, -1, -2) + 1/500 x y DATA(1, 2, 1)
+
+ - 1/500 x y DATA(2, -1, 1) - 1/500 x y DATA(-1, 2, 1)
+
+ 11 2 2
+ - --- DATA(-2, -2, 2) + 1/100 z DATA(1, 2, 2) + 1/50 y z DATA(0, -2, 1)
+ 420
+
+ + 1/500 x y DATA(2, -1, -1) + 1/500 x y DATA(-1, 2, -1)
+
+ - 1/500 x y DATA(2, 1, -1) - 1/500 x y DATA(1, 2, -1)
+
+ - 1/1000 x y DATA(-1, -1, -1) - 1/125 x y DATA(-2, 2, 2)
+
+ + 1/1000 x y DATA(1, 1, 1) - 1/250 x y DATA(-2, 1, 2)
+
+ - 1/125 x y DATA(2, -2, 2) + 1/250 x y DATA(-2, -1, 2)
+
+ - 1/250 x y DATA(1, -2, 2) + 1/250 x y DATA(-1, -2, 2)
+
+ + 1/1000 x y DATA(-1, -1, 1) - 1/1000 x y DATA(1, -1, 1)
+
+ 2
+ - 1/1000 x y DATA(-1, 1, 1) + 1/490 x z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/490 x z DATA(1, -1, 1) + 1/490 x z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 y z DATA(0, 1, -1) + 1/100 y z DATA(0, -1, 1)
+
+ 2
+ - 1/100 y z DATA(0, -2, 2) + 1/500 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=1734478456, alloc=15136044, time=245.57
+bytes used=1735600544, alloc=15136044, time=245.66
+bytes used=1736804236, alloc=15136044, time=245.76
+bytes used=1737984424, alloc=15136044, time=245.86
+bytes used=1739143452, alloc=15136044, time=245.95
+bytes used=1740280408, alloc=15136044, time=246.05
+bytes used=1741399644, alloc=15136044, time=246.14
+bytes used=1742500752, alloc=15136044, time=246.23
+bytes used=1743579388, alloc=15136044, time=246.33
+bytes used=1744637184, alloc=15136044, time=246.42
+bytes used=1745672252, alloc=15136044, time=246.51
+bytes used=1746685304, alloc=15136044, time=246.60
+bytes used=1747770268, alloc=15136044, time=246.70
+bytes used=1748770456, alloc=15136044, time=246.80
+bytes used=1749770948, alloc=15136044, time=246.89
+bytes used=1750877868, alloc=15136044, time=247.00
+bytes used=1751878432, alloc=15136044, time=247.10
+bytes used=1752994200, alloc=15136044, time=247.22
+bytes used=1753994340, alloc=15136044, time=247.32
+bytes used=1754999224, alloc=15136044, time=247.43
+bytes used=1755999364, alloc=15136044, time=247.54
+bytes used=1756999808, alloc=15136044, time=247.64
+bytes used=1758027828, alloc=15136044, time=247.76
+bytes used=1759028036, alloc=15136044, time=247.86
+bytes used=1760028168, alloc=15136044, time=247.97
+bytes used=1761128288, alloc=15136044, time=248.09
+bytes used=1762128412, alloc=15136044, time=248.20
+bytes used=1763191968, alloc=15136044, time=248.32
+bytes used=1764192116, alloc=15136044, time=248.44
+bytes used=1765194812, alloc=15136044, time=248.58
+bytes used=1766211980, alloc=15136044, time=248.70
+bytes used=1767289676, alloc=15136044, time=248.84
+bytes used=1768293248, alloc=15136044, time=248.98
+bytes used=1769360484, alloc=15136044, time=249.12
+bytes used=1770379176, alloc=15136044, time=249.26
+bytes used=1771387548, alloc=15136044, time=249.40
+bytes used=1772420244, alloc=15136044, time=249.49
+bytes used=1773468232, alloc=15136044, time=249.56
+bytes used=1774515996, alloc=15136044, time=249.63
+bytes used=1775563424, alloc=15136044, time=249.70
+bytes used=1776610852, alloc=15136044, time=249.77
+bytes used=1777658280, alloc=15136044, time=249.84
+ 137 137 2 3
+[COEFF(-2, -2, -2) = - ---- y - 2/175 x z - ---- x + 2/245 y z + 1/150 z
+ 5250 5250
+
+ 11 2 2 3
+ - 1/125 x y + --- + 2/245 x z + 1/100 y z - 2/175 y z + 1/300 x
+ 420
+
+ 2 2 529 2 2
+ + 2/175 x y z - 1/175 x - 1/175 y - ----- z + 1/100 x z + 1/175 x y
+ 14700
+
+ 2 3 2 3
+ + 1/175 x y + 1/300 y - 1/100 z , COEFF(-1, -2, -2) = - 1/150 x
+
+ 2 2 2 107 2 19
+ - 1/100 z + 2/245 y z + 1/350 x + ---- x - 1/350 x y + ----
+ 7000 2100
+
+ 47 169 2 3
+ + 1/175 x y z - ---- y - ----- z - 1/245 x z + 1/150 z - 2/175 y z
+ 5250 14700
+
+ 2 2 2 2 3
+ - 1/250 x y + 1/200 x z - 1/175 y + 1/100 y z + 1/350 x y + 1/300 y
+
+ 17 2
+ - 1/175 x z, COEFF(0, -2, -2) = - ---- y - 2/175 y z + 2/245 y z
+ 5250
+
+ 2 2 3 2 2
+ - 1/175 y - 2/245 x z + 1/150 z + 1/175 x + 1/100 y z + 1/300
+
+ 2 3 2
+ - 1/300 z - 1/100 z + 1/300 y - 1/175 x y, COEFF(1, -2, -2) =
+
+ 3 2 3
+ - 2/175 y z + 1/150 z + 1/175 x z + 1/250 x y - 1/100 z + 1/300 y
+
+ 47 2 2 2 2 2
+ - ---- y - 1/245 x z + 1/100 y z - 1/350 x y - 1/175 y - 1/200 x z
+ 5250
+
+ 19 2 2 3 169 107
+ + ---- - 1/350 x y + 1/350 x + 1/150 x - 1/175 x y z - ----- z - ---- x
+ 2100 14700 7000
+
+ 2 2 2
+ + 2/245 y z, COEFF(2, -2, -2) = 2/245 y z + 1/125 x y + 1/175 x y
+
+ 3 2 3 2 11
+ + 1/300 y - 2/175 y z + 2/245 x z + 1/150 z - 1/175 x y + ---
+ 420
+
+ 2 2 2 137 137
+ - 1/175 y - 1/100 x z + 1/100 y z - ---- y + ---- x + 2/175 x z
+ 5250 5250
+
+ 529 3 2 2
+ - ----- z - 1/300 x - 1/100 z - 2/175 x y z - 1/175 x ,
+ 14700
+
+ 2 169 47 2
+ COEFF(-2, -1, -2) = - 1/100 z - ----- z - ---- x - 1/250 x y + 1/200 y z
+ 14700 5250
+
+ 19 2 3 2 3
+ + 1/175 x y z + ---- - 1/175 x - 1/150 y - 1/350 x y + 1/300 x
+ 2100
+
+ 2 2 2 2
+ - 1/175 y z + 1/100 x z + 2/245 x z + 1/350 x y - 2/175 x z + 1/350 y
+
+ 2 107 3
+ - 1/245 y z + ---- y + 1/150 z , COEFF(-1, -1, -2) = - 1/500 x y
+ 7000
+
+ 3 2 3 2 2 167
+ - 1/150 y - 1/700 x y - 1/150 x + 1/200 x z - 1/100 z + ---- x
+ 7000
+
+ 17 191 2
+ + 1/350 x y z - ---- - 1/175 x z + ----- z + 1/350 x - 1/175 y z
+ 2100 14700
+
+ 2 167 2 2 2 3
+ + 1/200 y z + ---- y + 1/350 y - 1/245 x z - 1/245 y z + 1/150 z
+ 7000
+
+ 2 3 2 187
+ - 1/700 x y , COEFF(0, -1, -2) = - 1/150 y - 1/245 y z + ---- y
+ 7000
+
+ 3 2 2 2 29 311
+ + 1/150 z + 1/175 x - 1/350 x y - 1/100 z - ---- - 1/175 y z + ----- z
+ 2100 14700
+
+ 2 2 2 17
+ - 2/245 x z + 1/200 y z + 1/350 y , COEFF(1, -1, -2) = - ----
+ 2100
+
+ 2 167 2 2 2
+ - 1/200 x z + ---- y - 1/175 y z - 1/100 z + 1/350 x + 1/350 y
+ 7000
+
+ 167 2 3 2 2
+ - ---- x + 1/700 x y + 1/150 x - 1/245 y z - 1/245 x z + 1/500 x y
+ 7000
+
+ 3 2 2 3 191
+ + 1/150 z + 1/200 y z - 1/700 x y - 1/150 y + ----- z - 1/350 x y z
+ 14700
+
+ 2 2
+ + 1/175 x z, COEFF(2, -1, -2) = 1/350 x y - 1/100 z - 1/175 x y z
+
+ 3 2 19
+ + 1/250 x y - 1/300 x - 1/245 y z + 2/175 x z + ---- - 1/175 y z
+ 2100
+
+ 169 3 2 2 2 2
+ - ----- z - 1/150 y + 1/200 y z - 1/100 x z + 2/245 x z + 1/350 x y
+ 14700
+
+ 2 2 3 47 107
+ - 1/175 x + 1/350 y + 1/150 z + ---- x + ---- y, COEFF(-2, 0, -2) =
+ 5250 7000
+
+ 2 3 17 2 2 3
+ 1/300 + 1/175 y + 1/300 x - ---- x + 2/245 x z - 1/175 x + 1/150 z
+ 5250
+
+ 2 2 2 2
+ - 1/175 x y - 2/245 y z - 1/300 z - 1/100 z + 1/100 x z - 2/175 x z,
+
+ 311 2 2
+ COEFF(-1, 0, -2) = ----- z - 1/245 x z - 1/175 x z + 1/200 x z
+ 14700
+
+ 2 2 2 187 29 2 3
+ - 1/350 x y + 1/350 x - 1/100 z + ---- x - ---- + 1/175 y - 1/150 x
+ 7000 2100
+
+ 3 2 2 2 41
+ + 1/150 z - 2/245 y z, COEFF(0, 0, -2) = 1/175 y - 1/100 z - ----
+ 2100
+
+ 3 2 2 2 431
+ + 1/150 z + 1/175 x - 2/245 y z - 2/245 x z + ----- z, COEFF(1, 0, -2)
+ 14700
+
+ 2 2 3 2 2
+ = 1/175 x z - 1/200 x z + 1/350 x y + 1/150 z - 2/245 y z - 1/100 z
+
+ 2 2 187 29 3 2 311
+ - 1/245 x z + 1/350 x - ---- x - ---- + 1/150 x + 1/175 y + ----- z,
+ 7000 2100 14700
+
+ 2 3 2 2
+ COEFF(2, 0, -2) = 1/175 y - 1/300 z - 1/300 x - 1/175 x + 2/245 x z
+
+ 17 2 3 2 2
+ + ---- x - 1/100 x z + 1/300 + 1/150 z + 1/175 x y - 2/245 y z
+ 5250
+
+ 2
+ + 2/175 x z - 1/100 z , COEFF(-2, 1, -2) = - 2/175 x z - 1/175 x y z
+
+ 3 2 19 47 2 2
+ + 1/150 y - 1/200 y z + ---- - ---- x + 2/245 x z - 1/245 y z
+ 2100 5250
+
+ 2 2 2 3 107
+ + 1/350 y + 1/250 x y - 1/100 z + 1/100 x z + 1/150 z - ---- y
+ 7000
+
+ 2 169 2 3 2
+ - 1/350 x y - ----- z - 1/175 x + 1/175 y z + 1/300 x - 1/350 x y,
+ 14700
+
+ 2 167 3 2 2
+ COEFF(-1, 1, -2) = 1/700 x y - ---- y + 1/150 y - 1/245 x z + 1/350 y
+ 7000
+
+ 2 2 2 2 191 167
+ + 1/350 x - 1/245 y z + 1/200 x z - 1/100 z + ----- z + ---- x
+ 14700 7000
+
+ 2 2 17
+ + 1/500 x y - 1/700 x y - 1/200 y z + 1/175 y z - ---- - 1/175 x z
+ 2100
+
+ 3 3 29 3
+ + 1/150 z - 1/350 x y z - 1/150 x , COEFF(0, 1, -2) = - ---- + 1/150 y
+ 2100
+
+ 311 2 2 2 3 2
+ + ----- z - 1/200 y z + 1/175 x - 2/245 x z + 1/150 z - 1/245 y z
+ 14700
+
+ 187 2 2 2
+ - ---- y + 1/175 y z - 1/100 z + 1/350 x y + 1/350 y , COEFF(1, 1, -2)
+ 7000
+
+ 167 17 2 3
+ = - ---- x + 1/350 x y z - ---- - 1/200 y z + 1/150 x - 1/500 x y
+ 7000 2100
+
+ 2 167 2 191 2
+ + 1/175 y z + 1/700 x y - ---- y - 1/100 z + ----- z + 1/350 y
+ 7000 14700
+
+ 2 3 2 2 2 3
+ - 1/200 x z + 1/150 y + 1/350 x - 1/245 x z - 1/245 y z + 1/150 z
+
+ 2 19 2 47
+ + 1/175 x z + 1/700 x y , COEFF(2, 1, -2) = ---- - 1/100 z + ---- x
+ 2100 5250
+
+ 3 107 2
+ + 1/150 z - ---- y + 1/175 x y z - 1/250 x y - 1/175 x + 2/175 x z
+ 7000
+
+ 2 2 2 2 3
+ + 2/245 x z - 1/100 x z - 1/200 y z + 1/175 y z + 1/350 y - 1/300 x
+
+ 2 2 169 3 2
+ + 1/350 x y - 1/245 y z - ----- z + 1/150 y - 1/350 x y,
+ 14700
+
+ 529 2 2
+ COEFF(-2, 2, -2) = - 2/175 x z - ----- z - 1/100 z - 1/175 y
+ 14700
+
+ 2 137 2 3 3
+ - 2/175 x y z + 1/100 x z + ---- y + 1/175 x y + 1/150 z - 1/300 y
+ 5250
+
+ 2 11 2 137 3
+ + 2/175 y z + 2/245 x z + --- + 2/245 y z - ---- x + 1/300 x
+ 420 5250
+
+ 2 2 2
+ + 1/125 x y - 1/175 x - 1/100 y z - 1/175 x y, COEFF(-1, 2, -2) =
+
+ 3 107 2 19
+ - 1/300 y + ---- x + 1/350 x + 2/175 y z - 1/175 x y z + ---- + 1/250 x y
+ 7000 2100
+
+ 169 3 2 2 2 47
+ - ----- z - 1/150 x - 1/245 x z - 1/175 y - 1/100 z + ---- y
+ 14700 5250
+
+ 2 2 2 3 2
+ + 2/245 y z + 1/350 x y - 1/175 x z - 1/100 y z + 1/150 z + 1/350 x y
+
+ 2 2 3
+ + 1/200 x z , COEFF(0, 2, -2) = - 2/245 x z - 1/300 y - 1/300 z
+
+ 2 2 17 2 2
+ + 1/175 x y + 2/245 y z + 2/175 y z + ---- y - 1/100 z - 1/175 y
+ 5250
+
+ 3 2 2 19
+ + 1/150 z - 1/100 y z + 1/175 x + 1/300, COEFF(1, 2, -2) = ----
+ 2100
+
+ 107 47 3 2
+ - 1/250 x y - ---- x + 1/175 x y z + ---- y + 1/150 x - 1/245 x z
+ 7000 5250
+
+ 2 2 2 169 3
+ - 1/175 y - 1/100 y z + 2/175 y z - 1/200 x z - ----- z + 1/150 z
+ 14700
+
+ 2 2 2 2 2
+ - 1/100 z + 1/175 x z + 1/350 x + 1/350 x y + 2/245 y z - 1/350 x y
+
+ 3 137 2 2
+ - 1/300 y , COEFF(2, 2, -2) = 2/175 x z + ---- x - 1/175 x y - 1/100 y z
+ 5250
+
+ 2 2 2 2 2 3
+ - 1/100 x z + 2/245 y z - 1/175 y - 1/100 z - 1/175 x y - 1/300 x
+
+ 2 2 3 11 3
+ + 2/175 x y z - 1/175 x + 2/245 x z - 1/300 y + --- + 1/150 z
+ 420
+
+ 137 529 107
+ - 1/125 x y + ---- y - ----- z + 2/175 y z, COEFF(-2, -2, -1) = ---- y
+ 5250 14700 7000
+
+ 3 2 107 3 3
+ + 1/600 y - 1/50 x z + ---- x + 1/175 y z - 2/75 z + 1/600 x
+ 7000
+
+ 2 2 2
+ + 1/350 x y + 1/175 x z - 1/50 y z - 1/245 y z - 1/175 x y z
+
+ 2 2 2 256
+ + 1/350 x y + 1/50 z - 1/250 x y - 1/350 x - 8/525 + ---- z
+ 3675
+
+ 2 2 2
+ - 1/245 x z - 1/350 y , COEFF(-1, -2, -1) = - 1/50 y z - 1/42
+
+ 2 211 3 2 229
+ - 1/700 x y + ---- z + 1/600 y + 1/490 x z + ----- x + 1/175 y z
+ 3675 10500
+
+ 3 2 167 2 2
+ - 2/75 z - 1/245 y z + ---- y + 1/700 x + 1/350 x z - 1/100 x z
+ 7000
+
+ 2 2 3 2
+ - 1/350 y - 1/500 x y + 1/700 x y - 1/300 x - 1/350 x y z + 1/50 z ,
+
+ 3 2 2 2
+ COEFF(0, -2, -1) = 1/600 y + 1/245 x z - 1/50 y z - 1/350 x y
+
+ 2 2 2 187 2
+ - 1/350 y - 1/245 y z + 1/175 y z + 1/350 x - 2/75 + ---- y + 1/50 z
+ 7000
+
+ 3 167 211
+ + 4/75 z - 2/75 z , COEFF(1, -2, -1) = ---- y + 1/500 x y + ---- z
+ 7000 3675
+
+ 2 3 2 2 229
+ + 1/490 x z - 2/75 z + 1/700 x - 1/700 x y - ----- x + 1/175 y z
+ 10500
+
+ 2 2 2 3 3
+ - 1/50 y z + 1/50 z - 1/350 y - 1/350 x z - 1/42 + 1/300 x + 1/600 y
+
+ 2 2 2
+ + 1/100 x z - 1/245 y z - 1/700 x y + 1/350 x y z, COEFF(2, -2, -1) =
+
+ 107 2 256 2 2
+ ---- y + 1/175 x y z - 1/50 y z + ---- z - 1/350 x + 1/250 x y - 1/350 y
+ 7000 3675
+
+ 107 3 3 2
+ + 1/175 y z - 1/175 x z - ---- x - 2/75 z - 1/600 x + 1/350 x y
+ 7000
+
+ 2 2 2 2 2
+ + 1/50 z + 1/50 x z - 1/245 x z - 8/525 - 1/245 y z - 1/350 x y
+
+ 3 2 2
+ + 1/600 y , COEFF(-2, -1, -1) = - 1/100 y z + 1/175 x z + 1/50 z
+
+ 2 2 2 2
+ - 1/500 x y + 1/700 y - 1/350 x - 1/50 x z - 1/700 x y + 1/350 y z
+
+ 3 3 2 167 229
+ + 1/600 x - 1/350 x y z - 2/75 z + 1/700 x y + ---- x - 1/42 + ----- y
+ 7000 10500
+
+ 3 2 2 211
+ - 1/300 y + 1/490 y z - 1/245 x z + ---- z, COEFF(-1, -1, -1) =
+ 3675
+
+ 2 137 2 2 166 2
+ - 1/100 y z + ---- y - 1/1400 x y - 1/1400 x y + ---- z + 1/50 z
+ 5250 3675
+
+ 2 3 2 3 2
+ + 1/490 x z - 1/300 x - 1/1000 x y - 1/100 x z - 2/75 z + 1/700 y
+
+ 17 2 137 3
+ - --- + 1/700 x + ---- x - 1/300 y + 1/350 x z - 1/700 x y z + 1/350 y z
+ 525 5250
+
+ 2 37 2 289
+ + 1/490 y z, COEFF(0, -1, -1) = - ---- - 1/700 x y + ----- y
+ 1050 10500
+
+ 2 151 2 3 2
+ + 1/245 x z + ---- z + 1/350 y z + 1/50 z - 2/75 z + 1/490 y z
+ 3675
+
+ 3 2 2 2
+ - 1/300 y + 1/700 y + 1/350 x - 1/100 y z , COEFF(1, -1, -1) =
+
+ 2 17 3 3 2
+ 1/490 y z + 1/1000 x y - --- - 1/300 y + 1/350 y z - 2/75 z + 1/700 x
+ 525
+
+ 2 137 137 2 2
+ - 1/1400 x y + ---- y - ---- x + 1/490 x z + 1/50 z + 1/700 x y z
+ 5250 5250
+
+ 3 2 2 166 2 2
+ + 1/300 x + 1/100 x z + 1/700 y + ---- z - 1/100 y z + 1/1400 x y
+ 3675
+
+ 3 3 211 2
+ - 1/350 x z, COEFF(2, -1, -1) = - 1/300 y - 1/600 x + ---- z + 1/50 z
+ 3675
+
+ 2 3 2
+ - 1/100 y z + 1/350 y z - 2/75 z - 1/245 x z + 1/500 x y - 1/175 x z
+
+ 167 2 229 2 2
+ - ---- x + 1/700 x y + ----- y + 1/700 y + 1/350 x y z - 1/350 x - 1/42
+ 7000 10500
+
+ 2 2 2 2
+ + 1/700 x y + 1/490 y z + 1/50 x z , COEFF(-2, 0, -1) = - 1/350 x y
+
+ 2 2 3 3 2
+ - 1/350 x - 1/245 x z + 1/600 x - 2/75 z - 2/75 + 4/75 z - 1/50 x z
+
+ 2 2 2 187
+ + 1/175 x z + 1/245 y z + 1/350 y + 1/50 z + ---- x, COEFF(-1, 0, -1)
+ 7000
+
+ 37 2 2 151 289 2 3
+ = - ---- + 1/350 y + 1/490 x z + ---- z + ----- x + 1/245 y z - 2/75 z
+ 1050 3675 10500
+
+ 3 2 2 2 2
+ - 1/300 x - 1/700 x y + 1/50 z + 1/700 x - 1/100 x z + 1/350 x z,
+
+ 2 3 2 2 136
+ COEFF(0, 0, -1) = 1/50 z - 2/75 z + 1/350 y + 1/245 y z + ---- z
+ 3675
+
+ 2 2 2 2
+ + 1/350 x + 1/245 x z - 4/105, COEFF(1, 0, -1) = 1/700 x y + 1/50 z
+
+ 3 289 2 2 37 2
+ - 2/75 z - ----- x + 1/700 x - 1/350 x z + 1/350 y - ---- + 1/100 x z
+ 10500 1050
+
+ 3 151 2 2
+ + 1/300 x + ---- z + 1/245 y z + 1/490 x z, COEFF(2, 0, -1) = - 2/75
+ 3675
+
+ 2 2 2 3 2 2
+ + 1/245 y z - 1/350 x + 1/50 x z - 1/600 x + 1/350 x y + 1/50 z
+
+ 2 3 2 187
+ - 1/245 x z - 2/75 z + 4/75 z + 1/350 y - 1/175 x z - ---- x,
+ 7000
+
+ 167 2 2 2 2
+ COEFF(-2, 1, -1) = ---- x - 1/50 x z + 1/490 y z - 1/245 x z - 1/350 x
+ 7000
+
+ 2 3
+ - 1/700 x y - 1/350 y z + 1/350 x y z + 1/600 x + 1/500 x y - 1/42
+
+ 2 2 2 3 229
+ + 1/50 z + 1/100 y z + 1/700 y - 2/75 z - ----- y + 1/175 x z
+ 10500
+
+ 3 211 2
+ + 1/300 y + ---- z - 1/700 x y, COEFF(-1, 1, -1) = 1/350 x z
+ 3675
+
+ 17 3 2 3 137 166
+ + 1/1000 x y - --- - 1/300 x - 1/100 x z + 1/300 y + ---- x + ---- z
+ 525 5250 3675
+
+ 2 2 3 2
+ - 1/1400 x y + 1/700 x + 1/700 x y z - 2/75 z - 1/350 y z + 1/490 y z
+
+ 2 2 2 137 2 2
+ + 1/100 y z + 1/490 x z + 1/700 y - ---- y + 1/1400 x y + 1/50 z ,
+ 5250
+
+ 2 2 3 2
+ COEFF(0, 1, -1) = - 1/350 y z + 1/350 x + 1/245 x z + 1/300 y + 1/50 z
+
+ 2 37 151 2 2 289 3
+ + 1/700 y - ---- + ---- z + 1/700 x y + 1/490 y z - ----- y - 2/75 z
+ 1050 3675 10500
+
+ 2 2
+ + 1/100 y z , COEFF(1, 1, -1) = - 1/700 x y z - 1/350 x z + 1/100 y z
+
+ 2 2 137 137 3
+ - 1/350 y z + 1/490 x z + 1/100 x z - ---- y - ---- x + 1/300 x
+ 5250 5250
+
+ 2 2 166 2 17 2 2
+ + 1/700 x + 1/490 y z + ---- z + 1/50 z - --- + 1/700 y + 1/1400 x y
+ 3675 525
+
+ 2 3 3
+ + 1/1400 x y - 2/75 z - 1/1000 x y + 1/300 y , COEFF(2, 1, -1) =
+
+ 2 3 3 167
+ - 1/350 y z + 1/700 x y - 1/600 x - 1/500 x y - 1/42 + 1/300 y - ---- x
+ 7000
+
+ 3 2 229 2
+ - 1/175 x z - 2/75 z + 1/50 x z - ----- y - 1/350 x y z - 1/245 x z
+ 10500
+
+ 2 2 2 211 2 2
+ + 1/700 y - 1/700 x y + 1/490 y z + ---- z + 1/100 y z + 1/50 z
+ 3675
+
+ 2 3
+ - 1/350 x , COEFF(-2, 2, -1) = 1/175 x y z + 1/175 x z - 1/600 y
+
+ 2 2 2 2 3
+ - 1/245 y z - 8/525 - 1/50 x z - 1/350 y - 1/245 x z + 1/600 x
+
+ 2 2 107 107 3 256
+ - 1/175 y z + 1/50 y z - 1/350 x y - ---- y + ---- x - 2/75 z + ---- z
+ 7000 7000 3675
+
+ 2 2 2
+ + 1/250 x y - 1/350 x + 1/50 z + 1/350 x y , COEFF(-1, 2, -1) =
+
+ 3 2 167 2
+ - 2/75 z + 1/700 x y + 1/350 x y z - 1/42 - ---- y - 1/350 y + 1/350 x z
+ 7000
+
+ 2 3 211 2 229
+ + 1/50 z - 1/600 y + 1/500 x y + ---- z + 1/700 x y + ----- x
+ 3675 10500
+
+ 2 2 2 2 2
+ + 1/700 x + 1/490 x z - 1/100 x z - 1/245 y z - 1/175 y z + 1/50 y z
+
+ 3 2 2 2
+ - 1/300 x , COEFF(0, 2, -1) = 1/50 y z + 1/245 x z + 1/350 x y
+
+ 2 3 187 2
+ - 1/175 y z - 2/75 - 1/350 y - 2/75 z - ---- y - 1/245 y z + 4/75 z
+ 7000
+
+ 2 3 2 2 3
+ + 1/50 z - 1/600 y + 1/350 x , COEFF(1, 2, -1) = - 1/245 y z + 1/300 x
+
+ 2 3 211 2 2
+ + 1/50 z - 2/75 z + ---- z - 1/175 y z + 1/100 x z + 1/700 x y
+ 3675
+
+ 2 2 2 2
+ + 1/50 y z - 1/350 x z - 1/350 y + 1/490 x z + 1/700 x - 1/500 x y
+
+ 2 3 229 167
+ - 1/42 - 1/350 x y z - 1/700 x y - 1/600 y - ----- x - ---- y,
+ 10500 7000
+
+ 2 2 2
+ COEFF(2, 2, -1) = - 1/245 x z - 8/525 - 1/250 x y - 1/350 x y + 1/50 y z
+
+ 256 2 107 3 2 2 3
+ + ---- z - 1/350 x y - ---- y - 2/75 z + 1/50 z - 1/350 y - 1/600 x
+ 3675 7000
+
+ 2 107 3 2
+ + 1/50 x z - 1/175 y z - 1/175 x z - ---- x - 1/600 y - 1/350 x
+ 7000
+
+ 2 3
+ - 1/245 y z - 1/175 x y z, COEFF(-2, -2, 0) = 1/25 z + 2/175 y z
+
+ 2 2 33
+ - 2/175 x y z + 2/175 x z - 2/245 x z - 2/245 y z - --- z,
+ 490
+
+ 2 3
+ COEFF(-1, -2, 0) = 1/175 x z + 2/175 y z - 9/98 z + 1/245 x z + 1/25 z
+
+ 2
+ - 2/245 y z - 1/175 x y z,
+
+ 3 2 2
+ COEFF(0, -2, 0) = 1/25 z + 2/175 y z - 2/245 y z - 1/10 z + 2/245 x z,
+
+ 2
+ COEFF(1, -2, 0) = 2/175 y z - 1/175 x z + 1/175 x y z - 9/98 z - 2/245 y z
+
+ 3 2 3
+ + 1/25 z + 1/245 x z, COEFF(2, -2, 0) = 2/175 x y z + 1/25 z
+
+ 2 33 2
+ - 2/245 x z + 2/175 y z - 2/175 x z - --- z - 2/245 y z,
+ 490
+
+ 2
+ COEFF(-2, -1, 0) = - 1/175 x y z + 1/245 y z + 2/175 x z - 9/98 z
+
+ 3 2
+ + 1/25 z + 1/175 y z - 2/245 x z, COEFF(-1, -1, 0) = 1/175 y z
+
+ 57 2 2 3
+ - 1/350 x y z + 1/175 x z - --- z + 1/245 x z + 1/245 y z + 1/25 z ,
+ 490
+
+ 2 3 2 61
+ COEFF(0, -1, 0) = 2/245 x z + 1/25 z + 1/245 y z - --- z + 1/175 y z,
+ 490
+
+ 57 2 2
+ COEFF(1, -1, 0) = - --- z - 1/175 x z + 1/175 y z + 1/245 x z + 1/245 y z
+ 490
+
+ 3
+ + 1/350 x y z + 1/25 z , COEFF(2, -1, 0) = - 9/98 z - 2/175 x z
+
+ 2 2 3
+ + 1/245 y z - 2/245 x z + 1/25 z + 1/175 y z + 1/175 x y z,
+
+ 2 2 3
+ COEFF(-2, 0, 0) = 2/245 y z - 1/10 z - 2/245 x z + 1/25 z + 2/175 x z,
+
+ 61 3 2 2
+ COEFF(-1, 0, 0) = 1/175 x z - --- z + 1/25 z + 1/245 x z + 2/245 y z,
+ 490
+
+ 2 2 3 13
+ COEFF(0, 0, 0) = 2/245 x z + 2/245 y z + 1/25 z - -- z,
+ 98
+
+ 3 2 61 2
+ COEFF(1, 0, 0) = 1/25 z + 2/245 y z - 1/175 x z - --- z + 1/245 x z,
+ 490
+
+ 2 3 2
+ COEFF(2, 0, 0) = 2/245 y z + 1/25 z - 2/245 x z - 1/10 z - 2/175 x z,
+
+ 2
+ COEFF(-2, 1, 0) = - 1/175 y z + 1/245 y z - 9/98 z + 1/175 x y z
+
+ 2 3
+ - 2/245 x z + 2/175 x z + 1/25 z , COEFF(-1, 1, 0) = 1/350 x y z
+
+ 2 2 57 3
+ + 1/245 x z + 1/175 x z + 1/245 y z - --- z - 1/175 y z + 1/25 z ,
+ 490
+
+ 2 2 61 3
+ COEFF(0, 1, 0) = 1/245 y z + 2/245 x z - 1/175 y z - --- z + 1/25 z ,
+ 490
+
+ 3 57
+ COEFF(1, 1, 0) = 1/25 z - 1/350 x y z - --- z - 1/175 x z - 1/175 y z
+ 490
+
+ 2 2 3
+ + 1/245 x z + 1/245 y z, COEFF(2, 1, 0) = 1/25 z - 1/175 y z
+
+ 2 2
+ - 1/175 x y z - 2/175 x z - 2/245 x z + 1/245 y z - 9/98 z,
+
+ 33 2 3
+ COEFF(-2, 2, 0) = - --- z + 2/175 x z - 2/175 y z - 2/245 y z + 1/25 z
+ 490
+
+ 2 2
+ - 2/245 x z + 2/175 x y z, COEFF(-1, 2, 0) = 1/245 x z + 1/175 x z
+
+ 3 2
+ + 1/25 z - 9/98 z + 1/175 x y z - 2/245 y z - 2/175 y z,
+
+ 2 2 3
+ COEFF(0, 2, 0) = 2/245 x z - 2/175 y z - 1/10 z - 2/245 y z + 1/25 z ,
+
+ 3 2
+ COEFF(1, 2, 0) = - 1/175 x y z + 1/25 z - 1/175 x z - 2/245 y z
+
+ 2
+ + 1/245 x z - 2/175 y z - 9/98 z, COEFF(2, 2, 0) = - 2/175 x y z
+
+ 2 3 2 33
+ - 2/245 x z + 1/25 z - 2/245 y z - 2/175 x z - --- z - 2/175 y z,
+ 490
+
+ 3 2
+ COEFF(-2, -2, 1) = - 1/175 x y z - 1/600 x + 1/350 y + 1/250 x y
+
+ 3 2 2 107 2
+ - 2/75 z - 1/350 x y - 1/350 x y - ---- y + 8/525 - 1/245 x z
+ 7000
+
+ 2 107 256 2 2
+ - 1/245 y z + 1/175 x z - ---- x + ---- z + 1/350 x + 1/50 x z
+ 7000 3675
+
+ 2 3 2 2
+ + 1/175 y z + 1/50 y z - 1/600 y - 1/50 z , COEFF(-1, -2, 1) = - 1/50 z
+
+ 2 167 3 3 2
+ - 1/350 x y z + 1/350 y - ---- y - 1/600 y + 1/300 x + 1/490 x z
+ 7000
+
+ 2 2 2 229
+ + 1/100 x z - 1/700 x + 1/50 y z + 1/42 - ----- x + 1/350 x z
+ 10500
+
+ 2 211 2 3
+ + 1/500 x y - 1/700 x y + ---- z + 1/700 x y + 1/175 y z - 2/75 z
+ 3675
+
+ 2 2 3 187
+ - 1/245 y z, COEFF(0, -2, 1) = 4/75 z - 1/50 z - 2/75 z + 2/75 - ---- y
+ 7000
+
+ 3 2 2 2 2 2
+ - 1/600 y + 1/245 x z + 1/350 x y - 1/245 y z + 1/350 y - 1/350 x
+
+ 2 2 2
+ + 1/175 y z + 1/50 y z , COEFF(1, -2, 1) = 1/350 y - 1/100 x z
+
+ 3 2 2 2 3 229
+ - 1/600 y + 1/490 x z - 1/245 y z - 1/700 x - 2/75 z + ----- x
+ 10500
+
+ 2 211 3 2
+ + 1/700 x y - 1/500 x y - 1/350 x z + ---- z - 1/300 x + 1/50 y z
+ 3675
+
+ 167 2 2
+ + 1/350 x y z + 1/175 y z + 1/42 - ---- y - 1/50 z + 1/700 x y,
+ 7000
+
+ 2 2 3 2
+ COEFF(2, -2, 1) = 1/50 y z + 1/350 y - 1/175 x z - 2/75 z - 1/350 x y
+
+ 3 2 2 2
+ + 1/175 x y z + 1/600 x - 1/245 y z + 8/525 + 1/350 x y + 1/350 x
+
+ 256 2 2 2 107
+ + ---- z - 1/245 x z - 1/50 x z - 1/250 x y - 1/50 z - ---- y
+ 3675 7000
+
+ 3 107 2 2
+ - 1/600 y + ---- x + 1/175 y z, COEFF(-2, -1, 1) = - 1/50 z + 1/490 y z
+ 7000
+
+ 211 3 2 229 2 167
+ + ---- z + 1/500 x y - 2/75 z - 1/700 x y - ----- y - 1/700 y - ---- x
+ 3675 10500 7000
+
+ 3 2 2
+ + 1/300 y - 1/350 x y z + 1/175 x z - 1/245 x z + 1/350 x + 1/42
+
+ 2 3 2 2
+ + 1/700 x y - 1/600 x + 1/100 y z + 1/50 x z + 1/350 y z,
+
+ 2 2
+ COEFF(-1, -1, 1) = 1/1400 x y + 1/1000 x y + 1/350 x z + 1/100 x z
+
+ 2 2 3 2 3
+ + 1/490 y z - 1/50 z - 2/75 z + 1/350 y z - 1/700 y + 1/300 x
+
+ 166 137 2 17 2
+ + ---- z - ---- y + 1/1400 x y + --- + 1/100 y z - 1/700 x y z
+ 3675 5250 525
+
+ 2 137 2 3 151
+ + 1/490 x z - ---- x - 1/700 x + 1/300 y , COEFF(0, -1, 1) = ---- z
+ 5250 3675
+
+ 289 2 2 3 2 2
+ - ----- y + 1/700 x y + 1/245 x z - 2/75 z - 1/350 x + 1/490 y z
+ 10500
+
+ 2 2 2 3 37
+ - 1/700 y + 1/350 y z + 1/100 y z - 1/50 z + 1/300 y + ----,
+ 1050
+
+ 2 2 2 137 3
+ COEFF(1, -1, 1) = - 1/50 z + 1/490 x z + 1/100 y z - ---- y + 1/300 y
+ 5250
+
+ 17 137 3 2
+ + --- - 1/1000 x y + ---- x - 2/75 z - 1/350 x z - 1/1400 x y
+ 525 5250
+
+ 2 166 2 2 2
+ - 1/100 x z + ---- z + 1/700 x y z + 1/1400 x y - 1/700 x - 1/700 y
+ 3675
+
+ 3 2 2
+ + 1/350 y z - 1/300 x + 1/490 y z, COEFF(2, -1, 1) = - 1/50 x z
+
+ 2 2 2 167 2
+ - 1/500 x y - 1/700 y - 1/700 x y - 1/245 x z + ---- x + 1/490 y z
+ 7000
+
+ 2 229 2 3
+ + 1/350 y z + 1/350 x - 1/175 x z - ----- y + 1/42 + 1/100 y z - 2/75 z
+ 10500
+
+ 211 2 3 3 2
+ + ---- z - 1/700 x y + 1/600 x + 1/300 y - 1/50 z + 1/350 x y z,
+ 3675
+
+ 2 187 2 2
+ COEFF(-2, 0, 1) = - 1/245 x z - ---- x + 2/75 + 1/350 x y + 1/245 y z
+ 7000
+
+ 2 2 2 2 3
+ - 1/50 z + 1/175 x z + 1/50 x z + 1/350 x - 1/350 y - 2/75 z
+
+ 3 2 2 2
+ - 1/600 x + 4/75 z, COEFF(-1, 0, 1) = - 1/50 z - 1/350 y + 1/100 x z
+
+ 151 2 2 2 37
+ + ---- z - 1/700 x + 1/700 x y + 1/245 y z + 1/350 x z + ----
+ 3675 1050
+
+ 2 3 289 3 2
+ + 1/490 x z - 2/75 z - ----- x + 1/300 x , COEFF(0, 0, 1) = - 1/350 x
+ 10500
+
+ 2 136 2 2 3 2
+ + 1/245 x z + ---- z - 1/50 z - 1/350 y + 4/105 - 2/75 z + 1/245 y z,
+ 3675
+
+ 2 37 2 2 151
+ COEFF(1, 0, 1) = - 1/700 x + ---- + 1/490 x z - 1/50 z + ---- z
+ 1050 3675
+
+ 2 3 289 2 3
+ - 1/350 x z - 1/700 x y - 2/75 z + ----- x - 1/350 y - 1/300 x
+ 10500
+
+ 2 2 187 2
+ - 1/100 x z + 1/245 y z, COEFF(2, 0, 1) = ---- x + 2/75 - 1/50 x z
+ 7000
+
+ 3 2 2 2
+ + 1/600 x - 1/245 x z - 1/175 x z + 4/75 z - 1/50 z - 1/350 x y
+
+ 3 2 2 2 2
+ - 2/75 z + 1/245 y z + 1/350 x - 1/350 y , COEFF(-2, 1, 1) = - 1/50 z
+
+ 2 2 2 3 2
+ + 1/50 x z + 1/350 x - 1/245 x z + 1/42 - 1/300 y + 1/700 x y
+
+ 2 2 2 2 167
+ - 1/100 y z + 1/490 y z + 1/700 x y + 1/175 x z - 1/700 y - ---- x
+ 7000
+
+ 211 3 229 3
+ + ---- z - 2/75 z + 1/350 x y z + ----- y - 1/350 y z - 1/600 x
+ 3675 10500
+
+ 137 2 137 17 3
+ - 1/500 x y, COEFF(-1, 1, 1) = ---- y - 1/50 z - ---- x + --- + 1/300 x
+ 5250 5250 525
+
+ 166 2 2 2
+ + ---- z + 1/700 x y z + 1/350 x z - 1/700 x - 1/1400 x y + 1/100 x z
+ 3675
+
+ 3 2 2 2
+ - 1/300 y + 1/1400 x y + 1/490 y z - 1/1000 x y + 1/490 x z
+
+ 2 3 2 2
+ - 1/100 y z - 2/75 z - 1/350 y z - 1/700 y , COEFF(0, 1, 1) = 1/490 y z
+
+ 151 2 37 2 289 3
+ + ---- z - 1/700 y + ---- - 1/350 y z + 1/245 x z + ----- y - 2/75 z
+ 3675 1050 10500
+
+ 3 2 2 2 2
+ - 1/300 y - 1/50 z - 1/700 x y - 1/350 x - 1/100 y z , COEFF(1, 1, 1)
+
+ 2 2 3
+ = - 1/1400 x y + 1/490 y z + 1/1000 x y - 1/300 y - 1/350 x z
+
+ 2 2 2 2 2
+ - 1/700 x - 1/50 z + 1/490 x z - 1/700 x y z - 1/100 x z - 1/100 y z
+
+ 137 3 166 17 2 3
+ + ---- y - 1/300 x - 1/350 y z + ---- z + --- - 1/1400 x y - 2/75 z
+ 5250 3675 525
+
+ 137 2 3 2 3
+ + ---- x - 1/700 y , COEFF(2, 1, 1) = - 2/75 z + 1/490 y z - 1/300 y
+ 5250
+
+ 2 2 3 229 2 211
+ - 1/700 x y - 1/50 z + 1/600 x + 1/42 + ----- y - 1/700 y + ---- z
+ 10500 3675
+
+ 2 2 2 167
+ - 1/100 y z - 1/245 x z - 1/50 x z - 1/350 x y z + ---- x - 1/350 y z
+ 7000
+
+ 2 2 256
+ + 1/500 x y - 1/175 x z + 1/700 x y + 1/350 x , COEFF(-2, 2, 1) = ---- z
+ 3675
+
+ 107 2 2 2 3 2
+ + ---- y - 1/245 y z + 1/50 x z + 1/350 y + 1/600 y - 1/350 x y
+ 7000
+
+ 2 2 2
+ - 1/250 x y + 1/350 x - 1/175 y z - 1/50 y z + 8/525 - 1/245 x z
+
+ 3 107 3 2
+ - 2/75 z - ---- x + 1/175 x z + 1/175 x y z - 1/600 x + 1/350 x y
+ 7000
+
+ 2 2 2
+ - 1/50 z , COEFF(-1, 2, 1) = - 1/700 x y - 1/700 x y + 1/350 x z
+
+ 2 3 2 2 167
+ - 1/700 x + 1/600 y + 1/100 x z - 1/50 z + 1/350 x y z + 1/42 + ---- y
+ 7000
+
+ 2 2 2 2 3 3
+ - 1/50 y z - 1/245 y z + 1/350 y + 1/490 x z + 1/300 x - 2/75 z
+
+ 211 229 2
+ + ---- z - 1/175 y z - ----- x - 1/500 x y, COEFF(0, 2, 1) = 1/245 x z
+ 3675 10500
+
+ 2 3 187 2
+ - 1/245 y z - 1/175 y z + 4/75 z - 2/75 z + ---- y + 1/350 y
+ 7000
+
+ 2 2 3 2 2
+ - 1/350 x y - 1/50 y z + 1/600 y - 1/50 z - 1/350 x + 2/75,
+
+ 2 3 2 2
+ COEFF(1, 2, 1) = 1/500 x y - 1/100 x z - 1/300 x - 1/245 y z - 1/700 x
+
+ 2 2 3 2 211
+ - 1/50 z - 1/350 x y z + 1/490 x z - 2/75 z - 1/700 x y + ---- z
+ 3675
+
+ 167 2 2 2 229
+ + ---- y - 1/50 y z + 1/350 y - 1/175 y z + 1/700 x y + ----- x
+ 7000 10500
+
+ 3 3 2
+ + 1/600 y + 1/42 - 1/350 x z, COEFF(2, 2, 1) = 1/600 x + 1/350 x y
+
+ 2 2 2
+ - 1/50 x z - 1/245 y z + 8/525 - 1/175 x y z - 1/50 z - 1/175 y z
+
+ 2 3 3 256 2
+ - 1/245 x z + 1/600 y - 2/75 z + ---- z - 1/175 x z + 1/350 y
+ 3675
+
+ 2 2 107 2 107
+ - 1/50 y z + 1/250 x y + 1/350 x y + ---- y + 1/350 x + ---- x,
+ 7000 7000
+
+ 2 137 3 3 2
+ COEFF(-2, -2, 2) = - 1/100 x z + ---- x + 1/150 z - 1/300 y + 1/175 x
+ 5250
+
+ 2 2 2 2 11
+ - 2/175 x z - 1/175 x y + 1/100 z + 2/245 x z - 1/175 x y - ---
+ 420
+
+ 137 2 3 2
+ + ---- y - 2/175 y z + 2/245 y z - 1/300 x - 1/100 y z + 1/125 x y
+ 5250
+
+ 2 529 3 107
+ + 1/175 y + 2/175 x y z - ----- z, COEFF(-1, -2, 2) = 1/150 x - ---- x
+ 14700 7000
+
+ 47 2 2 3
+ + ---- y - 1/350 x - 1/350 x y - 1/300 y - 2/175 y z - 1/175 x z
+ 5250
+
+ 2 2 19 2
+ + 2/245 y z - 1/200 x z + 1/250 x y + 1/175 x y z - ---- + 1/350 x y
+ 2100
+
+ 2 2 3 169 2 2
+ - 1/100 y z - 1/245 x z + 1/150 z - ----- z + 1/100 z + 1/175 y ,
+ 14700
+
+ 2 2 3
+ COEFF(0, -2, 2) = - 2/245 x z + 2/245 y z - 1/300 - 1/300 y - 2/175 y z
+
+ 3 2 17 2 2
+ - 1/300 z + 1/150 z + 1/175 y + ---- y + 1/100 z - 1/100 y z
+ 5250
+
+ 2 2 2 2
+ + 1/175 x y - 1/175 x , COEFF(1, -2, 2) = - 1/350 x + 2/245 y z
+
+ 47 2 2 2 3 2
+ + ---- y + 1/100 z + 1/175 y + 1/350 x y + 1/150 z - 1/100 y z
+ 5250
+
+ 169 2 19 2
+ - 2/175 y z - ----- z - 1/175 x y z + 1/350 x y - ---- - 1/245 x z
+ 14700 2100
+
+ 2 3 3 107
+ - 1/250 x y + 1/175 x z + 1/200 x z - 1/150 x - 1/300 y + ---- x,
+ 7000
+
+ 3 11 3
+ COEFF(2, -2, 2) = - 1/300 y - --- + 1/300 x - 2/175 y z + 2/175 x z
+ 420
+
+ 2 529 137 2 3
+ + 1/100 z - ----- z + ---- y - 1/100 y z + 1/150 z - 2/175 x y z
+ 14700 5250
+
+ 2 137 2 2 2 2
+ + 1/175 x - ---- x + 1/175 x y + 1/100 x z - 1/175 x y + 2/245 x z
+ 5250
+
+ 2 2 2
+ + 1/175 y + 2/245 y z - 1/125 x y, COEFF(-2, -1, 2) = - 1/350 x y
+
+ 2 107 2
+ + 2/245 x z - ---- y - 1/175 y z + 1/250 x y - 2/175 x z - 1/245 y z
+ 7000
+
+ 2 2 2 2 3 2
+ - 1/100 x z + 1/350 x y + 1/175 x - 1/200 y z - 1/300 x + 1/100 z
+
+ 19 3 3 47 2 169
+ - ---- + 1/150 z + 1/150 y + ---- x + 1/175 x y z - 1/350 y - ----- z,
+ 2100 5250 14700
+
+ 2 3
+ COEFF(-1, -1, 2) = - 1/245 x z + 1/150 x + 1/350 x y z + 1/500 x y
+
+ 2 2 2 2
+ - 1/175 y z - 1/350 y + 1/700 x y + 1/700 x y - 1/175 x z - 1/245 y z
+
+ 3 167 2 2 2 191 17
+ + 1/150 y - ---- x - 1/200 y z - 1/350 x + 1/100 z + ----- z + ----
+ 7000 14700 2100
+
+ 2 167 3 2 187
+ - 1/200 x z - ---- y + 1/150 z , COEFF(0, -1, 2) = - 2/245 x z - ---- y
+ 7000 7000
+
+ 2 311 2 3 3
+ - 1/245 y z + ----- z + 1/350 x y - 1/175 y z + 1/150 z + 1/150 y
+ 14700
+
+ 2 2 2 29 2
+ + 1/100 z - 1/350 y - 1/175 x + ---- - 1/200 y z , COEFF(1, -1, 2) =
+ 2100
+
+ 2 167 2 3 2
+ 1/200 x z + 1/175 x z - ---- y - 1/200 y z + 1/150 z + 1/100 z
+ 7000
+
+ 2 191 2
+ - 1/350 x y z - 1/175 y z - 1/500 x y - 1/245 x z + ----- z - 1/350 x
+ 14700
+
+ 2 167 2 2 3 3
+ + 1/700 x y + ---- x - 1/700 x y - 1/245 y z - 1/150 x + 1/150 y
+ 7000
+
+ 2 17 2 2
+ - 1/350 y + ----, COEFF(2, -1, 2) = 2/245 x z + 2/175 x z - 1/245 y z
+ 2100
+
+ 2 3 2 47 2 2
+ + 1/100 x z + 1/150 y - 1/350 x y - ---- x - 1/200 y z + 1/100 z
+ 5250
+
+ 107 2 2 19 169 2
+ - ---- y - 1/350 y + 1/175 x - ---- - ----- z - 1/175 x y z - 1/350 x y
+ 7000 2100 14700
+
+ 3 3 17
+ - 1/175 y z - 1/250 x y + 1/150 z + 1/300 x , COEFF(-2, 0, 2) = ---- x
+ 5250
+
+ 2 2 2 3
+ + 2/245 x z - 1/300 - 2/175 x z - 1/175 y + 1/100 z - 1/300 x
+
+ 2 2 3 2 2
+ + 1/175 x y - 1/100 x z + 1/150 z + 1/175 x - 2/245 y z - 1/300 z,
+
+ 2 3 2 2 187
+ COEFF(-1, 0, 2) = 1/350 x y + 1/150 z - 1/200 x z - 1/175 y - ---- x
+ 7000
+
+ 311 29 2 3 2 2
+ + ----- z + ---- - 1/350 x + 1/150 x - 1/175 x z + 1/100 z - 1/245 x z
+ 14700 2100
+
+ 2 431 2 2 3
+ - 2/245 y z, COEFF(0, 0, 2) = ----- z + 1/100 z - 2/245 x z + 1/150 z
+ 14700
+
+ 2 41 2 2 3
+ - 1/175 y + ---- - 2/245 y z - 1/175 x , COEFF(1, 0, 2) = 1/150 z
+ 2100
+
+ 187 2 2 2 29
+ + ---- x - 1/175 y + 1/200 x z + 1/175 x z - 1/350 x y + ----
+ 7000 2100
+
+ 2 311 3 2 2 2
+ - 1/350 x + ----- z - 1/150 x - 1/245 x z + 1/100 z - 2/245 y z,
+ 14700
+
+ 2 17 2 3
+ COEFF(2, 0, 2) = 2/245 x z - ---- x + 1/175 x - 1/300 + 1/150 z
+ 5250
+
+ 2 2 2 3 2
+ + 1/100 x z + 1/100 z + 2/175 x z - 2/245 y z + 1/300 x - 1/175 x y
+
+ 2 3 19 3
+ - 1/300 z - 1/175 y , COEFF(-2, 1, 2) = 1/150 z - ---- - 1/150 y
+ 2100
+
+ 2 107 169 2 2
+ + 1/175 x + ---- y - 1/175 x y z - ----- z - 1/350 y - 1/245 y z
+ 7000 14700
+
+ 2 2 2 2 2
+ + 1/200 y z + 1/100 z + 1/350 x y - 1/100 x z + 2/245 x z - 2/175 x z
+
+ 2 47 3
+ + 1/350 x y + 1/175 y z + ---- x - 1/250 x y - 1/300 x , COEFF(-1, 1, 2)
+ 5250
+
+ 3 191 2 3 2 3
+ = - 1/150 y + ----- z - 1/245 y z + 1/150 z + 1/200 y z + 1/150 x
+ 14700
+
+ 2 2 2 2
+ - 1/500 x y - 1/350 x - 1/700 x y - 1/245 x z - 1/200 x z
+
+ 2 2 167 167
+ - 1/350 x y z + 1/700 x y + 1/100 z + ---- y - ---- x - 1/175 x z
+ 7000 7000
+
+ 2 17 29 2
+ + 1/175 y z - 1/350 y + ----, COEFF(0, 1, 2) = ---- - 1/245 y z
+ 2100 2100
+
+ 311 2 187 2 2 3
+ + ----- z + 1/200 y z + ---- y - 1/350 y - 2/245 x z - 1/150 y
+ 14700 7000
+
+ 2 3 2 2
+ + 1/100 z + 1/175 y z + 1/150 z - 1/350 x y - 1/175 x , COEFF(1, 1, 2)
+
+ 2 167 2 2
+ = - 1/350 x + ---- y + 1/175 x z - 1/350 y - 1/700 x y + 1/500 x y
+ 7000
+
+ 191 2 3 2 167 3
+ + ----- z + 1/200 x z + 1/150 z - 1/245 x z + ---- x - 1/150 y
+ 14700 7000
+
+ 3 17 2 2 2
+ - 1/150 x + ---- + 1/200 y z - 1/700 x y + 1/100 z + 1/175 y z
+ 2100
+
+ 2 2
+ - 1/245 y z + 1/350 x y z, COEFF(2, 1, 2) = - 1/245 y z + 1/175 x y z
+
+ 2 3 47 2 19
+ + 1/200 y z - 1/150 y + 1/175 y z - ---- x + 1/250 x y - 1/350 y - ----
+ 5250 2100
+
+ 3 169 3 2 2
+ + 2/175 x z + 1/150 z - ----- z + 1/300 x + 1/100 z + 1/100 x z
+ 14700
+
+ 2 2 2 107 2
+ + 1/350 x y - 1/350 x y + 1/175 x + ---- y + 2/245 x z,
+ 7000
+
+ 3 2 2 3 137
+ COEFF(-2, 2, 2) = - 1/300 x + 1/100 z + 2/245 y z + 1/150 z + ---- x
+ 5250
+
+ 11 137 3 2
+ - --- - ---- y + 1/300 y - 1/125 x y - 2/175 x z - 1/100 x z + 2/175 y z
+ 420 5250
+
+ 2 2 529 2 2
+ + 1/175 x + 1/175 x y - ----- z + 2/245 x z + 1/175 y - 2/175 x y z
+ 14700
+
+ 2 2 2 107
+ + 1/100 y z - 1/175 x y , COEFF(-1, 2, 2) = 2/245 y z - ---- x
+ 7000
+
+ 3 19 169 2 2
+ + 1/300 y - 1/175 x z - ---- - ----- z - 1/200 x z - 1/245 x z
+ 2100 14700
+
+ 2 2 2 2 3
+ + 1/100 z - 1/350 x y + 1/100 y z + 1/175 y + 2/175 y z + 1/150 z
+
+ 3 2 47 2
+ + 1/150 x - 1/175 x y z - 1/250 x y - 1/350 x - ---- y - 1/350 x y,
+ 5250
+
+ 2 2 2
+ COEFF(0, 2, 2) = 2/245 y z - 2/245 x z + 1/100 y z - 1/300 + 2/175 y z
+
+ 2 3 17 2 2
+ - 1/175 x y + 1/300 y - 1/300 z - ---- y + 1/175 y + 1/100 z
+ 5250
+
+ 3 2 2 2 19
+ + 1/150 z - 1/175 x , COEFF(1, 2, 2) = 1/100 y z - 1/350 x y - ----
+ 2100
+
+ 2 2 2 47
+ + 1/200 x z + 1/175 x z + 1/100 z + 2/245 y z + 1/175 x y z - ---- y
+ 5250
+
+ 3 2 107 169 3
+ + 1/250 x y + 1/300 y + 1/350 x y + ---- x - ----- z - 1/150 x
+ 7000 14700
+
+ 3 2 2 2
+ + 1/150 z - 1/350 x - 1/245 x z + 1/175 y + 2/175 y z, COEFF(2, 2, 2)
+
+ 11 3 2 137 2 2
+ = - --- + 1/300 y + 1/175 x y - ---- x + 1/175 x y + 1/100 x z
+ 420 5250
+
+ 2 2 2 2
+ + 1/100 z + 1/175 x + 2/175 x z + 1/175 y + 2/245 y z + 1/125 x y
+
+ 2 3 3 2 529
+ + 1/100 y z + 2/175 x y z + 1/300 x + 1/150 z + 2/245 x z - ----- z
+ 14700
+
+ 137
+ + 2/175 y z - ---- y]
+ 5250
+
+> print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c");
+bytes used=1778658452, alloc=15136044, time=249.92
+bytes used=1779658964, alloc=15136044, time=250.00
+bytes used=1780659472, alloc=15136044, time=250.08
+bytes used=1781659968, alloc=15136044, time=250.17
+bytes used=1782660296, alloc=15136044, time=250.26
+bytes used=1783660508, alloc=15136044, time=250.34
+bytes used=1784660960, alloc=15136044, time=250.43
+bytes used=1785661160, alloc=15136044, time=250.52
+bytes used=1786661716, alloc=15136044, time=251.29
+bytes used=1787661888, alloc=15136044, time=252.07
+bytes used=1788662428, alloc=15136044, time=252.85
+bytes used=1789662736, alloc=15136044, time=253.62
+bytes used=1790663212, alloc=15136044, time=254.38
+bytes used=1791663580, alloc=15136044, time=254.78
+bytes used=1792663760, alloc=15136044, time=254.87
+bytes used=1793664052, alloc=15136044, time=254.96
+bytes used=1794664204, alloc=15136044, time=255.06
+bytes used=1795664456, alloc=15136044, time=255.15
+bytes used=1796664708, alloc=15136044, time=255.25
+bytes used=1797763984, alloc=15136044, time=255.32
+bytes used=1798859076, alloc=15136044, time=255.40
+bytes used=1799922300, alloc=15136044, time=255.47
+bytes used=1800938316, alloc=15136044, time=255.54
+bytes used=1802013808, alloc=15136044, time=255.61
+bytes used=1803024116, alloc=15136044, time=255.68
+bytes used=1804086592, alloc=15136044, time=255.76
+bytes used=1805166844, alloc=15136044, time=255.84
+bytes used=1806243852, alloc=15136044, time=255.92
+bytes used=1807276832, alloc=15136044, time=256.01
+bytes used=1808345336, alloc=15136044, time=256.10
+bytes used=1809378412, alloc=15136044, time=256.17
+bytes used=1810410940, alloc=15136044, time=256.27
+bytes used=1811424712, alloc=15136044, time=256.37
+bytes used=1812447656, alloc=15136044, time=256.48
+bytes used=1813447812, alloc=15136044, time=256.57
+bytes used=1814448352, alloc=15136044, time=256.64
+bytes used=1815448548, alloc=15136044, time=258.51
+bytes used=1816448756, alloc=15136044, time=259.18
+bytes used=1817448924, alloc=15136044, time=259.35
+bytes used=1818449288, alloc=15136044, time=259.44
+bytes used=1819449964, alloc=15136044, time=259.54
+bytes used=1820450616, alloc=15136044, time=259.64
+bytes used=1821451040, alloc=15136044, time=259.75
+bytes used=1822452168, alloc=15136044, time=259.85
+bytes used=1823452860, alloc=15136044, time=259.95
+bytes used=1824453660, alloc=15136044, time=260.05
+bytes used=1825454528, alloc=15136044, time=260.15
+bytes used=1826454744, alloc=15136044, time=260.25
+bytes used=1827454964, alloc=15136044, time=260.34
+bytes used=1828457868, alloc=15136044, time=260.45
+bytes used=1829458252, alloc=15136044, time=260.54
+bytes used=1830458548, alloc=15136044, time=260.64
+bytes used=1831458868, alloc=15136044, time=260.72
+bytes used=1832462984, alloc=15136044, time=260.80
+bytes used=1833463180, alloc=15136044, time=260.89
+bytes used=1834463360, alloc=15136044, time=260.97
+bytes used=1835463552, alloc=15136044, time=261.05
+bytes used=1836464108, alloc=15136044, time=261.14
+bytes used=1837488152, alloc=15136044, time=261.29
+bytes used=1838502864, alloc=15136044, time=261.43
+bytes used=1839511032, alloc=15136044, time=261.58
+bytes used=1840511248, alloc=15136044, time=261.75
+bytes used=1841522676, alloc=15136044, time=261.87
+bytes used=1842522924, alloc=15136044, time=262.02
+bytes used=1843523172, alloc=15136044, time=262.17
+bytes used=1844523324, alloc=15136044, time=262.33
+bytes used=1845544672, alloc=15136044, time=262.50
+bytes used=1846545304, alloc=15136044, time=262.63
+bytes used=1847545484, alloc=15136044, time=262.79
+bytes used=1848545732, alloc=15136044, time=262.92
+bytes used=1849545904, alloc=15136044, time=263.06
+bytes used=1850549268, alloc=15136044, time=263.21
+bytes used=1851563588, alloc=15136044, time=263.33
+bytes used=1852564856, alloc=15136044, time=263.44
+bytes used=1853583020, alloc=15136044, time=263.57
+bytes used=1854587524, alloc=15136044, time=263.70
+bytes used=1855588608, alloc=15136044, time=263.83
+bytes used=1856588768, alloc=15136044, time=263.95
+bytes used=1857588960, alloc=15136044, time=264.06
+bytes used=1858609516, alloc=15136044, time=264.17
+bytes used=1859609732, alloc=15136044, time=264.26
+bytes used=1860609912, alloc=15136044, time=264.75
+bytes used=1861620336, alloc=15136044, time=267.10
+bytes used=1862620540, alloc=15136044, time=267.75
+bytes used=1863620692, alloc=15136044, time=268.21
+bytes used=1864622540, alloc=15136044, time=268.31
+bytes used=1865622744, alloc=15136044, time=268.39
+bytes used=1866623384, alloc=15136044, time=268.47
+bytes used=1867623756, alloc=15136044, time=268.54
+bytes used=1868623948, alloc=15136044, time=268.62
+bytes used=1869624216, alloc=15136044, time=268.69
+bytes used=1870624640, alloc=15136044, time=268.77
+bytes used=1871624980, alloc=15136044, time=268.84
+bytes used=1872625568, alloc=15136044, time=268.92
+bytes used=1873626464, alloc=15136044, time=269.00
+bytes used=1874626808, alloc=15136044, time=269.07
+bytes used=1875627136, alloc=15136044, time=269.15
+bytes used=1876627296, alloc=15136044, time=269.22
+bytes used=1877627640, alloc=15136044, time=269.30
+bytes used=1878627968, alloc=15136044, time=269.38
+bytes used=1879628204, alloc=15136044, time=269.46
+bytes used=1880639792, alloc=15136044, time=269.65
+bytes used=1881654416, alloc=15136044, time=269.78
+bytes used=1882674208, alloc=15136044, time=269.92
+bytes used=1883697120, alloc=15136044, time=270.05
+bytes used=1884714184, alloc=15136044, time=270.20
+bytes used=1885714480, alloc=15136044, time=270.39
+bytes used=1886728248, alloc=15136044, time=270.52
+bytes used=1887734308, alloc=15136044, time=270.65
+bytes used=1888735152, alloc=15136044, time=270.80
+bytes used=1889735356, alloc=15136044, time=270.95
+bytes used=1890748152, alloc=15136044, time=271.10
+bytes used=1891772796, alloc=15136044, time=271.24
+bytes used=1892773052, alloc=15136044, time=271.38
+bytes used=1893773488, alloc=15136044, time=271.49
+bytes used=1894774292, alloc=15136044, time=271.57
+bytes used=1895774524, alloc=15136044, time=274.95
+bytes used=1896785256, alloc=15136044, time=275.16
+bytes used=1897785452, alloc=15136044, time=275.81
+bytes used=1898785676, alloc=15136044, time=276.58
+bytes used=1899785876, alloc=15136044, time=276.68
+bytes used=1900786076, alloc=15136044, time=276.77
+bytes used=1901786528, alloc=15136044, time=276.85
+bytes used=1902786948, alloc=15136044, time=276.93
+bytes used=1903787344, alloc=15136044, time=277.01
+bytes used=1904787608, alloc=15136044, time=277.09
+bytes used=1905787804, alloc=15136044, time=277.17
+bytes used=1906788340, alloc=15136044, time=277.25
+bytes used=1907788584, alloc=15136044, time=277.32
+bytes used=1908788952, alloc=15136044, time=277.40
+bytes used=1909789156, alloc=15136044, time=277.48
+bytes used=1910789380, alloc=15136044, time=277.56
+bytes used=1911789708, alloc=15136044, time=277.64
+bytes used=1912790196, alloc=15136044, time=277.72
+bytes used=1913790440, alloc=15136044, time=277.80
+bytes used=1914790608, alloc=15136044, time=277.88
+bytes used=1915791580, alloc=15136044, time=278.01
+bytes used=1916791800, alloc=15136044, time=278.38
+bytes used=1917791964, alloc=15136044, time=278.65
+bytes used=1918792912, alloc=15136044, time=278.77
+bytes used=1919793180, alloc=15136044, time=282.04
+bytes used=1920793404, alloc=15136044, time=283.10
+bytes used=1921795004, alloc=15136044, time=283.41
+bytes used=1922795164, alloc=15136044, time=283.58
+bytes used=1923795860, alloc=15136044, time=283.65
+bytes used=1924796228, alloc=15136044, time=283.78
+bytes used=1925796420, alloc=15136044, time=283.92
+>
+# d^2/dx^2
+> simplify( diff(interp_3d_cube_order4_smooth0,x,x) );
+bytes used=1926832412, alloc=15136044, time=284.04
+bytes used=1927833000, alloc=15136044, time=284.12
+bytes used=1928833252, alloc=15136044, time=284.21
+bytes used=1929834240, alloc=15136044, time=284.28
+bytes used=1930834684, alloc=15136044, time=284.36
+bytes used=1931834852, alloc=15136044, time=284.44
+bytes used=1932835064, alloc=15136044, time=284.54
+bytes used=1933835192, alloc=15136044, time=284.62
+bytes used=1934836100, alloc=15136044, time=284.71
+bytes used=1935836272, alloc=15136044, time=284.80
+bytes used=1936836468, alloc=15136044, time=284.89
+166 57 166
+---- DATA(-1, 1, -1) - --- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+3675 490 3675
+
+ 151 2 2
+ + ---- DATA(-1, -1, 0) + 3/25 x DATA(0, 1, 0) + 3/25 x DATA(0, -1, 0)
+ 3675
+
+ 2 2 2
+ - 2/25 x DATA(-1, 1, 0) - 2/25 x DATA(1, -1, 0) - 2/25 x DATA(-1, 0, 0)
+
+ 2 61 151
+ - 2/25 x DATA(1, 0, 0) - --- DATA(0, -1, 0) + ---- DATA(1, -1, 0)
+ 490 3675
+
+ 136 151
+ + ---- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0) + 1/175 y DATA(0, -1, -1)
+ 3675 3675
+
+ 166 151
+ + ---- DATA(-1, 1, 1) + ---- DATA(-1, 0, 1) - 2/175 y DATA(0, 2, -1)
+ 3675 3675
+
+ 166 166 57
+ + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1) - --- DATA(0, -1, 1)
+ 3675 3675 490
+
+ - 1/25 x DATA(1, -2, 0) - 1/50 x DATA(-2, 1, 0) + 1/25 x DATA(-1, 1, 0)
+
+ + 1/50 x DATA(2, 1, 0) - 1/50 x DATA(-2, 0, 0) + 1/50 x DATA(2, 0, 0)
+
+ + 1/25 x DATA(-1, 0, 0) - 1/25 x DATA(1, 0, 0) - 1/25 x DATA(1, -1, 0)
+
+ + 1/25 x DATA(-1, 2, 0) - 1/50 x DATA(-2, 2, 0) + 1/25 x DATA(-1, -2, 0)
+
+ - 1/50 x DATA(-2, -1, 0) + 1/50 x DATA(2, -2, 0) - 1/50 x DATA(-2, -2, 0)
+
+ 2 2
+ + 1/50 x DATA(-2, -2, 0) + 3/25 x DATA(0, -2, 0)
+
+ 2 2 2
+ - 2/25 x DATA(1, -2, 0) + 1/50 x DATA(-2, 1, 0) + 1/50 x DATA(-2, 2, 0)
+
+ 2 2
+ - 2/25 x DATA(-1, -2, 0) + 1/50 x DATA(-2, -1, 0)
+
+ 2
+ + 1/50 x DATA(2, -2, 0) - 1/100 x y DATA(2, -1, 0)
+
+ 2 2 2
+ + 3/25 x DATA(0, 2, 0) + 1/50 x DATA(2, -1, 0) - 2/25 x DATA(-1, 2, 0)
+
+ 2 2 2
+ + 1/50 x DATA(-2, 0, 0) + 1/50 x DATA(2, 0, 0) + 3/25 x DATA(0, 0, 0)
+
+ 2 2 2
+ - 2/25 x DATA(-1, -1, 0) - 2/25 x DATA(1, 2, 0) + 1/50 x DATA(2, 2, 0)
+
+ 2 2
+ + 1/50 x DATA(2, 1, 0) - 2/25 x DATA(1, 1, 0) + 1/50 x DATA(2, -1, 0)
+
+ 256 33 151
+ + ---- DATA(-1, -2, 2) - --- DATA(0, -2, 2) + ---- DATA(-1, 0, -1)
+ 3675 490 3675
+
+ 61 151 13
+ - --- DATA(0, 0, -1) + ---- DATA(1, 0, -1) - -- DATA(0, 0, 0)
+ 490 3675 98
+
+ 136 61 151
+ + ---- DATA(1, 0, 0) - --- DATA(0, 1, 0) + ---- DATA(1, 1, 0)
+ 3675 490 3675
+
+ 61 2 2
+ - --- DATA(0, 0, 1) + 2/245 y DATA(0, 0, 0) - 1/245 y DATA(-1, 2, 0)
+ 490
+
+ 2 2
+ - 2/245 y DATA(-2, 0, 0) - 2/245 y DATA(2, 0, 0)
+
+ 2 2
+ - 2/245 y DATA(0, 2, 0) - 1/245 y DATA(2, -1, 0)
+
+ 2 2
+ + 2/245 y DATA(-2, -2, 0) - 1/245 y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/245 y DATA(-2, -1, 0) + 2/245 y DATA(2, -2, 0)
+
+ 2 2
+ - 2/245 y DATA(0, -2, 0) - 1/245 y DATA(-2, 1, 0)
+
+ 2 2
+ + 2/245 y DATA(-2, 2, 0) - 1/245 y DATA(1, -2, 0)
+
+ 2 2
+ + 1/490 y DATA(1, -1, 0) + 1/245 y DATA(0, -1, 0)
+
+ 2 2
+ + 1/490 y DATA(-1, 1, 0) + 1/245 y DATA(0, 1, 0)
+
+ 2 2
+ + 1/245 y DATA(-1, 0, 0) + 1/245 y DATA(1, 0, 0)
+
+ 2 2 2
+ - 1/245 y DATA(1, 2, 0) + 2/245 y DATA(2, 2, 0) - 1/245 y DATA(2, 1, 0)
+
+ 2 2
+ + 1/490 y DATA(-1, -1, 0) + 1/490 y DATA(1, 1, 0)
+
+ - 1/350 y DATA(1, 1, 0) - 1/175 y DATA(1, 2, 0) + 2/175 y DATA(2, 2, 0)
+
+ + 1/175 y DATA(2, 1, 0) + 1/350 y DATA(-1, -1, 0) - 1/175 y DATA(0, 1, 0)
+
+ + 1/175 y DATA(1, -2, 0) + 2/175 y DATA(-2, 2, 0)
+
+ + 1/175 y DATA(-1, -2, 0) - 1/175 y DATA(-2, -1, 0)
+
+ - 2/175 y DATA(2, -2, 0) - 2/175 y DATA(-2, -2, 0)
+
+ + 1/175 y DATA(0, -1, 0) - 1/350 y DATA(-1, 1, 0) + 1/350 y DATA(1, -1, 0)
+
+ + 1/175 y DATA(-2, 1, 0) - 1/175 y DATA(0, 1, 1) + 2/175 y DATA(0, -2, 0)
+
+ - 2/175 y DATA(0, 2, 0) - 1/175 y DATA(2, -1, 0) - 1/175 y DATA(-1, 2, 0)
+
+ - 1/25 x DATA(1, 2, 0) + 1/50 x DATA(2, 2, 0) + 1/25 x DATA(-1, -1, 0)
+
+ 2 2
+ - 1/25 x DATA(1, 1, 0) + 2/245 z DATA(0, 2, 0) - 2/245 z DATA(2, 0, 0)
+
+ 2 2
+ + 2/245 z DATA(0, 0, 0) - 2/245 z DATA(-2, 0, 0)
+
+ 2 2
+ + 1/245 z DATA(-1, 2, 0) - 2/245 z DATA(2, -1, 0)
+
+ 2 2
+ + 2/245 z DATA(0, -2, 0) + 1/245 z DATA(-1, -2, 0)
+
+ 2 2
+ - 2/245 z DATA(-2, -1, 0) + 1/245 z DATA(1, -2, 0)
+
+ 2 2
+ - 2/245 z DATA(-2, 1, 0) - 2/245 z DATA(-2, 2, 0)
+
+ 2 2
+ - 2/245 z DATA(2, -2, 0) - 2/245 z DATA(-2, -2, 0)
+
+ 2 2
+ + 1/245 z DATA(-1, -1, 0) + 1/245 z DATA(1, 2, 0)
+
+ 2 2
+ - 2/245 z DATA(2, 2, 0) - 2/245 z DATA(2, 1, 0)
+
+ 2 2
+ + 1/245 z DATA(-1, 0, 0) + 1/245 z DATA(1, 0, 0)
+
+ 2 2
+ + 1/245 z DATA(-1, 1, 0) + 1/245 z DATA(1, -1, 0)
+
+ 2 2
+ + 2/245 z DATA(0, 1, 0) + 2/245 z DATA(0, -1, 0)
+
+ 2 256
+ + 1/245 z DATA(1, 1, 0) + 2/175 y DATA(0, -2, 2) + ---- DATA(1, -2, 2)
+ 3675
+
+ 2
+ + 1/175 y DATA(0, -1, 2) - 2/245 y DATA(0, -2, -1)
+
+ 2 169
+ - 2/245 y DATA(0, 2, -2) - ----- DATA(-2, -1, 2)
+ 14700
+
+ + 2/175 z DATA(0, -1, -2) + 2/175 z DATA(0, 1, -2)
+
+ 2
+ - 2/175 z DATA(0, -1, 2) - 2/175 z DATA(0, 1, 2) + 1/245 y DATA(0, 1, -1)
+
+ 2
+ - 2/245 y DATA(0, -2, 1) - 2/175 z DATA(0, 2, 2)
+
+ + 2/175 z DATA(0, -2, -2) + 1/175 z DATA(0, 2, -1)
+
+ - 2/175 z DATA(0, -2, 2) - 1/175 z DATA(0, 2, 1) + 1/175 z DATA(0, 1, -1)
+
+ - 1/175 z DATA(0, -1, 1) + 1/175 z DATA(0, -1, -1) - 1/175 z DATA(0, 1, 1)
+
+ - 1/175 z DATA(0, -2, 1) + 1/175 z DATA(0, -2, -1) - 2/175 y DATA(0, 2, 2)
+
+ + 2/175 y DATA(0, -2, -2) - 1/175 y DATA(0, 1, 2) + 2/175 z DATA(0, 2, -2)
+
+ - 2/175 y DATA(0, 2, 1) - 1/175 y DATA(0, 1, -1) + 1/175 y DATA(0, -1, 1)
+
+ 529
+ - ----- DATA(2, -2, 2) - 1/175 y z DATA(0, 1, 2)
+ 14700
+
+ - 2/175 y z DATA(0, -2, -2) - 2/175 y z DATA(0, 2, 2)
+
+ + 1/50 x y DATA(1, -1, 0) - 1/50 x y DATA(-2, 2, 0)
+
+ - 1/100 x y DATA(-2, 1, 0) + 1/25 x y DATA(1, -2, 0)
+
+ + 1/100 x y DATA(-2, -1, 0) - 1/25 x y DATA(-1, -2, 0)
+
+ + 1/50 x y DATA(-2, -2, 0) - 1/50 x y DATA(2, -2, 0)
+
+ 2 2
+ + 1/245 y DATA(0, 1, 2) - 2/245 y DATA(0, 2, 2)
+
+ 2 2
+ - 2/245 y DATA(0, -2, -2) + 1/245 y DATA(0, -1, -1)
+
+ 2
+ + 1/245 y DATA(0, 1, 1) + 2/175 y DATA(0, -2, 1) - 2/175 y DATA(0, 2, -2)
+
+ 2
+ + 2/175 y DATA(0, -2, -1) + 3/25 x DATA(0, 1, -1)
+
+ 2 2
+ + 3/25 x DATA(0, -2, 1) + 3/25 x DATA(0, 1, -2)
+
+ 2 2
+ + 3/25 x DATA(0, -1, -2) - 2/245 z DATA(0, 1, -2)
+
+ 2 2
+ - 2/245 z DATA(0, -1, -2) - 2/245 z DATA(0, 2, 2)
+
+ 2 2
+ - 2/245 z DATA(0, 1, 2) - 2/245 z DATA(0, -1, 2)
+
+ 2 2
+ - 2/245 z DATA(0, -2, -2) + 1/245 z DATA(0, 2, 1)
+
+ 2 2
+ + 1/245 z DATA(0, 2, -1) + 1/245 z DATA(0, -1, -1)
+
+ 2
+ - 1/50 x y DATA(1, 1, 0) - 2/245 z DATA(0, -2, 2)
+
+ 2 2
+ + 1/245 z DATA(0, 1, 1) + 1/245 z DATA(0, -1, 1)
+
+ 2 2
+ + 1/245 z DATA(0, -2, 1) + 1/245 z DATA(0, 1, -1)
+
+ 2 2
+ - 2/245 z DATA(0, 2, -2) + 1/245 z DATA(0, -2, -1)
+
+ 2
+ + 1/175 y DATA(0, -1, -2) - 2/245 y DATA(0, 2, 1)
+
+ 2
+ - 1/175 y DATA(0, 1, -2) + 1/245 y DATA(0, -1, -2)
+
+ + 1/100 x y DATA(2, 1, 0) + 1/50 x y DATA(2, 2, 0)
+
+ - 1/25 x y DATA(1, 2, 0) - 1/50 x y DATA(-1, -1, 0)
+
+ - 1/175 y z DATA(0, -2, -1) + 1/50 x y DATA(-1, 1, 0)
+
+ 2 2
+ + 1/245 y DATA(0, -1, 1) - 2/245 y DATA(0, 2, -1)
+
+ 2
+ + 1/175 y z DATA(0, -2, 1) - 2/245 y DATA(0, -2, 2)
+
+ + 2/175 y z DATA(0, -2, 2) + 2/175 y z DATA(0, 2, -2)
+
+ + 1/350 y z DATA(0, -1, 1) + 1/350 y z DATA(0, 1, -1)
+
+ - 1/175 y z DATA(0, 2, 1) - 1/350 y z DATA(0, 1, 1)
+
+ - 1/350 y z DATA(0, -1, -1) + 1/175 y z DATA(0, 2, -1)
+
+ + 1/175 y z DATA(0, 1, -2) - 1/175 y z DATA(0, -1, -2)
+
+ 2 2
+ + 1/245 y DATA(0, 1, -2) + 3/25 x DATA(0, -1, 1)
+
+ 2 2
+ + 1/245 y DATA(0, -1, 2) + 3/25 x DATA(0, -2, -1)
+
+ 2 2 2
+ + 3/25 x DATA(0, 2, -2) + 3/25 x DATA(0, -1, 2) + 3/25 x DATA(0, 2, 2)
+
+ 2 2
+ + 3/25 x DATA(0, -2, -2) + 3/25 x DATA(0, 1, 2)
+
+ 2 2 2
+ + 3/25 x DATA(0, -1, -1) + 3/25 x DATA(0, 2, -1) + 3/25 x DATA(0, 2, 1)
+
+ 2 2
+ + 3/25 x DATA(0, 1, 1) + 3/25 x DATA(0, -2, 2)
+
+ 169
+ + 1/175 y z DATA(0, -1, 2) - 1/300 DATA(-2, 0, 2) - ----- DATA(-2, 1, 2)
+ 14700
+
+ 151 57 166
+ + ---- DATA(1, 0, 1) - --- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 3675 490 3675
+
+ 529
+ - ----- DATA(-2, 2, 2) + 1/175 y z DATA(2, -2, -1)
+ 14700
+
+ - 1/350 y z DATA(1, -2, -1) - 1/350 y z DATA(-1, -2, -1)
+
+ + 1/175 y z DATA(-2, -2, -1) - 2/175 y z DATA(2, 2, -2)
+
+ + 1/175 y z DATA(1, 2, -2) + 1/175 y z DATA(-1, 2, -2)
+
+ - 1/350 y z DATA(-2, 1, -1) + 1/350 y z DATA(-2, -1, -1)
+
+ - 1/175 y z DATA(-2, 2, -1) - 1/175 y z DATA(-2, -2, 1)
+
+ 166 57 211
+ + ---- DATA(-1, -1, -1) - --- DATA(0, -1, -1) + ---- DATA(1, 2, -1)
+ 3675 490 3675
+
+ 191 211
+ + ----- DATA(2, 1, -1) + ---- DATA(-1, 2, -1) - 9/98 DATA(0, 2, -1)
+ 14700 3675
+
+ - 1/175 y z DATA(2, -2, 1) - 1/350 y z DATA(-2, -1, 1)
+
+ 191 311
+ + 1/350 y z DATA(-2, 1, 1) + ----- DATA(2, -1, -1) + ----- DATA(2, 0, -1)
+ 14700 14700
+
+ + 1/175 y z DATA(-2, 2, 1) - 2/175 y z DATA(-2, -2, 2)
+
+ 191 211
+ + ----- DATA(2, 1, 1) + ---- DATA(-1, 2, 1) - 9/98 DATA(0, 2, 1)
+ 14700 3675
+
+ 211 191
+ + ---- DATA(1, 2, 1) - 1/350 y z DATA(-1, -1, -2) + ----- DATA(2, -1, 1)
+ 3675 14700
+
+ 311 166
+ + ----- DATA(2, 0, 1) + ---- DATA(1, -1, -1) + 4/75 DATA(1, 2, 0)
+ 14700 3675
+
+ 311
+ - 1/300 DATA(2, 2, 0) + ----- DATA(2, 1, 0) + 4/75 DATA(-1, 2, 0)
+ 14700
+
+ 311 431
+ - 1/10 DATA(0, 2, 0) + ----- DATA(2, -1, 0) + ----- DATA(2, 0, 0)
+ 14700 14700
+
+ 169 256 169
+ - ----- DATA(2, 2, -1) + ---- DATA(1, 2, 2) - ----- DATA(-2, -1, -2)
+ 14700 3675 14700
+
+ 529 529 256
+ - ----- DATA(2, 2, 2) - ----- DATA(2, -2, -2) + ---- DATA(1, -2, -2)
+ 14700 14700 3675
+
+ 211 169 256
+ + ---- DATA(1, 1, 2) - ----- DATA(2, 1, 2) + ---- DATA(-1, 2, 2)
+ 3675 14700 3675
+
+ 33 33 256
+ - --- DATA(0, 2, 2) - --- DATA(0, -2, -2) + ---- DATA(-1, -2, -2)
+ 490 490 3675
+
+ 211
+ + 4/75 DATA(1, 0, 2) - 1/300 DATA(2, 0, 2) + ---- DATA(-1, 1, 2)
+ 3675
+
+ 529 211
+ - 9/98 DATA(0, 1, 2) - ----- DATA(-2, -2, -2) + ---- DATA(1, -1, 2)
+ 14700 3675
+
+ 169
+ - ----- DATA(2, -1, 2) + 4/75 DATA(-1, 0, 2) - 1/10 DATA(0, 0, 2)
+ 14700
+
+ 211 169
+ + ---- DATA(-1, -1, 2) - 9/98 DATA(0, -1, 2) - ----- DATA(2, 2, 1)
+ 3675 14700
+
+ + 1/50 x z DATA(-2, -1, -2) + 1/50 x z DATA(2, 2, 2)
+
+ 529
+ - ----- DATA(-2, 2, -2) - 1/50 x z DATA(2, -2, -2)
+ 14700
+
+ 169
+ - 1/50 x z DATA(-1, 1, -1) - ----- DATA(2, 1, -2)
+ 14700
+
+ + 1/350 y z DATA(-1, 2, -1) + 1/50 x z DATA(1, 0, -1)
+
+ 211
+ - 1/50 x z DATA(-1, 0, -1) + 1/50 x z DATA(-1, 0, 1) + ---- DATA(1, 1, -2)
+ 3675
+
+ + 1/50 x z DATA(-2, 0, -2) + 1/25 x z DATA(1, 0, -2)
+
+ - 1/50 x z DATA(2, 0, -2) - 1/100 x z DATA(2, 0, -1)
+
+ 211
+ + 1/100 x z DATA(2, 0, 1) - 9/98 DATA(0, 1, -2) + ---- DATA(-1, 1, -2)
+ 3675
+
+ 169
+ - ----- DATA(-2, 1, -2) - 1/300 DATA(2, 0, -2) + 1/50 x z DATA(2, 0, 2)
+ 14700
+
+ - 1/25 x z DATA(1, 0, 2) - 1/10 DATA(0, 0, -2) + 4/75 DATA(1, 0, -2)
+
+ - 1/50 x z DATA(1, 0, 1) - 1/50 x z DATA(-2, 0, 2) + 4/75 DATA(-1, 0, -2)
+
+ 169
+ - 1/300 DATA(-2, 0, -2) - ----- DATA(2, -1, -2)
+ 14700
+
+ + 1/100 x z DATA(-2, 0, -1) - 1/100 x z DATA(-2, 0, 1)
+
+ 211
+ + ---- DATA(1, -1, -2) + 1/25 x z DATA(-1, 0, 2) - 9/98 DATA(0, -1, -2)
+ 3675
+
+ 211
+ + ---- DATA(-1, -1, -2) - 1/175 z DATA(2, 0, -1) - 2/175 z DATA(2, 0, -2)
+ 3675
+
+ + 1/175 z DATA(1, 0, -2) - 2/175 z DATA(-2, 0, -2) - 1/175 z DATA(1, 0, 2)
+
+ + 2/175 z DATA(2, 0, 2) + 1/350 z DATA(1, 0, -1) + 2/175 z DATA(-2, 0, 2)
+
+ - 1/350 z DATA(1, 0, 1) + 1/175 z DATA(2, 0, 1) - 1/350 z DATA(-1, 0, 1)
+
+ - 2/175 z DATA(0, 0, 2) + 2/175 z DATA(0, 0, -2) + 1/350 z DATA(-1, 0, -1)
+
+ + 1/50 x z DATA(1, 1, -1) + 1/50 x z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/245 y DATA(-1, 0, -2) + 2/245 y DATA(0, 0, -1)
+
+ 2 2
+ + 2/245 y DATA(0, 0, 1) - 2/245 y DATA(-2, 0, -1)
+
+ 169
+ - ----- DATA(2, -2, -1) - 1/50 x z DATA(1, -1, 1)
+ 14700
+
+ 2 2
+ - 2/245 y DATA(2, 0, -2) + 1/245 y DATA(1, 0, -2)
+
+ + 1/50 x z DATA(-1, -1, 1) + 1/25 x z DATA(-1, -2, 2)
+
+ 2 2
+ - 2/245 y DATA(2, 0, 1) - 2/245 y DATA(-2, 0, 1)
+
+ 2 2
+ + 1/245 y DATA(-1, 0, 2) - 2/245 y DATA(2, 0, -1)
+
+ 2 2
+ - 2/245 y DATA(-2, 0, -2) + 1/245 y DATA(1, 0, 2)
+
+ 2 2
+ - 2/245 y DATA(2, 0, 2) - 2/245 y DATA(-2, 0, 2)
+
+ 2
+ - 1/25 x z DATA(1, -2, 2) + 1/245 y DATA(-1, 0, -1)
+
+ 2 2
+ + 1/245 y DATA(1, 0, -1) + 1/245 y DATA(-1, 0, 1)
+
+ 2 211
+ + 1/245 y DATA(1, 0, 1) + ---- DATA(1, -2, -1) - 1/50 x z DATA(-2, -1, 2)
+ 3675
+
+ 2 2
+ + 2/245 y DATA(0, 0, 2) + 2/245 y DATA(0, 0, -2)
+
+ + 1/25 x DATA(-1, 0, -2) + 1/25 x DATA(-1, 0, 2) - 1/50 x DATA(-2, 0, -1)
+
+ + 1/50 x DATA(2, 0, -2) - 1/25 x DATA(1, 0, -2) - 1/50 x DATA(-2, 0, 1)
+
+ + 1/50 x z DATA(2, -2, 2) - 1/50 x z DATA(-2, 1, 2)
+
+ + 1/50 x DATA(2, 0, -1) - 1/50 x DATA(-2, 0, -2) + 1/50 x DATA(2, 0, 1)
+
+ - 1/50 x z DATA(1, 1, 1) - 1/50 x z DATA(-2, 2, 2) - 1/25 x DATA(1, 0, 2)
+
+ + 1/50 x DATA(2, 0, 2) - 1/25 x DATA(1, 0, -1) + 1/25 x DATA(-1, 0, -1)
+
+ - 1/50 x DATA(-2, 0, 2) - 1/25 x DATA(1, 0, 1) - 9/98 DATA(0, -2, -1)
+
+ 2
+ - 1/25 x z DATA(-1, 0, -2) - 2/25 x DATA(-1, 0, 2)
+
+ + 1/25 x DATA(-1, 0, 1) - 1/50 x z DATA(-1, -1, -1)
+
+ 211 2 2
+ + ---- DATA(-1, -2, -1) + 1/50 x DATA(-2, 0, -1) + 3/25 x DATA(0, 0, -1)
+ 3675
+
+ 2 2 2
+ + 3/25 x DATA(0, 0, 1) - 2/25 x DATA(-1, 0, -2) + 1/50 x DATA(-2, 0, 1)
+
+ 2 2 2
+ + 1/50 x DATA(2, 0, 1) + 1/50 x DATA(2, 0, -1) + 1/50 x DATA(2, 0, -2)
+
+ 2 2
+ - 2/25 x DATA(1, 0, -2) + 1/50 x DATA(-2, 0, -2)
+
+ 2 2 2
+ - 2/25 x DATA(1, 0, -1) - 2/25 x DATA(-1, 0, 1) + 3/25 x DATA(0, 0, 2)
+
+ 2 2 2
+ + 3/25 x DATA(0, 0, -2) - 2/25 x DATA(1, 0, 2) + 1/50 x DATA(-2, 0, 2)
+
+ 2 2 2
+ + 1/50 x DATA(2, 0, 2) - 2/25 x DATA(1, 0, 1) - 2/25 x DATA(-1, 0, -1)
+
+ + 1/50 x z DATA(1, 2, -1) - 1/100 x z DATA(2, 1, -1)
+
+ 169
+ - ----- DATA(-2, -2, -1) - 1/50 x z DATA(-1, 2, -1)
+ 14700
+
+ - 1/100 x z DATA(2, -1, -1) + 1/100 x z DATA(2, 1, 1)
+
+ 529
+ - ----- DATA(2, 2, -2) + 1/50 x z DATA(-1, 2, 1) - 1/50 x z DATA(1, 2, 1)
+ 14700
+
+ 256
+ + 1/100 x z DATA(2, -1, 1) + ---- DATA(1, 2, -2)
+ 3675
+
+ 33
+ + 1/50 x z DATA(1, -1, -1) - 1/100 x z DATA(2, 2, -1) - --- DATA(0, 2, -2)
+ 490
+
+ 256 191
+ - 1/25 x z DATA(1, 2, 2) + ---- DATA(-1, 2, -2) + ----- DATA(-2, 1, -1)
+ 3675 14700
+
+ 311 2
+ + ----- DATA(-2, 0, -1) - 1/245 z DATA(-2, 0, -1)
+ 14700
+
+ 2 2
+ - 1/245 z DATA(-1, 0, -2) - 1/245 z DATA(-2, 0, 1)
+
+ 2 2
+ + 1/245 z DATA(0, 0, -1) + 1/245 z DATA(0, 0, 1)
+
+ 2 2
+ - 1/245 z DATA(-1, 0, 2) + 2/245 z DATA(2, 0, -2)
+
+ 2 2
+ - 1/245 z DATA(1, 0, -2) - 1/245 z DATA(2, 0, 1)
+
+ 2 2
+ + 2/245 z DATA(-2, 0, -2) - 1/245 z DATA(2, 0, -1)
+
+ 2 2
+ - 1/245 z DATA(1, 0, 2) + 2/245 z DATA(2, 0, 2)
+
+ 2 2
+ + 2/245 z DATA(-2, 0, 2) + 1/490 z DATA(1, 0, 1)
+
+ 2 2
+ - 2/245 z DATA(0, 0, -2) + 1/490 z DATA(-1, 0, -1)
+
+ 2 2
+ + 1/490 z DATA(-1, 0, 1) + 1/490 z DATA(1, 0, -1)
+
+ 2 191
+ - 2/245 z DATA(0, 0, 2) + ----- DATA(-2, -1, -1)
+ 14700
+
+ + 1/175 z DATA(-1, 0, -2) + 1/175 z DATA(-2, 0, 1)
+
+ + 1/175 z DATA(0, 0, -1) - 1/175 z DATA(0, 0, 1) - 1/175 z DATA(-2, 0, -1)
+
+ 169
+ - 1/175 z DATA(-1, 0, 2) - ----- DATA(-2, 2, -1) - 1/10 DATA(0, -2, 0)
+ 14700
+
+ 431
+ + 4/75 DATA(-1, -2, 0) - 1/300 DATA(-2, -2, 0) + ----- DATA(-2, 0, 0)
+ 14700
+
+ 311
+ + ----- DATA(-2, -1, 0) - 1/300 DATA(2, -2, 0) + 4/75 DATA(1, -2, 0)
+ 14700
+
+ - 1/100 x z DATA(-2, -2, 1) + 1/50 x z DATA(-1, -2, 1)
+
+ 311
+ - 1/50 x z DATA(1, -2, 1) - 1/25 x z DATA(1, 1, 2) + ----- DATA(-2, 1, 0)
+ 14700
+
+ + 1/100 x z DATA(2, -2, 1) - 1/100 x z DATA(-2, -1, 1)
+
+ - 1/100 x z DATA(-2, 1, 1) - 1/100 x z DATA(-2, 2, 1)
+
+ - 1/50 x z DATA(-2, -2, 2) + 1/100 x z DATA(-2, -2, -1)
+
+ - 1/50 x z DATA(2, 2, -2) + 1/25 x z DATA(1, 2, -2)
+
+ - 1/25 x z DATA(-1, 2, -2) - 1/300 DATA(-2, 2, 0)
+
+ + 1/100 x z DATA(-2, 1, -1) + 1/100 x z DATA(-2, -1, -1)
+
+ + 1/100 x z DATA(-2, 2, -1) + 1/25 x z DATA(1, -1, -2)
+
+ 169
+ - ----- DATA(-2, -2, 1) - 1/25 x z DATA(-1, -1, -2)
+ 14700
+
+ - 1/100 x z DATA(2, -2, -1) + 1/50 x z DATA(1, -2, -1)
+
+ - 1/50 x z DATA(-1, -2, -1) + 1/100 x z DATA(2, 2, 1)
+
+ + 1/50 x z DATA(-2, 2, -2) - 1/50 x z DATA(2, 1, -2)
+
+ 211
+ + ---- DATA(-1, -2, 1) + 1/25 x z DATA(1, 1, -2)
+ 3675
+
+ - 1/25 x z DATA(-1, 1, -2) + 1/50 x z DATA(-2, 1, -2)
+
+ 211
+ - 1/50 x z DATA(2, -1, -2) + ---- DATA(1, -2, 1) + 1/25 x z DATA(-1, 1, 2)
+ 3675
+
+ + 1/50 x z DATA(-2, -2, -2) - 1/25 x z DATA(1, -1, 2)
+
+ - 9/98 DATA(0, -2, 1) + 1/50 x z DATA(2, -1, 2) + 1/25 x z DATA(-1, -1, 2)
+
+ - 1/25 x y DATA(-1, -2, 1) + 1/25 x y DATA(1, -2, 1)
+
+ 169
+ - ----- DATA(2, -2, 1) - 1/50 x y DATA(1, 1, 2) - 1/50 x y DATA(2, -2, 1)
+ 14700
+
+ + 1/25 x z DATA(1, -2, -2) + 1/50 x z DATA(2, 1, 2)
+
+ + 1/25 x z DATA(-1, 2, 2) - 1/25 x z DATA(-1, -2, -2)
+
+ + 1/350 y z DATA(-1, -1, 2) + 1/175 y z DATA(2, 2, 1)
+
+ + 1/100 x y DATA(-2, -1, -1) - 2/175 y z DATA(-2, 2, -2)
+
+ 2
+ - 1/350 y z DATA(1, -1, -2) + 1/490 z DATA(1, 2, 1)
+
+ 2 2
+ - 1/245 z DATA(2, -1, 1) + 1/490 z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 1, -2) + 1/50 x y DATA(-2, -2, 2)
+
+ - 1/50 x y DATA(-2, 2, 1) - 1/100 x y DATA(-2, 1, 1)
+
+ 2
+ + 1/100 x y DATA(-2, -1, 1) - 1/245 z DATA(2, 2, -1)
+
+ 2 2
+ + 2/245 z DATA(-2, -1, -2) + 2/245 z DATA(2, 2, 2)
+
+ 2 2
+ + 2/245 z DATA(2, -2, -2) + 1/490 z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/245 z DATA(1, -2, -2) + 2/245 z DATA(2, 1, 2)
+
+ 2 2
+ - 1/245 z DATA(-1, 2, 2) - 1/245 z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/245 z DATA(-1, 1, 2) + 2/245 z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/245 z DATA(1, -1, 2) + 2/245 z DATA(2, -1, 2)
+
+ 2 2
+ - 1/245 z DATA(-1, -1, 2) - 1/245 z DATA(2, 2, 1)
+
+ 2 2
+ + 2/245 z DATA(-2, 2, -2) + 2/245 z DATA(2, 1, -2)
+
+ 2 2
+ - 1/245 z DATA(1, 1, -2) - 1/245 z DATA(-1, 1, -2)
+
+ 2 2
+ + 2/245 z DATA(-2, 1, -2) + 1/490 z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/490 z DATA(1, 1, -1) + 1/490 z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 z DATA(1, -1, 1) + 1/490 z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/245 z DATA(-1, -2, 2) - 1/245 z DATA(1, -2, 2)
+
+ 2 2
+ + 2/245 z DATA(-2, -1, 2) + 2/245 z DATA(2, -2, 2)
+
+ 2 2
+ + 2/245 z DATA(-2, 1, 2) + 1/490 z DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 z DATA(-2, 2, 2) + 1/490 z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/490 z DATA(1, 2, -1) - 2/25 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/490 y DATA(1, 1, -1) + 1/490 y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 y DATA(1, -1, 1) + 1/490 y DATA(-1, -1, 1)
+
+ 2 2
+ - 1/245 y DATA(-1, -2, 2) - 1/245 y DATA(1, -2, 2)
+
+ 2 2
+ - 1/245 y DATA(-2, -1, 2) + 2/245 y DATA(2, -2, 2)
+
+ 2 2
+ - 1/245 y DATA(-2, 1, 2) + 1/490 y DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 y DATA(-2, 2, 2) + 1/490 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/245 y DATA(1, 2, -1) - 1/245 y DATA(2, 1, -1)
+
+ 2 2
+ - 1/245 y DATA(-1, 2, -1) - 1/245 y DATA(2, -1, -1)
+
+ 2 2
+ - 1/245 y DATA(2, 1, 1) - 1/245 y DATA(-1, 2, 1)
+
+ 2 2
+ - 1/245 y DATA(1, 2, 1) - 1/245 y DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 y DATA(1, -1, -1) + 2/245 y DATA(2, 2, -1)
+
+ 2 2
+ - 1/245 y DATA(1, 2, 2) - 1/245 y DATA(-2, -1, -2)
+
+ 2 2
+ + 2/245 y DATA(2, 2, 2) + 2/245 y DATA(2, -2, -2)
+
+ 2 2
+ + 1/490 y DATA(-1, 1, -1) - 1/245 y DATA(1, -2, -2)
+
+ 2 2
+ - 1/245 y DATA(2, 1, 2) - 1/245 y DATA(-1, 2, 2)
+
+ 2 2
+ - 1/245 y DATA(-1, -2, -2) + 1/490 y DATA(-1, 1, 2)
+
+ 2 2
+ + 2/245 y DATA(-2, -2, -2) + 1/490 y DATA(1, -1, 2)
+
+ 2 2
+ - 1/245 y DATA(2, -1, 2) + 1/490 y DATA(-1, -1, 2)
+
+ 2 2
+ + 2/245 y DATA(2, 2, 1) + 2/245 y DATA(-2, 2, -2)
+
+ 2 2
+ - 1/245 y DATA(2, 1, -2) + 1/490 y DATA(1, 1, -2)
+
+ 2
+ + 1/490 y DATA(-1, 1, -2) - 1/350 y z DATA(1, 1, 2)
+
+ + 1/350 y z DATA(1, -2, 1) - 1/50 x y DATA(-2, 2, -1)
+
+ + 1/50 x y DATA(-2, -2, 1) + 1/350 y z DATA(-1, -2, 1)
+
+ 191
+ + ----- DATA(-2, -1, 1) + 1/25 x y DATA(-1, 2, -2)
+ 14700
+
+ 2 2
+ + 1/50 x DATA(-2, -2, -2) - 2/25 x DATA(1, -1, 2)
+
+ 2 2 2
+ + 1/50 x DATA(2, -1, 2) - 2/25 x DATA(-1, -1, 2) + 1/50 x DATA(2, 2, 1)
+
+ 2 2
+ + 1/50 x DATA(-2, 2, -2) + 1/50 x DATA(2, 1, -2)
+
+ 2 2
+ - 2/25 x DATA(1, 1, -2) - 2/25 x DATA(-1, 1, -2)
+
+ 2 2
+ + 1/50 x DATA(-2, 1, -2) + 1/50 x DATA(2, -1, -2)
+
+ 2 2
+ - 2/25 x DATA(1, -1, -2) - 2/25 x DATA(-1, -1, -2)
+
+ 2 2
+ + 1/50 x DATA(2, -2, -1) - 2/25 x DATA(1, -2, -1)
+
+ 2 2 2
+ - 2/25 x DATA(1, -2, 2) - 2/25 x DATA(-1, 1, 1) - 2/25 x DATA(1, -1, 1)
+
+ 2 2
+ - 2/25 x DATA(-1, -1, 1) - 2/25 x DATA(-1, -2, 2)
+
+ 2 2
+ + 1/50 x DATA(-2, -1, 2) + 1/50 x DATA(2, -2, 2)
+
+ 2 2 2
+ + 1/50 x DATA(-2, 1, 2) - 2/25 x DATA(1, 1, 1) + 1/50 x DATA(-2, 2, 2)
+
+ 2 2
+ - 2/25 x DATA(-1, -1, -1) - 2/25 x DATA(1, 2, -1)
+
+ 2 2
+ + 1/50 x DATA(2, 1, -1) - 2/25 x DATA(-1, 2, -1)
+
+ 2 2 2
+ + 1/50 x DATA(2, -1, -1) + 1/50 x DATA(2, 1, 1) - 2/25 x DATA(-1, 2, 1)
+
+ 2 2 2
+ - 2/25 x DATA(1, 2, 1) + 1/50 x DATA(2, -1, 1) - 2/25 x DATA(1, -1, -1)
+
+ 2 2
+ + 1/50 x DATA(2, 2, -1) - 2/25 x DATA(1, 2, 2)
+
+ 2 2
+ + 1/50 x DATA(-2, -1, -2) + 1/50 x DATA(2, 2, 2)
+
+ 2 2
+ + 1/50 x DATA(2, -2, -2) - 2/25 x DATA(-1, 1, -1)
+
+ 2 2 2
+ - 2/25 x DATA(1, -2, -2) + 1/50 x DATA(2, 1, 2) - 2/25 x DATA(-1, 2, 2)
+
+ 2 2
+ - 2/25 x DATA(-1, -2, -2) - 2/25 x DATA(-1, 1, 2)
+
+ 2 2
+ - 2/25 x DATA(-1, -2, -1) + 1/50 x DATA(-2, -2, -1)
+
+ 2 2
+ + 1/50 x DATA(2, 2, -2) - 2/25 x DATA(1, 2, -2)
+
+ 2 2
+ - 2/25 x DATA(-1, 2, -2) + 1/50 x DATA(-2, 1, -1)
+
+ 2 2
+ + 1/50 x DATA(-2, -1, -1) + 1/50 x DATA(-2, 2, -1)
+
+ 2 2
+ + 1/50 x DATA(-2, -2, 1) - 2/25 x DATA(-1, -2, 1)
+
+ 2 2 2
+ - 2/25 x DATA(1, -2, 1) - 2/25 x DATA(1, 1, 2) + 1/50 x DATA(2, -2, 1)
+
+ 2 2
+ + 1/50 x DATA(-2, -1, 1) + 1/50 x DATA(-2, 1, 1)
+
+ 2 2
+ + 1/50 x DATA(-2, 2, 1) + 1/50 x DATA(-2, -2, 2)
+
+ - 1/175 y z DATA(-2, -1, 2) + 1/25 x DATA(-1, -1, 1)
+
+ + 1/25 x DATA(-1, -2, 2) - 1/25 x DATA(1, -2, 2) - 1/50 x DATA(-2, -1, 2)
+
+ + 1/50 x DATA(2, -2, 2) - 1/50 x DATA(-2, 1, 2) - 1/25 x DATA(1, 1, 1)
+
+ - 1/50 x DATA(-2, 2, 2) + 1/25 x DATA(-1, -1, -1) - 1/25 x DATA(1, 2, -1)
+
+ + 1/50 x DATA(2, 1, -1) + 1/25 x DATA(-1, 2, -1) + 1/50 x DATA(2, -1, -1)
+
+ + 1/50 x DATA(2, 1, 1) + 1/25 x DATA(-1, 2, 1) - 1/25 x DATA(1, 2, 1)
+
+ + 1/50 x DATA(2, -1, 1) - 1/25 x DATA(1, -1, -1) + 1/50 x DATA(2, 2, -1)
+
+ - 1/25 x DATA(1, 2, 2) - 1/50 x DATA(-2, -1, -2) - 1/25 x DATA(1, -1, 1)
+
+ + 1/50 x DATA(2, -2, -1) - 1/25 x DATA(1, -2, -1)
+
+ + 1/25 x DATA(-1, -2, -1) - 1/50 x DATA(-2, -2, -1)
+
+ + 1/50 x DATA(2, 2, -2) - 1/25 x DATA(1, 2, -2) + 1/25 x DATA(-1, 2, -2)
+
+ - 1/50 x DATA(-2, 1, -1) - 1/50 x DATA(-2, -1, -1)
+
+ - 1/50 x DATA(-2, 2, -1) - 1/50 x DATA(-2, -2, 1) + 1/25 x DATA(-1, -2, 1)
+
+ - 1/25 x DATA(1, -2, 1) - 1/25 x DATA(1, 1, 2) + 1/50 x DATA(2, -2, 1)
+
+ - 1/25 x DATA(1, 1, -1) + 1/25 x DATA(-1, 1, 1) + 1/50 x DATA(2, 2, 2)
+
+ + 1/50 x DATA(2, -2, -2) + 1/25 x DATA(-1, 1, -1) - 1/25 x DATA(1, -2, -2)
+
+ + 1/50 x DATA(2, 1, 2) + 1/25 x DATA(-1, 2, 2) + 1/25 x DATA(-1, -2, -2)
+
+ + 1/25 x DATA(-1, 1, 2) - 1/50 x DATA(-2, -2, -2) - 1/25 x DATA(1, -1, 2)
+
+ + 1/50 x DATA(2, -1, 2) + 1/25 x DATA(-1, -1, 2) + 1/50 x DATA(2, 2, 1)
+
+ - 1/50 x DATA(-2, 2, -2) + 1/50 x DATA(2, 1, -2) - 1/25 x DATA(1, 1, -2)
+
+ + 1/25 x DATA(-1, 1, -2) - 1/50 x DATA(-2, 1, -2) + 1/50 x DATA(2, -1, -2)
+
+ - 1/25 x DATA(1, -1, -2) + 1/25 x DATA(-1, -1, -2)
+
+ - 1/50 x DATA(-2, -1, 1) - 1/50 x DATA(-2, 1, 1) - 1/50 x DATA(-2, 2, 1)
+
+ - 1/50 x DATA(-2, -2, 2) + 1/350 z DATA(1, 1, -1) - 1/350 z DATA(-1, 1, 1)
+
+ + 2/175 y DATA(-2, 2, -1) - 1/350 y DATA(1, 1, -1)
+
+ - 1/350 y DATA(-1, 1, 1) + 1/350 y DATA(1, -1, 1)
+
+ + 1/350 y DATA(-1, -1, 1) + 1/175 y DATA(-1, -2, 2)
+
+ + 1/175 y DATA(1, -2, 2) - 1/175 y DATA(-2, -1, 2)
+
+ - 2/175 y DATA(2, -2, 2) + 1/175 y DATA(-2, 1, 2) - 1/350 y DATA(1, 1, 1)
+
+ + 2/175 y DATA(-2, 2, 2) + 1/350 y DATA(-1, -1, -1)
+
+ - 1/175 y DATA(1, 2, -1) + 1/175 y DATA(2, 1, -1)
+
+ - 1/175 y DATA(-1, 2, -1) - 1/175 y DATA(2, -1, -1)
+
+ + 1/175 y DATA(2, 1, 1) - 1/175 y DATA(-1, 2, 1) - 1/175 y DATA(1, 2, 1)
+
+ - 1/175 y DATA(2, -1, 1) + 1/350 y DATA(1, -1, -1)
+
+ + 2/175 y DATA(2, 2, -1) - 1/175 y DATA(1, 2, 2)
+
+ - 1/175 y DATA(-2, -1, -2) + 2/175 y DATA(2, 2, 2)
+
+ - 2/175 y DATA(2, -2, -2) - 1/350 y DATA(-1, 1, -1)
+
+ + 1/175 y DATA(1, -2, -2) + 1/175 y DATA(2, 1, 2) - 1/175 y DATA(-1, 2, 2)
+
+ + 1/175 y DATA(-1, -2, -2) - 1/350 y DATA(-1, 1, 2)
+
+ 2
+ - 2/175 y DATA(-2, -2, -2) + 2/245 z DATA(2, -1, -2)
+
+ 2 2
+ - 1/245 z DATA(1, -1, -2) - 1/245 z DATA(-1, -1, -2)
+
+ 2 2
+ - 1/245 z DATA(2, -2, -1) + 1/490 z DATA(1, -2, -1)
+
+ 2 2
+ + 1/490 z DATA(-1, -2, -1) - 1/245 z DATA(-2, -2, -1)
+
+ 2 2
+ + 2/245 z DATA(2, 2, -2) - 1/245 z DATA(1, 2, -2)
+
+ 2 2
+ - 1/245 z DATA(-1, 2, -2) - 1/245 z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/245 z DATA(-2, -1, -1) - 1/245 z DATA(-2, 2, -1)
+
+ 2 2
+ - 1/245 z DATA(-2, -2, 1) + 1/490 z DATA(-1, -2, 1)
+
+ 2 2
+ + 1/490 z DATA(1, -2, 1) - 1/245 z DATA(1, 1, 2)
+
+ 2 2
+ - 1/245 z DATA(2, -2, 1) - 1/245 z DATA(-2, -1, 1)
+
+ 2 2
+ - 1/245 z DATA(-2, 1, 1) - 1/245 z DATA(-2, 2, 1)
+
+ 2 2
+ + 2/245 z DATA(-2, -2, 2) - 1/245 z DATA(2, 1, -1)
+
+ 2 2
+ + 1/490 z DATA(-1, 2, -1) - 1/245 z DATA(2, -1, -1)
+
+ + 1/350 y DATA(1, -1, 2) - 1/175 y DATA(2, -1, 2)
+
+ + 1/350 y DATA(-1, -1, 2) + 2/175 y DATA(2, 2, 1)
+
+ + 2/175 y DATA(-2, 2, -2) + 1/175 y DATA(2, 1, -2)
+
+ - 1/350 y DATA(1, 1, -2) - 1/350 y DATA(-1, 1, -2)
+
+ + 1/175 y DATA(-2, 1, -2) - 1/175 y DATA(2, -1, -2)
+
+ + 1/350 y DATA(1, -1, -2) + 1/350 y DATA(-1, -1, -2)
+
+ - 2/175 y DATA(2, -2, -1) + 1/175 y DATA(1, -2, -1)
+
+ + 1/175 y DATA(-1, -2, -1) - 2/175 y DATA(-2, -2, -1)
+
+ + 2/175 y DATA(2, 2, -2) - 1/175 y DATA(1, 2, -2)
+
+ - 1/175 y DATA(-1, 2, -2) + 1/175 y DATA(-2, 1, -1)
+
+ - 1/175 y DATA(-2, -1, -1) - 2/175 y DATA(-2, -2, 1)
+
+ + 1/175 y DATA(-1, -2, 1) + 1/175 y DATA(1, -2, 1) - 1/350 y DATA(1, 1, 2)
+
+ - 2/175 y DATA(2, -2, 1) - 1/175 y DATA(-2, -1, 1)
+
+ + 1/175 y DATA(-2, 1, 1) + 2/175 y DATA(-2, 2, 1)
+
+ - 2/175 y DATA(-2, -2, 2) - 1/175 z DATA(-1, 2, 2)
+
+ - 1/175 z DATA(-1, 1, 2) - 2/175 z DATA(-2, -2, -2)
+
+ - 1/175 z DATA(1, -1, 2) + 2/175 z DATA(2, -1, 2)
+
+ - 1/175 z DATA(-1, -1, 2) + 1/175 z DATA(2, 2, 1)
+
+ - 2/175 z DATA(-2, 2, -2) - 2/175 z DATA(2, 1, -2)
+
+ + 1/175 z DATA(1, 1, -2) + 1/175 z DATA(-1, 1, -2)
+
+ - 2/175 z DATA(-2, 1, -2) - 2/175 z DATA(2, -1, -2)
+
+ + 1/175 z DATA(1, -1, -2) + 1/175 z DATA(-1, -1, -2)
+
+ - 1/175 z DATA(2, -2, -1) + 1/350 z DATA(1, -2, -1)
+
+ + 1/350 z DATA(-1, -2, -1) - 1/175 z DATA(-2, -2, -1)
+
+ - 2/175 z DATA(2, 2, -2) + 1/175 z DATA(1, 2, -2)
+
+ + 1/175 z DATA(-1, 2, -2) - 1/175 z DATA(-2, 1, -1)
+
+ - 1/175 z DATA(-2, -1, -1) - 1/175 z DATA(-2, 2, -1)
+
+ + 1/175 z DATA(-2, -2, 1) - 1/350 z DATA(-1, -2, 1)
+
+ - 1/350 z DATA(1, -2, 1) - 1/175 z DATA(1, 1, 2) + 1/175 z DATA(2, -2, 1)
+
+ + 1/175 z DATA(-2, -1, 1) + 1/175 z DATA(-2, 1, 1)
+
+ + 1/175 z DATA(-2, 2, 1) + 2/175 z DATA(-2, -2, 2)
+
+ 2
+ + 1/175 z DATA(-1, -2, -2) - 1/245 y DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 y DATA(2, -1, -2) + 1/490 y DATA(1, -1, -2)
+
+ 2 2
+ + 1/490 y DATA(-1, -1, -2) + 2/245 y DATA(2, -2, -1)
+
+ 2 2
+ - 1/245 y DATA(1, -2, -1) - 1/245 y DATA(-1, -2, -1)
+
+ 2 2
+ + 2/245 y DATA(-2, -2, -1) + 2/245 y DATA(2, 2, -2)
+
+ 2 2
+ - 1/245 y DATA(1, 2, -2) - 1/245 y DATA(-1, 2, -2)
+
+ 2 2
+ - 1/245 y DATA(-2, 1, -1) - 1/245 y DATA(-2, -1, -1)
+
+ 2 2
+ + 2/245 y DATA(-2, 2, -1) + 2/245 y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 y DATA(-1, -2, 1) - 1/245 y DATA(1, -2, 1)
+
+ 2 2
+ + 1/490 y DATA(1, 1, 2) + 2/245 y DATA(2, -2, 1)
+
+ 2 2
+ - 1/245 y DATA(-2, -1, 1) - 1/245 y DATA(-2, 1, 1)
+
+ 2 2
+ + 2/245 y DATA(-2, 2, 1) + 2/245 y DATA(-2, -2, 2)
+
+ - 1/350 z DATA(1, -1, 1) - 1/350 z DATA(-1, -1, 1)
+
+ - 1/175 z DATA(-1, -2, 2) - 1/175 z DATA(1, -2, 2)
+
+ + 2/175 z DATA(-2, -1, 2) + 2/175 z DATA(2, -2, 2)
+
+ + 2/175 z DATA(-2, 1, 2) - 1/350 z DATA(1, 1, 1) + 2/175 z DATA(-2, 2, 2)
+
+ + 1/350 z DATA(-1, -1, -1) + 1/350 z DATA(1, 2, -1)
+
+ - 1/175 z DATA(2, 1, -1) + 1/350 z DATA(-1, 2, -1)
+
+ - 1/175 z DATA(2, -1, -1) + 1/175 z DATA(2, 1, 1) - 1/350 z DATA(-1, 2, 1)
+
+ - 1/350 z DATA(1, 2, 1) + 1/175 z DATA(2, -1, 1) + 1/350 z DATA(1, -1, -1)
+
+ - 1/175 z DATA(2, 2, -1) - 1/175 z DATA(1, 2, 2)
+
+ - 2/175 z DATA(-2, -1, -2) + 2/175 z DATA(2, 2, 2)
+
+ - 2/175 z DATA(2, -2, -2) + 1/350 z DATA(-1, 1, -1)
+
+ + 1/175 z DATA(1, -2, -2) + 2/175 z DATA(2, 1, 2)
+
+ + 1/175 y z DATA(2, 1, 2) + 1/700 y z DATA(-1, 1, -1)
+
+ + 2/175 y z DATA(2, -2, -2) + 1/350 y z DATA(1, 1, -2)
+
+ + 1/350 y z DATA(-1, 1, -2) + 1/175 y z DATA(-2, -1, -2)
+
+ + 2/175 y z DATA(2, 2, 2) - 1/700 y z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 2, -1) - 1/175 y z DATA(1, 2, 2)
+
+ - 1/350 y z DATA(1, 2, 1) - 1/350 y z DATA(2, -1, 1)
+
+ + 1/350 y z DATA(2, -1, -1) + 1/350 y z DATA(2, 1, 1)
+
+ - 1/350 y z DATA(-1, 2, 1) - 1/350 y z DATA(2, 1, -1)
+
+ - 1/700 y z DATA(-1, -1, -1) + 1/350 y z DATA(1, 2, -1)
+
+ + 2/175 y z DATA(-2, 2, 2) + 1/700 y z DATA(1, 1, -1)
+
+ + 1/175 y z DATA(-2, 1, 2) - 1/50 x y DATA(1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, 2) + 1/175 y z DATA(1, -2, 2)
+
+ + 1/175 y z DATA(-1, -2, 2) - 1/175 y z DATA(1, -2, -2)
+
+ - 1/175 y z DATA(2, -1, 2) + 2/175 y z DATA(-2, -2, -2)
+
+ + 1/700 y z DATA(-1, -1, 1) + 1/350 y z DATA(1, -1, 2)
+
+ - 1/175 y z DATA(-1, -2, -2) - 1/350 y z DATA(-1, 1, 2)
+
+ + 1/700 y z DATA(1, -1, 1) - 1/700 y z DATA(-1, 1, 1)
+
+ - 1/175 y z DATA(-1, 2, 2) - 1/175 y z DATA(-2, 1, -2)
+
+ 2
+ - 1/245 z DATA(2, 1, 1) - 1/100 x y DATA(-2, 1, -1)
+
+ + 1/175 y z DATA(2, -1, -2) - 1/700 y z DATA(1, 1, 1)
+
+ + 1/50 x y DATA(2, 2, -2) - 1/25 x y DATA(1, 2, -2)
+
+ + 1/50 x y DATA(-2, -2, -1) + 1/50 x y DATA(1, -1, -2)
+
+ - 1/50 x y DATA(-1, -1, -2) - 1/50 x y DATA(2, -2, -1)
+
+ + 1/25 x y DATA(1, -2, -1) - 1/25 x y DATA(-1, -2, -1)
+
+ - 1/100 x y DATA(-2, 1, -2) - 1/100 x y DATA(2, -1, -2)
+
+ - 1/50 x y DATA(1, 1, -2) + 1/50 x y DATA(-1, 1, -2)
+
+ 311
+ - 1/50 x y DATA(-2, 2, -2) + ----- DATA(-2, 0, 1)
+ 14700
+
+ + 1/100 x y DATA(2, 1, -2) + 1/50 x y DATA(1, -1, 2)
+
+ - 1/100 x y DATA(2, -1, 2) - 1/50 x y DATA(-1, -1, 2)
+
+ 191
+ + 1/50 x y DATA(2, 2, 1) + ----- DATA(-2, 1, 1)
+ 14700
+
+ - 1/25 x y DATA(-1, -2, -2) + 1/50 x y DATA(-1, 1, 2)
+
+ + 1/50 x y DATA(-2, -2, -2) + 1/50 x y DATA(-1, 1, -1)
+
+ + 1/25 x y DATA(1, -2, -2) + 1/100 x y DATA(2, 1, 2)
+
+ 169
+ + 1/25 x y DATA(-1, 2, 2) - ----- DATA(-2, 2, 1) + 1/50 x y DATA(2, 2, 2)
+ 14700
+
+ - 1/50 x y DATA(2, -2, -2) + 1/50 x y DATA(1, -1, -1)
+
+ + 1/50 x y DATA(2, 2, -1) - 1/25 x y DATA(1, 2, 2)
+
+ + 1/100 x y DATA(-2, -1, -2) - 1/25 x y DATA(1, 2, 1)
+
+ - 1/100 x y DATA(2, -1, 1) + 1/25 x y DATA(-1, 2, 1)
+
+ 529 2
+ - ----- DATA(-2, -2, 2) - 1/245 z DATA(1, 2, 2)
+ 14700
+
+ - 1/100 x y DATA(2, -1, -1) + 1/25 x y DATA(-1, 2, -1)
+
+ + 1/100 x y DATA(2, 1, -1) - 1/25 x y DATA(1, 2, -1)
+
+ - 1/50 x y DATA(-1, -1, -1) - 1/50 x y DATA(-2, 2, 2)
+
+ - 1/50 x y DATA(1, 1, 1) - 1/100 x y DATA(-2, 1, 2)
+
+ - 1/50 x y DATA(2, -2, 2) + 1/100 x y DATA(-2, -1, 2)
+
+ + 1/25 x y DATA(1, -2, 2) - 1/25 x y DATA(-1, -2, 2)
+
+ - 1/50 x y DATA(-1, -1, 1) + 1/50 x y DATA(1, -1, 1)
+
+ + 1/50 x y DATA(-1, 1, 1) + 1/25 x y DATA(-1, 2, 0)
+
+ + 1/100 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=1937899580, alloc=15136044, time=284.99
+bytes used=1938899800, alloc=15136044, time=285.07
+bytes used=1939970600, alloc=15136044, time=285.16
+bytes used=1940970944, alloc=15136044, time=285.25
+bytes used=1941990008, alloc=15136044, time=285.33
+bytes used=1943074524, alloc=15136044, time=285.42
+bytes used=1944074664, alloc=15136044, time=285.50
+bytes used=1945074812, alloc=15136044, time=285.58
+bytes used=1946075228, alloc=15136044, time=285.67
+bytes used=1947075492, alloc=15136044, time=285.76
+bytes used=1948075864, alloc=15136044, time=285.85
+bytes used=1949075984, alloc=15136044, time=285.94
+bytes used=1950116656, alloc=15136044, time=286.03
+bytes used=1951116780, alloc=15136044, time=286.12
+bytes used=1952128196, alloc=15136044, time=286.22
+bytes used=1953145932, alloc=15136044, time=286.32
+bytes used=1954147356, alloc=15136044, time=286.41
+bytes used=1955147540, alloc=15136044, time=286.51
+bytes used=1956156816, alloc=15136044, time=286.61
+bytes used=1957168468, alloc=15136044, time=286.71
+bytes used=1958168628, alloc=15136044, time=286.82
+bytes used=1959168744, alloc=15136044, time=286.92
+bytes used=1960183744, alloc=15136044, time=287.03
+bytes used=1961184920, alloc=15136044, time=287.14
+bytes used=1962195140, alloc=15136044, time=287.25
+bytes used=1963203884, alloc=15136044, time=287.34
+bytes used=1964221712, alloc=15136044, time=287.41
+bytes used=1965239588, alloc=15136044, time=287.49
+bytes used=1966257376, alloc=15136044, time=287.57
+ 2 2
+[COEFF(-2, -2, -2) = 1/50 x z - 2/175 y + 1/50 x + 2/245 y + 1/50 x y
+
+ 529 2
+ - 1/50 x + 2/175 y z - ----- - 2/175 z + 2/245 z , COEFF(-1, -2, -2) =
+ 14700
+
+ 2 256 2
+ - 1/25 x z + 1/25 x - 1/175 y z - 1/245 y + ---- - 2/25 x + 1/175 y
+ 3675
+
+ 2
+ - 1/245 z + 1/175 z - 1/25 x y, COEFF(0, -2, -2) =
+
+ 2 2 2 33
+ 2/175 z - 2/175 y z - 2/245 y + 3/25 x - 2/245 z + 2/175 y - ---,
+ 490
+
+ 256
+ COEFF(1, -2, -2) = ---- - 1/25 x + 1/175 z + 1/175 y + 1/25 x y - 1/175 y z
+ 3675
+
+ 2 2 2
+ - 1/245 z - 2/25 x - 1/245 y + 1/25 x z, COEFF(2, -2, -2) = - 1/50 x y
+
+ 2 2 2 529
+ - 2/175 z - 2/175 y + 1/50 x + 2/245 y + 2/245 z + 1/50 x - -----
+ 14700
+
+ - 1/50 x z + 2/175 y z, COEFF(-2, -1, -2) = 1/50 x z - 2/175 z - 1/50 x
+
+ 2 169 2 2
+ + 1/100 x y + 1/175 y z - 1/245 y - 1/175 y - ----- + 2/245 z + 1/50 x ,
+ 14700
+
+ 2 2 2
+ COEFF(-1, -1, -2) = - 1/25 x z - 1/50 x y - 2/25 x + 1/490 y - 1/245 z
+
+ 211
+ + 1/175 z - 1/350 y z + ---- + 1/350 y + 1/25 x, COEFF(0, -1, -2) =
+ 3675
+
+ 2 2 2
+ - 9/98 + 3/25 x - 2/245 z + 1/175 y + 1/245 y + 2/175 z - 1/175 y z,
+
+ 211
+ COEFF(1, -1, -2) = 1/25 x z + ---- - 1/25 x + 1/350 y - 1/350 y z
+ 3675
+
+ 2 2 2
+ + 1/490 y - 2/25 x - 1/245 z + 1/50 x y + 1/175 z, COEFF(2, -1, -2) =
+
+ 2 169 2
+ - 1/50 x z - 2/175 z + 1/50 x + 1/50 x - ----- - 1/175 y + 2/245 z
+ 14700
+
+ 2
+ - 1/245 y + 1/175 y z - 1/100 x y, COEFF(-2, 0, -2) =
+
+ 2 2 2
+ - 2/175 z - 2/245 y + 2/245 z + 1/50 x + 1/50 x z - 1/50 x - 1/300,
+
+ COEFF(-1, 0, -2) =
+
+ 2 2 2
+ 1/175 z + 1/25 x - 2/25 x - 1/245 z + 4/75 - 1/25 x z + 1/245 y ,
+
+ 2 2 2
+ COEFF(0, 0, -2) = - 2/245 z + 2/175 z + 2/245 y - 1/10 + 3/25 x ,
+
+ COEFF(1, 0, -2) =
+
+ 2 2 2
+ - 1/25 x - 2/25 x + 1/25 x z + 1/245 y + 4/75 + 1/175 z - 1/245 z ,
+
+ COEFF(2, 0, -2) =
+
+ 2 2 2
+ 2/245 z + 1/50 x + 1/50 x - 1/300 - 2/245 y - 1/50 x z - 2/175 z,
+
+ 2 169 2 2
+ COEFF(-2, 1, -2) = 1/175 y - 1/245 y - ----- + 2/245 z + 1/50 x - 1/50 x
+ 14700
+
+ - 1/100 x y - 1/175 y z - 2/175 z + 1/50 x z, COEFF(-1, 1, -2) = 1/25 x
+
+ 2 211 2
+ - 2/25 x + ---- - 1/350 y + 1/175 z - 1/25 x z + 1/50 x y + 1/490 y
+ 3675
+
+ 2
+ - 1/245 z + 1/350 y z, COEFF(0, 1, -2) =
+
+ 2 2 2
+ 1/175 y z - 9/98 + 3/25 x - 1/175 y + 1/245 y - 2/245 z + 2/175 z,
+
+ 211 2
+ COEFF(1, 1, -2) = - 1/50 x y + ---- - 2/25 x + 1/25 x z + 1/175 z
+ 3675
+
+ 2 2
+ - 1/245 z + 1/350 y z - 1/350 y + 1/490 y - 1/25 x, COEFF(2, 1, -2) =
+
+ 2 2 169 2
+ - 1/50 x z + 1/50 x - 1/245 y + 1/175 y + 1/50 x - ----- + 2/245 z
+ 14700
+
+ 2
+ - 1/175 y z - 2/175 z + 1/100 x y, COEFF(-2, 2, -2) = 1/50 x + 1/50 x z
+
+ 529 2
+ - 1/50 x - 1/50 x y - 2/175 y z + 2/175 y - ----- + 2/245 z - 2/175 z
+ 14700
+
+ 2 2 256
+ + 2/245 y , COEFF(-1, 2, -2) = - 1/245 y + ---- - 1/25 x z + 1/175 y z
+ 3675
+
+ 2 2
+ + 1/25 x y - 1/175 y - 1/245 z + 1/175 z + 1/25 x - 2/25 x ,
+
+ COEFF(0, 2, -2) =
+
+ 2 33 2 2
+ 3/25 x - --- + 2/175 y z + 2/175 z - 2/245 y - 2/245 z - 2/175 y,
+ 490
+
+ 256 2 2
+ COEFF(1, 2, -2) = 1/175 y z - 1/175 y + ---- - 1/245 z - 2/25 x
+ 3675
+
+ 2
+ - 1/245 y + 1/25 x z + 1/175 z - 1/25 x y - 1/25 x, COEFF(2, 2, -2) =
+
+ 2 529 2
+ - 2/175 y z + 2/245 z + 1/50 x y - ----- + 1/50 x + 2/175 y - 1/50 x z
+ 14700
+
+ 2
+ + 2/245 y - 2/175 z + 1/50 x, COEFF(-2, -2, -1) = 1/100 x z - 1/50 x
+
+ 2 2 169 2
+ + 1/50 x y + 2/245 y - 1/175 z + 1/175 y z - 1/245 z - ----- + 1/50 x
+ 14700
+
+ 2
+ - 2/175 y, COEFF(-1, -2, -1) = 1/350 z - 1/50 x z + 1/175 y - 1/245 y
+
+ 2 211 2
+ - 1/350 y z - 2/25 x + 1/25 x + ---- - 1/25 x y + 1/490 z ,
+ 3675
+
+ COEFF(0, -2, -1) =
+
+ 2 2 2
+ 2/175 y - 2/245 y + 3/25 x - 9/98 - 1/175 y z + 1/175 z + 1/245 z ,
+
+ 2 2
+ COEFF(1, -2, -1) = - 1/245 y - 1/350 y z + 1/350 z + 1/175 y + 1/490 z
+
+ 2 211
+ - 1/25 x - 2/25 x + 1/50 x z + ---- + 1/25 x y, COEFF(2, -2, -1) =
+ 3675
+
+ 169 2 2
+ - ----- + 1/50 x - 1/100 x z - 2/175 y + 1/50 x - 1/175 z - 1/245 z
+ 14700
+
+ 2 2 2
+ + 1/175 y z + 2/245 y - 1/50 x y, COEFF(-2, -1, -1) = 1/50 x - 1/245 y
+
+ 2 191
+ + 1/100 x z + 1/100 x y - 1/175 z - 1/50 x - 1/245 z + 1/350 y z + -----
+ 14700
+
+ 2 2
+ - 1/175 y, COEFF(-1, -1, -1) = 1/490 z - 1/50 x z - 2/25 x + 1/25 x
+
+ 166 2
+ + 1/350 z + 1/350 y - 1/700 y z + ---- - 1/50 x y + 1/490 y ,
+ 3675
+
+ COEFF(0, -1, -1) =
+
+ 57 2 2 2
+ 1/175 z + 1/175 y - --- - 1/350 y z + 1/245 z + 3/25 x + 1/245 y ,
+ 490
+
+ 166
+ COEFF(1, -1, -1) = - 1/700 y z + 1/50 x y + 1/350 y + ---- - 1/25 x
+ 3675
+
+ 2 2 2
+ - 2/25 x + 1/350 z + 1/490 y + 1/490 z + 1/50 x z, COEFF(2, -1, -1) =
+
+ 2 191 2
+ - 1/100 x z - 1/245 y - 1/100 x y - 1/175 z + 1/50 x + ----- + 1/50 x
+ 14700
+
+ 2
+ - 1/245 z + 1/350 y z - 1/175 y, COEFF(-2, 0, -1) =
+
+ 2 311 2 2
+ - 2/245 y + 1/100 x z - 1/175 z + ----- - 1/245 z + 1/50 x - 1/50 x,
+ 14700
+
+ COEFF(-1, 0, -1) =
+
+ 2 2 151 2
+ 1/350 z + 1/245 y - 2/25 x + 1/25 x + ---- + 1/490 z - 1/50 x z,
+ 3675
+
+ 2 2 61 2
+ COEFF(0, 0, -1) = 3/25 x + 2/245 y - --- + 1/245 z + 1/175 z,
+ 490
+
+ COEFF(1, 0, -1) =
+
+ 151 2 2 2
+ 1/350 z + ---- + 1/490 z - 2/25 x - 1/25 x + 1/50 x z + 1/245 y ,
+ 3675
+
+ COEFF(2, 0, -1) =
+
+ 2 2 311 2
+ - 1/100 x z - 2/245 y + 1/50 x + ----- - 1/175 z - 1/245 z + 1/50 x,
+ 14700
+
+ 2 2 2
+ COEFF(-2, 1, -1) = 1/175 y + 1/50 x - 1/245 y - 1/245 z - 1/175 z
+
+ 191
+ + 1/100 x z + ----- - 1/100 x y - 1/350 y z - 1/50 x, COEFF(-1, 1, -1) =
+ 14700
+
+ 166 2
+ 1/25 x - 1/50 x z + 1/50 x y + 1/700 y z + ---- - 1/350 y + 1/490 z
+ 3675
+
+ 2 2
+ + 1/490 y + 1/350 z - 2/25 x , COEFF(0, 1, -1) =
+
+ 57 2 2 2
+ - --- - 1/175 y + 1/245 z + 1/350 y z + 3/25 x + 1/175 z + 1/245 y ,
+ 490
+
+ 2 2
+ COEFF(1, 1, -1) = 1/50 x z + 1/490 z - 1/25 x - 1/50 x y + 1/490 y
+
+ 166 2
+ + 1/350 z + ---- - 2/25 x - 1/350 y + 1/700 y z, COEFF(2, 1, -1) = 1/50 x
+ 3675
+
+ 191 2 2 2
+ - 1/350 y z - 1/100 x z + ----- - 1/245 y + 1/50 x + 1/175 y - 1/245 z
+ 14700
+
+ 2
+ + 1/100 x y - 1/175 z, COEFF(-2, 2, -1) = 2/175 y + 2/245 y - 1/175 z
+
+ 2 2 169
+ - 1/175 y z - 1/245 z - 1/50 x y + 1/100 x z + 1/50 x - 1/50 x - -----,
+ 14700
+
+ 2 2
+ COEFF(-1, 2, -1) = 1/25 x - 1/245 y - 2/25 x + 1/350 z + 1/25 x y
+
+ 2 211
+ - 1/175 y + 1/350 y z + 1/490 z + ---- - 1/50 x z, COEFF(0, 2, -1) =
+ 3675
+
+ 2 2 2
+ 1/175 y z + 3/25 x + 1/245 z + 1/175 z - 2/175 y - 9/98 - 2/245 y ,
+
+ 2 2
+ COEFF(1, 2, -1) = 1/490 z - 1/25 x y - 1/245 y + 1/350 y z - 1/175 y
+
+ 2 211
+ - 1/25 x + 1/350 z - 2/25 x + 1/50 x z + ----, COEFF(2, 2, -1) =
+ 3675
+
+ 2 169 2 2
+ - 1/175 y z - 1/175 z - 1/245 z - ----- + 2/175 y + 2/245 y + 1/50 x
+ 14700
+
+ - 1/100 x z + 1/50 x y + 1/50 x, COEFF(-2, -2, 0) =
+
+ 2 2 2
+ 2/245 y - 2/245 z - 1/300 - 2/175 y - 1/50 x + 1/50 x y + 1/50 x ,
+
+ COEFF(-1, -2, 0) =
+
+ 2 2 2
+ 1/25 x - 1/245 y + 4/75 + 1/175 y + 1/245 z - 1/25 x y - 2/25 x ,
+
+ 2 2 2
+ COEFF(0, -2, 0) = - 2/245 y + 3/25 x - 1/10 + 2/245 z + 2/175 y,
+
+ COEFF(1, -2, 0) =
+
+ 2 2 2
+ - 1/25 x - 1/245 y + 1/175 y - 2/25 x + 1/25 x y + 4/75 + 1/245 z ,
+
+ COEFF(2, -2, 0) =
+
+ 2 2 2
+ - 2/245 z + 1/50 x + 2/245 y - 1/300 - 1/50 x y - 2/175 y + 1/50 x,
+
+ COEFF(-2, -1, 0) =
+
+ 311 2 2 2
+ ----- - 2/245 z - 1/50 x - 1/175 y + 1/100 x y - 1/245 y + 1/50 x ,
+ 14700
+
+ COEFF(-1, -1, 0) =
+
+ 2 151 2 2
+ 1/350 y + 1/245 z + ---- + 1/25 x + 1/490 y - 1/50 x y - 2/25 x ,
+ 3675
+
+ 61 2 2 2
+ COEFF(0, -1, 0) = 1/175 y - --- + 3/25 x + 2/245 z + 1/245 y ,
+ 490
+
+ COEFF(1, -1, 0) =
+
+ 2 151 2 2
+ 1/490 y - 1/25 x + 1/350 y + 1/50 x y + ---- - 2/25 x + 1/245 z ,
+ 3675
+
+ COEFF(2, -1, 0) =
+
+ 2 2 2 311
+ - 2/245 z + 1/50 x - 1/245 y - 1/100 x y + 1/50 x - 1/175 y + -----,
+ 14700
+
+ 431 2 2 2
+ COEFF(-2, 0, 0) = ----- + 1/50 x - 2/245 y - 1/50 x - 2/245 z ,
+ 14700
+
+ 2 2 136 2
+ COEFF(-1, 0, 0) = 1/245 z + 1/245 y + ---- - 2/25 x + 1/25 x,
+ 3675
+
+ 2 2 2 13
+ COEFF(0, 0, 0) = 2/245 z + 3/25 x + 2/245 y - --,
+ 98
+
+ 2 2 2 136
+ COEFF(1, 0, 0) = 1/245 z - 2/25 x - 1/25 x + 1/245 y + ----,
+ 3675
+
+ 431 2 2 2
+ COEFF(2, 0, 0) = ----- - 2/245 z + 1/50 x + 1/50 x - 2/245 y ,
+ 14700
+
+ COEFF(-2, 1, 0) =
+
+ 2 311 2 2
+ 1/50 x - 1/100 x y + 1/175 y - 1/50 x + ----- - 2/245 z - 1/245 y ,
+ 14700
+
+ COEFF(-1, 1, 0) =
+
+ 2 2 151 2
+ - 1/350 y + 1/25 x - 2/25 x + 1/245 z + 1/50 x y + ---- + 1/490 y ,
+ 3675
+
+ 2 2 2 61
+ COEFF(0, 1, 0) = 2/245 z - 1/175 y + 1/245 y + 3/25 x - ---,
+ 490
+
+ COEFF(1, 1, 0) =
+
+ 151 2 2 2
+ - 1/350 y + ---- + 1/245 z + 1/490 y - 1/50 x y - 2/25 x - 1/25 x,
+ 3675
+
+ COEFF(2, 1, 0) =
+
+ 311 2 2 2
+ 1/50 x + ----- - 1/245 y + 1/175 y - 2/245 z + 1/50 x + 1/100 x y,
+ 14700
+
+ COEFF(-2, 2, 0) =
+
+ 2 2 2
+ - 1/300 - 1/50 x y - 2/245 z + 2/245 y + 2/175 y - 1/50 x + 1/50 x ,
+
+ COEFF(-1, 2, 0) =
+
+ 2 2 2
+ 1/245 z - 1/175 y + 1/25 x + 4/75 - 1/245 y - 2/25 x + 1/25 x y,
+
+ 2 2 2
+ COEFF(0, 2, 0) = 2/245 z - 2/175 y - 1/10 + 3/25 x - 2/245 y ,
+
+ COEFF(1, 2, 0) =
+
+ 2 2 2
+ - 2/25 x - 1/245 y - 1/175 y - 1/25 x y - 1/25 x + 1/245 z + 4/75,
+
+ COEFF(2, 2, 0) =
+
+ 2 2 2
+ 1/50 x y - 1/300 - 2/245 z + 2/245 y + 2/175 y + 1/50 x + 1/50 x ,
+
+ 2
+ COEFF(-2, -2, 1) = 1/50 x y - 1/100 x z + 1/50 x - 1/175 y z - 2/175 y
+
+ 2 2 169
+ + 2/245 y + 1/175 z - 1/50 x - 1/245 z - -----, COEFF(-1, -2, 1) =
+ 14700
+
+ 211 2
+ 1/50 x z + 1/350 y z - 1/350 z + 1/25 x + ---- + 1/175 y - 1/245 y
+ 3675
+
+ 2 2
+ + 1/490 z - 1/25 x y - 2/25 x , COEFF(0, -2, 1) =
+
+ 2 2 2
+ - 1/175 z + 1/245 z - 2/245 y + 3/25 x + 2/175 y - 9/98 + 1/175 y z,
+
+ 2
+ COEFF(1, -2, 1) = 1/25 x y - 1/50 x z + 1/175 y - 1/350 z - 2/25 x
+
+ 211 2 2
+ - 1/25 x + 1/350 y z + ---- - 1/245 y + 1/490 z , COEFF(2, -2, 1) =
+ 3675
+
+ 2 2
+ - 1/50 x y + 1/50 x + 2/245 y - 1/245 z - 1/175 y z - 2/175 y + 1/100 x z
+
+ 2 169 2
+ + 1/175 z + 1/50 x - -----, COEFF(-2, -1, 1) = - 1/245 y - 1/175 y
+ 14700
+
+ 191 2 2
+ + ----- - 1/350 y z - 1/100 x z - 1/245 z + 1/50 x - 1/50 x + 1/175 z
+ 14700
+
+ 166
+ + 1/100 x y, COEFF(-1, -1, 1) = - 1/50 x y + 1/50 x z + ---- + 1/700 y z
+ 3675
+
+ 2 2 2
+ + 1/25 x + 1/350 y - 1/350 z - 2/25 x + 1/490 y + 1/490 z ,
+
+ COEFF(0, -1, 1) =
+
+ 2 2 57 2
+ 1/350 y z + 1/175 y - 1/175 z + 1/245 y + 1/245 z - --- + 3/25 x ,
+ 490
+
+ 2 2 2 166
+ COEFF(1, -1, 1) = 1/490 y - 2/25 x + 1/490 z - 1/50 x z + ---- + 1/350 y
+ 3675
+
+ + 1/50 x y - 1/25 x + 1/700 y z - 1/350 z, COEFF(2, -1, 1) = - 1/175 y
+
+ 2 2 2
+ - 1/100 x y + 1/100 x z - 1/245 z - 1/245 y + 1/50 x + 1/50 x
+
+ 191
+ - 1/350 y z + 1/175 z + -----, COEFF(-2, 0, 1) =
+ 14700
+
+ 2 311 2 2
+ 1/50 x - 1/50 x - 1/100 x z + 1/175 z + ----- - 1/245 z - 2/245 y ,
+ 14700
+
+ COEFF(-1, 0, 1) =
+
+ 2 2 2 151
+ 1/25 x + 1/245 y + 1/50 x z + 1/490 z - 2/25 x - 1/350 z + ----,
+ 3675
+
+ 61 2 2 2
+ COEFF(0, 0, 1) = - --- + 3/25 x - 1/175 z + 2/245 y + 1/245 z ,
+ 490
+
+ COEFF(1, 0, 1) =
+
+ 2 2 151 2
+ 1/490 z + 1/245 y - 1/50 x z - 1/350 z - 1/25 x + ---- - 2/25 x ,
+ 3675
+
+ COEFF(2, 0, 1) =
+
+ 2 2 311 2
+ 1/175 z - 2/245 y - 1/245 z + ----- + 1/50 x + 1/50 x + 1/100 x z,
+ 14700
+
+ 191 2
+ COEFF(-2, 1, 1) = ----- + 1/175 y - 1/100 x z + 1/175 z + 1/50 x
+ 14700
+
+ 2 2
+ - 1/245 z - 1/100 x y - 1/50 x + 1/350 y z - 1/245 y , COEFF(-1, 1, 1) =
+
+ 2 166
+ - 1/350 z + 1/50 x y - 2/25 x + ---- - 1/700 y z - 1/350 y + 1/25 x
+ 3675
+
+ 2 2
+ + 1/50 x z + 1/490 y + 1/490 z , COEFF(0, 1, 1) =
+
+ 2 2 57 2
+ - 1/350 y z + 3/25 x + 1/245 z - --- + 1/245 y - 1/175 y - 1/175 z,
+ 490
+
+ 2
+ COEFF(1, 1, 1) = - 1/50 x y - 1/700 y z - 1/50 x z - 1/350 y + 1/490 y
+
+ 2 2 166
+ + 1/490 z - 1/25 x - 2/25 x + ---- - 1/350 z, COEFF(2, 1, 1) = 1/100 x y
+ 3675
+
+ 2 191 2 2
+ + 1/350 y z - 1/245 z + ----- + 1/50 x + 1/175 z + 1/175 y - 1/245 y
+ 14700
+
+ 169
+ + 1/50 x + 1/100 x z, COEFF(-2, 2, 1) = - 1/100 x z + 1/175 y z - -----
+ 14700
+
+ 2 2 2
+ - 1/50 x y - 1/245 z - 1/50 x + 1/50 x + 2/245 y + 1/175 z + 2/175 y,
+
+ 211
+ COEFF(-1, 2, 1) = 1/25 x y + 1/25 x + ---- - 1/350 z - 1/175 y + 1/50 x z
+ 3675
+
+ 2 2 2
+ + 1/490 z - 2/25 x - 1/245 y - 1/350 y z, COEFF(0, 2, 1) =
+
+ 2 2 2
+ 3/25 x + 1/245 z - 1/175 y z - 9/98 - 1/175 z - 2/175 y - 2/245 y ,
+
+ 2 2
+ COEFF(1, 2, 1) = - 1/350 z - 1/350 y z - 1/50 x z - 2/25 x + 1/490 z
+
+ 211 2
+ - 1/25 x - 1/25 x y - 1/175 y + ---- - 1/245 y , COEFF(2, 2, 1) = 1/50 x
+ 3675
+
+ 2 2 169
+ + 1/175 z + 1/50 x + 2/245 y - ----- + 1/50 x y + 1/100 x z + 1/175 y z
+ 14700
+
+ 2 2
+ + 2/175 y - 1/245 z , COEFF(-2, -2, 2) = - 2/175 y z - 1/50 x + 2/245 z
+
+ 2 2 529
+ + 2/245 y + 1/50 x y + 2/175 z + 1/50 x - 2/175 y - 1/50 x z - -----,
+ 14700
+
+ 2 2 2
+ COEFF(-1, -2, 2) = - 1/245 y + 1/25 x - 2/25 x - 1/245 z - 1/175 z
+
+ 256
+ - 1/25 x y + 1/25 x z + 1/175 y z + ---- + 1/175 y, COEFF(0, -2, 2) =
+ 3675
+
+ 2 2 33 2
+ 2/175 y - 2/245 z - 2/245 y + 2/175 y z - 2/175 z - --- + 3/25 x ,
+ 490
+
+ 2 2
+ COEFF(1, -2, 2) = - 1/25 x + 1/175 y z - 1/175 z - 2/25 x - 1/245 z
+
+ 2 256
+ + 1/25 x y - 1/25 x z - 1/245 y + ---- + 1/175 y, COEFF(2, -2, 2) =
+ 3675
+
+ 2 2 529
+ 2/175 z - 2/175 y + 2/245 y + 1/50 x z + 2/245 z - ----- + 1/50 x
+ 14700
+
+ 2 169
+ + 1/50 x - 1/50 x y - 2/175 y z, COEFF(-2, -1, 2) = - 1/50 x z - -----
+ 14700
+
+ 2 2 2
+ + 1/100 x y - 1/245 y - 1/175 y - 1/175 y z + 2/245 z + 1/50 x
+
+ 2
+ + 2/175 z - 1/50 x, COEFF(-1, -1, 2) = 1/350 y - 2/25 x - 1/50 x y
+
+ 2 2 211
+ + 1/350 y z - 1/245 z - 1/175 z + 1/490 y + 1/25 x + ---- + 1/25 x z,
+ 3675
+
+ COEFF(0, -1, 2) =
+
+ 2 2 2
+ 3/25 x + 1/175 y z + 1/175 y - 2/245 z - 9/98 - 2/175 z + 1/245 y ,
+
+ 2 2
+ COEFF(1, -1, 2) = 1/490 y - 1/245 z + 1/50 x y - 1/25 x z - 1/175 z
+
+ 211 2
+ + 1/350 y z - 1/25 x + ---- + 1/350 y - 2/25 x , COEFF(2, -1, 2) =
+ 3675
+
+ 2 2
+ - 1/245 y + 1/50 x z + 2/245 z - 1/100 x y + 2/175 z + 1/50 x - 1/175 y z
+
+ 2 169
+ + 1/50 x - ----- - 1/175 y, COEFF(-2, 0, 2) =
+ 14700
+
+ 2 2 2
+ 1/50 x - 1/50 x + 2/175 z + 2/245 z - 1/300 - 2/245 y - 1/50 x z,
+
+ COEFF(-1, 0, 2) =
+
+ 2 2 2
+ 1/25 x - 2/25 x + 4/75 - 1/245 z + 1/25 x z + 1/245 y - 1/175 z,
+
+ 2 2 2
+ COEFF(0, 0, 2) = - 2/245 z + 2/245 y + 3/25 x - 1/10 - 2/175 z,
+
+ COEFF(1, 0, 2) =
+
+ 2 2 2
+ - 1/25 x z + 4/75 + 1/245 y - 1/245 z - 1/25 x - 2/25 x - 1/175 z,
+
+ COEFF(2, 0, 2) =
+
+ 2 2 2
+ - 1/300 + 1/50 x z + 2/245 z + 2/175 z - 2/245 y + 1/50 x + 1/50 x ,
+
+ 2 2
+ COEFF(-2, 1, 2) = 1/175 y - 1/50 x + 2/175 z + 2/245 z - 1/245 y
+
+ 2 169
+ - 1/100 x y + 1/175 y z - 1/50 x z + 1/50 x - -----, COEFF(-1, 1, 2) =
+ 14700
+
+ 211 2 2
+ 1/50 x y - 1/175 z + ---- - 1/350 y z - 2/25 x + 1/490 y + 1/25 x
+ 3675
+
+ 2
+ - 1/245 z - 1/350 y + 1/25 x z, COEFF(0, 1, 2) =
+
+ 2 2 2
+ - 1/175 y z - 1/175 y + 3/25 x - 2/175 z - 2/245 z - 9/98 + 1/245 y ,
+
+ 211 2
+ COEFF(1, 1, 2) = - 1/25 x - 1/175 z - 1/25 x z + ---- - 1/245 z - 1/350 y
+ 3675
+
+ 2 2
+ - 2/25 x - 1/50 x y + 1/490 y - 1/350 y z, COEFF(2, 1, 2) = 2/175 z
+
+ 169 2 2
+ - ----- + 1/100 x y + 1/50 x + 1/50 x + 1/50 x z + 2/245 z + 1/175 y
+ 14700
+
+ 2 2
+ - 1/245 y + 1/175 y z, COEFF(-2, 2, 2) = - 1/50 x + 1/50 x - 1/50 x z
+
+ 529 2 2
+ + 2/175 y - ----- - 1/50 x y + 2/245 y + 2/175 y z + 2/175 z + 2/245 z ,
+ 14700
+
+ 2 256
+ COEFF(-1, 2, 2) = 1/25 x y - 1/175 y z - 2/25 x + 1/25 x + ---- + 1/25 x z
+ 3675
+
+ 2 2
+ - 1/245 z - 1/175 z - 1/175 y - 1/245 y , COEFF(0, 2, 2) =
+
+ 2 2 2 33
+ - 2/175 z - 2/175 y z - 2/175 y + 3/25 x - 2/245 z - 2/245 y - ---,
+ 490
+
+ 256 2 2 2
+ COEFF(1, 2, 2) = ---- - 1/25 x - 2/25 x - 1/245 y - 1/245 z - 1/25 x y
+ 3675
+
+ - 1/175 y z - 1/175 z - 1/25 x z - 1/175 y, COEFF(2, 2, 2) = 1/50 x z
+
+ 529 2
+ + 2/175 z - ----- + 1/50 x y + 1/50 x + 2/175 y z + 2/245 y + 2/175 y
+ 14700
+
+ 2 2
+ + 1/50 x + 2/245 z ]
+
+> print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c");
+bytes used=1967257552, alloc=15136044, time=287.66
+bytes used=1968258336, alloc=15136044, time=287.74
+bytes used=1969258540, alloc=15136044, time=287.82
+bytes used=1970259184, alloc=15136044, time=287.92
+bytes used=1971259372, alloc=15136044, time=288.69
+bytes used=1972259760, alloc=15136044, time=289.45
+bytes used=1973259972, alloc=15136044, time=290.21
+bytes used=1974260584, alloc=15136044, time=290.97
+bytes used=1975261268, alloc=15136044, time=291.71
+bytes used=1976261452, alloc=15136044, time=292.03
+bytes used=1977261780, alloc=15136044, time=292.12
+bytes used=1978262704, alloc=15136044, time=292.21
+bytes used=1979282244, alloc=15136044, time=292.29
+bytes used=1980306052, alloc=15136044, time=292.38
+bytes used=1981307304, alloc=15136044, time=292.47
+bytes used=1982307572, alloc=15136044, time=292.57
+bytes used=1983307812, alloc=15136044, time=293.28
+bytes used=1984307972, alloc=15136044, time=294.14
+bytes used=1985308176, alloc=15136044, time=294.42
+bytes used=1986308424, alloc=15136044, time=294.51
+bytes used=1987309100, alloc=15136044, time=294.58
+bytes used=1988309664, alloc=15136044, time=294.65
+bytes used=1989310008, alloc=15136044, time=294.72
+bytes used=1990310180, alloc=15136044, time=294.79
+bytes used=1991310504, alloc=15136044, time=294.86
+bytes used=1992311228, alloc=15136044, time=294.93
+bytes used=1993311684, alloc=15136044, time=295.01
+bytes used=1994314240, alloc=15136044, time=295.09
+bytes used=1995314404, alloc=15136044, time=295.16
+bytes used=1996314692, alloc=15136044, time=295.26
+bytes used=1997315516, alloc=15136044, time=295.39
+bytes used=1998315720, alloc=15136044, time=295.50
+bytes used=1999316468, alloc=15136044, time=295.63
+bytes used=2000317152, alloc=15136044, time=295.75
+bytes used=2001317308, alloc=15136044, time=295.86
+bytes used=2002319868, alloc=15136044, time=295.98
+bytes used=2003320020, alloc=15136044, time=296.12
+bytes used=2004332396, alloc=15136044, time=296.26
+bytes used=2005343668, alloc=15136044, time=296.39
+bytes used=2006345448, alloc=15136044, time=296.48
+bytes used=2007345664, alloc=15136044, time=297.37
+bytes used=2008345916, alloc=15136044, time=298.55
+bytes used=2009346068, alloc=15136044, time=299.04
+bytes used=2010346356, alloc=15136044, time=299.13
+bytes used=2011346612, alloc=15136044, time=299.21
+bytes used=2012346944, alloc=15136044, time=299.28
+bytes used=2013347244, alloc=15136044, time=299.36
+bytes used=2014347584, alloc=15136044, time=299.44
+bytes used=2015347780, alloc=15136044, time=299.52
+bytes used=2016348108, alloc=15136044, time=299.59
+bytes used=2017348384, alloc=15136044, time=299.67
+bytes used=2018348608, alloc=15136044, time=299.75
+bytes used=2019348792, alloc=15136044, time=299.83
+bytes used=2020349004, alloc=15136044, time=299.91
+bytes used=2021349260, alloc=15136044, time=300.10
+bytes used=2022352092, alloc=15136044, time=300.23
+bytes used=2023361600, alloc=15136044, time=300.36
+bytes used=2024362288, alloc=15136044, time=300.50
+bytes used=2025362564, alloc=15136044, time=301.20
+bytes used=2026362764, alloc=15136044, time=302.77
+bytes used=2027362948, alloc=15136044, time=303.32
+bytes used=2028363276, alloc=15136044, time=303.41
+bytes used=2029363536, alloc=15136044, time=303.49
+bytes used=2030363964, alloc=15136044, time=303.57
+bytes used=2031364284, alloc=15136044, time=303.65
+bytes used=2032364544, alloc=15136044, time=303.72
+bytes used=2033364772, alloc=15136044, time=303.80
+bytes used=2034364976, alloc=15136044, time=303.93
+bytes used=2035365128, alloc=15136044, time=304.16
+bytes used=2036365400, alloc=15136044, time=306.13
+bytes used=2037365612, alloc=15136044, time=306.91
+bytes used=2038365856, alloc=15136044, time=307.13
+bytes used=2039366312, alloc=15136044, time=307.21
+bytes used=2040366684, alloc=15136044, time=307.29
+bytes used=2041366968, alloc=15136044, time=307.37
+bytes used=2042367128, alloc=15136044, time=307.45
+bytes used=2043367388, alloc=15136044, time=307.53
+bytes used=2044367612, alloc=15136044, time=307.72
+bytes used=2045367808, alloc=15136044, time=308.79
+bytes used=2046367960, alloc=15136044, time=310.29
+bytes used=2047368364, alloc=15136044, time=310.80
+bytes used=2048368516, alloc=15136044, time=310.93
+bytes used=2049368724, alloc=15136044, time=311.01
+bytes used=2050368920, alloc=15136044, time=311.18
+>
+# d^2/dxdy
+> simplify( diff(interp_3d_cube_order4_smooth0,x,y) );
+bytes used=2051369188, alloc=15136044, time=311.27
+bytes used=2052369732, alloc=15136044, time=311.35
+bytes used=2053370236, alloc=15136044, time=311.43
+bytes used=2054371304, alloc=15136044, time=311.51
+bytes used=2055371464, alloc=15136044, time=311.60
+bytes used=2056371632, alloc=15136044, time=311.69
+bytes used=2057371796, alloc=15136044, time=311.77
+bytes used=2058372320, alloc=15136044, time=311.84
+ 137 137 289
+- ---- DATA(-1, 1, -1) + ---- DATA(1, 1, -1) + ----- DATA(-1, -1, 0)
+ 5250 5250 10500
+
+ 2 2 289
+ + 1/100 x DATA(-1, 1, 0) + 1/100 x DATA(1, -1, 0) - ----- DATA(1, -1, 0)
+ 10500
+
+ 289 137 137
+ - ----- DATA(-1, 1, 0) - ---- DATA(-1, 1, 1) - ---- DATA(1, -1, 1)
+ 10500 5250 5250
+
+ 137
+ + ---- DATA(-1, -1, 1) + 1/175 x DATA(1, -2, 0) + 1/175 x DATA(-2, 1, 0)
+ 5250
+
+ - 1/350 x DATA(-1, 1, 0) + 1/175 x DATA(2, 1, 0) + 1/350 x DATA(1, -1, 0)
+
+ - 1/175 x DATA(-1, 2, 0) + 2/175 x DATA(-2, 2, 0)
+
+ + 1/175 x DATA(-1, -2, 0) - 1/175 x DATA(-2, -1, 0)
+
+ - 2/175 x DATA(2, -2, 0) - 2/175 x DATA(-2, -2, 0)
+
+ 2 2
+ + 1/100 x DATA(-2, -2, 0) + 1/50 x DATA(1, -2, 0)
+
+ 2 2
+ - 1/200 x DATA(-2, 1, 0) - 1/100 x DATA(-2, 2, 0)
+
+ 2 2
+ - 1/50 x DATA(-1, -2, 0) + 1/200 x DATA(-2, -1, 0)
+
+ 2
+ - 1/100 x DATA(2, -2, 0) - 2/245 x y DATA(2, -1, 0)
+
+ 2 2
+ - 1/200 x DATA(2, -1, 0) + 1/50 x DATA(-1, 2, 0)
+
+ 2 2
+ - 1/100 x DATA(-1, -1, 0) - 1/50 x DATA(1, 2, 0)
+
+ 2 2 2
+ + 1/100 x DATA(2, 2, 0) + 1/200 x DATA(2, 1, 0) - 1/100 x DATA(1, 1, 0)
+
+ 107 289
+ - 1/175 x DATA(2, -1, 0) + ---- DATA(-1, -2, 2) + ----- DATA(1, 1, 0)
+ 7000 10500
+
+ 2 2
+ - 1/200 y DATA(-1, 2, 0) + 1/50 y DATA(2, -1, 0)
+
+ 2 2
+ + 1/100 y DATA(-2, -2, 0) + 1/200 y DATA(-1, -2, 0)
+
+ 2 2
+ - 1/50 y DATA(-2, -1, 0) - 1/100 y DATA(2, -2, 0)
+
+ 2 2
+ + 1/50 y DATA(-2, 1, 0) - 1/100 y DATA(-2, 2, 0)
+
+ 2 2
+ - 1/200 y DATA(1, -2, 0) + 1/100 y DATA(1, -1, 0)
+
+ 2 2
+ + 1/100 y DATA(-1, 1, 0) + 1/200 y DATA(1, 2, 0)
+
+ 2 2
+ + 1/100 y DATA(2, 2, 0) - 1/50 y DATA(2, 1, 0)
+
+ 2 2
+ - 1/100 y DATA(-1, -1, 0) - 1/100 y DATA(1, 1, 0)
+
+ - 1/350 y DATA(1, 1, 0) + 1/175 y DATA(1, 2, 0) + 2/175 y DATA(2, 2, 0)
+
+ - 1/175 y DATA(2, 1, 0) + 1/350 y DATA(-1, -1, 0) + 1/175 y DATA(1, -2, 0)
+
+ - 2/175 y DATA(-2, 2, 0) - 1/175 y DATA(-1, -2, 0)
+
+ + 1/175 y DATA(-2, -1, 0) + 2/175 y DATA(2, -2, 0)
+
+ - 2/175 y DATA(-2, -2, 0) + 1/350 y DATA(-1, 1, 0)
+
+ - 1/350 y DATA(1, -1, 0) + 1/175 y DATA(-2, 1, 0) - 1/175 y DATA(2, -1, 0)
+
+ - 1/175 y DATA(-1, 2, 0) - 1/175 x DATA(1, 2, 0) + 2/175 x DATA(2, 2, 0)
+
+ + 1/350 x DATA(-1, -1, 0) - 1/350 x DATA(1, 1, 0)
+
+ 2 2
+ + 1/350 z DATA(-1, 2, 0) + 1/350 z DATA(2, -1, 0)
+
+ 2 2
+ - 1/350 z DATA(-1, -2, 0) - 1/350 z DATA(-2, -1, 0)
+
+ 2 2
+ + 1/350 z DATA(1, -2, 0) + 1/350 z DATA(-2, 1, 0)
+
+ 2 2
+ + 1/175 z DATA(-2, 2, 0) + 1/175 z DATA(2, -2, 0)
+
+ 2 2
+ - 1/175 z DATA(-2, -2, 0) - 1/700 z DATA(-1, -1, 0)
+
+ 2 2 2
+ - 1/350 z DATA(1, 2, 0) - 1/175 z DATA(2, 2, 0) - 1/350 z DATA(2, 1, 0)
+
+ 2 2
+ + 1/700 z DATA(-1, 1, 0) + 1/700 z DATA(1, -1, 0)
+
+ 2
+ - 1/700 z DATA(1, 1, 0) + 2/245 x y DATA(1, 0, 1)
+
+ - 4/245 x y DATA(2, 0, -1) + 2/245 x y DATA(1, 0, -1)
+
+ + 2/245 x y DATA(-1, 0, -1) + 1/175 x DATA(0, -1, -2)
+
+ 107 107
+ - ---- DATA(1, -2, 2) + ---- DATA(-2, -1, 2) + 4/245 x y DATA(0, 0, -2)
+ 7000 7000
+
+ - 4/245 x y DATA(-2, 0, 0) + 2/175 x z DATA(0, 2, -2)
+
+ + 1/175 x z DATA(0, 1, -2) - 1/175 x z DATA(0, -1, -2)
+
+ - 1/175 x z DATA(0, -2, -1) - 1/175 x z DATA(0, 1, 2)
+
+ - 2/175 x z DATA(0, 2, 2) - 2/175 x z DATA(0, -2, -2)
+
+ + 1/175 x z DATA(0, -1, 2) + 1/175 x z DATA(0, 2, -1)
+
+ - 1/175 x z DATA(0, 2, 1) - 1/350 x z DATA(0, -1, -1)
+
+ + 2/175 x z DATA(0, -2, 2) - 1/350 x z DATA(0, 1, 1)
+
+ + 1/350 x z DATA(0, 1, -1) + 1/350 x z DATA(0, -1, 1)
+
+ 137
+ + 1/175 x z DATA(0, -2, 1) + ---- DATA(2, -2, 2)
+ 5250
+
+ - 4/245 x y DATA(-2, 0, 2) - 4/245 x y DATA(0, 2, -1)
+
+ - 4/245 x y DATA(0, 2, 1) + 1/245 x y DATA(1, -1, 0)
+
+ + 4/245 x y DATA(-2, 2, 0) - 4/245 x y DATA(0, 2, 0)
+
+ + 2/245 x y DATA(0, -1, -1) - 2/245 x y DATA(-2, 1, 0)
+
+ - 2/245 x y DATA(1, -2, 0) - 4/245 x y DATA(0, -2, 2)
+
+ + 2/245 x y DATA(0, 1, 0) - 2/245 x y DATA(-2, -1, 0)
+
+ + 2/245 x y DATA(0, 1, 1) - 2/245 x y DATA(-1, -2, 0)
+
+ + 2/245 x y DATA(0, 1, -1) + 2/245 x y DATA(0, -1, 0)
+
+ + 2/245 x y DATA(0, -1, 1) - 4/245 x y DATA(2, 0, 0)
+
+ + 4/245 x y DATA(0, 0, 0) + 2/245 x y DATA(1, 0, 0)
+
+ + 4/245 x y DATA(-2, -2, 0) + 4/245 x y DATA(2, -2, 0)
+
+ + 4/245 x y DATA(0, 0, 2) + 4/245 x y DATA(0, 0, 1)
+
+ - 4/245 x y DATA(0, -2, 1) + 4/245 x y DATA(0, 0, -1)
+
+ + 2/245 x y DATA(-1, 0, 0) - 4/245 x y DATA(-2, 0, -1)
+
+ - 4/245 x y DATA(-2, 0, 1) + 2/245 x y DATA(1, 0, -2)
+
+ + 2/245 x y DATA(-1, 0, -2) - 4/245 x y DATA(-2, 0, -2)
+
+ + 1/245 x y DATA(1, 1, 0) + 2/245 x y DATA(-1, 0, 2)
+
+ + 2/245 x y DATA(1, 0, 2) - 4/245 x y DATA(2, 0, 2)
+
+ - 4/245 x y DATA(2, 0, 1) - 4/245 x y DATA(2, 0, -2)
+
+ - 4/245 x y DATA(0, 2, -2) - 4/245 x y DATA(0, -2, 0)
+
+ - 2/245 x y DATA(2, 1, 0) + 4/245 x y DATA(2, 2, 0)
+
+ - 2/245 x y DATA(1, 2, 0) + 2/245 x y DATA(0, 1, -2)
+
+ + 1/245 x y DATA(-1, -1, 0) + 2/245 x y DATA(0, -1, -2)
+
+ - 4/245 x y DATA(0, -2, -1) + 1/245 x y DATA(-1, 1, 0)
+
+ + 2/245 x y DATA(0, 1, 2) - 4/245 x y DATA(0, 2, 2)
+
+ - 4/245 x y DATA(0, -2, -2) + 2/245 x y DATA(0, -1, 2)
+
+ + 2/175 y z DATA(-2, 0, 2) - 1/350 y z DATA(1, 0, 1)
+
+ + 1/175 y z DATA(2, 0, -1) + 1/350 y z DATA(1, 0, -1)
+
+ 107
+ - 1/350 y z DATA(-1, 0, -1) - ---- DATA(-2, 1, 2)
+ 7000
+
+ - 2/175 y z DATA(-2, 0, -2) + 1/175 y z DATA(-1, 0, 2)
+
+ - 1/175 y z DATA(1, 0, 2) - 2/175 y z DATA(2, 0, 2)
+
+ 137
+ - 1/175 y z DATA(2, 0, 1) + 2/175 y z DATA(2, 0, -2) + ---- DATA(1, 1, 1)
+ 5250
+
+ - 1/175 y z DATA(-2, 0, -1) + 1/175 y z DATA(-2, 0, 1)
+
+ 137
+ + 1/175 y z DATA(1, 0, -2) + ---- DATA(-2, 2, 2)
+ 5250
+
+ - 1/175 y z DATA(-1, 0, -2) + 2/245 x y DATA(-1, 0, 1)
+
+ - 2/175 x DATA(0, 2, -2) + 2/175 x DATA(0, -2, 0) - 2/175 x DATA(0, 2, 2)
+
+ - 1/175 y z DATA(2, -2, -1) - 1/350 y z DATA(1, -2, -1)
+
+ + 2/175 x DATA(0, -2, -2) + 1/175 x DATA(0, -1, 2)
+
+ + 1/350 y z DATA(-1, -2, -1) - 1/175 x DATA(0, 1, -2)
+
+ + 1/175 y z DATA(-2, -2, -1) - 2/175 y z DATA(2, 2, -2)
+
+ - 1/175 y z DATA(1, 2, -2) + 1/175 y z DATA(-1, 2, -2)
+
+ - 1/350 y z DATA(-2, 1, -1) - 1/350 y z DATA(-2, -1, -1)
+
+ + 1/175 y z DATA(-2, 2, -1) + 2/175 x DATA(0, -2, -1)
+
+ - 1/175 y z DATA(-2, -2, 1) - 2/175 x DATA(0, 2, -1)
+
+ 137
+ - 1/175 x DATA(0, 1, 2) + ---- DATA(-1, -1, -1) - 2/175 y DATA(2, 0, 0)
+ 5250
+
+ - 2/175 y DATA(2, 0, 1) - 2/175 y DATA(2, 0, -2) - 1/175 y DATA(1, 0, 2)
+
+ + 1/175 y DATA(-1, 0, 0) - 1/175 y DATA(1, 0, 0) + 2/175 y DATA(-2, 0, 0)
+
+ 167
+ + ---- DATA(1, 2, -1) + 1/175 y DATA(-1, 0, 1) - 2/175 x DATA(0, 2, 1)
+ 7000
+
+ 167
+ + ---- DATA(2, 1, -1) - 1/175 y DATA(1, 0, -1) + 2/175 y DATA(-2, 0, 2)
+ 7000
+
+ 167
+ - ---- DATA(-1, 2, -1) - 1/175 y DATA(1, 0, 1) - 2/175 y DATA(2, 0, -1)
+ 7000
+
+ + 1/175 y DATA(-1, 0, -1) + 1/175 y z DATA(2, -2, 1)
+
+ + 1/350 y z DATA(-2, -1, 1) + 1/350 y z DATA(-2, 1, 1)
+
+ 167
+ - ---- DATA(2, -1, -1) - 1/175 y z DATA(-2, 2, 1)
+ 7000
+
+ - 2/175 y z DATA(-2, -2, 2) + 1/350 y z DATA(-1, 0, 1)
+
+ 167 167 167
+ + ---- DATA(2, 1, 1) - ---- DATA(-1, 2, 1) + ---- DATA(1, 2, 1)
+ 7000 7000 7000
+
+ 167 137
+ - 1/350 y z DATA(-1, -1, -2) - ---- DATA(2, -1, 1) - ---- DATA(1, -1, -1)
+ 7000 5250
+
+ 187 17 187
+ + ---- DATA(1, 2, 0) - ---- DATA(2, 2, 0) + ---- DATA(2, 1, 0)
+ 7000 5250 7000
+
+ 187 187
+ - ---- DATA(-1, 2, 0) - ---- DATA(2, -1, 0) + 2/175 y DATA(-2, 0, -1)
+ 7000 7000
+
+ 47
+ + 1/175 y DATA(-1, 0, 2) + 2/175 y DATA(-2, 0, 1) - ---- DATA(2, 2, -1)
+ 5250
+
+ - 2/175 y DATA(2, 0, 2) - 1/175 y DATA(1, 0, -2) + 1/175 y DATA(-1, 0, -2)
+
+ 107 107
+ + 2/175 y DATA(-2, 0, -2) + ---- DATA(1, 2, 2) + ---- DATA(-2, -1, -2)
+ 7000 7000
+
+ 137 137 107
+ - ---- DATA(2, 2, 2) + ---- DATA(2, -2, -2) - ---- DATA(1, -2, -2)
+ 5250 5250 7000
+
+ 229 107 107
+ + ----- DATA(1, 1, 2) + ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2)
+ 10500 7000 7000
+
+ 107 229 137
+ + ---- DATA(-1, -2, -2) - ----- DATA(-1, 1, 2) - ---- DATA(-2, -2, -2)
+ 7000 10500 5250
+
+ 229 107
+ - ----- DATA(1, -1, 2) - ---- DATA(2, -1, 2) + 2/175 x DATA(0, -2, 2)
+ 10500 7000
+
+ - 2/175 x DATA(0, 2, 0) + 1/175 x DATA(0, -1, -1) + 1/175 x DATA(0, -1, 0)
+
+ - 1/175 x DATA(0, 1, 0) - 1/175 x DATA(0, 1, 1) - 1/175 x DATA(0, 1, -1)
+
+ 229
+ + 2/175 x DATA(0, -2, 1) + 1/175 x DATA(0, -1, 1) + ----- DATA(-1, -1, 2)
+ 10500
+
+ 47
+ - ---- DATA(2, 2, 1) + 1/175 x z DATA(-2, -1, -2)
+ 5250
+
+ 137
+ + 2/175 x z DATA(2, 2, 2) + ---- DATA(-2, 2, -2)
+ 5250
+
+ + 2/175 x z DATA(2, -2, -2) + 1/700 x z DATA(-1, 1, -1)
+
+ 107 229
+ + ---- DATA(2, 1, -2) + 1/350 y z DATA(-1, 2, -1) + ----- DATA(1, 1, -2)
+ 7000 10500
+
+ 229 107 107
+ - ----- DATA(-1, 1, -2) - ---- DATA(-2, 1, -2) - ---- DATA(2, -1, -2)
+ 10500 7000 7000
+
+ 229 229
+ - ----- DATA(1, -1, -2) + ----- DATA(-1, -1, -2)
+ 10500 10500
+
+ + 1/700 x z DATA(1, 1, -1) - 1/700 x z DATA(-1, 1, 1)
+
+ 47
+ + ---- DATA(2, -2, -1) + 1/700 x z DATA(1, -1, 1)
+ 5250
+
+ + 1/700 x z DATA(-1, -1, 1) + 1/175 x z DATA(-1, -2, 2)
+
+ 167
+ + 1/175 x z DATA(1, -2, 2) - ---- DATA(1, -2, -1)
+ 7000
+
+ - 1/175 x z DATA(-2, -1, 2) - 2/175 x z DATA(2, -2, 2)
+
+ + 1/175 x z DATA(-2, 1, 2) - 1/700 x z DATA(1, 1, 1)
+
+ + 2/175 x z DATA(-2, 2, 2) - 1/700 x z DATA(-1, -1, -1)
+
+ 167
+ + ---- DATA(-1, -2, -1) + 1/350 x z DATA(1, 2, -1)
+ 7000
+
+ 47
+ - 1/350 x z DATA(2, 1, -1) - ---- DATA(-2, -2, -1)
+ 5250
+
+ + 1/350 x z DATA(-1, 2, -1) + 1/350 x z DATA(2, -1, -1)
+
+ 137
+ + 1/350 x z DATA(2, 1, 1) - ---- DATA(2, 2, -2) - 1/350 x z DATA(-1, 2, 1)
+ 5250
+
+ 107
+ - 1/350 x z DATA(1, 2, 1) - 1/350 x z DATA(2, -1, 1) + ---- DATA(1, 2, -2)
+ 7000
+
+ - 1/700 x z DATA(1, -1, -1) - 1/175 x z DATA(2, 2, -1)
+
+ 107 167
+ - 1/175 x z DATA(1, 2, 2) - ---- DATA(-1, 2, -2) - ---- DATA(-2, 1, -1)
+ 7000 7000
+
+ 167 47 187
+ + ---- DATA(-2, -1, -1) + ---- DATA(-2, 2, -1) + ---- DATA(-1, -2, 0)
+ 7000 5250 7000
+
+ 17 187 17
+ - ---- DATA(-2, -2, 0) + ---- DATA(-2, -1, 0) + ---- DATA(2, -2, 0)
+ 5250 7000 5250
+
+ 187
+ - ---- DATA(1, -2, 0) - 1/175 x z DATA(-2, -2, 1)
+ 7000
+
+ + 1/350 x z DATA(-1, -2, 1) + 1/350 x z DATA(1, -2, 1)
+
+ 187
+ - 1/350 x z DATA(1, 1, 2) - ---- DATA(-2, 1, 0) - 1/175 x z DATA(2, -2, 1)
+ 7000
+
+ - 1/350 x z DATA(-2, -1, 1) + 1/350 x z DATA(-2, 1, 1)
+
+ + 1/175 x z DATA(-2, 2, 1) - 2/175 x z DATA(-2, -2, 2)
+
+ + 1/175 x z DATA(-2, -2, -1) - 2/175 x z DATA(2, 2, -2)
+
+ + 1/175 x z DATA(1, 2, -2) + 1/175 x z DATA(-1, 2, -2)
+
+ 17
+ + ---- DATA(-2, 2, 0) - 1/350 x z DATA(-2, 1, -1)
+ 5250
+
+ + 1/350 x z DATA(-2, -1, -1) - 1/175 x z DATA(-2, 2, -1)
+
+ 47
+ - 1/350 x z DATA(1, -1, -2) - ---- DATA(-2, -2, 1)
+ 5250
+
+ - 1/350 x z DATA(-1, -1, -2) + 1/175 x z DATA(2, -2, -1)
+
+ - 1/350 x z DATA(1, -2, -1) - 1/350 x z DATA(-1, -2, -1)
+
+ + 1/175 x z DATA(2, 2, 1) - 2/175 x z DATA(-2, 2, -2)
+
+ 167
+ - 1/175 x z DATA(2, 1, -2) + ---- DATA(-1, -2, 1)
+ 7000
+
+ + 1/350 x z DATA(1, 1, -2) + 1/350 x z DATA(-1, 1, -2)
+
+ - 1/175 x z DATA(-2, 1, -2) + 1/175 x z DATA(2, -1, -2)
+
+ 167
+ - ---- DATA(1, -2, 1) - 1/350 x z DATA(-1, 1, 2)
+ 7000
+
+ + 2/175 x z DATA(-2, -2, -2) + 1/350 x z DATA(1, -1, 2)
+
+ - 1/175 x z DATA(2, -1, 2) + 1/350 x z DATA(-1, -1, 2)
+
+ - 2/245 x y DATA(-1, -2, 1) - 2/245 x y DATA(1, -2, 1)
+
+ 47
+ + ---- DATA(2, -2, 1) + 1/245 x y DATA(1, 1, 2) + 4/245 x y DATA(2, -2, 1)
+ 5250
+
+ - 1/175 x z DATA(1, -2, -2) + 1/175 x z DATA(2, 1, 2)
+
+ - 1/175 x z DATA(-1, 2, 2) - 1/175 x z DATA(-1, -2, -2)
+
+ + 1/350 y z DATA(-1, -1, 2) + 1/175 y z DATA(2, 2, 1)
+
+ - 2/245 x y DATA(-2, -1, -1) + 2/175 y z DATA(-2, 2, -2)
+
+ 2
+ + 1/350 y z DATA(1, -1, -2) - 1/700 z DATA(1, 2, 1)
+
+ 2 2
+ + 1/700 z DATA(2, -1, 1) + 1/1400 z DATA(1, -1, -1)
+
+ + 1/175 y z DATA(2, 1, -2) + 4/245 x y DATA(-2, -2, 2)
+
+ + 4/245 x y DATA(-2, 2, 1) - 2/245 x y DATA(-2, 1, 1)
+
+ 2
+ - 2/245 x y DATA(-2, -1, 1) - 1/350 z DATA(2, 2, -1)
+
+ 2 2
+ + 1/350 z DATA(-2, -1, -2) + 1/175 z DATA(2, 2, 2)
+
+ 2 2
+ - 1/175 z DATA(2, -2, -2) + 1/1400 z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/350 z DATA(1, -2, -2) + 1/350 z DATA(2, 1, 2)
+
+ 2 2
+ - 1/350 z DATA(-1, 2, 2) + 1/350 z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/700 z DATA(-1, 1, 2) + 1/175 z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/700 z DATA(1, -1, 2) - 1/350 z DATA(2, -1, 2)
+
+ 2 2
+ + 1/700 z DATA(-1, -1, 2) - 1/350 z DATA(2, 2, 1)
+
+ 2 2
+ - 1/175 z DATA(-2, 2, -2) + 1/350 z DATA(2, 1, -2)
+
+ 2 2
+ + 1/700 z DATA(1, 1, -2) - 1/700 z DATA(-1, 1, -2)
+
+ 2 2
+ - 1/350 z DATA(-2, 1, -2) + 1/700 z DATA(-1, 2, 1)
+
+ 2 2
+ - 1/1400 z DATA(1, 1, -1) + 1/1400 z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/1400 z DATA(1, -1, 1) - 1/1400 z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/350 z DATA(-1, -2, 2) - 1/350 z DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 z DATA(-2, -1, 2) - 1/175 z DATA(2, -2, 2)
+
+ 2 2
+ - 1/350 z DATA(-2, 1, 2) - 1/1400 z DATA(1, 1, 1)
+
+ 2 2
+ - 1/175 z DATA(-2, 2, 2) - 1/1400 z DATA(-1, -1, -1)
+
+ 2 2
+ - 1/700 z DATA(1, 2, -1) - 1/100 x DATA(1, 1, -1)
+
+ 2 2
+ - 1/100 y DATA(1, 1, -1) + 1/100 y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 y DATA(1, -1, 1) - 1/100 y DATA(-1, -1, 1)
+
+ 2 2
+ + 1/200 y DATA(-1, -2, 2) - 1/200 y DATA(1, -2, 2)
+
+ 2 2
+ - 1/50 y DATA(-2, -1, 2) - 1/100 y DATA(2, -2, 2)
+
+ 2 2
+ + 1/50 y DATA(-2, 1, 2) - 1/100 y DATA(1, 1, 1)
+
+ 2 2
+ - 1/100 y DATA(-2, 2, 2) - 1/100 y DATA(-1, -1, -1)
+
+ 2 2
+ + 1/200 y DATA(1, 2, -1) - 1/50 y DATA(2, 1, -1)
+
+ 2 2
+ - 1/200 y DATA(-1, 2, -1) + 1/50 y DATA(2, -1, -1)
+
+ 2 2 2
+ - 1/50 y DATA(2, 1, 1) - 1/200 y DATA(-1, 2, 1) + 1/200 y DATA(1, 2, 1)
+
+ 2 2
+ + 1/50 y DATA(2, -1, 1) + 1/100 y DATA(1, -1, -1)
+
+ 2 2
+ + 1/100 y DATA(2, 2, -1) + 1/200 y DATA(1, 2, 2)
+
+ 2 2
+ - 1/50 y DATA(-2, -1, -2) + 1/100 y DATA(2, 2, 2)
+
+ 2 2
+ - 1/100 y DATA(2, -2, -2) + 1/100 y DATA(-1, 1, -1)
+
+ 2 2
+ - 1/200 y DATA(1, -2, -2) - 1/50 y DATA(2, 1, 2)
+
+ 2 2
+ - 1/200 y DATA(-1, 2, 2) + 1/200 y DATA(-1, -2, -2)
+
+ 2 2
+ + 1/100 y DATA(-1, 1, 2) + 1/100 y DATA(-2, -2, -2)
+
+ 2 2
+ + 1/100 y DATA(1, -1, 2) + 1/50 y DATA(2, -1, 2)
+
+ 2 2
+ - 1/100 y DATA(-1, -1, 2) + 1/100 y DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 y DATA(-2, 2, -2) - 1/50 y DATA(2, 1, -2)
+
+ 2 2
+ - 1/100 y DATA(1, 1, -2) + 1/100 y DATA(-1, 1, -2)
+
+ - 1/350 y z DATA(1, 1, 2) + 1/350 y z DATA(1, -2, 1)
+
+ + 4/245 x y DATA(-2, 2, -1) + 4/245 x y DATA(-2, -2, 1)
+
+ 167
+ - 1/350 y z DATA(-1, -2, 1) + ---- DATA(-2, -1, 1)
+ 7000
+
+ 2
+ - 2/245 x y DATA(-1, 2, -2) + 1/100 x DATA(-2, -2, -2)
+
+ 2 2
+ + 1/100 x DATA(1, -1, 2) - 1/200 x DATA(2, -1, 2)
+
+ 2 2
+ - 1/100 x DATA(-1, -1, 2) + 1/100 x DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 x DATA(-2, 2, -2) + 1/200 x DATA(2, 1, -2)
+
+ 2 2
+ - 1/100 x DATA(1, 1, -2) + 1/100 x DATA(-1, 1, -2)
+
+ 2 2
+ - 1/200 x DATA(-2, 1, -2) - 1/200 x DATA(2, -1, -2)
+
+ 2 2
+ + 1/100 x DATA(1, -1, -2) - 1/100 x DATA(-1, -1, -2)
+
+ 2 2
+ - 1/100 x DATA(2, -2, -1) + 1/50 x DATA(1, -2, -1)
+
+ 2 2
+ + 1/50 x DATA(1, -2, 2) + 1/100 x DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 x DATA(1, -1, 1) - 1/100 x DATA(-1, -1, 1)
+
+ 2 2
+ - 1/50 x DATA(-1, -2, 2) + 1/200 x DATA(-2, -1, 2)
+
+ 2 2
+ - 1/100 x DATA(2, -2, 2) - 1/200 x DATA(-2, 1, 2)
+
+ 2 2
+ - 1/100 x DATA(1, 1, 1) - 1/100 x DATA(-2, 2, 2)
+
+ 2 2
+ - 1/100 x DATA(-1, -1, -1) - 1/50 x DATA(1, 2, -1)
+
+ 2 2
+ + 1/200 x DATA(2, 1, -1) + 1/50 x DATA(-1, 2, -1)
+
+ 2 2
+ - 1/200 x DATA(2, -1, -1) + 1/200 x DATA(2, 1, 1)
+
+ 2 2 2
+ + 1/50 x DATA(-1, 2, 1) - 1/50 x DATA(1, 2, 1) - 1/200 x DATA(2, -1, 1)
+
+ 2 2
+ + 1/100 x DATA(1, -1, -1) + 1/100 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/50 x DATA(1, 2, 2) + 1/200 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 2, 2) - 1/100 x DATA(2, -2, -2)
+
+ 2 2
+ + 1/100 x DATA(-1, 1, -1) + 1/50 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/200 x DATA(2, 1, 2) + 1/50 x DATA(-1, 2, 2)
+
+ 2 2
+ - 1/50 x DATA(-1, -2, -2) + 1/100 x DATA(-1, 1, 2)
+
+ 2 2
+ - 1/50 x DATA(-1, -2, -1) + 1/100 x DATA(-2, -2, -1)
+
+ 2 2
+ + 1/100 x DATA(2, 2, -2) - 1/50 x DATA(1, 2, -2)
+
+ 2 2
+ + 1/50 x DATA(-1, 2, -2) - 1/200 x DATA(-2, 1, -1)
+
+ 2 2
+ + 1/200 x DATA(-2, -1, -1) - 1/100 x DATA(-2, 2, -1)
+
+ 2 2
+ + 1/100 x DATA(-2, -2, 1) - 1/50 x DATA(-1, -2, 1)
+
+ 2 2
+ + 1/50 x DATA(1, -2, 1) - 1/100 x DATA(1, 1, 2)
+
+ 2 2
+ - 1/100 x DATA(2, -2, 1) + 1/200 x DATA(-2, -1, 1)
+
+ 2 2
+ - 1/200 x DATA(-2, 1, 1) - 1/100 x DATA(-2, 2, 1)
+
+ 2
+ + 1/100 x DATA(-2, -2, 2) + 1/175 y z DATA(-2, -1, 2)
+
+ + 1/350 x DATA(-1, -1, 1) + 1/175 x DATA(-1, -2, 2)
+
+ + 1/175 x DATA(1, -2, 2) - 1/175 x DATA(-2, -1, 2)
+
+ - 2/175 x DATA(2, -2, 2) + 1/175 x DATA(-2, 1, 2) - 1/350 x DATA(1, 1, 1)
+
+ + 2/175 x DATA(-2, 2, 2) + 1/350 x DATA(-1, -1, -1)
+
+ - 1/175 x DATA(1, 2, -1) + 1/175 x DATA(2, 1, -1)
+
+ - 1/175 x DATA(-1, 2, -1) - 1/175 x DATA(2, -1, -1)
+
+ + 1/175 x DATA(2, 1, 1) - 1/175 x DATA(-1, 2, 1) - 1/175 x DATA(1, 2, 1)
+
+ - 1/175 x DATA(2, -1, 1) + 1/350 x DATA(1, -1, -1)
+
+ + 2/175 x DATA(2, 2, -1) - 1/175 x DATA(1, 2, 2)
+
+ - 1/175 x DATA(-2, -1, -2) + 1/350 x DATA(1, -1, 1)
+
+ - 2/175 x DATA(2, -2, -1) + 1/175 x DATA(1, -2, -1)
+
+ + 1/175 x DATA(-1, -2, -1) - 2/175 x DATA(-2, -2, -1)
+
+ + 2/175 x DATA(2, 2, -2) - 1/175 x DATA(1, 2, -2)
+
+ - 1/175 x DATA(-1, 2, -2) + 1/175 x DATA(-2, 1, -1)
+
+ - 1/175 x DATA(-2, -1, -1) + 2/175 x DATA(-2, 2, -1)
+
+ - 2/175 x DATA(-2, -2, 1) + 1/175 x DATA(-1, -2, 1)
+
+ + 1/175 x DATA(1, -2, 1) - 1/350 x DATA(1, 1, 2) - 2/175 x DATA(2, -2, 1)
+
+ - 1/350 x DATA(1, 1, -1) - 1/350 x DATA(-1, 1, 1) + 2/175 x DATA(2, 2, 2)
+
+ - 2/175 x DATA(2, -2, -2) - 1/350 x DATA(-1, 1, -1)
+
+ + 1/175 x DATA(1, -2, -2) + 1/175 x DATA(2, 1, 2) - 1/175 x DATA(-1, 2, 2)
+
+ + 1/175 x DATA(-1, -2, -2) - 1/350 x DATA(-1, 1, 2)
+
+ - 2/175 x DATA(-2, -2, -2) + 1/350 x DATA(1, -1, 2)
+
+ - 1/175 x DATA(2, -1, 2) + 1/350 x DATA(-1, -1, 2) + 2/175 x DATA(2, 2, 1)
+
+ + 2/175 x DATA(-2, 2, -2) + 1/175 x DATA(2, 1, -2)
+
+ - 1/350 x DATA(1, 1, -2) - 1/350 x DATA(-1, 1, -2)
+
+ + 1/175 x DATA(-2, 1, -2) - 1/175 x DATA(2, -1, -2)
+
+ + 1/350 x DATA(1, -1, -2) + 1/350 x DATA(-1, -1, -2)
+
+ - 1/175 x DATA(-2, -1, 1) + 1/175 x DATA(-2, 1, 1)
+
+ + 2/175 x DATA(-2, 2, 1) - 2/175 x DATA(-2, -2, 2)
+
+ - 1/1000 z DATA(1, 1, -1) - 1/1000 z DATA(-1, 1, 1)
+
+ - 2/175 y DATA(-2, 2, -1) - 1/350 y DATA(1, 1, -1)
+
+ + 1/350 y DATA(-1, 1, 1) - 1/350 y DATA(1, -1, 1)
+
+ + 1/350 y DATA(-1, -1, 1) - 1/175 y DATA(-1, -2, 2)
+
+ + 1/175 y DATA(1, -2, 2) + 1/175 y DATA(-2, -1, 2)
+
+ + 2/175 y DATA(2, -2, 2) + 1/175 y DATA(-2, 1, 2) - 1/350 y DATA(1, 1, 1)
+
+ - 2/175 y DATA(-2, 2, 2) + 1/350 y DATA(-1, -1, -1)
+
+ + 1/175 y DATA(1, 2, -1) - 1/175 y DATA(2, 1, -1)
+
+ - 1/175 y DATA(-1, 2, -1) - 1/175 y DATA(2, -1, -1)
+
+ - 1/175 y DATA(2, 1, 1) - 1/175 y DATA(-1, 2, 1) + 1/175 y DATA(1, 2, 1)
+
+ - 1/175 y DATA(2, -1, 1) - 1/350 y DATA(1, -1, -1)
+
+ + 2/175 y DATA(2, 2, -1) + 1/175 y DATA(1, 2, 2)
+
+ + 1/175 y DATA(-2, -1, -2) + 2/175 y DATA(2, 2, 2)
+
+ + 2/175 y DATA(2, -2, -2) + 1/350 y DATA(-1, 1, -1)
+
+ + 1/175 y DATA(1, -2, -2) - 1/175 y DATA(2, 1, 2) - 1/175 y DATA(-1, 2, 2)
+
+ - 1/175 y DATA(-1, -2, -2) + 1/350 y DATA(-1, 1, 2)
+
+ 2
+ - 2/175 y DATA(-2, -2, -2) - 1/350 z DATA(2, -1, -2)
+
+ 2 2
+ - 1/700 z DATA(1, -1, -2) + 1/700 z DATA(-1, -1, -2)
+
+ 2 2
+ + 1/350 z DATA(2, -2, -1) + 1/700 z DATA(1, -2, -1)
+
+ 2 2
+ - 1/700 z DATA(-1, -2, -1) - 1/350 z DATA(-2, -2, -1)
+
+ 2 2
+ + 1/175 z DATA(2, 2, -2) + 1/350 z DATA(1, 2, -2)
+
+ 2 2
+ - 1/350 z DATA(-1, 2, -2) + 1/700 z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/700 z DATA(-2, -1, -1) + 1/350 z DATA(-2, 2, -1)
+
+ 2 2
+ - 1/350 z DATA(-2, -2, 1) - 1/700 z DATA(-1, -2, 1)
+
+ 2 2
+ + 1/700 z DATA(1, -2, 1) + 1/700 z DATA(1, 1, 2)
+
+ 2 2
+ + 1/350 z DATA(2, -2, 1) - 1/700 z DATA(-2, -1, 1)
+
+ 2 2
+ + 1/700 z DATA(-2, 1, 1) + 1/350 z DATA(-2, 2, 1)
+
+ 2 2
+ + 1/175 z DATA(-2, -2, 2) - 1/700 z DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 z DATA(-1, 2, -1) + 1/700 z DATA(2, -1, -1)
+
+ - 1/350 y DATA(1, -1, 2) - 1/175 y DATA(2, -1, 2)
+
+ + 1/350 y DATA(-1, -1, 2) + 2/175 y DATA(2, 2, 1)
+
+ - 2/175 y DATA(-2, 2, -2) - 1/175 y DATA(2, 1, -2)
+
+ - 1/350 y DATA(1, 1, -2) + 1/350 y DATA(-1, 1, -2)
+
+ + 1/175 y DATA(-2, 1, -2) - 1/175 y DATA(2, -1, -2)
+
+ - 1/350 y DATA(1, -1, -2) + 1/350 y DATA(-1, -1, -2)
+
+ + 2/175 y DATA(2, -2, -1) + 1/175 y DATA(1, -2, -1)
+
+ - 1/175 y DATA(-1, -2, -1) - 2/175 y DATA(-2, -2, -1)
+
+ + 2/175 y DATA(2, 2, -2) + 1/175 y DATA(1, 2, -2)
+
+ - 1/175 y DATA(-1, 2, -2) + 1/175 y DATA(-2, 1, -1)
+
+ + 1/175 y DATA(-2, -1, -1) - 2/175 y DATA(-2, -2, 1)
+
+ - 1/175 y DATA(-1, -2, 1) + 1/175 y DATA(1, -2, 1) - 1/350 y DATA(1, 1, 2)
+
+ + 2/175 y DATA(2, -2, 1) + 1/175 y DATA(-2, -1, 1)
+
+ + 1/175 y DATA(-2, 1, 1) - 2/175 y DATA(-2, 2, 1)
+
+ - 2/175 y DATA(-2, -2, 2) - 1/250 z DATA(-1, 2, 2)
+
+ - 1/500 z DATA(-1, 1, 2) - 1/125 z DATA(-2, -2, -2)
+
+ - 1/500 z DATA(1, -1, 2) - 1/250 z DATA(2, -1, 2)
+
+ + 1/500 z DATA(-1, -1, 2) + 1/250 z DATA(2, 2, 1)
+
+ + 1/125 z DATA(-2, 2, -2) - 1/250 z DATA(2, 1, -2)
+
+ - 1/500 z DATA(1, 1, -2) + 1/500 z DATA(-1, 1, -2)
+
+ + 1/250 z DATA(-2, 1, -2) + 1/250 z DATA(2, -1, -2)
+
+ + 1/500 z DATA(1, -1, -2) - 1/500 z DATA(-1, -1, -2)
+
+ + 1/250 z DATA(2, -2, -1) + 1/500 z DATA(1, -2, -1)
+
+ - 1/500 z DATA(-1, -2, -1) - 1/250 z DATA(-2, -2, -1)
+
+ - 1/125 z DATA(2, 2, -2) - 1/250 z DATA(1, 2, -2)
+
+ + 1/250 z DATA(-1, 2, -2) + 1/500 z DATA(-2, 1, -1)
+
+ - 1/500 z DATA(-2, -1, -1) + 1/250 z DATA(-2, 2, -1)
+
+ + 1/250 z DATA(-2, -2, 1) + 1/500 z DATA(-1, -2, 1)
+
+ - 1/500 z DATA(1, -2, 1) + 1/500 z DATA(1, 1, 2) - 1/250 z DATA(2, -2, 1)
+
+ + 1/500 z DATA(-2, -1, 1) - 1/500 z DATA(-2, 1, 1)
+
+ - 1/250 z DATA(-2, 2, 1) + 1/125 z DATA(-2, -2, 2)
+
+ 2
+ - 1/250 z DATA(-1, -2, -2) + 1/50 y DATA(-2, 1, -2)
+
+ 2 2
+ + 1/50 y DATA(2, -1, -2) + 1/100 y DATA(1, -1, -2)
+
+ 2 2
+ - 1/100 y DATA(-1, -1, -2) - 1/100 y DATA(2, -2, -1)
+
+ 2 2
+ - 1/200 y DATA(1, -2, -1) + 1/200 y DATA(-1, -2, -1)
+
+ 2 2
+ + 1/100 y DATA(-2, -2, -1) + 1/100 y DATA(2, 2, -2)
+
+ 2 2
+ + 1/200 y DATA(1, 2, -2) - 1/200 y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/50 y DATA(-2, 1, -1) - 1/50 y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/100 y DATA(-2, 2, -1) + 1/100 y DATA(-2, -2, 1)
+
+ 2 2
+ + 1/200 y DATA(-1, -2, 1) - 1/200 y DATA(1, -2, 1)
+
+ 2 2
+ - 1/100 y DATA(1, 1, 2) - 1/100 y DATA(2, -2, 1)
+
+ 2 2
+ - 1/50 y DATA(-2, -1, 1) + 1/50 y DATA(-2, 1, 1)
+
+ 2 2
+ - 1/100 y DATA(-2, 2, 1) + 1/100 y DATA(-2, -2, 2)
+
+ - 1/1000 z DATA(1, -1, 1) + 1/1000 z DATA(-1, -1, 1)
+
+ + 1/250 z DATA(-1, -2, 2) - 1/250 z DATA(1, -2, 2)
+
+ + 1/250 z DATA(-2, -1, 2) - 1/125 z DATA(2, -2, 2)
+
+ - 1/250 z DATA(-2, 1, 2) + 1/1000 z DATA(1, 1, 1) - 1/125 z DATA(-2, 2, 2)
+
+ - 1/1000 z DATA(-1, -1, -1) - 1/500 z DATA(1, 2, -1)
+
+ - 1/500 z DATA(2, 1, -1) + 1/500 z DATA(-1, 2, -1)
+
+ + 1/500 z DATA(2, -1, -1) + 1/500 z DATA(2, 1, 1) - 1/500 z DATA(-1, 2, 1)
+
+ + 1/500 z DATA(1, 2, 1) - 1/500 z DATA(2, -1, 1)
+
+ + 1/1000 z DATA(1, -1, -1) - 1/250 z DATA(2, 2, -1)
+
+ + 1/250 z DATA(1, 2, 2) - 1/250 z DATA(-2, -1, -2) + 1/125 z DATA(2, 2, 2)
+
+ + 1/125 z DATA(2, -2, -2) + 1/1000 z DATA(-1, 1, -1)
+
+ + 1/250 z DATA(1, -2, -2) + 1/250 z DATA(2, 1, 2)
+
+ - 1/175 y z DATA(2, 1, 2) - 1/700 y z DATA(-1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, -2) + 1/350 y z DATA(1, 1, -2)
+
+ - 1/350 y z DATA(-1, 1, -2) - 1/175 y z DATA(-2, -1, -2)
+
+ + 2/175 y z DATA(2, 2, 2) + 1/700 y z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 2, -1) + 1/175 y z DATA(1, 2, 2)
+
+ + 1/350 y z DATA(1, 2, 1) - 1/350 y z DATA(2, -1, 1)
+
+ + 1/350 y z DATA(2, -1, -1) - 1/350 y z DATA(2, 1, 1)
+
+ - 1/350 y z DATA(-1, 2, 1) + 1/350 y z DATA(2, 1, -1)
+
+ - 1/700 y z DATA(-1, -1, -1) - 1/350 y z DATA(1, 2, -1)
+
+ - 2/175 y z DATA(-2, 2, 2) + 1/700 y z DATA(1, 1, -1)
+
+ + 1/175 y z DATA(-2, 1, 2) + 1/245 x y DATA(1, 1, -1)
+
+ + 2/175 y z DATA(2, -2, 2) + 1/175 y z DATA(1, -2, 2)
+
+ - 1/175 y z DATA(-1, -2, 2) - 1/175 y z DATA(1, -2, -2)
+
+ - 1/175 y z DATA(2, -1, 2) + 2/175 y z DATA(-2, -2, -2)
+
+ + 1/700 y z DATA(-1, -1, 1) - 1/350 y z DATA(1, -1, 2)
+
+ + 1/175 y z DATA(-1, -2, -2) + 1/350 y z DATA(-1, 1, 2)
+
+ - 1/700 y z DATA(1, -1, 1) + 1/700 y z DATA(-1, 1, 1)
+
+ - 1/175 y z DATA(-1, 2, 2) - 1/175 y z DATA(-2, 1, -2)
+
+ 2
+ - 1/700 z DATA(2, 1, 1) - 2/245 x y DATA(-2, 1, -1)
+
+ + 1/175 y z DATA(2, -1, -2) - 1/700 y z DATA(1, 1, 1)
+
+ + 4/245 x y DATA(2, 2, -2) - 2/245 x y DATA(1, 2, -2)
+
+ + 4/245 x y DATA(-2, -2, -1) + 1/245 x y DATA(1, -1, -2)
+
+ + 1/245 x y DATA(-1, -1, -2) + 4/245 x y DATA(2, -2, -1)
+
+ - 2/245 x y DATA(1, -2, -1) - 2/245 x y DATA(-1, -2, -1)
+
+ - 2/245 x y DATA(-2, 1, -2) - 2/245 x y DATA(2, -1, -2)
+
+ + 1/245 x y DATA(1, 1, -2) + 1/245 x y DATA(-1, 1, -2)
+
+ + 4/245 x y DATA(-2, 2, -2) - 2/245 x y DATA(2, 1, -2)
+
+ + 1/245 x y DATA(1, -1, 2) - 2/245 x y DATA(2, -1, 2)
+
+ + 1/245 x y DATA(-1, -1, 2) + 4/245 x y DATA(2, 2, 1)
+
+ 167
+ - ---- DATA(-2, 1, 1) - 2/245 x y DATA(-1, -2, -2)
+ 7000
+
+ + 1/245 x y DATA(-1, 1, 2) + 4/245 x y DATA(-2, -2, -2)
+
+ + 1/245 x y DATA(-1, 1, -1) - 2/245 x y DATA(1, -2, -2)
+
+ 47
+ - 2/245 x y DATA(2, 1, 2) - 2/245 x y DATA(-1, 2, 2) + ---- DATA(-2, 2, 1)
+ 5250
+
+ + 4/245 x y DATA(2, 2, 2) + 4/245 x y DATA(2, -2, -2)
+
+ + 1/245 x y DATA(1, -1, -1) + 4/245 x y DATA(2, 2, -1)
+
+ - 2/245 x y DATA(1, 2, 2) - 2/245 x y DATA(-2, -1, -2)
+
+ - 2/245 x y DATA(1, 2, 1) - 2/245 x y DATA(2, -1, 1)
+
+ 137 2
+ - 2/245 x y DATA(-1, 2, 1) - ---- DATA(-2, -2, 2) + 1/350 z DATA(1, 2, 2)
+ 5250
+
+ - 2/245 x y DATA(2, -1, -1) - 2/245 x y DATA(-1, 2, -1)
+
+ - 2/245 x y DATA(2, 1, -1) - 2/245 x y DATA(1, 2, -1)
+
+ + 1/245 x y DATA(-1, -1, -1) + 4/245 x y DATA(-2, 2, 2)
+
+ + 1/245 x y DATA(1, 1, 1) - 2/245 x y DATA(-2, 1, 2)
+
+ + 4/245 x y DATA(2, -2, 2) - 2/245 x y DATA(-2, -1, 2)
+
+ - 2/245 x y DATA(1, -2, 2) - 2/245 x y DATA(-1, -2, 2)
+
+ + 1/245 x y DATA(-1, -1, 1) + 1/245 x y DATA(1, -1, 1)
+
+ + 1/245 x y DATA(-1, 1, 1) - 2/245 x y DATA(-1, 2, 0)
+
+ - 2/245 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=2059410700, alloc=15136044, time=311.93
+bytes used=2060411304, alloc=15136044, time=312.01
+bytes used=2061428916, alloc=15136044, time=312.09
+bytes used=2062468356, alloc=15136044, time=312.18
+bytes used=2063556168, alloc=15136044, time=312.26
+bytes used=2064556584, alloc=15136044, time=312.34
+bytes used=2065556728, alloc=15136044, time=312.42
+bytes used=2066556940, alloc=15136044, time=312.51
+bytes used=2067557188, alloc=15136044, time=312.59
+bytes used=2068623016, alloc=15136044, time=312.68
+bytes used=2069623364, alloc=15136044, time=312.77
+bytes used=2070646496, alloc=15136044, time=312.87
+bytes used=2071646992, alloc=15136044, time=312.95
+bytes used=2072647320, alloc=15136044, time=313.05
+bytes used=2073647520, alloc=15136044, time=313.14
+bytes used=2074648644, alloc=15136044, time=313.24
+bytes used=2075681812, alloc=15136044, time=313.34
+bytes used=2076687548, alloc=15136044, time=313.43
+bytes used=2077688004, alloc=15136044, time=313.53
+bytes used=2078688376, alloc=15136044, time=313.63
+bytes used=2079688728, alloc=15136044, time=313.73
+bytes used=2080689036, alloc=15136044, time=313.84
+bytes used=2081696192, alloc=15136044, time=313.95
+bytes used=2082717856, alloc=15136044, time=314.03
+bytes used=2083722468, alloc=15136044, time=314.11
+bytes used=2084727032, alloc=15136044, time=314.18
+ 2 2 137
+[COEFF(-2, -2, -2) = 1/100 y - 2/175 y + 1/175 z - 1/125 z - ---- + 2/175 y z
+ 5250
+
+ 2 2
+ + 2/175 x z + 4/245 x y - 2/175 x + 1/100 x , COEFF(-1, -2, -2) = 1/200 y
+
+ 2 2
+ - 1/250 z - 1/175 y - 1/175 x z + 1/175 x - 1/50 x - 2/245 x y + 1/350 z
+
+ 107
+ + ---- + 1/175 y z, COEFF(0, -2, -2) = - 4/245 x y + 2/175 x - 2/175 x z,
+ 7000
+
+ 2 2 2
+ COEFF(1, -2, -2) = - 1/175 y z - 1/350 z + 1/50 x - 2/245 x y - 1/200 y
+
+ 107
+ + 1/175 y - ---- + 1/175 x + 1/250 z - 1/175 x z, COEFF(2, -2, -2) =
+ 7000
+
+ 137 2 2
+ - 2/175 x + 2/175 y + ---- - 1/175 z + 2/175 x z + 4/245 x y - 1/100 y
+ 5250
+
+ 2 107 2
+ - 2/175 y z - 1/100 x + 1/125 z, COEFF(-2, -1, -2) = ---- + 1/350 z
+ 7000
+
+ 2 2
+ + 1/175 y - 2/245 x y - 1/50 y - 1/175 x + 1/175 x z + 1/200 x - 1/250 z
+
+ 2 2
+ - 1/175 y z, COEFF(-1, -1, -2) = - 1/100 y + 1/700 z - 1/500 z
+
+ 2 229
+ - 1/350 y z + 1/350 y - 1/100 x + 1/350 x - 1/350 x z + 1/245 x y + -----
+ 10500
+
+ , COEFF(0, -1, -2) = 2/245 x y - 1/175 x z + 1/175 x, COEFF(1, -1, -2) =
+
+ 229 2 2
+ 1/350 x - ----- - 1/350 y + 1/350 y z + 1/100 y + 1/500 z - 1/700 z
+ 10500
+
+ 2 2
+ + 1/100 x + 1/245 x y - 1/350 x z, COEFF(2, -1, -2) = - 1/350 z
+
+ 107 2
+ - 2/245 x y - ---- + 1/250 z - 1/175 x + 1/50 y + 1/175 x z - 1/175 y
+ 7000
+
+ 2
+ + 1/175 y z - 1/200 x ,
+
+ COEFF(-2, 0, -2) = - 4/245 x y - 2/175 y z + 2/175 y,
+
+ COEFF(-1, 0, -2) = - 1/175 y z + 2/245 x y + 1/175 y,
+
+ COEFF(0, 0, -2) = 4/245 x y,
+
+ COEFF(1, 0, -2) = 2/245 x y + 1/175 y z - 1/175 y,
+
+ COEFF(2, 0, -2) = - 2/175 y + 2/175 y z - 4/245 x y, COEFF(-2, 1, -2) =
+
+ 2 2
+ - 2/245 x y - 1/350 z - 1/175 x z - 1/175 y z + 1/175 y + 1/50 y
+
+ 2 107
+ - 1/200 x + 1/175 x + 1/250 z - ----, COEFF(-1, 1, -2) = 1/245 x y
+ 7000
+
+ 229 2 2
+ - 1/350 y z + 1/350 x z - 1/350 x - ----- + 1/350 y - 1/700 z + 1/100 x
+ 10500
+
+ 2
+ + 1/100 y + 1/500 z, COEFF(0, 1, -2) = - 1/175 x + 1/175 x z + 2/245 x y,
+
+ 2 229 2
+ COEFF(1, 1, -2) = - 1/500 z - 1/100 y + ----- + 1/700 z - 1/350 x
+ 10500
+
+ 2
+ + 1/350 x z - 1/100 x + 1/245 x y - 1/350 y + 1/350 y z, COEFF(2, 1, -2)
+
+ 2 2
+ = 1/200 x - 1/175 y - 1/250 z + 1/350 z + 1/175 y z - 2/245 x y
+
+ 2 107
+ + 1/175 x - 1/50 y + ---- - 1/175 x z, COEFF(-2, 2, -2) = - 2/175 y
+ 7000
+
+ 2 2 2 137
+ - 1/175 z - 1/100 y - 1/100 x - 2/175 x z + 4/245 x y + ---- + 1/125 z
+ 5250
+
+ 2
+ + 2/175 x + 2/175 y z, COEFF(-1, 2, -2) = - 1/175 x - 1/200 y - 2/245 x y
+
+ 2 2 107
+ + 1/175 x z - 1/175 y + 1/175 y z + 1/50 x + 1/250 z - 1/350 z - ----,
+ 7000
+
+ COEFF(0, 2, -2) = - 4/245 x y - 2/175 x + 2/175 x z, COEFF(1, 2, -2) =
+
+ 2 2 107
+ - 1/250 z + 1/350 z - 1/175 x + 1/200 y - 1/175 y z + 1/175 y + ----
+ 7000
+
+ 2 2
+ - 2/245 x y + 1/175 x z - 1/50 x , COEFF(2, 2, -2) = 1/100 x - 2/175 y z
+
+ 137 2
+ + 2/175 y - 2/175 x z + 2/175 x - ---- + 1/100 y + 4/245 x y - 1/125 z
+ 5250
+
+ 2 2 47
+ + 1/175 z , COEFF(-2, -2, -1) = 1/175 x z - 1/350 z - ---- + 1/175 y z
+ 5250
+
+ 2 2
+ + 1/100 x - 2/175 y + 1/100 y - 2/175 x + 4/245 x y - 1/250 z,
+
+ 2 2
+ COEFF(-1, -2, -1) = - 2/245 x y - 1/500 z - 1/350 x z - 1/700 z - 1/50 x
+
+ 167 2
+ + 1/175 x + ---- + 1/350 y z + 1/200 y - 1/175 y,
+ 7000
+
+ COEFF(0, -2, -1) = 2/175 x - 4/245 x y - 1/175 x z, COEFF(1, -2, -1) =
+
+ 2 2 167
+ - 1/350 y z - 1/200 y + 1/50 x - ---- + 1/175 y - 1/350 x z + 1/500 z
+ 7000
+
+ 2 2
+ + 1/175 x - 2/245 x y + 1/700 z , COEFF(2, -2, -1) = - 1/100 y
+
+ 2 2 47
+ + 4/245 x y + 1/350 z + 1/250 z + 2/175 y - 2/175 x - 1/100 x + ----
+ 5250
+
+ 167
+ + 1/175 x z - 1/175 y z, COEFF(-2, -1, -1) = 1/175 y + ---- + 1/350 x z
+ 7000
+
+ 2 2 2
+ - 2/245 x y - 1/50 y - 1/500 z - 1/350 y z + 1/200 x - 1/700 z
+
+ 2 2
+ - 1/175 x, COEFF(-1, -1, -1) = 1/350 x + 1/245 x y - 1/100 y - 1/1400 z
+
+ 137 2
+ + 1/350 y - 1/700 x z - 1/700 y z + ---- - 1/100 x - 1/1000 z,
+ 5250
+
+ COEFF(0, -1, -1) = - 1/350 x z + 1/175 x + 2/245 x y, COEFF(1, -1, -1) =
+
+ 2 2
+ - 1/350 y + 1/100 x - 1/700 x z + 1/350 x + 1/100 y + 1/1000 z
+
+ 2 137
+ + 1/1400 z + 1/245 x y - ---- + 1/700 y z, COEFF(2, -1, -1) = 1/350 y z
+ 5250
+
+ 2 2
+ - 1/200 x + 1/350 x z - 2/245 x y + 1/500 z + 1/700 z - 1/175 y
+
+ 2 167
+ + 1/50 y - 1/175 x - ----,
+ 7000
+
+ COEFF(-2, 0, -1) = 2/175 y - 1/175 y z - 4/245 x y,
+
+ COEFF(-1, 0, -1) = 2/245 x y + 1/175 y - 1/350 y z,
+
+ COEFF(0, 0, -1) = 4/245 x y,
+
+ COEFF(1, 0, -1) = 2/245 x y + 1/350 y z - 1/175 y,
+
+ COEFF(2, 0, -1) = - 2/175 y - 4/245 x y + 1/175 y z, COEFF(-2, 1, -1) =
+
+ 167 2 2
+ 1/500 z - ---- - 1/350 y z + 1/700 z - 1/350 x z + 1/175 x + 1/50 y
+ 7000
+
+ 2 2 137
+ - 1/200 x - 2/245 x y + 1/175 y, COEFF(-1, 1, -1) = 1/100 x - ----
+ 5250
+
+ 2
+ + 1/1400 z + 1/1000 z + 1/700 x z - 1/350 x + 1/245 x y + 1/350 y
+
+ 2
+ + 1/100 y - 1/700 y z, COEFF(0, 1, -1) = 1/350 x z + 2/245 x y - 1/175 x,
+
+ 137 2
+ COEFF(1, 1, -1) = ---- - 1/350 x + 1/245 x y - 1/1400 z - 1/350 y
+ 5250
+
+ 2 2
+ - 1/100 x - 1/100 y - 1/1000 z + 1/700 x z + 1/700 y z, COEFF(2, 1, -1)
+
+ 2 2 2
+ = - 2/245 x y - 1/350 x z - 1/175 y - 1/700 z + 1/200 x - 1/50 y
+
+ 167
+ + 1/175 x + 1/350 y z - 1/500 z + ----, COEFF(-2, 2, -1) = 1/250 z
+ 7000
+
+ 2 2 2
+ - 1/100 x + 1/350 z - 1/175 x z - 1/100 y + 4/245 x y - 2/175 y
+
+ 47
+ + 2/175 x + 1/175 y z + ----, COEFF(-1, 2, -1) = 1/350 y z + 1/500 z
+ 5250
+
+ 2 167 2 2
+ - 1/200 y + 1/350 x z - 1/175 x - 2/245 x y - ---- + 1/50 x + 1/700 z
+ 7000
+
+ - 1/175 y, COEFF(0, 2, -1) = - 2/175 x + 1/175 x z - 4/245 x y,
+
+ 2 167 2
+ COEFF(1, 2, -1) = - 1/50 x + 1/175 y - 1/175 x + ---- - 1/700 z - 1/500 z
+ 7000
+
+ 2
+ - 2/245 x y + 1/200 y - 1/350 y z + 1/350 x z, COEFF(2, 2, -1) =
+
+ 47 2 2 2
+ 4/245 x y - ---- - 1/175 y z + 1/100 x - 1/350 z + 2/175 x + 1/100 y
+ 5250
+
+ - 1/175 x z + 2/175 y - 1/250 z, COEFF(-2, -2, 0) =
+
+ 2 17 2 2
+ - 2/175 x + 1/100 y - 2/175 y - ---- + 4/245 x y + 1/100 x - 1/175 z ,
+ 5250
+
+ COEFF(-1, -2, 0) =
+
+ 2 2 2 187
+ - 1/350 z - 1/175 y + 1/200 y - 2/245 x y - 1/50 x + 1/175 x + ----,
+ 7000
+
+ COEFF(0, -2, 0) = - 4/245 x y + 2/175 x, COEFF(1, -2, 0) =
+
+ 187 2 2 2
+ - 2/245 x y + 1/175 y - ---- + 1/50 x + 1/175 x - 1/200 y + 1/350 z ,
+ 7000
+
+ COEFF(2, -2, 0) =
+
+ 17 2 2 2
+ ---- + 1/175 z - 2/175 x - 1/100 x - 1/100 y + 2/175 y + 4/245 x y,
+ 5250
+
+ COEFF(-2, -1, 0) =
+
+ 187 2 2 2
+ ---- - 1/350 z + 1/200 x - 1/50 y + 1/175 y - 1/175 x - 2/245 x y,
+ 7000
+
+ COEFF(-1, -1, 0) =
+
+ 289 2 2 2
+ 1/350 x + ----- + 1/245 x y - 1/100 y + 1/350 y - 1/700 z - 1/100 x ,
+ 10500
+
+ COEFF(0, -1, 0) = 1/175 x + 2/245 x y, COEFF(1, -1, 0) =
+
+ 2 2 289 2
+ 1/100 x - 1/350 y + 1/100 y - ----- + 1/245 x y + 1/700 z + 1/350 x,
+ 10500
+
+ COEFF(2, -1, 0) =
+
+ 2 187 2 2
+ - 2/245 x y + 1/50 y - 1/175 x - 1/175 y - ---- + 1/350 z - 1/200 x ,
+ 7000
+
+ COEFF(-2, 0, 0) = - 4/245 x y + 2/175 y,
+
+ COEFF(-1, 0, 0) = 2/245 x y + 1/175 y, COEFF(0, 0, 0) = 4/245 x y,
+
+ COEFF(1, 0, 0) = 2/245 x y - 1/175 y,
+
+ COEFF(2, 0, 0) = - 2/175 y - 4/245 x y, COEFF(-2, 1, 0) =
+
+ 187 2 2 2
+ 1/175 y - 2/245 x y - ---- - 1/200 x + 1/350 z + 1/175 x + 1/50 y ,
+ 7000
+
+ COEFF(-1, 1, 0) =
+
+ 2 289 2 2
+ 1/100 y + 1/350 y + 1/245 x y - ----- + 1/100 x - 1/350 x + 1/700 z ,
+ 10500
+
+ COEFF(0, 1, 0) = 2/245 x y - 1/175 x, COEFF(1, 1, 0) =
+
+ 2 2 2 289
+ - 1/350 y - 1/700 z - 1/100 y - 1/100 x + ----- - 1/350 x + 1/245 x y,
+ 10500
+
+ COEFF(2, 1, 0) =
+
+ 2 2 2 187
+ - 1/50 y - 1/175 y + 1/175 x - 1/350 z + 1/200 x + ---- - 2/245 x y,
+ 7000
+
+ COEFF(-2, 2, 0) =
+
+ 2 17 2 2
+ - 1/100 x + ---- + 2/175 x + 4/245 x y - 1/100 y + 1/175 z - 2/175 y,
+ 5250
+
+ COEFF(-1, 2, 0) =
+
+ 2 2 187 2
+ 1/50 x - 2/245 x y - 1/175 x - 1/175 y - 1/200 y - ---- + 1/350 z ,
+ 7000
+
+ COEFF(0, 2, 0) = - 2/175 x - 4/245 x y, COEFF(1, 2, 0) =
+
+ 2 2 187 2
+ 1/200 y - 1/350 z - 2/245 x y + ---- - 1/175 x - 1/50 x + 1/175 y,
+ 7000
+
+ COEFF(2, 2, 0) =
+
+ 2 17 2 2
+ 4/245 x y + 1/100 y - ---- + 2/175 x + 2/175 y - 1/175 z + 1/100 x ,
+ 5250
+
+ 2 47 2
+ COEFF(-2, -2, 1) = 1/100 x - ---- - 1/175 x z - 1/350 z - 1/175 y z
+ 5250
+
+ 2
+ - 2/175 x + 1/100 y + 4/245 x y - 2/175 y + 1/250 z, COEFF(-1, -2, 1) =
+
+ 2 2 167
+ - 2/245 x y - 1/700 z - 1/350 y z + 1/200 y + 1/350 x z + 1/500 z + ----
+ 7000
+
+ 2
+ + 1/175 x - 1/175 y - 1/50 x ,
+
+ COEFF(0, -2, 1) = 2/175 x + 1/175 x z - 4/245 x y, COEFF(1, -2, 1) =
+
+ 2 2 2
+ - 2/245 x y + 1/50 x - 1/200 y - 1/500 z + 1/350 y z + 1/700 z + 1/175 y
+
+ 167 2 2
+ + 1/350 x z + 1/175 x - ----, COEFF(2, -2, 1) = - 1/100 y - 1/100 x
+ 7000
+
+ 47
+ + 2/175 y + 4/245 x y - 1/250 z + ---- + 1/175 y z - 2/175 x - 1/175 x z
+ 5250
+
+ 2 2 2
+ + 1/350 z , COEFF(-2, -1, 1) = 1/175 y + 1/200 x - 1/350 x z - 1/700 z
+
+ 2 167
+ - 1/175 x + 1/500 z - 1/50 y + ---- - 2/245 x y + 1/350 y z,
+ 7000
+
+ 2 137
+ COEFF(-1, -1, 1) = 1/350 x - 1/100 y + ---- + 1/1000 z + 1/245 x y
+ 5250
+
+ 2 2
+ - 1/1400 z + 1/700 y z + 1/350 y + 1/700 x z - 1/100 x ,
+
+ COEFF(0, -1, 1) = 2/245 x y + 1/175 x + 1/350 x z, COEFF(1, -1, 1) =
+
+ 2 137 2
+ 1/1400 z - 1/700 y z + 1/700 x z - ---- + 1/100 x - 1/1000 z + 1/350 x
+ 5250
+
+ 2 2
+ + 1/245 x y + 1/100 y - 1/350 y, COEFF(2, -1, 1) = - 1/350 x z + 1/700 z
+
+ 167 2 2
+ - 1/175 x - 1/350 y z - 1/175 y - 1/500 z - ---- - 1/200 x + 1/50 y
+ 7000
+
+ - 2/245 x y, COEFF(-2, 0, 1) = 2/175 y + 1/175 y z - 4/245 x y,
+
+ COEFF(-1, 0, 1) = 1/175 y + 2/245 x y + 1/350 y z,
+
+ COEFF(0, 0, 1) = 4/245 x y,
+
+ COEFF(1, 0, 1) = - 1/175 y + 2/245 x y - 1/350 y z,
+
+ COEFF(2, 0, 1) = - 4/245 x y - 2/175 y - 1/175 y z, COEFF(-2, 1, 1) =
+
+ 167 2 2 2
+ 1/175 y - ---- + 1/50 y + 1/175 x + 1/700 z + 1/350 x z - 1/200 x
+ 7000
+
+ 2
+ - 1/500 z + 1/350 y z - 2/245 x y, COEFF(-1, 1, 1) = 1/700 y z + 1/100 y
+
+ 2 137 2
+ + 1/100 x - 1/350 x - ---- - 1/700 x z + 1/245 x y + 1/1400 z - 1/1000 z
+ 5250
+
+ + 1/350 y, COEFF(0, 1, 1) = - 1/175 x - 1/350 x z + 2/245 x y,
+
+ 2
+ COEFF(1, 1, 1) = 1/245 x y - 1/350 x - 1/700 x z + 1/1000 z - 1/100 y
+
+ 2 2 137
+ - 1/700 y z - 1/100 x - 1/1400 z - 1/350 y + ----, COEFF(2, 1, 1) =
+ 5250
+
+ 2 167
+ 1/500 z - 2/245 x y - 1/700 z - 1/175 y + 1/175 x + ---- + 1/350 x z
+ 7000
+
+ 2 2 47 2
+ - 1/350 y z + 1/200 x - 1/50 y , COEFF(-2, 2, 1) = ---- - 1/100 x
+ 5250
+
+ 2 2
+ - 1/250 z + 1/350 z + 2/175 x - 1/175 y z + 4/245 x y - 1/100 y
+
+ 2
+ + 1/175 x z - 2/175 y, COEFF(-1, 2, 1) = - 1/175 y + 1/50 x - 2/245 x y
+
+ 2 2 167
+ + 1/700 z - 1/500 z - 1/175 x - 1/200 y - ---- - 1/350 y z - 1/350 x z,
+ 7000
+
+ COEFF(0, 2, 1) = - 1/175 x z - 4/245 x y - 2/175 x, COEFF(1, 2, 1) =
+
+ 167
+ - 2/245 x y + 1/175 y - 1/350 x z + 1/350 y z + 1/500 z - 1/175 x + ----
+ 7000
+
+ 2 2 2
+ + 1/200 y - 1/50 x - 1/700 z , COEFF(2, 2, 1) = 1/175 x z + 2/175 y
+
+ 47 2 2
+ + 1/175 y z + 2/175 x + 1/250 z - ---- + 1/100 y + 4/245 x y + 1/100 x
+ 5250
+
+ 2 2 2 137
+ - 1/350 z , COEFF(-2, -2, 2) = - 2/175 y z + 1/175 z + 1/100 y - ----
+ 5250
+
+ 2
+ - 2/175 x + 1/125 z - 2/175 y + 1/100 x - 2/175 x z + 4/245 x y,
+
+ 2
+ COEFF(-1, -2, 2) = 1/175 x - 2/245 x y + 1/175 x z + 1/200 y + 1/250 z
+
+ 107 2 2
+ - 1/175 y + ---- - 1/175 y z - 1/50 x + 1/350 z ,
+ 7000
+
+ COEFF(0, -2, 2) = - 4/245 x y + 2/175 x z + 2/175 x, COEFF(1, -2, 2) =
+
+ 2 2 2
+ - 1/200 y + 1/50 x + 1/175 x z - 1/350 z + 1/175 x + 1/175 y - 1/250 z
+
+ 107
+ + 1/175 y z - 2/245 x y - ----, COEFF(2, -2, 2) = - 2/175 x + 2/175 y
+ 7000
+
+ 2 2 2 137
+ - 1/100 x - 1/175 z + 4/245 x y - 1/125 z - 1/100 y + 2/175 y z + ----
+ 5250
+
+ 2
+ - 2/175 x z, COEFF(-2, -1, 2) = 1/250 z - 1/175 x z + 1/200 x + 1/175 y z
+
+ 107 2 2
+ + ---- + 1/350 z - 2/245 x y + 1/175 y - 1/175 x - 1/50 y ,
+ 7000
+
+ 2
+ COEFF(-1, -1, 2) = 1/350 x z + 1/350 x + 1/245 x y - 1/100 x + 1/500 z
+
+ 229 2 2
+ + 1/350 y z + ----- - 1/100 y + 1/350 y + 1/700 z ,
+ 10500
+
+ COEFF(0, -1, 2) = 2/245 x y + 1/175 x z + 1/175 x, COEFF(1, -1, 2) =
+
+ 2 229
+ 1/350 x z + 1/245 x y + 1/350 x - 1/500 z - 1/350 y z + 1/100 y - -----
+ 10500
+
+ 2 2 2
+ + 1/100 x - 1/700 z - 1/350 y, COEFF(2, -1, 2) = - 1/175 x + 1/50 y
+
+ 107 2 2
+ - ---- - 2/245 x y - 1/175 y - 1/350 z - 1/200 x - 1/250 z - 1/175 y z
+ 7000
+
+ - 1/175 x z, COEFF(-2, 0, 2) = - 4/245 x y + 2/175 y + 2/175 y z,
+
+ COEFF(-1, 0, 2) = 2/245 x y + 1/175 y + 1/175 y z,
+
+ COEFF(0, 0, 2) = 4/245 x y,
+
+ COEFF(1, 0, 2) = 2/245 x y - 1/175 y - 1/175 y z,
+
+ COEFF(2, 0, 2) = - 2/175 y z - 4/245 x y - 2/175 y, COEFF(-2, 1, 2) =
+
+ 2 2 107 2
+ 1/175 y + 1/50 y - 1/200 x - 2/245 x y - ---- - 1/250 z - 1/350 z
+ 7000
+
+ 2
+ + 1/175 x z + 1/175 y z + 1/175 x, COEFF(-1, 1, 2) = - 1/500 z + 1/100 x
+
+ 2 229 2
+ + 1/100 y - ----- - 1/700 z + 1/350 y + 1/245 x y + 1/350 y z
+ 10500
+
+ - 1/350 x z - 1/350 x, COEFF(0, 1, 2) = - 1/175 x z + 2/245 x y - 1/175 x,
+
+ 2 2
+ COEFF(1, 1, 2) = - 1/350 y - 1/100 x - 1/350 x z + 1/700 z + 1/500 z
+
+ 2 229
+ - 1/350 x - 1/350 y z - 1/100 y + 1/245 x y + -----, COEFF(2, 1, 2) =
+ 10500
+
+ 2 107 2
+ 1/175 x + 1/200 x + ---- + 1/250 z + 1/350 z + 1/175 x z - 1/175 y z
+ 7000
+
+ 2
+ - 1/50 y - 2/245 x y - 1/175 y, COEFF(-2, 2, 2) = 2/175 x - 2/175 y
+
+ 2 2 2 137
+ - 1/125 z - 1/100 y + 2/175 x z - 1/100 x - 1/175 z + ---- + 4/245 x y
+ 5250
+
+ 2
+ - 2/175 y z, COEFF(-1, 2, 2) = - 1/175 x - 1/200 y - 1/175 x z - 1/175 y
+
+ 2 107 2
+ - 1/250 z - 1/350 z - 2/245 x y - ---- + 1/50 x - 1/175 y z,
+ 7000
+
+ COEFF(0, 2, 2) = - 2/175 x z - 2/175 x - 4/245 x y, COEFF(1, 2, 2) =
+
+ 2 107
+ - 1/175 x + 1/200 y + 1/175 y + 1/250 z + ---- + 1/175 y z - 2/245 x y
+ 7000
+
+ 2 2
+ - 1/175 x z + 1/350 z - 1/50 x , COEFF(2, 2, 2) = 1/125 z + 4/245 x y
+
+ 137 2 2 2
+ - ---- + 2/175 x + 1/100 x + 1/100 y + 2/175 x z + 2/175 y + 1/175 z
+ 5250
+
+ + 2/175 y z]
+
+> print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c");
+bytes used=2085727196, alloc=15136044, time=314.26
+bytes used=2086727360, alloc=15136044, time=314.35
+bytes used=2087728396, alloc=15136044, time=314.45
+bytes used=2088728856, alloc=15136044, time=314.53
+bytes used=2089729404, alloc=15136044, time=315.31
+bytes used=2090729688, alloc=15136044, time=316.09
+bytes used=2091729884, alloc=15136044, time=316.86
+bytes used=2092730040, alloc=15136044, time=317.62
+bytes used=2093730300, alloc=15136044, time=318.38
+bytes used=2094730488, alloc=15136044, time=318.80
+bytes used=2095730704, alloc=15136044, time=318.89
+bytes used=2096730864, alloc=15136044, time=318.99
+bytes used=2097767708, alloc=15136044, time=319.07
+bytes used=2098806940, alloc=15136044, time=319.16
+bytes used=2099820856, alloc=15136044, time=319.26
+bytes used=2100821144, alloc=15136044, time=319.35
+bytes used=2101821368, alloc=15136044, time=320.56
+bytes used=2102821560, alloc=15136044, time=321.20
+bytes used=2103821776, alloc=15136044, time=321.51
+bytes used=2104822164, alloc=15136044, time=321.59
+bytes used=2105822640, alloc=15136044, time=321.66
+bytes used=2106823004, alloc=15136044, time=321.73
+bytes used=2107823404, alloc=15136044, time=321.80
+bytes used=2108824188, alloc=15136044, time=321.87
+bytes used=2109824736, alloc=15136044, time=321.95
+bytes used=2110824904, alloc=15136044, time=322.02
+bytes used=2111825068, alloc=15136044, time=322.10
+bytes used=2112825260, alloc=15136044, time=322.20
+bytes used=2113825516, alloc=15136044, time=322.32
+bytes used=2114826140, alloc=15136044, time=322.43
+bytes used=2115826368, alloc=15136044, time=322.54
+bytes used=2116826696, alloc=15136044, time=322.67
+bytes used=2117827240, alloc=15136044, time=322.80
+bytes used=2118827432, alloc=15136044, time=322.93
+bytes used=2119828976, alloc=15136044, time=323.03
+bytes used=2120829184, alloc=15136044, time=323.88
+bytes used=2121829464, alloc=15136044, time=324.99
+bytes used=2122829692, alloc=15136044, time=325.51
+bytes used=2123830040, alloc=15136044, time=325.61
+bytes used=2124830292, alloc=15136044, time=325.68
+bytes used=2125830552, alloc=15136044, time=325.76
+bytes used=2126830836, alloc=15136044, time=325.84
+bytes used=2127831320, alloc=15136044, time=325.91
+bytes used=2128831652, alloc=15136044, time=325.99
+bytes used=2129831884, alloc=15136044, time=326.06
+bytes used=2130839624, alloc=15136044, time=326.24
+bytes used=2131850028, alloc=15136044, time=326.37
+bytes used=2132858476, alloc=15136044, time=326.50
+bytes used=2133858852, alloc=15136044, time=326.60
+bytes used=2134859060, alloc=15136044, time=327.89
+bytes used=2135859296, alloc=15136044, time=328.72
+bytes used=2136859532, alloc=15136044, time=329.22
+bytes used=2137859940, alloc=15136044, time=329.31
+bytes used=2138860232, alloc=15136044, time=329.39
+bytes used=2139860388, alloc=15136044, time=329.49
+bytes used=2140860620, alloc=15136044, time=329.76
+bytes used=2141860868, alloc=15136044, time=331.31
+bytes used=2142861052, alloc=15136044, time=331.95
+bytes used=2143861476, alloc=15136044, time=332.18
+bytes used=2144861784, alloc=15136044, time=332.25
+bytes used=2145861980, alloc=15136044, time=332.39
+bytes used=2146862200, alloc=15136044, time=333.08
+bytes used=2147862484, alloc=15136044, time=334.48
+bytes used=2148862976, alloc=15136044, time=335.04
+bytes used=2149863660, alloc=15136044, time=335.17
+bytes used=2150863964, alloc=15136044, time=335.31
+>
+# d^2/dxdz
+> simplify( diff(interp_3d_cube_order4_smooth0,x,z) );
+bytes used=2151864184, alloc=15136044, time=335.43
+bytes used=2152893980, alloc=15136044, time=335.51
+bytes used=2153894164, alloc=15136044, time=335.59
+bytes used=2154894332, alloc=15136044, time=335.67
+bytes used=2155895500, alloc=15136044, time=335.76
+bytes used=2156895712, alloc=15136044, time=335.84
+bytes used=2157895904, alloc=15136044, time=335.93
+bytes used=2158896120, alloc=15136044, time=336.01
+bytes used=2159896256, alloc=15136044, time=336.09
+137 137 137
+---- DATA(-1, 1, -1) - ---- DATA(1, 1, -1) - ---- DATA(-1, 1, 1)
+5250 5250 5250
+
+ 289 137 137
+ - ----- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 10500 5250 5250
+
+ 107 289 289
+ - ---- DATA(-1, -2, 2) + ----- DATA(-1, 0, -1) - ----- DATA(1, 0, -1)
+ 7000 10500 10500
+
+ 107 47
+ + 2/175 x DATA(0, -1, -2) + ---- DATA(1, -2, 2) + ---- DATA(-2, -1, 2)
+ 7000 5250
+
+ - 4/245 x z DATA(0, 2, -2) - 4/245 x z DATA(0, 1, -2)
+
+ - 4/245 x z DATA(0, -1, -2) + 2/245 x z DATA(0, -2, -1)
+
+ - 4/245 x z DATA(0, 1, 2) - 4/245 x z DATA(0, 2, 2)
+
+ - 4/245 x z DATA(0, -2, -2) - 4/245 x z DATA(0, -1, 2)
+
+ + 2/245 x z DATA(0, 2, -1) + 2/245 x z DATA(0, 2, 1)
+
+ + 2/245 x z DATA(0, -1, -1) - 4/245 x z DATA(0, -2, 2)
+
+ + 2/245 x z DATA(0, 1, 1) + 2/245 x z DATA(0, 1, -1)
+
+ + 2/245 x z DATA(0, -1, 1) + 2/245 x z DATA(0, -2, 1)
+
+ 137
+ - ---- DATA(2, -2, 2) + 1/175 x y DATA(0, 2, -1) - 1/175 x y DATA(0, 2, 1)
+ 5250
+
+ - 1/350 x y DATA(0, -1, -1) + 2/175 x y DATA(0, -2, 2)
+
+ - 1/350 x y DATA(0, 1, 1) + 1/350 x y DATA(0, 1, -1)
+
+ + 1/350 x y DATA(0, -1, 1) + 1/175 x y DATA(0, -2, 1)
+
+ + 2/175 x y DATA(0, 2, -2) + 1/175 x y DATA(0, 1, -2)
+
+ - 1/175 x y DATA(0, -1, -2) - 1/175 x y DATA(0, -2, -1)
+
+ - 1/175 x y DATA(0, 1, 2) - 2/175 x y DATA(0, 2, 2)
+
+ - 2/175 x y DATA(0, -2, -2) + 1/175 x y DATA(0, -1, 2)
+
+ 17 47 289
+ + ---- DATA(-2, 0, 2) + ---- DATA(-2, 1, 2) + ----- DATA(1, 0, 1)
+ 5250 5250 10500
+
+ 137 137
+ + ---- DATA(1, 1, 1) + ---- DATA(-2, 2, 2) + 2/245 x z DATA(-1, -2, 0)
+ 5250 5250
+
+ + 2/175 x DATA(0, 2, -2) + 2/245 x z DATA(1, -2, 0)
+
+ + 4/245 x z DATA(0, -2, 0) - 4/245 x z DATA(-2, -2, 0)
+
+ - 4/245 x z DATA(-2, 0, 0) - 4/245 x z DATA(-2, -1, 0)
+
+ - 4/245 x z DATA(2, -2, 0) - 2/175 x DATA(0, 2, 2)
+
+ 2
+ + 1/175 y z DATA(2, -2, -1) + 1/175 y DATA(2, 0, -2)
+
+ 2 2
+ + 1/350 y DATA(1, 0, -2) - 1/350 y DATA(-1, 0, -2)
+
+ 2 2
+ - 1/175 y DATA(-2, 0, -2) - 1/350 y DATA(-2, 0, -1)
+
+ 2 2
+ - 1/175 y DATA(2, 0, 2) + 1/350 y DATA(-1, 0, 2)
+
+ + 1/350 y z DATA(1, -2, -1) + 2/175 x DATA(0, -2, -2)
+
+ 2
+ - 2/175 x DATA(0, -1, 2) - 1/350 y DATA(1, 0, 2)
+
+ 2 2
+ + 1/350 y DATA(2, 0, -1) + 1/700 y DATA(-1, 0, 1)
+
+ 2 2
+ - 1/350 y DATA(2, 0, 1) + 1/175 y DATA(-2, 0, 2)
+
+ 2 2
+ - 1/700 y DATA(1, 0, 1) - 1/700 y DATA(-1, 0, -1)
+
+ 2
+ + 1/700 y DATA(1, 0, -1) - 1/350 y z DATA(-1, -2, -1)
+
+ + 4/245 x z DATA(2, 0, -2) - 4/245 x z DATA(0, 0, -2)
+
+ - 2/245 x z DATA(1, 0, -2) - 2/245 x z DATA(-1, 0, -2)
+
+ + 4/245 x z DATA(-2, 0, -2) - 4/245 x z DATA(-2, 1, 0)
+
+ - 4/245 x z DATA(-2, 2, 0) + 2/175 x DATA(0, 1, -2)
+
+ - 1/175 y z DATA(-2, -2, -1) + 2/175 y z DATA(2, 2, -2)
+
+ + 4/245 x z DATA(2, 0, 2) + 1/175 y z DATA(1, 2, -2)
+
+ - 4/245 x z DATA(2, 1, 0) + 4/245 x z DATA(0, 2, 0)
+
+ - 4/245 x z DATA(2, -1, 0) - 4/245 x z DATA(2, 0, 0)
+
+ - 2/245 x z DATA(-1, 0, 2) - 4/245 x z DATA(0, 0, 2)
+
+ - 2/245 x z DATA(-2, 0, -1) - 1/175 y z DATA(-1, 2, -2)
+
+ + 1/350 y z DATA(-2, 1, -1) - 1/350 y z DATA(-2, -1, -1)
+
+ 2
+ + 1/100 z DATA(-2, 0, -2) - 2/245 x z DATA(2, 0, 1)
+
+ + 2/245 x z DATA(1, 2, 0) - 4/245 x z DATA(2, 2, 0)
+
+ + 2/245 x z DATA(0, 0, -1) - 2/245 x z DATA(1, 0, 2)
+
+ + 2/245 x z DATA(-1, 2, 0) + 1/175 y z DATA(-2, 2, -1)
+
+ + 1/175 x DATA(0, -2, -1) + 2/245 x z DATA(0, 0, 1)
+
+ - 2/245 x z DATA(2, 0, -1) + 2/245 x z DATA(1, 1, 0)
+
+ + 4/245 x z DATA(-2, 0, 2) + 1/245 x z DATA(1, 0, 1)
+
+ + 4/245 x z DATA(0, 0, 0) - 1/175 y z DATA(-2, -2, 1)
+
+ 2
+ + 2/245 x z DATA(-1, 1, 0) + 1/350 y DATA(-2, 0, 1)
+
+ + 2/245 x z DATA(-1, 0, 0) + 1/245 x z DATA(-1, 0, 1)
+
+ - 1/175 y z DATA(-1, -2, 0) + 1/245 x z DATA(1, 0, -1)
+
+ + 1/245 x z DATA(-1, 0, -1) + 2/245 x z DATA(1, 0, 0)
+
+ + 4/245 x z DATA(0, 1, 0) + 2/245 x z DATA(-1, -1, 0)
+
+ + 4/245 x z DATA(0, -1, 0) + 2/245 x z DATA(1, -1, 0)
+
+ - 2/175 y z DATA(-2, -2, 0) - 2/245 x z DATA(-2, 0, 1)
+
+ + 1/175 y z DATA(-2, 1, 0) + 2/175 y z DATA(-2, 2, 0)
+
+ - 1/175 y z DATA(-2, -1, 0) + 2/175 y z DATA(2, -2, 0)
+
+ + 1/175 y z DATA(1, -2, 0) - 1/175 y z DATA(2, 1, 0)
+
+ + 1/175 y z DATA(-1, 2, 0) + 1/175 y z DATA(2, -1, 0)
+
+ - 1/175 y z DATA(1, 2, 0) - 2/175 y z DATA(2, 2, 0)
+
+ - 1/350 y z DATA(1, 1, 0) + 1/350 y z DATA(-1, 1, 0)
+
+ - 1/350 y z DATA(-1, -1, 0) + 1/350 y z DATA(1, -1, 0)
+
+ 2 2
+ - 1/100 x DATA(2, 0, -2) - 1/50 z DATA(-2, 0, -1)
+
+ 2 2
+ - 1/100 z DATA(2, 0, -2) - 1/200 z DATA(1, 0, -2)
+
+ 2
+ + 1/200 z DATA(-1, 0, -2) + 2/175 x DATA(-2, 0, 2)
+
+ 2 2
+ - 1/350 x DATA(1, 0, 1) + 1/100 z DATA(2, 0, 2) - 1/200 z DATA(-1, 0, 2)
+
+ 2 2
+ + 1/200 z DATA(1, 0, 2) - 1/100 z DATA(-2, 0, 2)
+
+ 2 2 2
+ + 1/50 z DATA(2, 0, -1) + 1/50 z DATA(-2, 0, 1) - 1/100 z DATA(1, 0, 1)
+
+ 2 2
+ + 1/100 z DATA(-1, 0, 1) - 1/50 z DATA(2, 0, 1)
+
+ + 1/175 z DATA(-1, -2, 0) + 2/175 z DATA(-2, -2, 0)
+
+ + 2/175 z DATA(-2, 0, 0) + 2/175 z DATA(-2, -1, 0)
+
+ - 2/175 z DATA(2, -2, 0) - 1/175 z DATA(1, -2, 0) + 2/175 z DATA(-2, 1, 0)
+
+ 2
+ + 2/175 z DATA(-2, 2, 0) - 1/100 z DATA(-1, 0, -1)
+
+ 2
+ + 1/100 z DATA(1, 0, -1) + 1/175 z DATA(1, 0, -2)
+
+ - 2/175 z DATA(-2, 0, -2) - 1/175 z DATA(-1, 0, -2)
+
+ + 1/175 z DATA(-2, 0, -1) + 2/175 z DATA(2, 0, 2) + 2/175 z DATA(2, 0, -2)
+
+ - 1/175 z DATA(-1, 0, 2) + 1/175 z DATA(1, 0, 2) + 1/175 z DATA(-1, 2, 0)
+
+ - 2/175 z DATA(2, 1, 0) - 2/175 z DATA(2, -1, 0) - 2/175 z DATA(2, 0, 0)
+
+ - 1/175 z DATA(2, 0, -1) - 1/175 z DATA(2, 0, 1) - 1/175 z DATA(1, 2, 0)
+
+ - 2/175 z DATA(2, 2, 0) - 1/175 z DATA(1, 1, 0) - 1/175 z DATA(1, -1, 0)
+
+ + 1/175 z DATA(-1, 0, 0) - 1/350 z DATA(1, 0, -1) - 2/175 z DATA(-2, 0, 2)
+
+ - 1/350 z DATA(1, 0, 1) + 1/175 z DATA(-1, 1, 0) - 1/175 z DATA(1, 0, 0)
+
+ + 1/175 z DATA(-1, -1, 0) + 1/350 z DATA(-1, 0, 1)
+
+ 2
+ + 1/350 z DATA(-1, 0, -1) + 1/50 x DATA(1, 0, -2)
+
+ 2 2
+ - 1/50 x DATA(-1, 0, -2) + 1/100 x DATA(-2, 0, -2)
+
+ 2 2
+ + 1/200 x DATA(-2, 0, -1) + 1/100 x DATA(2, 0, 2)
+
+ 2 2
+ + 1/50 x DATA(-1, 0, 2) - 1/50 x DATA(1, 0, 2) + 1/175 z DATA(-2, 0, 1)
+
+ 2
+ + 1/175 x DATA(0, 2, -1) - 1/100 x DATA(-2, 0, 2)
+
+ 2 2
+ - 1/100 x DATA(1, 0, 1) + 1/200 x DATA(2, 0, 1)
+
+ 2 2
+ + 1/100 x DATA(-1, 0, 1) - 1/200 x DATA(2, 0, -1)
+
+ 2 2
+ - 1/200 x DATA(-2, 0, 1) - 1/100 x DATA(-1, 0, -1)
+
+ 2
+ + 1/100 x DATA(1, 0, -1) - 2/175 x DATA(2, 0, -2)
+
+ + 2/175 x DATA(0, 0, -2) + 1/175 x DATA(1, 0, -2)
+
+ + 1/175 x DATA(-1, 0, -2) - 2/175 x DATA(-2, 0, -2)
+
+ - 1/175 x DATA(-2, 0, -1) + 2/175 x DATA(2, 0, 2) - 2/175 x DATA(0, 1, 2)
+
+ - 1/175 x DATA(-1, 0, 2) - 2/175 x DATA(0, 0, 2) - 1/175 x DATA(1, 0, 2)
+
+ + 1/175 x DATA(0, 0, -1) - 1/175 x DATA(2, 0, -1) + 1/175 x DATA(2, 0, 1)
+
+ + 1/350 x DATA(-1, 0, -1) + 1/350 x DATA(1, 0, -1) - 1/175 x DATA(0, 0, 1)
+
+ 137
+ - 1/350 x DATA(-1, 0, 1) + 1/175 x DATA(-2, 0, 1) + ---- DATA(-1, -1, -1)
+ 5250
+
+ 229 167
+ - ----- DATA(1, 2, -1) - 1/175 x DATA(0, 2, 1) - ---- DATA(2, 1, -1)
+ 10500 7000
+
+ 229
+ + ----- DATA(-1, 2, -1) + 1/175 y z DATA(2, -2, 1)
+ 10500
+
+ - 1/350 y z DATA(-2, -1, 1) + 1/350 y z DATA(-2, 1, 1)
+
+ 167 187
+ - ---- DATA(2, -1, -1) - ---- DATA(2, 0, -1) + 1/175 y z DATA(-2, 2, 1)
+ 7000 7000
+
+ 167 229
+ + 2/175 y z DATA(-2, -2, 2) + ---- DATA(2, 1, 1) - ----- DATA(-1, 2, 1)
+ 7000 10500
+
+ 229 167
+ + ----- DATA(1, 2, 1) + 1/350 y z DATA(-1, -1, -2) + ---- DATA(2, -1, 1)
+ 10500 7000
+
+ 187 137 107
+ + ---- DATA(2, 0, 1) - ---- DATA(1, -1, -1) - ---- DATA(2, 2, -1)
+ 7000 5250 7000
+
+ 107 47 137
+ + ---- DATA(1, 2, 2) - ---- DATA(-2, -1, -2) - ---- DATA(2, 2, 2)
+ 7000 5250 5250
+
+ 137 107 167
+ + ---- DATA(2, -2, -2) - ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 5250 7000 7000
+
+ 47 107 107
+ - ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2) + ---- DATA(-1, -2, -2)
+ 5250 7000 7000
+
+ 187 17 167
+ + ---- DATA(1, 0, 2) - ---- DATA(2, 0, 2) - ---- DATA(-1, 1, 2)
+ 7000 5250 7000
+
+ 137 167 47
+ - ---- DATA(-2, -2, -2) + ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 5250 7000 5250
+
+ 187
+ - ---- DATA(-1, 0, 2) - 2/175 x DATA(0, -2, 2) + 1/175 x DATA(0, -1, -1)
+ 7000
+
+ - 1/175 x DATA(0, 1, 1) + 1/175 x DATA(0, 1, -1) - 1/175 x DATA(0, -2, 1)
+
+ 167 107
+ - 1/175 x DATA(0, -1, 1) - ---- DATA(-1, -1, 2) + ---- DATA(2, 2, 1)
+ 7000 7000
+
+ + 4/245 x z DATA(-2, -1, -2) + 4/245 x z DATA(2, 2, 2)
+
+ 137
+ - ---- DATA(-2, 2, -2) + 4/245 x z DATA(2, -2, -2)
+ 5250
+
+ 47
+ + 1/245 x z DATA(-1, 1, -1) + ---- DATA(2, 1, -2)
+ 5250
+
+ 167 167
+ + 1/350 y z DATA(-1, 2, -1) - ---- DATA(1, 1, -2) + ---- DATA(-1, 1, -2)
+ 7000 7000
+
+ 47 17 187
+ - ---- DATA(-2, 1, -2) + ---- DATA(2, 0, -2) - ---- DATA(1, 0, -2)
+ 5250 5250 7000
+
+ 187 17 47
+ + ---- DATA(-1, 0, -2) - ---- DATA(-2, 0, -2) + ---- DATA(2, -1, -2)
+ 7000 5250 5250
+
+ 167 167
+ - ---- DATA(1, -1, -2) + ---- DATA(-1, -1, -2) + 1/245 x z DATA(1, 1, -1)
+ 7000 7000
+
+ 107
+ + 1/245 x z DATA(-1, 1, 1) - ---- DATA(2, -2, -1)
+ 7000
+
+ + 1/245 x z DATA(1, -1, 1) + 1/245 x z DATA(-1, -1, 1)
+
+ - 2/245 x z DATA(-1, -2, 2) - 2/245 x z DATA(1, -2, 2)
+
+ 229
+ - ----- DATA(1, -2, -1) + 4/245 x z DATA(-2, -1, 2)
+ 10500
+
+ + 4/245 x z DATA(2, -2, 2) + 4/245 x z DATA(-2, 1, 2)
+
+ + 1/245 x z DATA(1, 1, 1) + 4/245 x z DATA(-2, 2, 2)
+
+ 229
+ + 1/245 x z DATA(-1, -1, -1) + ----- DATA(-1, -2, -1)
+ 10500
+
+ + 1/245 x z DATA(1, 2, -1) - 2/245 x z DATA(2, 1, -1)
+
+ 107
+ + ---- DATA(-2, -2, -1) + 1/245 x z DATA(-1, 2, -1)
+ 7000
+
+ - 2/245 x z DATA(2, -1, -1) - 2/245 x z DATA(2, 1, 1)
+
+ 137
+ + ---- DATA(2, 2, -2) + 1/245 x z DATA(-1, 2, 1) + 1/245 x z DATA(1, 2, 1)
+ 5250
+
+ 107
+ - 2/245 x z DATA(2, -1, 1) - ---- DATA(1, 2, -2)
+ 7000
+
+ + 1/245 x z DATA(1, -1, -1) - 2/245 x z DATA(2, 2, -1)
+
+ 107 167
+ - 2/245 x z DATA(1, 2, 2) + ---- DATA(-1, 2, -2) + ---- DATA(-2, 1, -1)
+ 7000 7000
+
+ 187 167 107
+ + ---- DATA(-2, 0, -1) + ---- DATA(-2, -1, -1) + ---- DATA(-2, 2, -1)
+ 7000 7000 7000
+
+ - 2/245 x z DATA(-2, -2, 1) + 1/245 x z DATA(-1, -2, 1)
+
+ + 1/245 x z DATA(1, -2, 1) - 2/245 x z DATA(1, 1, 2)
+
+ - 2/245 x z DATA(2, -2, 1) - 2/245 x z DATA(-2, -1, 1)
+
+ - 2/245 x z DATA(-2, 1, 1) - 2/245 x z DATA(-2, 2, 1)
+
+ + 4/245 x z DATA(-2, -2, 2) - 2/245 x z DATA(-2, -2, -1)
+
+ + 4/245 x z DATA(2, 2, -2) - 2/245 x z DATA(1, 2, -2)
+
+ - 2/245 x z DATA(-1, 2, -2) - 2/245 x z DATA(-2, 1, -1)
+
+ - 2/245 x z DATA(-2, -1, -1) - 2/245 x z DATA(-2, 2, -1)
+
+ 107
+ - 2/245 x z DATA(1, -1, -2) - ---- DATA(-2, -2, 1)
+ 7000
+
+ - 2/245 x z DATA(-1, -1, -2) - 2/245 x z DATA(2, -2, -1)
+
+ + 1/245 x z DATA(1, -2, -1) + 1/245 x z DATA(-1, -2, -1)
+
+ - 2/245 x z DATA(2, 2, 1) + 4/245 x z DATA(-2, 2, -2)
+
+ 229
+ + 4/245 x z DATA(2, 1, -2) - ----- DATA(-1, -2, 1)
+ 10500
+
+ - 2/245 x z DATA(1, 1, -2) - 2/245 x z DATA(-1, 1, -2)
+
+ + 4/245 x z DATA(-2, 1, -2) + 4/245 x z DATA(2, -1, -2)
+
+ 229
+ + ----- DATA(1, -2, 1) - 2/245 x z DATA(-1, 1, 2)
+ 10500
+
+ + 4/245 x z DATA(-2, -2, -2) - 2/245 x z DATA(1, -1, 2)
+
+ + 4/245 x z DATA(2, -1, 2) - 2/245 x z DATA(-1, -1, 2)
+
+ + 1/350 x y DATA(-1, -2, 1) + 1/350 x y DATA(1, -2, 1)
+
+ 107
+ + ---- DATA(2, -2, 1) - 1/350 x y DATA(1, 1, 2) - 1/175 x y DATA(2, -2, 1)
+ 7000
+
+ - 2/245 x z DATA(1, -2, -2) + 4/245 x z DATA(2, 1, 2)
+
+ - 2/245 x z DATA(-1, 2, 2) - 2/245 x z DATA(-1, -2, -2)
+
+ + 1/350 y z DATA(-1, -1, 2) - 1/175 y z DATA(2, 2, 1)
+
+ + 1/350 x y DATA(-2, -1, -1) - 2/175 y z DATA(-2, 2, -2)
+
+ 2
+ - 1/350 y z DATA(1, -1, -2) - 1/100 z DATA(1, 2, 1)
+
+ 2 2
+ - 1/50 z DATA(2, -1, 1) + 1/100 z DATA(1, -1, -1)
+
+ + 1/175 y z DATA(2, 1, -2) - 2/175 x y DATA(-2, -2, 2)
+
+ + 1/175 x y DATA(-2, 2, 1) + 1/350 x y DATA(-2, 1, 1)
+
+ 2
+ - 1/350 x y DATA(-2, -1, 1) + 1/50 z DATA(2, 2, -1)
+
+ 2 2
+ + 1/100 z DATA(-2, -1, -2) + 1/100 z DATA(2, 2, 2)
+
+ 2 2
+ - 1/100 z DATA(2, -2, -2) - 1/100 z DATA(-1, 1, -1)
+
+ 2 2
+ - 1/200 z DATA(1, -2, -2) + 1/100 z DATA(2, 1, 2)
+
+ 2 2
+ - 1/200 z DATA(-1, 2, 2) + 1/200 z DATA(-1, -2, -2)
+
+ 2 2
+ - 1/200 z DATA(-1, 1, 2) + 1/100 z DATA(-2, -2, -2)
+
+ 2 2
+ + 1/200 z DATA(1, -1, 2) + 1/100 z DATA(2, -1, 2)
+
+ 2 2
+ - 1/200 z DATA(-1, -1, 2) - 1/50 z DATA(2, 2, 1)
+
+ 2 2
+ + 1/100 z DATA(-2, 2, -2) - 1/100 z DATA(2, 1, -2)
+
+ 2 2
+ - 1/200 z DATA(1, 1, -2) + 1/200 z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/100 z DATA(-2, 1, -2) + 1/100 z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/100 z DATA(1, 1, -1) + 1/100 z DATA(-1, 1, 1)
+
+ 2 2
+ - 1/100 z DATA(1, -1, 1) + 1/100 z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/200 z DATA(-1, -2, 2) + 1/200 z DATA(1, -2, 2)
+
+ 2 2
+ - 1/100 z DATA(-2, -1, 2) + 1/100 z DATA(2, -2, 2)
+
+ 2 2
+ - 1/100 z DATA(-2, 1, 2) - 1/100 z DATA(1, 1, 1)
+
+ 2 2
+ - 1/100 z DATA(-2, 2, 2) - 1/100 z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/100 z DATA(1, 2, -1) + 1/100 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/1400 y DATA(1, 1, -1) + 1/1400 y DATA(-1, 1, 1)
+
+ 2 2
+ - 1/1400 y DATA(1, -1, 1) + 1/1400 y DATA(-1, -1, 1)
+
+ 2 2
+ - 1/350 y DATA(-1, -2, 2) + 1/350 y DATA(1, -2, 2)
+
+ 2 2
+ + 1/350 y DATA(-2, -1, 2) + 1/175 y DATA(2, -2, 2)
+
+ 2 2
+ + 1/350 y DATA(-2, 1, 2) - 1/1400 y DATA(1, 1, 1)
+
+ 2 2
+ - 1/175 y DATA(-2, 2, 2) - 1/1400 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/700 y DATA(1, 2, -1) + 1/700 y DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 y DATA(-1, 2, -1) + 1/700 y DATA(2, -1, -1)
+
+ 2 2
+ - 1/700 y DATA(2, 1, 1) - 1/700 y DATA(-1, 2, 1)
+
+ 2 2
+ + 1/700 y DATA(1, 2, 1) - 1/700 y DATA(2, -1, 1)
+
+ 2 2
+ + 1/1400 y DATA(1, -1, -1) - 1/350 y DATA(2, 2, -1)
+
+ 2 2
+ + 1/350 y DATA(1, 2, 2) - 1/350 y DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 y DATA(2, 2, 2) - 1/175 y DATA(2, -2, -2)
+
+ 2 2
+ - 1/1400 y DATA(-1, 1, -1) - 1/350 y DATA(1, -2, -2)
+
+ 2 2
+ - 1/350 y DATA(2, 1, 2) - 1/350 y DATA(-1, 2, 2)
+
+ 2 2
+ + 1/350 y DATA(-1, -2, -2) + 1/700 y DATA(-1, 1, 2)
+
+ 2 2
+ + 1/175 y DATA(-2, -2, -2) - 1/700 y DATA(1, -1, 2)
+
+ 2 2
+ - 1/350 y DATA(2, -1, 2) + 1/700 y DATA(-1, -1, 2)
+
+ 2 2
+ + 1/350 y DATA(2, 2, 1) + 1/175 y DATA(-2, 2, -2)
+
+ 2 2
+ + 1/350 y DATA(2, 1, -2) + 1/700 y DATA(1, 1, -2)
+
+ 2
+ - 1/700 y DATA(-1, 1, -2) + 1/350 y z DATA(1, 1, 2)
+
+ + 1/350 y z DATA(1, -2, 1) - 1/175 x y DATA(-2, 2, -1)
+
+ - 1/175 x y DATA(-2, -2, 1) - 1/350 y z DATA(-1, -2, 1)
+
+ 167
+ - ---- DATA(-2, -1, 1) + 1/175 x y DATA(-1, 2, -2)
+ 7000
+
+ 2 2
+ + 1/100 x DATA(-2, -2, -2) - 1/50 x DATA(1, -1, 2)
+
+ 2 2
+ + 1/100 x DATA(2, -1, 2) + 1/50 x DATA(-1, -1, 2)
+
+ 2 2
+ + 1/200 x DATA(2, 2, 1) + 1/100 x DATA(-2, 2, -2)
+
+ 2 2
+ - 1/100 x DATA(2, 1, -2) + 1/50 x DATA(1, 1, -2)
+
+ 2 2
+ - 1/50 x DATA(-1, 1, -2) + 1/100 x DATA(-2, 1, -2)
+
+ 2 2
+ - 1/100 x DATA(2, -1, -2) + 1/50 x DATA(1, -1, -2)
+
+ 2 2
+ - 1/50 x DATA(-1, -1, -2) - 1/200 x DATA(2, -2, -1)
+
+ 2 2
+ + 1/100 x DATA(1, -2, -1) - 1/50 x DATA(1, -2, 2)
+
+ 2 2
+ + 1/100 x DATA(-1, 1, 1) - 1/100 x DATA(1, -1, 1)
+
+ 2 2
+ + 1/100 x DATA(-1, -1, 1) + 1/50 x DATA(-1, -2, 2)
+
+ 2 2
+ - 1/100 x DATA(-2, -1, 2) + 1/100 x DATA(2, -2, 2)
+
+ 2 2
+ - 1/100 x DATA(-2, 1, 2) - 1/100 x DATA(1, 1, 1)
+
+ 2 2
+ - 1/100 x DATA(-2, 2, 2) - 1/100 x DATA(-1, -1, -1)
+
+ 2 2
+ + 1/100 x DATA(1, 2, -1) - 1/200 x DATA(2, 1, -1)
+
+ 2 2
+ - 1/100 x DATA(-1, 2, -1) - 1/200 x DATA(2, -1, -1)
+
+ 2 2
+ + 1/200 x DATA(2, 1, 1) + 1/100 x DATA(-1, 2, 1)
+
+ 2 2
+ - 1/100 x DATA(1, 2, 1) + 1/200 x DATA(2, -1, 1)
+
+ 2 2
+ + 1/100 x DATA(1, -1, -1) - 1/200 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/50 x DATA(1, 2, 2) + 1/100 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 2, 2) - 1/100 x DATA(2, -2, -2)
+
+ 2 2
+ - 1/100 x DATA(-1, 1, -1) + 1/50 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/100 x DATA(2, 1, 2) + 1/50 x DATA(-1, 2, 2)
+
+ 2 2
+ - 1/50 x DATA(-1, -2, -2) + 1/50 x DATA(-1, 1, 2)
+
+ 2 2
+ - 1/100 x DATA(-1, -2, -1) + 1/200 x DATA(-2, -2, -1)
+
+ 2 2
+ - 1/100 x DATA(2, 2, -2) + 1/50 x DATA(1, 2, -2)
+
+ 2 2
+ - 1/50 x DATA(-1, 2, -2) + 1/200 x DATA(-2, 1, -1)
+
+ 2 2
+ + 1/200 x DATA(-2, -1, -1) + 1/200 x DATA(-2, 2, -1)
+
+ 2 2
+ - 1/200 x DATA(-2, -2, 1) + 1/100 x DATA(-1, -2, 1)
+
+ 2 2
+ - 1/100 x DATA(1, -2, 1) - 1/50 x DATA(1, 1, 2)
+
+ 2 2
+ + 1/200 x DATA(2, -2, 1) - 1/200 x DATA(-2, -1, 1)
+
+ 2 2
+ - 1/200 x DATA(-2, 1, 1) - 1/200 x DATA(-2, 2, 1)
+
+ 2
+ - 1/100 x DATA(-2, -2, 2) + 1/175 y z DATA(-2, -1, 2)
+
+ - 1/350 x DATA(-1, -1, 1) - 1/175 x DATA(-1, -2, 2)
+
+ - 1/175 x DATA(1, -2, 2) + 2/175 x DATA(-2, -1, 2)
+
+ + 2/175 x DATA(2, -2, 2) + 2/175 x DATA(-2, 1, 2) - 1/350 x DATA(1, 1, 1)
+
+ + 2/175 x DATA(-2, 2, 2) + 1/350 x DATA(-1, -1, -1)
+
+ + 1/350 x DATA(1, 2, -1) - 1/175 x DATA(2, 1, -1)
+
+ + 1/350 x DATA(-1, 2, -1) - 1/175 x DATA(2, -1, -1)
+
+ + 1/175 x DATA(2, 1, 1) - 1/350 x DATA(-1, 2, 1) - 1/350 x DATA(1, 2, 1)
+
+ + 1/175 x DATA(2, -1, 1) + 1/350 x DATA(1, -1, -1)
+
+ - 1/175 x DATA(2, 2, -1) - 1/175 x DATA(1, 2, 2)
+
+ - 2/175 x DATA(-2, -1, -2) - 1/350 x DATA(1, -1, 1)
+
+ - 1/175 x DATA(2, -2, -1) + 1/350 x DATA(1, -2, -1)
+
+ + 1/350 x DATA(-1, -2, -1) - 1/175 x DATA(-2, -2, -1)
+
+ - 2/175 x DATA(2, 2, -2) + 1/175 x DATA(1, 2, -2)
+
+ + 1/175 x DATA(-1, 2, -2) - 1/175 x DATA(-2, 1, -1)
+
+ - 1/175 x DATA(-2, -1, -1) - 1/175 x DATA(-2, 2, -1)
+
+ + 1/175 x DATA(-2, -2, 1) - 1/350 x DATA(-1, -2, 1)
+
+ - 1/350 x DATA(1, -2, 1) - 1/175 x DATA(1, 1, 2) + 1/175 x DATA(2, -2, 1)
+
+ + 1/350 x DATA(1, 1, -1) - 1/350 x DATA(-1, 1, 1) + 2/175 x DATA(2, 2, 2)
+
+ - 2/175 x DATA(2, -2, -2) + 1/350 x DATA(-1, 1, -1)
+
+ + 1/175 x DATA(1, -2, -2) + 2/175 x DATA(2, 1, 2) - 1/175 x DATA(-1, 2, 2)
+
+ + 1/175 x DATA(-1, -2, -2) - 1/175 x DATA(-1, 1, 2)
+
+ - 2/175 x DATA(-2, -2, -2) - 1/175 x DATA(1, -1, 2)
+
+ + 2/175 x DATA(2, -1, 2) - 1/175 x DATA(-1, -1, 2) + 1/175 x DATA(2, 2, 1)
+
+ - 2/175 x DATA(-2, 2, -2) - 2/175 x DATA(2, 1, -2)
+
+ + 1/175 x DATA(1, 1, -2) + 1/175 x DATA(-1, 1, -2)
+
+ - 2/175 x DATA(-2, 1, -2) - 2/175 x DATA(2, -1, -2)
+
+ + 1/175 x DATA(1, -1, -2) + 1/175 x DATA(-1, -1, -2)
+
+ + 1/175 x DATA(-2, -1, 1) + 1/175 x DATA(-2, 1, 1)
+
+ + 1/175 x DATA(-2, 2, 1) + 2/175 x DATA(-2, -2, 2)
+
+ - 1/350 z DATA(1, 1, -1) + 1/350 z DATA(-1, 1, 1)
+
+ + 1/250 y DATA(-2, 2, -1) - 1/1000 y DATA(1, 1, -1)
+
+ - 1/1000 y DATA(-1, 1, 1) - 1/1000 y DATA(1, -1, 1)
+
+ + 1/1000 y DATA(-1, -1, 1) + 1/250 y DATA(-1, -2, 2)
+
+ - 1/250 y DATA(1, -2, 2) + 1/250 y DATA(-2, -1, 2)
+
+ - 1/125 y DATA(2, -2, 2) - 1/250 y DATA(-2, 1, 2) + 1/1000 y DATA(1, 1, 1)
+
+ - 1/125 y DATA(-2, 2, 2) - 1/1000 y DATA(-1, -1, -1)
+
+ - 1/500 y DATA(1, 2, -1) - 1/500 y DATA(2, 1, -1)
+
+ + 1/500 y DATA(-1, 2, -1) + 1/500 y DATA(2, -1, -1)
+
+ + 1/500 y DATA(2, 1, 1) - 1/500 y DATA(-1, 2, 1) + 1/500 y DATA(1, 2, 1)
+
+ - 1/500 y DATA(2, -1, 1) + 1/1000 y DATA(1, -1, -1)
+
+ - 1/250 y DATA(2, 2, -1) + 1/250 y DATA(1, 2, 2)
+
+ - 1/250 y DATA(-2, -1, -2) + 1/125 y DATA(2, 2, 2)
+
+ + 1/125 y DATA(2, -2, -2) + 1/1000 y DATA(-1, 1, -1)
+
+ + 1/250 y DATA(1, -2, -2) + 1/250 y DATA(2, 1, 2) - 1/250 y DATA(-1, 2, 2)
+
+ - 1/250 y DATA(-1, -2, -2) - 1/500 y DATA(-1, 1, 2)
+
+ 2
+ - 1/125 y DATA(-2, -2, -2) - 1/100 z DATA(2, -1, -2)
+
+ 2 2
+ - 1/200 z DATA(1, -1, -2) + 1/200 z DATA(-1, -1, -2)
+
+ 2 2
+ + 1/50 z DATA(2, -2, -1) + 1/100 z DATA(1, -2, -1)
+
+ 2 2
+ - 1/100 z DATA(-1, -2, -1) - 1/50 z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/100 z DATA(2, 2, -2) - 1/200 z DATA(1, 2, -2)
+
+ 2 2
+ + 1/200 z DATA(-1, 2, -2) - 1/50 z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/50 z DATA(-2, -1, -1) - 1/50 z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/50 z DATA(-2, -2, 1) + 1/100 z DATA(-1, -2, 1)
+
+ 2 2
+ - 1/100 z DATA(1, -2, 1) + 1/200 z DATA(1, 1, 2)
+
+ 2 2
+ - 1/50 z DATA(2, -2, 1) + 1/50 z DATA(-2, -1, 1)
+
+ 2 2
+ + 1/50 z DATA(-2, 1, 1) + 1/50 z DATA(-2, 2, 1)
+
+ 2 2
+ - 1/100 z DATA(-2, -2, 2) + 1/50 z DATA(2, 1, -1)
+
+ 2 2
+ - 1/100 z DATA(-1, 2, -1) + 1/50 z DATA(2, -1, -1)
+
+ - 1/500 y DATA(1, -1, 2) - 1/250 y DATA(2, -1, 2)
+
+ + 1/500 y DATA(-1, -1, 2) + 1/250 y DATA(2, 2, 1)
+
+ + 1/125 y DATA(-2, 2, -2) - 1/250 y DATA(2, 1, -2)
+
+ - 1/500 y DATA(1, 1, -2) + 1/500 y DATA(-1, 1, -2)
+
+ + 1/250 y DATA(-2, 1, -2) + 1/250 y DATA(2, -1, -2)
+
+ + 1/500 y DATA(1, -1, -2) - 1/500 y DATA(-1, -1, -2)
+
+ + 1/250 y DATA(2, -2, -1) + 1/500 y DATA(1, -2, -1)
+
+ - 1/500 y DATA(-1, -2, -1) - 1/250 y DATA(-2, -2, -1)
+
+ - 1/125 y DATA(2, 2, -2) - 1/250 y DATA(1, 2, -2)
+
+ + 1/250 y DATA(-1, 2, -2) + 1/500 y DATA(-2, 1, -1)
+
+ - 1/500 y DATA(-2, -1, -1) + 1/250 y DATA(-2, -2, 1)
+
+ + 1/500 y DATA(-1, -2, 1) - 1/500 y DATA(1, -2, 1) + 1/500 y DATA(1, 1, 2)
+
+ - 1/250 y DATA(2, -2, 1) + 1/500 y DATA(-2, -1, 1)
+
+ - 1/500 y DATA(-2, 1, 1) - 1/250 y DATA(-2, 2, 1)
+
+ + 1/125 y DATA(-2, -2, 2) - 1/175 z DATA(-1, 2, 2)
+
+ - 1/175 z DATA(-1, 1, 2) - 2/175 z DATA(-2, -2, -2)
+
+ + 1/175 z DATA(1, -1, 2) + 2/175 z DATA(2, -1, 2)
+
+ - 1/175 z DATA(-1, -1, 2) - 1/175 z DATA(2, 2, 1)
+
+ - 2/175 z DATA(-2, 2, -2) + 2/175 z DATA(2, 1, -2)
+
+ + 1/175 z DATA(1, 1, -2) - 1/175 z DATA(-1, 1, -2)
+
+ - 2/175 z DATA(-2, 1, -2) + 2/175 z DATA(2, -1, -2)
+
+ + 1/175 z DATA(1, -1, -2) - 1/175 z DATA(-1, -1, -2)
+
+ - 1/175 z DATA(2, -2, -1) - 1/350 z DATA(1, -2, -1)
+
+ + 1/350 z DATA(-1, -2, -1) + 1/175 z DATA(-2, -2, -1)
+
+ + 2/175 z DATA(2, 2, -2) + 1/175 z DATA(1, 2, -2)
+
+ - 1/175 z DATA(-1, 2, -2) + 1/175 z DATA(-2, 1, -1)
+
+ + 1/175 z DATA(-2, -1, -1) + 1/175 z DATA(-2, 2, -1)
+
+ + 1/175 z DATA(-2, -2, 1) + 1/350 z DATA(-1, -2, 1)
+
+ - 1/350 z DATA(1, -2, 1) + 1/175 z DATA(1, 1, 2) - 1/175 z DATA(2, -2, 1)
+
+ + 1/175 z DATA(-2, -1, 1) + 1/175 z DATA(-2, 1, 1)
+
+ + 1/175 z DATA(-2, 2, 1) - 2/175 z DATA(-2, -2, 2)
+
+ 2
+ - 1/175 z DATA(-1, -2, -2) - 1/350 y DATA(-2, 1, -2)
+
+ 2 2
+ + 1/350 y DATA(2, -1, -2) + 1/700 y DATA(1, -1, -2)
+
+ 2 2
+ - 1/700 y DATA(-1, -1, -2) - 1/350 y DATA(2, -2, -1)
+
+ 2 2
+ - 1/700 y DATA(1, -2, -1) + 1/700 y DATA(-1, -2, -1)
+
+ 2 2
+ + 1/350 y DATA(-2, -2, -1) - 1/175 y DATA(2, 2, -2)
+
+ 2 2
+ - 1/350 y DATA(1, 2, -2) + 1/350 y DATA(-1, 2, -2)
+
+ 2 2
+ - 1/700 y DATA(-2, 1, -1) - 1/700 y DATA(-2, -1, -1)
+
+ 2 2
+ + 1/350 y DATA(-2, 2, -1) - 1/350 y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/700 y DATA(-1, -2, 1) + 1/700 y DATA(1, -2, 1)
+
+ 2 2
+ - 1/700 y DATA(1, 1, 2) + 1/350 y DATA(2, -2, 1)
+
+ 2 2
+ + 1/700 y DATA(-2, -1, 1) + 1/700 y DATA(-2, 1, 1)
+
+ 2 2
+ - 1/350 y DATA(-2, 2, 1) - 1/175 y DATA(-2, -2, 2)
+
+ - 1/350 z DATA(1, -1, 1) + 1/350 z DATA(-1, -1, 1)
+
+ - 1/175 z DATA(-1, -2, 2) + 1/175 z DATA(1, -2, 2)
+
+ - 2/175 z DATA(-2, -1, 2) + 2/175 z DATA(2, -2, 2)
+
+ - 2/175 z DATA(-2, 1, 2) - 1/350 z DATA(1, 1, 1) - 2/175 z DATA(-2, 2, 2)
+
+ + 1/350 z DATA(-1, -1, -1) - 1/350 z DATA(1, 2, -1)
+
+ - 1/175 z DATA(2, 1, -1) + 1/350 z DATA(-1, 2, -1)
+
+ - 1/175 z DATA(2, -1, -1) - 1/175 z DATA(2, 1, 1) + 1/350 z DATA(-1, 2, 1)
+
+ - 1/350 z DATA(1, 2, 1) - 1/175 z DATA(2, -1, 1) - 1/350 z DATA(1, -1, -1)
+
+ - 1/175 z DATA(2, 2, -1) + 1/175 z DATA(1, 2, 2)
+
+ - 2/175 z DATA(-2, -1, -2) + 2/175 z DATA(2, 2, 2)
+
+ + 2/175 z DATA(2, -2, -2) + 1/350 z DATA(-1, 1, -1)
+
+ + 1/175 z DATA(1, -2, -2) + 2/175 z DATA(2, 1, 2)
+
+ + 1/175 y z DATA(2, 1, 2) + 1/700 y z DATA(-1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, -2) + 1/350 y z DATA(1, 1, -2)
+
+ - 1/350 y z DATA(-1, 1, -2) + 1/175 y z DATA(-2, -1, -2)
+
+ + 2/175 y z DATA(2, 2, 2) + 1/700 y z DATA(1, -1, -1)
+
+ - 1/175 y z DATA(2, 2, -1) + 1/175 y z DATA(1, 2, 2)
+
+ - 1/350 y z DATA(1, 2, 1) + 1/350 y z DATA(2, -1, 1)
+
+ + 1/350 y z DATA(2, -1, -1) - 1/350 y z DATA(2, 1, 1)
+
+ + 1/350 y z DATA(-1, 2, 1) - 1/350 y z DATA(2, 1, -1)
+
+ - 1/700 y z DATA(-1, -1, -1) - 1/350 y z DATA(1, 2, -1)
+
+ - 2/175 y z DATA(-2, 2, 2) - 1/700 y z DATA(1, 1, -1)
+
+ - 1/175 y z DATA(-2, 1, 2) + 1/700 x y DATA(1, 1, -1)
+
+ - 2/175 y z DATA(2, -2, 2) - 1/175 y z DATA(1, -2, 2)
+
+ + 1/175 y z DATA(-1, -2, 2) - 1/175 y z DATA(1, -2, -2)
+
+ - 1/175 y z DATA(2, -1, 2) + 2/175 y z DATA(-2, -2, -2)
+
+ - 1/700 y z DATA(-1, -1, 1) - 1/350 y z DATA(1, -1, 2)
+
+ + 1/175 y z DATA(-1, -2, -2) - 1/350 y z DATA(-1, 1, 2)
+
+ + 1/700 y z DATA(1, -1, 1) + 1/700 y z DATA(-1, 1, 1)
+
+ - 1/175 y z DATA(-1, 2, 2) - 1/175 y z DATA(-2, 1, -2)
+
+ 2
+ - 1/50 z DATA(2, 1, 1) - 1/350 x y DATA(-2, 1, -1)
+
+ - 1/175 y z DATA(2, -1, -2) - 1/700 y z DATA(1, 1, 1)
+
+ - 2/175 x y DATA(2, 2, -2) + 1/175 x y DATA(1, 2, -2)
+
+ + 1/175 x y DATA(-2, -2, -1) - 1/350 x y DATA(1, -1, -2)
+
+ - 1/350 x y DATA(-1, -1, -2) + 1/175 x y DATA(2, -2, -1)
+
+ - 1/350 x y DATA(1, -2, -1) - 1/350 x y DATA(-1, -2, -1)
+
+ - 1/175 x y DATA(-2, 1, -2) + 1/175 x y DATA(2, -1, -2)
+
+ + 1/350 x y DATA(1, 1, -2) + 1/350 x y DATA(-1, 1, -2)
+
+ 187
+ - 2/175 x y DATA(-2, 2, -2) - ---- DATA(-2, 0, 1)
+ 7000
+
+ - 1/175 x y DATA(2, 1, -2) + 1/350 x y DATA(1, -1, 2)
+
+ - 1/175 x y DATA(2, -1, 2) + 1/350 x y DATA(-1, -1, 2)
+
+ 167
+ + 1/175 x y DATA(2, 2, 1) - ---- DATA(-2, 1, 1)
+ 7000
+
+ - 1/175 x y DATA(-1, -2, -2) - 1/350 x y DATA(-1, 1, 2)
+
+ + 2/175 x y DATA(-2, -2, -2) + 1/700 x y DATA(-1, 1, -1)
+
+ - 1/175 x y DATA(1, -2, -2) + 1/175 x y DATA(2, 1, 2)
+
+ 107
+ - 1/175 x y DATA(-1, 2, 2) - ---- DATA(-2, 2, 1) + 2/175 x y DATA(2, 2, 2)
+ 7000
+
+ + 2/175 x y DATA(2, -2, -2) - 1/700 x y DATA(1, -1, -1)
+
+ - 1/175 x y DATA(2, 2, -1) - 1/175 x y DATA(1, 2, 2)
+
+ + 1/175 x y DATA(-2, -1, -2) - 1/350 x y DATA(1, 2, 1)
+
+ - 1/350 x y DATA(2, -1, 1) - 1/350 x y DATA(-1, 2, 1)
+
+ 137 2
+ + ---- DATA(-2, -2, 2) + 1/200 z DATA(1, 2, 2)
+ 5250
+
+ + 1/350 x y DATA(2, -1, -1) + 1/350 x y DATA(-1, 2, -1)
+
+ - 1/350 x y DATA(2, 1, -1) + 1/350 x y DATA(1, 2, -1)
+
+ - 1/700 x y DATA(-1, -1, -1) + 2/175 x y DATA(-2, 2, 2)
+
+ - 1/700 x y DATA(1, 1, 1) + 1/175 x y DATA(-2, 1, 2)
+
+ - 2/175 x y DATA(2, -2, 2) - 1/175 x y DATA(-2, -1, 2)
+
+ + 1/175 x y DATA(1, -2, 2) + 1/175 x y DATA(-1, -2, 2)
+
+ + 1/700 x y DATA(-1, -1, 1) + 1/700 x y DATA(1, -1, 1)
+
+ - 1/700 x y DATA(-1, 1, 1) + 1/350 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=2160947952, alloc=15136044, time=336.18
+bytes used=2161948372, alloc=15136044, time=336.26
+bytes used=2162948604, alloc=15136044, time=336.34
+bytes used=2163976896, alloc=15136044, time=336.42
+bytes used=2165053552, alloc=15136044, time=336.50
+bytes used=2166101300, alloc=15136044, time=336.58
+bytes used=2167107156, alloc=15136044, time=336.67
+bytes used=2168128956, alloc=15136044, time=336.75
+bytes used=2169129168, alloc=15136044, time=336.83
+bytes used=2170177428, alloc=15136044, time=336.92
+bytes used=2171177572, alloc=15136044, time=337.00
+bytes used=2172177940, alloc=15136044, time=337.09
+bytes used=2173194732, alloc=15136044, time=337.17
+bytes used=2174202564, alloc=15136044, time=337.26
+bytes used=2175202684, alloc=15136044, time=337.35
+bytes used=2176229760, alloc=15136044, time=337.44
+bytes used=2177229972, alloc=15136044, time=337.53
+bytes used=2178230280, alloc=15136044, time=337.62
+bytes used=2179230396, alloc=15136044, time=337.72
+bytes used=2180230596, alloc=15136044, time=337.81
+bytes used=2181234568, alloc=15136044, time=337.91
+bytes used=2182239372, alloc=15136044, time=338.01
+bytes used=2183240356, alloc=15136044, time=338.12
+bytes used=2184241168, alloc=15136044, time=338.20
+bytes used=2185245620, alloc=15136044, time=338.28
+bytes used=2186250056, alloc=15136044, time=338.35
+ 2 2 2 137
+[COEFF(-2, -2, -2) = 1/175 y + 1/100 x - 1/125 y + 1/100 z - ----
+ 5250
+
+ + 2/175 y z - 2/175 x + 4/245 x z - 2/175 z + 2/175 x y, COEFF(-1, -2, -2)
+
+ 2 107 2 2
+ = - 1/50 x - 1/175 x y + ---- + 1/200 z - 1/175 z - 2/245 x z + 1/350 y
+ 7000
+
+ + 1/175 y z + 1/175 x - 1/250 y,
+
+ COEFF(0, -2, -2) = - 2/175 x y - 4/245 x z + 2/175 x, COEFF(1, -2, -2) =
+
+ 2 2
+ 1/250 y + 1/175 x - 2/245 x z - 1/200 z - 1/175 y z + 1/175 z + 1/50 x
+
+ 2 107 2
+ - 1/175 x y - 1/350 y - ----, COEFF(2, -2, -2) = - 1/175 y + 2/175 x y
+ 7000
+
+ 137 2
+ + 1/125 y + 2/175 z - 2/175 x + ---- - 1/100 z + 4/245 x z - 2/175 y z
+ 5250
+
+ 2 2 47
+ - 1/100 x , COEFF(-2, -1, -2) = - 1/350 y - 2/175 x - ---- - 1/250 y
+ 5250
+
+ 2 2
+ + 1/175 y z + 4/245 x z + 1/100 x - 2/175 z + 1/175 x y + 1/100 z ,
+
+ 2 2
+ COEFF(-1, -1, -2) = - 1/500 y - 1/50 x - 2/245 x z + 1/350 y z - 1/700 y
+
+ 167 2
+ + ---- + 1/200 z - 1/175 z - 1/350 x y + 1/175 x,
+ 7000
+
+ COEFF(0, -1, -2) = - 1/175 x y + 2/175 x - 4/245 x z, COEFF(1, -1, -2) =
+
+ 167 2 2 2
+ - ---- + 1/50 x - 2/245 x z - 1/200 z - 1/350 x y + 1/700 y - 1/350 y z
+ 7000
+
+ 2
+ + 1/500 y + 1/175 z + 1/175 x, COEFF(2, -1, -2) = 1/175 x y + 1/350 y
+
+ 2 2 47
+ + 2/175 z - 1/100 z + 4/245 x z + 1/250 y - 1/100 x - 1/175 y z + ----
+ 5250
+
+ - 2/175 x, COEFF(-2, 0, -2) =
+
+ 2 2 17 2
+ 4/245 x z + 1/100 z - 2/175 x - 2/175 z - 1/175 y - ---- + 1/100 x ,
+ 5250
+
+ COEFF(-1, 0, -2) =
+
+ 187 2 2 2
+ ---- - 1/350 y + 1/200 z - 1/175 z + 1/175 x - 2/245 x z - 1/50 x ,
+ 7000
+
+ COEFF(0, 0, -2) = 2/175 x - 4/245 x z, COEFF(1, 0, -2) =
+
+ 2 2 2 187
+ - 2/245 x z - 1/200 z + 1/175 x + 1/175 z + 1/350 y + 1/50 x - ----,
+ 7000
+
+ COEFF(2, 0, -2) =
+
+ 2 2 17 2
+ 1/175 y - 2/175 x - 1/100 z + 2/175 z + ---- + 4/245 x z - 1/100 x ,
+ 5250
+
+ 2 47
+ COEFF(-2, 1, -2) = - 2/175 z + 1/100 z - 1/175 x y + 1/250 y - ----
+ 5250
+
+ 2 2
+ - 1/350 y + 1/100 x - 1/175 y z + 4/245 x z - 2/175 x, COEFF(-1, 1, -2)
+
+ 2 2
+ = 1/350 x y - 1/350 y z - 1/700 y - 1/175 z + 1/500 y - 1/50 x
+
+ 2 167
+ + 1/200 z - 2/245 x z + ---- + 1/175 x,
+ 7000
+
+ COEFF(0, 1, -2) = - 4/245 x z + 2/175 x + 1/175 x y, COEFF(1, 1, -2) =
+
+ 2 167
+ - 1/500 y + 1/350 y z - 2/245 x z + 1/350 x y + 1/700 y + 1/175 z - ----
+ 7000
+
+ 2 2 2 2
+ - 1/200 z + 1/50 x + 1/175 x, COEFF(2, 1, -2) = - 1/100 x - 1/100 z
+
+ 2 47
+ + 1/350 y + 2/175 z + 4/245 x z - 1/175 x y + ---- - 1/250 y + 1/175 y z
+ 5250
+
+ 2
+ - 2/175 x, COEFF(-2, 2, -2) = - 2/175 z + 1/100 x - 2/175 y z + 1/125 y
+
+ 2 137 2
+ + 4/245 x z + 1/175 y - ---- - 2/175 x y + 1/100 z - 2/175 x,
+ 5250
+
+ 2 107
+ COEFF(-1, 2, -2) = - 1/50 x - 2/245 x z + 1/175 x y + ---- - 1/175 z
+ 7000
+
+ 2 2
+ + 1/350 y - 1/175 y z + 1/200 z + 1/250 y + 1/175 x,
+
+ COEFF(0, 2, -2) = 2/175 x y + 2/175 x - 4/245 x z, COEFF(1, 2, -2) =
+
+ 2 2 2
+ - 1/200 z - 1/250 y - 1/350 y + 1/175 x + 1/175 z - 2/245 x z + 1/50 x
+
+ 107 2 2
+ + 1/175 x y + 1/175 y z - ----, COEFF(2, 2, -2) = - 1/100 x - 1/175 y
+ 7000
+
+ 2 137
+ - 1/100 z + 2/175 y z - 2/175 x y - 1/125 y + ---- + 2/175 z - 2/175 x
+ 5250
+
+ + 4/245 x z, COEFF(-2, -2, -1) = - 2/245 x z - 1/175 y z - 1/175 x
+
+ 2 107 2 2
+ + 1/200 x + ---- + 1/350 y - 1/50 z + 1/175 x y + 1/175 z - 1/250 y,
+ 7000
+
+ 2 2
+ COEFF(-1, -2, -1) = - 1/500 y + 1/350 x - 1/100 x - 1/100 z - 1/350 y z
+
+ 229 2
+ + ----- + 1/350 z + 1/245 x z + 1/700 y - 1/350 x y,
+ 10500
+
+ COEFF(0, -2, -1) = 2/245 x z - 1/175 x y + 1/175 x, COEFF(1, -2, -1) =
+
+ 2 2 229 2
+ 1/245 x z - 1/350 x y + 1/100 z + 1/100 x + 1/350 x - ----- - 1/700 y
+ 10500
+
+ + 1/500 y - 1/350 z + 1/350 y z, COEFF(2, -2, -1) = - 1/175 z - 2/245 x z
+
+ 2 2 107
+ + 1/50 z + 1/175 x y + 1/175 y z - 1/350 y - 1/175 x - ---- + 1/250 y
+ 7000
+
+ 2 2
+ - 1/200 x , COEFF(-2, -1, -1) = 1/350 x y - 2/245 x z - 1/175 x + 1/200 x
+
+ 2 167 2
+ + 1/175 z - 1/500 y - 1/50 z + ---- - 1/700 y - 1/350 y z,
+ 7000
+
+ 2 2 137
+ COEFF(-1, -1, -1) = - 1/100 x - 1/1400 y + ---- - 1/1000 y - 1/700 y z
+ 5250
+
+ 2
+ + 1/350 x - 1/700 x y + 1/350 z - 1/100 z + 1/245 x z,
+
+ COEFF(0, -1, -1) = 1/175 x + 2/245 x z - 1/350 x y, COEFF(1, -1, -1) =
+
+ 2 2 2
+ 1/1400 y - 1/350 z + 1/350 x + 1/245 x z + 1/100 x + 1/700 y z + 1/100 z
+
+ 137 167
+ + 1/1000 y - ---- - 1/700 x y, COEFF(2, -1, -1) = 1/500 y - 1/175 z - ----
+ 5250 7000
+
+ 2 2 2
+ - 2/245 x z + 1/350 x y + 1/350 y z - 1/200 x + 1/50 z + 1/700 y
+
+ - 1/175 x, COEFF(-2, 0, -1) =
+
+ 2 187 2 2
+ 1/200 x + ---- + 1/175 z - 2/245 x z - 1/50 z - 1/350 y - 1/175 x,
+ 7000
+
+ COEFF(-1, 0, -1) =
+
+ 289 2 2 2
+ 1/245 x z + ----- + 1/350 x + 1/350 z - 1/700 y - 1/100 x - 1/100 z ,
+ 10500
+
+ COEFF(0, 0, -1) = 1/175 x + 2/245 x z, COEFF(1, 0, -1) =
+
+ 2 2 289 2
+ 1/245 x z + 1/350 x + 1/100 z - 1/350 z + 1/700 y - ----- + 1/100 x ,
+ 10500
+
+ COEFF(2, 0, -1) =
+
+ 187 2 2 2
+ - 2/245 x z - 1/175 x - ---- + 1/350 y + 1/50 z - 1/175 z - 1/200 x ,
+ 7000
+
+ 2 2 167
+ COEFF(-2, 1, -1) = 1/200 x + 1/500 y - 1/350 x y - 1/700 y + ----
+ 7000
+
+ 2
+ + 1/350 y z + 1/175 z - 1/175 x - 2/245 x z - 1/50 z , COEFF(-1, 1, -1) =
+
+ 2 2 2
+ 1/245 x z + 1/350 z - 1/100 x + 1/1000 y - 1/100 z - 1/1400 y
+
+ 137
+ + 1/700 x y + 1/350 x + ---- + 1/700 y z,
+ 5250
+
+ COEFF(0, 1, -1) = 2/245 x z + 1/175 x + 1/350 x y, COEFF(1, 1, -1) =
+
+ 2 2 2
+ 1/100 x - 1/700 y z + 1/1400 y + 1/245 x z + 1/100 z + 1/350 x
+
+ 137
+ - 1/1000 y - ---- - 1/350 z + 1/700 x y, COEFF(2, 1, -1) = - 1/350 x y
+ 5250
+
+ 167 2 2
+ - 1/350 y z - ---- - 1/175 z - 2/245 x z - 1/200 x - 1/175 x + 1/50 z
+ 7000
+
+ 2 107 2
+ - 1/500 y + 1/700 y , COEFF(-2, 2, -1) = ---- - 1/50 z + 1/175 y z
+ 7000
+
+ 2 2
+ + 1/350 y - 1/175 x y + 1/200 x + 1/175 z + 1/250 y - 2/245 x z
+
+ 229
+ - 1/175 x, COEFF(-1, 2, -1) = 1/245 x z + 1/500 y + ----- + 1/350 x
+ 10500
+
+ 2 2 2
+ + 1/700 y - 1/100 z + 1/350 x y + 1/350 y z - 1/100 x + 1/350 z,
+
+ COEFF(0, 2, -1) = 1/175 x + 1/175 x y + 2/245 x z, COEFF(1, 2, -1) =
+
+ 2 2 2
+ - 1/700 y + 1/100 z + 1/100 x + 1/350 x y + 1/350 x - 1/350 y z
+
+ 229 2
+ - 1/500 y - 1/350 z + 1/245 x z - -----, COEFF(2, 2, -1) = 1/50 z
+ 10500
+
+ 2 107
+ - 1/200 x - 1/175 y z - 1/175 x y - ---- - 1/175 z - 2/245 x z - 1/250 y
+ 7000
+
+ 2
+ - 1/175 x - 1/350 y , COEFF(-2, -2, 0) = - 4/245 x z + 2/175 z - 2/175 y z,
+
+ COEFF(-1, -2, 0) = 2/245 x z + 1/175 z - 1/175 y z,
+
+ COEFF(0, -2, 0) = 4/245 x z,
+
+ COEFF(1, -2, 0) = - 1/175 z + 2/245 x z + 1/175 y z,
+
+ COEFF(2, -2, 0) = - 2/175 z + 2/175 y z - 4/245 x z,
+
+ COEFF(-2, -1, 0) = - 1/175 y z + 2/175 z - 4/245 x z,
+
+ COEFF(-1, -1, 0) = 2/245 x z + 1/175 z - 1/350 y z,
+
+ COEFF(0, -1, 0) = 4/245 x z,
+
+ COEFF(1, -1, 0) = 1/350 y z - 1/175 z + 2/245 x z,
+
+ COEFF(2, -1, 0) = 1/175 y z - 2/175 z - 4/245 x z,
+
+ COEFF(-2, 0, 0) = - 4/245 x z + 2/175 z,
+
+ COEFF(-1, 0, 0) = 1/175 z + 2/245 x z, COEFF(0, 0, 0) = 4/245 x z,
+
+ COEFF(1, 0, 0) = 2/245 x z - 1/175 z,
+
+ COEFF(2, 0, 0) = - 2/175 z - 4/245 x z,
+
+ COEFF(-2, 1, 0) = 1/175 y z - 4/245 x z + 2/175 z,
+
+ COEFF(-1, 1, 0) = 1/350 y z + 2/245 x z + 1/175 z,
+
+ COEFF(0, 1, 0) = 4/245 x z,
+
+ COEFF(1, 1, 0) = - 1/350 y z - 1/175 z + 2/245 x z,
+
+ COEFF(2, 1, 0) = - 4/245 x z - 2/175 z - 1/175 y z,
+
+ COEFF(-2, 2, 0) = 2/175 z - 4/245 x z + 2/175 y z,
+
+ COEFF(-1, 2, 0) = 1/175 z + 2/245 x z + 1/175 y z,
+
+ COEFF(0, 2, 0) = 4/245 x z,
+
+ COEFF(1, 2, 0) = 2/245 x z - 1/175 z - 1/175 y z,
+
+ COEFF(2, 2, 0) = - 2/175 y z - 4/245 x z - 2/175 z, COEFF(-2, -2, 1) =
+
+ 2 2 2
+ 1/250 y - 1/200 x - 1/175 y z - 1/350 y + 1/50 z - 2/245 x z - 1/175 x y
+
+ 107 2 2
+ + 1/175 x + 1/175 z - ----, COEFF(-1, -2, 1) = 1/100 z + 1/100 x
+ 7000
+
+ 2 229
+ + 1/500 y + 1/350 x y - 1/700 y - 1/350 x + 1/245 x z - ----- - 1/350 y z
+ 10500
+
+ + 1/350 z, COEFF(0, -2, 1) = - 1/175 x + 2/245 x z + 1/175 x y,
+
+ 229 2
+ COEFF(1, -2, 1) = 1/350 x y + ----- - 1/350 x - 1/350 z + 1/700 y
+ 10500
+
+ 2 2
+ - 1/100 x - 1/100 z + 1/350 y z + 1/245 x z - 1/500 y, COEFF(2, -2, 1)
+
+ 2 107 2
+ = - 1/175 z - 2/245 x z + 1/350 y + ---- - 1/250 y + 1/175 y z + 1/200 x
+ 7000
+
+ 2
+ + 1/175 x - 1/50 z - 1/175 x y, COEFF(-2, -1, 1) = - 1/350 y z
+
+ 2 2
+ - 2/245 x z + 1/700 y - 1/350 x y - 1/200 x + 1/175 z + 1/175 x
+
+ 167 2 2
+ + 1/500 y - ---- + 1/50 z , COEFF(-1, -1, 1) = - 1/700 y z + 1/100 x
+ 7000
+
+ 137 2
+ + 1/1000 y + 1/350 z + 1/245 x z - 1/350 x - ---- + 1/1400 y + 1/700 x y
+ 5250
+
+ 2
+ + 1/100 z , COEFF(0, -1, 1) = 1/350 x y - 1/175 x + 2/245 x z,
+
+ 2 2
+ COEFF(1, -1, 1) = 1/700 y z - 1/100 z + 1/245 x z - 1/1400 y - 1/350 z
+
+ 2 137
+ - 1/100 x - 1/1000 y + 1/700 x y + ---- - 1/350 x, COEFF(2, -1, 1) =
+ 5250
+
+ 2 2 167
+ - 1/50 z + 1/350 y z - 1/350 x y + 1/200 x + ---- - 1/175 z - 1/500 y
+ 7000
+
+ 2
+ - 2/245 x z - 1/700 y + 1/175 x, COEFF(-2, 0, 1) =
+
+ 2 2 2 187
+ 1/175 x + 1/50 z + 1/350 y - 1/200 x - 2/245 x z + 1/175 z - ----,
+ 7000
+
+ COEFF(-1, 0, 1) =
+
+ 2 289 2 2
+ 1/700 y - ----- - 1/350 x + 1/350 z + 1/245 x z + 1/100 z + 1/100 x ,
+ 10500
+
+ COEFF(0, 0, 1) = - 1/175 x + 2/245 x z, COEFF(1, 0, 1) =
+
+ 2 2 289 2
+ - 1/350 z - 1/700 y - 1/350 x + 1/245 x z - 1/100 x + ----- - 1/100 z ,
+ 10500
+
+ COEFF(2, 0, 1) =
+
+ 2 2 2 187
+ 1/175 x - 1/350 y - 1/50 z + 1/200 x - 1/175 z - 2/245 x z + ----,
+ 7000
+
+ 2 167
+ COEFF(-2, 1, 1) = 1/350 x y + 1/50 z + 1/350 y z - 1/500 y - ----
+ 7000
+
+ 2 2
+ + 1/700 y + 1/175 x - 1/200 x - 2/245 x z + 1/175 z, COEFF(-1, 1, 1) =
+
+ 2
+ 1/100 x + 1/700 y z - 1/700 x y - 1/1000 y + 1/245 x z - 1/350 x
+
+ 2 2 137
+ + 1/100 z + 1/1400 y - ---- + 1/350 z,
+ 5250
+
+ COEFF(0, 1, 1) = - 1/175 x - 1/350 x y + 2/245 x z, COEFF(1, 1, 1) =
+
+ 2 2 137
+ - 1/100 z - 1/700 y z - 1/350 x - 1/100 x + ---- - 1/350 z - 1/700 x y
+ 5250
+
+ 2
+ + 1/1000 y + 1/245 x z - 1/1400 y , COEFF(2, 1, 1) = 1/175 x - 1/350 y z
+
+ 167 2 2
+ + ---- - 1/50 z - 2/245 x z + 1/500 y + 1/200 x - 1/175 z + 1/350 x y
+ 7000
+
+ 2 2 2 2
+ - 1/700 y , COEFF(-2, 2, 1) = 1/175 x y + 1/50 z - 1/350 y - 1/200 x
+
+ 107
+ - 2/245 x z + 1/175 z - 1/250 y - ---- + 1/175 x + 1/175 y z,
+ 7000
+
+ 2
+ COEFF(-1, 2, 1) = 1/100 x - 1/350 x y - 1/500 y + 1/350 y z - 1/350 x
+
+ 2 229 2
+ - 1/700 y + 1/245 x z + 1/350 z - ----- + 1/100 z ,
+ 10500
+
+ COEFF(0, 2, 1) = 2/245 x z - 1/175 x y - 1/175 x, COEFF(1, 2, 1) =
+
+ 2 2
+ - 1/350 y z - 1/100 x - 1/350 z + 1/245 x z + 1/500 y + 1/700 y
+
+ 2 229
+ - 1/100 z - 1/350 x y + ----- - 1/350 x, COEFF(2, 2, 1) = 1/175 x
+ 10500
+
+ 107 2 2
+ + 1/175 x y - 2/245 x z + ---- - 1/50 z + 1/250 y - 1/175 y z + 1/200 x
+ 7000
+
+ 2 2
+ - 1/175 z + 1/350 y , COEFF(-2, -2, 2) = - 1/175 y - 2/175 x y + 1/125 y
+
+ 2 2 137
+ - 2/175 z - 1/100 x + 4/245 x z - 1/100 z + 2/175 y z + ---- + 2/175 x,
+ 5250
+
+ 107
+ COEFF(-1, -2, 2) = - 1/175 z - ---- + 1/175 y z - 1/175 x - 2/245 x z
+ 7000
+
+ 2 2 2
+ + 1/175 x y - 1/350 y - 1/200 z + 1/250 y + 1/50 x ,
+
+ COEFF(0, -2, 2) = 2/175 x y - 4/245 x z - 2/175 x, COEFF(1, -2, 2) =
+
+ 2 2 2
+ 1/350 y - 1/175 y z + 1/200 z - 1/50 x + 1/175 x y - 1/250 y - 2/245 x z
+
+ 107
+ + 1/175 z + ---- - 1/175 x, COEFF(2, -2, 2) = 2/175 x - 2/175 y z
+ 7000
+
+ 2 2
+ + 1/100 x + 4/245 x z + 2/175 z + 1/175 y - 2/175 x y - 1/125 y
+
+ 2 137 2 2
+ + 1/100 z - ----, COEFF(-2, -1, 2) = - 1/100 z - 2/175 z - 1/100 x
+ 5250
+
+ 47 2
+ + 2/175 x + 4/245 x z + ---- - 1/175 x y + 1/250 y + 1/175 y z + 1/350 y ,
+ 5250
+
+ 2 2
+ COEFF(-1, -1, 2) = 1/350 x y + 1/700 y - 2/245 x z - 1/175 x + 1/50 x
+
+ 2 167
+ + 1/500 y - 1/175 z + 1/350 y z - 1/200 z - ----,
+ 7000
+
+ COEFF(0, -1, 2) = - 4/245 x z - 2/175 x + 1/175 x y, COEFF(1, -1, 2) =
+
+ 2 2
+ - 1/350 y z - 1/700 y + 1/175 z + 1/200 z + 1/350 x y - 1/175 x
+
+ 2 167 2
+ - 2/245 x z - 1/50 x - 1/500 y + ----, COEFF(2, -1, 2) = 1/100 x
+ 7000
+
+ 2 47
+ + 2/175 x + 1/100 z - 1/250 y - 1/175 y z + 2/175 z - ---- + 4/245 x z
+ 5250
+
+ 2
+ - 1/350 y - 1/175 x y, COEFF(-2, 0, 2) =
+
+ 17 2 2 2
+ ---- + 4/245 x z - 1/100 x + 1/175 y - 2/175 z - 1/100 z + 2/175 x,
+ 5250
+
+ COEFF(-1, 0, 2) =
+
+ 2 2 2 187
+ - 2/245 x z - 1/175 x - 1/200 z + 1/350 y + 1/50 x - ---- - 1/175 z,
+ 7000
+
+ COEFF(0, 0, 2) = - 2/175 x - 4/245 x z, COEFF(1, 0, 2) =
+
+ 2 187 2 2
+ - 1/50 x + ---- - 1/175 x - 2/245 x z + 1/175 z + 1/200 z - 1/350 y ,
+ 7000
+
+ COEFF(2, 0, 2) =
+
+ 2 17 2 2
+ 2/175 x + 1/100 x - ---- - 1/175 y + 2/175 z + 1/100 z + 4/245 x z,
+ 5250
+
+ 2
+ COEFF(-2, 1, 2) = 1/175 x y + 2/175 x + 1/350 y + 4/245 x z - 1/175 y z
+
+ 2 47 2
+ - 1/100 z + ---- - 2/175 z - 1/250 y - 1/100 x , COEFF(-1, 1, 2) =
+ 5250
+
+ 2 167
+ - 1/350 x y - 2/245 x z - 1/175 z - 1/175 x - 1/200 z - 1/500 y - ----
+ 7000
+
+ 2 2
+ - 1/350 y z + 1/700 y + 1/50 x ,
+
+ 167
+ COEFF(0, 1, 2) = - 2/175 x - 1/175 x y - 4/245 x z, COEFF(1, 1, 2) = ----
+ 7000
+
+ 2 2
+ - 1/700 y - 1/175 x - 1/50 x + 1/350 y z - 1/350 x y + 1/500 y
+
+ 2 2
+ - 2/245 x z + 1/200 z + 1/175 z, COEFF(2, 1, 2) = - 1/350 y + 2/175 z
+
+ 2 47 2
+ + 1/100 x + 1/175 x y - ---- + 2/175 x + 1/100 z + 1/175 y z + 1/250 y
+ 5250
+
+ 2 2 2
+ + 4/245 x z, COEFF(-2, 2, 2) = 4/245 x z - 1/100 z - 1/100 x - 1/175 y
+
+ 137
+ + 2/175 x - 2/175 z - 2/175 y z + ---- + 2/175 x y - 1/125 y,
+ 5250
+
+ 2 2
+ COEFF(-1, 2, 2) = - 2/245 x z - 1/200 z - 1/175 x y - 1/175 y z + 1/50 x
+
+ 107 2
+ - ---- - 1/175 z - 1/250 y - 1/350 y - 1/175 x,
+ 7000
+
+ 107
+ COEFF(0, 2, 2) = - 2/175 x y - 4/245 x z - 2/175 x, COEFF(1, 2, 2) = ----
+ 7000
+
+ 2 2 2
+ - 2/245 x z - 1/175 x + 1/175 y z + 1/350 y - 1/50 x + 1/200 z
+
+ 2 137
+ + 1/250 y - 1/175 x y + 1/175 z, COEFF(2, 2, 2) = 1/100 x - ----
+ 5250
+
+ 2
+ + 4/245 x z + 1/175 y + 1/125 y + 2/175 z + 2/175 x + 2/175 y z
+
+ 2
+ + 2/175 x y + 1/100 z ]
+
+> print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c");
+bytes used=2187250212, alloc=15136044, time=338.44
+bytes used=2188250424, alloc=15136044, time=338.53
+bytes used=2189251124, alloc=15136044, time=338.62
+bytes used=2190251416, alloc=15136044, time=338.78
+bytes used=2191251940, alloc=15136044, time=339.50
+bytes used=2192252112, alloc=15136044, time=340.21
+bytes used=2193252676, alloc=15136044, time=340.93
+bytes used=2194252968, alloc=15136044, time=341.62
+bytes used=2195253196, alloc=15136044, time=342.32
+bytes used=2196253456, alloc=15136044, time=342.49
+bytes used=2197253608, alloc=15136044, time=342.58
+bytes used=2198253856, alloc=15136044, time=342.67
+bytes used=2199263628, alloc=15136044, time=342.76
+bytes used=2200278652, alloc=15136044, time=342.85
+bytes used=2201279608, alloc=15136044, time=342.94
+bytes used=2202279860, alloc=15136044, time=343.17
+bytes used=2203280016, alloc=15136044, time=344.47
+bytes used=2204280236, alloc=15136044, time=344.86
+bytes used=2205280448, alloc=15136044, time=345.04
+bytes used=2206280704, alloc=15136044, time=345.11
+bytes used=2207280960, alloc=15136044, time=345.18
+bytes used=2208281132, alloc=15136044, time=345.25
+bytes used=2209281400, alloc=15136044, time=345.32
+bytes used=2210281584, alloc=15136044, time=345.39
+bytes used=2211281788, alloc=15136044, time=345.47
+bytes used=2212282064, alloc=15136044, time=345.55
+bytes used=2213282224, alloc=15136044, time=345.65
+bytes used=2214282428, alloc=15136044, time=345.76
+bytes used=2215282832, alloc=15136044, time=345.87
+bytes used=2216283008, alloc=15136044, time=345.99
+bytes used=2217283204, alloc=15136044, time=346.12
+bytes used=2218295284, alloc=15136044, time=346.26
+bytes used=2219295508, alloc=15136044, time=346.38
+bytes used=2220295792, alloc=15136044, time=346.47
+bytes used=2221295992, alloc=15136044, time=347.41
+bytes used=2222296144, alloc=15136044, time=348.62
+bytes used=2223296332, alloc=15136044, time=349.14
+bytes used=2224296776, alloc=15136044, time=349.23
+bytes used=2225297012, alloc=15136044, time=349.31
+bytes used=2226297232, alloc=15136044, time=349.38
+bytes used=2227297456, alloc=15136044, time=349.46
+bytes used=2228297736, alloc=15136044, time=349.54
+bytes used=2229297896, alloc=15136044, time=349.61
+bytes used=2230298160, alloc=15136044, time=349.70
+bytes used=2231308820, alloc=15136044, time=349.87
+bytes used=2232314752, alloc=15136044, time=350.00
+bytes used=2233314912, alloc=15136044, time=350.12
+bytes used=2234315088, alloc=15136044, time=350.50
+bytes used=2235320288, alloc=15136044, time=352.14
+bytes used=2236320496, alloc=15136044, time=352.66
+bytes used=2237320676, alloc=15136044, time=353.13
+bytes used=2238321112, alloc=15136044, time=353.22
+bytes used=2239321360, alloc=15136044, time=353.29
+bytes used=2240321780, alloc=15136044, time=353.49
+bytes used=2241322032, alloc=15136044, time=354.67
+bytes used=2242322280, alloc=15136044, time=355.90
+bytes used=2243322436, alloc=15136044, time=356.30
+bytes used=2244322772, alloc=15136044, time=356.38
+bytes used=2245322952, alloc=15136044, time=356.46
+bytes used=2246323196, alloc=15136044, time=356.75
+bytes used=2247323412, alloc=15136044, time=358.45
+bytes used=2248323592, alloc=15136044, time=359.06
+bytes used=2249323820, alloc=15136044, time=359.41
+bytes used=2250324028, alloc=15136044, time=359.50
+bytes used=2251324208, alloc=15136044, time=359.62
+>
+# d^2/dy^2
+> simplify( diff(interp_3d_cube_order4_smooth0,y,y) );
+bytes used=2252324432, alloc=15136044, time=359.71
+bytes used=2253324828, alloc=15136044, time=359.80
+bytes used=2254325320, alloc=15136044, time=359.88
+bytes used=2255325548, alloc=15136044, time=359.96
+bytes used=2256325704, alloc=15136044, time=360.05
+bytes used=2257325880, alloc=15136044, time=360.14
+bytes used=2258326108, alloc=15136044, time=360.23
+bytes used=2259326224, alloc=15136044, time=360.31
+bytes used=2260326740, alloc=15136044, time=360.40
+bytes used=2261326868, alloc=15136044, time=360.48
+166 151 166
+---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+3675 3675 3675
+
+ 151 136 151
+ + ---- DATA(-1, -1, 0) + ---- DATA(0, -1, 0) + ---- DATA(1, -1, 0)
+ 3675 3675 3675
+
+ 61 151 166
+ - --- DATA(-1, 0, 0) + ---- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 490 3675 3675
+
+ 57 166 166
+ - --- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1)
+ 490 3675 3675
+
+ 151 169
+ + ---- DATA(0, -1, 1) - ----- DATA(-1, -2, 2) - 1/300 DATA(0, -2, 2)
+ 3675 14700
+
+ 57 61 57
+ - --- DATA(-1, 0, -1) - --- DATA(0, 0, -1) - --- DATA(1, 0, -1)
+ 490 490 490
+
+ 13 61 136
+ - -- DATA(0, 0, 0) - --- DATA(1, 0, 0) + ---- DATA(0, 1, 0)
+ 98 490 3675
+
+ 151 61 169
+ + ---- DATA(1, 1, 0) - --- DATA(0, 0, 1) - ----- DATA(1, -2, 2)
+ 3675 490 14700
+
+ 256 529 33
+ + ---- DATA(-2, -1, 2) - ----- DATA(2, -2, 2) - --- DATA(-2, 0, 2)
+ 3675 14700 490
+
+ 256 57 151
+ + ---- DATA(-2, 1, 2) - --- DATA(1, 0, 1) + ---- DATA(0, 1, 1)
+ 3675 490 3675
+
+ 166 529
+ + ---- DATA(1, 1, 1) - ----- DATA(-2, 2, 2) + 1/100 y z DATA(2, -2, -1)
+ 3675 14700
+
+ 2 2
+ + 3/25 y DATA(2, 0, -2) + 3/25 y DATA(1, 0, -2)
+
+ 2 2
+ + 3/25 y DATA(-1, 0, -2) + 3/25 y DATA(-2, 0, -2)
+
+ 2 2 2
+ + 3/25 y DATA(-2, 0, -1) + 3/25 y DATA(2, 0, 2) + 3/25 y DATA(-1, 0, 2)
+
+ 2
+ + 1/100 y z DATA(1, -2, -1) + 3/25 y DATA(1, 0, 2)
+
+ 2 2 2
+ + 3/25 y DATA(2, 0, -1) + 3/25 y DATA(-1, 0, 1) + 3/25 y DATA(2, 0, 1)
+
+ 2 2 2
+ + 3/25 y DATA(-2, 0, 2) + 3/25 y DATA(1, 0, 1) + 3/25 y DATA(-1, 0, -1)
+
+ 2
+ + 3/25 y DATA(1, 0, -1) + 1/100 y z DATA(-1, -2, -1)
+
+ + 2/175 x z DATA(2, 0, -2) + 1/175 x z DATA(1, 0, -2)
+
+ - 1/175 x z DATA(-1, 0, -2) - 2/175 x z DATA(-2, 0, -2)
+
+ + 1/100 y z DATA(-2, -2, -1) - 1/50 y z DATA(2, 2, -2)
+
+ - 2/175 x z DATA(2, 0, 2) - 1/50 y z DATA(1, 2, -2)
+
+ + 1/175 x z DATA(-1, 0, 2) - 1/175 x z DATA(-2, 0, -1)
+
+ - 1/50 y z DATA(-1, 2, -2) + 1/50 y z DATA(-2, 1, -1)
+
+ 2
+ - 1/50 y z DATA(-2, -1, -1) - 2/245 z DATA(-2, 0, -2)
+
+ - 1/175 x z DATA(2, 0, 1) + 1/50 x y DATA(2, 2, 0)
+
+ - 1/175 x z DATA(1, 0, 2) - 1/100 y z DATA(-2, 2, -1)
+
+ + 1/175 x z DATA(2, 0, -1) - 1/25 x y DATA(2, 1, 0)
+
+ - 1/100 x y DATA(-1, 2, 0) + 2/175 x z DATA(-2, 0, 2)
+
+ + 1/25 x y DATA(2, -1, 0) - 1/350 x z DATA(1, 0, 1)
+
+ 2
+ - 1/100 y z DATA(-2, -2, 1) + 3/25 y DATA(-2, 0, 1)
+
+ + 1/350 x z DATA(-1, 0, 1) + 1/350 x z DATA(1, 0, -1)
+
+ - 1/350 x z DATA(-1, 0, -1) + 1/175 x z DATA(-2, 0, 1)
+
+ 2 2
+ - 2/245 x DATA(2, 0, -2) + 1/245 z DATA(-2, 0, -1)
+
+ 2 2
+ - 2/245 z DATA(2, 0, -2) - 2/245 z DATA(1, 0, -2)
+
+ 2
+ - 2/245 z DATA(-1, 0, -2) + 2/175 x DATA(-2, 0, 2)
+
+ 2 2
+ - 1/175 x DATA(1, 0, 1) - 2/245 z DATA(2, 0, 2) - 2/245 z DATA(-1, 0, 2)
+
+ 2 2
+ - 2/245 z DATA(1, 0, 2) - 2/245 z DATA(-2, 0, 2)
+
+ 2 2
+ + 1/245 z DATA(2, 0, -1) + 1/245 z DATA(-2, 0, 1)
+
+ 2 2
+ + 1/245 z DATA(1, 0, 1) + 1/245 z DATA(-1, 0, 1)
+
+ 2 2
+ + 1/245 z DATA(2, 0, 1) + 1/245 z DATA(-1, 0, -1)
+
+ 2
+ + 1/245 z DATA(1, 0, -1) + 2/175 z DATA(1, 0, -2)
+
+ + 2/175 z DATA(-2, 0, -2) + 2/175 z DATA(-1, 0, -2)
+
+ + 1/175 z DATA(-2, 0, -1) - 2/175 z DATA(2, 0, 2) + 2/175 z DATA(2, 0, -2)
+
+ - 2/175 z DATA(-1, 0, 2) - 2/175 z DATA(1, 0, 2) + 1/175 z DATA(2, 0, -1)
+
+ - 1/175 z DATA(2, 0, 1) + 1/175 z DATA(1, 0, -1) - 2/175 z DATA(-2, 0, 2)
+
+ - 1/175 z DATA(1, 0, 1) - 1/175 z DATA(-1, 0, 1) + 1/175 z DATA(-1, 0, -1)
+
+ 2 2
+ + 1/245 x DATA(1, 0, -2) + 1/245 x DATA(-1, 0, -2)
+
+ 2 2
+ - 2/245 x DATA(-2, 0, -2) - 2/245 x DATA(-2, 0, -1)
+
+ 2 2
+ - 2/245 x DATA(2, 0, 2) + 1/245 x DATA(-1, 0, 2)
+
+ 2
+ + 1/245 x DATA(1, 0, 2) - 1/175 z DATA(-2, 0, 1)
+
+ 2 2
+ - 2/245 x DATA(-2, 0, 2) + 1/245 x DATA(1, 0, 1)
+
+ 2 2
+ - 2/245 x DATA(2, 0, 1) + 1/245 x DATA(-1, 0, 1)
+
+ 2 2
+ - 2/245 x DATA(2, 0, -1) - 2/245 x DATA(-2, 0, 1)
+
+ 2 2
+ + 1/245 x DATA(-1, 0, -1) + 1/245 x DATA(1, 0, -1)
+
+ - 2/175 x DATA(2, 0, -2) - 1/175 x DATA(1, 0, -2)
+
+ + 1/175 x DATA(-1, 0, -2) + 2/175 x DATA(-2, 0, -2)
+
+ + 2/175 x DATA(-2, 0, -1) - 2/175 x DATA(2, 0, 2) + 1/175 x DATA(-1, 0, 2)
+
+ - 1/175 x DATA(1, 0, 2) - 2/175 x DATA(2, 0, -1) - 2/175 x DATA(2, 0, 1)
+
+ + 1/175 x DATA(-1, 0, -1) - 1/175 x DATA(1, 0, -1)
+
+ 166
+ + 1/175 x DATA(-1, 0, 1) + 2/175 x DATA(-2, 0, 1) + ---- DATA(-1, -1, -1)
+ 3675
+
+ 151 191
+ + ---- DATA(0, -1, -1) + ----- DATA(1, 2, -1) - 1/50 x y DATA(-1, -1, 0)
+ 3675 14700
+
+ 211
+ + 1/50 x y DATA(1, -1, 0) + 1/50 x y DATA(-1, 1, 0) + ---- DATA(2, 1, -1)
+ 3675
+
+ 191 311
+ + ----- DATA(-1, 2, -1) + ----- DATA(0, 2, -1) - 1/100 y z DATA(2, -2, 1)
+ 14700 14700
+
+ + 1/50 y z DATA(-2, -1, 1) - 1/50 y z DATA(-2, 1, 1)
+
+ 211
+ + ---- DATA(2, -1, -1) - 9/98 DATA(2, 0, -1) + 1/100 y z DATA(-2, 2, 1)
+ 3675
+
+ 211
+ - 1/50 x y DATA(1, 1, 0) - 1/50 y z DATA(-2, -2, 2) + ---- DATA(2, 1, 1)
+ 3675
+
+ 191 311 191
+ + ----- DATA(-1, 2, 1) + ----- DATA(0, 2, 1) + ----- DATA(1, 2, 1)
+ 14700 14700 14700
+
+ - 1/25 y z DATA(-1, -1, -2) + 1/50 x y DATA(-2, -2, 0)
+
+ - 1/25 x y DATA(-2, -1, 0) - 1/50 x y DATA(2, -2, 0)
+
+ 211
+ - 1/100 x y DATA(1, -2, 0) + 1/25 x y DATA(-2, 1, 0) + ---- DATA(2, -1, 1)
+ 3675
+
+ 166
+ - 9/98 DATA(2, 0, 1) + ---- DATA(1, -1, -1) - 1/50 x y DATA(-2, 2, 0)
+ 3675
+
+ 311
+ + 1/100 x y DATA(-1, -2, 0) + ----- DATA(1, 2, 0) - 1/300 DATA(2, 2, 0)
+ 14700
+
+ 311 431
+ + 4/75 DATA(2, 1, 0) + ----- DATA(-1, 2, 0) + ----- DATA(0, 2, 0)
+ 14700 14700
+
+ 169
+ + 4/75 DATA(2, -1, 0) - 1/10 DATA(2, 0, 0) - ----- DATA(2, 2, -1)
+ 14700
+
+ 169 256
+ - 1/50 y z DATA(0, -1, -1) - ----- DATA(1, 2, 2) + ---- DATA(-2, -1, -2)
+ 14700 3675
+
+ 529
+ - ----- DATA(2, 2, 2) - 1/175 x DATA(-1, 2, 0) - 1/175 x DATA(2, -1, 0)
+ 14700
+
+ 529 169 211
+ - ----- DATA(2, -2, -2) - ----- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 14700 14700 3675
+
+ 256 169
+ + ---- DATA(2, 1, 2) - ----- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2)
+ 3675 14700
+
+ 169
+ - 1/300 DATA(0, -2, -2) - ----- DATA(-1, -2, -2) - 9/98 DATA(1, 0, 2)
+ 14700
+
+ 33 211
+ - --- DATA(2, 0, 2) + ---- DATA(-1, 1, 2) - 1/100 y z DATA(0, 2, -1)
+ 490 3675
+
+ 529
+ + 4/75 DATA(0, 1, 2) + 1/100 y z DATA(0, 2, 1) - ----- DATA(-2, -2, -2)
+ 14700
+
+ 211 256
+ + ---- DATA(1, -1, 2) + ---- DATA(2, -1, 2) - 9/98 DATA(-1, 0, 2)
+ 3675 3675
+
+ 211
+ - 1/10 DATA(0, 0, 2) + ---- DATA(-1, -1, 2) + 4/75 DATA(0, -1, 2)
+ 3675
+
+ 169
+ - ----- DATA(2, 2, 1) - 1/175 x z DATA(-2, -1, -2)
+ 14700
+
+ 2 2
+ - 2/245 x DATA(0, -2, -1) - 2/245 x DATA(0, 2, -2)
+
+ 2 2 2
+ - 1/245 x DATA(1, 2, 0) + 2/245 x DATA(2, 2, 0) - 1/245 x DATA(2, 1, 0)
+
+ 2
+ - 1/245 x DATA(-1, 2, 0) + 2/175 x z DATA(2, 2, 2)
+
+ 529 2 2
+ - ----- DATA(-2, 2, -2) + 1/490 x DATA(1, 1, 0) - 2/245 x DATA(0, 2, -1)
+ 14700
+
+ 2 2
+ - 2/245 x DATA(0, 2, 1) + 2/245 x DATA(0, 0, -2)
+
+ 2 2
+ + 1/245 x DATA(0, -1, -2) + 2/245 x DATA(0, 0, 1)
+
+ 2 2
+ - 2/245 x DATA(0, 2, 2) - 2/245 x DATA(0, -2, -2)
+
+ 2 2
+ + 1/245 x DATA(0, 1, 2) + 1/245 x DATA(0, -1, 2)
+
+ 2 2
+ + 1/245 x DATA(0, 1, -2) + 2/245 x DATA(0, 0, -1)
+
+ - 2/175 x z DATA(2, -2, -2) - 1/700 x z DATA(-1, 1, -1)
+
+ 256 2 2
+ + ---- DATA(2, 1, -2) + 2/245 x DATA(0, 0, 0) + 1/245 x DATA(1, 0, 0)
+ 3675
+
+ 2
+ + 1/245 x DATA(0, 1, 0) - 2/175 z DATA(0, 0, 2)
+
+ 211
+ - 1/100 y z DATA(-1, 2, -1) + ---- DATA(1, 1, -2) + 4/75 DATA(0, 1, -2)
+ 3675
+
+ 211 256
+ + ---- DATA(-1, 1, -2) + ---- DATA(-2, 1, -2) - 1/50 y z DATA(0, 1, 1)
+ 3675 3675
+
+ 33
+ - 1/25 y z DATA(0, -1, -2) - --- DATA(2, 0, -2) - 1/10 DATA(0, 0, -2)
+ 490
+
+ + 1/350 z DATA(0, -1, -1) - 9/98 DATA(1, 0, -2) - 9/98 DATA(-1, 0, -2)
+
+ 33 256
+ + 1/100 y z DATA(0, -2, -1) - --- DATA(-2, 0, -2) + ---- DATA(2, -1, -2)
+ 490 3675
+
+ 211
+ + ---- DATA(1, -1, -2) - 1/175 x DATA(2, 1, 0) + 4/75 DATA(0, -1, -2)
+ 3675
+
+ 211
+ + ---- DATA(-1, -1, -2) - 1/50 y z DATA(0, 2, -2)
+ 3675
+
+ 2 2
+ + 1/245 x DATA(0, -1, 1) - 2/245 x DATA(0, -2, 2)
+
+ 2 2
+ - 2/245 x DATA(0, -2, 0) + 1/245 x DATA(0, -1, 0)
+
+ 2 2
+ + 1/490 x DATA(1, -1, 0) + 1/245 x DATA(-1, 0, 0)
+
+ 2
+ + 1/490 x DATA(-1, 1, 0) + 1/700 x z DATA(1, 1, -1)
+
+ 2
+ + 1/700 x z DATA(-1, 1, 1) + 2/245 x DATA(-2, -2, 0)
+
+ 2 2
+ - 1/245 x DATA(-2, -1, 0) + 2/245 x DATA(2, -2, 0)
+
+ 2 2
+ - 1/245 x DATA(1, -2, 0) - 1/245 x DATA(-2, 1, 0)
+
+ 2 2
+ + 2/245 x DATA(-2, 2, 0) - 2/245 x DATA(0, 2, 0)
+
+ 2 2
+ - 2/245 x DATA(2, 0, 0) - 2/245 x DATA(-2, 0, 0)
+
+ 2 2
+ - 2/245 x DATA(0, -2, 1) - 1/245 x DATA(-1, -2, 0)
+
+ 2 2
+ + 1/245 x DATA(0, 1, -1) - 2/245 z DATA(0, 0, -2)
+
+ 2 2
+ - 1/245 z DATA(0, -1, -2) - 1/245 z DATA(0, -2, -1)
+
+ 2 2
+ + 2/245 z DATA(0, 2, -2) - 2/245 z DATA(1, 2, 0)
+
+ 2 169
+ - 2/245 z DATA(2, 2, 0) - ----- DATA(2, -2, -1)
+ 14700
+
+ 2
+ - 1/700 x z DATA(1, -1, 1) + 1/245 z DATA(2, 1, 0)
+
+ 2 2
+ + 1/245 z DATA(2, -1, 0) - 2/245 z DATA(0, 0, 2)
+
+ 2 2
+ + 1/490 z DATA(0, -1, -1) - 2/245 z DATA(-1, 2, 0)
+
+ 2
+ + 1/490 z DATA(0, 1, 1) + 1/700 x z DATA(-1, -1, 1)
+
+ 2 2
+ + 2/245 z DATA(0, 2, 2) + 2/245 z DATA(0, -2, -2)
+
+ 2 2
+ - 1/245 z DATA(0, 1, 2) - 1/245 z DATA(0, -1, 2)
+
+ 2
+ - 1/175 x z DATA(-1, -2, 2) + 1/245 z DATA(1, 1, 0)
+
+ 2 2
+ + 1/245 z DATA(0, 0, 1) - 1/245 z DATA(0, 2, -1)
+
+ 2
+ - 1/245 z DATA(0, 2, 1) + 1/175 x z DATA(1, -2, 2)
+
+ 2
+ + 1/50 y z DATA(0, 2, 2) - 1/245 z DATA(0, 1, -2)
+
+ 2 2
+ + 1/245 z DATA(0, 0, -1) + 2/245 z DATA(0, 0, 0)
+
+ 2 2 191
+ + 2/245 z DATA(1, 0, 0) + 1/245 z DATA(0, 1, 0) + ----- DATA(1, -2, -1)
+ 14700
+
+ + 1/175 x z DATA(-2, -1, 2) + 2/175 x z DATA(2, -2, 2)
+
+ + 1/175 x z DATA(-2, 1, 2) - 1/700 x z DATA(1, 1, 1)
+
+ 311
+ - 2/175 x z DATA(-2, 2, 2) + ----- DATA(0, -2, -1)
+ 14700
+
+ + 1/50 y z DATA(0, -2, -2) - 1/25 y z DATA(0, 1, 2)
+
+ + 1/25 y z DATA(0, -1, 2) + 1/25 y z DATA(0, 1, -2)
+
+ 2 2
+ + 1/245 z DATA(-1, -1, 0) + 1/245 z DATA(0, -1, 0)
+
+ 2 2
+ + 1/245 z DATA(1, -1, 0) - 2/245 z DATA(0, -2, 0)
+
+ 2 2
+ + 1/490 z DATA(0, -1, 1) + 2/245 z DATA(0, -2, 2)
+
+ 2 2
+ + 2/245 z DATA(-1, 0, 0) + 1/245 z DATA(-1, 1, 0)
+
+ 191
+ - 1/700 x z DATA(-1, -1, -1) + ----- DATA(-1, -2, -1)
+ 14700
+
+ - 1/350 x z DATA(1, 2, -1) + 1/350 x z DATA(2, 1, -1)
+
+ 169 2
+ - ----- DATA(-2, -2, -1) + 1/245 z DATA(-2, -1, 0)
+ 14700
+
+ 2 2
+ - 2/245 z DATA(1, -2, 0) + 1/245 z DATA(-2, 1, 0)
+
+ 2 2
+ - 2/245 z DATA(-2, 2, 0) - 2/245 z DATA(0, 2, 0)
+
+ 2 2
+ + 2/245 z DATA(2, 0, 0) - 2/245 z DATA(2, -2, 0)
+
+ 2
+ + 1/350 x z DATA(-1, 2, -1) - 2/25 y DATA(0, 1, 1)
+
+ 2 2
+ - 2/245 z DATA(-1, -2, 0) + 1/490 z DATA(0, 1, -1)
+
+ 2 2
+ - 1/245 z DATA(0, -2, 1) - 2/245 z DATA(-2, -2, 0)
+
+ 2 2 2
+ + 2/245 z DATA(-2, 0, 0) + 3/25 y DATA(0, 0, 1) + 1/50 y DATA(0, 2, 1)
+
+ 2 2 2
+ - 2/25 y DATA(2, 1, 0) + 1/50 y DATA(-1, 2, 0) - 2/25 y DATA(2, -1, 0)
+
+ 2 2 2
+ + 3/25 y DATA(0, 0, 2) - 2/25 y DATA(0, -1, -1) + 3/25 y DATA(0, 0, -2)
+
+ 2 2
+ - 2/25 y DATA(0, -1, -2) + 1/50 y DATA(0, -2, -1)
+
+ 2 2 2
+ + 1/50 y DATA(0, 2, -2) + 1/50 y DATA(1, 2, 0) + 1/50 y DATA(2, 2, 0)
+
+ 2 2
+ + 1/50 y DATA(0, 2, -1) - 2/25 y DATA(1, 1, 0) + 2/175 z DATA(0, 0, -2)
+
+ + 1/175 z DATA(0, -1, -2) - 1/175 z DATA(0, -2, -1)
+
+ - 2/175 z DATA(0, 2, -2) - 1/175 z DATA(0, 2, -1) + 1/175 z DATA(0, 2, 1)
+
+ + 2/175 z DATA(0, 2, 2) - 2/175 z DATA(0, -2, -2) - 1/175 z DATA(0, 1, 2)
+
+ - 1/350 z DATA(0, 1, 1) - 1/175 z DATA(0, 0, 1) - 1/175 z DATA(0, -1, 2)
+
+ + 1/175 z DATA(0, 1, -2) + 1/175 z DATA(0, 0, -1)
+
+ + 1/350 x z DATA(2, -1, -1) - 1/350 x z DATA(2, 1, 1)
+
+ 529
+ - ----- DATA(2, 2, -2) - 1/350 x z DATA(-1, 2, 1) + 2/175 z DATA(0, -2, 2)
+ 14700
+
+ + 1/350 x z DATA(1, 2, 1) - 1/350 x z DATA(2, -1, 1)
+
+ 169
+ - ----- DATA(1, 2, -2) + 1/700 x z DATA(1, -1, -1)
+ 14700
+
+ - 1/350 z DATA(0, -1, 1) - 1/175 x z DATA(2, 2, -1)
+
+ + 1/350 z DATA(0, 1, -1) + 1/175 z DATA(0, -2, 1) - 1/300 DATA(0, 2, -2)
+
+ 169
+ + 1/175 x z DATA(1, 2, 2) - ----- DATA(-1, 2, -2)
+ 14700
+
+ 2 2
+ - 1/245 x DATA(2, -1, 0) + 2/245 x DATA(0, 0, 2)
+
+ 2 2 211
+ + 1/245 x DATA(0, -1, -1) + 1/245 x DATA(0, 1, 1) + ---- DATA(-2, 1, -1)
+ 3675
+
+ 2
+ - 1/50 y z DATA(0, -2, 2) + 1/50 y DATA(0, 2, 2)
+
+ 2 2 2
+ + 1/50 y DATA(0, -2, -2) - 2/25 y DATA(0, 1, 2) - 2/25 y DATA(0, -1, 2)
+
+ 2 2 2
+ - 2/25 y DATA(0, 1, -2) + 3/25 y DATA(0, 0, -1) + 3/25 y DATA(0, 0, 0)
+
+ 2 2 2
+ + 3/25 y DATA(1, 0, 0) - 2/25 y DATA(0, 1, 0) - 2/25 y DATA(0, -1, 1)
+
+ 2 2 2
+ + 1/50 y DATA(0, -2, 2) - 2/25 y DATA(0, -1, 0) - 2/25 y DATA(1, -1, 0)
+
+ 2 2 2
+ + 3/25 y DATA(-1, 0, 0) - 2/25 y DATA(-1, 1, 0) + 1/50 y DATA(0, -2, 0)
+
+ 2 2
+ - 2/25 y DATA(-1, -1, 0) + 3/25 y DATA(2, 0, 0)
+
+ 2 2
+ + 1/50 y DATA(-2, -2, 0) - 2/25 y DATA(-2, -1, 0)
+
+ 2
+ + 3/25 y DATA(-2, 0, 0) + 1/175 x DATA(1, 2, 0) + 2/175 x DATA(2, 2, 0)
+
+ 2 2
+ + 1/50 y DATA(-1, -2, 0) + 1/50 y DATA(2, -2, 0)
+
+ 2 2 2
+ + 1/50 y DATA(1, -2, 0) - 2/25 y DATA(-2, 1, 0) + 1/50 y DATA(-2, 2, 0)
+
+ 2 2
+ + 1/50 y DATA(0, 2, 0) - 1/175 x DATA(1, 0, 0) + 1/50 y DATA(0, -2, 1)
+
+ 2
+ - 2/25 y DATA(0, 1, -1) - 1/350 x DATA(1, 1, 0) - 9/98 DATA(-2, 0, -1)
+
+ + 1/350 x DATA(-1, 1, 0) + 1/350 x DATA(-1, -1, 0)
+
+ - 1/350 x DATA(1, -1, 0) + 1/175 x DATA(-1, 0, 0)
+
+ - 2/175 x DATA(-2, -2, 0) + 2/175 x DATA(2, -2, 0)
+
+ + 1/175 x DATA(-2, -1, 0) + 1/175 x DATA(-2, 1, 0)
+
+ + 1/175 x DATA(1, -2, 0) - 2/175 x DATA(-2, 2, 0) - 2/175 x DATA(2, 0, 0)
+
+ + 2/175 x DATA(-2, 0, 0) - 1/175 x DATA(-1, -2, 0)
+
+ + 1/25 y DATA(0, -1, -2) + 1/50 y DATA(0, 2, -2) + 1/50 y DATA(1, 2, 0)
+
+ + 1/50 y DATA(2, 2, 0) - 1/25 y DATA(2, 1, 0) + 1/50 y DATA(-1, 2, 0)
+
+ - 1/50 y DATA(0, -2, -1) + 1/25 y DATA(0, -1, -1) - 1/25 y DATA(0, 1, 1)
+
+ + 1/25 y DATA(0, -1, 2) - 1/25 y DATA(1, 1, 0) + 1/50 y DATA(0, 2, -1)
+
+ + 1/50 y DATA(0, 2, 1) - 1/25 y DATA(0, 1, 0) + 1/25 y DATA(0, -1, 1)
+
+ - 1/50 y DATA(0, -2, 2) + 1/25 y DATA(-1, -1, 0) - 1/25 y DATA(0, 1, 2)
+
+ - 1/25 y DATA(0, 1, -2) + 1/25 y DATA(0, -1, 0) + 1/25 y DATA(1, -1, 0)
+
+ 211
+ - 1/25 y DATA(-1, 1, 0) - 1/50 y DATA(0, -2, 0) + ---- DATA(-2, -1, -1)
+ 3675
+
+ - 1/50 y DATA(-2, -2, 0) - 1/50 y DATA(2, -2, 0) - 1/50 y DATA(1, -2, 0)
+
+ - 1/25 y DATA(-2, 1, 0) + 1/50 y DATA(-2, 2, 0) + 1/50 y DATA(0, 2, 0)
+
+ 2
+ + 1/25 y DATA(-2, -1, 0) + 1/490 x DATA(-1, -1, 0)
+
+ - 1/50 y DATA(0, -2, 1) - 1/50 y DATA(-1, -2, 0) - 1/25 y DATA(0, 1, -1)
+
+ 169 431
+ - ----- DATA(-2, 2, -1) + 1/50 y z DATA(0, -1, 1) + ----- DATA(0, -2, 0)
+ 14700 14700
+
+ 311
+ + ----- DATA(-1, -2, 0) - 1/300 DATA(-2, -2, 0) + 1/50 y DATA(0, 2, 2)
+ 14700
+
+ - 1/50 y DATA(0, -2, -2) + 1/25 y DATA(2, -1, 0) - 1/10 DATA(-2, 0, 0)
+
+ 311
+ + 4/75 DATA(-2, -1, 0) - 1/300 DATA(2, -2, 0) + ----- DATA(1, -2, 0)
+ 14700
+
+ - 1/175 x z DATA(-2, -2, 1) - 1/350 x z DATA(-1, -2, 1)
+
+ + 1/350 x z DATA(1, -2, 1) - 1/350 x z DATA(1, 1, 2) + 4/75 DATA(-2, 1, 0)
+
+ + 1/175 x z DATA(2, -2, 1) + 1/350 x z DATA(-2, -1, 1)
+
+ + 1/350 x z DATA(-2, 1, 1) - 1/175 x z DATA(-2, 2, 1)
+
+ - 2/175 x z DATA(-2, -2, 2) + 1/175 x z DATA(-2, -2, -1)
+
+ - 2/175 x z DATA(2, 2, -2) - 1/100 y z DATA(0, -2, 1)
+
+ + 1/50 y z DATA(0, 1, -1) - 1/175 x z DATA(1, 2, -2)
+
+ + 1/175 x z DATA(-1, 2, -2) - 1/300 DATA(-2, 2, 0)
+
+ - 1/350 x z DATA(-2, 1, -1) - 1/350 x z DATA(-2, -1, -1)
+
+ + 1/175 x z DATA(-2, 2, -1) + 1/350 x z DATA(1, -1, -2)
+
+ 169
+ - ----- DATA(-2, -2, 1) - 1/350 x z DATA(-1, -1, -2)
+ 14700
+
+ - 1/175 x z DATA(2, -2, -1) - 1/350 x z DATA(1, -2, -1)
+
+ + 1/350 x z DATA(-1, -2, -1) + 1/175 x z DATA(2, 2, 1)
+
+ + 2/175 x z DATA(-2, 2, -2) + 1/175 x z DATA(2, 1, -2)
+
+ 191
+ + 1/100 x y DATA(1, 2, 0) + ----- DATA(-1, -2, 1)
+ 14700
+
+ + 1/350 x z DATA(1, 1, -2) - 1/350 x z DATA(-1, 1, -2)
+
+ - 1/175 x z DATA(-2, 1, -2) + 1/175 x z DATA(2, -1, -2)
+
+ 191
+ + ----- DATA(1, -2, 1) + 1/350 x z DATA(-1, 1, 2)
+ 14700
+
+ + 2/175 x z DATA(-2, -2, -2) - 1/350 x z DATA(1, -1, 2)
+
+ 311
+ + ----- DATA(0, -2, 1) - 1/175 x z DATA(2, -1, 2)
+ 14700
+
+ + 1/350 x z DATA(-1, -1, 2) + 1/100 x y DATA(-1, -2, 1)
+
+ 169
+ - 1/100 x y DATA(1, -2, 1) - ----- DATA(2, -2, 1) - 1/50 x y DATA(1, 1, 2)
+ 14700
+
+ - 1/50 x y DATA(2, -2, 1) - 1/175 x z DATA(1, -2, -2)
+
+ - 1/175 x z DATA(2, 1, 2) - 1/175 x z DATA(-1, 2, 2)
+
+ + 1/175 x z DATA(-1, -2, -2) + 1/25 y z DATA(-1, -1, 2)
+
+ + 1/100 y z DATA(2, 2, 1) - 1/25 x y DATA(-2, -1, -1)
+
+ - 1/50 y z DATA(-2, 2, -2) - 1/25 y z DATA(1, -1, -2)
+
+ 2 2
+ - 1/245 z DATA(1, 2, 1) + 1/490 z DATA(2, -1, 1)
+
+ 2
+ + 1/490 z DATA(1, -1, -1) + 1/25 y z DATA(2, 1, -2)
+
+ + 1/50 x y DATA(-2, -2, 2) - 1/50 x y DATA(-2, 2, 1)
+
+ + 1/25 x y DATA(-2, 1, 1) - 1/25 x y DATA(-2, -1, 1)
+
+ 2 2
+ - 1/245 z DATA(2, 2, -1) - 1/245 z DATA(-2, -1, -2)
+
+ 2 2
+ + 2/245 z DATA(2, 2, 2) + 2/245 z DATA(2, -2, -2)
+
+ 2 2
+ + 1/490 z DATA(-1, 1, -1) + 2/245 z DATA(1, -2, -2)
+
+ 2 2
+ - 1/245 z DATA(2, 1, 2) + 2/245 z DATA(-1, 2, 2)
+
+ 2 2
+ + 2/245 z DATA(-1, -2, -2) - 1/245 z DATA(-1, 1, 2)
+
+ 2 2
+ + 2/245 z DATA(-2, -2, -2) - 1/245 z DATA(1, -1, 2)
+
+ 2 2
+ - 1/245 z DATA(2, -1, 2) - 1/245 z DATA(-1, -1, 2)
+
+ 2 2
+ - 1/245 z DATA(2, 2, 1) + 2/245 z DATA(-2, 2, -2)
+
+ 2 2
+ - 1/245 z DATA(2, 1, -2) - 1/245 z DATA(1, 1, -2)
+
+ 2 2
+ - 1/245 z DATA(-1, 1, -2) - 1/245 z DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 z DATA(-1, 2, 1) + 1/490 z DATA(1, 1, -1)
+
+ 2 2
+ + 1/490 z DATA(-1, 1, 1) + 1/490 z DATA(1, -1, 1)
+
+ 2 2
+ + 1/490 z DATA(-1, -1, 1) + 2/245 z DATA(-1, -2, 2)
+
+ 2 2
+ + 2/245 z DATA(1, -2, 2) - 1/245 z DATA(-2, -1, 2)
+
+ 2 2
+ + 2/245 z DATA(2, -2, 2) - 1/245 z DATA(-2, 1, 2)
+
+ 2 2
+ + 1/490 z DATA(1, 1, 1) + 2/245 z DATA(-2, 2, 2)
+
+ 2 2
+ + 1/490 z DATA(-1, -1, -1) - 1/245 z DATA(1, 2, -1)
+
+ 2 2
+ + 1/490 x DATA(1, 1, -1) - 2/25 y DATA(1, 1, -1)
+
+ 2 2
+ - 2/25 y DATA(-1, 1, 1) - 2/25 y DATA(1, -1, 1)
+
+ 2 2
+ - 2/25 y DATA(-1, -1, 1) + 1/50 y DATA(-1, -2, 2)
+
+ 2 2
+ + 1/50 y DATA(1, -2, 2) - 2/25 y DATA(-2, -1, 2)
+
+ 2 2 2
+ + 1/50 y DATA(2, -2, 2) - 2/25 y DATA(-2, 1, 2) - 2/25 y DATA(1, 1, 1)
+
+ 2 2
+ + 1/50 y DATA(-2, 2, 2) - 2/25 y DATA(-1, -1, -1)
+
+ 2 2
+ + 1/50 y DATA(1, 2, -1) - 2/25 y DATA(2, 1, -1)
+
+ 2 2
+ + 1/50 y DATA(-1, 2, -1) - 2/25 y DATA(2, -1, -1)
+
+ 2 2 2
+ - 2/25 y DATA(2, 1, 1) + 1/50 y DATA(-1, 2, 1) + 1/50 y DATA(1, 2, 1)
+
+ 2 2
+ - 2/25 y DATA(2, -1, 1) - 2/25 y DATA(1, -1, -1)
+
+ 2 2
+ + 1/50 y DATA(2, 2, -1) + 1/50 y DATA(1, 2, 2)
+
+ 2 2
+ - 2/25 y DATA(-2, -1, -2) + 1/50 y DATA(2, 2, 2)
+
+ 2 2
+ + 1/50 y DATA(2, -2, -2) - 2/25 y DATA(-1, 1, -1)
+
+ 2 2 2
+ + 1/50 y DATA(1, -2, -2) - 2/25 y DATA(2, 1, 2) + 1/50 y DATA(-1, 2, 2)
+
+ 2 2
+ + 1/50 y DATA(-1, -2, -2) - 2/25 y DATA(-1, 1, 2)
+
+ 2 2
+ + 1/50 y DATA(-2, -2, -2) - 2/25 y DATA(1, -1, 2)
+
+ 2 2 2
+ - 2/25 y DATA(2, -1, 2) - 2/25 y DATA(-1, -1, 2) + 1/50 y DATA(2, 2, 1)
+
+ 2 2
+ + 1/50 y DATA(-2, 2, -2) - 2/25 y DATA(2, 1, -2)
+
+ 2 2
+ - 2/25 y DATA(1, 1, -2) - 2/25 y DATA(-1, 1, -2)
+
+ - 1/25 y z DATA(1, 1, 2) - 1/100 y z DATA(1, -2, 1)
+
+ - 1/50 x y DATA(-2, 2, -1) + 1/50 x y DATA(-2, -2, 1)
+
+ 211
+ - 1/100 y z DATA(-1, -2, 1) + ---- DATA(-2, -1, 1)
+ 3675
+
+ 2
+ - 1/100 x y DATA(-1, 2, -2) + 2/245 x DATA(-2, -2, -2)
+
+ 2 2
+ + 1/490 x DATA(1, -1, 2) - 1/245 x DATA(2, -1, 2)
+
+ 2 2
+ + 1/490 x DATA(-1, -1, 2) + 2/245 x DATA(2, 2, 1)
+
+ 2 2
+ + 2/245 x DATA(-2, 2, -2) - 1/245 x DATA(2, 1, -2)
+
+ 2 2
+ + 1/490 x DATA(1, 1, -2) + 1/490 x DATA(-1, 1, -2)
+
+ 2 2
+ - 1/245 x DATA(-2, 1, -2) - 1/245 x DATA(2, -1, -2)
+
+ 2 2
+ + 1/490 x DATA(1, -1, -2) + 1/490 x DATA(-1, -1, -2)
+
+ 2 2
+ + 2/245 x DATA(2, -2, -1) - 1/245 x DATA(1, -2, -1)
+
+ 2 2
+ - 1/245 x DATA(1, -2, 2) + 1/490 x DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 x DATA(1, -1, 1) + 1/490 x DATA(-1, -1, 1)
+
+ 2 2
+ - 1/245 x DATA(-1, -2, 2) - 1/245 x DATA(-2, -1, 2)
+
+ 2 2
+ + 2/245 x DATA(2, -2, 2) - 1/245 x DATA(-2, 1, 2)
+
+ 2 2
+ + 1/490 x DATA(1, 1, 1) + 2/245 x DATA(-2, 2, 2)
+
+ 2 2
+ + 1/490 x DATA(-1, -1, -1) - 1/245 x DATA(1, 2, -1)
+
+ 2 2
+ - 1/245 x DATA(2, 1, -1) - 1/245 x DATA(-1, 2, -1)
+
+ 2 2
+ - 1/245 x DATA(2, -1, -1) - 1/245 x DATA(2, 1, 1)
+
+ 2 2
+ - 1/245 x DATA(-1, 2, 1) - 1/245 x DATA(1, 2, 1)
+
+ 2 2
+ - 1/245 x DATA(2, -1, 1) + 1/490 x DATA(1, -1, -1)
+
+ 2 2
+ + 2/245 x DATA(2, 2, -1) - 1/245 x DATA(1, 2, 2)
+
+ 2 2
+ - 1/245 x DATA(-2, -1, -2) + 2/245 x DATA(2, 2, 2)
+
+ 2 2
+ + 2/245 x DATA(2, -2, -2) + 1/490 x DATA(-1, 1, -1)
+
+ 2 2
+ - 1/245 x DATA(1, -2, -2) - 1/245 x DATA(2, 1, 2)
+
+ 2 2
+ - 1/245 x DATA(-1, 2, 2) - 1/245 x DATA(-1, -2, -2)
+
+ 2 2
+ + 1/490 x DATA(-1, 1, 2) - 1/245 x DATA(-1, -2, -1)
+
+ 2 2
+ + 2/245 x DATA(-2, -2, -1) + 2/245 x DATA(2, 2, -2)
+
+ 2 2
+ - 1/245 x DATA(1, 2, -2) - 1/245 x DATA(-1, 2, -2)
+
+ 2 2
+ - 1/245 x DATA(-2, 1, -1) - 1/245 x DATA(-2, -1, -1)
+
+ 2 2
+ + 2/245 x DATA(-2, 2, -1) + 2/245 x DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 x DATA(-1, -2, 1) - 1/245 x DATA(1, -2, 1)
+
+ 2 2
+ + 1/490 x DATA(1, 1, 2) + 2/245 x DATA(2, -2, 1)
+
+ 2 2
+ - 1/245 x DATA(-2, -1, 1) - 1/245 x DATA(-2, 1, 1)
+
+ 2 2
+ + 2/245 x DATA(-2, 2, 1) + 2/245 x DATA(-2, -2, 2)
+
+ + 1/25 y z DATA(-2, -1, 2) + 1/350 x DATA(-1, -1, 1)
+
+ - 1/175 x DATA(-1, -2, 2) + 1/175 x DATA(1, -2, 2)
+
+ + 1/175 x DATA(-2, -1, 2) + 2/175 x DATA(2, -2, 2)
+
+ + 1/175 x DATA(-2, 1, 2) - 1/350 x DATA(1, 1, 1) - 2/175 x DATA(-2, 2, 2)
+
+ + 1/350 x DATA(-1, -1, -1) + 1/175 x DATA(1, 2, -1)
+
+ - 1/175 x DATA(2, 1, -1) - 1/175 x DATA(-1, 2, -1)
+
+ - 1/175 x DATA(2, -1, -1) - 1/175 x DATA(2, 1, 1) - 1/175 x DATA(-1, 2, 1)
+
+ + 1/175 x DATA(1, 2, 1) - 1/175 x DATA(2, -1, 1) - 1/350 x DATA(1, -1, -1)
+
+ + 2/175 x DATA(2, 2, -1) + 1/175 x DATA(1, 2, 2)
+
+ + 1/175 x DATA(-2, -1, -2) - 1/350 x DATA(1, -1, 1)
+
+ + 2/175 x DATA(2, -2, -1) + 1/175 x DATA(1, -2, -1)
+
+ - 1/175 x DATA(-1, -2, -1) - 2/175 x DATA(-2, -2, -1)
+
+ + 2/175 x DATA(2, 2, -2) + 1/175 x DATA(1, 2, -2)
+
+ - 1/175 x DATA(-1, 2, -2) + 1/175 x DATA(-2, 1, -1)
+
+ + 1/175 x DATA(-2, -1, -1) - 2/175 x DATA(-2, 2, -1)
+
+ - 2/175 x DATA(-2, -2, 1) - 1/175 x DATA(-1, -2, 1)
+
+ + 1/175 x DATA(1, -2, 1) - 1/350 x DATA(1, 1, 2) + 2/175 x DATA(2, -2, 1)
+
+ - 1/350 x DATA(1, 1, -1) + 1/350 x DATA(-1, 1, 1) + 2/175 x DATA(2, 2, 2)
+
+ + 2/175 x DATA(2, -2, -2) + 1/350 x DATA(-1, 1, -1)
+
+ + 1/175 x DATA(1, -2, -2) - 1/175 x DATA(2, 1, 2) - 1/175 x DATA(-1, 2, 2)
+
+ - 1/175 x DATA(-1, -2, -2) + 1/350 x DATA(-1, 1, 2)
+
+ - 2/175 x DATA(-2, -2, -2) - 1/350 x DATA(1, -1, 2)
+
+ - 1/175 x DATA(2, -1, 2) + 1/350 x DATA(-1, -1, 2) + 2/175 x DATA(2, 2, 1)
+
+ - 2/175 x DATA(-2, 2, -2) - 1/175 x DATA(2, 1, -2)
+
+ - 1/350 x DATA(1, 1, -2) + 1/350 x DATA(-1, 1, -2)
+
+ + 1/175 x DATA(-2, 1, -2) - 1/175 x DATA(2, -1, -2)
+
+ - 1/350 x DATA(1, -1, -2) + 1/350 x DATA(-1, -1, -2)
+
+ + 1/175 x DATA(-2, -1, 1) + 1/175 x DATA(-2, 1, 1)
+
+ - 2/175 x DATA(-2, 2, 1) - 2/175 x DATA(-2, -2, 2)
+
+ + 1/350 z DATA(1, 1, -1) - 1/350 z DATA(-1, 1, 1) + 1/50 y DATA(-2, 2, -1)
+
+ - 1/25 y DATA(1, 1, -1) - 1/25 y DATA(-1, 1, 1) + 1/25 y DATA(1, -1, 1)
+
+ + 1/25 y DATA(-1, -1, 1) - 1/50 y DATA(-1, -2, 2) - 1/50 y DATA(1, -2, 2)
+
+ + 1/25 y DATA(-2, -1, 2) - 1/50 y DATA(2, -2, 2) - 1/25 y DATA(-2, 1, 2)
+
+ - 1/25 y DATA(1, 1, 1) + 1/50 y DATA(-2, 2, 2) + 1/25 y DATA(-1, -1, -1)
+
+ + 1/50 y DATA(1, 2, -1) - 1/25 y DATA(2, 1, -1) + 1/50 y DATA(-1, 2, -1)
+
+ + 1/25 y DATA(2, -1, -1) - 1/25 y DATA(2, 1, 1) + 1/50 y DATA(-1, 2, 1)
+
+ + 1/50 y DATA(1, 2, 1) + 1/25 y DATA(2, -1, 1) + 1/25 y DATA(1, -1, -1)
+
+ + 1/50 y DATA(2, 2, -1) + 1/50 y DATA(1, 2, 2) + 1/25 y DATA(-2, -1, -2)
+
+ + 1/50 y DATA(2, 2, 2) - 1/50 y DATA(2, -2, -2) - 1/25 y DATA(-1, 1, -1)
+
+ - 1/50 y DATA(1, -2, -2) - 1/25 y DATA(2, 1, 2) + 1/50 y DATA(-1, 2, 2)
+
+ - 1/50 y DATA(-1, -2, -2) - 1/25 y DATA(-1, 1, 2)
+
+ 2
+ - 1/50 y DATA(-2, -2, -2) - 1/245 z DATA(2, -1, -2)
+
+ 2 2
+ - 1/245 z DATA(1, -1, -2) - 1/245 z DATA(-1, -1, -2)
+
+ 2 2
+ - 1/245 z DATA(2, -2, -1) - 1/245 z DATA(1, -2, -1)
+
+ 2 2
+ - 1/245 z DATA(-1, -2, -1) - 1/245 z DATA(-2, -2, -1)
+
+ 2 2
+ + 2/245 z DATA(2, 2, -2) + 2/245 z DATA(1, 2, -2)
+
+ 2 2
+ + 2/245 z DATA(-1, 2, -2) + 1/490 z DATA(-2, 1, -1)
+
+ 2 2
+ + 1/490 z DATA(-2, -1, -1) - 1/245 z DATA(-2, 2, -1)
+
+ 2 2
+ - 1/245 z DATA(-2, -2, 1) - 1/245 z DATA(-1, -2, 1)
+
+ 2 2
+ - 1/245 z DATA(1, -2, 1) - 1/245 z DATA(1, 1, 2)
+
+ 2 2
+ - 1/245 z DATA(2, -2, 1) + 1/490 z DATA(-2, -1, 1)
+
+ 2 2
+ + 1/490 z DATA(-2, 1, 1) - 1/245 z DATA(-2, 2, 1)
+
+ 2 2
+ + 2/245 z DATA(-2, -2, 2) + 1/490 z DATA(2, 1, -1)
+
+ 2 2
+ - 1/245 z DATA(-1, 2, -1) + 1/490 z DATA(2, -1, -1)
+
+ + 1/25 y DATA(1, -1, 2) + 1/25 y DATA(2, -1, 2) + 1/25 y DATA(-1, -1, 2)
+
+ + 1/50 y DATA(2, 2, 1) + 1/50 y DATA(-2, 2, -2) - 1/25 y DATA(2, 1, -2)
+
+ - 1/25 y DATA(1, 1, -2) - 1/25 y DATA(-1, 1, -2) - 1/25 y DATA(-2, 1, -2)
+
+ + 1/25 y DATA(2, -1, -2) + 1/25 y DATA(1, -1, -2)
+
+ + 1/25 y DATA(-1, -1, -2) - 1/50 y DATA(2, -2, -1)
+
+ - 1/50 y DATA(1, -2, -1) - 1/50 y DATA(-1, -2, -1)
+
+ - 1/50 y DATA(-2, -2, -1) + 1/50 y DATA(2, 2, -2) + 1/50 y DATA(1, 2, -2)
+
+ + 1/50 y DATA(-1, 2, -2) - 1/25 y DATA(-2, 1, -1)
+
+ + 1/25 y DATA(-2, -1, -1) - 1/50 y DATA(-2, -2, 1)
+
+ - 1/50 y DATA(-1, -2, 1) - 1/50 y DATA(1, -2, 1) - 1/25 y DATA(1, 1, 2)
+
+ - 1/50 y DATA(2, -2, 1) + 1/25 y DATA(-2, -1, 1) - 1/25 y DATA(-2, 1, 1)
+
+ + 1/50 y DATA(-2, 2, 1) - 1/50 y DATA(-2, -2, 2) + 2/175 z DATA(-1, 2, 2)
+
+ - 1/175 z DATA(-1, 1, 2) - 2/175 z DATA(-2, -2, -2)
+
+ - 1/175 z DATA(1, -1, 2) - 1/175 z DATA(2, -1, 2)
+
+ - 1/175 z DATA(-1, -1, 2) + 1/175 z DATA(2, 2, 1)
+
+ - 2/175 z DATA(-2, 2, -2) + 1/175 z DATA(2, 1, -2)
+
+ + 1/175 z DATA(1, 1, -2) + 1/175 z DATA(-1, 1, -2)
+
+ + 1/175 z DATA(-2, 1, -2) + 1/175 z DATA(2, -1, -2)
+
+ + 1/175 z DATA(1, -1, -2) + 1/175 z DATA(-1, -1, -2)
+
+ - 1/175 z DATA(2, -2, -1) - 1/175 z DATA(1, -2, -1)
+
+ - 1/175 z DATA(-1, -2, -1) - 1/175 z DATA(-2, -2, -1)
+
+ - 2/175 z DATA(2, 2, -2) - 2/175 z DATA(1, 2, -2)
+
+ - 2/175 z DATA(-1, 2, -2) + 1/350 z DATA(-2, 1, -1)
+
+ + 1/350 z DATA(-2, -1, -1) - 1/175 z DATA(-2, 2, -1)
+
+ + 1/175 z DATA(-2, -2, 1) + 1/175 z DATA(-1, -2, 1)
+
+ + 1/175 z DATA(1, -2, 1) - 1/175 z DATA(1, 1, 2) + 1/175 z DATA(2, -2, 1)
+
+ - 1/350 z DATA(-2, -1, 1) - 1/350 z DATA(-2, 1, 1)
+
+ + 1/175 z DATA(-2, 2, 1) + 2/175 z DATA(-2, -2, 2)
+
+ 2
+ - 2/175 z DATA(-1, -2, -2) - 2/25 y DATA(-2, 1, -2)
+
+ 2 2
+ - 2/25 y DATA(2, -1, -2) - 2/25 y DATA(1, -1, -2)
+
+ 2 2
+ - 2/25 y DATA(-1, -1, -2) + 1/50 y DATA(2, -2, -1)
+
+ 2 2
+ + 1/50 y DATA(1, -2, -1) + 1/50 y DATA(-1, -2, -1)
+
+ 2 2
+ + 1/50 y DATA(-2, -2, -1) + 1/50 y DATA(2, 2, -2)
+
+ 2 2
+ + 1/50 y DATA(1, 2, -2) + 1/50 y DATA(-1, 2, -2)
+
+ 2 2
+ - 2/25 y DATA(-2, 1, -1) - 2/25 y DATA(-2, -1, -1)
+
+ 2 2
+ + 1/50 y DATA(-2, 2, -1) + 1/50 y DATA(-2, -2, 1)
+
+ 2 2 2
+ + 1/50 y DATA(-1, -2, 1) + 1/50 y DATA(1, -2, 1) - 2/25 y DATA(1, 1, 2)
+
+ 2 2
+ + 1/50 y DATA(2, -2, 1) - 2/25 y DATA(-2, -1, 1)
+
+ 2 2
+ - 2/25 y DATA(-2, 1, 1) + 1/50 y DATA(-2, 2, 1)
+
+ 2
+ + 1/50 y DATA(-2, -2, 2) - 1/350 z DATA(1, -1, 1)
+
+ - 1/350 z DATA(-1, -1, 1) + 2/175 z DATA(-1, -2, 2)
+
+ + 2/175 z DATA(1, -2, 2) - 1/175 z DATA(-2, -1, 2)
+
+ + 2/175 z DATA(2, -2, 2) - 1/175 z DATA(-2, 1, 2) - 1/350 z DATA(1, 1, 1)
+
+ + 2/175 z DATA(-2, 2, 2) + 1/350 z DATA(-1, -1, -1)
+
+ - 1/175 z DATA(1, 2, -1) + 1/350 z DATA(2, 1, -1)
+
+ - 1/175 z DATA(-1, 2, -1) + 1/350 z DATA(2, -1, -1)
+
+ - 1/350 z DATA(2, 1, 1) + 1/175 z DATA(-1, 2, 1) + 1/175 z DATA(1, 2, 1)
+
+ - 1/350 z DATA(2, -1, 1) + 1/350 z DATA(1, -1, -1)
+
+ - 1/175 z DATA(2, 2, -1) + 2/175 z DATA(1, 2, 2)
+
+ + 1/175 z DATA(-2, -1, -2) + 2/175 z DATA(2, 2, 2)
+
+ - 2/175 z DATA(2, -2, -2) + 1/350 z DATA(-1, 1, -1)
+
+ - 2/175 z DATA(1, -2, -2) - 1/175 z DATA(2, 1, 2) - 1/25 y z DATA(2, 1, 2)
+
+ + 1/50 y z DATA(-1, 1, -1) + 1/50 y z DATA(2, -2, -2)
+
+ + 1/25 y z DATA(1, 1, -2) + 1/25 y z DATA(-1, 1, -2)
+
+ - 1/25 y z DATA(-2, -1, -2) + 1/50 y z DATA(2, 2, 2)
+
+ - 1/50 y z DATA(1, -1, -1) - 1/100 y z DATA(2, 2, -1)
+
+ + 1/50 y z DATA(1, 2, 2) + 1/100 y z DATA(1, 2, 1)
+
+ + 1/50 y z DATA(2, -1, 1) - 1/50 y z DATA(2, -1, -1)
+
+ - 1/50 y z DATA(2, 1, 1) + 1/100 y z DATA(-1, 2, 1)
+
+ + 1/50 y z DATA(2, 1, -1) - 1/50 y z DATA(-1, -1, -1)
+
+ - 1/100 y z DATA(1, 2, -1) + 1/50 y z DATA(-2, 2, 2)
+
+ + 1/50 y z DATA(1, 1, -1) - 1/25 y z DATA(-2, 1, 2)
+
+ - 1/50 x y DATA(1, 1, -1) - 1/50 y z DATA(2, -2, 2)
+
+ - 1/50 y z DATA(1, -2, 2) - 1/50 y z DATA(-1, -2, 2)
+
+ + 1/50 y z DATA(1, -2, -2) + 1/25 y z DATA(2, -1, 2)
+
+ + 1/50 y z DATA(-2, -2, -2) + 1/50 y z DATA(-1, -1, 1)
+
+ + 1/25 y z DATA(1, -1, 2) + 1/50 y z DATA(-1, -2, -2)
+
+ - 1/25 y z DATA(-1, 1, 2) + 1/50 y z DATA(1, -1, 1)
+
+ - 1/50 y z DATA(-1, 1, 1) + 1/50 y z DATA(-1, 2, 2)
+
+ 2
+ + 1/25 y z DATA(-2, 1, -2) + 1/490 z DATA(2, 1, 1)
+
+ + 1/25 x y DATA(-2, 1, -1) - 1/25 y z DATA(2, -1, -2)
+
+ - 1/50 y z DATA(1, 1, 1) + 1/50 x y DATA(2, 2, -2)
+
+ + 1/100 x y DATA(1, 2, -2) + 1/50 x y DATA(-2, -2, -1)
+
+ + 1/50 x y DATA(1, -1, -2) - 1/50 x y DATA(-1, -1, -2)
+
+ - 1/50 x y DATA(2, -2, -1) - 1/100 x y DATA(1, -2, -1)
+
+ + 1/100 x y DATA(-1, -2, -1) + 1/25 x y DATA(-2, 1, -2)
+
+ + 1/25 x y DATA(2, -1, -2) - 1/50 x y DATA(1, 1, -2)
+
+ + 1/50 x y DATA(-1, 1, -2) - 1/50 x y DATA(-2, 2, -2)
+
+ - 9/98 DATA(-2, 0, 1) - 1/25 x y DATA(2, 1, -2) + 1/50 x y DATA(1, -1, 2)
+
+ + 1/25 x y DATA(2, -1, 2) - 1/50 x y DATA(-1, -1, 2)
+
+ 211
+ + 1/50 x y DATA(2, 2, 1) + ---- DATA(-2, 1, 1)
+ 3675
+
+ + 1/100 x y DATA(-1, -2, -2) + 1/50 x y DATA(-1, 1, 2)
+
+ + 1/50 x y DATA(-2, -2, -2) + 1/50 x y DATA(-1, 1, -1)
+
+ - 1/100 x y DATA(1, -2, -2) - 1/25 x y DATA(2, 1, 2)
+
+ 169
+ - 1/100 x y DATA(-1, 2, 2) - ----- DATA(-2, 2, 1) + 1/50 x y DATA(2, 2, 2)
+ 14700
+
+ - 1/50 x y DATA(2, -2, -2) + 1/50 x y DATA(1, -1, -1)
+
+ + 1/50 x y DATA(2, 2, -1) + 1/100 x y DATA(1, 2, 2)
+
+ - 1/25 x y DATA(-2, -1, -2) + 1/100 x y DATA(1, 2, 1)
+
+ + 1/25 x y DATA(2, -1, 1) - 1/100 x y DATA(-1, 2, 1)
+
+ 529 2
+ - ----- DATA(-2, -2, 2) + 2/245 z DATA(1, 2, 2)
+ 14700
+
+ + 1/25 x y DATA(2, -1, -1) - 1/100 x y DATA(-1, 2, -1)
+
+ - 1/25 x y DATA(2, 1, -1) + 1/100 x y DATA(1, 2, -1)
+
+ - 1/50 x y DATA(-1, -1, -1) - 1/50 x y DATA(-2, 2, 2)
+
+ - 1/50 x y DATA(1, 1, 1) + 1/25 x y DATA(-2, 1, 2)
+
+ - 1/50 x y DATA(2, -2, 2) - 1/25 x y DATA(-2, -1, 2)
+
+ - 1/100 x y DATA(1, -2, 2) + 1/100 x y DATA(-1, -2, 2)
+
+ - 1/50 x y DATA(-1, -1, 1) + 1/50 x y DATA(1, -1, 1)
+
+ + 1/50 x y DATA(-1, 1, 1) - 1/25 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=2262396640, alloc=15136044, time=360.57
+bytes used=2263396860, alloc=15136044, time=360.65
+bytes used=2264467660, alloc=15136044, time=360.74
+bytes used=2265468004, alloc=15136044, time=360.82
+bytes used=2266487068, alloc=15136044, time=360.90
+bytes used=2267571584, alloc=15136044, time=360.99
+bytes used=2268571724, alloc=15136044, time=361.07
+bytes used=2269571872, alloc=15136044, time=361.16
+bytes used=2270572288, alloc=15136044, time=361.24
+bytes used=2271572552, alloc=15136044, time=361.33
+bytes used=2272572924, alloc=15136044, time=361.42
+bytes used=2273573044, alloc=15136044, time=361.50
+bytes used=2274613716, alloc=15136044, time=361.60
+bytes used=2275613840, alloc=15136044, time=361.69
+bytes used=2276625256, alloc=15136044, time=361.78
+bytes used=2277642992, alloc=15136044, time=361.87
+bytes used=2278644416, alloc=15136044, time=361.97
+bytes used=2279644600, alloc=15136044, time=362.06
+bytes used=2280653876, alloc=15136044, time=362.16
+bytes used=2281665528, alloc=15136044, time=362.26
+bytes used=2282665688, alloc=15136044, time=362.36
+bytes used=2283665804, alloc=15136044, time=362.46
+bytes used=2284680804, alloc=15136044, time=362.57
+bytes used=2285681980, alloc=15136044, time=362.68
+bytes used=2286692200, alloc=15136044, time=362.79
+bytes used=2287700944, alloc=15136044, time=362.87
+bytes used=2288719012, alloc=15136044, time=362.94
+bytes used=2289737240, alloc=15136044, time=363.02
+bytes used=2290755260, alloc=15136044, time=363.10
+ 2 529
+[COEFF(-2, -2, -2) = 2/245 x + 1/50 y z + 2/175 x z + 1/50 x y - -----
+ 14700
+
+ 2 2
+ + 2/245 z - 1/50 y - 2/175 z - 2/175 x + 1/50 y , COEFF(-1, -2, -2) =
+
+ 2 2
+ 1/175 x z + 1/50 y - 2/175 z - 1/175 x - 1/50 y - 1/245 x + 1/100 x y
+
+ 169 2
+ - ----- + 1/50 y z + 2/245 z , COEFF(0, -2, -2) =
+ 14700
+
+ 2 2 2
+ - 1/300 - 1/50 y + 1/50 y + 1/50 y z + 2/245 z - 2/175 z - 2/245 x ,
+
+ 2 2 169
+ COEFF(1, -2, -2) = - 1/175 x z + 2/245 z + 1/50 y - ----- - 2/175 z
+ 14700
+
+ 2
+ + 1/175 x - 1/245 x + 1/50 y z - 1/50 y - 1/100 x y, COEFF(2, -2, -2) =
+
+ 2 2 2 529
+ - 1/50 x y + 2/245 z + 1/50 y + 2/245 x - ----- - 2/175 x z - 2/175 z
+ 14700
+
+ 2
+ + 1/50 y z + 2/175 x - 1/50 y, COEFF(-2, -1, -2) = - 1/25 x y - 2/25 y
+
+ 2 256
+ - 1/245 z + 1/175 x + 1/175 z + 1/25 y + ---- - 1/175 x z - 1/25 y z
+ 3675
+
+ 2 2
+ - 1/245 x , COEFF(-1, -1, -2) = 1/350 x - 1/245 z - 1/350 x z - 1/25 y z
+
+ 2 2 211
+ + 1/490 x + 1/175 z + 1/25 y - 2/25 y + ---- - 1/50 x y,
+ 3675
+
+ COEFF(0, -1, -2) =
+
+ 2 2 2
+ 4/75 + 1/25 y - 1/25 y z - 1/245 z + 1/245 x - 2/25 y + 1/175 z,
+
+ 2 2 211
+ COEFF(1, -1, -2) = 1/490 x - 2/25 y + ---- + 1/50 x y + 1/350 x z
+ 3675
+
+ 2
+ + 1/25 y + 1/175 z - 1/350 x - 1/245 z - 1/25 y z, COEFF(2, -1, -2) =
+
+ 2 2 2
+ - 1/245 z - 2/25 y + 1/175 z + 1/25 y - 1/245 x + 1/25 x y + 1/175 x z
+
+ 256
+ - 1/25 y z - 1/175 x + ----, COEFF(-2, 0, -2) =
+ 3675
+
+ 2 2 2 33
+ - 2/175 x z + 3/25 y + 2/175 x - 2/245 z - 2/245 x - --- + 2/175 z,
+ 490
+
+ COEFF(-1, 0, -2) =
+
+ 2 2 2
+ - 2/245 z - 9/98 + 1/175 x + 2/175 z - 1/175 x z + 1/245 x + 3/25 y ,
+
+ 2 2 2
+ COEFF(0, 0, -2) = - 1/10 + 3/25 y + 2/175 z + 2/245 x - 2/245 z ,
+
+ COEFF(1, 0, -2) =
+
+ 2 2 2
+ 1/175 x z - 2/245 z + 2/175 z + 1/245 x - 9/98 - 1/175 x + 3/25 y ,
+
+ COEFF(2, 0, -2) =
+
+ 2 33 2 2
+ 2/175 z - 2/245 x - --- + 2/175 x z - 2/175 x - 2/245 z + 3/25 y ,
+ 490
+
+ 2 2
+ COEFF(-2, 1, -2) = - 2/25 y - 1/245 x - 1/25 y + 1/175 z + 1/175 x
+
+ 2 256
+ + 1/25 y z + 1/25 x y - 1/245 z + ---- - 1/175 x z, COEFF(-1, 1, -2) =
+ 3675
+
+ 2 2 211
+ - 2/25 y + 1/490 x + 1/175 z + 1/25 y z + 1/350 x + ---- - 1/350 x z
+ 3675
+
+ 2
+ - 1/25 y - 1/245 z + 1/50 x y, COEFF(0, 1, -2) =
+
+ 2 2 2
+ - 2/25 y - 1/25 y + 1/25 y z + 1/175 z + 4/75 + 1/245 x - 1/245 z ,
+
+ 211 2
+ COEFF(1, 1, -2) = ---- + 1/490 x + 1/175 z + 1/25 y z + 1/350 x z
+ 3675
+
+ 2 2
+ - 1/50 x y - 2/25 y - 1/25 y - 1/245 z - 1/350 x, COEFF(2, 1, -2) =
+
+ 2
+ 1/25 y z - 1/25 y - 1/25 x y - 1/245 x + 1/175 z - 1/175 x + 1/175 x z
+
+ 2 2 256 2
+ - 2/25 y - 1/245 z + ----, COEFF(-2, 2, -2) = - 1/50 y z + 1/50 y
+ 3675
+
+ 2 529 2
+ + 2/245 z + 2/175 x z + 1/50 y - ----- - 2/175 x - 2/175 z + 2/245 x
+ 14700
+
+ - 1/50 x y, COEFF(-1, 2, -2) = - 1/50 y z + 1/175 x z - 2/175 z + 1/50 y
+
+ 169 2 2 2
+ - ----- + 2/245 z - 1/175 x - 1/100 x y + 1/50 y - 1/245 x ,
+ 14700
+
+ COEFF(0, 2, -2) =
+
+ 2 2 2
+ - 1/300 + 2/245 z - 2/175 z + 1/50 y + 1/50 y - 1/50 y z - 2/245 x ,
+
+ 169 2
+ COEFF(1, 2, -2) = 1/175 x - ----- - 1/245 x + 1/50 y - 2/175 z - 1/175 x z
+ 14700
+
+ 2 2 2
+ + 1/50 y + 1/100 x y + 2/245 z - 1/50 y z, COEFF(2, 2, -2) = 2/245 z
+
+ 2 529 2
+ + 1/50 y - ----- + 1/50 y - 2/175 z - 2/175 x z + 2/245 x + 2/175 x
+ 14700
+
+ 2
+ - 1/50 y z + 1/50 x y, COEFF(-2, -2, -1) = 2/245 x - 1/175 z + 1/100 y z
+
+ 2 169 2
+ + 1/50 x y - 2/175 x - 1/50 y + 1/50 y - ----- - 1/245 z + 1/175 x z,
+ 14700
+
+ 191 2 2
+ COEFF(-1, -2, -1) = ----- + 1/100 x y + 1/50 y - 1/245 x - 1/175 z
+ 14700
+
+ 2
+ + 1/350 x z - 1/245 z + 1/100 y z - 1/50 y - 1/175 x, COEFF(0, -2, -1) =
+
+ 2 311 2 2
+ - 1/50 y - 1/175 z + 1/100 y z - 2/245 x + ----- + 1/50 y - 1/245 z ,
+ 14700
+
+ 2 2
+ COEFF(1, -2, -1) = - 1/350 x z + 1/175 x - 1/245 x + 1/50 y - 1/50 y
+
+ 191 2
+ + ----- - 1/100 x y - 1/245 z - 1/175 z + 1/100 y z, COEFF(2, -2, -1) =
+ 14700
+
+ 169 2
+ - 1/50 y - 1/175 x z - 1/50 x y - 1/175 z + 1/100 y z - ----- + 2/245 x
+ 14700
+
+ 2 2 2
+ - 1/245 z + 2/175 x + 1/50 y , COEFF(-2, -1, -1) = - 1/245 x - 1/50 y z
+
+ 2 2
+ - 1/25 x y - 1/350 x z - 2/25 y + 1/490 z + 1/350 z + 1/25 y + 1/175 x
+
+ 211 2 2
+ + ----, COEFF(-1, -1, -1) = - 1/50 x y + 1/490 x + 1/350 x + 1/490 z
+ 3675
+
+ 2 166
+ + 1/25 y - 2/25 y + 1/350 z + ---- - 1/700 x z - 1/50 y z,
+ 3675
+
+ COEFF(0, -1, -1) =
+
+ 151 2 2 2
+ ---- + 1/490 z - 2/25 y + 1/350 z + 1/245 x + 1/25 y - 1/50 y z,
+ 3675
+
+ 2 166 2
+ COEFF(1, -1, -1) = 1/490 z + ---- + 1/490 x - 1/350 x - 1/50 y z
+ 3675
+
+ 2
+ + 1/350 z + 1/25 y + 1/700 x z - 2/25 y + 1/50 x y, COEFF(2, -1, -1) =
+
+ 2 2 211
+ - 2/25 y + 1/350 x z - 1/245 x + ---- + 1/350 z + 1/25 x y - 1/50 y z
+ 3675
+
+ 2
+ - 1/175 x + 1/25 y + 1/490 z , COEFF(-2, 0, -1) =
+
+ 2 2 2
+ 2/175 x - 1/175 x z + 1/245 z + 3/25 y - 2/245 x - 9/98 + 1/175 z,
+
+ COEFF(-1, 0, -1) =
+
+ 57 2 2 2
+ - 1/350 x z + 1/175 z - --- + 3/25 y + 1/245 z + 1/245 x + 1/175 x,
+ 490
+
+ 2 2 2 61
+ COEFF(0, 0, -1) = 1/175 z + 2/245 x + 1/245 z + 3/25 y - ---,
+ 490
+
+ COEFF(1, 0, -1) =
+
+ 2 2 57 2
+ 3/25 y + 1/245 z - 1/175 x - --- + 1/350 x z + 1/175 z + 1/245 x ,
+ 490
+
+ COEFF(2, 0, -1) =
+
+ 2 2 2
+ 1/175 z - 9/98 + 3/25 y - 2/175 x + 1/245 z - 2/245 x + 1/175 x z,
+
+ 211 2
+ COEFF(-2, 1, -1) = 1/350 z + 1/50 y z + ---- - 1/25 y - 1/245 x + 1/175 x
+ 3675
+
+ 2 2 2
+ - 1/350 x z + 1/25 x y - 2/25 y + 1/490 z , COEFF(-1, 1, -1) = 1/490 x
+
+ 2 2
+ + 1/490 z + 1/50 x y - 2/25 y + 1/350 z + 1/350 x - 1/700 x z - 1/25 y
+
+ 166
+ + 1/50 y z + ----, COEFF(0, 1, -1) =
+ 3675
+
+ 151 2 2 2
+ ---- - 2/25 y - 1/25 y + 1/245 x + 1/490 z + 1/350 z + 1/50 y z,
+ 3675
+
+ 166
+ COEFF(1, 1, -1) = ---- + 1/700 x z + 1/50 y z - 1/350 x - 1/50 x y - 1/25 y
+ 3675
+
+ 2 2 2 2
+ + 1/490 x - 2/25 y + 1/490 z + 1/350 z, COEFF(2, 1, -1) = - 2/25 y
+
+ 2 2
+ - 1/25 x y + 1/490 z + 1/350 z + 1/350 x z + 1/50 y z - 1/245 x - 1/25 y
+
+ 211 2
+ - 1/175 x + ----, COEFF(-2, 2, -1) = - 1/50 x y + 1/50 y - 1/175 z
+ 3675
+
+ 169 2 2
+ + 1/175 x z - ----- + 2/245 x - 1/245 z - 1/100 y z + 1/50 y - 2/175 x,
+ 14700
+
+ 191
+ COEFF(-1, 2, -1) = - 1/100 y z + 1/50 y - 1/175 z + ----- - 1/175 x
+ 14700
+
+ 2 2 2
+ - 1/100 x y - 1/245 x + 1/350 x z + 1/50 y - 1/245 z , COEFF(0, 2, -1)
+
+ 311 2 2 2
+ = ----- - 1/175 z - 1/245 z + 1/50 y + 1/50 y - 2/245 x - 1/100 y z,
+ 14700
+
+ 2 2
+ COEFF(1, 2, -1) = 1/175 x - 1/100 y z - 1/245 x - 1/175 z - 1/245 z
+
+ 191 2
+ + ----- + 1/100 x y - 1/350 x z + 1/50 y + 1/50 y , COEFF(2, 2, -1) =
+ 14700
+
+ 2 2
+ 1/50 x y - 1/175 x z + 1/50 y - 1/175 z + 2/175 x - 1/245 z + 2/245 x
+
+ 169 2
+ - 1/100 y z - ----- + 1/50 y , COEFF(-2, -2, 0) =
+ 14700
+
+ 2 2 2
+ 2/245 x - 2/245 z + 1/50 x y + 1/50 y - 1/300 - 2/175 x - 1/50 y,
+
+ COEFF(-1, -2, 0) =
+
+ 2 2 311 2
+ 1/100 x y - 1/175 x - 2/245 z + 1/50 y + ----- - 1/50 y - 1/245 x ,
+ 14700
+
+ 2 2 2 431
+ COEFF(0, -2, 0) = - 2/245 z + 1/50 y - 1/50 y - 2/245 x + -----,
+ 14700
+
+ COEFF(1, -2, 0) =
+
+ 2 311 2 2
+ - 1/245 x + 1/175 x + ----- - 1/100 x y + 1/50 y - 1/50 y - 2/245 z ,
+ 14700
+
+ COEFF(2, -2, 0) =
+
+ 2 2 2
+ 2/245 x + 1/50 y - 1/50 y - 1/50 x y - 1/300 - 2/245 z + 2/175 x,
+
+ COEFF(-2, -1, 0) =
+
+ 2 2 2
+ - 2/25 y - 1/25 x y + 1/175 x - 1/245 x + 4/75 + 1/245 z + 1/25 y,
+
+ COEFF(-1, -1, 0) =
+
+ 151 2 2 2
+ ---- + 1/245 z + 1/25 y + 1/490 x - 2/25 y - 1/50 x y + 1/350 x,
+ 3675
+
+ 2 2 2 136
+ COEFF(0, -1, 0) = - 2/25 y + 1/245 x + 1/245 z + 1/25 y + ----,
+ 3675
+
+ COEFF(1, -1, 0) =
+
+ 2 2 2 151
+ 1/245 z + 1/490 x - 2/25 y - 1/350 x + 1/25 y + 1/50 x y + ----,
+ 3675
+
+ COEFF(2, -1, 0) =
+
+ 2 2 2
+ - 1/245 x + 1/25 x y + 4/75 + 1/245 z - 1/175 x - 2/25 y + 1/25 y,
+
+ 2 2 2
+ COEFF(-2, 0, 0) = - 1/10 - 2/245 x + 2/245 z + 2/175 x + 3/25 y ,
+
+ 61 2 2 2
+ COEFF(-1, 0, 0) = - --- + 1/245 x + 1/175 x + 3/25 y + 2/245 z ,
+ 490
+
+ 13 2 2 2
+ COEFF(0, 0, 0) = - -- + 3/25 y + 2/245 x + 2/245 z ,
+ 98
+
+ 2 2 2 61
+ COEFF(1, 0, 0) = 2/245 z + 1/245 x + 3/25 y - --- - 1/175 x,
+ 490
+
+ 2 2 2
+ COEFF(2, 0, 0) = 3/25 y + 2/245 z - 2/245 x - 1/10 - 2/175 x,
+
+ COEFF(-2, 1, 0) =
+
+ 2 2 2
+ 1/25 x y - 2/25 y + 1/245 z - 1/245 x + 1/175 x + 4/75 - 1/25 y,
+
+ COEFF(-1, 1, 0) =
+
+ 151 2 2 2
+ ---- + 1/490 x - 2/25 y + 1/50 x y - 1/25 y + 1/245 z + 1/350 x,
+ 3675
+
+ 136 2 2 2
+ COEFF(0, 1, 0) = ---- - 1/25 y - 2/25 y + 1/245 x + 1/245 z ,
+ 3675
+
+ COEFF(1, 1, 0) =
+
+ 2 2 151 2
+ - 2/25 y + 1/245 z - 1/25 y + ---- + 1/490 x - 1/350 x - 1/50 x y,
+ 3675
+
+ COEFF(2, 1, 0) =
+
+ 2 2 2
+ - 1/245 x - 1/25 x y - 1/175 x + 4/75 + 1/245 z - 2/25 y - 1/25 y,
+
+ COEFF(-2, 2, 0) =
+
+ 2 2 2
+ - 1/300 + 1/50 y - 2/245 z + 2/245 x - 2/175 x - 1/50 x y + 1/50 y,
+
+ COEFF(-1, 2, 0) =
+
+ 2 2 311 2
+ - 1/100 x y + 1/50 y - 1/245 x - 2/245 z + ----- + 1/50 y - 1/175 x,
+ 14700
+
+ 431 2 2 2
+ COEFF(0, 2, 0) = ----- + 1/50 y - 2/245 z - 2/245 x + 1/50 y,
+ 14700
+
+ COEFF(1, 2, 0) =
+
+ 2 311 2 2
+ 1/175 x - 1/245 x + 1/50 y + ----- - 2/245 z + 1/50 y + 1/100 x y,
+ 14700
+
+ COEFF(2, 2, 0) =
+
+ 2 2 2
+ 1/50 y + 1/50 x y + 2/175 x + 2/245 x + 1/50 y - 1/300 - 2/245 z ,
+
+ 169
+ COEFF(-2, -2, 1) = - 1/100 y z + 1/50 x y - ----- + 1/175 z - 1/50 y
+ 14700
+
+ 2 2 2
+ + 2/245 x - 1/245 z - 1/175 x z + 1/50 y - 2/175 x, COEFF(-1, -2, 1) =
+
+ 2 191 2
+ 1/50 y + 1/175 z + 1/100 x y + ----- - 1/350 x z - 1/50 y - 1/245 x
+ 14700
+
+ 2
+ - 1/100 y z - 1/175 x - 1/245 z , COEFF(0, -2, 1) =
+
+ 2 2 2 311
+ - 1/100 y z - 2/245 x - 1/245 z + 1/175 z + 1/50 y - 1/50 y + -----,
+ 14700
+
+ 2 2
+ COEFF(1, -2, 1) = - 1/245 z + 1/350 x z - 1/100 y z + 1/50 y - 1/50 y
+
+ 191 2
+ + 1/175 z + ----- - 1/100 x y - 1/245 x + 1/175 x, COEFF(2, -2, 1) =
+ 14700
+
+ 2 2 169
+ 2/175 x + 1/50 y - 1/100 y z - 1/50 x y + 1/175 x z - 1/245 z - -----
+ 14700
+
+ 2 211
+ + 2/245 x + 1/175 z - 1/50 y, COEFF(-2, -1, 1) = ---- - 1/25 x y
+ 3675
+
+ 2 2 2
+ + 1/350 x z + 1/25 y - 1/350 z + 1/50 y z - 2/25 y + 1/490 z - 1/245 x
+
+ 2
+ + 1/175 x, COEFF(-1, -1, 1) = - 1/50 x y + 1/490 x + 1/700 x z - 1/350 z
+
+ 2 166 2
+ + 1/50 y z + 1/350 x - 2/25 y + ---- + 1/25 y + 1/490 z , COEFF(0, -1, 1)
+ 3675
+
+ 151 2 2 2
+ = ---- - 2/25 y + 1/245 x + 1/25 y + 1/50 y z - 1/350 z + 1/490 z ,
+ 3675
+
+ 2 166
+ COEFF(1, -1, 1) = 1/490 x + 1/50 y z - 1/350 z + ---- + 1/50 x y
+ 3675
+
+ 2 2
+ + 1/490 z - 1/700 x z - 1/350 x + 1/25 y - 2/25 y , COEFF(2, -1, 1) =
+
+ 2 211 2 2
+ 1/25 x y - 1/175 x + 1/490 z + ---- - 1/245 x - 2/25 y + 1/50 y z
+ 3675
+
+ - 1/350 x z - 1/350 z + 1/25 y, COEFF(-2, 0, 1) =
+
+ 2 2 2
+ 1/245 z + 1/175 x z - 9/98 - 1/175 z + 3/25 y - 2/245 x + 2/175 x,
+
+ COEFF(-1, 0, 1) =
+
+ 57 2 2 2
+ - --- + 1/175 x + 1/245 z - 1/175 z + 3/25 y + 1/245 x + 1/350 x z,
+ 490
+
+ 2 2 2 61
+ COEFF(0, 0, 1) = 1/245 z + 2/245 x + 3/25 y - --- - 1/175 z,
+ 490
+
+ COEFF(1, 0, 1) =
+
+ 2 2 57 2
+ 1/245 x + 1/245 z - 1/350 x z - --- + 3/25 y - 1/175 x - 1/175 z,
+ 490
+
+ COEFF(2, 0, 1) =
+
+ 2 2 2
+ - 2/175 x - 2/245 x - 9/98 + 1/245 z + 3/25 y - 1/175 x z - 1/175 z,
+
+ 2
+ COEFF(-2, 1, 1) = 1/25 x y - 1/245 x - 1/350 z - 1/25 y + 1/175 x
+
+ 2 2 211
+ - 2/25 y + 1/490 z - 1/50 y z + ---- + 1/350 x z, COEFF(-1, 1, 1) =
+ 3675
+
+ 2 166 2
+ - 1/50 y z - 1/25 y + 1/490 z + ---- + 1/490 x + 1/50 x y + 1/350 x
+ 3675
+
+ 2
+ - 2/25 y + 1/700 x z - 1/350 z, COEFF(0, 1, 1) =
+
+ 2 2 2 151
+ 1/490 z - 1/50 y z + 1/245 x - 1/350 z - 2/25 y + ---- - 1/25 y,
+ 3675
+
+ 2
+ COEFF(1, 1, 1) = - 1/700 x z + 1/490 z - 1/50 y z - 1/350 z - 1/25 y
+
+ 2 166 2
+ - 1/50 x y + 1/490 x + ---- - 2/25 y - 1/350 x, COEFF(2, 1, 1) =
+ 3675
+
+ 2 2 211
+ - 1/350 x z - 1/50 y z - 1/25 x y - 2/25 y - 1/350 z - 1/245 x + ----
+ 3675
+
+ 2 2
+ - 1/25 y - 1/175 x + 1/490 z , COEFF(-2, 2, 1) = - 1/245 z + 1/175 z
+
+ 169 2
+ - 1/175 x z - 2/175 x - ----- + 2/245 x - 1/50 x y + 1/100 y z + 1/50 y
+ 14700
+
+ 2 2 191
+ + 1/50 y , COEFF(-1, 2, 1) = 1/100 y z + 1/50 y - 1/245 x + -----
+ 14700
+
+ 2 2
+ - 1/100 x y - 1/350 x z - 1/175 x + 1/50 y + 1/175 z - 1/245 z ,
+
+ COEFF(0, 2, 1) =
+
+ 311 2 2 2
+ 1/100 y z + ----- - 1/245 z + 1/50 y + 1/50 y - 2/245 x + 1/175 z,
+ 14700
+
+ 2 191
+ COEFF(1, 2, 1) = 1/350 x z - 1/245 x + ----- + 1/100 x y + 1/100 y z
+ 14700
+
+ 2 2
+ + 1/50 y + 1/175 z - 1/245 z + 1/175 x + 1/50 y , COEFF(2, 2, 1) =
+
+ 169 2 2
+ 1/175 z + 1/175 x z - ----- + 1/50 y + 1/100 y z + 1/50 y + 2/245 x
+ 14700
+
+ 2 529
+ + 1/50 x y + 2/175 x - 1/245 z , COEFF(-2, -2, 2) = - ----- - 2/175 x
+ 14700
+
+ 2 2
+ - 2/175 x z + 2/245 z + 2/175 z + 1/50 x y - 1/50 y - 1/50 y z + 1/50 y
+
+ 2 2
+ + 2/245 x , COEFF(-1, -2, 2) = - 1/245 x + 1/100 x y - 1/175 x + 2/175 z
+
+ 2 2 169
+ + 1/50 y - 1/50 y z - 1/175 x z + 2/245 z - ----- - 1/50 y,
+ 14700
+
+ COEFF(0, -2, 2) =
+
+ 2 2 2
+ 2/245 z + 2/175 z - 1/50 y z + 1/50 y - 1/300 - 2/245 x - 1/50 y,
+
+ 2
+ COEFF(1, -2, 2) = 1/175 x z + 2/245 z + 2/175 z - 1/50 y - 1/100 x y
+
+ 2 2 169
+ + 1/50 y - 1/50 y z + 1/175 x - 1/245 x - -----, COEFF(2, -2, 2) =
+ 14700
+
+ 2 2 529 2
+ 2/245 z + 2/245 x + 2/175 x z - 1/50 y - ----- + 1/50 y + 2/175 x
+ 14700
+
+ 2
+ + 2/175 z - 1/50 x y - 1/50 y z, COEFF(-2, -1, 2) = - 1/245 z - 1/175 z
+
+ 2 2 256
+ + 1/25 y - 1/245 x + 1/175 x z - 2/25 y + 1/25 y z + ---- + 1/175 x
+ 3675
+
+ 2 2 2
+ - 1/25 x y, COEFF(-1, -1, 2) = 1/490 x - 1/245 z - 2/25 y - 1/50 x y
+
+ 211
+ - 1/175 z + 1/25 y + 1/350 x + 1/350 x z + 1/25 y z + ----,
+ 3675
+
+ COEFF(0, -1, 2) =
+
+ 2 2 2
+ 1/245 x - 1/245 z - 1/175 z + 4/75 - 2/25 y + 1/25 y + 1/25 y z,
+
+ 2 211
+ COEFF(1, -1, 2) = - 1/175 z - 1/350 x + 1/25 y + 1/50 x y + 1/490 x + ----
+ 3675
+
+ 2 2 2
+ - 1/245 z - 1/350 x z + 1/25 y z - 2/25 y , COEFF(2, -1, 2) = - 1/245 x
+
+ 2 2 256
+ - 2/25 y + 1/25 y z - 1/175 x + 1/25 x y - 1/175 x z - 1/245 z + ----
+ 3675
+
+ + 1/25 y - 1/175 z, COEFF(-2, 0, 2) =
+
+ 2 2 2 33
+ 3/25 y - 2/245 z - 2/175 z - 2/245 x + 2/175 x z - --- + 2/175 x,
+ 490
+
+ COEFF(-1, 0, 2) =
+
+ 2 2 2
+ - 9/98 - 2/245 z + 1/175 x z + 3/25 y - 2/175 z + 1/175 x + 1/245 x ,
+
+ 2 2 2
+ COEFF(0, 0, 2) = - 2/175 z - 2/245 z + 3/25 y + 2/245 x - 1/10,
+
+ COEFF(1, 0, 2) =
+
+ 2 2 2
+ - 9/98 + 3/25 y + 1/245 x - 2/245 z - 1/175 x - 1/175 x z - 2/175 z,
+
+ COEFF(2, 0, 2) =
+
+ 2 2 33 2
+ - 2/175 x z - 2/175 x + 3/25 y - 2/175 z - 2/245 x - --- - 2/245 z ,
+ 490
+
+ 2 2 2
+ COEFF(-2, 1, 2) = 1/175 x z - 2/25 y - 1/245 x - 1/175 z - 1/245 z
+
+ 256
+ - 1/25 y + 1/25 x y - 1/25 y z + 1/175 x + ----, COEFF(-1, 1, 2) =
+ 3675
+
+ 2 2 2 211
+ - 1/25 y z - 1/175 z - 1/245 z + 1/50 x y - 2/25 y + 1/490 x + ----
+ 3675
+
+ - 1/25 y + 1/350 x z + 1/350 x, COEFF(0, 1, 2) =
+
+ 2 2 2
+ 1/245 x - 1/245 z - 1/25 y z - 1/175 z - 2/25 y + 4/75 - 1/25 y,
+
+ 2 211 2
+ COEFF(1, 1, 2) = - 1/350 x - 1/245 z + ---- - 1/25 y z + 1/490 x
+ 3675
+
+ 2
+ - 1/50 x y - 1/350 x z - 2/25 y - 1/175 z - 1/25 y, COEFF(2, 1, 2) =
+
+ 2 256 2
+ - 1/245 z + ---- - 1/25 y - 1/25 y z - 1/245 x - 1/25 x y - 1/175 x
+ 3675
+
+ 2
+ - 1/175 x z - 2/25 y - 1/175 z, COEFF(-2, 2, 2) = - 2/175 x z + 1/50 y
+
+ 2 2 529
+ + 1/50 y + 1/50 y z - 2/175 x - 1/50 x y + 2/245 z - ----- + 2/175 z
+ 14700
+
+ 2
+ + 2/245 x , COEFF(-1, 2, 2) = 1/50 y + 1/50 y z - 1/175 x z + 2/175 z
+
+ 2 2 2 169
+ + 2/245 z + 1/50 y - 1/175 x - 1/100 x y - 1/245 x - -----,
+ 14700
+
+ COEFF(0, 2, 2) =
+
+ 2 2 2
+ 1/50 y - 1/300 + 1/50 y z - 2/245 x + 2/245 z + 2/175 z + 1/50 y ,
+
+ 2 2
+ COEFF(1, 2, 2) = 1/175 x + 1/50 y + 2/175 z + 1/50 y - 1/245 x + 1/50 y z
+
+ 2 169
+ + 2/245 z + 1/175 x z + 1/100 x y - -----, COEFF(2, 2, 2) = 1/50 x y
+ 14700
+
+ 529 2 2
+ - ----- + 2/245 x + 1/50 y z + 2/175 x + 1/50 y + 2/175 x z + 1/50 y
+ 14700
+
+ 2
+ + 2/175 z + 2/245 z ]
+
+> print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c");
+bytes used=2291755772, alloc=15136044, time=363.17
+bytes used=2292756444, alloc=15136044, time=363.25
+bytes used=2293756864, alloc=15136044, time=363.33
+bytes used=2294757024, alloc=15136044, time=363.43
+bytes used=2295757180, alloc=15136044, time=364.14
+bytes used=2296757568, alloc=15136044, time=364.86
+bytes used=2297758004, alloc=15136044, time=365.57
+bytes used=2298758392, alloc=15136044, time=366.28
+bytes used=2299758908, alloc=15136044, time=366.97
+bytes used=2300759100, alloc=15136044, time=367.28
+bytes used=2301759464, alloc=15136044, time=367.37
+bytes used=2302759644, alloc=15136044, time=367.46
+bytes used=2303791096, alloc=15136044, time=367.54
+bytes used=2304815880, alloc=15136044, time=367.62
+bytes used=2305820812, alloc=15136044, time=367.70
+bytes used=2306821036, alloc=15136044, time=367.80
+bytes used=2307821232, alloc=15136044, time=368.48
+bytes used=2308821492, alloc=15136044, time=369.51
+bytes used=2309821672, alloc=15136044, time=369.93
+bytes used=2310821836, alloc=15136044, time=370.02
+bytes used=2311822412, alloc=15136044, time=370.09
+bytes used=2312822628, alloc=15136044, time=370.16
+bytes used=2313822784, alloc=15136044, time=370.23
+bytes used=2314823332, alloc=15136044, time=370.31
+bytes used=2315823796, alloc=15136044, time=370.38
+bytes used=2316824208, alloc=15136044, time=370.45
+bytes used=2317824860, alloc=15136044, time=370.52
+bytes used=2318825084, alloc=15136044, time=370.59
+bytes used=2319825240, alloc=15136044, time=370.67
+bytes used=2320825668, alloc=15136044, time=370.74
+bytes used=2321825908, alloc=15136044, time=370.88
+bytes used=2322826068, alloc=15136044, time=371.00
+bytes used=2323826264, alloc=15136044, time=371.11
+bytes used=2324826480, alloc=15136044, time=371.21
+bytes used=2325826664, alloc=15136044, time=371.33
+bytes used=2326834056, alloc=15136044, time=371.44
+bytes used=2327836284, alloc=15136044, time=371.57
+bytes used=2328850328, alloc=15136044, time=371.69
+bytes used=2329858004, alloc=15136044, time=371.82
+bytes used=2330858196, alloc=15136044, time=371.93
+bytes used=2331859884, alloc=15136044, time=372.01
+bytes used=2332860108, alloc=15136044, time=373.34
+bytes used=2333860372, alloc=15136044, time=374.37
+bytes used=2334860616, alloc=15136044, time=374.91
+bytes used=2335860956, alloc=15136044, time=375.01
+bytes used=2336861144, alloc=15136044, time=375.08
+bytes used=2337861360, alloc=15136044, time=375.16
+bytes used=2338861760, alloc=15136044, time=375.23
+bytes used=2339862156, alloc=15136044, time=375.31
+bytes used=2340862508, alloc=15136044, time=375.38
+bytes used=2341862992, alloc=15136044, time=375.46
+bytes used=2342863360, alloc=15136044, time=375.54
+bytes used=2343863540, alloc=15136044, time=375.61
+bytes used=2344863736, alloc=15136044, time=375.69
+bytes used=2345864124, alloc=15136044, time=375.76
+bytes used=2346872496, alloc=15136044, time=375.88
+bytes used=2347872688, alloc=15136044, time=376.04
+bytes used=2348873684, alloc=15136044, time=376.17
+bytes used=2349873840, alloc=15136044, time=376.31
+bytes used=2350874048, alloc=15136044, time=376.64
+bytes used=2351874276, alloc=15136044, time=378.55
+bytes used=2352874448, alloc=15136044, time=379.22
+bytes used=2353874616, alloc=15136044, time=379.65
+bytes used=2354874928, alloc=15136044, time=379.74
+bytes used=2355875284, alloc=15136044, time=379.82
+bytes used=2356875544, alloc=15136044, time=379.89
+bytes used=2357875988, alloc=15136044, time=379.97
+bytes used=2358876364, alloc=15136044, time=380.04
+bytes used=2359876700, alloc=15136044, time=380.11
+bytes used=2360876952, alloc=15136044, time=380.19
+bytes used=2361877344, alloc=15136044, time=380.44
+bytes used=2362877600, alloc=15136044, time=381.81
+bytes used=2363877804, alloc=15136044, time=383.17
+bytes used=2364877960, alloc=15136044, time=383.72
+bytes used=2365878124, alloc=15136044, time=383.87
+bytes used=2366878308, alloc=15136044, time=383.96
+bytes used=2367878544, alloc=15136044, time=384.11
+>
+# d^2/dydz
+> simplify( diff(interp_3d_cube_order4_smooth0,y,z) );
+bytes used=2368878900, alloc=15136044, time=384.20
+bytes used=2369879608, alloc=15136044, time=384.28
+bytes used=2370879800, alloc=15136044, time=384.36
+bytes used=2371879964, alloc=15136044, time=384.44
+bytes used=2372880164, alloc=15136044, time=384.52
+bytes used=2373880280, alloc=15136044, time=384.61
+bytes used=2374880416, alloc=15136044, time=384.69
+bytes used=2375932004, alloc=15136044, time=384.77
+ 137 289 137
+- ---- DATA(-1, 1, -1) - ----- DATA(0, 1, -1) - ---- DATA(1, 1, -1)
+ 5250 10500 5250
+
+ 137 137 137
+ + ---- DATA(-1, 1, 1) - ---- DATA(1, -1, 1) - ---- DATA(-1, -1, 1)
+ 5250 5250 5250
+
+ 289 47 17
+ - ----- DATA(0, -1, 1) + ---- DATA(-1, -2, 2) + ---- DATA(0, -2, 2)
+ 10500 5250 5250
+
+ 47 107
+ + ---- DATA(1, -2, 2) - ---- DATA(-2, -1, 2) - 1/175 x y DATA(2, 0, 1)
+ 5250 7000
+
+ + 1/175 x y DATA(2, 0, -1) + 2/175 x y DATA(-2, 0, 2)
+
+ 137
+ - 1/350 x y DATA(1, 0, 1) + 1/175 x z DATA(2, -1, 0) + ---- DATA(2, -2, 2)
+ 5250
+
+ + 1/175 x y DATA(-1, 0, 2) - 1/175 x y DATA(1, 0, 2)
+
+ - 2/175 x y DATA(2, 0, 2) - 1/350 x z DATA(-1, -1, 0)
+
+ + 1/350 x z DATA(1, -1, 0) + 1/350 x z DATA(-1, 1, 0)
+
+ + 2/245 y z DATA(1, -1, 0) + 2/245 y z DATA(-1, 1, 0)
+
+ + 2/245 y z DATA(-2, 0, 1) - 2/175 x z DATA(2, 2, 0)
+
+ - 1/175 x z DATA(2, 1, 0) + 1/175 x z DATA(-1, 2, 0)
+
+ - 1/350 x z DATA(1, 1, 0) - 4/245 y z DATA(1, 2, 0)
+
+ - 4/245 y z DATA(2, 2, 0) + 2/245 y z DATA(2, 1, 0)
+
+ - 4/245 y z DATA(-1, 2, 0) + 2/245 y z DATA(0, 1, 0)
+
+ + 2/245 y z DATA(1, 1, 0) + 2/245 y z DATA(-1, -1, 0)
+
+ + 2/245 y z DATA(0, -1, 0) - 4/245 y z DATA(0, 2, 0)
+
+ 107
+ + 2/245 y z DATA(2, -1, 0) + ---- DATA(-2, 1, 2)
+ 7000
+
+ + 1/175 x z DATA(-2, 1, 0) + 2/175 x z DATA(-2, 2, 0)
+
+ - 2/175 x z DATA(-2, -2, 0) - 1/175 x z DATA(-2, -1, 0)
+
+ - 1/175 x z DATA(-1, -2, 0) + 2/175 x z DATA(2, -2, 0)
+
+ 289 137
+ + 1/175 x z DATA(1, -2, 0) + ----- DATA(0, 1, 1) + ---- DATA(1, 1, 1)
+ 10500 5250
+
+ 137
+ + 2/245 y z DATA(2, 0, 1) - ---- DATA(-2, 2, 2) - 4/245 y z DATA(-1, 0, 2)
+ 5250
+
+ - 4/245 y z DATA(1, 0, 2) - 4/245 y z DATA(2, 0, 2)
+
+ - 4/245 y z DATA(-2, 0, -2) - 4/245 y z DATA(2, 0, -2)
+
+ - 4/245 y z DATA(1, 0, -2) - 4/245 y z DATA(-1, 0, -2)
+
+ + 4/245 y z DATA(-1, 0, 0) - 2/245 y z DATA(2, -2, -1)
+
+ - 2/245 y z DATA(1, -2, -1) - 2/245 y z DATA(-1, -2, -1)
+
+ + 4/245 y z DATA(0, 0, 0) - 2/245 y z DATA(-2, -2, -1)
+
+ + 4/245 y z DATA(2, 2, -2) + 4/245 y z DATA(1, 2, -2)
+
+ + 4/245 y z DATA(-1, 2, -2) + 1/245 y z DATA(-2, 1, -1)
+
+ + 1/245 y z DATA(-2, -1, -1) + 4/245 y z DATA(-2, 0, 0)
+
+ - 2/245 y z DATA(-2, 2, -1) - 4/245 y z DATA(2, -2, 0)
+
+ - 2/245 y z DATA(-2, -2, 1) - 4/245 y z DATA(1, -2, 0)
+
+ + 2/245 y z DATA(-2, 0, -1) + 2/245 y z DATA(0, 0, 1)
+
+ + 4/245 y z DATA(1, 0, 0) + 4/245 y z DATA(2, 0, 0)
+
+ - 4/245 y z DATA(0, 0, -2) - 4/245 y z DATA(0, 0, 2)
+
+ 137
+ + ---- DATA(-1, -1, -1) - 4/245 y z DATA(0, -2, 0)
+ 5250
+
+ - 4/245 y z DATA(-2, -2, 0) + 2/245 y z DATA(-2, -1, 0)
+
+ - 4/245 y z DATA(-1, -2, 0) + 2/245 y z DATA(0, 0, -1)
+
+ 289 167
+ + ----- DATA(0, -1, -1) + 2/245 y z DATA(1, 0, 1) - ---- DATA(1, 2, -1)
+ 10500 7000
+
+ 229 167
+ + 2/245 y z DATA(-2, 1, 0) - ----- DATA(2, 1, -1) - ---- DATA(-1, 2, -1)
+ 10500 7000
+
+ 187
+ - ---- DATA(0, 2, -1) - 4/245 y z DATA(-2, 2, 0)
+ 7000
+
+ - 2/245 y z DATA(2, -2, 1) + 1/245 y z DATA(-2, -1, 1)
+
+ 229
+ + 1/245 y z DATA(-2, 1, 1) + ----- DATA(2, -1, -1)
+ 10500
+
+ - 2/245 y z DATA(-2, 2, 1) + 4/245 y z DATA(-2, -2, 2)
+
+ 229 167 187
+ + ----- DATA(2, 1, 1) + ---- DATA(-1, 2, 1) + ---- DATA(0, 2, 1)
+ 10500 7000 7000
+
+ 167
+ + ---- DATA(1, 2, 1) - 2/245 y z DATA(-1, -1, -2)
+ 7000
+
+ 229 137
+ + 2/245 y z DATA(2, 0, -1) - ----- DATA(2, -1, 1) + ---- DATA(1, -1, -1)
+ 10500 5250
+
+ 107
+ - ---- DATA(2, 2, -1) - 4/245 y z DATA(-2, 0, 2)
+ 7000
+
+ 47
+ + 1/245 y z DATA(0, -1, -1) - ---- DATA(1, 2, 2)
+ 5250
+
+ 107 137
+ + 1/350 x y DATA(1, 0, -1) + ---- DATA(-2, -1, -2) - ---- DATA(2, 2, 2)
+ 7000 5250
+
+ 137 47 167
+ - ---- DATA(2, -2, -2) - ---- DATA(1, -2, -2) + ---- DATA(1, 1, 2)
+ 5250 5250 7000
+
+ 107 47 17
+ + ---- DATA(2, 1, 2) - ---- DATA(-1, 2, 2) - ---- DATA(0, 2, 2)
+ 7000 5250 5250
+
+ 17 47 167
+ - ---- DATA(0, -2, -2) - ---- DATA(-1, -2, -2) + ---- DATA(-1, 1, 2)
+ 5250 5250 7000
+
+ 187
+ - 2/245 y z DATA(0, 2, -1) + ---- DATA(0, 1, 2) - 2/245 y z DATA(0, 2, 1)
+ 7000
+
+ 137 167 107
+ - ---- DATA(-2, -2, -2) - ---- DATA(1, -1, 2) - ---- DATA(2, -1, 2)
+ 5250 7000 7000
+
+ 167 187
+ + 1/175 x y DATA(-2, 0, 1) - ---- DATA(-1, -1, 2) - ---- DATA(0, -1, 2)
+ 7000 7000
+
+ 107
+ + ---- DATA(2, 2, 1) + 1/175 x z DATA(-2, -1, -2)
+ 7000
+
+ - 1/175 x y DATA(-2, 0, -1) - 1/175 x z DATA(1, 2, 0)
+
+ 2 2
+ - 1/350 x DATA(0, -2, -1) + 1/175 x DATA(0, 2, -2)
+
+ 137 2
+ + 2/175 x z DATA(2, 2, 2) + ---- DATA(-2, 2, -2) + 1/350 x DATA(0, 2, -1)
+ 5250
+
+ 2 2
+ - 1/350 x DATA(0, 2, 1) - 1/350 x DATA(0, -1, -2)
+
+ 2 2
+ - 1/175 x DATA(0, 2, 2) - 1/175 x DATA(0, -2, -2)
+
+ 2 2
+ - 1/350 x DATA(0, 1, 2) + 1/350 x DATA(0, -1, 2)
+
+ 2
+ + 1/350 x DATA(0, 1, -2) - 2/175 x z DATA(2, -2, -2)
+
+ 107
+ + 1/700 x z DATA(-1, 1, -1) - ---- DATA(2, 1, -2)
+ 7000
+
+ 167 187
+ - 2/245 y z DATA(-1, 2, -1) - ---- DATA(1, 1, -2) - ---- DATA(0, 1, -2)
+ 7000 7000
+
+ 167 107
+ - ---- DATA(-1, 1, -2) + 2/245 y z DATA(1, 0, -1) - ---- DATA(-2, 1, -2)
+ 7000 7000
+
+ + 1/245 y z DATA(0, 1, 1) - 2/245 y z DATA(0, -1, -2)
+
+ + 1/350 z DATA(0, -1, -1) - 2/245 y z DATA(0, -2, -1)
+
+ 107 167 187
+ + ---- DATA(2, -1, -2) + ---- DATA(1, -1, -2) + ---- DATA(0, -1, -2)
+ 7000 7000 7000
+
+ 167
+ + ---- DATA(-1, -1, -2) + 4/245 y z DATA(0, 2, -2)
+ 7000
+
+ 2 2
+ + 1/700 x DATA(0, -1, 1) + 1/175 x DATA(0, -2, 2)
+
+ - 1/700 x z DATA(1, 1, -1) + 1/700 x z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/350 x DATA(0, -2, 1) + 1/700 x DATA(0, 1, -1)
+
+ 2 2
+ + 1/200 z DATA(0, -1, -2) - 1/50 z DATA(0, -2, -1)
+
+ 2 107
+ - 1/100 z DATA(0, 2, -2) + ---- DATA(2, -2, -1)
+ 7000
+
+ 2
+ + 1/700 x z DATA(1, -1, 1) - 1/100 z DATA(0, -1, -1)
+
+ 2
+ - 1/100 z DATA(0, 1, 1) - 1/700 x z DATA(-1, -1, 1)
+
+ 2 2
+ + 1/100 z DATA(0, 2, 2) + 1/100 z DATA(0, -2, -2)
+
+ 2 2
+ + 1/200 z DATA(0, 1, 2) - 1/200 z DATA(0, -1, 2)
+
+ 2
+ + 1/175 x z DATA(-1, -2, 2) + 1/50 z DATA(0, 2, -1)
+
+ 2
+ - 1/50 z DATA(0, 2, 1) - 1/175 x z DATA(1, -2, 2)
+
+ 2 167
+ + 4/245 y z DATA(0, 2, 2) - 1/200 z DATA(0, 1, -2) + ---- DATA(1, -2, -1)
+ 7000
+
+ + 1/175 x z DATA(-2, -1, 2) - 2/175 x z DATA(2, -2, 2)
+
+ - 1/175 x z DATA(-2, 1, 2) - 1/700 x z DATA(1, 1, 1)
+
+ 187
+ - 2/175 x z DATA(-2, 2, 2) + ---- DATA(0, -2, -1)
+ 7000
+
+ + 4/245 y z DATA(0, -2, -2) - 2/245 y z DATA(0, 1, 2)
+
+ - 2/245 y z DATA(0, -1, 2) - 2/245 y z DATA(0, 1, -2)
+
+ 2 2
+ + 1/100 z DATA(0, -1, 1) - 1/100 z DATA(0, -2, 2)
+
+ 167
+ - 1/700 x z DATA(-1, -1, -1) + ---- DATA(-1, -2, -1)
+ 7000
+
+ - 1/350 x z DATA(1, 2, -1) - 1/350 x z DATA(2, 1, -1)
+
+ 107
+ + ---- DATA(-2, -2, -1) + 1/350 x z DATA(-1, 2, -1)
+ 7000
+
+ 2 2
+ - 1/100 y DATA(0, 1, 1) + 1/100 z DATA(0, 1, -1)
+
+ 2 2
+ + 1/50 z DATA(0, -2, 1) + 1/200 y DATA(0, 2, 1)
+
+ 2 2
+ - 1/100 y DATA(0, -1, -1) - 1/50 y DATA(0, -1, -2)
+
+ 2 2
+ + 1/200 y DATA(0, -2, -1) - 1/100 y DATA(0, 2, -2)
+
+ 2
+ - 1/200 y DATA(0, 2, -1) - 2/175 x y DATA(-2, 0, -2)
+
+ - 1/175 z DATA(0, -1, -2) + 1/175 z DATA(0, -2, -1)
+
+ + 2/175 z DATA(0, 2, -2) - 1/175 z DATA(0, 2, -1) - 1/175 z DATA(0, 2, 1)
+
+ + 2/175 z DATA(0, 2, 2) - 2/175 z DATA(0, -2, -2) + 1/175 z DATA(0, 1, 2)
+
+ - 1/350 z DATA(0, 1, 1) - 1/175 z DATA(0, -1, 2) + 1/175 z DATA(0, 1, -2)
+
+ + 1/350 x z DATA(2, -1, -1) - 1/350 x z DATA(2, 1, 1)
+
+ 137
+ + ---- DATA(2, 2, -2) + 1/350 x z DATA(-1, 2, 1) - 2/175 z DATA(0, -2, 2)
+ 5250
+
+ 47
+ - 1/350 x z DATA(1, 2, 1) + 1/350 x z DATA(2, -1, 1) + ---- DATA(1, 2, -2)
+ 5250
+
+ + 1/700 x z DATA(1, -1, -1) + 1/350 z DATA(0, -1, 1)
+
+ - 1/175 x z DATA(2, 2, -1) - 1/350 z DATA(0, 1, -1)
+
+ 17
+ + 1/175 z DATA(0, -2, 1) + ---- DATA(0, 2, -2) + 1/175 x z DATA(1, 2, 2)
+ 5250
+
+ 47 2 2
+ + ---- DATA(-1, 2, -2) - 1/700 x DATA(0, -1, -1) - 1/700 x DATA(0, 1, 1)
+ 5250
+
+ 229
+ - ----- DATA(-2, 1, -1) + 4/245 y z DATA(0, -2, 2)
+ 10500
+
+ 2 2
+ + 1/100 y DATA(0, 2, 2) + 1/100 y DATA(0, -2, -2)
+
+ 2 2 2
+ - 1/50 y DATA(0, 1, 2) + 1/50 y DATA(0, -1, 2) + 1/50 y DATA(0, 1, -2)
+
+ 2 2
+ + 1/100 y DATA(0, -1, 1) - 1/100 y DATA(0, -2, 2)
+
+ 2 2
+ - 1/200 y DATA(0, -2, 1) + 1/100 y DATA(0, 1, -1)
+
+ - 1/175 x y DATA(-1, 0, -2) + 1/175 x y DATA(1, 0, -2)
+
+ + 1/175 y DATA(0, -1, -2) - 2/175 y DATA(0, 2, -2)
+
+ - 1/175 y DATA(0, -2, -1) + 1/350 y DATA(0, -1, -1)
+
+ - 1/350 y DATA(0, 1, 1) - 1/175 y DATA(0, -1, 2) - 1/175 y DATA(0, 2, -1)
+
+ + 1/175 y DATA(0, 2, 1) - 1/350 y DATA(0, -1, 1) + 2/175 y DATA(0, -2, 2)
+
+ - 1/175 y DATA(0, 1, 2) + 1/175 y DATA(0, 1, -2)
+
+ 229
+ + 2/175 x y DATA(2, 0, -2) + ----- DATA(-2, -1, -1)
+ 10500
+
+ 107
+ + 1/175 y DATA(0, -2, 1) + 1/350 y DATA(0, 1, -1) - ---- DATA(-2, 2, -1)
+ 7000
+
+ + 1/245 y z DATA(0, -1, 1) + 2/175 y DATA(0, 2, 2)
+
+ - 2/175 y DATA(0, -2, -2) - 1/175 x z DATA(-2, -2, 1)
+
+ - 1/350 x z DATA(-1, -2, 1) + 1/350 x z DATA(1, -2, 1)
+
+ + 1/350 x z DATA(1, 1, 2) + 1/175 x z DATA(2, -2, 1)
+
+ - 1/350 x z DATA(-2, -1, 1) + 1/350 x z DATA(-2, 1, 1)
+
+ + 1/175 x z DATA(-2, 2, 1) + 2/175 x z DATA(-2, -2, 2)
+
+ - 1/175 x z DATA(-2, -2, -1) + 2/175 x z DATA(2, 2, -2)
+
+ - 2/245 y z DATA(0, -2, 1) + 1/245 y z DATA(0, 1, -1)
+
+ + 1/175 x z DATA(1, 2, -2) - 1/175 x z DATA(-1, 2, -2)
+
+ + 1/350 x z DATA(-2, 1, -1) - 1/350 x z DATA(-2, -1, -1)
+
+ + 1/175 x z DATA(-2, 2, -1) - 1/350 x z DATA(1, -1, -2)
+
+ 107
+ - ---- DATA(-2, -2, 1) + 1/350 x z DATA(-1, -1, -2)
+ 7000
+
+ + 1/175 x z DATA(2, -2, -1) + 1/350 x z DATA(1, -2, -1)
+
+ - 1/350 x z DATA(-1, -2, -1) - 1/175 x z DATA(2, 2, 1)
+
+ - 1/350 x y DATA(-1, 0, -1) - 2/175 x z DATA(-2, 2, -2)
+
+ + 1/175 x z DATA(2, 1, -2) + 1/350 x y DATA(-1, 0, 1)
+
+ + 2/245 y z DATA(-1, 0, -1) + 2/245 y z DATA(-1, 0, 1)
+
+ 167
+ - ---- DATA(-1, -2, 1) + 1/350 x z DATA(1, 1, -2)
+ 7000
+
+ - 1/350 x z DATA(-1, 1, -2) - 1/175 x z DATA(-2, 1, -2)
+
+ 167
+ - 1/175 x z DATA(2, -1, -2) - ---- DATA(1, -2, 1)
+ 7000
+
+ - 1/350 x z DATA(-1, 1, 2) + 2/175 x z DATA(-2, -2, -2)
+
+ 187
+ - 1/350 x z DATA(1, -1, 2) - ---- DATA(0, -2, 1)
+ 7000
+
+ - 1/175 x z DATA(2, -1, 2) + 1/350 x z DATA(-1, -1, 2)
+
+ - 1/350 x y DATA(-1, -2, 1) + 1/350 x y DATA(1, -2, 1)
+
+ 107
+ - ---- DATA(2, -2, 1) - 1/350 x y DATA(1, 1, 2) + 1/175 x y DATA(2, -2, 1)
+ 7000
+
+ - 1/175 x z DATA(1, -2, -2) + 1/175 x z DATA(2, 1, 2)
+
+ - 1/175 x z DATA(-1, 2, 2) + 1/175 x z DATA(-1, -2, -2)
+
+ - 2/245 y z DATA(-1, -1, 2) - 2/245 y z DATA(2, 2, 1)
+
+ - 1/350 x y DATA(-2, -1, -1) + 4/245 y z DATA(-2, 2, -2)
+
+ 2
+ - 2/245 y z DATA(1, -1, -2) - 1/50 z DATA(1, 2, 1)
+
+ 2 2
+ + 1/100 z DATA(2, -1, 1) - 1/100 z DATA(1, -1, -1)
+
+ - 2/245 y z DATA(2, 1, -2) - 2/175 x y DATA(-2, -2, 2)
+
+ - 1/175 x y DATA(-2, 2, 1) + 1/350 x y DATA(-2, 1, 1)
+
+ 2
+ + 1/350 x y DATA(-2, -1, 1) + 1/50 z DATA(2, 2, -1)
+
+ 2 2
+ + 1/200 z DATA(-2, -1, -2) + 1/100 z DATA(2, 2, 2)
+
+ 2 2
+ + 1/100 z DATA(2, -2, -2) + 1/100 z DATA(-1, 1, -1)
+
+ 2 2
+ + 1/100 z DATA(1, -2, -2) + 1/200 z DATA(2, 1, 2)
+
+ 2 2
+ + 1/100 z DATA(-1, 2, 2) + 1/100 z DATA(-1, -2, -2)
+
+ 2 2
+ + 1/200 z DATA(-1, 1, 2) + 1/100 z DATA(-2, -2, -2)
+
+ 2 2
+ - 1/200 z DATA(1, -1, 2) - 1/200 z DATA(2, -1, 2)
+
+ 2 2
+ - 1/200 z DATA(-1, -1, 2) - 1/50 z DATA(2, 2, 1)
+
+ 2 2
+ - 1/100 z DATA(-2, 2, -2) - 1/200 z DATA(2, 1, -2)
+
+ 2 2
+ - 1/200 z DATA(1, 1, -2) - 1/200 z DATA(-1, 1, -2)
+
+ 2 2
+ - 1/200 z DATA(-2, 1, -2) - 1/50 z DATA(-1, 2, 1)
+
+ 2 2
+ + 1/100 z DATA(1, 1, -1) - 1/100 z DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 z DATA(1, -1, 1) + 1/100 z DATA(-1, -1, 1)
+
+ 2 2
+ - 1/100 z DATA(-1, -2, 2) - 1/100 z DATA(1, -2, 2)
+
+ 2 2
+ - 1/200 z DATA(-2, -1, 2) - 1/100 z DATA(2, -2, 2)
+
+ 2 2
+ + 1/200 z DATA(-2, 1, 2) - 1/100 z DATA(1, 1, 1)
+
+ 2 2
+ + 1/100 z DATA(-2, 2, 2) - 1/100 z DATA(-1, -1, -1)
+
+ 2 2
+ + 1/50 z DATA(1, 2, -1) + 1/1400 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/100 y DATA(1, 1, -1) - 1/100 y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/100 y DATA(1, -1, 1) + 1/100 y DATA(-1, -1, 1)
+
+ 2 2
+ - 1/100 y DATA(-1, -2, 2) - 1/100 y DATA(1, -2, 2)
+
+ 2 2
+ + 1/50 y DATA(-2, -1, 2) - 1/100 y DATA(2, -2, 2)
+
+ 2 2
+ - 1/50 y DATA(-2, 1, 2) - 1/100 y DATA(1, 1, 1)
+
+ 2 2
+ + 1/100 y DATA(-2, 2, 2) - 1/100 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/200 y DATA(1, 2, -1) + 1/100 y DATA(2, 1, -1)
+
+ 2 2
+ - 1/200 y DATA(-1, 2, -1) - 1/100 y DATA(2, -1, -1)
+
+ 2 2
+ - 1/100 y DATA(2, 1, 1) + 1/200 y DATA(-1, 2, 1)
+
+ 2 2
+ + 1/200 y DATA(1, 2, 1) + 1/100 y DATA(2, -1, 1)
+
+ 2 2
+ - 1/100 y DATA(1, -1, -1) - 1/200 y DATA(2, 2, -1)
+
+ 2 2
+ + 1/100 y DATA(1, 2, 2) - 1/50 y DATA(-2, -1, -2)
+
+ 2 2
+ + 1/100 y DATA(2, 2, 2) + 1/100 y DATA(2, -2, -2)
+
+ 2 2
+ + 1/100 y DATA(-1, 1, -1) + 1/100 y DATA(1, -2, -2)
+
+ 2 2
+ - 1/50 y DATA(2, 1, 2) + 1/100 y DATA(-1, 2, 2)
+
+ 2 2
+ + 1/100 y DATA(-1, -2, -2) - 1/50 y DATA(-1, 1, 2)
+
+ 2 2
+ + 1/100 y DATA(-2, -2, -2) + 1/50 y DATA(1, -1, 2)
+
+ 2 2
+ + 1/50 y DATA(2, -1, 2) + 1/50 y DATA(-1, -1, 2)
+
+ 2 2
+ + 1/200 y DATA(2, 2, 1) - 1/100 y DATA(-2, 2, -2)
+
+ 2 2
+ + 1/50 y DATA(2, 1, -2) + 1/50 y DATA(1, 1, -2)
+
+ 2
+ + 1/50 y DATA(-1, 1, -2) - 2/245 y z DATA(1, 1, 2)
+
+ - 2/245 y z DATA(1, -2, 1) + 1/175 x y DATA(-2, 2, -1)
+
+ - 1/175 x y DATA(-2, -2, 1) - 2/245 y z DATA(-1, -2, 1)
+
+ 229
+ - ----- DATA(-2, -1, 1) + 1/175 x y DATA(-1, 2, -2)
+ 10500
+
+ + 2/175 z DATA(0, -2, 0) + 2/175 z DATA(-2, -2, 0)
+
+ - 2/175 z DATA(-2, 2, 0) + 2/175 z DATA(2, -2, 0) - 1/175 z DATA(-2, 1, 0)
+
+ + 2/175 z DATA(1, -2, 0) + 1/175 y DATA(1, 0, -1)
+
+ + 1/175 z DATA(-2, -1, 0) + 2/175 z DATA(-1, -2, 0)
+
+ 2 2
+ + 1/175 x DATA(-2, -2, -2) + 1/700 x DATA(1, -1, 2)
+
+ 2 2
+ - 1/350 x DATA(2, -1, 2) + 1/700 x DATA(-1, -1, 2)
+
+ 2 2
+ + 1/350 x DATA(2, 2, 1) - 1/175 x DATA(-2, 2, -2)
+
+ 2 2
+ - 1/350 x DATA(2, 1, -2) + 1/700 x DATA(1, 1, -2)
+
+ 2 2
+ + 1/700 x DATA(-1, 1, -2) - 1/350 x DATA(-2, 1, -2)
+
+ 2 2
+ + 1/350 x DATA(2, -1, -2) - 1/700 x DATA(1, -1, -2)
+
+ 2 2
+ - 1/700 x DATA(-1, -1, -2) + 1/350 x DATA(2, -2, -1)
+
+ 2 2
+ - 1/700 x DATA(1, -2, -1) + 1/350 x DATA(1, -2, 2)
+
+ 2 2
+ - 1/1400 x DATA(-1, 1, 1) + 1/1400 x DATA(1, -1, 1)
+
+ 2 2
+ + 1/1400 x DATA(-1, -1, 1) + 1/350 x DATA(-1, -2, 2)
+
+ 2 2
+ - 1/350 x DATA(-2, -1, 2) - 1/175 x DATA(2, -2, 2)
+
+ 2 2
+ + 1/350 x DATA(-2, 1, 2) - 1/1400 x DATA(1, 1, 1)
+
+ 2 2
+ + 1/175 x DATA(-2, 2, 2) - 1/1400 x DATA(-1, -1, -1)
+
+ 2 2
+ + 1/700 x DATA(1, 2, -1) - 1/700 x DATA(2, 1, -1)
+
+ 2 2
+ + 1/700 x DATA(-1, 2, -1) + 1/700 x DATA(2, -1, -1)
+
+ 2 2
+ + 1/700 x DATA(2, 1, 1) - 1/700 x DATA(-1, 2, 1)
+
+ 2 2
+ - 1/700 x DATA(1, 2, 1) - 1/700 x DATA(2, -1, 1)
+
+ 2 2
+ - 1/1400 x DATA(1, -1, -1) - 1/350 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/350 x DATA(1, 2, 2) + 1/350 x DATA(-2, -1, -2)
+
+ 2 2
+ + 1/175 x DATA(2, 2, 2) + 1/175 x DATA(2, -2, -2)
+
+ 2 2
+ + 1/1400 x DATA(-1, 1, -1) - 1/350 x DATA(1, -2, -2)
+
+ 2 2
+ + 1/350 x DATA(2, 1, 2) - 1/350 x DATA(-1, 2, 2)
+
+ 2 2
+ - 1/350 x DATA(-1, -2, -2) - 1/700 x DATA(-1, 1, 2)
+
+ 2 2
+ - 1/700 x DATA(-1, -2, -1) + 1/350 x DATA(-2, -2, -1)
+
+ 2 2
+ - 1/175 x DATA(2, 2, -2) + 1/350 x DATA(1, 2, -2)
+
+ 2 2
+ + 1/350 x DATA(-1, 2, -2) - 1/700 x DATA(-2, 1, -1)
+
+ 2 2
+ + 1/700 x DATA(-2, -1, -1) - 1/350 x DATA(-2, 2, -1)
+
+ 2 2
+ - 1/350 x DATA(-2, -2, 1) + 1/700 x DATA(-1, -2, 1)
+
+ 2 2
+ + 1/700 x DATA(1, -2, 1) - 1/700 x DATA(1, 1, 2)
+
+ 2 2
+ - 1/350 x DATA(2, -2, 1) - 1/700 x DATA(-2, -1, 1)
+
+ 2 2
+ + 1/700 x DATA(-2, 1, 1) + 1/350 x DATA(-2, 2, 1)
+
+ 2
+ - 1/175 x DATA(-2, -2, 2) - 2/245 y z DATA(-2, -1, 2)
+
+ + 1/1000 x DATA(-1, -1, 1) + 1/250 x DATA(-1, -2, 2)
+
+ - 1/175 y DATA(-1, 0, 1) - 1/250 x DATA(1, -2, 2)
+
+ + 1/250 x DATA(-2, -1, 2) - 1/125 x DATA(2, -2, 2)
+
+ - 1/250 x DATA(-2, 1, 2) + 1/1000 x DATA(1, 1, 1) - 1/125 x DATA(-2, 2, 2)
+
+ - 1/1000 x DATA(-1, -1, -1) - 1/500 x DATA(1, 2, -1)
+
+ - 1/500 x DATA(2, 1, -1) + 1/500 x DATA(-1, 2, -1)
+
+ + 1/500 x DATA(2, -1, -1) + 1/500 x DATA(2, 1, 1) - 1/500 x DATA(-1, 2, 1)
+
+ + 1/500 x DATA(1, 2, 1) - 1/500 x DATA(2, -1, 1)
+
+ + 1/1000 x DATA(1, -1, -1) - 1/250 x DATA(2, 2, -1)
+
+ + 1/250 x DATA(1, 2, 2) - 1/250 x DATA(-2, -1, -2)
+
+ - 1/1000 x DATA(1, -1, 1) + 1/175 y DATA(-1, 0, -1)
+
+ + 1/250 x DATA(2, -2, -1) + 1/500 x DATA(1, -2, -1)
+
+ - 1/500 x DATA(-1, -2, -1) - 1/250 x DATA(-2, -2, -1)
+
+ - 1/125 x DATA(2, 2, -2) - 1/250 x DATA(1, 2, -2)
+
+ + 1/250 x DATA(-1, 2, -2) + 1/500 x DATA(-2, 1, -1)
+
+ - 1/500 x DATA(-2, -1, -1) + 1/250 x DATA(-2, 2, -1)
+
+ + 1/250 x DATA(-2, -2, 1) + 1/500 x DATA(-1, -2, 1)
+
+ - 1/500 x DATA(1, -2, 1) + 1/500 x DATA(1, 1, 2) - 1/250 x DATA(2, -2, 1)
+
+ - 1/1000 x DATA(1, 1, -1) - 1/1000 x DATA(-1, 1, 1)
+
+ + 1/125 x DATA(2, 2, 2) + 1/125 x DATA(2, -2, -2)
+
+ + 1/1000 x DATA(-1, 1, -1) + 1/250 x DATA(1, -2, -2)
+
+ + 1/250 x DATA(2, 1, 2) - 1/250 x DATA(-1, 2, 2)
+
+ - 1/250 x DATA(-1, -2, -2) - 1/500 x DATA(-1, 1, 2)
+
+ - 1/125 x DATA(-2, -2, -2) - 1/500 x DATA(1, -1, 2)
+
+ - 1/250 x DATA(2, -1, 2) + 1/500 x DATA(-1, -1, 2) + 1/250 x DATA(2, 2, 1)
+
+ + 1/125 x DATA(-2, 2, -2) - 1/250 x DATA(2, 1, -2)
+
+ - 1/500 x DATA(1, 1, -2) + 1/500 x DATA(-1, 1, -2)
+
+ + 1/250 x DATA(-2, 1, -2) + 1/250 x DATA(2, -1, -2)
+
+ + 1/500 x DATA(1, -1, -2) - 1/500 x DATA(-1, -1, -2)
+
+ + 1/500 x DATA(-2, -1, 1) - 1/500 x DATA(-2, 1, 1)
+
+ - 1/250 x DATA(-2, 2, 1) + 1/125 x DATA(-2, -2, 2)
+
+ - 1/350 z DATA(1, 1, -1) - 1/350 z DATA(-1, 1, 1)
+
+ - 1/175 y DATA(-2, 2, -1) + 1/350 y DATA(1, 1, -1)
+
+ - 1/350 y DATA(-1, 1, 1) - 1/350 y DATA(1, -1, 1)
+
+ - 1/350 y DATA(-1, -1, 1) + 2/175 y DATA(-1, -2, 2)
+
+ + 2/175 y DATA(1, -2, 2) - 1/175 y DATA(-2, -1, 2)
+
+ + 2/175 y DATA(2, -2, 2) - 1/175 y DATA(-2, 1, 2) - 1/350 y DATA(1, 1, 1)
+
+ + 2/175 y DATA(-2, 2, 2) + 1/350 y DATA(-1, -1, -1)
+
+ - 1/175 y DATA(1, 2, -1) + 1/350 y DATA(2, 1, -1)
+
+ - 1/175 y DATA(-1, 2, -1) + 1/350 y DATA(2, -1, -1)
+
+ - 1/350 y DATA(2, 1, 1) + 1/175 y DATA(-1, 2, 1) + 1/175 y DATA(1, 2, 1)
+
+ - 1/350 y DATA(2, -1, 1) + 1/350 y DATA(1, -1, -1)
+
+ - 1/175 y DATA(2, 2, -1) + 2/175 y DATA(1, 2, 2)
+
+ + 1/175 y DATA(-2, -1, -2) + 2/175 y DATA(2, 2, 2)
+
+ - 2/175 y DATA(2, -2, -2) + 1/350 y DATA(-1, 1, -1)
+
+ - 2/175 y DATA(1, -2, -2) - 1/175 y DATA(2, 1, 2) + 2/175 y DATA(-1, 2, 2)
+
+ - 2/175 y DATA(-1, -2, -2) - 1/175 y DATA(-1, 1, 2)
+
+ 2
+ - 2/175 y DATA(-2, -2, -2) + 1/200 z DATA(2, -1, -2)
+
+ 2 2
+ + 1/200 z DATA(1, -1, -2) + 1/200 z DATA(-1, -1, -2)
+
+ 2 2
+ - 1/50 z DATA(2, -2, -1) - 1/50 z DATA(1, -2, -1)
+
+ 2 2
+ - 1/50 z DATA(-1, -2, -1) - 1/50 z DATA(-2, -2, -1)
+
+ 2 2
+ - 1/100 z DATA(2, 2, -2) - 1/100 z DATA(1, 2, -2)
+
+ 2 2
+ - 1/100 z DATA(-1, 2, -2) + 1/100 z DATA(-2, 1, -1)
+
+ 2 2
+ - 1/100 z DATA(-2, -1, -1) + 1/50 z DATA(-2, 2, -1)
+
+ 2 2
+ + 1/50 z DATA(-2, -2, 1) + 1/50 z DATA(-1, -2, 1)
+
+ 2 2 2
+ + 1/50 z DATA(1, -2, 1) + 1/200 z DATA(1, 1, 2) + 1/50 z DATA(2, -2, 1)
+
+ 2 2
+ + 1/100 z DATA(-2, -1, 1) - 1/100 z DATA(-2, 1, 1)
+
+ 2 2
+ - 1/50 z DATA(-2, 2, 1) - 1/100 z DATA(-2, -2, 2)
+
+ 2 2
+ + 1/100 z DATA(2, 1, -1) + 1/50 z DATA(-1, 2, -1)
+
+ 2
+ - 1/100 z DATA(2, -1, -1) - 1/175 y DATA(-2, 0, 1)
+
+ - 1/175 y DATA(1, -1, 2) - 1/175 y DATA(2, -1, 2)
+
+ - 1/175 y DATA(-1, -1, 2) + 1/175 y DATA(2, 2, 1)
+
+ - 2/175 y DATA(-2, 2, -2) + 1/175 y DATA(2, 1, -2)
+
+ + 1/175 y DATA(1, 1, -2) + 1/175 y DATA(-1, 1, -2)
+
+ + 1/175 y DATA(-2, 1, -2) + 1/175 y DATA(2, -1, -2)
+
+ + 1/175 y DATA(1, -1, -2) + 1/175 y DATA(-1, -1, -2)
+
+ - 1/175 y DATA(2, -2, -1) - 1/175 y DATA(1, -2, -1)
+
+ - 1/175 y DATA(-1, -2, -1) - 1/175 y DATA(-2, -2, -1)
+
+ - 2/175 y DATA(2, 2, -2) - 2/175 y DATA(1, 2, -2)
+
+ - 2/175 y DATA(-1, 2, -2) + 1/350 y DATA(-2, 1, -1)
+
+ + 1/350 y DATA(-2, -1, -1) + 1/175 y DATA(-2, -2, 1)
+
+ + 1/175 y DATA(-1, -2, 1) + 1/175 y DATA(1, -2, 1) - 1/175 y DATA(1, 1, 2)
+
+ + 1/175 y DATA(2, -2, 1) - 1/350 y DATA(-2, -1, 1)
+
+ - 1/350 y DATA(-2, 1, 1) + 1/175 y DATA(-2, 2, 1)
+
+ + 2/175 y DATA(-2, -2, 2) + 2/175 z DATA(-1, 2, 2)
+
+ + 1/175 z DATA(-1, 1, 2) - 2/175 z DATA(-2, -2, -2)
+
+ - 1/175 z DATA(1, -1, 2) - 1/175 z DATA(2, -1, 2)
+
+ - 1/175 z DATA(-1, -1, 2) - 1/175 z DATA(2, 2, 1)
+
+ + 2/175 z DATA(-2, 2, -2) + 1/175 z DATA(2, 1, -2)
+
+ + 1/175 z DATA(1, 1, -2) + 1/175 z DATA(-1, 1, -2)
+
+ + 1/175 z DATA(-2, 1, -2) - 1/175 z DATA(2, -1, -2)
+
+ - 1/175 z DATA(1, -1, -2) - 1/175 z DATA(-1, -1, -2)
+
+ + 1/175 z DATA(2, -2, -1) + 1/175 z DATA(1, -2, -1)
+
+ + 1/175 z DATA(-1, -2, -1) + 1/175 z DATA(-2, -2, -1)
+
+ + 2/175 z DATA(2, 2, -2) + 2/175 z DATA(1, 2, -2)
+
+ + 2/175 z DATA(-1, 2, -2) - 1/350 z DATA(-2, 1, -1)
+
+ + 1/350 z DATA(-2, -1, -1) - 1/175 z DATA(-2, 2, -1)
+
+ + 1/175 z DATA(-2, -2, 1) + 1/175 z DATA(-1, -2, 1)
+
+ + 1/175 z DATA(1, -2, 1) + 1/175 z DATA(1, 1, 2) + 1/175 z DATA(2, -2, 1)
+
+ + 1/350 z DATA(-2, -1, 1) - 1/350 z DATA(-2, 1, 1)
+
+ - 1/175 z DATA(-2, 2, 1) - 2/175 z DATA(-2, -2, 2)
+
+ 2
+ - 2/175 z DATA(-1, -2, -2) + 1/50 y DATA(-2, 1, -2)
+
+ 2 2
+ - 1/50 y DATA(2, -1, -2) - 1/50 y DATA(1, -1, -2)
+
+ 2 2
+ - 1/50 y DATA(-1, -1, -2) + 1/200 y DATA(2, -2, -1)
+
+ 2 2
+ + 1/200 y DATA(1, -2, -1) + 1/200 y DATA(-1, -2, -1)
+
+ 2 2
+ + 1/200 y DATA(-2, -2, -1) - 1/100 y DATA(2, 2, -2)
+
+ 2 2
+ - 1/100 y DATA(1, 2, -2) - 1/100 y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/100 y DATA(-2, 1, -1) - 1/100 y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/200 y DATA(-2, 2, -1) - 1/200 y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/200 y DATA(-1, -2, 1) - 1/200 y DATA(1, -2, 1)
+
+ 2 2
+ - 1/50 y DATA(1, 1, 2) - 1/200 y DATA(2, -2, 1)
+
+ 2 2
+ + 1/100 y DATA(-2, -1, 1) - 1/100 y DATA(-2, 1, 1)
+
+ 2 2
+ + 1/200 y DATA(-2, 2, 1) - 1/100 y DATA(-2, -2, 2)
+
+ + 1/350 z DATA(1, -1, 1) + 1/350 z DATA(-1, -1, 1)
+
+ - 2/175 z DATA(-1, -2, 2) - 2/175 z DATA(1, -2, 2)
+
+ - 1/175 z DATA(-2, -1, 2) - 2/175 z DATA(2, -2, 2)
+
+ + 1/175 z DATA(-2, 1, 2) - 1/350 z DATA(1, 1, 1) + 2/175 z DATA(-2, 2, 2)
+
+ + 1/350 z DATA(-1, -1, -1) - 1/175 z DATA(1, 2, -1)
+
+ - 1/350 z DATA(2, 1, -1) - 1/175 z DATA(-1, 2, -1)
+
+ + 1/350 z DATA(2, -1, -1) - 1/350 z DATA(2, 1, 1) - 1/175 z DATA(-1, 2, 1)
+
+ - 1/175 z DATA(1, 2, 1) + 1/350 z DATA(2, -1, 1) + 1/350 z DATA(1, -1, -1)
+
+ - 1/175 z DATA(2, 2, -1) + 2/175 z DATA(1, 2, 2)
+
+ - 1/175 z DATA(-2, -1, -2) + 2/175 z DATA(2, 2, 2)
+
+ - 2/175 z DATA(2, -2, -2) - 1/350 z DATA(-1, 1, -1)
+
+ - 2/175 z DATA(1, -2, -2) + 1/175 z DATA(2, 1, 2)
+
+ - 2/245 y z DATA(2, 1, 2) + 1/245 y z DATA(-1, 1, -1)
+
+ + 4/245 y z DATA(2, -2, -2) - 2/245 y z DATA(1, 1, -2)
+
+ - 2/245 y z DATA(-1, 1, -2) - 2/245 y z DATA(-2, -1, -2)
+
+ + 4/245 y z DATA(2, 2, 2) + 1/245 y z DATA(1, -1, -1)
+
+ - 2/245 y z DATA(2, 2, -1) + 4/245 y z DATA(1, 2, 2)
+
+ - 2/245 y z DATA(1, 2, 1) + 1/245 y z DATA(2, -1, 1)
+
+ + 1/245 y z DATA(2, -1, -1) + 1/245 y z DATA(2, 1, 1)
+
+ - 2/245 y z DATA(-1, 2, 1) + 1/245 y z DATA(2, 1, -1)
+
+ + 1/245 y z DATA(-1, -1, -1) - 2/245 y z DATA(1, 2, -1)
+
+ + 4/245 y z DATA(-2, 2, 2) + 1/245 y z DATA(1, 1, -1)
+
+ - 2/245 y z DATA(-2, 1, 2) + 1/700 x y DATA(1, 1, -1)
+
+ + 4/245 y z DATA(2, -2, 2) + 4/245 y z DATA(1, -2, 2)
+
+ + 4/245 y z DATA(-1, -2, 2) + 4/245 y z DATA(1, -2, -2)
+
+ + 1/175 y DATA(-2, 0, -1) - 2/245 y z DATA(2, -1, 2)
+
+ + 4/245 y z DATA(-2, -2, -2) + 1/245 y z DATA(-1, -1, 1)
+
+ - 2/245 y z DATA(1, -1, 2) + 4/245 y z DATA(-1, -2, -2)
+
+ - 2/245 y z DATA(-1, 1, 2) + 1/245 y z DATA(1, -1, 1)
+
+ + 1/245 y z DATA(-1, 1, 1) + 4/245 y z DATA(-1, 2, 2)
+
+ 2
+ - 2/245 y z DATA(-2, 1, -2) - 1/100 z DATA(2, 1, 1)
+
+ - 1/350 x y DATA(-2, 1, -1) - 2/245 y z DATA(2, -1, -2)
+
+ + 1/245 y z DATA(1, 1, 1) - 1/175 z DATA(1, 1, 0) - 1/175 z DATA(0, 1, 0)
+
+ - 2/175 x y DATA(2, 2, -2) - 1/175 z DATA(-1, 1, 0)
+
+ + 1/175 z DATA(0, -1, 0) - 1/175 x y DATA(1, 2, -2)
+
+ + 1/175 z DATA(-1, -1, 0) + 1/175 z DATA(1, -1, 0)
+
+ - 2/175 z DATA(-1, 2, 0) - 2/175 z DATA(1, 2, 0) + 1/175 z DATA(2, -1, 0)
+
+ - 2/175 z DATA(2, 2, 0) - 1/175 z DATA(2, 1, 0)
+
+ + 1/175 x y DATA(-2, -2, -1) + 1/350 x y DATA(1, -1, -2)
+
+ - 1/350 x y DATA(-1, -1, -2) - 2/175 z DATA(0, 2, 0)
+
+ - 1/175 x y DATA(2, -2, -1) - 1/350 x y DATA(1, -2, -1)
+
+ + 1/350 x y DATA(-1, -2, -1) - 1/175 x y DATA(-2, 1, -2)
+
+ + 1/175 x y DATA(2, -1, -2) + 1/350 x y DATA(1, 1, -2)
+
+ - 1/350 x y DATA(-1, 1, -2) + 2/175 x y DATA(-2, 2, -2)
+
+ + 1/175 x y DATA(2, 1, -2) + 1/175 y DATA(0, 0, -1)
+
+ - 1/175 y DATA(1, 0, 1) + 2/175 y DATA(0, 0, -2)
+
+ - 1/350 x y DATA(1, -1, 2) - 1/175 x y DATA(2, -1, 2)
+
+ - 1/175 y DATA(0, 0, 1) - 2/175 y DATA(0, 0, 2)
+
+ + 1/350 x y DATA(-1, -1, 2) + 1/175 x y DATA(2, 2, 1)
+
+ - 2/175 y DATA(-1, 0, 2) - 2/175 y DATA(1, 0, 2) + 1/175 y DATA(2, 0, -1)
+
+ 229
+ + ----- DATA(-2, 1, 1) - 2/175 y DATA(-2, 0, 2)
+ 10500
+
+ + 1/175 x y DATA(-1, -2, -2) + 1/350 x y DATA(-1, 1, 2)
+
+ + 2/175 x y DATA(-2, -2, -2) + 2/175 y DATA(2, 0, -2)
+
+ + 2/175 y DATA(-2, 0, -2) + 2/175 y DATA(-1, 0, -2)
+
+ + 2/175 y DATA(1, 0, -2) - 2/175 y DATA(2, 0, 2)
+
+ - 1/700 x y DATA(-1, 1, -1) - 1/175 x y DATA(1, -2, -2)
+
+ 107
+ - 1/175 x y DATA(2, 1, 2) - 1/175 x y DATA(-1, 2, 2) + ---- DATA(-2, 2, 1)
+ 7000
+
+ + 2/175 x y DATA(2, 2, 2) - 2/175 x y DATA(2, -2, -2)
+
+ + 1/700 x y DATA(1, -1, -1) - 1/175 x y DATA(2, 2, -1)
+
+ + 1/175 x y DATA(1, 2, 2) - 1/175 y DATA(2, 0, 1)
+
+ - 1/175 x y DATA(-2, -1, -2) + 1/350 x y DATA(1, 2, 1)
+
+ - 1/350 x y DATA(2, -1, 1) - 1/350 x y DATA(-1, 2, 1)
+
+ 137 2
+ + ---- DATA(-2, -2, 2) + 1/100 z DATA(1, 2, 2)
+ 5250
+
+ + 1/350 x y DATA(2, -1, -1) + 1/350 x y DATA(-1, 2, -1)
+
+ + 1/350 x y DATA(2, 1, -1) - 1/350 x y DATA(1, 2, -1)
+
+ - 1/700 x y DATA(-1, -1, -1) - 2/175 x y DATA(-2, 2, 2)
+
+ - 1/700 x y DATA(1, 1, 1) + 1/175 x y DATA(-2, 1, 2)
+
+ + 2/175 x y DATA(2, -2, 2) + 1/175 x y DATA(-2, -1, 2)
+
+ + 1/175 x y DATA(1, -2, 2) - 1/175 x y DATA(-1, -2, 2)
+
+ + 1/700 x y DATA(-1, -1, 1) - 1/700 x y DATA(1, -1, 1)
+
+ + 1/700 x y DATA(-1, 1, 1) - 1/350 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=2376982304, alloc=15136044, time=384.86
+bytes used=2377982836, alloc=15136044, time=384.94
+bytes used=2378998468, alloc=15136044, time=385.02
+bytes used=2380035620, alloc=15136044, time=385.10
+bytes used=2381119472, alloc=15136044, time=385.19
+bytes used=2382177936, alloc=15136044, time=385.27
+bytes used=2383206180, alloc=15136044, time=385.35
+bytes used=2384233008, alloc=15136044, time=385.44
+bytes used=2385233456, alloc=15136044, time=385.52
+bytes used=2386233788, alloc=15136044, time=385.61
+bytes used=2387252820, alloc=15136044, time=385.69
+bytes used=2388293320, alloc=15136044, time=385.78
+bytes used=2389341868, alloc=15136044, time=385.87
+bytes used=2390348608, alloc=15136044, time=385.96
+bytes used=2391349020, alloc=15136044, time=386.05
+bytes used=2392370552, alloc=15136044, time=386.15
+bytes used=2393385800, alloc=15136044, time=386.24
+bytes used=2394385956, alloc=15136044, time=386.33
+bytes used=2395386444, alloc=15136044, time=386.43
+bytes used=2396386584, alloc=15136044, time=386.52
+bytes used=2397386700, alloc=15136044, time=386.62
+bytes used=2398386984, alloc=15136044, time=386.73
+bytes used=2399396224, alloc=15136044, time=386.83
+bytes used=2400417664, alloc=15136044, time=386.92
+bytes used=2401422508, alloc=15136044, time=386.99
+bytes used=2402426880, alloc=15136044, time=387.07
+ 2 2
+[COEFF(-2, -2, -2) = 1/175 x + 1/100 y - 2/175 z + 2/175 x y - 2/175 y
+
+ 2 137
+ + 2/175 x z + 1/100 z - 1/125 x + 4/245 y z - ----, COEFF(-1, -2, -2) =
+ 5250
+
+ 2 2 47
+ - 2/175 y + 4/245 y z - 1/250 x + 1/100 y + 1/100 z - ---- + 1/175 x z
+ 5250
+
+ 2
+ + 1/175 x y - 2/175 z - 1/350 x , COEFF(0, -2, -2) =
+
+ 2 2 2 17
+ 1/100 z - 1/175 x - 2/175 z + 1/100 y - 2/175 y - ---- + 4/245 y z,
+ 5250
+
+ 2 2
+ COEFF(1, -2, -2) = - 1/350 x + 1/100 z - 2/175 y + 4/245 y z - 1/175 x z
+
+ 47 2
+ - ---- + 1/250 x - 2/175 z - 1/175 x y + 1/100 y , COEFF(2, -2, -2) =
+ 5250
+
+ 2 2 137 2
+ 1/175 x + 1/100 z - 2/175 y - 2/175 x z - ---- + 4/245 y z + 1/100 y
+ 5250
+
+ 2
+ + 1/125 x - 2/175 x y - 2/175 z, COEFF(-2, -1, -2) = - 1/50 y - 1/175 z
+
+ 2 107 2
+ + 1/200 z - 1/175 x y - 2/245 y z + ---- + 1/350 x + 1/175 y - 1/250 x
+ 7000
+
+ 2
+ + 1/175 x z, COEFF(-1, -1, -2) = - 1/50 y - 1/175 z + 1/350 x z + 1/175 y
+
+ 167 2 2
+ + ---- - 1/350 x y - 1/500 x - 2/245 y z - 1/700 x + 1/200 z ,
+ 7000
+
+ COEFF(0, -1, -2) =
+
+ 2 2 2 187
+ - 1/175 z - 1/350 x - 1/50 y + 1/200 z + 1/175 y - 2/245 y z + ----,
+ 7000
+
+ 2 167 2
+ COEFF(1, -1, -2) = - 1/700 x + ---- - 1/175 z + 1/200 z + 1/350 x y
+ 7000
+
+ 2
+ - 2/245 y z - 1/350 x z + 1/500 x - 1/50 y + 1/175 y, COEFF(2, -1, -2) =
+
+ 2 107
+ 1/175 x y + 1/350 x - 2/245 y z + 1/250 x + 1/175 y + ---- - 1/175 x z
+ 7000
+
+ 2 2
+ + 1/200 z - 1/175 z - 1/50 y ,
+
+ COEFF(-2, 0, -2) = - 2/175 x y + 2/175 y - 4/245 y z,
+
+ COEFF(-1, 0, -2) = - 1/175 x y - 4/245 y z + 2/175 y,
+
+ COEFF(0, 0, -2) = - 4/245 y z + 2/175 y,
+
+ COEFF(1, 0, -2) = 1/175 x y + 2/175 y - 4/245 y z,
+
+ COEFF(2, 0, -2) = - 4/245 y z + 2/175 y + 2/175 x y, COEFF(-2, 1, -2) =
+
+ 107 2 2 2
+ 1/250 x + 1/175 z - ---- - 1/200 z + 1/50 y - 1/350 x - 1/175 x z
+ 7000
+
+ 167 2
+ - 2/245 y z - 1/175 x y + 1/175 y, COEFF(-1, 1, -2) = - ---- - 1/200 z
+ 7000
+
+ 2
+ - 1/350 x y + 1/175 y + 1/500 x + 1/50 y - 2/245 y z - 1/350 x z
+
+ 2
+ + 1/700 x + 1/175 z, COEFF(0, 1, -2) =
+
+ 2 187 2 2
+ - 2/245 y z + 1/50 y - ---- + 1/175 z + 1/175 y + 1/350 x - 1/200 z ,
+ 7000
+
+ 167 2
+ COEFF(1, 1, -2) = - 1/500 x - ---- + 1/350 x y - 1/200 z + 1/350 x z
+ 7000
+
+ 2 2
+ + 1/175 z + 1/175 y - 2/245 y z + 1/50 y + 1/700 x , COEFF(2, 1, -2) =
+
+ 2 107 2
+ 1/175 y - 1/200 z - ---- - 1/250 x + 1/175 z + 1/50 y - 2/245 y z
+ 7000
+
+ 2 2
+ + 1/175 x y - 1/350 x + 1/175 x z, COEFF(-2, 2, -2) = - 1/100 z
+
+ 2 137
+ + 2/175 x y - 2/175 y + 1/125 x - 1/175 x + 2/175 z + 4/245 y z + ----
+ 5250
+
+ 2
+ - 2/175 x z - 1/100 y , COEFF(-1, 2, -2) = - 2/175 y + 2/175 z - 1/175 x z
+
+ 2 47 2 2
+ + 1/250 x - 1/100 y + ---- + 4/245 y z + 1/175 x y - 1/100 z + 1/350 x ,
+ 5250
+
+ COEFF(0, 2, -2) =
+
+ 2 17 2 2
+ 1/175 x + 4/245 y z + ---- - 1/100 z + 2/175 z - 1/100 y - 2/175 y,
+ 5250
+
+ 2 2 2
+ COEFF(1, 2, -2) = - 1/100 y - 1/100 z + 4/245 y z + 1/175 x z + 1/350 x
+
+ 47 137
+ + ---- + 2/175 z - 2/175 y - 1/175 x y - 1/250 x, COEFF(2, 2, -2) = ----
+ 5250 5250
+
+ 2 2
+ - 1/100 y + 2/175 x z + 2/175 z - 2/175 y + 4/245 y z - 1/100 z
+
+ 2
+ - 1/175 x - 2/175 x y - 1/125 x, COEFF(-2, -2, -1) = - 1/175 x z
+
+ 2 2 107
+ - 1/50 z + 1/175 z + 1/350 x - 2/245 y z - 1/175 y - 1/250 x + ----
+ 7000
+
+ 2
+ + 1/175 x y + 1/200 y , COEFF(-1, -2, -1) = - 1/500 x - 2/245 y z
+
+ 2 2 2 167
+ - 1/175 y + 1/350 x y + 1/200 y + 1/175 z - 1/50 z - 1/700 x + ----
+ 7000
+
+ - 1/350 x z, COEFF(0, -2, -1) =
+
+ 187 2 2 2
+ - 2/245 y z - 1/175 y + ---- - 1/350 x + 1/175 z + 1/200 y - 1/50 z ,
+ 7000
+
+ 2
+ COEFF(1, -2, -1) = - 1/350 x y - 1/175 y + 1/175 z - 1/50 z + 1/350 x z
+
+ 2 2 167
+ - 1/700 x - 2/245 y z + 1/500 x + 1/200 y + ----, COEFF(2, -2, -1) =
+ 7000
+
+ 2 107 2
+ 1/175 z - 1/50 z + ---- - 2/245 y z + 1/175 x z - 1/175 y + 1/200 y
+ 7000
+
+ 2 2 229
+ - 1/175 x y + 1/250 x + 1/350 x , COEFF(-2, -1, -1) = 1/700 x + -----
+ 10500
+
+ 2 2
+ - 1/100 y + 1/350 y + 1/350 z - 1/500 x + 1/245 y z - 1/100 z
+
+ 137
+ - 1/350 x z - 1/350 x y, COEFF(-1, -1, -1) = - 1/1000 x + ---- - 1/700 x z
+ 5250
+
+ 2 2 2
+ - 1/1400 x - 1/100 z - 1/100 y + 1/350 z + 1/350 y - 1/700 x y
+
+ + 1/245 y z, COEFF(0, -1, -1) =
+
+ 2 2 2 289
+ - 1/100 y + 1/350 y - 1/100 z - 1/700 x + 1/350 z + 1/245 y z + -----,
+ 10500
+
+ 2 2
+ COEFF(1, -1, -1) = - 1/100 y + 1/700 x z + 1/700 x y + 1/1000 x - 1/100 z
+
+ 2 137
+ + 1/350 z - 1/1400 x + 1/350 y + ---- + 1/245 y z, COEFF(2, -1, -1) =
+ 5250
+
+ 2 2
+ 1/700 x + 1/350 y + 1/350 x z + 1/245 y z + 1/350 z + 1/500 x - 1/100 z
+
+ 229 2
+ + 1/350 x y + ----- - 1/100 y ,
+ 10500
+
+ COEFF(-2, 0, -1) = 1/175 y + 2/245 y z - 1/175 x y,
+
+ COEFF(-1, 0, -1) = - 1/350 x y + 1/175 y + 2/245 y z,
+
+ COEFF(0, 0, -1) = 1/175 y + 2/245 y z,
+
+ COEFF(1, 0, -1) = 1/175 y + 2/245 y z + 1/350 x y,
+
+ COEFF(2, 0, -1) = 1/175 y + 1/175 x y + 2/245 y z, COEFF(-2, 1, -1) =
+
+ 2 229 2 2
+ - 1/350 z - 1/700 x - ----- - 1/350 x y + 1/100 y + 1/350 x z + 1/100 z
+ 10500
+
+ + 1/350 y + 1/245 y z + 1/500 x, COEFF(-1, 1, -1) = - 1/350 z + 1/350 y
+
+ 137 2 2 2
+ - ---- + 1/1400 x - 1/700 x y + 1/100 z + 1/245 y z + 1/100 y
+ 5250
+
+ + 1/700 x z + 1/1000 x, COEFF(0, 1, -1) =
+
+ 2 2 2 289
+ 1/245 y z + 1/100 y + 1/700 x + 1/100 z - ----- - 1/350 z + 1/350 y,
+ 10500
+
+ 2 2 2
+ COEFF(1, 1, -1) = 1/100 y - 1/350 z + 1/700 x y + 1/100 z + 1/1400 x
+
+ 137
+ - 1/700 x z + 1/350 y + 1/245 y z - 1/1000 x - ----, COEFF(2, 1, -1) =
+ 5250
+
+ 2 2
+ 1/100 z + 1/350 y - 1/350 x z - 1/500 x + 1/100 y - 1/350 z + 1/245 y z
+
+ 2 229
+ - 1/700 x - ----- + 1/350 x y, COEFF(-2, 2, -1) = 1/175 x z - 1/175 z
+ 10500
+
+ 2 2
+ + 1/175 x y - 1/350 x - 1/175 y - 1/200 y + 1/250 x - 2/245 y z
+
+ 2 107 2 167
+ + 1/50 z - ----, COEFF(-1, 2, -1) = 1/700 x - ---- + 1/350 x y - 1/175 y
+ 7000 7000
+
+ 2 2
+ + 1/50 z - 1/175 z - 1/200 y - 2/245 y z + 1/350 x z + 1/500 x,
+
+ COEFF(0, 2, -1) =
+
+ 2 187 2 2
+ - 2/245 y z + 1/50 z - 1/175 z - 1/175 y - ---- - 1/200 y + 1/350 x ,
+ 7000
+
+ 167 2
+ COEFF(1, 2, -1) = - 1/175 z - ---- - 1/175 y - 2/245 y z + 1/700 x
+ 7000
+
+ 2 2
+ - 1/200 y - 1/500 x + 1/50 z - 1/350 x y - 1/350 x z, COEFF(2, 2, -1) =
+
+ 107 2 2
+ - ---- - 1/175 x z - 2/245 y z - 1/175 z - 1/200 y - 1/175 y + 1/50 z
+ 7000
+
+ 2
+ - 1/350 x - 1/175 x y - 1/250 x,
+
+ COEFF(-2, -2, 0) = - 4/245 y z + 2/175 z - 2/175 x z,
+
+ COEFF(-1, -2, 0) = - 1/175 x z + 2/175 z - 4/245 y z,
+
+ COEFF(0, -2, 0) = - 4/245 y z + 2/175 z,
+
+ COEFF(1, -2, 0) = 1/175 x z - 4/245 y z + 2/175 z,
+
+ COEFF(2, -2, 0) = 2/175 x z - 4/245 y z + 2/175 z,
+
+ COEFF(-2, -1, 0) = - 1/175 x z + 1/175 z + 2/245 y z,
+
+ COEFF(-1, -1, 0) = - 1/350 x z + 2/245 y z + 1/175 z,
+
+ COEFF(0, -1, 0) = 1/175 z + 2/245 y z,
+
+ COEFF(1, -1, 0) = 1/175 z + 1/350 x z + 2/245 y z,
+
+ COEFF(2, -1, 0) = 1/175 z + 2/245 y z + 1/175 x z,
+
+ COEFF(-2, 0, 0) = 4/245 y z, COEFF(-1, 0, 0) = 4/245 y z,
+
+ COEFF(0, 0, 0) = 4/245 y z, COEFF(1, 0, 0) = 4/245 y z,
+
+ COEFF(2, 0, 0) = 4/245 y z,
+
+ COEFF(-2, 1, 0) = 2/245 y z + 1/175 x z - 1/175 z,
+
+ COEFF(-1, 1, 0) = - 1/175 z + 2/245 y z + 1/350 x z,
+
+ COEFF(0, 1, 0) = - 1/175 z + 2/245 y z,
+
+ COEFF(1, 1, 0) = - 1/175 z - 1/350 x z + 2/245 y z,
+
+ COEFF(2, 1, 0) = - 1/175 x z - 1/175 z + 2/245 y z,
+
+ COEFF(-2, 2, 0) = 2/175 x z - 4/245 y z - 2/175 z,
+
+ COEFF(-1, 2, 0) = - 2/175 z - 4/245 y z + 1/175 x z,
+
+ COEFF(0, 2, 0) = - 2/175 z - 4/245 y z,
+
+ COEFF(1, 2, 0) = - 1/175 x z - 4/245 y z - 2/175 z,
+
+ COEFF(2, 2, 0) = - 2/175 x z - 4/245 y z - 2/175 z, COEFF(-2, -2, 1) =
+
+ 2 2 2
+ - 1/175 x z - 1/350 x - 1/200 y + 1/50 z - 1/175 x y + 1/175 y
+
+ 107 2 167
+ - 2/245 y z + 1/250 x - ---- + 1/175 z, COEFF(-1, -2, 1) = 1/50 z - ----
+ 7000 7000
+
+ 2 2
+ - 2/245 y z + 1/175 z - 1/350 x z - 1/200 y + 1/700 x - 1/350 x y
+
+ + 1/500 x + 1/175 y, COEFF(0, -2, 1) =
+
+ 2 2 2 187
+ - 2/245 y z - 1/200 y + 1/50 z + 1/175 z + 1/350 x - ---- + 1/175 y,
+ 7000
+
+ 167 2
+ COEFF(1, -2, 1) = - 2/245 y z - ---- + 1/700 x + 1/175 z - 1/500 x
+ 7000
+
+ 2 2
+ + 1/50 z + 1/350 x y - 1/200 y + 1/175 y + 1/350 x z, COEFF(2, -2, 1) =
+
+ 2 2 107
+ - 1/200 y + 1/175 z + 1/50 z - 2/245 y z + 1/175 x z - ---- - 1/250 x
+ 7000
+
+ 2 2 2
+ + 1/175 x y - 1/350 x + 1/175 y, COEFF(-2, -1, 1) = - 1/700 x + 1/100 z
+
+ 229 2
+ - 1/350 x z + 1/245 y z - ----- + 1/350 z - 1/350 y + 1/100 y + 1/350 x y
+ 10500
+
+ 137 2 2
+ + 1/500 x, COEFF(-1, -1, 1) = - ---- + 1/100 z + 1/245 y z + 1/100 y
+ 5250
+
+ 2
+ + 1/350 z + 1/1400 x + 1/1000 x + 1/700 x y - 1/700 x z - 1/350 y,
+
+ COEFF(0, -1, 1) =
+
+ 289 2 2 2
+ - ----- - 1/350 y + 1/700 x + 1/245 y z + 1/350 z + 1/100 y + 1/100 z ,
+ 10500
+
+ 2 2 2
+ COEFF(1, -1, 1) = 1/245 y z + 1/100 y + 1/1400 x + 1/100 z - 1/1000 x
+
+ 137
+ - ---- + 1/350 z - 1/700 x y + 1/700 x z - 1/350 y, COEFF(2, -1, 1) =
+ 5250
+
+ 2 2 2
+ 1/100 y + 1/245 y z - 1/700 x + 1/100 z - 1/350 y - 1/500 x + 1/350 x z
+
+ 229
+ - 1/350 x y + 1/350 z - -----,
+ 10500
+
+ COEFF(-2, 0, 1) = 2/245 y z + 1/175 x y - 1/175 y,
+
+ COEFF(-1, 0, 1) = 1/350 x y - 1/175 y + 2/245 y z,
+
+ COEFF(0, 0, 1) = - 1/175 y + 2/245 y z,
+
+ COEFF(1, 0, 1) = 2/245 y z - 1/175 y - 1/350 x y,
+
+ COEFF(2, 0, 1) = 2/245 y z - 1/175 y - 1/175 x y, COEFF(-2, 1, 1) =
+
+ 2 2 229 2
+ 1/700 x + 1/350 x z - 1/100 y - 1/500 x + ----- - 1/350 z - 1/100 z
+ 10500
+
+ + 1/245 y z - 1/350 y + 1/350 x y, COEFF(-1, 1, 1) = 1/700 x y - 1/1000 x
+
+ 137 2 2 2
+ - 1/350 y + 1/700 x z + ---- - 1/1400 x + 1/245 y z - 1/100 y - 1/100 z
+ 5250
+
+ - 1/350 z, COEFF(0, 1, 1) =
+
+ 2 289 2 2
+ - 1/100 y - 1/350 y + ----- - 1/700 x - 1/350 z - 1/100 z + 1/245 y z,
+ 10500
+
+ 137 2
+ COEFF(1, 1, 1) = - 1/700 x z + ---- - 1/100 z - 1/350 y + 1/1000 x
+ 5250
+
+ 2 2
+ - 1/700 x y - 1/350 z + 1/245 y z - 1/1400 x - 1/100 y , COEFF(2, 1, 1)
+
+ 2 229 2
+ = - 1/350 x z - 1/100 z + ----- - 1/350 x y + 1/245 y z + 1/700 x
+ 10500
+
+ 2
+ + 1/500 x - 1/100 y - 1/350 y - 1/350 z, COEFF(-2, 2, 1) = - 1/250 x
+
+ 2 2 2
+ - 1/175 z + 1/200 y + 1/175 y + 1/350 x - 2/245 y z - 1/50 z
+
+ 107 167
+ + 1/175 x z + ---- - 1/175 x y, COEFF(-1, 2, 1) = - 1/500 x + ----
+ 7000 7000
+
+ 2
+ - 2/245 y z - 1/350 x y + 1/200 y - 1/175 z + 1/350 x z + 1/175 y
+
+ 2 2
+ - 1/700 x - 1/50 z , COEFF(0, 2, 1) =
+
+ 2 187 2 2
+ 1/175 y - 2/245 y z - 1/175 z + 1/200 y + ---- - 1/350 x - 1/50 z ,
+ 7000
+
+ 167 2 2
+ COEFF(1, 2, 1) = 1/500 x + ---- - 1/175 z - 1/700 x - 2/245 y z + 1/200 y
+ 7000
+
+ 2 2
+ - 1/50 z + 1/350 x y + 1/175 y - 1/350 x z, COEFF(2, 2, 1) = 1/350 x
+
+ 2 107
+ + 1/200 y + ---- + 1/250 x - 2/245 y z + 1/175 x y - 1/175 z - 1/175 x z
+ 7000
+
+ 2
+ + 1/175 y - 1/50 z , COEFF(-2, -2, 2) = 2/175 x z - 2/175 z + 1/125 x
+
+ 2 2 2 137
+ - 1/100 y - 1/175 x + 4/245 y z - 1/100 z + 2/175 y + ---- - 2/175 x y,
+ 5250
+
+ 2 2
+ COEFF(-1, -2, 2) = - 1/175 x y + 2/175 y - 1/100 z + 1/175 x z - 1/100 y
+
+ 47 2
+ + ---- + 1/250 x + 4/245 y z - 2/175 z + 1/350 x , COEFF(0, -2, 2) =
+ 5250
+
+ 2 17 2 2
+ 1/175 x + ---- - 2/175 z + 2/175 y - 1/100 z + 4/245 y z - 1/100 y ,
+ 5250
+
+ 2 47 2
+ COEFF(1, -2, 2) = 1/175 x y + 1/350 x - 1/250 x + ---- - 1/100 z
+ 5250
+
+ 2
+ + 2/175 y - 1/175 x z + 4/245 y z - 2/175 z - 1/100 y , COEFF(2, -2, 2) =
+
+ 137 2 2
+ ---- + 4/245 y z + 2/175 y - 1/100 z + 2/175 x y - 1/175 x - 2/175 z
+ 5250
+
+ 2
+ - 1/100 y - 1/125 x - 2/175 x z, COEFF(-2, -1, 2) = 1/175 x z + 1/175 x y
+
+ 2 2 2
+ - 1/175 z - 1/350 x + 1/250 x - 2/245 y z - 1/175 y + 1/50 y - 1/200 z
+
+ 107 2
+ - ----, COEFF(-1, -1, 2) = - 2/245 y z + 1/350 x z + 1/50 y + 1/500 x
+ 7000
+
+ 2 2 167
+ - 1/175 z - 1/200 z - 1/175 y + 1/700 x + 1/350 x y - ----,
+ 7000
+
+ COEFF(0, -1, 2) =
+
+ 2 187 2 2
+ 1/50 y - ---- - 2/245 y z - 1/200 z - 1/175 y + 1/350 x - 1/175 z,
+ 7000
+
+ 2 2
+ COEFF(1, -1, 2) = 1/50 y + 1/700 x - 2/245 y z - 1/500 x - 1/175 z
+
+ 2 167
+ - 1/350 x z - 1/175 y - 1/350 x y - 1/200 z - ----, COEFF(2, -1, 2) =
+ 7000
+
+ 2 2
+ - 1/350 x - 1/175 x y - 1/175 y - 1/175 x z - 2/245 y z - 1/200 z
+
+ 107 2
+ - 1/250 x - 1/175 z - ---- + 1/50 y ,
+ 7000
+
+ COEFF(-2, 0, 2) = - 2/175 y + 2/175 x y - 4/245 y z,
+
+ COEFF(-1, 0, 2) = - 2/175 y - 4/245 y z + 1/175 x y,
+
+ COEFF(0, 0, 2) = - 4/245 y z - 2/175 y,
+
+ COEFF(1, 0, 2) = - 1/175 x y - 2/175 y - 4/245 y z,
+
+ COEFF(2, 0, 2) = - 2/175 x y - 2/175 y - 4/245 y z, COEFF(-2, 1, 2) =
+
+ - 1/175 x z - 1/250 x - 2/245 y z + 1/175 z - 1/175 y + 1/175 x y
+
+ 2 2 2 107 2
+ + 1/200 z + 1/350 x - 1/50 y + ----, COEFF(-1, 1, 2) = - 1/700 x
+ 7000
+
+ 2 2 167
+ + 1/350 x y + 1/200 z - 1/50 y - 2/245 y z - 1/175 y - 1/350 x z + ----
+ 7000
+
+ + 1/175 z - 1/500 x, COEFF(0, 1, 2) =
+
+ 187 2 2 2
+ - 1/175 y + ---- - 2/245 y z - 1/350 x + 1/200 z + 1/175 z - 1/50 y ,
+ 7000
+
+ 167 2
+ COEFF(1, 1, 2) = 1/500 x + 1/350 x z + ---- - 1/50 y - 1/350 x y + 1/175 z
+ 7000
+
+ 2 2
+ - 1/175 y - 2/245 y z + 1/200 z - 1/700 x , COEFF(2, 1, 2) = 1/250 x
+
+ 107 2
+ + ---- - 2/245 y z - 1/175 x y + 1/175 z - 1/50 y + 1/175 x z - 1/175 y
+ 7000
+
+ 2 2 2
+ + 1/200 z + 1/350 x , COEFF(-2, 2, 2) = 1/175 x + 2/175 y + 2/175 z
+
+ 137 2 2
+ - 2/175 x z + 4/245 y z - ---- - 2/175 x y - 1/125 x + 1/100 z + 1/100 y
+ 5250
+
+ 47 2 2
+ , COEFF(-1, 2, 2) = - ---- - 1/175 x y + 2/175 z + 1/100 y - 1/350 x
+ 5250
+
+ 2
+ + 2/175 y - 1/250 x + 4/245 y z + 1/100 z - 1/175 x z, COEFF(0, 2, 2) =
+
+ 2 17 2 2
+ - 1/175 x + 4/245 y z - ---- + 1/100 y + 2/175 z + 2/175 y + 1/100 z ,
+ 5250
+
+ 2 2 47
+ COEFF(1, 2, 2) = 1/175 x y + 1/250 x - 1/350 x + 2/175 z + 1/100 z - ----
+ 5250
+
+ 2
+ + 4/245 y z + 1/100 y + 1/175 x z + 2/175 y, COEFF(2, 2, 2) = 2/175 x z
+
+ 2 2 2
+ + 1/175 x + 1/100 z + 1/125 x + 2/175 x y + 1/100 y + 2/175 z + 2/175 y
+
+ 137
+ - ---- + 4/245 y z]
+ 5250
+
+> print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c");
+bytes used=2403427036, alloc=15136044, time=387.16
+bytes used=2404427596, alloc=15136044, time=387.25
+bytes used=2405427924, alloc=15136044, time=387.33
+bytes used=2406428092, alloc=15136044, time=387.41
+bytes used=2407428768, alloc=15136044, time=388.13
+bytes used=2408429164, alloc=15136044, time=388.84
+bytes used=2409429480, alloc=15136044, time=389.55
+bytes used=2410429708, alloc=15136044, time=390.25
+bytes used=2411429872, alloc=15136044, time=390.94
+bytes used=2412430060, alloc=15136044, time=391.28
+bytes used=2413430228, alloc=15136044, time=391.35
+bytes used=2414453148, alloc=15136044, time=391.45
+bytes used=2415457844, alloc=15136044, time=391.52
+bytes used=2416464896, alloc=15136044, time=391.60
+bytes used=2417478960, alloc=15136044, time=391.69
+bytes used=2418479164, alloc=15136044, time=391.77
+bytes used=2419479320, alloc=15136044, time=392.91
+bytes used=2420479552, alloc=15136044, time=393.62
+bytes used=2421479768, alloc=15136044, time=394.01
+bytes used=2422480356, alloc=15136044, time=394.10
+bytes used=2423480660, alloc=15136044, time=394.17
+bytes used=2424481304, alloc=15136044, time=394.24
+bytes used=2425481520, alloc=15136044, time=394.31
+bytes used=2426483560, alloc=15136044, time=394.38
+bytes used=2427483884, alloc=15136044, time=394.45
+bytes used=2428485808, alloc=15136044, time=394.52
+bytes used=2429486036, alloc=15136044, time=394.60
+bytes used=2430497180, alloc=15136044, time=394.71
+bytes used=2431500148, alloc=15136044, time=394.82
+bytes used=2432503228, alloc=15136044, time=394.93
+bytes used=2433503556, alloc=15136044, time=395.06
+bytes used=2434507508, alloc=15136044, time=395.19
+bytes used=2435508292, alloc=15136044, time=395.32
+bytes used=2436508492, alloc=15136044, time=395.44
+bytes used=2437508720, alloc=15136044, time=395.53
+bytes used=2438508936, alloc=15136044, time=396.32
+bytes used=2439509088, alloc=15136044, time=397.75
+bytes used=2440509276, alloc=15136044, time=398.29
+bytes used=2441509436, alloc=15136044, time=398.54
+bytes used=2442509688, alloc=15136044, time=398.62
+bytes used=2443510176, alloc=15136044, time=398.69
+bytes used=2444510524, alloc=15136044, time=398.77
+bytes used=2445510804, alloc=15136044, time=398.84
+bytes used=2446511052, alloc=15136044, time=398.92
+bytes used=2447511308, alloc=15136044, time=399.00
+bytes used=2448514404, alloc=15136044, time=399.17
+bytes used=2449517948, alloc=15136044, time=399.29
+bytes used=2450526136, alloc=15136044, time=399.42
+bytes used=2451526396, alloc=15136044, time=399.53
+bytes used=2452526596, alloc=15136044, time=400.75
+bytes used=2453527508, alloc=15136044, time=401.83
+bytes used=2454527716, alloc=15136044, time=402.40
+bytes used=2455527916, alloc=15136044, time=402.74
+bytes used=2456528216, alloc=15136044, time=402.83
+bytes used=2457528520, alloc=15136044, time=402.93
+bytes used=2458528704, alloc=15136044, time=403.14
+bytes used=2459528920, alloc=15136044, time=404.69
+bytes used=2460529180, alloc=15136044, time=405.82
+bytes used=2461529372, alloc=15136044, time=406.28
+bytes used=2462529664, alloc=15136044, time=406.35
+bytes used=2463529880, alloc=15136044, time=406.50
+bytes used=2464530168, alloc=15136044, time=407.31
+bytes used=2465530348, alloc=15136044, time=408.93
+bytes used=2466530536, alloc=15136044, time=409.52
+bytes used=2467546052, alloc=15136044, time=409.86
+bytes used=2468546372, alloc=15136044, time=409.94
+bytes used=2469546560, alloc=15136044, time=410.03
+>
+# d^2/dz^2
+> simplify( diff(interp_3d_cube_order4_smooth0,z,z) );
+bytes used=2470546744, alloc=15136044, time=410.12
+bytes used=2471547020, alloc=15136044, time=410.21
+bytes used=2472547916, alloc=15136044, time=410.29
+bytes used=2473548136, alloc=15136044, time=410.37
+bytes used=2474548676, alloc=15136044, time=410.46
+bytes used=2475548836, alloc=15136044, time=410.54
+bytes used=2476549064, alloc=15136044, time=410.63
+bytes used=2477549348, alloc=15136044, time=410.71
+bytes used=2478550292, alloc=15136044, time=410.80
+bytes used=2479550472, alloc=15136044, time=410.89
+166 151 166
+---- DATA(-1, 1, -1) + ---- DATA(0, 1, -1) + ---- DATA(1, 1, -1)
+3675 3675 3675
+
+ 57 61 57
+ - --- DATA(-1, -1, 0) - --- DATA(0, -1, 0) - --- DATA(1, -1, 0)
+ 490 490 490
+
+ 61 57 166
+ - --- DATA(-1, 0, 0) - --- DATA(-1, 1, 0) + ---- DATA(-1, 1, 1)
+ 490 490 3675
+
+ 151 166 166
+ + ---- DATA(-1, 0, 1) + ---- DATA(1, -1, 1) + ---- DATA(-1, -1, 1)
+ 3675 3675 3675
+
+ 151 169
+ + ---- DATA(0, -1, 1) - ----- DATA(-1, -2, 2) - 1/300 DATA(0, -2, 2)
+ 3675 14700
+
+ 151 136 151
+ + ---- DATA(-1, 0, -1) + ---- DATA(0, 0, -1) + ---- DATA(1, 0, -1)
+ 3675 3675 3675
+
+ 13 61 61
+ - -- DATA(0, 0, 0) - --- DATA(1, 0, 0) - --- DATA(0, 1, 0)
+ 98 490 490
+
+ 57 136 169
+ - --- DATA(1, 1, 0) + ---- DATA(0, 0, 1) - ----- DATA(1, -2, 2)
+ 490 3675 14700
+
+ 169 529
+ - ----- DATA(-2, -1, 2) - ----- DATA(2, -2, 2) - 1/300 DATA(-2, 0, 2)
+ 14700 14700
+
+ 169 151 151
+ - ----- DATA(-2, 1, 2) + ---- DATA(1, 0, 1) + ---- DATA(0, 1, 1)
+ 14700 3675 3675
+
+ 166 529
+ + ---- DATA(1, 1, 1) - ----- DATA(-2, 2, 2) - 1/175 x y DATA(-1, -2, 0)
+ 3675 14700
+
+ - 2/175 x y DATA(-2, -2, 0) - 1/175 x y DATA(-2, -1, 0)
+
+ + 2/175 x y DATA(2, -2, 0) + 1/175 x y DATA(1, -2, 0)
+
+ + 1/175 x y DATA(-2, 1, 0) + 2/175 x y DATA(-2, 2, 0)
+
+ - 1/350 x y DATA(1, 1, 0) + 1/350 x y DATA(-1, 1, 0)
+
+ - 1/350 x y DATA(-1, -1, 0) + 1/350 x y DATA(1, -1, 0)
+
+ - 1/25 y z DATA(2, -2, -1) - 1/25 y z DATA(1, -2, -1)
+
+ - 1/25 y z DATA(-1, -2, -1) - 1/25 y z DATA(-2, -2, -1)
+
+ - 1/50 y z DATA(2, 2, -2) - 1/50 y z DATA(1, 2, -2)
+
+ - 1/50 y z DATA(-1, 2, -2) + 1/50 y z DATA(-2, 1, -1)
+
+ - 1/50 y z DATA(-2, -1, -1) + 1/25 y z DATA(-2, 2, -1)
+
+ + 1/25 y z DATA(-2, -2, 1) - 2/175 x y DATA(2, 2, 0)
+
+ - 1/175 x y DATA(2, 1, 0) + 1/175 x y DATA(-1, 2, 0)
+
+ + 1/175 x y DATA(2, -1, 0) - 1/175 x y DATA(1, 2, 0)
+
+ 166 2 2
+ + ---- DATA(-1, -1, -1) + 2/245 x DATA(2, 0, -2) - 2/245 x DATA(2, 2, 0)
+ 3675
+
+ 2 151 211
+ - 2/245 x DATA(-2, 2, 0) + ---- DATA(0, -1, -1) + ---- DATA(1, 2, -1)
+ 3675 3675
+
+ 2 2 211
+ + 1/245 y DATA(0, 0, -1) - 2/245 y DATA(0, -2, 0) + ---- DATA(2, 1, -1)
+ 3675
+
+ 211
+ + ---- DATA(-1, 2, -1) + 4/75 DATA(0, 2, -1) + 1/25 y z DATA(2, -2, 1)
+ 3675
+
+ + 1/50 y z DATA(-2, -1, 1) - 1/50 y z DATA(-2, 1, 1)
+
+ 211
+ + ---- DATA(2, -1, -1) + 4/75 DATA(2, 0, -1) - 1/25 y z DATA(-2, 2, 1)
+ 3675
+
+ 211 211
+ - 1/50 y z DATA(-2, -2, 2) + ---- DATA(2, 1, 1) + ---- DATA(-1, 2, 1)
+ 3675 3675
+
+ 211
+ + 4/75 DATA(0, 2, 1) + ---- DATA(1, 2, 1) + 1/100 y z DATA(-1, -1, -2)
+ 3675
+
+ 2 211
+ - 2/245 x DATA(2, -1, 0) + ---- DATA(2, -1, 1) + 4/75 DATA(2, 0, 1)
+ 3675
+
+ 166 33
+ + ---- DATA(1, -1, -1) - 9/98 DATA(1, 2, 0) - --- DATA(2, 2, 0)
+ 3675 490
+
+ - 9/98 DATA(2, 1, 0) - 9/98 DATA(-1, 2, 0) - 1/10 DATA(0, 2, 0)
+
+ 2 2
+ + 1/245 x DATA(1, 2, 0) + 1/245 y DATA(-1, 0, -1) - 9/98 DATA(2, -1, 0)
+
+ 256
+ - 1/10 DATA(2, 0, 0) + ---- DATA(2, 2, -1) - 1/50 y z DATA(0, -1, -1)
+ 3675
+
+ 169 169 529
+ - ----- DATA(1, 2, 2) - ----- DATA(-2, -1, -2) - ----- DATA(2, 2, 2)
+ 14700 14700 14700
+
+ 2 2 2
+ + 3/25 z DATA(-1, 1, 0) + 3/25 z DATA(-1, 0, 0) + 3/25 z DATA(1, 1, 0)
+
+ 2 2
+ + 3/25 z DATA(-2, -1, 0) + 3/25 z DATA(-1, -1, 0)
+
+ 2 2 2
+ + 3/25 z DATA(0, -1, 0) + 3/25 z DATA(1, -1, 0) - 2/25 z DATA(-1, 0, 1)
+
+ 2 2
+ + 3/25 z DATA(-2, 2, 0) + 3/25 z DATA(-1, -2, 0)
+
+ 2
+ + 3/25 z DATA(-2, -2, 0) + 2/175 y DATA(0, -2, 0)
+
+ 2 2 2
+ + 3/25 z DATA(2, -2, 0) + 3/25 z DATA(1, -2, 0) + 3/25 z DATA(-2, 1, 0)
+
+ 2 2 2
+ + 3/25 z DATA(2, 2, 0) + 3/25 z DATA(2, 1, 0) + 3/25 z DATA(-1, 2, 0)
+
+ 2 2 2
+ + 3/25 z DATA(2, -1, 0) + 3/25 z DATA(1, 2, 0) + 1/50 z DATA(2, 0, -2)
+
+ 529
+ - ----- DATA(2, -2, -2) - 2/175 y DATA(0, 2, 0) - 1/175 y DATA(0, 1, 0)
+ 14700
+
+ 169 191 169
+ - ----- DATA(1, -2, -2) + ----- DATA(1, 1, 2) - ----- DATA(2, 1, 2)
+ 14700 14700 14700
+
+ 169
+ - ----- DATA(-1, 2, 2) - 1/300 DATA(0, 2, 2) - 1/300 DATA(0, -2, -2)
+ 14700
+
+ 169 311 2
+ - ----- DATA(-1, -2, -2) + ----- DATA(1, 0, 2) + 1/490 x DATA(-1, 0, -1)
+ 14700 14700
+
+ 2 2
+ + 1/245 x DATA(0, 0, -1) + 2/245 x DATA(0, -2, 0)
+
+ 2 2
+ - 2/245 x DATA(-2, 0, 0) - 1/300 DATA(2, 0, 2) - 1/245 x DATA(-2, 0, -1)
+
+ 2 2
+ - 1/245 x DATA(-1, 0, 2) - 2/245 x DATA(0, 0, 2)
+
+ 2 191
+ - 2/245 x DATA(0, 0, -2) + ----- DATA(-1, 1, 2) + 1/25 y z DATA(0, 2, -1)
+ 14700
+
+ 311 529
+ + ----- DATA(0, 1, 2) - 1/25 y z DATA(0, 2, 1) - ----- DATA(-2, -2, -2)
+ 14700 14700
+
+ 2 2
+ - 1/245 x DATA(-2, 0, 1) - 1/245 x DATA(1, 0, -2)
+
+ 2 2
+ - 1/245 x DATA(-1, 0, -2) + 2/245 x DATA(-2, 0, -2)
+
+ 2 2 2
+ - 1/245 x DATA(1, 0, 2) + 2/245 x DATA(2, 0, 2) + 2/245 x DATA(0, 2, 0)
+
+ 2 2
+ - 1/245 x DATA(2, 0, -1) + 1/490 x DATA(1, 0, -1)
+
+ 2 2 2
+ + 2/245 x DATA(0, 0, 0) + 1/245 x DATA(1, 0, 0) + 2/245 x DATA(0, 1, 0)
+
+ 2 2
+ + 1/245 x DATA(0, 0, 1) + 2/245 x DATA(-2, 0, 2)
+
+ 2 2 2
+ - 1/245 x DATA(2, 0, 1) - 2/245 x DATA(2, 0, 0) + 1/490 x DATA(1, 0, 1)
+
+ 2
+ + 1/245 x DATA(1, 1, 0) - 1/50 x z DATA(-1, 0, -1)
+
+ 2 2
+ + 1/245 x DATA(-1, -1, 0) + 2/245 x DATA(0, -1, 0)
+
+ 2 2
+ + 1/245 x DATA(-1, 0, 0) + 1/490 x DATA(-1, 0, 1)
+
+ 2 2
+ + 1/245 x DATA(-1, 1, 0) + 1/245 x DATA(-1, -2, 0)
+
+ 2 2
+ - 2/245 x DATA(-2, -2, 0) - 2/245 x DATA(-2, -1, 0)
+
+ 2 2
+ - 2/245 x DATA(2, -2, 0) + 1/245 x DATA(1, -2, 0)
+
+ 2 191 169
+ - 2/245 x DATA(-2, 1, 0) + ----- DATA(1, -1, 2) - ----- DATA(2, -1, 2)
+ 14700 14700
+
+ 311 431 2
+ + ----- DATA(-1, 0, 2) + ----- DATA(0, 0, 2) + 1/245 x DATA(1, -1, 0)
+ 14700 14700
+
+ 191 311 256
+ + ----- DATA(-1, -1, 2) + ----- DATA(0, -1, 2) + ---- DATA(2, 2, 1)
+ 14700 14700 3675
+
+ 2 2
+ - 2/245 x DATA(2, 1, 0) + 1/245 x DATA(-1, 2, 0)
+
+ + 1/50 x z DATA(-2, -1, -2) + 1/175 x DATA(-1, -2, 0)
+
+ + 2/175 x DATA(-2, -2, 0) + 2/175 x DATA(-2, -1, 0)
+
+ - 2/175 x DATA(2, -2, 0) - 1/175 x DATA(1, -2, 0)
+
+ 2 2
+ + 1/245 x DATA(0, -2, -1) - 2/245 x DATA(0, 2, -2)
+
+ - 1/175 x DATA(1, -1, 0) + 1/50 x z DATA(2, 2, 2) - 1/50 z DATA(1, 0, -2)
+
+ - 1/50 z DATA(-1, 0, -2) - 1/50 z DATA(-2, 0, -2) - 1/25 z DATA(-2, 0, 1)
+
+ - 1/175 x DATA(1, 2, 0) + 1/25 z DATA(-1, 0, -1) + 1/25 z DATA(0, 0, -1)
+
+ 529 2 2
+ - ----- DATA(-2, 2, -2) + 1/245 x DATA(0, 2, -1) + 1/245 x DATA(0, 2, 1)
+ 14700
+
+ 2 2
+ - 2/245 x DATA(0, -1, -2) - 2/245 x DATA(0, 2, 2)
+
+ 2 2
+ - 2/245 x DATA(0, -2, -2) - 2/245 x DATA(0, 1, 2)
+
+ 2 2
+ - 2/245 x DATA(0, -1, 2) - 2/245 x DATA(0, 1, -2)
+
+ + 2/175 x DATA(2, 0, -2) - 2/175 x DATA(2, 2, 0) - 2/175 x DATA(2, 1, 0)
+
+ + 1/175 x DATA(-1, 2, 0) - 2/175 x DATA(2, -1, 0)
+
+ - 1/50 x z DATA(2, -2, -2) - 1/50 x z DATA(-1, 1, -1)
+
+ 169
+ - ----- DATA(2, 1, -2) + 1/25 y z DATA(-1, 2, -1)
+ 14700
+
+ - 1/25 x z DATA(-2, 0, -1) + 1/25 z DATA(-2, 0, -1)
+
+ 191
+ + 1/50 z DATA(-1, 0, 2) + ----- DATA(1, 1, -2) + 1/25 z DATA(2, 0, -1)
+ 14700
+
+ - 1/50 z DATA(0, 0, -2) + 1/50 z DATA(0, 0, 2) - 1/25 z DATA(2, 0, 1)
+
+ + 1/50 z DATA(1, 0, 2) + 1/50 z DATA(2, 0, 2) + 1/25 z DATA(1, 0, -1)
+
+ - 1/25 z DATA(0, 0, 1) + 1/50 z DATA(-2, 0, 2) - 1/25 z DATA(1, 0, 1)
+
+ 311 2 2
+ + ----- DATA(0, 1, -2) + 1/245 y DATA(2, 0, 1) + 1/245 y DATA(-2, 0, -1)
+ 14700
+
+ 2 2 191
+ - 2/245 y DATA(-1, 0, 2) - 2/245 y DATA(0, 0, 2) + ----- DATA(-1, 1, -2)
+ 14700
+
+ 2 2
+ + 1/245 y DATA(0, 1, 0) + 1/245 y DATA(2, 0, -1)
+
+ 2 2
+ - 2/245 y DATA(0, 0, -2) - 2/245 y DATA(1, 0, 2)
+
+ 2 2
+ - 2/245 y DATA(2, 0, 2) + 1/245 y DATA(1, 0, -1)
+
+ 2 2
+ + 2/245 y DATA(0, 0, 0) + 2/245 y DATA(1, 0, 0)
+
+ - 1/100 x z DATA(-1, 0, 2) + 1/25 x z DATA(2, 0, -1)
+
+ - 1/25 x z DATA(2, 0, 1) + 1/100 x z DATA(1, 0, 2)
+
+ 2 2
+ + 1/50 x z DATA(2, 0, 2) - 2/245 y DATA(0, 2, 0) + 2/245 y DATA(2, 0, 0)
+
+ 2 2
+ + 1/245 y DATA(0, 0, 1) - 2/245 y DATA(-2, 0, 2)
+
+ 2 169
+ + 1/245 y DATA(1, 0, 1) - ----- DATA(-2, 1, -2) - 1/50 y z DATA(0, 1, 1)
+ 14700
+
+ + 1/50 x z DATA(1, 0, -1) - 1/50 x z DATA(-2, 0, 2)
+
+ - 1/50 x z DATA(1, 0, 1) + 1/100 y z DATA(0, -1, -2)
+
+ 2 431
+ - 1/300 DATA(2, 0, -2) + 1/245 y DATA(-1, 1, 0) + ----- DATA(0, 0, -2)
+ 14700
+
+ 311 311
+ + 1/25 z DATA(0, -1, -1) + ----- DATA(1, 0, -2) + ----- DATA(-1, 0, -2)
+ 14700 14700
+
+ 169
+ - 1/25 y z DATA(0, -2, -1) - 1/300 DATA(-2, 0, -2) - ----- DATA(2, -1, -2)
+ 14700
+
+ 2 2
+ + 1/245 y DATA(0, -1, 0) + 1/245 y DATA(1, 1, 0)
+
+ 2 2
+ + 2/245 y DATA(-1, 0, 0) + 1/245 y DATA(-1, 0, 1)
+
+ 2 2
+ + 1/245 y DATA(1, -1, 0) + 1/245 y DATA(-1, -1, 0)
+
+ 2 2
+ - 2/245 y DATA(1, 2, 0) - 2/25 z DATA(-1, 0, -1)
+
+ 2 2
+ - 2/25 z DATA(0, 0, -1) + 3/25 z DATA(0, -2, 0)
+
+ 2 2
+ - 2/245 y DATA(-1, -2, 0) - 2/245 y DATA(-2, -2, 0)
+
+ 2 2
+ + 1/245 y DATA(-2, -1, 0) - 2/245 y DATA(2, -2, 0)
+
+ 2 2
+ - 2/245 y DATA(1, -2, 0) + 1/245 y DATA(-2, 1, 0)
+
+ 2 2
+ - 2/245 y DATA(-2, 2, 0) + 1/50 z DATA(-1, 0, -2)
+
+ 2 2
+ - 2/245 y DATA(2, 0, -2) - 2/245 y DATA(2, 2, 0)
+
+ 2 2
+ + 1/245 y DATA(2, 1, 0) - 2/245 y DATA(-1, 2, 0)
+
+ 2 2
+ + 1/245 y DATA(2, -1, 0) + 1/50 z DATA(-2, 0, -2)
+
+ 2 2 2
+ + 1/50 z DATA(-1, 0, 2) + 1/50 z DATA(0, 0, 2) + 1/50 z DATA(1, 0, -2)
+
+ 191 2 2
+ + ----- DATA(1, -1, -2) - 2/25 z DATA(2, 0, -1) - 2/25 z DATA(2, 0, 1)
+ 14700
+
+ 2 2 2
+ + 3/25 z DATA(0, 2, 0) + 3/25 z DATA(2, 0, 0) - 2/25 z DATA(-2, 0, -1)
+
+ 2 2 311
+ + 3/25 z DATA(1, 0, 0) + 1/50 z DATA(0, 0, -2) + ----- DATA(0, -1, -2)
+ 14700
+
+ 2 2 2
+ - 2/25 z DATA(0, 0, 1) + 1/50 z DATA(-2, 0, 2) - 2/25 z DATA(1, 0, 1)
+
+ 191 2 2
+ + ----- DATA(-1, -1, -2) + 3/25 z DATA(0, 0, 0) + 3/25 z DATA(0, 1, 0)
+ 14700
+
+ 2
+ - 1/50 y z DATA(0, 2, -2) + 1/245 x DATA(0, -1, 1)
+
+ 2
+ - 2/245 x DATA(0, -2, 2) + 1/50 x z DATA(1, 1, -1)
+
+ 2
+ + 1/50 x z DATA(-1, 1, 1) - 2/245 y DATA(-2, 0, -2)
+
+ 2 2
+ - 2/25 z DATA(-2, 0, 1) + 2/245 y DATA(-2, 0, 0)
+
+ 2 2
+ + 1/245 y DATA(-2, 0, 1) - 2/245 y DATA(1, 0, -2)
+
+ 2 2
+ - 2/245 y DATA(-1, 0, -2) + 1/245 x DATA(0, -2, 1)
+
+ 2 2
+ + 1/245 x DATA(0, 1, -1) - 1/175 x DATA(1, 1, 0) + 3/25 z DATA(-2, 0, 0)
+
+ 2 2
+ + 1/50 z DATA(0, -1, -2) - 2/25 z DATA(0, -2, -1)
+
+ 2 256
+ + 1/50 z DATA(0, 2, -2) - 1/25 z DATA(-1, 0, 1) + ---- DATA(2, -2, -1)
+ 3675
+
+ 2
+ - 1/50 x z DATA(1, -1, 1) - 2/25 z DATA(0, -1, -1)
+
+ 2 2
+ - 2/25 z DATA(0, 1, 1) + 1/50 x z DATA(-1, -1, 1) + 1/50 z DATA(0, 2, 2)
+
+ 2 2 2
+ + 1/50 z DATA(0, -2, -2) + 1/50 z DATA(0, 1, 2) + 1/50 z DATA(0, -1, 2)
+
+ 2
+ - 1/100 x z DATA(-1, -2, 2) - 2/25 z DATA(0, 2, -1)
+
+ 2
+ - 2/25 z DATA(0, 2, 1) + 1/100 x z DATA(1, -2, 2) - 1/50 z DATA(2, 0, -2)
+
+ 2 211
+ + 1/50 y z DATA(0, 2, 2) + 1/50 z DATA(0, 1, -2) + ---- DATA(1, -2, -1)
+ 3675
+
+ - 1/50 x z DATA(-2, -1, 2) - 1/175 y DATA(1, 1, 0)
+
+ + 1/50 x z DATA(2, -2, 2) - 1/50 x z DATA(-2, 1, 2)
+
+ - 1/50 x z DATA(1, 1, 1) - 1/50 x z DATA(-2, 2, 2)
+
+ - 1/175 y DATA(-1, 1, 0) + 1/175 y DATA(-1, -1, 0)
+
+ + 1/175 y DATA(0, -1, 0) + 1/175 y DATA(1, -1, 0) + 4/75 DATA(0, -2, -1)
+
+ + 1/50 y z DATA(0, -2, -2) + 1/100 y z DATA(0, 1, 2)
+
+ - 1/100 y z DATA(0, -1, 2) - 1/100 y z DATA(0, 1, -2)
+
+ + 2/175 y DATA(-1, -2, 0) + 1/175 y DATA(-2, -1, 0)
+
+ + 2/175 y DATA(2, -2, 0) + 2/175 y DATA(1, -2, 0)
+
+ 2
+ + 2/175 y DATA(-2, -2, 0) - 2/25 z DATA(0, -1, 1)
+
+ 2 2
+ + 1/50 z DATA(0, -2, 2) - 2/175 y DATA(2, 2, 0) + 1/50 z DATA(1, 0, 2)
+
+ 2 2
+ + 1/50 z DATA(2, 0, 2) - 2/25 z DATA(1, 0, -1) + 1/175 x DATA(1, 0, -2)
+
+ - 2/175 y DATA(-1, 2, 0) - 1/50 x z DATA(-1, -1, -1)
+
+ - 1/175 x DATA(2, 0, -1) - 1/175 x DATA(2, 0, 1) - 1/175 y DATA(2, 1, 0)
+
+ + 1/175 y DATA(2, -1, 0) - 2/175 y DATA(1, 2, 0) + 1/350 x DATA(-1, 0, -1)
+
+ + 2/175 x DATA(-2, 0, 0) + 1/175 x DATA(-2, 0, 1) - 1/175 x DATA(1, 0, 0)
+
+ - 1/350 x DATA(1, 0, 1) + 1/175 x DATA(1, 0, 2) - 1/175 x DATA(-1, 0, -2)
+
+ - 2/175 x DATA(-2, 0, -2) + 1/175 x DATA(-2, 0, -1)
+
+ 211
+ - 1/175 x DATA(-1, 0, 2) - 2/175 x DATA(-2, 0, 2) + ---- DATA(-1, -2, -1)
+ 3675
+
+ - 2/175 x DATA(2, 0, 0) + 2/175 x DATA(2, 0, 2) - 1/350 x DATA(1, 0, -1)
+
+ + 1/50 x z DATA(1, 2, -1) + 1/25 x z DATA(2, 1, -1)
+
+ 256
+ + ---- DATA(-2, -2, -1) - 1/50 x z DATA(-1, 2, -1)
+ 3675
+
+ 2 2 2
+ + 1/490 y DATA(0, 1, 1) - 2/25 z DATA(0, 1, -1) - 2/25 z DATA(0, -2, 1)
+
+ 2 2
+ - 1/245 y DATA(0, 2, 1) + 1/490 y DATA(0, -1, -1)
+
+ 2 2
+ - 1/245 y DATA(0, -1, -2) - 1/245 y DATA(0, -2, -1)
+
+ 2 2
+ + 2/245 y DATA(0, 2, -2) - 1/245 y DATA(0, 2, -1)
+
+ - 1/50 z DATA(0, -1, -2) + 1/25 z DATA(0, -2, -1) - 1/50 z DATA(0, 2, -2)
+
+ + 1/25 z DATA(0, 2, -1) - 1/25 z DATA(0, 2, 1) + 1/50 z DATA(0, 2, 2)
+
+ - 1/50 z DATA(0, -2, -2) + 1/50 z DATA(0, 1, 2) - 1/25 z DATA(0, 1, 1)
+
+ + 1/50 z DATA(0, -1, 2) - 1/50 z DATA(0, 1, -2) + 1/25 x z DATA(2, -1, -1)
+
+ - 1/25 x z DATA(2, 1, 1) + 1/175 x DATA(-1, 0, 0) + 1/350 x DATA(-1, 0, 1)
+
+ 529
+ - 1/175 y DATA(-2, 1, 0) - 2/175 y DATA(-2, 2, 0) - ----- DATA(2, 2, -2)
+ 14700
+
+ + 1/50 x z DATA(-1, 2, 1) + 1/50 z DATA(0, -2, 2) - 1/50 x z DATA(1, 2, 1)
+
+ - 1/100 x z DATA(1, 0, -2) + 1/100 x z DATA(-1, 0, -2)
+
+ 169
+ - 1/25 x z DATA(2, -1, 1) - ----- DATA(1, 2, -2)
+ 14700
+
+ + 1/50 x z DATA(1, -1, -1) + 1/50 x z DATA(-2, 0, -2)
+
+ - 1/25 z DATA(0, -1, 1) + 1/25 x z DATA(2, 2, -1) + 1/25 z DATA(0, 1, -1)
+
+ - 1/25 z DATA(0, -2, 1) - 1/300 DATA(0, 2, -2) + 2/175 x DATA(-2, 1, 0)
+
+ + 1/175 x DATA(-1, 1, 0) + 1/175 x DATA(-1, -1, 0)
+
+ 169
+ + 2/175 x DATA(-2, 2, 0) + 1/100 x z DATA(1, 2, 2) - ----- DATA(-1, 2, -2)
+ 14700
+
+ 2 2 211
+ + 1/245 x DATA(0, -1, -1) + 1/245 x DATA(0, 1, 1) + ---- DATA(-2, 1, -1)
+ 3675
+
+ 2
+ - 1/50 y z DATA(0, -2, 2) + 2/245 y DATA(0, 2, 2)
+
+ 2 2
+ + 2/245 y DATA(0, -2, -2) - 1/245 y DATA(0, 1, 2)
+
+ 2 2
+ - 1/245 y DATA(0, -1, 2) - 1/245 y DATA(0, 1, -2)
+
+ 2 2
+ + 1/490 y DATA(0, -1, 1) + 2/245 y DATA(0, -2, 2)
+
+ 2 2
+ - 1/245 y DATA(0, -2, 1) + 1/490 y DATA(0, 1, -1) + 4/75 DATA(-2, 0, -1)
+
+ - 1/175 y DATA(0, -1, -2) + 2/175 y DATA(0, 2, -2)
+
+ + 1/175 y DATA(0, -2, -1) + 1/350 y DATA(0, -1, -1)
+
+ - 1/350 y DATA(0, 1, 1) - 1/175 y DATA(0, -1, 2) - 1/175 y DATA(0, 2, -1)
+
+ - 1/175 y DATA(0, 2, 1) + 1/350 y DATA(0, -1, 1) - 2/175 y DATA(0, -2, 2)
+
+ 211
+ + 1/175 y DATA(0, 1, 2) + 1/175 y DATA(0, 1, -2) + ---- DATA(-2, -1, -1)
+ 3675
+
+ 256
+ + 1/175 y DATA(0, -2, 1) - 1/350 y DATA(0, 1, -1) + ---- DATA(-2, 2, -1)
+ 3675
+
+ + 1/50 y z DATA(0, -1, 1) - 1/10 DATA(0, -2, 0) - 9/98 DATA(-1, -2, 0)
+
+ 33
+ - --- DATA(-2, -2, 0) + 2/175 y DATA(0, 2, 2) - 2/175 y DATA(0, -2, -2)
+ 490
+
+ - 1/10 DATA(-2, 0, 0) + 1/50 x z DATA(-1, 0, 1) - 9/98 DATA(-2, -1, 0)
+
+ 33
+ - --- DATA(2, -2, 0) - 9/98 DATA(1, -2, 0) + 1/25 x z DATA(-2, -2, 1)
+ 490
+
+ + 1/50 x z DATA(-1, -2, 1) - 1/50 x z DATA(1, -2, 1)
+
+ + 1/100 x z DATA(1, 1, 2) - 9/98 DATA(-2, 1, 0) - 1/25 x z DATA(2, -2, 1)
+
+ + 1/25 x z DATA(-2, -1, 1) + 1/25 x z DATA(-2, 1, 1)
+
+ + 1/25 x z DATA(-2, 2, 1) - 1/50 x z DATA(-2, -2, 2)
+
+ - 1/25 x z DATA(-2, -2, -1) - 1/50 x z DATA(2, 2, -2)
+
+ + 1/25 y z DATA(0, -2, 1) + 1/50 y z DATA(0, 1, -1)
+
+ - 1/100 x z DATA(1, 2, -2) + 1/100 x z DATA(-1, 2, -2)
+
+ 33
+ - --- DATA(-2, 2, 0) - 1/50 x z DATA(2, 0, -2) - 1/25 x z DATA(-2, 1, -1)
+ 490
+
+ - 1/25 x z DATA(-2, -1, -1) - 1/25 x z DATA(-2, 2, -1)
+
+ 256
+ - 1/100 x z DATA(1, -1, -2) + ---- DATA(-2, -2, 1)
+ 3675
+
+ + 1/100 x z DATA(-1, -1, -2) + 1/25 x z DATA(2, -2, -1)
+
+ + 1/50 x z DATA(1, -2, -1) - 1/50 x z DATA(-1, -2, -1)
+
+ - 1/25 x z DATA(2, 2, 1) + 1/50 x z DATA(-2, 2, -2)
+
+ 211
+ - 1/50 x z DATA(2, 1, -2) + ---- DATA(-1, -2, 1)
+ 3675
+
+ - 1/100 x z DATA(1, 1, -2) + 1/100 x z DATA(-1, 1, -2)
+
+ + 1/50 x z DATA(-2, 1, -2) - 1/50 x z DATA(2, -1, -2)
+
+ 211
+ + ---- DATA(1, -2, 1) - 1/100 x z DATA(-1, 1, 2)
+ 3675
+
+ + 1/50 x z DATA(-2, -2, -2) + 1/100 x z DATA(1, -1, 2)
+
+ + 4/75 DATA(0, -2, 1) + 1/50 x z DATA(2, -1, 2)
+
+ - 1/100 x z DATA(-1, -1, 2) - 1/350 x y DATA(-1, -2, 1)
+
+ 256
+ + 1/350 x y DATA(1, -2, 1) + ---- DATA(2, -2, 1) + 1/350 x y DATA(1, 1, 2)
+ 3675
+
+ + 1/175 x y DATA(2, -2, 1) - 1/100 x z DATA(1, -2, -2)
+
+ + 1/50 x z DATA(2, 1, 2) - 1/100 x z DATA(-1, 2, 2)
+
+ + 1/100 x z DATA(-1, -2, -2) + 1/25 x z DATA(-2, 0, 1)
+
+ - 1/100 y z DATA(-1, -1, 2) - 1/25 y z DATA(2, 2, 1)
+
+ - 1/350 x y DATA(-2, -1, -1) - 1/50 y z DATA(-2, 2, -2)
+
+ 2
+ + 1/100 y z DATA(1, -1, -2) - 2/25 z DATA(1, 2, 1)
+
+ 2 2
+ - 2/25 z DATA(2, -1, 1) - 2/25 z DATA(1, -1, -1)
+
+ - 1/100 y z DATA(2, 1, -2) + 2/175 x y DATA(-2, -2, 2)
+
+ + 1/175 x y DATA(-2, 2, 1) + 1/350 x y DATA(-2, 1, 1)
+
+ 2
+ - 1/350 x y DATA(-2, -1, 1) - 2/25 z DATA(2, 2, -1)
+
+ 2 2
+ + 1/50 z DATA(-2, -1, -2) + 1/50 z DATA(2, 2, 2)
+
+ 2 2
+ + 1/50 z DATA(2, -2, -2) - 2/25 z DATA(-1, 1, -1)
+
+ 2 2 2
+ + 1/50 z DATA(1, -2, -2) + 1/50 z DATA(2, 1, 2) + 1/50 z DATA(-1, 2, 2)
+
+ 2 2
+ + 1/50 z DATA(-1, -2, -2) + 1/50 z DATA(-1, 1, 2)
+
+ 2 2
+ + 1/50 z DATA(-2, -2, -2) + 1/50 z DATA(1, -1, 2)
+
+ 2 2 2
+ + 1/50 z DATA(2, -1, 2) + 1/50 z DATA(-1, -1, 2) - 2/25 z DATA(2, 2, 1)
+
+ 2 2
+ + 1/50 z DATA(-2, 2, -2) + 1/50 z DATA(2, 1, -2)
+
+ 2 2
+ + 1/50 z DATA(1, 1, -2) + 1/50 z DATA(-1, 1, -2)
+
+ 2 2
+ + 1/50 z DATA(-2, 1, -2) - 2/25 z DATA(-1, 2, 1)
+
+ 2 2 2
+ - 2/25 z DATA(1, 1, -1) - 2/25 z DATA(-1, 1, 1) - 2/25 z DATA(1, -1, 1)
+
+ 2 2
+ - 2/25 z DATA(-1, -1, 1) + 1/50 z DATA(-1, -2, 2)
+
+ 2 2
+ + 1/50 z DATA(1, -2, 2) + 1/50 z DATA(-2, -1, 2)
+
+ 2 2 2
+ + 1/50 z DATA(2, -2, 2) + 1/50 z DATA(-2, 1, 2) - 2/25 z DATA(1, 1, 1)
+
+ 2 2
+ + 1/50 z DATA(-2, 2, 2) - 2/25 z DATA(-1, -1, -1)
+
+ 2 2
+ - 2/25 z DATA(1, 2, -1) + 1/490 x DATA(1, 1, -1)
+
+ 2 2
+ + 1/490 y DATA(1, 1, -1) + 1/490 y DATA(-1, 1, 1)
+
+ 2 2
+ + 1/490 y DATA(1, -1, 1) + 1/490 y DATA(-1, -1, 1)
+
+ 2 2
+ + 2/245 y DATA(-1, -2, 2) + 2/245 y DATA(1, -2, 2)
+
+ 2 2
+ - 1/245 y DATA(-2, -1, 2) + 2/245 y DATA(2, -2, 2)
+
+ 2 2
+ - 1/245 y DATA(-2, 1, 2) + 1/490 y DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 y DATA(-2, 2, 2) + 1/490 y DATA(-1, -1, -1)
+
+ 2 2
+ - 1/245 y DATA(1, 2, -1) + 1/490 y DATA(2, 1, -1)
+
+ 2 2
+ - 1/245 y DATA(-1, 2, -1) + 1/490 y DATA(2, -1, -1)
+
+ 2 2
+ + 1/490 y DATA(2, 1, 1) - 1/245 y DATA(-1, 2, 1)
+
+ 2 2
+ - 1/245 y DATA(1, 2, 1) + 1/490 y DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 y DATA(1, -1, -1) - 1/245 y DATA(2, 2, -1)
+
+ 2 2
+ + 2/245 y DATA(1, 2, 2) - 1/245 y DATA(-2, -1, -2)
+
+ 2 2
+ + 2/245 y DATA(2, 2, 2) + 2/245 y DATA(2, -2, -2)
+
+ 2 2
+ + 1/490 y DATA(-1, 1, -1) + 2/245 y DATA(1, -2, -2)
+
+ 2 2
+ - 1/245 y DATA(2, 1, 2) + 2/245 y DATA(-1, 2, 2)
+
+ 2 2
+ + 2/245 y DATA(-1, -2, -2) - 1/245 y DATA(-1, 1, 2)
+
+ 2 2
+ + 2/245 y DATA(-2, -2, -2) - 1/245 y DATA(1, -1, 2)
+
+ 2 2
+ - 1/245 y DATA(2, -1, 2) - 1/245 y DATA(-1, -1, 2)
+
+ 2 2
+ - 1/245 y DATA(2, 2, 1) + 2/245 y DATA(-2, 2, -2)
+
+ 2 2
+ - 1/245 y DATA(2, 1, -2) - 1/245 y DATA(1, 1, -2)
+
+ 2
+ - 1/245 y DATA(-1, 1, -2) + 1/100 y z DATA(1, 1, 2)
+
+ + 1/25 y z DATA(1, -2, 1) + 1/175 x y DATA(-2, 2, -1)
+
+ - 1/175 x y DATA(-2, -2, 1) + 1/25 y z DATA(-1, -2, 1)
+
+ 211
+ + ---- DATA(-2, -1, 1) - 1/175 x y DATA(-1, 2, -2)
+ 3675
+
+ 2 2
+ + 2/245 x DATA(-2, -2, -2) - 1/245 x DATA(1, -1, 2)
+
+ 2 2
+ + 2/245 x DATA(2, -1, 2) - 1/245 x DATA(-1, -1, 2)
+
+ 2 2
+ - 1/245 x DATA(2, 2, 1) + 2/245 x DATA(-2, 2, -2)
+
+ 2 2
+ + 2/245 x DATA(2, 1, -2) - 1/245 x DATA(1, 1, -2)
+
+ 2 2
+ - 1/245 x DATA(-1, 1, -2) + 2/245 x DATA(-2, 1, -2)
+
+ 2 2
+ + 2/245 x DATA(2, -1, -2) - 1/245 x DATA(1, -1, -2)
+
+ 2 2
+ - 1/245 x DATA(-1, -1, -2) - 1/245 x DATA(2, -2, -1)
+
+ 2 2
+ + 1/490 x DATA(1, -2, -1) - 1/245 x DATA(1, -2, 2)
+
+ 2 2
+ + 1/490 x DATA(-1, 1, 1) + 1/490 x DATA(1, -1, 1)
+
+ 2 2
+ + 1/490 x DATA(-1, -1, 1) - 1/245 x DATA(-1, -2, 2)
+
+ 2 2
+ + 2/245 x DATA(-2, -1, 2) + 2/245 x DATA(2, -2, 2)
+
+ 2 2
+ + 2/245 x DATA(-2, 1, 2) + 1/490 x DATA(1, 1, 1)
+
+ 2 2
+ + 2/245 x DATA(-2, 2, 2) + 1/490 x DATA(-1, -1, -1)
+
+ 2 2
+ + 1/490 x DATA(1, 2, -1) - 1/245 x DATA(2, 1, -1)
+
+ 2 2
+ + 1/490 x DATA(-1, 2, -1) - 1/245 x DATA(2, -1, -1)
+
+ 2 2
+ - 1/245 x DATA(2, 1, 1) + 1/490 x DATA(-1, 2, 1)
+
+ 2 2
+ + 1/490 x DATA(1, 2, 1) - 1/245 x DATA(2, -1, 1)
+
+ 2 2
+ + 1/490 x DATA(1, -1, -1) - 1/245 x DATA(2, 2, -1)
+
+ 2 2
+ - 1/245 x DATA(1, 2, 2) + 2/245 x DATA(-2, -1, -2)
+
+ 2 2
+ + 2/245 x DATA(2, 2, 2) + 2/245 x DATA(2, -2, -2)
+
+ 2 2
+ + 1/490 x DATA(-1, 1, -1) - 1/245 x DATA(1, -2, -2)
+
+ 2 2
+ + 2/245 x DATA(2, 1, 2) - 1/245 x DATA(-1, 2, 2)
+
+ 2 2
+ - 1/245 x DATA(-1, -2, -2) - 1/245 x DATA(-1, 1, 2)
+
+ 2 2
+ + 1/490 x DATA(-1, -2, -1) - 1/245 x DATA(-2, -2, -1)
+
+ 2 2
+ + 2/245 x DATA(2, 2, -2) - 1/245 x DATA(1, 2, -2)
+
+ 2 2
+ - 1/245 x DATA(-1, 2, -2) - 1/245 x DATA(-2, 1, -1)
+
+ 2 2
+ - 1/245 x DATA(-2, -1, -1) - 1/245 x DATA(-2, 2, -1)
+
+ 2 2
+ - 1/245 x DATA(-2, -2, 1) + 1/490 x DATA(-1, -2, 1)
+
+ 2 2
+ + 1/490 x DATA(1, -2, 1) - 1/245 x DATA(1, 1, 2)
+
+ 2 2
+ - 1/245 x DATA(2, -2, 1) - 1/245 x DATA(-2, -1, 1)
+
+ 2 2
+ - 1/245 x DATA(-2, 1, 1) - 1/245 x DATA(-2, 2, 1)
+
+ 2
+ + 2/245 x DATA(-2, -2, 2) - 1/100 y z DATA(-2, -1, 2)
+
+ + 1/350 x DATA(-1, -1, 1) - 1/175 x DATA(-1, -2, 2)
+
+ + 1/175 x DATA(1, -2, 2) - 2/175 x DATA(-2, -1, 2)
+
+ + 2/175 x DATA(2, -2, 2) - 2/175 x DATA(-2, 1, 2) - 1/350 x DATA(1, 1, 1)
+
+ - 2/175 x DATA(-2, 2, 2) + 1/350 x DATA(-1, -1, -1)
+
+ - 1/350 x DATA(1, 2, -1) - 1/175 x DATA(2, 1, -1)
+
+ + 1/350 x DATA(-1, 2, -1) - 1/175 x DATA(2, -1, -1)
+
+ - 1/175 x DATA(2, 1, 1) + 1/350 x DATA(-1, 2, 1) - 1/350 x DATA(1, 2, 1)
+
+ - 1/175 x DATA(2, -1, 1) - 1/350 x DATA(1, -1, -1)
+
+ - 1/175 x DATA(2, 2, -1) + 1/175 x DATA(1, 2, 2)
+
+ - 2/175 x DATA(-2, -1, -2) - 1/350 x DATA(1, -1, 1)
+
+ - 1/175 x DATA(2, -2, -1) - 1/350 x DATA(1, -2, -1)
+
+ + 1/350 x DATA(-1, -2, -1) + 1/175 x DATA(-2, -2, -1)
+
+ + 2/175 x DATA(2, 2, -2) + 1/175 x DATA(1, 2, -2)
+
+ - 1/175 x DATA(-1, 2, -2) + 1/175 x DATA(-2, 1, -1)
+
+ + 1/175 x DATA(-2, -1, -1) + 1/175 x DATA(-2, 2, -1)
+
+ + 1/175 x DATA(-2, -2, 1) + 1/350 x DATA(-1, -2, 1)
+
+ - 1/350 x DATA(1, -2, 1) + 1/175 x DATA(1, 1, 2) - 1/175 x DATA(2, -2, 1)
+
+ - 1/350 x DATA(1, 1, -1) + 1/350 x DATA(-1, 1, 1) + 2/175 x DATA(2, 2, 2)
+
+ + 2/175 x DATA(2, -2, -2) + 1/350 x DATA(-1, 1, -1)
+
+ + 1/175 x DATA(1, -2, -2) + 2/175 x DATA(2, 1, 2) - 1/175 x DATA(-1, 2, 2)
+
+ - 1/175 x DATA(-1, -2, -2) - 1/175 x DATA(-1, 1, 2)
+
+ - 2/175 x DATA(-2, -2, -2) + 1/175 x DATA(1, -1, 2)
+
+ + 2/175 x DATA(2, -1, 2) - 1/175 x DATA(-1, -1, 2) - 1/175 x DATA(2, 2, 1)
+
+ - 2/175 x DATA(-2, 2, -2) + 2/175 x DATA(2, 1, -2)
+
+ + 1/175 x DATA(1, 1, -2) - 1/175 x DATA(-1, 1, -2)
+
+ - 2/175 x DATA(-2, 1, -2) + 2/175 x DATA(2, -1, -2)
+
+ + 1/175 x DATA(1, -1, -2) - 1/175 x DATA(-1, -1, -2)
+
+ + 1/175 x DATA(-2, -1, 1) + 1/175 x DATA(-2, 1, 1)
+
+ + 1/175 x DATA(-2, 2, 1) - 2/175 x DATA(-2, -2, 2) + 1/25 z DATA(1, 1, -1)
+
+ - 1/25 z DATA(-1, 1, 1) - 1/175 y DATA(-2, 2, -1) - 1/350 y DATA(1, 1, -1)
+
+ - 1/350 y DATA(-1, 1, 1) + 1/350 y DATA(1, -1, 1)
+
+ + 1/350 y DATA(-1, -1, 1) - 2/175 y DATA(-1, -2, 2)
+
+ - 2/175 y DATA(1, -2, 2) - 1/175 y DATA(-2, -1, 2)
+
+ - 2/175 y DATA(2, -2, 2) + 1/175 y DATA(-2, 1, 2) - 1/350 y DATA(1, 1, 1)
+
+ + 2/175 y DATA(-2, 2, 2) + 1/350 y DATA(-1, -1, -1)
+
+ - 1/175 y DATA(1, 2, -1) - 1/350 y DATA(2, 1, -1)
+
+ - 1/175 y DATA(-1, 2, -1) + 1/350 y DATA(2, -1, -1)
+
+ - 1/350 y DATA(2, 1, 1) - 1/175 y DATA(-1, 2, 1) - 1/175 y DATA(1, 2, 1)
+
+ + 1/350 y DATA(2, -1, 1) + 1/350 y DATA(1, -1, -1)
+
+ - 1/175 y DATA(2, 2, -1) + 2/175 y DATA(1, 2, 2)
+
+ - 1/175 y DATA(-2, -1, -2) + 2/175 y DATA(2, 2, 2)
+
+ - 2/175 y DATA(2, -2, -2) - 1/350 y DATA(-1, 1, -1)
+
+ - 2/175 y DATA(1, -2, -2) + 1/175 y DATA(2, 1, 2) + 2/175 y DATA(-1, 2, 2)
+
+ - 2/175 y DATA(-1, -2, -2) + 1/175 y DATA(-1, 1, 2)
+
+ 2
+ - 2/175 y DATA(-2, -2, -2) + 1/50 z DATA(2, -1, -2)
+
+ 2 2
+ + 1/50 z DATA(1, -1, -2) + 1/50 z DATA(-1, -1, -2)
+
+ 2 2
+ - 2/25 z DATA(2, -2, -1) - 2/25 z DATA(1, -2, -1)
+
+ 2 2
+ - 2/25 z DATA(-1, -2, -1) - 2/25 z DATA(-2, -2, -1)
+
+ 2 2
+ + 1/50 z DATA(2, 2, -2) + 1/50 z DATA(1, 2, -2)
+
+ 2 2
+ + 1/50 z DATA(-1, 2, -2) - 2/25 z DATA(-2, 1, -1)
+
+ 2 2
+ - 2/25 z DATA(-2, -1, -1) - 2/25 z DATA(-2, 2, -1)
+
+ 2 2
+ - 2/25 z DATA(-2, -2, 1) - 2/25 z DATA(-1, -2, 1)
+
+ 2 2 2
+ - 2/25 z DATA(1, -2, 1) + 1/50 z DATA(1, 1, 2) - 2/25 z DATA(2, -2, 1)
+
+ 2 2
+ - 2/25 z DATA(-2, -1, 1) - 2/25 z DATA(-2, 1, 1)
+
+ 2 2
+ - 2/25 z DATA(-2, 2, 1) + 1/50 z DATA(-2, -2, 2)
+
+ 2 2
+ - 2/25 z DATA(2, 1, -1) - 2/25 z DATA(-1, 2, -1)
+
+ 2
+ - 2/25 z DATA(2, -1, -1) - 1/175 y DATA(1, -1, 2)
+
+ - 1/175 y DATA(2, -1, 2) - 1/175 y DATA(-1, -1, 2) - 1/175 y DATA(2, 2, 1)
+
+ + 2/175 y DATA(-2, 2, -2) + 1/175 y DATA(2, 1, -2)
+
+ + 1/175 y DATA(1, 1, -2) + 1/175 y DATA(-1, 1, -2)
+
+ + 1/175 y DATA(-2, 1, -2) - 1/175 y DATA(2, -1, -2)
+
+ - 1/175 y DATA(1, -1, -2) - 1/175 y DATA(-1, -1, -2)
+
+ + 1/175 y DATA(2, -2, -1) + 1/175 y DATA(1, -2, -1)
+
+ + 1/175 y DATA(-1, -2, -1) + 1/175 y DATA(-2, -2, -1)
+
+ + 2/175 y DATA(2, 2, -2) + 2/175 y DATA(1, 2, -2)
+
+ + 2/175 y DATA(-1, 2, -2) - 1/350 y DATA(-2, 1, -1)
+
+ + 1/350 y DATA(-2, -1, -1) + 1/175 y DATA(-2, -2, 1)
+
+ + 1/175 y DATA(-1, -2, 1) + 1/175 y DATA(1, -2, 1) + 1/175 y DATA(1, 1, 2)
+
+ + 1/175 y DATA(2, -2, 1) + 1/350 y DATA(-2, -1, 1)
+
+ - 1/350 y DATA(-2, 1, 1) - 1/175 y DATA(-2, 2, 1)
+
+ - 2/175 y DATA(-2, -2, 2) + 1/50 z DATA(-1, 2, 2) + 1/50 z DATA(-1, 1, 2)
+
+ - 1/50 z DATA(-2, -2, -2) + 1/50 z DATA(1, -1, 2) + 1/50 z DATA(2, -1, 2)
+
+ + 1/50 z DATA(-1, -1, 2) - 1/25 z DATA(2, 2, 1) - 1/50 z DATA(-2, 2, -2)
+
+ - 1/50 z DATA(2, 1, -2) - 1/50 z DATA(1, 1, -2) - 1/50 z DATA(-1, 1, -2)
+
+ - 1/50 z DATA(-2, 1, -2) - 1/50 z DATA(2, -1, -2) - 1/50 z DATA(1, -1, -2)
+
+ - 1/50 z DATA(-1, -1, -2) + 1/25 z DATA(2, -2, -1)
+
+ + 1/25 z DATA(1, -2, -1) + 1/25 z DATA(-1, -2, -1)
+
+ + 1/25 z DATA(-2, -2, -1) - 1/50 z DATA(2, 2, -2) - 1/50 z DATA(1, 2, -2)
+
+ - 1/50 z DATA(-1, 2, -2) + 1/25 z DATA(-2, 1, -1)
+
+ + 1/25 z DATA(-2, -1, -1) + 1/25 z DATA(-2, 2, -1)
+
+ - 1/25 z DATA(-2, -2, 1) - 1/25 z DATA(-1, -2, 1) - 1/25 z DATA(1, -2, 1)
+
+ + 1/50 z DATA(1, 1, 2) - 1/25 z DATA(2, -2, 1) - 1/25 z DATA(-2, -1, 1)
+
+ - 1/25 z DATA(-2, 1, 1) - 1/25 z DATA(-2, 2, 1) + 1/50 z DATA(-2, -2, 2)
+
+ 2
+ - 1/50 z DATA(-1, -2, -2) - 1/245 y DATA(-2, 1, -2)
+
+ 2 2
+ - 1/245 y DATA(2, -1, -2) - 1/245 y DATA(1, -1, -2)
+
+ 2 2
+ - 1/245 y DATA(-1, -1, -2) - 1/245 y DATA(2, -2, -1)
+
+ 2 2
+ - 1/245 y DATA(1, -2, -1) - 1/245 y DATA(-1, -2, -1)
+
+ 2 2
+ - 1/245 y DATA(-2, -2, -1) + 2/245 y DATA(2, 2, -2)
+
+ 2 2
+ + 2/245 y DATA(1, 2, -2) + 2/245 y DATA(-1, 2, -2)
+
+ 2 2
+ + 1/490 y DATA(-2, 1, -1) + 1/490 y DATA(-2, -1, -1)
+
+ 2 2
+ - 1/245 y DATA(-2, 2, -1) - 1/245 y DATA(-2, -2, 1)
+
+ 2 2
+ - 1/245 y DATA(-1, -2, 1) - 1/245 y DATA(1, -2, 1)
+
+ 2 2
+ - 1/245 y DATA(1, 1, 2) - 1/245 y DATA(2, -2, 1)
+
+ 2 2
+ + 1/490 y DATA(-2, -1, 1) + 1/490 y DATA(-2, 1, 1)
+
+ 2 2
+ - 1/245 y DATA(-2, 2, 1) + 2/245 y DATA(-2, -2, 2)
+
+ - 1/25 z DATA(1, -1, 1) - 1/25 z DATA(-1, -1, 1) + 1/50 z DATA(-1, -2, 2)
+
+ + 1/50 z DATA(1, -2, 2) + 1/50 z DATA(-2, -1, 2) + 1/50 z DATA(2, -2, 2)
+
+ + 1/50 z DATA(-2, 1, 2) - 1/25 z DATA(1, 1, 1) + 1/50 z DATA(-2, 2, 2)
+
+ + 1/25 z DATA(-1, -1, -1) + 1/25 z DATA(1, 2, -1) + 1/25 z DATA(2, 1, -1)
+
+ + 1/25 z DATA(-1, 2, -1) + 1/25 z DATA(2, -1, -1) - 1/25 z DATA(2, 1, 1)
+
+ - 1/25 z DATA(-1, 2, 1) - 1/25 z DATA(1, 2, 1) - 1/25 z DATA(2, -1, 1)
+
+ + 1/25 z DATA(1, -1, -1) + 1/25 z DATA(2, 2, -1) + 1/50 z DATA(1, 2, 2)
+
+ - 1/50 z DATA(-2, -1, -2) + 1/50 z DATA(2, 2, 2) - 1/50 z DATA(2, -2, -2)
+
+ + 1/25 z DATA(-1, 1, -1) - 1/50 z DATA(1, -2, -2) + 1/50 z DATA(2, 1, 2)
+
+ + 1/100 y z DATA(2, 1, 2) + 1/50 y z DATA(-1, 1, -1)
+
+ + 1/50 y z DATA(2, -2, -2) - 1/100 y z DATA(1, 1, -2)
+
+ - 1/100 y z DATA(-1, 1, -2) + 1/100 y z DATA(-2, -1, -2)
+
+ + 1/50 y z DATA(2, 2, 2) - 1/50 y z DATA(1, -1, -1)
+
+ + 1/25 y z DATA(2, 2, -1) + 1/50 y z DATA(1, 2, 2)
+
+ - 1/25 y z DATA(1, 2, 1) + 1/50 y z DATA(2, -1, 1)
+
+ - 1/50 y z DATA(2, -1, -1) - 1/50 y z DATA(2, 1, 1)
+
+ - 1/25 y z DATA(-1, 2, 1) + 1/50 y z DATA(2, 1, -1)
+
+ - 1/50 y z DATA(-1, -1, -1) + 1/25 y z DATA(1, 2, -1)
+
+ + 1/50 y z DATA(-2, 2, 2) + 1/50 y z DATA(1, 1, -1)
+
+ + 1/100 y z DATA(-2, 1, 2) - 1/700 x y DATA(1, 1, -1)
+
+ - 1/50 y z DATA(2, -2, 2) - 1/50 y z DATA(1, -2, 2)
+
+ - 1/50 y z DATA(-1, -2, 2) + 1/50 y z DATA(1, -2, -2)
+
+ - 1/100 y z DATA(2, -1, 2) + 1/50 y z DATA(-2, -2, -2)
+
+ + 1/50 y z DATA(-1, -1, 1) - 1/100 y z DATA(1, -1, 2)
+
+ + 1/50 y z DATA(-1, -2, -2) + 1/100 y z DATA(-1, 1, 2)
+
+ + 1/50 y z DATA(1, -1, 1) - 1/50 y z DATA(-1, 1, 1)
+
+ + 1/50 y z DATA(-1, 2, 2) - 1/100 y z DATA(-2, 1, -2)
+
+ 2
+ - 2/25 z DATA(2, 1, 1) + 1/350 x y DATA(-2, 1, -1)
+
+ + 1/100 y z DATA(2, -1, -2) - 1/50 y z DATA(1, 1, 1)
+
+ + 2/175 x y DATA(2, 2, -2) + 1/175 x y DATA(1, 2, -2)
+
+ - 1/175 x y DATA(-2, -2, -1) - 1/350 x y DATA(1, -1, -2)
+
+ + 1/350 x y DATA(-1, -1, -2) + 1/175 x y DATA(2, -2, -1)
+
+ + 1/350 x y DATA(1, -2, -1) - 1/350 x y DATA(-1, -2, -1)
+
+ - 1/175 x y DATA(-2, 1, -2) - 1/175 x y DATA(2, -1, -2)
+
+ + 1/350 x y DATA(1, 1, -2) - 1/350 x y DATA(-1, 1, -2)
+
+ - 2/175 x y DATA(-2, 2, -2) + 4/75 DATA(-2, 0, 1)
+
+ + 1/175 x y DATA(2, 1, -2) - 1/350 x y DATA(1, -1, 2)
+
+ - 1/175 x y DATA(2, -1, 2) + 1/350 x y DATA(-1, -1, 2)
+
+ 211
+ - 1/175 x y DATA(2, 2, 1) + ---- DATA(-2, 1, 1)
+ 3675
+
+ + 1/175 x y DATA(-1, -2, -2) - 1/350 x y DATA(-1, 1, 2)
+
+ + 2/175 x y DATA(-2, -2, -2) + 1/700 x y DATA(-1, 1, -1)
+
+ - 1/175 x y DATA(1, -2, -2) + 1/175 x y DATA(2, 1, 2)
+
+ 256
+ - 1/175 x y DATA(-1, 2, 2) + ---- DATA(-2, 2, 1) + 2/175 x y DATA(2, 2, 2)
+ 3675
+
+ - 2/175 x y DATA(2, -2, -2) + 1/700 x y DATA(1, -1, -1)
+
+ - 1/175 x y DATA(2, 2, -1) + 1/175 x y DATA(1, 2, 2)
+
+ + 1/175 x y DATA(-2, -1, -2) - 1/350 x y DATA(1, 2, 1)
+
+ + 1/350 x y DATA(2, -1, 1) + 1/350 x y DATA(-1, 2, 1)
+
+ 529 2
+ - ----- DATA(-2, -2, 2) + 1/50 z DATA(1, 2, 2)
+ 14700
+
+ + 1/350 x y DATA(2, -1, -1) + 1/350 x y DATA(-1, 2, -1)
+
+ - 1/350 x y DATA(2, 1, -1) - 1/350 x y DATA(1, 2, -1)
+
+ - 1/700 x y DATA(-1, -1, -1) - 2/175 x y DATA(-2, 2, 2)
+
+ - 1/700 x y DATA(1, 1, 1) - 1/175 x y DATA(-2, 1, 2)
+
+ - 2/175 x y DATA(2, -2, 2) + 1/175 x y DATA(-2, -1, 2)
+
+ - 1/175 x y DATA(1, -2, 2) + 1/175 x y DATA(-1, -2, 2)
+
+ - 1/700 x y DATA(-1, -1, 1) + 1/700 x y DATA(1, -1, 1)
+
+ + 1/700 x y DATA(-1, 1, 1) - 1/350 x y DATA(2, 1, 1)
+
+> coeff_as_lc_of_data(%, posn_list_3d_size5);
+bytes used=2480550720, alloc=15136044, time=410.97
+bytes used=2481641152, alloc=15136044, time=411.06
+bytes used=2482641380, alloc=15136044, time=411.14
+bytes used=2483644020, alloc=15136044, time=411.23
+bytes used=2484644488, alloc=15136044, time=411.31
+bytes used=2485644892, alloc=15136044, time=411.40
+bytes used=2486661472, alloc=15136044, time=411.48
+bytes used=2487732936, alloc=15136044, time=411.57
+bytes used=2488771100, alloc=15136044, time=411.66
+bytes used=2489776820, alloc=15136044, time=411.75
+bytes used=2490799700, alloc=15136044, time=411.85
+bytes used=2491800000, alloc=15136044, time=411.94
+bytes used=2492800128, alloc=15136044, time=412.03
+bytes used=2493800408, alloc=15136044, time=412.12
+bytes used=2494815880, alloc=15136044, time=412.22
+bytes used=2495842088, alloc=15136044, time=412.32
+bytes used=2496847584, alloc=15136044, time=412.42
+bytes used=2497847776, alloc=15136044, time=412.52
+bytes used=2498850976, alloc=15136044, time=412.62
+bytes used=2499861184, alloc=15136044, time=412.73
+bytes used=2500910620, alloc=15136044, time=412.83
+bytes used=2501927468, alloc=15136044, time=412.94
+bytes used=2502932444, alloc=15136044, time=413.06
+bytes used=2503963048, alloc=15136044, time=413.17
+bytes used=2504966360, alloc=15136044, time=413.29
+bytes used=2505967024, alloc=15136044, time=413.37
+bytes used=2506985204, alloc=15136044, time=413.45
+bytes used=2508003080, alloc=15136044, time=413.52
+ 529 2 2
+[COEFF(-2, -2, -2) = - 2/175 y - ----- + 2/245 x - 2/175 x + 1/50 z
+ 14700
+
+ 2
+ + 2/245 y - 1/50 z + 1/50 y z + 2/175 x y + 1/50 x z, COEFF(-1, -2, -2)
+
+ 169 2 2
+ = 1/175 x y - 1/50 z - 2/175 y - ----- + 1/50 z - 1/245 x - 1/175 x
+ 14700
+
+ 2
+ + 1/50 y z + 2/245 y + 1/100 x z, COEFF(0, -2, -2) =
+
+ 2 2 2
+ - 2/175 y - 2/245 x + 1/50 z + 2/245 y - 1/50 z - 1/300 + 1/50 y z,
+
+ 169 2
+ COEFF(1, -2, -2) = - 1/175 x y - ----- - 1/100 x z + 1/50 z + 1/50 y z
+ 14700
+
+ 2 2
+ - 1/245 x + 2/245 y - 1/50 z + 1/175 x - 2/175 y, COEFF(2, -2, -2) =
+
+ 529 2 2
+ - ----- - 1/50 z + 2/245 x + 1/50 y z - 2/175 x y + 2/245 y - 1/50 x z
+ 14700
+
+ 2 2 2
+ + 2/175 x + 1/50 z - 2/175 y, COEFF(-2, -1, -2) = 1/50 z - 1/245 y
+
+ 2 169
+ + 1/100 y z + 1/175 x y - 1/50 z + 2/245 x - ----- - 1/175 y - 2/175 x
+ 14700
+
+ 2
+ + 1/50 x z, COEFF(-1, -1, -2) = - 1/245 x - 1/175 y + 1/100 x z
+
+ 2 2 191
+ + 1/350 x y + 1/100 y z + 1/50 z - 1/245 y - 1/175 x + ----- - 1/50 z,
+ 14700
+
+ COEFF(0, -1, -2) =
+
+ 311 2 2 2
+ ----- + 1/50 z + 1/100 y z - 1/50 z - 1/175 y - 1/245 y - 2/245 x ,
+ 14700
+
+ 2 2
+ COEFF(1, -1, -2) = - 1/175 y - 1/50 z + 1/50 z - 1/245 x - 1/100 x z
+
+ 191 2
+ + 1/100 y z + ----- + 1/175 x - 1/350 x y - 1/245 y , COEFF(2, -1, -2) =
+ 14700
+
+ 2 169 2
+ - 1/50 z + 1/100 y z - 1/245 y - ----- + 2/245 x - 1/175 y - 1/50 x z
+ 14700
+
+ 2
+ - 1/175 x y + 1/50 z + 2/175 x, COEFF(-2, 0, -2) =
+
+ 2 2 2
+ 1/50 z + 2/245 x - 2/245 y + 1/50 x z - 1/50 z - 1/300 - 2/175 x,
+
+ COEFF(-1, 0, -2) =
+
+ 2 2 311 2
+ - 1/50 z + 1/50 z - 2/245 y + ----- - 1/175 x - 1/245 x + 1/100 x z,
+ 14700
+
+ 431 2 2 2
+ COEFF(0, 0, -2) = ----- + 1/50 z - 2/245 y - 2/245 x - 1/50 z,
+ 14700
+
+ COEFF(1, 0, -2) =
+
+ 311 2 2 2
+ ----- + 1/175 x - 1/100 x z - 1/50 z - 2/245 y - 1/245 x + 1/50 z ,
+ 14700
+
+ COEFF(2, 0, -2) =
+
+ 2 2 2
+ - 1/50 z - 2/245 y + 2/245 x - 1/50 x z + 2/175 x - 1/300 + 1/50 z ,
+
+ 2 169
+ COEFF(-2, 1, -2) = 1/50 z - 1/175 x y + 1/50 x z + 1/175 y - -----
+ 14700
+
+ 2 2
+ + 2/245 x - 2/175 x - 1/100 y z - 1/245 y - 1/50 z, COEFF(-1, 1, -2) =
+
+ 191 2
+ 1/100 x z + ----- - 1/245 x - 1/100 y z - 1/175 x - 1/350 x y - 1/50 z
+ 14700
+
+ 2 2
+ - 1/245 y + 1/50 z + 1/175 y, COEFF(0, 1, -2) =
+
+ 2 2 2 311
+ 1/50 z - 1/100 y z - 1/50 z - 1/245 y + 1/175 y - 2/245 x + -----,
+ 14700
+
+ 2
+ COEFF(1, 1, -2) = - 1/245 x + 1/175 x - 1/100 x z - 1/50 z - 1/100 y z
+
+ 191 2 2
+ + 1/350 x y + ----- + 1/50 z - 1/245 y + 1/175 y, COEFF(2, 1, -2) =
+ 14700
+
+ 2 169
+ 1/175 y + 2/175 x + 2/245 x - 1/50 x z - ----- - 1/100 y z - 1/50 z
+ 14700
+
+ 2 2
+ - 1/245 y + 1/50 z + 1/175 x y, COEFF(-2, 2, -2) = - 1/50 y z - 1/50 z
+
+ 2 2 2
+ + 2/245 x - 2/175 x + 1/50 x z - 2/175 x y + 2/245 y + 1/50 z + 2/175 y
+
+ 529
+ - -----, COEFF(-1, 2, -2) = - 1/50 y z + 1/100 x z - 1/175 x y - 1/50 z
+ 14700
+
+ 2 2 169 2
+ - 1/245 x - 1/175 x + 2/175 y + 2/245 y - ----- + 1/50 z ,
+ 14700
+
+ COEFF(0, 2, -2) =
+
+ 2 2 2
+ - 1/300 + 2/245 y - 1/50 z + 1/50 z - 2/245 x - 1/50 y z + 2/175 y,
+
+ 2 2
+ COEFF(1, 2, -2) = - 1/245 x + 1/175 x y - 1/50 z - 1/100 x z + 2/245 y
+
+ 2 169
+ + 1/50 z - ----- + 1/175 x - 1/50 y z + 2/175 y, COEFF(2, 2, -2) =
+ 14700
+
+ 2 2
+ 2/245 y - 1/50 x z + 2/175 y + 2/175 x - 1/50 z + 2/175 x y + 2/245 x
+
+ 529 2 2
+ - 1/50 y z - ----- + 1/50 z , COEFF(-2, -2, -1) = - 1/25 x z - 1/245 x
+ 14700
+
+ 2 2 256
+ - 1/245 y - 1/25 y z - 2/25 z + ---- + 1/25 z - 1/175 x y + 1/175 y
+ 3675
+
+ 2
+ + 1/175 x, COEFF(-1, -2, -1) = - 1/50 x z + 1/350 x + 1/175 y + 1/490 x
+
+ 2 2 211
+ - 2/25 z - 1/245 y + 1/25 z + ---- - 1/25 y z - 1/350 x y,
+ 3675
+
+ COEFF(0, -2, -1) =
+
+ 2 2 2
+ 4/75 - 1/25 y z + 1/175 y - 2/25 z + 1/25 z - 1/245 y + 1/245 x ,
+
+ 211
+ COEFF(1, -2, -1) = ---- + 1/175 y + 1/350 x y + 1/50 x z - 1/25 y z
+ 3675
+
+ 2 2 2
+ - 2/25 z - 1/350 x + 1/25 z - 1/245 y + 1/490 x , COEFF(2, -2, -1) =
+
+ 2 256 2
+ - 1/245 y + ---- + 1/175 x y - 1/175 x - 1/245 x + 1/175 y + 1/25 x z
+ 3675
+
+ 2
+ - 2/25 z - 1/25 y z + 1/25 z, COEFF(-2, -1, -1) = - 1/350 x y + 1/175 x
+
+ 2 211 2
+ + 1/350 y - 2/25 z + 1/25 z - 1/25 x z - 1/50 y z + ---- + 1/490 y
+ 3675
+
+ 2 166
+ - 1/245 x , COEFF(-1, -1, -1) = 1/350 x + 1/350 y + ---- - 1/50 y z
+ 3675
+
+ 2 2 2
+ - 1/50 x z - 1/700 x y + 1/490 y - 2/25 z + 1/25 z + 1/490 x ,
+
+ COEFF(0, -1, -1) =
+
+ 2 2 2 151
+ 1/25 z + 1/490 y - 1/50 y z - 2/25 z + 1/245 x + ---- + 1/350 y,
+ 3675
+
+ 166 2 2
+ COEFF(1, -1, -1) = ---- + 1/50 x z - 1/350 x + 1/490 x - 2/25 z + 1/25 z
+ 3675
+
+ 2
+ - 1/50 y z + 1/350 y + 1/490 y + 1/700 x y, COEFF(2, -1, -1) = - 1/175 x
+
+ 211 2 2 2
+ + 1/25 x z + ---- - 1/245 x + 1/350 x y - 2/25 z + 1/490 y - 1/50 y z
+ 3675
+
+ + 1/350 y + 1/25 z, COEFF(-2, 0, -1) =
+
+ 2 2 2
+ - 2/25 z - 1/25 x z + 4/75 + 1/245 y + 1/175 x - 1/245 x + 1/25 z,
+
+ COEFF(-1, 0, -1) =
+
+ 2 2 151 2
+ 1/245 y - 2/25 z + ---- + 1/350 x - 1/50 x z + 1/25 z + 1/490 x ,
+ 3675
+
+ 2 2 2 136
+ COEFF(0, 0, -1) = 1/245 x + 1/25 z + 1/245 y - 2/25 z + ----,
+ 3675
+
+ COEFF(1, 0, -1) =
+
+ 2 2 2 151
+ - 2/25 z + 1/490 x + 1/245 y + 1/50 x z + ---- - 1/350 x + 1/25 z,
+ 3675
+
+ COEFF(2, 0, -1) =
+
+ 2 2 2
+ 1/245 y + 4/75 - 1/245 x + 1/25 z - 2/25 z + 1/25 x z - 1/175 x,
+
+ 2 2
+ COEFF(-2, 1, -1) = - 1/25 x z - 2/25 z - 1/350 y + 1/175 x - 1/245 x
+
+ 2 211 166
+ + 1/350 x y + 1/25 z + 1/490 y + ---- + 1/50 y z, COEFF(-1, 1, -1) = ----
+ 3675 3675
+
+ 2 2
+ + 1/25 z - 1/50 x z + 1/490 x + 1/700 x y - 1/350 y + 1/490 y + 1/50 y z
+
+ 2
+ - 2/25 z + 1/350 x, COEFF(0, 1, -1) =
+
+ 151 2 2 2
+ 1/25 z - 1/350 y + ---- + 1/245 x - 2/25 z + 1/50 y z + 1/490 y ,
+ 3675
+
+ 2 166
+ COEFF(1, 1, -1) = - 1/350 x + 1/25 z + 1/50 x z - 2/25 z + ----
+ 3675
+
+ 2 2
+ - 1/700 x y + 1/50 y z + 1/490 y + 1/490 x - 1/350 y, COEFF(2, 1, -1) =
+
+ 2
+ - 1/350 y - 1/245 x + 1/50 y z + 1/25 x z + 1/25 z - 1/350 x y - 1/175 x
+
+ 2 211 2 256
+ - 2/25 z + ---- + 1/490 y , COEFF(-2, 2, -1) = ---- + 1/175 x y + 1/175 x
+ 3675 3675
+
+ 2 2 2
+ - 1/25 x z - 1/245 x - 2/25 z + 1/25 z - 1/175 y - 1/245 y + 1/25 y z,
+
+ 2 2
+ COEFF(-1, 2, -1) = 1/25 y z + 1/25 z - 1/245 y + 1/490 x - 1/50 x z
+
+ 211 2
+ + ---- - 1/175 y - 2/25 z + 1/350 x + 1/350 x y, COEFF(0, 2, -1) =
+ 3675
+
+ 2 2 2
+ 1/245 x + 1/25 y z + 4/75 + 1/25 z - 1/245 y - 2/25 z - 1/175 y,
+
+ 211 2 2
+ COEFF(1, 2, -1) = 1/50 x z - 1/175 y + ---- - 2/25 z - 1/245 y
+ 3675
+
+ 2
+ - 1/350 x y + 1/490 x + 1/25 z - 1/350 x + 1/25 y z, COEFF(2, 2, -1) =
+
+ 256 2
+ - 1/175 x y - 1/175 y + ---- - 1/175 x + 1/25 x z - 1/245 y + 1/25 y z
+ 3675
+
+ 2 2
+ - 2/25 z - 1/245 x + 1/25 z, COEFF(-2, -2, 0) =
+
+ 33 2 2 2
+ - 2/175 x y + 2/175 x - --- - 2/245 x + 2/175 y + 3/25 z - 2/245 y ,
+ 490
+
+ COEFF(-1, -2, 0) =
+
+ 2 2 2
+ - 2/245 y + 3/25 z - 1/175 x y + 1/245 x - 9/98 + 2/175 y + 1/175 x,
+
+ 2 2 2
+ COEFF(0, -2, 0) = - 2/245 y + 2/245 x + 2/175 y + 3/25 z - 1/10,
+
+ COEFF(1, -2, 0) =
+
+ 2 2 2
+ - 9/98 + 1/175 x y + 1/245 x + 3/25 z - 2/245 y - 1/175 x + 2/175 y,
+
+ COEFF(2, -2, 0) =
+
+ 2 2 2 33
+ - 2/245 x + 3/25 z + 2/175 y + 2/175 x y - 2/245 y - --- - 2/175 x,
+ 490
+
+ COEFF(-2, -1, 0) =
+
+ 2 2 2
+ 2/175 x + 3/25 z + 1/175 y + 1/245 y - 1/175 x y - 2/245 x - 9/98,
+
+ COEFF(-1, -1, 0) =
+
+ 2 2 57 2
+ 1/175 x - 1/350 x y + 1/245 x + 1/245 y - --- + 3/25 z + 1/175 y,
+ 490
+
+ 2 2 61 2
+ COEFF(0, -1, 0) = 1/175 y + 2/245 x + 3/25 z - --- + 1/245 y ,
+ 490
+
+ COEFF(1, -1, 0) =
+
+ 57 2 2 2
+ - --- + 1/245 x + 1/245 y + 1/175 y - 1/175 x + 1/350 x y + 3/25 z ,
+ 490
+
+ COEFF(2, -1, 0) =
+
+ 2 2 2
+ 1/175 x y - 2/175 x + 1/245 y - 9/98 + 1/175 y - 2/245 x + 3/25 z ,
+
+ 2 2 2
+ COEFF(-2, 0, 0) = - 1/10 + 3/25 z - 2/245 x + 2/175 x + 2/245 y ,
+
+ 2 61 2 2
+ COEFF(-1, 0, 0) = 1/245 x + 1/175 x - --- + 3/25 z + 2/245 y ,
+ 490
+
+ 2 13 2 2
+ COEFF(0, 0, 0) = 2/245 y - -- + 2/245 x + 3/25 z ,
+ 98
+
+ 2 2 2 61
+ COEFF(1, 0, 0) = 3/25 z + 1/245 x - 1/175 x + 2/245 y - ---,
+ 490
+
+ 2 2 2
+ COEFF(2, 0, 0) = - 1/10 + 2/245 y - 2/175 x + 3/25 z - 2/245 x ,
+
+ COEFF(-2, 1, 0) =
+
+ 2 2 2
+ 3/25 z - 2/245 x - 1/175 y - 9/98 + 1/245 y + 2/175 x + 1/175 x y,
+
+ COEFF(-1, 1, 0) =
+
+ 2 57 2 2
+ 1/245 x - --- - 1/175 y + 1/175 x + 3/25 z + 1/245 y + 1/350 x y,
+ 490
+
+ 2 61 2 2
+ COEFF(0, 1, 0) = - 1/175 y + 2/245 x - --- + 3/25 z + 1/245 y ,
+ 490
+
+ COEFF(1, 1, 0) =
+
+ 57 2 2 2
+ - --- + 1/245 x - 1/350 x y + 3/25 z - 1/175 x - 1/175 y + 1/245 y ,
+ 490
+
+ COEFF(2, 1, 0) =
+
+ 2 2 2
+ - 2/245 x + 1/245 y - 2/175 x + 3/25 z - 9/98 - 1/175 x y - 1/175 y,
+
+ COEFF(-2, 2, 0) =
+
+ 2 2 33 2
+ - 2/175 y + 2/175 x y - 2/245 x - 2/245 y - --- + 2/175 x + 3/25 z ,
+ 490
+
+ COEFF(-1, 2, 0) =
+
+ 2 2 2
+ 1/175 x y - 2/245 y - 9/98 + 1/245 x + 3/25 z - 2/175 y + 1/175 x,
+
+ 2 2 2
+ COEFF(0, 2, 0) = - 2/175 y + 2/245 x - 1/10 + 3/25 z - 2/245 y ,
+
+ COEFF(1, 2, 0) =
+
+ 2 2 2
+ - 2/245 y - 2/175 y - 1/175 x y - 1/175 x + 1/245 x + 3/25 z - 9/98,
+
+ COEFF(2, 2, 0) =
+
+ 2 2 33 2
+ - 2/175 y - 2/245 x - 2/175 x y - 2/245 y - 2/175 x - --- + 3/25 z ,
+ 490
+
+ 256 2 2
+ COEFF(-2, -2, 1) = - 1/175 x y + ---- - 2/25 z + 1/175 x - 1/245 x
+ 3675
+
+ 2
+ + 1/175 y - 1/245 y + 1/25 y z + 1/25 x z - 1/25 z, COEFF(-1, -2, 1) =
+
+ 2 211
+ - 1/350 x y - 1/25 z + 1/175 y + 1/490 x + 1/25 y z + ---- + 1/350 x
+ 3675
+
+ 2 2
+ - 2/25 z - 1/245 y + 1/50 x z, COEFF(0, -2, 1) =
+
+ 2 2 2
+ 1/245 x + 1/175 y - 2/25 z + 4/75 + 1/25 y z - 1/245 y - 1/25 z,
+
+ 211
+ COEFF(1, -2, 1) = 1/350 x y - 1/50 x z + 1/25 y z + ---- + 1/175 y
+ 3675
+
+ 2 2 2
+ - 2/25 z - 1/25 z - 1/350 x - 1/245 y + 1/490 x , COEFF(2, -2, 1) =
+
+ 2 2 2
+ - 1/25 x z - 1/245 x - 1/25 z + 1/175 y - 1/175 x - 1/245 y - 2/25 z
+
+ 256 211
+ + 1/25 y z + 1/175 x y + ----, COEFF(-2, -1, 1) = 1/350 y + ----
+ 3675 3675
+
+ 2 2
+ - 1/245 x + 1/175 x - 2/25 z + 1/25 x z - 1/25 z - 1/350 x y + 1/50 y z
+
+ 2 2 2
+ + 1/490 y , COEFF(-1, -1, 1) = 1/490 y + 1/50 x z + 1/350 y + 1/490 x
+
+ 2 166
+ + 1/50 y z + 1/350 x - 2/25 z - 1/700 x y - 1/25 z + ----,
+ 3675
+
+ COEFF(0, -1, 1) =
+
+ 2 151 2 2
+ - 2/25 z - 1/25 z + 1/50 y z + ---- + 1/490 y + 1/245 x + 1/350 y,
+ 3675
+
+ 2 166
+ COEFF(1, -1, 1) = 1/50 y z + 1/490 y - 1/25 z + ---- - 1/350 x - 1/50 x z
+ 3675
+
+ 2 2
+ - 2/25 z + 1/490 x + 1/700 x y + 1/350 y, COEFF(2, -1, 1) = 1/50 y z
+
+ 211 2 2
+ + ---- - 1/245 x + 1/490 y - 1/25 x z + 1/350 x y + 1/350 y - 1/25 z
+ 3675
+
+ 2
+ - 1/175 x - 2/25 z , COEFF(-2, 0, 1) =
+
+ 2 2 2
+ - 2/25 z - 1/245 x + 1/245 y + 1/25 x z + 1/175 x - 1/25 z + 4/75,
+
+ COEFF(-1, 0, 1) =
+
+ 2 151 2 2
+ 1/350 x - 1/25 z + 1/490 x + ---- + 1/50 x z + 1/245 y - 2/25 z ,
+ 3675
+
+ 2 136 2 2
+ COEFF(0, 0, 1) = - 2/25 z - 1/25 z + ---- + 1/245 y + 1/245 x ,
+ 3675
+
+ COEFF(1, 0, 1) =
+
+ 2 2 2 151
+ - 1/25 z + 1/245 y + 1/490 x - 2/25 z - 1/50 x z - 1/350 x + ----,
+ 3675
+
+ COEFF(2, 0, 1) =
+
+ 2 2 2
+ - 1/25 x z + 1/245 y - 1/245 x - 1/175 x - 2/25 z + 4/75 - 1/25 z,
+
+ 2 2
+ COEFF(-2, 1, 1) = - 1/25 z + 1/175 x + 1/490 y + 1/25 x z - 1/245 x
+
+ 2 211
+ - 2/25 z - 1/50 y z + 1/350 x y + ---- - 1/350 y, COEFF(-1, 1, 1) =
+ 3675
+
+ 166 2 2
+ 1/350 x + ---- - 1/25 z + 1/490 x - 1/350 y - 1/50 y z + 1/490 y
+ 3675
+
+ 2
+ + 1/50 x z - 2/25 z + 1/700 x y, COEFF(0, 1, 1) =
+
+ 2 2 151 2
+ - 1/25 z + 1/245 x - 2/25 z - 1/350 y + ---- - 1/50 y z + 1/490 y ,
+ 3675
+
+ 166 2 2
+ COEFF(1, 1, 1) = ---- - 1/50 y z - 1/50 x z + 1/490 x + 1/490 y
+ 3675
+
+ 2
+ - 1/700 x y - 2/25 z - 1/25 z - 1/350 x - 1/350 y, COEFF(2, 1, 1) =
+
+ 2 2 2 211
+ - 1/25 x z - 1/50 y z - 1/245 x - 2/25 z + 1/490 y + ---- - 1/350 y
+ 3675
+
+ 256
+ - 1/175 x - 1/25 z - 1/350 x y, COEFF(-2, 2, 1) = 1/175 x + ----
+ 3675
+
+ 2 2 2
+ + 1/175 x y - 1/245 x - 1/175 y + 1/25 x z - 1/245 y - 1/25 z - 2/25 z
+
+ 211 2
+ - 1/25 y z, COEFF(-1, 2, 1) = - 1/25 z + ---- - 1/245 y + 1/350 x
+ 3675
+
+ 2 2
+ + 1/350 x y + 1/490 x - 1/175 y + 1/50 x z - 1/25 y z - 2/25 z ,
+
+ COEFF(0, 2, 1) =
+
+ 2 2 2
+ - 1/175 y - 1/25 z + 4/75 - 2/25 z - 1/245 y - 1/25 y z + 1/245 x ,
+
+ 2 2
+ COEFF(1, 2, 1) = - 1/350 x - 2/25 z + 1/490 x - 1/25 z - 1/350 x y
+
+ 211 2 256
+ - 1/50 x z - 1/25 y z + ---- - 1/175 y - 1/245 y , COEFF(2, 2, 1) = ----
+ 3675 3675
+
+ 2 2
+ - 1/175 y - 1/25 x z - 1/245 y - 1/175 x - 1/25 y z - 1/25 z - 2/25 z
+
+ 2 2
+ - 1/175 x y - 1/245 x , COEFF(-2, -2, 2) = 1/50 z + 2/245 y - 2/175 x
+
+ 2 529 2
+ + 2/245 x - ----- + 1/50 z - 2/175 y - 1/50 x z - 1/50 y z + 2/175 x y,
+ 14700
+
+ 2
+ COEFF(-1, -2, 2) = 1/50 z - 1/100 x z + 1/175 x y - 1/50 y z + 2/245 y
+
+ 2 2 169
+ - 2/175 y - 1/245 x - 1/175 x + 1/50 z - -----, COEFF(0, -2, 2) =
+ 14700
+
+ 2 2 2
+ 1/50 z - 2/175 y + 1/50 z - 1/50 y z + 2/245 y - 1/300 - 2/245 x ,
+
+ 2
+ COEFF(1, -2, 2) = 1/175 x + 2/245 y - 1/175 x y - 2/175 y + 1/50 z
+
+ 2 169 2
+ + 1/50 z - ----- - 1/50 y z + 1/100 x z - 1/245 x , COEFF(2, -2, 2) =
+ 14700
+
+ 2 2 529 2
+ 2/245 x + 1/50 z - ----- + 2/245 y + 1/50 x z - 2/175 x y - 2/175 y
+ 14700
+
+ + 1/50 z - 1/50 y z + 2/175 x, COEFF(-2, -1, 2) = - 1/50 x z - 2/175 x
+
+ 2 2 2
+ - 1/100 y z + 1/175 x y + 1/50 z + 1/50 z - 1/175 y + 2/245 x - 1/245 y
+
+ 169 2 2
+ - -----, COEFF(-1, -1, 2) = - 1/100 x z + 1/50 z - 1/245 x - 1/175 y
+ 14700
+
+ 2 191
+ - 1/100 y z - 1/245 y - 1/175 x + 1/50 z + 1/350 x y + -----,
+ 14700
+
+ COEFF(0, -1, 2) =
+
+ 311 2 2 2
+ ----- - 1/100 y z - 1/175 y - 1/245 y + 1/50 z - 2/245 x + 1/50 z,
+ 14700
+
+ 2 2
+ COEFF(1, -1, 2) = 1/50 z - 1/175 y - 1/245 x - 1/245 y + 1/100 x z
+
+ 191 2
+ - 1/100 y z + 1/175 x + ----- - 1/350 x y + 1/50 z , COEFF(2, -1, 2) =
+ 14700
+
+ 169 2 2
+ 2/175 x - ----- - 1/245 y + 1/50 z + 1/50 x z - 1/175 y + 1/50 z
+ 14700
+
+ 2
+ - 1/100 y z + 2/245 x - 1/175 x y, COEFF(-2, 0, 2) =
+
+ 2 2 2
+ - 1/300 + 1/50 z - 2/175 x - 2/245 y + 2/245 x - 1/50 x z + 1/50 z,
+
+ COEFF(-1, 0, 2) =
+
+ 2 2 2 311
+ - 1/100 x z + 1/50 z - 2/245 y - 1/245 x - 1/175 x + ----- + 1/50 z,
+ 14700
+
+ 431 2 2 2
+ COEFF(0, 0, 2) = ----- + 1/50 z + 1/50 z - 2/245 x - 2/245 y ,
+ 14700
+
+ COEFF(1, 0, 2) =
+
+ 2 311 2 2
+ 1/50 z + ----- + 1/175 x + 1/50 z - 1/245 x + 1/100 x z - 2/245 y ,
+ 14700
+
+ COEFF(2, 0, 2) =
+
+ 2 2 2
+ - 1/300 - 2/245 y + 1/50 x z + 2/175 x + 1/50 z + 1/50 z + 2/245 x ,
+
+ 2 169 2
+ COEFF(-2, 1, 2) = 1/50 z - ----- - 1/50 x z + 1/100 y z + 2/245 x
+ 14700
+
+ 2
+ - 2/175 x - 1/245 y + 1/175 y - 1/175 x y + 1/50 z, COEFF(-1, 1, 2) =
+
+ 2 2 2
+ - 1/245 y + 1/50 z + 1/175 y + 1/50 z - 1/245 x - 1/175 x + 1/100 y z
+
+ 191
+ + ----- - 1/100 x z - 1/350 x y, COEFF(0, 1, 2) =
+ 14700
+
+ 2 311 2 2
+ - 2/245 x + ----- + 1/175 y + 1/50 z - 1/245 y + 1/50 z + 1/100 y z,
+ 14700
+
+ 2
+ COEFF(1, 1, 2) = 1/50 z + 1/175 y + 1/350 x y + 1/100 y z + 1/175 x
+
+ 2 191 2
+ - 1/245 x + ----- + 1/100 x z - 1/245 y + 1/50 z, COEFF(2, 1, 2) =
+ 14700
+
+ 2 2
+ 1/175 y + 1/50 x z + 1/50 z + 1/100 y z + 2/175 x - 1/245 y + 1/50 z
+
+ 169 2 2
+ - ----- + 2/245 x + 1/175 x y, COEFF(-2, 2, 2) = - 2/175 x + 1/50 z
+ 14700
+
+ 2 529 2
+ + 2/245 x - ----- + 2/245 y - 1/50 x z - 2/175 x y + 1/50 z + 2/175 y
+ 14700
+
+ 2 169
+ + 1/50 y z, COEFF(-1, 2, 2) = 2/245 y - ----- - 1/100 x z + 1/50 z
+ 14700
+
+ 2 2
+ + 1/50 z - 1/175 x + 1/50 y z + 2/175 y - 1/175 x y - 1/245 x ,
+
+ COEFF(0, 2, 2) =
+
+ 2 2 2
+ 2/245 y + 1/50 y z + 1/50 z - 2/245 x - 1/300 + 2/175 y + 1/50 z ,
+
+ 169 2 2
+ COEFF(1, 2, 2) = - ----- + 1/50 z + 2/245 y + 1/175 x + 1/50 z + 2/175 y
+ 14700
+
+ 2
+ + 1/100 x z + 1/50 y z - 1/245 x + 1/175 x y, COEFF(2, 2, 2) = 2/175 x y
+
+ 529 2 2
+ + 2/175 y + 1/50 z + 1/50 x z - ----- + 1/50 z + 1/50 y z + 2/245 y
+ 14700
+
+ 2
+ + 2/175 x + 2/245 x ]
+
+> print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+> "3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c");
+bytes used=2509003240, alloc=15136044, time=413.61
+bytes used=2510004212, alloc=15136044, time=413.69
+bytes used=2511004404, alloc=15136044, time=413.78
+bytes used=2512004932, alloc=15136044, time=413.85
+bytes used=2513005108, alloc=15136044, time=414.03
+bytes used=2514005464, alloc=15136044, time=414.73
+bytes used=2515005636, alloc=15136044, time=415.43
+bytes used=2516006008, alloc=15136044, time=416.11
+bytes used=2517006468, alloc=15136044, time=416.80
+bytes used=2518006808, alloc=15136044, time=417.46
+bytes used=2519007112, alloc=15136044, time=417.61
+bytes used=2520007380, alloc=15136044, time=417.70
+bytes used=2521074164, alloc=15136044, time=417.80
+bytes used=2522115792, alloc=15136044, time=417.87
+bytes used=2523153204, alloc=15136044, time=417.94
+bytes used=2524165268, alloc=15136044, time=418.02
+bytes used=2525165524, alloc=15136044, time=418.11
+bytes used=2526165800, alloc=15136044, time=419.19
+bytes used=2527166008, alloc=15136044, time=419.94
+bytes used=2528166196, alloc=15136044, time=420.30
+bytes used=2529166632, alloc=15136044, time=420.39
+bytes used=2530166896, alloc=15136044, time=420.46
+bytes used=2531167464, alloc=15136044, time=420.53
+bytes used=2532167764, alloc=15136044, time=420.60
+bytes used=2533168444, alloc=15136044, time=420.67
+bytes used=2534168872, alloc=15136044, time=420.74
+bytes used=2535169320, alloc=15136044, time=420.81
+bytes used=2536169612, alloc=15136044, time=420.89
+bytes used=2537169896, alloc=15136044, time=420.96
+bytes used=2538170048, alloc=15136044, time=421.04
+bytes used=2539170388, alloc=15136044, time=421.12
+bytes used=2540171432, alloc=15136044, time=421.23
+bytes used=2541171644, alloc=15136044, time=421.34
+bytes used=2542171860, alloc=15136044, time=421.45
+bytes used=2543172124, alloc=15136044, time=421.55
+bytes used=2544183484, alloc=15136044, time=421.66
+bytes used=2545185888, alloc=15136044, time=421.76
+bytes used=2546186144, alloc=15136044, time=421.87
+bytes used=2547192392, alloc=15136044, time=421.99
+bytes used=2548192632, alloc=15136044, time=422.12
+bytes used=2549192816, alloc=15136044, time=422.24
+bytes used=2550192988, alloc=15136044, time=422.37
+bytes used=2551193472, alloc=15136044, time=422.47
+bytes used=2552193628, alloc=15136044, time=422.62
+bytes used=2553193832, alloc=15136044, time=424.44
+bytes used=2554194100, alloc=15136044, time=425.30
+bytes used=2555194284, alloc=15136044, time=425.87
+bytes used=2556194536, alloc=15136044, time=425.96
+bytes used=2557194880, alloc=15136044, time=426.04
+bytes used=2558195160, alloc=15136044, time=426.11
+bytes used=2559195456, alloc=15136044, time=426.19
+bytes used=2560195768, alloc=15136044, time=426.27
+bytes used=2561196116, alloc=15136044, time=426.34
+bytes used=2562196356, alloc=15136044, time=426.42
+bytes used=2563196568, alloc=15136044, time=426.50
+bytes used=2564196936, alloc=15136044, time=426.57
+bytes used=2565197120, alloc=15136044, time=426.65
+bytes used=2566197336, alloc=15136044, time=426.73
+bytes used=2567197628, alloc=15136044, time=426.88
+bytes used=2568202696, alloc=15136044, time=427.03
+bytes used=2569202904, alloc=15136044, time=427.16
+bytes used=2570208464, alloc=15136044, time=427.29
+bytes used=2571208624, alloc=15136044, time=427.39
+bytes used=2572208800, alloc=15136044, time=429.28
+bytes used=2573208992, alloc=15136044, time=430.45
+bytes used=2574209148, alloc=15136044, time=431.03
+bytes used=2575209404, alloc=15136044, time=431.12
+bytes used=2576209656, alloc=15136044, time=431.20
+bytes used=2577209816, alloc=15136044, time=431.27
+bytes used=2578210212, alloc=15136044, time=431.35
+bytes used=2579210640, alloc=15136044, time=431.43
+bytes used=2580210796, alloc=15136044, time=431.52
+bytes used=2581210992, alloc=15136044, time=431.77
+bytes used=2582211264, alloc=15136044, time=433.36
+bytes used=2583211432, alloc=15136044, time=434.66
+bytes used=2584211628, alloc=15136044, time=435.33
+bytes used=2585211940, alloc=15136044, time=435.42
+bytes used=2586212308, alloc=15136044, time=435.50
+bytes used=2587212700, alloc=15136044, time=435.57
+bytes used=2588213036, alloc=15136044, time=435.65
+bytes used=2589213232, alloc=15136044, time=435.72
+bytes used=2590213432, alloc=15136044, time=435.92
+bytes used=2591213648, alloc=15136044, time=436.88
+bytes used=2592213888, alloc=15136044, time=438.78
+bytes used=2593214088, alloc=15136044, time=439.48
+bytes used=2594215032, alloc=15136044, time=439.91
+bytes used=2595215392, alloc=15136044, time=439.98
+bytes used=2596215560, alloc=15136044, time=440.14
+>
+########################################
+> quit
+bytes used=2596825128, alloc=15136044, time=440.24
diff --git a/src/GeneralizedPolynomial-Uniform/3d.maple b/src/GeneralizedPolynomial-Uniform/3d.maple
new file mode 100644
index 0000000..03d3a4c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/3d.maple
@@ -0,0 +1,626 @@
+# Maple code to compute 3-D Lagrange interpolation coefficients (orders 1-4)
+# $Id$
+
+################################################################################
+
+#
+# interpolating functions
+#
+
+fn_3d_order1 :=
+proc(x,y,z)
+# z^0 -----------
++ c010*y
++ c000 + c100*x
+# z^1 -----------
++ c001*z
+end proc;
+
+fn_3d_order2 :=
+proc(x,y,z)
+# z^0 --------------------------
++ c020*y^2
++ c010*y + c110*x*y
++ c000 + c100*x + c200*x^2
+# z^1 --------------------------
++ c011*y*z
++ c001*z + c101*x*z
+# z^2 --------------------------
++ c002*z^2
+end proc;
+
+fn_3d_order3 :=
+proc(x,y,z)
+# z^0 -------------------------------------------
++ c030*y^3
++ c020*y^2 + c120*x*y^2
++ c010*y + c110*x*y + c210*x^2*y
++ c000 + c100*x + c200*x^2 + c300*x^3
+# z^1 -------------------------------------------
++ c021*y^2*z
++ c011*y *z + c111*x*y*z
++ c001 *z + c101*x *z + c201*x^2*z
+# z^2 -------------------------------------------
++ c012*y*z^2
++ c002 *z^2 + c102*x*z^2
+# z^3 -------------------------------------------
++ c003 *z^3
+end proc;
+
+fn_3d_order4 :=
+proc(x,y,z)
+# z^0 --------------------------------------------------------
++ c040*y^4
++ c030*y^3 + c130*x*y^3
++ c020*y^2 + c120*x*y^2 + c220*x^2*y^2
++ c010*y + c110*x*y + c210*x^2*y + c310*x^3*y
++ c000 + c100*x + c200*x^2 + c300*x^3 + c400*x^4
+# z^1 -------------------------------------------
++ c031*y^3*z
++ c021*y^2*z + c121*x*y^2*z
++ c011*y *z + c111*x*y *z + c211*x^2*y*z
++ c001 *z + c101*x *z + c201*x^2 *z + c301*x^3*z
+# z^2 -------------------------------------------
++ c022*y^2*z^2
++ c012*y *z^2 + c112*x*y*z^2
++ c002 *z^2 + c102*x *z^2 + c202*x^2*z^2
+# z^3 -------------------------------------------
++ c013*y *z^3
++ c003 *z^3 + c103*x *z^3
+# z^4 -------------------------------------------
++ c004 *z^4
+end;
+
+################################################################################
+
+#
+# coefficients in interpolating functions
+#
+
+coeff_list_3d_order1 := [
+ # z^0 -----
+ c010,
+ c000, c100,
+ # z^1 -----
+ c001
+ ];
+coeff_list_3d_order2 := [
+ # z^0 -----------
+ c020,
+ c010, c110,
+ c000, c100, c200,
+ # z^1 -----------
+ c011,
+ c001, c101,
+ # z^2 -----------
+ c002
+ ];
+coeff_list_3d_order3 := [
+ # z^0 ----------------
+ c030,
+ c020, c120,
+ c010, c110, c210,
+ c000, c100, c200, c300,
+ # z^1 ----------------
+ c021,
+ c011, c111,
+ c001, c101, c201,
+ # z^2 ----------------
+ c012,
+ c002, c102,
+ # z^3 ----------------
+ c003
+ ];
+coeff_list_3d_order4 := [
+ # z^0 -----------------------
+ c040,
+ c030, c130,
+ c020, c120, c220,
+ c010, c110, c210, c310,
+ c000, c100, c200, c300, c400,
+ # z^1 -----------------------
+ c031,
+ c021, c121,
+ c011, c111, c211,
+ c001, c101, c201, c301,
+ # z^2 -----------------------
+ c022,
+ c012, c112,
+ c002, c102, c202,
+ # z^3 -----------------------
+ c013,
+ c003, c103,
+ # z^4 -----------------------
+ c004
+ ];
+
+################################################################################
+
+#
+# coordinates and interpolation points
+#
+
+coord_list_3d := [x,y,z];
+
+# generate points in Fortran ordering
+posn_list_3d_size2 := map(ListTools[Reverse], hypercube_points([ 0, 0, 0], [+1,+1,+1]));
+posn_list_3d_size3 := map(ListTools[Reverse], hypercube_points([-1,-1,-1], [+1,+1,+1]));
+posn_list_3d_size4 := map(ListTools[Reverse], hypercube_points([-1,-1,-1], [+2,+2,+2]));
+posn_list_3d_size5 := map(ListTools[Reverse], hypercube_points([-2,-2,-2], [+2,+2,+2]));
+
+################################################################################
+
+#
+# generic stuff for 3d, cube, size=2
+#
+
+data_var_list_3d_size2 := map(data_var_name, posn_list_3d_size2, "data_");
+
+print_name_list_dcl(data_var_list_3d_size2,
+ "fp", "3d.coeffs/3d.cube.size2/data-var.dcl.c");
+print_data_var_assign(posn_list_3d_size2,
+ "data_", "3d.coeffs/3d.cube.size2/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_I_"),
+ "fp", "3d.coeffs/3d.cube.size2/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dx_"),
+ "fp", "3d.coeffs/3d.cube.size2/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dy_"),
+ "fp", "3d.coeffs/3d.cube.size2/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size2, "coeff_dz_"),
+ "fp", "3d.coeffs/3d.cube.size2/coeff-dz.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+ "result", "coeff_I_", "data_",
+ "3d.coeffs/3d.cube.size2/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+ "result", "coeff_dx_", "data_",
+ "3d.coeffs/3d.cube.size2/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+ "result", "coeff_dy_", "data_",
+ "3d.coeffs/3d.cube.size2/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size2,
+ "result", "coeff_dz_", "data_",
+ "3d.coeffs/3d.cube.size2/interp-dz.compute.c");
+
+########################################
+
+#
+# generic stuff for 3d, cube, size=3
+#
+
+data_var_list_3d_size3 := map(data_var_name, posn_list_3d_size3, "data_");
+
+print_name_list_dcl(data_var_list_3d_size3,
+ "fp", "3d.coeffs/3d.cube.size3/data-var.dcl.c");
+print_data_var_assign(posn_list_3d_size3,
+ "data_", "3d.coeffs/3d.cube.size3/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_I_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dx_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dy_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dz_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxx_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxy_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dxz_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dxz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dyy_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dyy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dyz_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dyz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size3, "coeff_dzz_"),
+ "fp", "3d.coeffs/3d.cube.size3/coeff-dzz.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_I_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dx_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dy_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dz_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dxx_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dxy_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dxz_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dxz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dyy_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dyy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dyz_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dyz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size3,
+ "result", "coeff_dzz_", "data_",
+ "3d.coeffs/3d.cube.size3/interp-dzz.compute.c");
+
+########################################
+
+#
+# generic stuff for 3d, cube, size=4
+#
+
+data_var_list_3d_size4 := map(data_var_name, posn_list_3d_size4, "data_");
+
+print_name_list_dcl(data_var_list_3d_size4,
+ "fp", "3d.coeffs/3d.cube.size4/data-var.dcl.c");
+print_data_var_assign(posn_list_3d_size4,
+ "data_", "3d.coeffs/3d.cube.size4/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_I_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dx_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dy_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dz_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxx_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxy_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dxz_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dxz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dyy_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dyy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dyz_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dyz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size4, "coeff_dzz_"),
+ "fp", "3d.coeffs/3d.cube.size4/coeff-dzz.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_I_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dx_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dy_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dz_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dxx_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dxy_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dxz_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dxz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dyy_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dyy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dyz_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dyz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size4,
+ "result", "coeff_dzz_", "data_",
+ "3d.coeffs/3d.cube.size4/interp-dzz.compute.c");
+
+########################################
+
+#
+# generic stuff for 3d, cube, size=5
+#
+
+data_var_list_3d_size5 := map(data_var_name, posn_list_3d_size5, "data_");
+
+print_name_list_dcl(data_var_list_3d_size5,
+ "fp", "3d.coeffs/3d.cube.size5/data-var.dcl.c");
+print_data_var_assign(posn_list_3d_size5,
+ "data_", "3d.coeffs/3d.cube.size5/data-var.assign.c");
+
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_I_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-I.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dx_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dy_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dz_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxx_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dxx.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxy_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dxy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dxz_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dxz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dyy_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dyy.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dyz_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dyz.dcl.c");
+print_name_list_dcl(map(coeff_name, posn_list_3d_size5, "coeff_dzz_"),
+ "fp", "3d.coeffs/3d.cube.size5/coeff-dzz.dcl.c");
+
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_I_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-I.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dx_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dy_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dz_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dxx_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dxx.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dxy_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dxy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dxz_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dxz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dyy_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dyy.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dyz_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dyz.compute.c");
+print_interp_cmpt__lc_of_data(posn_list_3d_size5,
+ "result", "coeff_dzz_", "data_",
+ "3d.coeffs/3d.cube.size5/interp-dzz.compute.c");
+
+
+################################################################################
+
+#
+# 3d, cube, order=1, smoothing=0 (size=2)
+#
+
+# interpolating polynomial
+interp_3d_cube_order1_smooth0
+ := polynomial_interpolant(fn_3d_order1, coeff_list_3d_order1,
+ coord_list_3d, posn_list_3d_size2);
+
+# I
+coeff_as_lc_of_data(%, posn_list_3d_size2);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "3d.coeffs/3d.cube.order1.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_3d_cube_order1_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size2);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "3d.coeffs/3d.cube.order1.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_3d_cube_order1_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size2);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "3d.coeffs/3d.cube.order1.smooth0/coeff-dy.compute.c");
+
+# d/dz
+simplify( diff(interp_3d_cube_order1_smooth0,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size2);
+print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+ "3d.coeffs/3d.cube.order1.smooth0/coeff-dz.compute.c");
+
+########################################
+
+#
+# 3d, cube, order=2, smoothing=0 (size=3)
+#
+
+# interpolating polynomial
+interp_3d_cube_order2_smooth0
+ := polynomial_interpolant(fn_3d_order2, coeff_list_3d_order2,
+ coord_list_3d, posn_list_3d_size3);
+
+# I
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_3d_cube_order2_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_3d_cube_order2_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dy.compute.c");
+
+# d/dz
+simplify( diff(interp_3d_cube_order2_smooth0,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dz.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_3d_cube_order2_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_3d_cube_order2_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dxy.compute.c");
+
+# d^2/dxdz
+simplify( diff(interp_3d_cube_order2_smooth0,x,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dxz.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_3d_cube_order2_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dyy.compute.c");
+
+# d^2/dydz
+simplify( diff(interp_3d_cube_order2_smooth0,y,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dyz.compute.c");
+
+# d^2/dz^2
+simplify( diff(interp_3d_cube_order2_smooth0,z,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size3);
+print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+ "3d.coeffs/3d.cube.order2.smooth0/coeff-dzz.compute.c");
+
+########################################
+
+#
+# 3d, cube, order=3, smoothing=0 (size=4)
+#
+
+# interpolating polynomial
+interp_3d_cube_order3_smooth0
+ := polynomial_interpolant(fn_3d_order3, coeff_list_3d_order3,
+ coord_list_3d, posn_list_3d_size4);
+
+# I
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_3d_cube_order3_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_3d_cube_order3_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dy.compute.c");
+
+# d/dz
+simplify( diff(interp_3d_cube_order3_smooth0,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dz.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_3d_cube_order3_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_3d_cube_order3_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dxy.compute.c");
+
+# d^2/dxdz
+simplify( diff(interp_3d_cube_order3_smooth0,x,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dxz.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_3d_cube_order3_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dyy.compute.c");
+
+# d^2/dydz
+simplify( diff(interp_3d_cube_order3_smooth0,y,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dyz.compute.c");
+
+# d^2/dz^2
+simplify( diff(interp_3d_cube_order3_smooth0,z,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size4);
+print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+ "3d.coeffs/3d.cube.order3.smooth0/coeff-dzz.compute.c");
+
+########################################
+
+#
+# 3d, cube, order=4, smoothing=0 (size=5)
+#
+
+# interpolating polynomial
+interp_3d_cube_order4_smooth0
+ := polynomial_interpolant(fn_3d_order4, coeff_list_3d_order4,
+ coord_list_3d, posn_list_3d_size5);
+
+# I
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_I_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-I.compute.c");
+
+# d/dx
+simplify( diff(interp_3d_cube_order4_smooth0,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dx_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dx.compute.c");
+
+# d/dy
+simplify( diff(interp_3d_cube_order4_smooth0,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dy_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dy.compute.c");
+
+# d/dz
+simplify( diff(interp_3d_cube_order4_smooth0,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dz_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dz.compute.c");
+
+# d^2/dx^2
+simplify( diff(interp_3d_cube_order4_smooth0,x,x) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dxx_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dxx.compute.c");
+
+# d^2/dxdy
+simplify( diff(interp_3d_cube_order4_smooth0,x,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dxy_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dxy.compute.c");
+
+# d^2/dxdz
+simplify( diff(interp_3d_cube_order4_smooth0,x,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dxz_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dxz.compute.c");
+
+# d^2/dy^2
+simplify( diff(interp_3d_cube_order4_smooth0,y,y) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dyy_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dyy.compute.c");
+
+# d^2/dydz
+simplify( diff(interp_3d_cube_order4_smooth0,y,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dyz_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dyz.compute.c");
+
+# d^2/dz^2
+simplify( diff(interp_3d_cube_order4_smooth0,z,z) );
+coeff_as_lc_of_data(%, posn_list_3d_size5);
+print_coeff__lc_of_data(%, "coeff_dzz_", "fp",
+ "3d.coeffs/3d.cube.order4.smooth0/coeff-dzz.compute.c");
+
+########################################
diff --git a/src/GeneralizedPolynomial-Uniform/COPYING b/src/GeneralizedPolynomial-Uniform/COPYING
new file mode 100644
index 0000000..a43ea21
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/src/GeneralizedPolynomial-Uniform/COPYRIGHT b/src/GeneralizedPolynomial-Uniform/COPYRIGHT
new file mode 100644
index 0000000..7253669
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/COPYRIGHT
@@ -0,0 +1,17 @@
+Copyright (C) 2001-2002, Jonathan Thornburg <jthorn@aei.mpg.de>
+$Header$
+
+This interpolator (the code in this directory and its subdirectories)
+is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
diff --git a/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.c b/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.c
new file mode 100644
index 0000000..c120298
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.c
@@ -0,0 +1,879 @@
+/*@@
+ @file InterpLocalUniform.c
+ @date 22 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Generalized Interpolation of processor-local arrays.
+
+ This code interpolates a set of functions defined on a
+ uniform N-dimensional grid, to a set of interpolation points.
+ It can also do differentiation and/or smoothing in the process
+ of the interpolation.
+
+ Conceptually, the generalized interpolation is done by
+ least-squares fitting a polynomial of the specified order
+ to the data values, applying the differentiation (if any)
+ to it, then evaluating the result at the interpolation points.
+ Since this ultimately yields _some_ linear combination of the
+ data values, so we precompute the coefficients for efficiency.
+ This is done with separate Maple-generated formulas for each
+ combination of number of dimensions, order, and differentiation
+ operator.
+ @enddesc
+ @version $Id$
+ @@*/
+
+#include <stdio.h>
+#include <stdlib.h> /* malloc(), free() */
+#include <string.h>
+
+#include "cctk.h"
+#include "util_ErrorCodes.h"
+#include "util_Table.h"
+#include "InterpLocalUniform.h"
+
+#include "all-prototypes.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(CactusBase_LocalInterp_src_GeneralizedPolynomialUniform_InterpLocalUniform_c)
+
+#ifdef PUGHINTERP_VERBOSE_DEBUG
+ /* if this is >= 0, we print verbose debugging information at this point */
+ int LocalInterp_verbose_debug_n = -1;
+#endif
+
+/******************************************************************************/
+/******************************************************************************/
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_InterpLocalUniform
+ @date 22 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ This function is the top-level driver for
+ LocalInterp::CCTK_InterpLocalUniform().
+
+ It interpolates a set of functions defined on a uniform
+ N-dimensional tensor-product grid, to a set of interpolation points.
+ It can also do differentiation and/or smoothing in the process
+ of the interpolation.
+
+ This function is just a driver: it validates arguments,
+ extracts optional arguments from the parameter table,
+ then decodes (N_dims, molecule_family, order, smoothing)
+ and calls the appropriate subfunction.
+ @enddesc
+
+ ***** misc arguments *****
+
+ @var N_dims
+ @vdesc dimensionality of the interpolation
+ @vtype int N_dims (must be >= 1)
+ @endvar
+
+ @var param_table_handle
+ @vdesc handle to a key-value table giving additonal parameters
+ for the interpolation
+ @vtype int param_table_handle (must be >= 0)
+ @endvar
+
+ ***** arguments specifying the coordinate system *****
+
+ @var coord_origin
+ @vdesc (pointer to) array[N_dims] of values giving the
+ x,y,z,... coordinates which correspond to the
+ integer input-array subscripts (0,0,0,...,0)
+ (note there is no implication here that such a
+ grid point need actually exist; the arrays just
+ give the coordinates it would have if it did exist)
+ @vtype const CCTK_REAL coord_origin[N_dims]
+ @endvar
+
+ @var coord_delta
+ @vdesc (pointer to) array[N_dims] of values giving the
+ coordinate spacing of the grid
+ @vtype const CCTK_REAL coord_delta[N_dims]
+ @endvar
+
+ ***** arguments specifying the interpolation points *****
+
+ @var N_interp_points
+ @vdesc number of interpolation points
+ @vtype int N_interp_points (must be >= 0)
+ @endvar
+
+ @var interp_coords_type_code
+ @vdesc one of the CCTK_VARIABLE_* codes giving the data
+ type of the arrays pointed to by interp_coords[]
+ @vtype int
+ @endvar
+
+ @var interp_coords
+ @vdesc (pointer to) array[N_dims] of pointers
+ to arrays[N_interp_points] giving
+ x,y,z,... coordinates of interpolation points
+ @vtype const void *const interp_coords[N_dims]
+ @endvar
+
+ ***** arguments specifying the inputs (the data to be interpolated) *****
+
+ @var N_input_arrays
+ @vdesc number of arrays input to the interpolation
+ @vtype int N_input_arrays (must be >= 0)
+ @endvar
+
+ @var input_array_dims
+ @vdesc dimensions of the input arrays: unless overridden by
+ entries in the parameter table, all input arrays are
+ taken to have these dimensions, with [0] the most contiguous
+ axis and [N_dims-1] the least contiguous axis, and
+ array subscripts in the range 0 <= subscript < dims[axis]
+ @vtype const int input_array_dims[N_dims]
+ @endvar
+
+ @var input_array_type_codes
+ @vdesc (pointer to) array of CCTK_VARIABLE_* codes
+ giving the data types of the input arrays
+ @vtype const int input_array_type_codes[N_input_arrays]
+ @endvar
+
+ @var input_arrays
+ @vdesc (pointer to) array[N_input_arrays] of pointers to input arrays
+ @vtype const void *const input_arrays[N_input_arrays]
+ @endvar
+
+ ***** arguments specifying the outputs (the interpolation results) *****
+
+ @var N_output_arrays
+ @vdesc number of arrays output from the interpolation
+ @vtype int N_output_arrays (must be >= 0)
+ @endvar
+
+ @var output_array_type_codes
+ @vdesc (pointer to) array of CCTK_VARIABLE_* codes
+ giving the data types of the output arrays
+ @vtype const int output_array_type_codes[N_output_arrays]
+ @endvar
+
+ @var output_arrays
+ @vdesc (pointer to) array[N_output_arrays] of pointers to output arrays
+ @vtype void *const output_arrays[N_output_arrays]
+ @endvar
+
+ ***** arguments passed in the parameter table *****
+
+ @var order
+ @vdesc Sets the order of the interpolating polynomial
+ (1=linear, 2=quadratic, 3=cubic, ...).
+ This table entry is mandatory; all others are optional.
+ @vtype CCTK_INT order
+ @endvar
+
+ @var out_of_range_tolerance
+ @vdesc Specifies how out-of-range interpolation points should
+ be handled:
+ If out_of_range_tolerance[axis] >= 0.0,
+ then an interpolation point is considered to be
+ "out of range" if and only if the interpolation
+ point is > out_of_range_tolerance[axis]
+ * coord_delta[axis]
+ outside the grid in any coordinate.
+ If out_of_range_tolerance[axis] == -1.0,
+ then an interpolation point is considered to be
+ "out of range" if and only if a centered molecule
+ (or more generally, a molecule whose centering
+ is chosen pretending that the grid is of infinite
+ extent), would require data from outside the grid.
+ Other values of out_of_range_tolerance[axis] are illegal.
+ @vtype const CCTK_REAL out_of_range_tolerance[N_dims]
+ @endvar
+
+ @var
+ @vdesc If an out-of-range point is detected, this table entry
+ is set to its pt value.
+ @vtype CCTK_INT out_of_range_pt
+ @vio out
+ @endvar
+
+ @var
+ @vdesc If an out-of-range point is detected, this table entry
+ is set to the axis value which is out of range.
+ @vtype CCTK_INT out_of_range_axis
+ @vio out
+ @endvar
+
+ @var
+ @vdesc If an out-of-range point is detected, this table entry
+ is set to -1/+1 if the point is out of range on the min/max
+ end of the axis.
+ @vtype CCTK_INT out_of_range_end
+ @vio out
+ @endvar
+
+ @var input_array_offsets
+ @vdesc (pointer to) array giving an "offset" for each input array,
+ to use in the subscripting computation: for input array
+ number a, this computation is
+ data_pointer[offset + i*istride + j*jstride + k*kstride + ...]
+ where
+ data_pointer = input_arrays[a]
+ offset = input_array_offsets[a]
+ (istride,jstride,kstride,...) = input_array_stride[]
+ and where (i,j,k,...) run from input_array_min_subscripts[]
+ to input_array_max_subscripts[] inclusive.
+ @vtype const CCTK_INT input_array_offsets[N_input_arrays]
+ @endvar
+
+ @var input_array_strides
+ @vdesc (pointer to) array giving strides of input arrays
+ (this is shared by all input arrays)
+ @vtype const CCTK_INT input_array_strides[N_dims]
+ @endvar
+
+ @var input_array_min_subscripts
+ @vdesc (pointer to) array giving minimum subscripts of input arrays
+ (this is shared by all input arrays)
+ @vtype const CCTK_INT input_array_min_subscripts[N_dims]
+ @endvar
+
+ @var input_array_max_subscripts
+ @vdesc (pointer to) array giving maximum subscripts of input arrays
+ (this is shared by all input arrays)
+ @vtype const CCTK_INT input_array_max_subscripts[N_dims]
+ @endvar
+
+ @var operand_indices
+ @vdesc (pointer to) array of integer operand indices specifying
+ which input array (0-origin indexing into input_arrays[])
+ is to be generalized-interpolated to produce this output
+ @vtype const CCTK_INT operand_indices[N_output_arrays]
+ @endvar
+
+ @var operation_codes
+ @vdesc (pointer to) array of integer operation codes specifying
+ what (if any) derivatives are to be takin in the interpolation
+ process: 0=no derivative, 1=d/dx, 2=d/dy, 3=d/dz (for coords
+ (x,y,z)), 11=d^2/dx^2, 12=21=d^2/dxdy, etc etc.
+ @vtype const CCTK_INT operation_codes[N_output_arrays]
+ @endvar
+
+ ***** return result *****
+
+ @returntype int
+ @returndesc 0 successful interpolation
+ UTIL_ERROR_BAD_INPUT one of the input arguments is invalid
+ UTIL_ERROR_NO_MEMORY unable to malloc() temporary memory
+ UTIL_ERROR_BAD_HANDLE invalid parameter table handle
+ CCTK_ERROR_INTERP_POINT_X_RANGE
+ interpolation point is out of range
+ (in this case additional information
+ is reported through the parameter table)
+ or any error code returned by one of the Util_TableGet*()
+ functions called by this function
+ @endreturndesc
+ @@*/
+int LocalInterp_InterpLocalUniform(int N_dims,
+ int param_table_handle,
+ /***** coordinate system *****/
+ const CCTK_REAL coord_origin[],
+ const CCTK_REAL coord_delta[],
+ /***** interpolation points *****/
+ int N_interp_points,
+ int interp_coords_type_code,
+ const void *const interp_coords[],
+ /***** input arrays *****/
+ int N_input_arrays,
+ const CCTK_INT input_array_dims[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ /***** output arrays *****/
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[])
+{
+int status;
+
+/******************************************************************************/
+
+/*
+ * basic sanity checks on input parameters
+ */
+if ( (N_dims <= 0)
+ || (param_table_handle < 0)
+ || (coord_origin == NULL)
+ || (coord_delta == NULL)
+ || (N_interp_points < 0)
+ || ((N_interp_points > 0) && (interp_coords == NULL))
+ || (N_input_arrays < 0)
+ /* no check here on input_array_dims, */
+ /* since it may be NULL if overridden by parameter-table stuff */
+ || ((N_input_arrays > 0) && (input_array_type_codes == NULL))
+ || ((N_input_arrays > 0) && (input_arrays == NULL))
+ || (N_output_arrays < 0)
+ || ((N_output_arrays > 0) && (output_array_type_codes == NULL))
+ || ((N_output_arrays > 0) && (output_arrays == NULL)) )
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): invalid arguments\n"
+" (N_dims <= 0, param_table_handle < 0, N_input_arrays < 0,\n"
+" N_output_arrays < 0, and/or NULL pointers-that-shouldn't-be-NULL)!");
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+
+if (N_dims > MAX_N_DIMS)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): N_dims=%d > MAX_N_DIMS=%d!",
+ N_dims, MAX_N_DIMS);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+
+/******************************************************************************/
+
+/*
+ * interpolation order
+ */
+ {
+CCTK_INT order;
+status = Util_TableGetInt(param_table_handle, &order, "order");
+if (status == 1)
+ then { } /* ok ==> no-op here */
+else {
+ /* n.b. order is a mandatory parameter (no default)!*/
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): missing or bad table entry for \"order\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+if ((order < 1) || (order > MAX_ORDER))
+ then return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+
+
+/*
+ * out-of-range interpolation-point handling
+ */
+ {
+CCTK_REAL out_of_range_tolerance[MAX_N_DIMS];
+status = Util_TableGetRealArray(param_table_handle,
+ N_dims, out_of_range_tolerance,
+ "out_of_range_tolerance");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default */
+ int axis;
+ for (axis = 0 ; axis < N_dims ; ++axis)
+ {
+ out_of_range_tolerance[axis] = OUT_OF_RANGE_TOLERANCE_DEFAULT;
+ }
+ }
+else if (status == N_dims)
+ then {
+ /* check that all values are valid */
+ int axis;
+ for (axis = 0 ; axis < N_dims ; ++axis)
+ {
+ if (! ( (out_of_range_tolerance[axis] >= 0.0)
+ || (out_of_range_tolerance[axis] == -1.0) ) )
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "InterpLocalUniform(): invalid table entry\n"
+ " out_of_range_tolerance[%d] = %g!"
+ ,
+ axis, out_of_range_tolerance[axis]);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+ }
+else {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry\n"
+" for \"out_of_range_tolerance\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/******************************************************************************/
+
+/*
+ * molecule family
+ */
+ {
+#define MOLECULE_FAMILY_BUFSIZ (MAX_MOLECULE_FAMILY_STRLEN+1)
+char molecule_family_string[MOLECULE_FAMILY_BUFSIZ];
+enum molecule_family molecule_family;
+status = Util_TableGetString(param_table_handle,
+ MOLECULE_FAMILY_BUFSIZ, molecule_family_string,
+ "molecule_family");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default */
+ /* (need enum for main code, but also string for error messages) */
+ strcpy(molecule_family_string, "cube");
+ molecule_family = molecule_family_cube;
+ }
+else if (status < 0)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"molecule_family\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+else {
+ /* decode molecule family string */
+ if (strcmp(molecule_family_string, "cube") == 0)
+ then molecule_family = molecule_family_cube;
+ else {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): unknown molecule_family=\"%s\"!",
+ molecule_family_string);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+
+/*
+ * smoothing
+ */
+ {
+CCTK_INT smoothing;
+status = Util_TableGetInt(param_table_handle, &smoothing, "smoothing");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then smoothing = 0; /* default */
+else if (status == 1)
+ then { } /* ok ==> no-op here */
+else {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"smoothing\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+if ((smoothing < 0) || (smoothing > MAX_SMOOTHING))
+ then return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+
+/******************************************************************************/
+
+/*
+ * input array offsets
+ */
+ {
+CCTK_INT *const input_array_offsets
+ = malloc(N_input_arrays * sizeof(CCTK_INT));
+if (input_array_offsets == NULL)
+ then return UTIL_ERROR_NO_MEMORY; /*** ERROR RETURN ***/
+status = Util_TableGetIntArray(param_table_handle,
+ N_input_arrays, input_array_offsets,
+ "input_array_offsets");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default offset = 0 along each axis */
+ LocalInterp_zero_int_array(N_input_arrays, input_array_offsets);
+ }
+else if (status == N_input_arrays)
+ then { } /* ok ==> no-op here */
+else {
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"input_array_offsets\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/*
+ * input array strides
+ */
+ {
+CCTK_INT input_array_strides[MAX_N_DIMS];
+status = Util_TableGetIntArray(param_table_handle,
+ N_dims, input_array_strides,
+ "input_array_strides");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default stride = Fortran storage order, */
+ /* determined from input_array_dims[] */
+ if (input_array_dims == NULL)
+ then {
+ free(input_array_offsets);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ {
+ int stride = 1;
+ int axis;
+ for (axis = 0 ; axis < N_dims ; ++axis)
+ {
+ input_array_strides[axis] = stride;
+ stride *= input_array_dims[axis];
+ }
+ }
+ }
+else if (status == N_dims)
+ then { } /* ok ==> no-op here */
+else {
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"input_array_offsets\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/*
+ * input array min/max subscripts
+ */
+ {
+CCTK_INT input_array_min_subscripts[MAX_N_DIMS];
+status = Util_TableGetIntArray(param_table_handle,
+ N_dims, input_array_min_subscripts,
+ "input_array_min_subscripts");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default min subscript = 0 along each axis */
+ LocalInterp_zero_int_array(N_dims, input_array_min_subscripts);
+ }
+else if (status == N_dims)
+ then { } /* ok ==> no-op here */
+else {
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"input_array_offsets\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+ {
+CCTK_INT input_array_max_subscripts[MAX_N_DIMS];
+status = Util_TableGetIntArray(param_table_handle,
+ N_dims, input_array_max_subscripts,
+ "input_array_max_subscripts");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default max subscript = input_array_dims[]-1 along each axis */
+ if (input_array_dims == NULL)
+ then {
+ free(input_array_offsets);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ {
+ int axis;
+ for (axis = 0 ; axis < N_dims ; ++axis)
+ {
+ input_array_max_subscripts[axis] = input_array_dims[axis] - 1;
+ }
+ }
+ }
+else if (status == N_dims)
+ then { } /* ok ==> no-op here */
+else {
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"input_array_offsets\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/******************************************************************************/
+
+/*
+ * operand indices
+ */
+ {
+CCTK_INT *const operand_indices
+ = malloc(N_output_arrays * sizeof(CCTK_INT));
+if (operand_indices == NULL)
+ then {
+ free(input_array_offsets);
+ return UTIL_ERROR_NO_MEMORY; /*** ERROR RETURN ***/
+ }
+status = Util_TableGetIntArray(param_table_handle,
+ N_output_arrays, operand_indices,
+ "operand_indices");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default operand = use each input exactly once */
+ /* but this only makes since if N_input_arrays == N_output_arrays */
+ if (N_input_arrays != N_input_arrays)
+ then {
+ free(operand_indices);
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"\n"
+" InterpLocalUniform(): can't default \"operand_indices\"\n"
+" with N_input_arrays=%d != N_output_arrays=%d!"
+,
+ N_input_arrays, N_output_arrays);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ {
+ int output;
+ for (output = 0 ; output < N_output_arrays ; ++output)
+ {
+ operand_indices[output] = output;
+ }
+ }
+ }
+else if (status == N_output_arrays)
+ then {
+ /* check that all operands are within range */
+ int output;
+ for (output = 0 ; output < N_output_arrays ; ++output)
+ {
+ if ( (operand_indices[output] < 0)
+ || (operand_indices[output] >= N_input_arrays) )
+ then {
+ free(operand_indices);
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"\n"
+" InterpLocalUniform(): operand_indices[%d]=%d specifies\n"
+" nonexistent input array!\n"
+" (valid range is [0,N_input_arrays=%d))"
+,
+ output, operand_indices[output],
+ N_input_arrays);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+ }
+else {
+ free(operand_indices);
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"operand_indices\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/*
+ * operation_codes
+ */
+ {
+CCTK_INT *const operation_codes
+ = malloc(N_output_arrays * sizeof(CCTK_INT));
+if (operation_codes == NULL)
+ then {
+ free(operand_indices);
+ free(input_array_offsets);
+ return UTIL_ERROR_NO_MEMORY; /*** ERROR RETURN ***/
+ }
+status = Util_TableGetIntArray(param_table_handle,
+ N_output_arrays, operation_codes,
+ "operation_codes");
+if (status == UTIL_ERROR_TABLE_NO_SUCH_KEY)
+ then {
+ /* default operation_codes = all 0 */
+ /* but this only makes since if N_input_arrays == N_output_arrays */
+ if (N_input_arrays != N_input_arrays)
+ then {
+ free(operation_codes);
+ free(operand_indices);
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): can't default \"operation_codes\"\n"
+" with N_input_arrays=%d != N_output_arrays=%d!"
+,
+ N_input_arrays, N_output_arrays);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ LocalInterp_zero_int_array(N_output_arrays, operation_codes);
+ }
+else if (status == N_output_arrays)
+ then { } /* ok ==> no-op here */
+else {
+ free(operation_codes);
+ free(operand_indices);
+ free(input_array_offsets);
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): bad table entry for \"operation_codes\" parameter!");
+ return status; /*** ERROR RETURN ***/
+ }
+
+/******************************************************************************/
+
+/*
+ * decode N_dims, molecule_family, order, and smoothing,
+ * and call the appropriate subfunction to do the actual interpolation
+ */
+ {
+typedef int (*p_interp_fn_t)(/***** coordinate system *****/
+ const CCTK_REAL coord_origin[],
+ const CCTK_REAL coord_delta[],
+ /***** interpolation points *****/
+ int N_interp_points,
+ int interp_coords_type_code,
+ const void *const interp_coords[],
+ const CCTK_REAL out_of_range_tolerance[],
+ /***** input arrays *****/
+ int N_input_arrays,
+ const CCTK_INT input_array_offsets[],
+ const CCTK_INT input_array_strides[],
+ const CCTK_INT input_array_min_subscripts[],
+ const CCTK_INT input_array_max_subscripts[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ /***** output arrays *****/
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[],
+ /***** operation info */
+ const CCTK_INT operand_indices[],
+ const CCTK_INT operation_codes[],
+ /***** error-reporting *****/
+ int* error_pt, int* error_axis, int* error_end);
+#define NULL_INTERP_FN_PTR ((p_interp_fn_t) NULL)
+
+/*
+ * For each axis of this array which is marked below with a "see above"
+ * comment, the array size is declared as X+1, so the legal subscripts
+ * are of course 0...X. But for these axes we actually only use 1...X.
+ * Having the array oversize like this slightly simplifies the array
+ * subscripting.
+ */
+static const p_interp_fn_t p_interp_fn_table[MAX_N_DIMS+1] /* see above */
+ [N_MOLECULE_FAMILIES]
+ [MAX_ORDER+1] /* see above */
+ [MAX_SMOOTHING+1]
+ = {
+ /* in the comments on the initializers, "n.i." = "not implemented" */
+ {
+ /* N_dims = 0 ==> unused */
+ {
+ /* molecule_family = molecule_family_cube */
+ { NULL_INTERP_FN_PTR , }, /* order=0 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=1 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=2 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=3 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=4 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=5 (unused) */
+ { NULL_INTERP_FN_PTR , }, /* order=6 (unused) */
+ },
+ },
+
+ {
+ /* N_dims = 1 */
+ {
+ /* molecule_family = molecule_family_cube */
+ { NULL_INTERP_FN_PTR , }, /* order=0 (unused) */
+ { LocalInterp_ILU_1d_cube_o1_s0, }, /* order=1 */
+ { LocalInterp_ILU_1d_cube_o2_s0, }, /* order=2 */
+ { LocalInterp_ILU_1d_cube_o3_s0, }, /* order=3 */
+ { LocalInterp_ILU_1d_cube_o4_s0, }, /* order=4 */
+ { LocalInterp_ILU_1d_cube_o5_s0, }, /* order=5 */
+ { LocalInterp_ILU_1d_cube_o6_s0, }, /* order=6 */
+ },
+ },
+
+ {
+ /* N_dims = 2 */
+ {
+ /* molecule_family = molecule_family_cube */
+ { NULL_INTERP_FN_PTR , }, /* order=0 (unused) */
+ { LocalInterp_ILU_2d_cube_o1_s0, }, /* order=1 */
+ { LocalInterp_ILU_2d_cube_o2_s0, }, /* order=2 */
+ { LocalInterp_ILU_2d_cube_o3_s0, }, /* order=3 */
+ { LocalInterp_ILU_2d_cube_o4_s0, }, /* order=4 */
+ { NULL_INTERP_FN_PTR , }, /* order=5 (n.i.) */
+ { NULL_INTERP_FN_PTR , }, /* order=6 (n.i.) */
+ },
+ },
+
+ {
+ /* N_dims = 3 */
+ {
+ /* molecule_family = molecule_family_cube */
+ { NULL_INTERP_FN_PTR , }, /* order=0 (unused) */
+ { LocalInterp_ILU_3d_cube_o1_s0, }, /* order=1 */
+ { LocalInterp_ILU_3d_cube_o2_s0, }, /* order=2 */
+ { LocalInterp_ILU_3d_cube_o3_s0, }, /* order=3 */
+ { LocalInterp_ILU_3d_cube_o4_s0, }, /* order=4 */
+ { NULL_INTERP_FN_PTR , }, /* order=5 (n.i.) */
+ { NULL_INTERP_FN_PTR , }, /* order=6 (n.i.) */
+ },
+ },
+ };
+
+/* look up the subfunction to do the interpolation */
+p_interp_fn_t p_interp_fn = p_interp_fn_table[N_dims]
+ [molecule_family]
+ [order]
+ [smoothing];
+if (p_interp_fn == NULL_INTERP_FN_PTR)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"interpolation not implemented for the combination\n"
+"N_dims=%d, molecule_family=\"%s\", order=%d, smoothing=%d",
+ N_dims, molecule_family_string, order, smoothing);
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+
+ {
+/* call the subfunction to actually do the interpolation */
+int error_pt, error_axis, error_end;
+const int return_code
+ = (*p_interp_fn)(coord_origin, coord_delta,
+ N_interp_points,
+ interp_coords_type_code, interp_coords,
+ out_of_range_tolerance,
+ N_input_arrays,
+ input_array_offsets, input_array_strides,
+ input_array_min_subscripts,
+ input_array_max_subscripts,
+ input_array_type_codes, input_arrays,
+ N_output_arrays,
+ output_array_type_codes, output_arrays,
+ operand_indices, operation_codes,
+ &error_pt, &error_axis, &error_end);
+
+if (return_code == CCTK_ERROR_INTERP_POINT_X_RANGE)
+ then {
+ /* store details about the error in the parameter table */
+
+ status = Util_TableSetInt(param_table_handle,
+ error_pt,
+ "out_of_range_pt");
+ if (status < 0)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): error %d setting \"out_of_range_pt\" table entry!",
+ status);
+ free(operation_codes);
+ free(operand_indices);
+ free(input_array_offsets);
+ return status; /*** ERROR RETURN ***/
+ }
+
+ status = Util_TableSetInt(param_table_handle,
+ error_axis,
+ "out_of_range_axis");
+ if (status < 0)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): error %d setting \"out_of_range_axis\" table entry!",
+ status);
+ free(operation_codes);
+ free(operand_indices);
+ free(input_array_offsets);
+ return status; /*** ERROR RETURN ***/
+ }
+
+ status = Util_TableSetInt(param_table_handle,
+ error_end,
+ "out_of_range_end");
+ if (status < 0)
+ then {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+"InterpLocalUniform(): error %d setting \"out_of_range_end\" table entry!",
+ status);
+ free(operation_codes);
+ free(operand_indices);
+ free(input_array_offsets);
+ return status; /*** ERROR RETURN ***/
+ }
+ }
+
+free(operation_codes);
+free(operand_indices);
+free(input_array_offsets);
+
+return return_code;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.h b/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.h
new file mode 100644
index 0000000..44dbd9d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/InterpLocalUniform.h
@@ -0,0 +1,144 @@
+/* InterpLocalUniform.h -- private stuff for this interpolator */
+/* $Id$ */
+
+#ifdef LOCALINTERP_STANDALONE_BUILD
+ typedef int CCTK_INT;
+ typedef double CCTK_REAL;
+#endif
+
+typedef CCTK_REAL fp;
+
+/******************************************************************************/
+
+/* misc stuff that Jonathan Thornburg likes to use */
+typedef int bool;
+#define false 0
+#define true 1
+
+#define then /* empty */
+
+/******************************************************************************/
+
+/* number of integers in the range [x,y] inclusive */
+#define how_many_in_range(x,y) ((y) - (x) + 1)
+
+/* is the integer x even/odd? */
+#define is_even(x) (((x) & 0x1) == 0)
+#define is_odd (x) (((x) & 0x1) != 0)
+
+/* round floating-point value to nearest integer */
+/* ... result is expressed as floating point! */
+/* ... needs <math.h> for floor() */
+#define jt_round(x) floor((x) + 0.5)
+
+/******************************************************************************/
+
+/*
+ * Cactus has some odd anomolies between real and complex datatypes
+ * as to whether they're #define or typedef, and how their presence
+ * should be detected at preprocessor-time. These macros isolate this:
+ */
+
+#ifdef CCTK_REAL4
+ #define HAVE_CCTK_REAL4
+ #define HAVE_CCTK_COMPLEX8
+#endif
+
+#ifdef CCTK_REAL8
+ #define HAVE_CCTK_REAL8
+ #define HAVE_CCTK_COMPLEX16
+#endif
+
+#ifdef CCTK_REAL16
+ #define HAVE_CCTK_REAL16
+ #define HAVE_CCTK_COMPLEX32
+#endif
+
+/******************************************************************************/
+
+/*
+ * compile-time upper bounds for sizing arrays etc
+ */
+
+/*
+ * We must have 1 <= N_dims <= MAX_N_DIMS. Alas, there are lots of places
+ * in "template.c" where code explicitly enumerates all possible N_DIMS
+ * values at compile-time, so changing (eg raising) this limit requires
+ * checking all preprocessor uses of N_DIMS as well as MAX_N_DIMS. :( :(
+ */
+#define MAX_N_DIMS 3
+
+/*
+ * if molecule_family_string is a C string specifying a molecule family
+ * (i.e. value associated with the "molecule_family" key in the parameter
+ * table), we must have
+ * strlen(molecule_family_string) <= MAX_MOLECULE_FAMILY_STRLEN
+ */
+#define MAX_MOLECULE_FAMILY_STRLEN 20
+
+/*
+ * N_MOLECULE_FAMILIES is the number of distinct molecule families
+ */
+enum molecule_family
+ {
+ molecule_family_cube = 0,
+ N_MOLECULE_FAMILIES /* this must be the last entry in the enum */
+ };
+
+/*
+ * We must have 1 <= order <= MAX_ORDER.
+ */
+#define MAX_ORDER 6
+
+/*
+ * We must have 0 <= smoothing <= MAX_SMOOTHING
+ */
+#define MAX_SMOOTHING 0
+
+/******************************************************************************/
+
+/*
+ * other compile-time settings
+ */
+/* default is that each element of out_of_range_tolerance[] is set to this */
+/* n.b. value should be moderately larger than CCTK_REAL machine epsilon */
+#define OUT_OF_RANGE_TOLERANCE_DEFAULT 1.0e-14
+
+/******************************************************************************/
+
+/*
+ * prototypes for functions visible from multiple files
+ */
+
+/* functions in InterpLocalUniform.c */
+int LocalInterp_InterpLocalUniform(int N_dims,
+ int param_table_handle,
+ /***** coordinate system *****/
+ const CCTK_REAL coord_origin[],
+ const CCTK_REAL coord_delta[],
+ /***** interpolation points *****/
+ int N_interp_points,
+ int interp_coords_type_code,
+ const void *const interp_coords[],
+ /***** input arrays *****/
+ int N_input_arrays,
+ const CCTK_INT input_array_dims[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ /***** output arrays *****/
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[]);
+
+/* functions in molecule_posn.c */
+int LocalInterp_molecule_posn(fp grid_origin, fp grid_delta,
+ int grid_i_min, int grid_i_max,
+ fp out_of_range_tolerance,
+ int molecule_size,
+ fp x,
+ fp *x_rel,
+ int *molecule_m_min, int *molecule_m_max);
+
+/* functions in util.c */
+void LocalInterp_zero_int_array(int N, CCTK_INT array[]);
+int LocalInterp_decode_N_parts(int type_code);
diff --git a/src/GeneralizedPolynomial-Uniform/README b/src/GeneralizedPolynomial-Uniform/README
new file mode 100644
index 0000000..39949c3
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/README
@@ -0,0 +1,43 @@
+$Header$
+
+This directory contains the interpolator registered for
+ CCTK_InterpLocalUniform()
+under the name
+ "generalized polynomial interpolation"
+
+This interpolator is distributed under the GNU GPL; see the file COPYRIGHT
+for details. Note that this means that if you distribute any program
+using this interpolator, you must provide source code to the entire
+program!
+
+
+
+To add a new combination of (N_dims, molecule_family, order, smoothing),
+to this interpolator, you need to
+* edit the appropriate Maple script (1d.maple, 2d.maple, 3d.maple, etc)
+ to generate the coefficients and write the appropriate files
+* edit the makefile to create the appropriate directory or directories,
+ and if necessary add any new targets
+* 'make' as appropriate to create the new coefficients etc
+ [note this can be rather computationally intensive -- the current
+ set of {1d,2d,3d} coefficients take {4 seconds, 15 seconds, 8 minutes}
+ to generate using Maple 7 on a xeon (1.7 GHz Pentium 4)]
+* edit InterpLocalUniform.c to add the new case to the decoding
+ switch statements
+* create an appropriate "script" file which defines the right macros,
+ then does a
+ #include "template.c"
+ to define the actual interpolation function; the best way to create
+ the script file is just to copy an existing one
+ (eg. 2d.cube.order3.smooth0.c)
+* add the appropriate entry to all-prototypes.h to define a prototype
+ for the actual interpolation function
+* add the new "script" file to the list in make.code.defn
+
+
+
+Other makefile targets:
+test_molecule_posn
+ This makes a standalone test driver for the
+ LocalInterp_molecule_posn()
+ function defined in molecule_posn.c
diff --git a/src/GeneralizedPolynomial-Uniform/all-prototypes.h b/src/GeneralizedPolynomial-Uniform/all-prototypes.h
new file mode 100644
index 0000000..9243069
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/all-prototypes.h
@@ -0,0 +1,72 @@
+/* all-prototypes.h -- C prototypes for all template-generated functions */
+/* $Header$ */
+
+/*
+ * 1D
+ */
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o1_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o2_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o3_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o4_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o5_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_1d_cube_o6_s0
+#include "template.h"
+
+
+/*
+ * 2D
+ */
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o1_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o2_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o3_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_2d_cube_o4_s0
+#include "template.h"
+
+
+/*
+ * 3D
+ */
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o1_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o2_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o3_s0
+#include "template.h"
+
+#undef FUNCTION_NAME
+#define FUNCTION_NAME LocalInterp_ILU_3d_cube_o4_s0
+#include "template.h"
diff --git a/src/GeneralizedPolynomial-Uniform/interpolate.maple b/src/GeneralizedPolynomial-Uniform/interpolate.maple
new file mode 100644
index 0000000..4938f86
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/interpolate.maple
@@ -0,0 +1,313 @@
+# GInterpolate.maple -- compute generalized interpolation formulas/coefficients
+# $Id$
+
+#
+# <<<representation of numbers, data values, etc>>>
+# polynomial_interpolant - compute polynomial interpolant
+# coeff_as_lc_of_data - coefficients of ... (linear combination of data)
+#
+# print_coeff__lc_of_data - print C code to compute coefficients
+# print_data_var_assign - print C code to assign data-value variables
+# print_interp_cmpt__lc_of_data - print C code for computation of interpolant
+#
+# coeff_name - name of coefficient of data at a given [m] coordinate
+# data_var_name - name of variable storing data value at a given [m] coordinate
+#
+
+################################################################################
+
+#
+# ***** representation of numbers, data values, etc *****
+#
+# We use RATIONAL(p.0,q.0) to denote the rational number p/q.
+#
+# We use DATA(...) to represent the data values being interpolated at a
+# specified [m] coordinate, where the arguments are the [m] coordinates.
+#
+# We use COEFF(...) to represent the molecule coefficient at a specified
+# [m] coordinate, where the arguments are the [m] coordinates.
+#
+# For example, the usual 1-D centered 2nd order 1st derivative molecule
+# would be written
+# RATIONAL(-1.0,2.0)*DATA(-1) + RATIONA(1.0,2.0)*DATA(1)
+# and its coefficients as
+# COEFF(-1) = RATIONAL(-1.0,2.0)
+# COEFF(1) = RATIONAL(1.0,2.0)
+#
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function computes a polynomial interpolant in any number of dimensions.
+#
+# Arguments:
+# fn = The interpolation function. This should be a procedure in the
+# coordinates, having the coefficients as global variables. For
+# example,
+# proc(x,y) c00 + c10*x + c01*y end proc
+# coeff_list = A set of the interpolation coefficients (coefficients in
+# the interpolation function), for example [c00, c10, c01].
+# coord_list = A list of the coordinates (independent variables in the
+# interpolation function), for example [x,y].
+# posn_list = A list of positions (each a list of numeric values) where the
+# interpolant is to use data, for example hypercube([0,0], [1,1]).
+# Any positions may be used; if they're redundant (as in the
+# example) the least-squares interpolant is computed.
+#
+# Results:
+# This function returns the interpolating polynomial, in the form of
+# an algebraic expression in the coordinates and the data values.
+#
+polynomial_interpolant :=
+proc(
+ fn::procedure, coeff_list::list(name),
+ coord_list::list(name), posn_list::list(list(numeric))
+ )
+local posn, data_eqns, coeff_eqns;
+
+# coefficients of interpolating polynomial
+data_eqns := { seq( fn(op(posn))='DATA'(op(posn)) , posn=posn_list ) };
+coeff_eqns := linalg[leastsqrs](data_eqns, {op(coeff_list)});
+if (has(coeff_eqns, '_t'))
+ then error "interpolation coefficients aren't uniquely determined!";
+end if;
+
+# interpolant as a polynomial in the coordinates
+return subs(coeff_eqns, eval(fn))(op(coord_list));
+end proc;
+
+################################################################################
+
+#
+# This function takes as input an interpolating polynomial, expresses
+# it as a linear combination of the data values, and returns the coefficeints
+# of that form.
+#
+# Arguments:
+# interpolant = The interpolating polynomial (an algebraic expression
+# in the coordinates and the data values).
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+#
+# Results:
+# This function returns the coefficients, as a list of equations of the
+# form COEFF(...) = value , where each value is a polynomial in the
+# coordinates. The order of the list matches that of posn_list.
+#
+coeff_as_lc_of_data :=
+proc(
+ interpolant::algebraic,
+ posn_list::list(list(numeric))
+ )
+local data_list, interpolant_as_lc_of_data;
+
+# interpolant as a linear combination of the data values
+data_list := [ seq( 'DATA'(op(posn)) , posn=posn_list ) ];
+interpolant_as_lc_of_data := collect(interpolant, data_list);
+
+# coefficients of the data values in the linear combination
+return map(
+ proc(posn::list(numeric))
+ coeff(interpolant_as_lc_of_data, DATA(op(posn)));
+ 'COEFF'(op(posn)) = %;
+ end proc
+ ,
+ posn_list
+ );
+end proc;
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function prints C expressions for the coefficients of an
+# interpolating polynomial. (The polynomial is expressed as linear
+# combinations of the data values with coefficients which are
+# RATIONAL(p,q) calls.)
+#
+# Arguments:
+# coeff_list = A list of the coefficients, as returned from
+# coeff_as_lc_of_data() .
+# coeff_name_prefix = A prefix string for the coefficient names.
+# temp_name_type = The C type to be used for Maple-introduced temporary
+# names, eg. "double".
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+print_coeff__lc_of_data :=
+proc( coeff_list::list(specfunc(numeric,COEFF) = algebraic),
+ coeff_name_prefix::string,
+ temp_name_type::string,
+ file_name::string )
+global `codegen/C/function/informed`;
+local coeff_list2, cmpt_list, temp_name_list;
+
+# convert LHS of each equation from a COEFF() call (eg COEFF(-1,+1))
+# to a Maple/C variable name (eg coeff_I_m1_p1)
+coeff_list2 := map(
+ proc(coeff_eqn::specfunc(numeric,COEFF) = algebraic)
+ local posn;
+ posn := [op(lhs(coeff_eqn))];
+ coeff_name(posn,coeff_name_prefix);
+ convert(%, name); # codegen[C] wants LHS
+ # to be an actual Maple *name*
+ % = fix_rationals(rhs(coeff_eqn));
+ end proc
+ ,
+ coeff_list
+ );
+
+#
+# generate the C code
+#
+
+# tell codegen[C] not to warn about unknown RATIONAL() and DATA() "fn calls"
+# via undocumented :( global table
+`codegen/C/function/informed`['RATIONAL'] := true;
+`codegen/C/function/informed`['DATA'] := true;
+
+ftruncate(file_name);
+
+# optimized computation sequence for all the coefficients
+# (may use local variables t0,t1,t2,...)
+cmpt_list := [codegen[optimize](coeff_list2, tryhard)];
+
+# list of the t0,t1,t2,... local variables
+temp_name_list := nonmatching_names(map(lhs,cmpt_list), coeff_name_prefix);
+
+# declare the t0,t1,t2,... local variables (if there are any)
+if (nops(temp_name_list) > 0)
+ then print_name_list_dcl(%, temp_name_type, file_name);
+fi;
+
+# now print the optimized computation sequence
+codegen[C](cmpt_list, filename=file_name);
+
+NULL;
+end proc;
+
+################################################################################
+
+#
+# This function prints a sequence of C expression to assign the data-value
+# variables.
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+print_data_var_assign :=
+proc(
+ posn_list::list(list(numeric)),
+ data_var_name_prefix::string,
+ file_name::string
+ )
+
+ftruncate(file_name);
+
+map(
+ proc(posn::list(numeric))
+ fprintf(file_name,
+ "%s = %a;\n",
+ data_var_name(posn,data_var_name_prefix),
+ DATA(op(posn)));
+ end proc
+ ,
+ posn_list
+ );
+
+NULL;
+end proc;
+
+################################################################################
+
+#
+# This function prints a C expression to compute the interpolant,
+# using the coefficients computed by print_coeff__lc_of_data()
+# (i.e. expressing the interpolant as a linear combination of the
+# data values).
+#
+# Arguments:
+# posn_list = The same list of positions as was used to compute the
+# interpolating polynomial.
+# result_var_name = The (string) name of the variable to which the
+# result is to be assigned.
+# coeff_name_prefix = A prefix string for the coefficient names.
+# data_var_name_prefix = A prefix string for the data variable names.
+# file_name = The file name to write the coefficients to. This is
+# truncated before writing.
+#
+print_interp_cmpt__lc_of_data :=
+proc(
+ posn_list::list(list(numeric)),
+ result_var_name::string,
+ coeff_name_prefix::string,
+ data_var_name_prefix::string,
+ file_name::string
+ )
+
+ftruncate(file_name);
+fprintf(file_name, "%s =\n", result_var_name);
+
+# list of "coeff*data_var" terms
+map(
+ proc(posn::list(numeric))
+ sprintf("%s*%s",
+ coeff_name(posn,coeff_name_prefix),
+ data_var_name(posn,data_var_name_prefix));
+ end proc
+ ,
+ posn_list
+ );
+
+ListTools[Join](%, "\n\t+ ");
+cat(op(%));
+
+fprintf(file_name, "\t%s;\n", %);
+NULL;
+end proc;
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function computes the name of the coefficient of the data at a
+# given [m] position, i.e. it encapsulates our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the coefficient name.
+#
+# Results:
+# The function returns the coefficient, as a Maple string.
+#
+coeff_name :=
+proc(posn::list(numeric), name_prefix::string)
+cat(name_prefix, sprint_numeric_list(posn));
+end proc;
+
+################################################################################
+
+#
+# This function computes the name of the variable in which the C code
+# will store the input data at a given [m] position, i.e. it encapsulates
+# our naming convention for this.
+#
+# Arguments:
+# posn = (in) The [m] coordinates.
+# name_prefix = A prefix string for the variable name.
+#
+# Results:
+# The function returns the variable name, as a Maple string.
+#
+data_var_name :=
+proc(posn::list(numeric), name_prefix::string)
+cat(name_prefix, sprint_numeric_list(posn));
+end proc;
diff --git a/src/GeneralizedPolynomial-Uniform/make.code.defn b/src/GeneralizedPolynomial-Uniform/make.code.defn
new file mode 100644
index 0000000..7bd90a0
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/make.code.defn
@@ -0,0 +1,21 @@
+# Main make.code.defn file for thorn PUGHInterp
+# $Header$
+
+# Source files in this directory
+SRCS = startup.c \
+ InterpLocalUniform.c molecule_posn.c util.c \
+ 1d.cube.order1.smooth0.c \
+ 1d.cube.order2.smooth0.c \
+ 1d.cube.order3.smooth0.c \
+ 1d.cube.order4.smooth0.c \
+ 1d.cube.order5.smooth0.c \
+ 1d.cube.order6.smooth0.c \
+ 2d.cube.order1.smooth0.c \
+ 2d.cube.order2.smooth0.c \
+ 2d.cube.order3.smooth0.c \
+ 2d.cube.order4.smooth0.c \
+ 3d.cube.order1.smooth0.c \
+ 3d.cube.order2.smooth0.c \
+ 3d.cube.order3.smooth0.c \
+ 3d.cube.order4.smooth0.c \
+ # end of list
diff --git a/src/GeneralizedPolynomial-Uniform/makefile b/src/GeneralizedPolynomial-Uniform/makefile
new file mode 100644
index 0000000..a5a5a6d
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/makefile
@@ -0,0 +1,68 @@
+.PHONY : all
+all : 2d 3d
+
+.PHONY : 1d
+1d :
+ -rm -rf 1d.coeffs
+ mkdir 1d.coeffs
+ cd 1d.coeffs && mkdir 1d.cube.size2
+ cd 1d.coeffs && mkdir 1d.cube.size3
+ cd 1d.coeffs && mkdir 1d.cube.size4
+ cd 1d.coeffs && mkdir 1d.cube.size5
+ cd 1d.coeffs && mkdir 1d.cube.size6
+ cd 1d.coeffs && mkdir 1d.cube.size7
+ cd 1d.coeffs && mkdir 1d.cube.order1.smooth0
+ cd 1d.coeffs && mkdir 1d.cube.order2.smooth0
+ cd 1d.coeffs && mkdir 1d.cube.order3.smooth0
+ cd 1d.coeffs && mkdir 1d.cube.order4.smooth0
+ cd 1d.coeffs && mkdir 1d.cube.order5.smooth0
+ cd 1d.coeffs && mkdir 1d.cube.order6.smooth0
+ cat util.maple interpolate.maple 1d.maple \
+ | maple 2>&1 >1d.log
+
+.PHONY : 2d
+2d :
+ -rm -rf 2d.coeffs
+ mkdir 2d.coeffs
+ cd 2d.coeffs && mkdir 2d.cube.size2
+ cd 2d.coeffs && mkdir 2d.cube.size3
+ cd 2d.coeffs && mkdir 2d.cube.size4
+ cd 2d.coeffs && mkdir 2d.cube.size5
+ cd 2d.coeffs && mkdir 2d.cube.order1.smooth0
+ cd 2d.coeffs && mkdir 2d.cube.order2.smooth0
+ cd 2d.coeffs && mkdir 2d.cube.order3.smooth0
+ cd 2d.coeffs && mkdir 2d.cube.order4.smooth0
+ cat util.maple interpolate.maple 2d.maple \
+ | maple 2>&1 >2d.log
+
+.PHONY : 3d
+3d :
+ -rm -rf 3d.coeffs
+ mkdir 3d.coeffs
+ cd 3d.coeffs && mkdir 3d.cube.size2
+ cd 3d.coeffs && mkdir 3d.cube.size3
+ cd 3d.coeffs && mkdir 3d.cube.size4
+ cd 3d.coeffs && mkdir 3d.cube.size5
+ cd 3d.coeffs && mkdir 3d.cube.order1.smooth0
+ cd 3d.coeffs && mkdir 3d.cube.order2.smooth0
+ cd 3d.coeffs && mkdir 3d.cube.order3.smooth0
+ cd 3d.coeffs && mkdir 3d.cube.order4.smooth0
+ cat util.maple interpolate.maple 3d.maple \
+ | maple 2>&1 >3d.log
+
+########################################
+
+#
+# standalone test programs
+#
+
+# FIXME: this doesn't build properly!
+test_molecule_posn : test_molecule_posn.c molecule_posn.c \
+ InterpLocalUniform.h
+ gcc -g \
+ -Wall -W -Wno-unused -Wshadow -Winline -Wpointer-arith \
+ -Wbad-function-cast -Wcast-align -Wcast-qual \
+ -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \
+ -DLOCALINTERP_STANDALONE_BUILD -o test_molecule_posn \
+ test_molecule_posn.c molecule_posn.c -lm
+
diff --git a/src/GeneralizedPolynomial-Uniform/molecule_posn.c b/src/GeneralizedPolynomial-Uniform/molecule_posn.c
new file mode 100644
index 0000000..182a3e4
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/molecule_posn.c
@@ -0,0 +1,225 @@
+ /*@@
+ @file molecule_posn.c
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc Worker function to compute molecule positions for interpolator.
+ @enddesc
+ @version $Id$
+ @@*/
+
+#include <limits.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+
+#ifndef LOCALINTERP_STANDALONE_BUILD
+ #include "cctk.h"
+#endif
+
+#include "InterpLocalUniform.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+#ifndef LOCALINTERP_STANDALONE_BUILD
+ CCTK_FILEVERSION(CactusBase_LocalInterp_src_GeneralizedPolynomialUniform_molecule_posn_c)
+#endif
+
+/******************************************************************************/
+/******************************************************************************/
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_molecule_posn
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Given a uniformly-spaced grid, this function computes molecule
+ positions for an interpolation or similar operation:
+ (1) It computes the closest grid point to the input coordinate
+ (2) It does the slightly tricky odd/even computation to decide where
+ to center the molecule
+ (3) It checks for the molecule falling off the edge of the grid,
+ and off-centers it as appropriate.
+
+ For (1), we assume that grid points have floating-point
+ coordinates (we refer to these as "x") which are an arbitrary
+ linear function of the integer grid coordinates (we refer to
+ these as "i"), x = grid_origin + i*grid_delta.
+
+ For (2), suppose we have a data array indexed by [i], from which we
+ wish to select an N-point molecule [i_lo, i_hi] centered as close as
+ possible to the point x . The problem is just how to choose the
+ centering. The following diagram illustrates the issues:
+
+ N i_lo i_hi [i-3] [i-2] [i-1] [i] [i+1] [i+2] [i+3] [i+4]
+ - ---- ---- ----- ----- ----- ----- ----- ----- ----- -----
+ 2 i i+1 *xxxxxx*
+ 3 i-1 i+1 * xxx*xxx *
+ 4 i-1 i+2 * *xxxxxx* *
+ 5 i-2 i+2 * * xxx*xxx * *
+ 6 i-2 i+3 * * *xxxxxx* * *
+ 7 i-3 i+3 * * * xxx*xxx * * *
+ 8 i-3 i+4 * * * *xxxxxx* * * *
+
+ The diagram shows the range of x values relative to the grid,
+ for which we'll choose each centering. Thus if N is even, the
+ centering is based on which grid zone contains x (take the floor
+ of the floating-point i coordinate), while if N is odd, the centering
+ is based on which grid point is closest to x (round the floating-
+ -point i coordinate to the nearest integer).
+
+ It's also convenient to introduce the integer molecule coordinate m;
+ this is the integer grid coordinate i relative to that of the molecule
+ center, i.e. the above diagram has columns labelled with [i+m].
+ @enddesc
+
+ @var grid_origin
+ @vdesc The floating-point coordinate x of the grid point i=0.
+ @vtype fp grid_origin
+ @endvar
+
+ @var grid_delta
+ @vdesc The grid spacing (in the floating-point coordinate x).
+ @vtype fp grid_delta
+ @endvar
+
+ @var grid_i_min
+ @vdesc The minimum integer coordinate i of the grid.
+ @vtype int grid_i_min
+ @endvar
+
+ @var grid_i_max
+ @vdesc The maximum integer coordinate i of the grid.
+ @vtype int grid_i_max
+ @endvar
+
+ @var out_of_range_tolerance
+ @vdesc Specifies how out-of-range interpolation points should
+ be handled:
+ If out_of_range_tolerance >= 0.0,
+ then an interpolation point is considered to be
+ "out of range" if and only if the interpolation
+ point is > out_of_range_tolerance * grid_delta
+ outside the grid in any coordinate.
+ If out_of_range_tolerance == -1.0,
+ then an interpolation point is considered to be
+ "out of range" if and only if a centered molecule
+ would require data from outside the grid.
+ Other values of out_of_range_tolerance are illegal.
+ @vtype fp
+ @endvar
+
+ @var molecule_size
+ @vdesc The size (number of points) of the molecule.
+ @vtype int molecule_size
+ @endvar
+
+ @var x
+ @vdesc The floating-point coordinate x at which we would like to center
+ the molecule.
+ @vtype fp x
+ @endvar
+
+ @var x_rel
+ @vdesc A pointer to a floating-point value where this function should
+ store the x coordinate relative to the molecule center, measured
+ in units of the grid spacing; or NULL to skip storing this.
+ @vtype fp *x_rel
+ @vio pointer to out
+ @endvar
+
+ @var molecule_m_min
+ @vdesc A pointer to an int where this function should store the minimum
+ molecule coordinate m of the molecule; or NULL to skip storing this.
+ @vtype int *molecule_m_min
+ @vio pointer to out
+ @endvar
+
+ @var p_molecule_m_max
+ @vdesc A pointer to an int where this function should store the maximum
+ molecule coordinate m of the molecule; or NULL to skip storing this.
+ @vtype int *molecle_m_max
+ @vio pointer to out
+ @endvar
+
+ @returntype int
+ @returndesc
+ This function returns the integer coordinate i_center at which
+ the molecule should be centered, or one of the error codes
+ (from <limits.h>)
+ INT_MIN if x is out-of-range on the min end of the grid
+ (i.e. x < the minimum allowable x)
+ INT_MAX if x is out-of-range on the max end of the grid
+ (i.e. x > the maximum allowable x)
+ @endreturndesc
+ @@*/
+int LocalInterp_molecule_posn(fp grid_origin, fp grid_delta,
+ int grid_i_min, int grid_i_max,
+ fp out_of_range_tolerance,
+ int molecule_size,
+ fp x,
+ fp *x_rel,
+ int *molecule_m_min, int *molecule_m_max)
+{
+/* min/max molecule coordinates */
+const int m_max = (molecule_size >> 1); /* a positive number */
+const int m_min = m_max - molecule_size + 1; /* a negative number */
+
+/* integer coordinate i of point x, as a floating-point number */
+const fp fp_i = (x - grid_origin) / grid_delta;
+
+/* is point x out-of-range? */
+if (out_of_range_tolerance >= 0.0)
+ then {
+ const fp fp_effective_grid_i_min
+ = ((fp) grid_i_min) - out_of_range_tolerance;
+ const fp fp_effective_grid_i_max
+ = ((fp) grid_i_max) + out_of_range_tolerance;
+ if (fp_i < fp_effective_grid_i_min)
+ then return INT_MIN; /*** ERROR RETURN ***/
+ if (fp_i > fp_effective_grid_i_max)
+ then return INT_MAX; /*** ERROR RETURN ***/
+ }
+
+/* integer coordinate i where we will center the molecule */
+/* (see diagram in header comment for explanation) */
+/* ... as a floating-point number */
+ {
+const fp fp_i_center = is_even(molecule_size) ? floor(fp_i) : jt_round(fp_i);
+/* ... as an integer */
+int i_center = (int) fp_i_center;
+
+/* min/max integer coordinates in molecule assuming it's fully centered */
+const int centered_i_min = i_center + m_min;
+const int centered_i_max = i_center + m_max;
+
+/* check if off-centered molecules are forbidden? */
+if (out_of_range_tolerance == -1.0)
+ then {
+ if (centered_i_min < grid_i_min)
+ then return INT_MIN; /*** ERROR RETURN ***/
+ if (centered_i_max > grid_i_max)
+ then return INT_MAX; /*** ERROR RETURN ***/
+ }
+
+/* off-center as needed if we're close to the edge of the grid */
+ {
+int shift = 0;
+if (centered_i_min < grid_i_min)
+ then shift = grid_i_min - centered_i_min; /* a positive number */
+if (centered_i_max > grid_i_max)
+ then shift = grid_i_max - centered_i_max; /* a negative number */
+i_center += shift;
+
+/* store the results */
+if (x_rel != NULL)
+ then *x_rel = fp_i - ((fp) i_center);
+if (molecule_m_min != NULL)
+ then *molecule_m_min = m_min;
+if (molecule_m_max != NULL)
+ then *molecule_m_max = m_max;
+
+return i_center;
+ }
+ }
+}
diff --git a/src/GeneralizedPolynomial-Uniform/startup.c b/src/GeneralizedPolynomial-Uniform/startup.c
new file mode 100644
index 0000000..38453dd
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/startup.c
@@ -0,0 +1,38 @@
+ /*@@
+ @file startup.c
+ @date Thu Feb 21 16:25:35 CET 2002
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Startup routines for LocalInterp/GeneralizedPolynomial-Uniform
+ @enddesc
+ @version $Id$
+ @@*/
+
+#include <stdlib.h>
+
+#include "cctk.h"
+#include "cctk_Interp.h"
+#include "InterpLocalUniform.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(CactusPUGH_LocalInterp_GeneralizedPolynomialUniform_startup_c)
+
+/* prototypes of routines defined in this source file */
+void LocalInterp_GPU_Startup(void);
+
+
+/*@@
+ @routine LocalInterp_GPU_Startup
+ @date Thu Feb 21 16:27:41 CET 2002
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc This is the startup registration routine for
+ the generalized polynomial interpolator.
+ @enddesc
+ @@*/
+void LocalInterp_GPU_Startup(void)
+{
+CCTK_InterpRegisterOpLocalUniform(LocalInterp_InterpLocalUniform,
+ "generalized polynomial interpolation",
+ CCTK_THORNSTRING);
+}
diff --git a/src/GeneralizedPolynomial-Uniform/template.c b/src/GeneralizedPolynomial-Uniform/template.c
new file mode 100644
index 0000000..bcf34e5
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/template.c
@@ -0,0 +1,1150 @@
+/*@@
+ @file template.c
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ This file is a template for generalized interpolation for
+ 1-, 2-, or 3-d molecules. It's used by defining various
+ C preprocessor macros, then #including this file. Each
+ such inclusion defines a single interpolation function,
+ which does generalized interpolation for a single
+ combination of (N_dims, molecule_family, order, smoothing).
+
+ The following header files must be #included before
+ #including this file:
+ <math.h>
+ <limits.h>
+ <stdlib.h>
+ <string.h>
+ <stdio.h>
+ "util_ErrorCodes.h"
+ "cctk.h"
+ "InterpLocalUniform.h"
+
+ The following preprocessor macros must be defined before
+ #including this file (note the macros which are file names
+ must all include the proper quotes for a #include in their
+ expansion, e.g.
+ #define DATA_VAR_DCL_FILE_NAME \
+ "coeffs/2d.cube.size3/data-var.dcl.c"
+ @enddesc
+
+ @var FUNCTION_NAME
+ @vdesc The name of the interpolation function, e.g.
+ #define FUNCTION_NAME LocalInterp_ILA_2d_cube_ord2_sm0
+ @endvar
+
+ @var N_DIMS
+ @vdesc The number of dimensions in which to interpolate, e.g.
+ #define N_DIMS 2
+ The present implementation restricts this to 1, 2,
+ or 3, but this could easily be changed if needed.
+ Note that MAX_N_DIMS (defined in "InterpLocalUniform.c")
+ is a compile-time upper bound for N_DIMS, useful for
+ sizing arrays etc.
+ @endvar
+
+ @var MOLECULE_SIZE
+ @vdesc The diameter of (number of points in) the molecules to be used,
+ e.g.
+ #define MOLECULE_SIZE 3
+ The present implementation takes this to be the same in each
+ dimension, but this could easily be changed if needed.
+ @endvar
+
+ @var HAVE_OP_{I,DX,DY,DXX,DXY,DYY,...}
+ Each of these symbols should be defined or not defined
+ according as if the corresponding derivative operator is
+ to be supported or not supported by this function.
+ @endvar
+
+ @var DATA_VAR_DCL_FILE_NAME
+ @vdesc The name of a file (presumably machine-generated) containing
+ a sequence of one or more C declarations for a molecule-sized
+ set of "data variables", eg (for 2D size-3 molecules)
+ fp data_m1_m1;
+ fp data_0_m1;
+ fp data_p1_m1;
+ fp data_m1_0;
+ fp data_0_0;
+ fp data_p1_0;
+ fp data_m1_p1;
+ fp data_0_p1;
+ fp data_p1_p1;
+ @endvar
+
+ @var COEFF_{I,DX,DY,DXX,DXY,DYY,...}_DCL_FILE_NAME
+ @vdesc Each of these macros should be the name of a file
+ (presumably machine-generated) containing a sequence
+ of one or more C declarations for a molecule-sized set
+ of coefficients for the corresponding derivative operator,
+ eg (for dx with 2D size-3 molecules)
+ fp coeff_dx_m1_m1;
+ fp coeff_dx_0_m1;
+ fp coeff_dx_p1_m1;
+ fp coeff_dx_m1_0;
+ fp coeff_dx_0_0;
+ fp coeff_dx_p1_0;
+ fp coeff_dx_m1_p1;
+ fp coeff_dx_0_p1;
+ fp coeff_dx_p1_p1;
+ @endvar
+
+ @var DATA_VAR_ASSIGN_FILE_NAME
+ @vdesc The name of a file (presumably machine-generated) containing
+ a sequence of C assignment statements to assign DATA(...) to
+ the corresponding data variables for each molecule component,
+ eg (for 2D size-3 molecules)
+ data_m1_m1 = DATA(-1,-1);
+ data_0_m1 = DATA(0,-1);
+ data_p1_m1 = DATA(1,-1);
+ data_m1_0 = DATA(-1,0);
+ data_0_0 = DATA(0,0);
+ data_p1_0 = DATA(1,0);
+ data_m1_p1 = DATA(-1,+1);
+ data_0_p1 = DATA(0,+1);
+ data_p1_p1 = DATA(1,+1);
+ @endvar
+
+ @var INTERP_{I,DX,DY,DXX,DXY,DYY,...}_COMPUTE_FILE_NAME
+ @vdesc Each of these macros should be the name of a file
+ (presumably machine-generated) containing a C assignment
+ statement (or a sequence of such statements) to compute
+ the variable result as the molecule-sized linear combination
+ of the data variables (cf DATA_VAR_{DCL,ASSIGN}_FILE_NAME)
+ and the interpolation coefficients
+ (cf COEFF_{I,DX,DY,DXX,DXY,DYY,...}_COMPUTE_FILE_NAME),
+ eg (for 2D size-3 molecules, dx operator)
+ result =
+ coeff_dx_m1_m1*data_m1_m1
+ + coeff_dx_0_m1*data_0_m1
+ + coeff_dx_p1_m1*data_p1_m1
+ + coeff_dx_p2_m1*data_p2_m1
+ + coeff_dx_m1_0*data_m1_0
+ + coeff_dx_0_0*data_0_0
+ + coeff_dx_p1_0*data_p1_0
+ + coeff_dx_p2_0*data_p2_0
+ + coeff_dx_m1_p1*data_m1_p1
+ + coeff_dx_0_p1*data_0_p1
+ + coeff_dx_p1_p1*data_p1_p1
+ + coeff_dx_p2_p1*data_p2_p1
+ + coeff_dx_m1_p2*data_m1_p2
+ + coeff_dx_0_p2*data_0_p2
+ + coeff_dx_p1_p2*data_p1_p2
+ + coeff_dx_p2_p2*data_p2_p2;
+ Note that this may *NOT* include any variable declarations;
+ it should be valid to appear in the middle of a sequence of
+ C statements.
+ @endvar
+
+ @var COEFF_{I,DX,DY,DXX,DXY,DYY,...}_COMPUTE_FILE_NAME
+ @vdesc Each of these macros should be the name of a file
+ (presumably machine-generated) containing a sequence of C
+ assignment statements to compute all the (molecule-sized
+ set of) interpolation coefficients for the specified
+ derivative operator, as polynomials in the variables
+ (x,y,z), eg (for 2D size-3 molecules, dx operator)
+ fp t35,
+ t42,
+ t41,
+ t40,
+ t39,
+ t36;
+ t35 = RATIONAL(1.0,3.0)*x;
+ t42 = t35+RATIONAL(-1.0,4.0)*y;
+ t41 = t35+RATIONAL(1.0,4.0)*y;
+ t40 = RATIONAL(-1.0,6.0);
+ t39 = RATIONAL(1.0,6.0);
+ t36 = RATIONAL(-2.0,3.0)*x;
+ coeff_dx_m1_m1 = t40+t41;
+ coeff_dx_0_m1 = t36;
+ coeff_dx_p1_m1 = t39+t42;
+ coeff_dx_m1_0 = t40+t35;
+ coeff_dx_0_0 = t36;
+ coeff_dx_p1_0 = t35+t39;
+ coeff_dx_m1_p1 = t40+t42;
+ coeff_dx_0_p1 = t36;
+ coeff_dx_p1_p1 = t39+t41;
+
+ As illustrated, the code may use the macro RATIONAL
+ (defined later in this file) to represent rational-number
+ coefficients, and it may also declare temporary variables
+ as needed.
+
+ Note that these are the only coefficients which depend
+ on the actual interpolation scheme used; all the others
+ just depend on the interpolation dimension and molecule
+ family and size.
+ @endvar
+
+ @version $Id$
+@@*/
+
+/******************************************************************************/
+
+/*@@
+ @routine FUNCTION_NAME
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ This function does generalized interpolation of one or more
+ 2d arrays to arbitrary points. For details, see the header
+ comments for InterpLocalUniform() (in "InterpLocalUniform.c"
+ in this same directory).
+
+ This function's arguments are all a subset of those of
+ InterpLocalUniform() ; the only difference is that this function
+ takes all its arguments explicitly, whereas InputLocalArrays()
+ takes some of them indirectly via a key/value parameter table.
+
+ @returntype int
+ @returndesc This function's return result is the same as that of
+ InterpLocalUniform():
+ 0 success
+ UTIL_ERROR_BAD_INPUT one of the input arguments is invalid
+ UTIL_ERROR_NO_MEMORY unable to malloc() temporary memory
+ CCTK_ERROR_INTERP_POINT_X_RANGE
+ interpolation point is out of range
+ @endreturndesc
+
+ @@*/
+int FUNCTION_NAME(/***** coordinate system *****/
+ const CCTK_REAL coord_system_origin[],
+ const CCTK_REAL grid_spacing[],
+ /***** interpolation points *****/
+ int N_interp_points,
+ int interp_coords_type_code,
+ const void *const interp_coords[],
+ const CCTK_REAL out_of_range_tolerance[],
+ /***** input arrays *****/
+ int N_input_arrays,
+ const CCTK_INT input_array_offsets[],
+ const CCTK_INT input_array_strides[],
+ const CCTK_INT input_array_min_subscripts[],
+ const CCTK_INT input_array_max_subscripts[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ /***** output arrays *****/
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[],
+ /***** operation info */
+ const CCTK_INT operand_indices[],
+ const CCTK_INT operation_codes[],
+ /***** error-reporting *****/
+ int* error_pt, int* error_axis, int* error_end)
+{
+/*
+ * Implementation notes:
+ *
+ * The basic outline of this function is as follows:
+ *
+ * compute "which derivatives are wanted" flags
+ * precompute 1/dx factors
+ * for each interpolation point
+ * {
+ * declare all the coefficients
+ * declare all the data-values variables
+ * ***fetch*** interpolation point coordinates
+ * compute coefficients for all derivatives which are wanted
+ * for each output array
+ * {
+ * ***decode*** the input/output array datatypes
+ * to determine whether they're real or complex
+ * (they must both be the same in this regard),
+ * and define
+ * int N_parts = data is complex ? 2 : 1;
+ * int part;
+ * for (part = 0 ; part < N_parts ; ++part)
+ * {
+ * if (this output array is computed
+ * using a different input array
+ * than the previous one || part != 0)
+ * then ***fetch*** the input array values
+ * into local "data" variables
+ * {
+ * fp result;
+ * switch (operation_code)
+ * {
+ * case 0:
+ * result = compute the interpolant
+ * itself as a linear combination
+ * of data variables & op=0 coeffs
+ * break;
+ * case 1:
+ * result = compute the interpolant
+ * itself as a linear combination
+ * of data variables & op=1 coeffs
+ * result *= inverse_dx;
+ * break;
+ * case ...
+ * }
+ * ***store*** result in output array
+ * }
+ * }
+ * }
+ * }
+ *
+ * Here "***decode***", "***fetch***", and "***store***" are all
+ * actually switches on the various array datatypes. For complex
+ * datatypes "***fetch***" and "***store***" pointer-alias offset the
+ * N-dimensional input array to a 2-dimensional array where the 1st axis
+ * is the 1-D subscript corresponding to the N input axes, and the 2nd
+ * axes has 2 elements subscripted by [part] for the (real,imaginary)
+ * components of the complex values.
+ *
+ * At present we do all floating-point computations in type "fp"
+ * (typically a typedef for CCTK_REAL), so arrays of higher precision
+ * than this will incur extra rounding errors. In practice these should
+ * be negligible compared to the "truncation" interpolation errors.
+ */
+
+/*
+ * Naming conventions:
+ * in, out = 0-origin indices each selecting an input/output array
+ * pt = 0-origin index selecting an interpolation point
+ */
+
+/* number of real "parts" in a complex number */
+#define COMPLEX_N_PARTS 2
+
+/* layout of axes in N_dims-element arrays */
+#define X_AXIS 0
+#define Y_AXIS 1
+#define Z_AXIS 2
+#if (N_DIMS > 3)
+ #error "N_DIMS may not be > 3!"
+#endif
+
+/* input array size, strides, and subscripting computation */
+#if (N_DIMS >= 1)
+ const int stride_i = input_array_strides[X_AXIS];
+#endif
+#if (N_DIMS >= 2)
+ const int stride_j = input_array_strides[Y_AXIS];
+#endif
+#if (N_DIMS >= 3)
+ const int stride_k = input_array_strides[Z_AXIS];
+#endif
+
+#if (N_DIMS == 1)
+ #define SUB1(i) (i*stride_i)
+#elif (N_DIMS == 2)
+ #define SUB2(i,j) (i*stride_i + j*stride_j)
+#elif (N_DIMS == 3)
+ #define SUB3(i,j,k) (i*stride_i + j*stride_j + k*stride_k)
+#else
+ #error "N_DIMS must be 1, 2, or 3!"
+#endif
+
+/* macros used by machine-generated interpolation coefficient expressions */
+/*
+ * FIXME: right now this is used as (eg) RATIONAL(1.0,2.0);
+ * it might be cleaner if it were RATIONAL(1,2) with the
+ * preprocessor ## operator used to glue on the .0
+ * (I _think_ this is portable, but is it really??)
+ */
+#define RATIONAL(num,den) (num/den)
+
+
+/*
+ * compute flags specifying which derivatives are wanted
+ */
+#ifdef HAVE_OP_I
+ bool want_I = false;
+#endif
+#ifdef HAVE_OP_DX
+ bool want_dx = false;
+#endif
+#ifdef HAVE_OP_DY
+ bool want_dy = false;
+#endif
+#ifdef HAVE_OP_DZ
+ bool want_dz = false;
+#endif
+#ifdef HAVE_OP_DXX
+ bool want_dxx = false;
+#endif
+#ifdef HAVE_OP_DXY
+ bool want_dxy = false;
+#endif
+#ifdef HAVE_OP_DXZ
+ bool want_dxz = false;
+#endif
+#ifdef HAVE_OP_DYY
+ bool want_dyy = false;
+#endif
+#ifdef HAVE_OP_DYZ
+ bool want_dyz = false;
+#endif
+#ifdef HAVE_OP_DZZ
+ bool want_dzz = false;
+#endif
+ {
+int out;
+ for (out = 0 ; out < N_output_arrays ; ++out)
+ {
+ switch (operation_codes[out])
+ {
+ #ifdef HAVE_OP_I
+ case 0: want_I = true; break;
+ #endif
+ #ifdef HAVE_OP_DX
+ case 1: want_dx = true; break;
+ #endif
+ #ifdef HAVE_OP_DY
+ case 2: want_dy = true; break;
+ #endif
+ #ifdef HAVE_OP_DZ
+ case 3: want_dz = true; break;
+ #endif
+ #ifdef HAVE_OP_DXX
+ case 11: want_dxx = true; break;
+ #endif
+ #ifdef HAVE_OP_DXY
+ case 12:
+ case 21: want_dxy = true; break;
+ #endif
+ #ifdef HAVE_OP_DXZ
+ case 13:
+ case 31: want_dxz = true; break;
+ #endif
+ #ifdef HAVE_OP_DYY
+ case 22: want_dyy = true; break;
+ #endif
+ #ifdef HAVE_OP_DYZ
+ case 23:
+ case 32: want_dyz = true; break;
+ #endif
+ #ifdef HAVE_OP_DZZ
+ case 33: want_dzz = true; break;
+ #endif
+ default:
+CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Generalized interpolation operation_code %d not supported!",
+ operation_codes[out]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+ }
+
+/*
+ * save origin/delta variables, precompute 1/delta factors
+ * ... in theory we could only compute those factors we're going to use,
+ * but it's not worth the trouble, so we just compute them all
+ */
+ {
+#if N_DIMS >= 1
+ const fp origin_x = coord_system_origin[X_AXIS];
+ const fp delta_x = grid_spacing[X_AXIS];
+ #if defined(HAVE_OP_DX) || defined(HAVE_OP_DXY) || defined(HAVE_OP_DXZ)
+ const fp inverse_delta_x = 1.0 / delta_x;
+ #endif
+ #ifdef HAVE_OP_DXX
+ const fp inverse_delta_x2 = 1.0 / (delta_x*delta_x);
+ #endif
+#endif
+#if N_DIMS >= 2
+ const fp origin_y = coord_system_origin[Y_AXIS];
+ const fp delta_y = grid_spacing[Y_AXIS];
+ #if defined(HAVE_OP_DY) || defined(HAVE_OP_DXY) || defined(HAVE_OP_DYZ)
+ const fp inverse_delta_y = 1.0 / delta_y;
+ #endif
+ #ifdef HAVE_OP_DYY
+ const fp inverse_delta_y2 = 1.0 / (delta_y*delta_y);
+ #endif
+#endif
+#if N_DIMS >= 3
+ const fp origin_z = coord_system_origin[Z_AXIS];
+ const fp delta_z = grid_spacing[Z_AXIS];
+ #if defined(HAVE_OP_DZ) || defined(HAVE_OP_DXZ) || defined(HAVE_OP_DYZ)
+ const fp inverse_delta_z = 1.0 / delta_z;
+ #endif
+ #ifdef HAVE_OP_DZZ
+ const fp inverse_delta_z2 = 1.0 / (delta_z*delta_z);
+ #endif
+#endif
+
+/*
+ * interpolate at each point
+ */
+ {
+int pt;
+ for (pt = 0 ; pt < N_interp_points ; ++pt)
+ {
+ /* declare all the data-values variables */
+ #include DATA_VAR_DCL_FILE_NAME
+
+ /* declare all the interpolation coefficients */
+ #ifdef HAVE_OP_I
+ #include COEFF_I_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DX
+ #include COEFF_DX_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DY
+ #include COEFF_DY_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DZ
+ #include COEFF_DZ_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DXX
+ #include COEFF_DXX_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DXY
+ #include COEFF_DXY_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DXZ
+ #include COEFF_DXZ_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DYY
+ #include COEFF_DYY_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DYZ
+ #include COEFF_DYZ_DCL_FILE_NAME
+ #endif
+ #ifdef HAVE_OP_DZZ
+ #include COEFF_DZZ_DCL_FILE_NAME
+ #endif
+
+
+ /*
+ * ***fetch*** interpolation point coordinates
+ */
+ fp interp_coords_fp[N_DIMS];
+ int axis;
+ for (axis = 0 ; axis < N_DIMS ; ++axis)
+ {
+ /* pointer to array of interp coords for this axis */
+ const void *const interp_coords_ptr = interp_coords[axis];
+
+ switch (interp_coords_type_code)
+ {
+
+ case CCTK_VARIABLE_REAL:
+ {
+ const CCTK_REAL *const interp_coords_ptr_real
+ = (const CCTK_REAL *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real[pt];
+ break;
+ }
+
+ #ifdef HAVE_CCTK_REAL4
+ case CCTK_VARIABLE_REAL4:
+ {
+ const CCTK_REAL4 *const interp_coords_ptr_real4
+ = (const CCTK_REAL4 *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real4[pt];
+ break;
+ }
+ #endif
+
+ #ifdef HAVE_CCTK_REAL8
+ case CCTK_VARIABLE_REAL8:
+ {
+ const CCTK_REAL8 *const interp_coords_ptr_real8
+ = (const CCTK_REAL8 *) interp_coords_ptr;
+ interp_coords_fp[axis] = interp_coords_ptr_real8[pt];
+ break;
+ }
+ #endif
+
+ #ifdef HAVE_CCTK_REAL16
+ case CCTK_VARIABLE_REAL16:
+ {
+ /* FIXME: maybe we should warn (once per cactus run) */
+ /* that we may be doing arithmetic in lower */
+ /* precision than the interp coords? */
+ const CCTK_REAL16 *const interp_coords_ptr_real16
+ = (const CCTK_REAL16 *) interp_coords_ptr;
+ interp_coords_fp[axis]
+ = interp_coords_ptr_real16[pt];
+ break;
+ }
+ #endif
+
+ default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "interp-coords datatype %d not supported!",
+ interp_coords_type_code);
+ /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ /* end of switch (interp_coords_type_code) */
+ }
+
+ /* end of for (axis = ...) loop */
+ }
+
+
+ /*
+ * locate interpolation molecules with respect to the grid, i.e.
+ * compute (x,y,z) = coordinates of interpolation point
+ * relative to molecule center, in units of the grid spacing
+ *
+ * n.b. we need the final answers in variables with the magic
+ * names (x,y,z) (machine-generated code uses these names),
+ * but we use temp variables as intermediates for (likely)
+ * better performance: the temp variables have their addresses
+ * taken and so may not be register-allocated, whereas the
+ * final (x,y,z) are "clean" and thus more likely to be
+ * register-allocated
+ */
+ {
+ #if (N_DIMS >= 1)
+ fp x_temp;
+ const int center_i
+ = LocalInterp_molecule_posn(origin_x, delta_x,
+ input_array_min_subscripts[X_AXIS],
+ input_array_max_subscripts[X_AXIS],
+ out_of_range_tolerance[X_AXIS],
+ MOLECULE_SIZE,
+ interp_coords_fp[X_AXIS],
+ &x_temp,
+ (int *) NULL, (int *) NULL);
+ const fp x = x_temp;
+ #endif
+ #if (N_DIMS >= 2)
+ fp y_temp;
+ const int center_j
+ = LocalInterp_molecule_posn(origin_y, delta_y,
+ input_array_min_subscripts[Y_AXIS],
+ input_array_max_subscripts[Y_AXIS],
+ out_of_range_tolerance[Y_AXIS],
+ MOLECULE_SIZE,
+ interp_coords_fp[Y_AXIS],
+ &y_temp,
+ (int *) NULL, (int *) NULL);
+ const fp y = y_temp;
+ #endif
+ #if (N_DIMS >= 3)
+ fp z_temp;
+ const int center_k
+ = LocalInterp_molecule_posn(origin_z, delta_z,
+ input_array_min_subscripts[Z_AXIS],
+ input_array_max_subscripts[Z_AXIS],
+ out_of_range_tolerance[Z_AXIS],
+ MOLECULE_SIZE,
+ interp_coords_fp[Z_AXIS],
+ &z_temp,
+ (int *) NULL, (int *) NULL);
+ const fp z = z_temp;
+ #endif
+
+ /* is the interpolation point out-of-range? */
+ #if (N_DIMS >= 1)
+ if ((center_i == INT_MIN) || (center_i == INT_MAX))
+ then {
+ *error_pt = pt;
+ *error_axis = X_AXIS;
+ *error_end = (center_i == INT_MIN) ? -1 : +1;
+ return CCTK_ERROR_INTERP_POINT_X_RANGE; /*** ERROR RETURN ***/
+ }
+ #endif
+ #if (N_DIMS >= 2)
+ if ((center_j == INT_MIN) || (center_j == INT_MAX))
+ then {
+ *error_pt = pt;
+ *error_axis = Y_AXIS;
+ *error_end = (center_j == INT_MIN) ? -1 : +1;
+ return CCTK_ERROR_INTERP_POINT_X_RANGE; /*** ERROR RETURN ***/
+ }
+ #endif
+ #if (N_DIMS >= 3)
+ if ((center_k == INT_MIN) || (center_k == INT_MAX))
+ then {
+ *error_pt = pt;
+ *error_axis = Z_AXIS;
+ *error_end = (center_k == INT_MIN) ? -1 : +1;
+ return CCTK_ERROR_INTERP_POINT_X_RANGE; /*** ERROR RETURN ***/
+ }
+ #endif
+
+ /* 1D subscript of molecule center in input arrays */
+ /* (this is used in DATA data-fetching macros below) */
+ {
+ #if (N_DIMS == 1)
+ const int center_sub = SUB1(center_i);
+ #elif (N_DIMS == 2)
+ const int center_sub = SUB2(center_i, center_j);
+ #elif (N_DIMS == 3)
+ const int center_sub = SUB3(center_i, center_j, center_k);
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+
+
+ /*
+ * compute the coefficients for whichever derivatives are wanted
+ * using machine-generated coefficient expressions
+ * (these are polynomials in the variables (x,y,z))
+ */
+ #ifdef HAVE_OP_I
+ if (want_I)
+ then {
+ #include COEFF_I_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DX
+ if (want_dx)
+ then {
+ #include COEFF_DX_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DY
+ if (want_dy)
+ then {
+ #include COEFF_DY_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DZ
+ if (want_dz)
+ then {
+ #include COEFF_DZ_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DXX
+ if (want_dxx)
+ then {
+ #include COEFF_DXX_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DXY
+ if (want_dxy)
+ then {
+ #include COEFF_DXY_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DXZ
+ if (want_dxz)
+ then {
+ #include COEFF_DXZ_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DYY
+ if (want_dyy)
+ then {
+ #include COEFF_DYY_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DYZ
+ if (want_dyz)
+ then {
+ #include COEFF_DYZ_COMPUTE_FILE_NAME
+ }
+ #endif
+ #ifdef HAVE_OP_DZZ
+ if (want_dzz)
+ then {
+ #include COEFF_DZZ_COMPUTE_FILE_NAME
+ }
+ #endif
+
+
+ /*
+ * compute each output array at this point
+ */
+ {
+ int out;
+ const void *input_array_ptr = NULL;
+ for (out = 0 ; out < N_output_arrays ; ++out)
+ {
+ const int in = operand_indices[out];
+ const int input_offset = input_array_offsets[in];
+ const int sub_temp = input_offset + center_sub;
+
+ /*
+ * ***decode*** the input/output array datatypes
+ * to determine whether they're real or complex,
+ * and verify that they're both the same in this regard
+ * ==> define
+ * const int N_parts = data is complex ? 2 : 1;
+ */
+ const int N_input_parts
+ = LocalInterp_decode_N_parts(input_array_type_codes[in]);
+ const int N_output_parts
+ = LocalInterp_decode_N_parts(output_array_type_codes[out]);
+ if (N_input_parts != N_output_parts)
+ then {
+CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "\n"
+ " can't do real input --> complex output\n"
+ " or complex input --> real output interpolation!\n"
+ " (0-origin) input #%d datatype = %d, output #%d datatype = %d\n"
+ ,
+ in, (int) input_array_type_codes[in],
+ out, (int) output_array_type_codes[out]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+
+ {
+ const int N_parts = N_input_parts;
+ int part;
+ for (part = 0 ; part < N_parts ; ++part)
+ {
+ if ( (input_arrays[in] != input_array_ptr)
+ || (part != 0) )
+ then {
+ /*
+ * ***fetch*** the input array values
+ * into local variables
+ */
+ input_array_ptr = input_arrays[in];
+ switch (input_array_type_codes[in])
+ {
+
+case CCTK_VARIABLE_REAL:
+ {
+ const CCTK_REAL *const input_array_ptr_real
+ = (const CCTK_REAL *) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_real[sub_temp + SUB1(i)]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_real[sub_temp + SUB2(i,j)]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_real[sub_temp + SUB3(i,j,k)]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+
+#ifdef HAVE_CCTK_REAL4
+case CCTK_VARIABLE_REAL4:
+ {
+ const CCTK_REAL4 *const input_array_ptr_real4
+ = (const CCTK_REAL4 *) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_real4[sub_temp + SUB1(i)]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_real4[sub_temp + SUB2(i,j)]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_real4[sub_temp + SUB3(i,j,k)]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_REAL4 */
+
+#ifdef HAVE_CCTK_REAL8
+case CCTK_VARIABLE_REAL8:
+ {
+ const CCTK_REAL8 *const input_array_ptr_real8
+ = (const CCTK_REAL8 *) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_real8[sub_temp + SUB1(i)]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_real8[sub_temp + SUB2(i,j)]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_real8[sub_temp + SUB3(i,j,k)]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_REAL8 */
+
+#ifdef HAVE_CCTK_REAL16
+case CCTK_VARIABLE_REAL16:
+ {
+ /* FIXME: maybe we should warn (once per cactus run) that we may be */
+ /* doing arithmetic in lower precision than the data type? */
+ const CCTK_REAL16 *const input_array_ptr_real16
+ = (const CCTK_REAL16 *) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_real16[sub_temp + SUB1(i)]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_real16[sub_temp + SUB2(i,j)]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_real16[sub_temp + SUB3(i,j,k)]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_REAL16 */
+
+case CCTK_VARIABLE_COMPLEX:
+ {
+ const CCTK_REAL (*const input_array_ptr_complex)[COMPLEX_N_PARTS]
+ = (const CCTK_REAL (*)[COMPLEX_N_PARTS]) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_complex[sub_temp + SUB1(i)][part]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_complex[sub_temp + SUB2(i,j)][part]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_complex[sub_temp + SUB3(i,j,k)][part]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+
+#ifdef HAVE_CCTK_COMPLEX8
+case CCTK_VARIABLE_COMPLEX8:
+ {
+ const CCTK_REAL4 (*const input_array_ptr_complex8)[COMPLEX_N_PARTS]
+ = (const CCTK_REAL4 (*)[COMPLEX_N_PARTS]) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_complex8[sub_temp + SUB1(i)][part]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_complex8[sub_temp + SUB2(i,j)][part]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_complex8[sub_temp + SUB3(i,j,k)][part]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX8 */
+
+#ifdef HAVE_CCTK_COMPLEX16
+case CCTK_VARIABLE_COMPLEX16:
+ {
+ const CCTK_REAL8 (*const input_array_ptr_complex16)[COMPLEX_N_PARTS]
+ = (const CCTK_REAL8 (*)[COMPLEX_N_PARTS]) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_complex16[sub_temp + SUB1(i)][part]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_complex16[sub_temp + SUB2(i,j)][part]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_complex16[sub_temp + SUB3(i,j,k)][part]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX16 */
+
+#ifdef HAVE_CCTK_COMPLEX32
+case CCTK_VARIABLE_COMPLEX32:
+ {
+ const CCTK_REAL16 (*const input_array_ptr_complex32)[COMPLEX_N_PARTS]
+ = (const CCTK_REAL16 (*)[COMPLEX_N_PARTS]) input_array_ptr;
+ #undef DATA
+ #if (N_DIMS == 1)
+ #define DATA(i) input_array_ptr_complex32[sub_temp + SUB1(i)][part]
+ #elif (N_DIMS == 2)
+ #define DATA(i,j) input_array_ptr_complex32[sub_temp + SUB2(i,j)][part]
+ #elif (N_DIMS == 3)
+ #define DATA(i,j,k) input_array_ptr_complex32[sub_temp + SUB3(i,j,k)][part]
+ #else
+ #error "N_DIMS must be 1, 2, or 3!"
+ #endif
+ #include DATA_VAR_ASSIGN_FILE_NAME
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX32 */
+
+default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "input datatype %d not supported!",
+ input_array_type_codes[in]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ }
+ }
+
+ /*
+ * compute the interpolant itself
+ * as a linear combination of the data variables
+ */
+ {
+ fp result;
+ switch (operation_codes[out])
+ {
+ #ifdef HAVE_OP_I
+ case 0:
+ #include INTERP_I_COMPUTE_FILE_NAME
+ break;
+ #endif
+ #ifdef HAVE_OP_DX
+ case 1:
+ #include INTERP_DX_COMPUTE_FILE_NAME
+ result *= inverse_delta_x;
+ break;
+ #endif
+ #ifdef HAVE_OP_DY
+ case 2:
+ #include INTERP_DY_COMPUTE_FILE_NAME
+ result *= inverse_delta_y;
+ break;
+ #endif
+ #ifdef HAVE_OP_DZ
+ case 3:
+ #include INTERP_DZ_COMPUTE_FILE_NAME
+ result *= inverse_delta_z;
+ break;
+ #endif
+ #ifdef HAVE_OP_DXX
+ case 11:
+ #include INTERP_DXX_COMPUTE_FILE_NAME
+ result *= inverse_delta_x2;
+ break;
+ #endif
+ #ifdef HAVE_OP_DXY
+ case 12:
+ case 21:
+ #include INTERP_DXY_COMPUTE_FILE_NAME
+ result *= inverse_delta_x * inverse_delta_y;
+ break;
+ #endif
+ #ifdef HAVE_OP_DXZ
+ case 13:
+ case 31:
+ #include INTERP_DXZ_COMPUTE_FILE_NAME
+ result *= inverse_delta_x * inverse_delta_z;
+ break;
+ #endif
+ #ifdef HAVE_OP_DYY
+ case 22:
+ #include INTERP_DYY_COMPUTE_FILE_NAME
+ result *= inverse_delta_y2;
+ break;
+ #endif
+ #ifdef HAVE_OP_DYZ
+ case 23:
+ case 32:
+ #include INTERP_DYZ_COMPUTE_FILE_NAME
+ result *= inverse_delta_y * inverse_delta_z;
+ break;
+ #endif
+ #ifdef HAVE_OP_DZZ
+ case 33:
+ #include INTERP_DZZ_COMPUTE_FILE_NAME
+ result *= inverse_delta_z2;
+ break;
+ #endif
+ default:
+CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Generalized interpolation operation_code %d not supported!",
+ operation_codes[out]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT;
+ /*** ERROR RETURN ***/
+ /* end of switch (operation_codes[out]) */
+ }
+
+
+ /*
+ * ***store*** the result in the output array
+ */
+ switch (output_array_type_codes[out])
+ {
+
+case CCTK_VARIABLE_REAL:
+ {
+ CCTK_REAL *const output_array_ptr_real
+ = (CCTK_REAL *) output_arrays[out];
+ output_array_ptr_real[pt] = result;
+ break;
+ }
+
+#ifdef HAVE_CCTK_REAL4
+case CCTK_VARIABLE_REAL4:
+ {
+ CCTK_REAL4 *const output_array_ptr_real4
+ = (CCTK_REAL4 *) output_arrays[out];
+ output_array_ptr_real4[pt] = result;
+ break;
+ }
+#endif
+
+#ifdef HAVE_CCTK_REAL8
+case CCTK_VARIABLE_REAL8:
+ {
+ CCTK_REAL8 *const output_array_ptr_real8
+ = (CCTK_REAL8 *) output_arrays[out];
+ output_array_ptr_real8[pt] = result;
+ break;
+ }
+#endif
+
+#ifdef HAVE_CCTK_REAL16
+case CCTK_VARIABLE_REAL16:
+ {
+ CCTK_REAL16 *const output_array_ptr_real16
+ = (CCTK_REAL16 *) output_arrays[out];
+ output_array_ptr_real16[pt] = result;
+ break;
+ }
+#endif
+
+case CCTK_VARIABLE_COMPLEX:
+ {
+ CCTK_COMPLEX *const output_array_ptr_complex
+ = (CCTK_COMPLEX *) output_arrays[out];
+ ((CCTK_REAL *) & output_array_ptr_complex[pt]) [part]
+ = result;
+ break;
+ }
+
+#ifdef HAVE_CCTK_COMPLEX8
+case CCTK_VARIABLE_COMPLEX8:
+ {
+ CCTK_COMPLEX8 *const output_array_ptr_complex8
+ = (CCTK_COMPLEX8 *) output_arrays[out];
+ ((CCTK_REAL4 *) & output_array_ptr_complex8[pt]) [part]
+ = result;
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX8 */
+
+#ifdef HAVE_CCTK_COMPLEX16
+case CCTK_VARIABLE_COMPLEX16:
+ {
+ CCTK_COMPLEX16 *const output_array_ptr_complex16
+ = (CCTK_COMPLEX16 *) output_arrays[out];
+ ((CCTK_REAL8 *) & output_array_ptr_complex16[pt]) [part]
+ = result;
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX16 */
+
+#ifdef HAVE_CCTK_COMPLEX32
+case CCTK_VARIABLE_COMPLEX32:
+ {
+ CCTK_COMPLEX32 *const output_array_ptr_complex32
+ = (CCTK_COMPLEX32 *) output_arrays[out];
+ ((CCTK_REAL16 *) & output_array_ptr_complex32[pt]) [part]
+ = result;
+ break;
+ }
+#endif /* HAVE_CCTK_COMPLEX32 */
+
+default:
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "output datatype %d not supported",
+ output_array_type_codes[out]); /*NOTREACHED*/
+ return UTIL_ERROR_BAD_INPUT; /*** ERROR RETURN ***/
+ /* end of switch (output type code) */
+ }
+ }
+ /* end of for (part = ...) loop */
+ }
+ }
+ /* end of for (out = ...) loop */
+ }
+ }
+ }
+ }
+
+ /* end of for (pt = ...) loop */
+ }
+
+return 0; /*** NORMAL RETURN ***/
+ }
+ }
+}
diff --git a/src/GeneralizedPolynomial-Uniform/template.h b/src/GeneralizedPolynomial-Uniform/template.h
new file mode 100644
index 0000000..891b997
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/template.h
@@ -0,0 +1,32 @@
+/*@@
+ @file template.h
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @desc prototype for template function in "template.c"
+ @enddesc
+ @@*/
+int FUNCTION_NAME(/***** coordinate system *****/
+ const CCTK_REAL coord_system_origin[],
+ const CCTK_REAL grid_spacing[],
+ /***** interpolation points *****/
+ int N_interp_points,
+ int interp_coords_type_code,
+ const void *const interp_coords[],
+ const CCTK_REAL out_of_range_tolerance[],
+ /***** input arrays *****/
+ int N_input_arrays,
+ const CCTK_INT input_array_offsets[],
+ const CCTK_INT input_array_strides[],
+ const CCTK_INT input_array_min_subscripts[],
+ const CCTK_INT input_array_max_subscripts[],
+ const CCTK_INT input_array_type_codes[],
+ const void *const input_arrays[],
+ /***** output arrays *****/
+ int N_output_arrays,
+ const CCTK_INT output_array_type_codes[],
+ void *const output_arrays[],
+ /***** operation info */
+ const CCTK_INT operand_indices[],
+ const CCTK_INT operation_codes[],
+ /***** error-reporting *****/
+ int* error_pt, int* error_axis, int* error_end);
diff --git a/src/GeneralizedPolynomial-Uniform/test_molecule_posn.c b/src/GeneralizedPolynomial-Uniform/test_molecule_posn.c
new file mode 100644
index 0000000..fd0b5bc
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/test_molecule_posn.c
@@ -0,0 +1,302 @@
+/* test_molecule_posn -- test driver for LocalInterp_molecule_posn() */
+
+/*
+ * This program is a test driver for LocalInterp_molecule_posn() .
+ *
+ * Usage:
+ * test_molecule_posn # run a preset set of tests
+ * test_molecule_posn molecule_size x # do a single test as specified
+ */
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+
+#ifndef LOCALINTERP_STANDALONE_BUILD
+ #include "cctk.h"
+#endif
+
+#include "InterpLocalUniform.h"
+
+#define fuzzy_EQ(x,y) (fabs(x-y) <= 1.0e-10)
+
+/* prototypes */
+void run_interactive_test(fp out_of_range_tolerance, int molecule_size, fp x);
+int run_batch_tests(void);
+
+/* hard-wired arguments for LocalInterp_molecule_posn() */
+const fp grid_x0 = 3.1;
+const fp grid_dx = 0.1;
+const int grid_i_min = 42; /* x_min = 7.3 */
+const int grid_i_max = 105; /* x_max = 13.6 */
+
+/******************************************************************************/
+
+/*
+ * test data for batch tests
+ */
+
+/* arguments/results structure for LocalInterp_molecule_posn() calls */
+struct args_results
+ {
+ /* args */
+ fp out_of_range_tolerance;
+ int molecule_size;
+ fp x;
+ /* results */
+ int i_center;
+ fp x_rel;
+ int m_min, m_max;
+ };
+
+/* test data */
+static const struct args_results test_data[] =
+ {
+ /* molecule size 2 */
+ { 1.0, 2, 7.19, INT_MIN, -1.1, 0,+1 },
+ { 1.0, 2, 7.21, 42, -0.9, 0,+1 },
+ { 1.0, 2, 7.24, 42, -0.6, 0,+1 },
+ { 1.0, 2, 7.26, 42, -0.4, 0,+1 },
+ { 1.0, 2, 7.29, 42, -0.1, 0,+1 },
+ {-1.0, 2, 7.29, INT_MIN, -0.1, 0,+1 },
+ { 1.0e-12, 2, 7.3, 42, 0.0, 0,+1 }, /* x == grid_x_min */
+ { 1.0e-12, 2, 7.31, 42, +0.1, 0,+1 },
+ {-1.0 , 2, 7.31, 42, +0.1, 0,+1 },
+ { 1.0e-12, 2, 7.35, 42, +0.5, 0,+1 },
+ { 1.0e-12, 2, 7.39, 42, +0.9, 0,+1 },
+ { 1.0e-12, 2, 7.41, 43, 0.1, 0,+1 },
+ { 1.0e-12, 2, 9.81, 67, +0.1, 0,+1 },
+ { 1.0e-12, 2, 9.85, 67, +0.5, 0,+1 },
+ { 1.0e-12, 2, 9.89, 67, +0.9, 0,+1 },
+ { 1.0e-12, 2, 13.45, 103, +0.5, 0,+1 },
+ { 1.0e-12, 2, 13.51, 104, +0.1, 0,+1 },
+ { 1.0e-12, 2, 13.55, 104, +0.5, 0,+1 },
+ { 1.0e-12, 2, 13.59, 104, +0.9, 0,+1 },
+ {-1.0, 2, 13.59, 104, +0.9, 0,+1 },
+ { 1.0e-12, 2, 13.6, 104, +1.0, 0,+1 }, /* x == grid_x_max */
+ { 1.0, 2, 13.61, 104, +1.1, 0,+1 },
+ {-1.0, 2, 13.61, INT_MAX, +1.1, 0,+1 },
+ { 1.0, 2, 13.65, 104, +1.5, 0,+1 },
+ { 1.0, 2, 13.69, 104, +1.9, 0,+1 },
+ { 1.0, 2, 13.71, INT_MAX, +2.1, 0,+1 },
+ /* molecule size 3 */
+ { 1.0, 3, 7.19, INT_MIN, -2.1, -1,+1 },
+ { 1.0, 3, 7.21, 43, -1.9, -1,+1 },
+ { 1.0, 3, 7.24, 43, -1.6, -1,+1 },
+ { 1.0, 3, 7.26, 43, -1.4, -1,+1 },
+ { 1.0, 3, 7.29, 43, -1.1, -1,+1 },
+ {-1.0, 3, 7.29, INT_MIN, -1.1, -1,+1 },
+ { 1.0e-12, 3, 7.3, 43, -1.0, -1,+1 }, /* x == grid_x_min */
+ { 1.0e-12, 3, 7.31, 43, -0.9, -1,+1 },
+ { 1.0e-12, 3, 7.34, 43, -0.6, -1,+1 },
+ {-1.0, 3, 7.34, INT_MIN, -0.6, -1,+1 },
+ { 1.0e-12, 3, 7.36, 43, -0.4, -1,+1 },
+ {-1.0, 3, 7.36, 43, -0.4, -1,+1 },
+ { 1.0e-12, 3, 7.39, 43, -0.1, -1,+1 },
+ { 1.0e-12, 3, 7.4, 43, 0.0, -1,+1 },
+ { 1.0e-12, 3, 7.44, 43, +0.4, -1,+1 },
+ { 1.0e-12, 3, 7.46, 44, -0.4, -1,+1 },
+ { 1.0e-12, 3, 9.8, 67, 0.0, -1,+1 },
+ { 1.0e-12, 3, 9.81, 67, +0.1, -1,+1 },
+ { 1.0e-12, 3, 9.84, 67, +0.4, -1,+1 },
+ { 1.0e-12, 3, 9.86, 68, -0.4, -1,+1 },
+ { 1.0e-12, 3, 9.89, 68, -0.1, -1,+1 },
+ { 1.0e-12, 3, 9.9, 68, 0.0, -1,+1 },
+ { 1.0e-12, 3, 13.44, 103, +0.4, -1,+1 },
+ { 1.0e-12, 3, 13.46, 104, -0.4, -1,+1 },
+ { 1.0e-12, 3, 13.5, 104, 0.0, -1,+1 },
+ { 1.0e-12, 3, 13.51, 104, +0.1, -1,+1 },
+ { 1.0e-12, 3, 13.54, 104, +0.4, -1,+1 },
+ {-1.0, 3, 13.54, 104, +0.4, -1,+1 },
+ { 1.0e-12, 3, 13.56, 104, +0.6, -1,+1 },
+ {-1.0, 3, 13.56, INT_MAX, +0.6, -1,+1 },
+ { 1.0e-12, 3, 13.59, 104, +0.9, -1,+1 },
+ { 1.0e-12, 3, 13.6, 104, +1.0, -1,+1 }, /* x == grid_x_max */
+ { 1.0, 3, 13.61, 104, +1.1, -1,+1 },
+ { 1.0, 3, 13.65, 104, +1.5, -1,+1 },
+ { 1.0, 3, 13.69, 104, +1.9, -1,+1 },
+ { 1.0, 3, 13.71, INT_MAX, +2.1, -1,+1 },
+ /* molecule size 4 */
+ { 0.2, 4, 7.27, INT_MIN, -1.3, -1,+2 },
+ { 0.2, 4, 7.29, 43, -1.1, -1,+2 },
+ { 1.0e-12, 4, 7.3, 43, -1.0, -1,+2 }, /* x == grid_x_min */
+ { 1.0e-12, 4, 7.33, 43, -0.7, -1,+2 },
+ { 1.0e-12, 4, 7.39, 43, -0.1, -1,+2 },
+ {-1.0, 4, 7.39, INT_MIN, -0.1, -1,+2 },
+ { 1.0e-12, 4, 7.4, 43, 0.0, -1,+2 },
+ {-1.0, 4, 7.41, 43, +0.1, -1,+2 },
+ { 1.0e-12, 4, 7.42, 43, +0.2, -1,+2 },
+ { 1.0e-12, 4, 7.48, 43, +0.8, -1,+2 },
+ { 1.0e-12, 4, 7.51, 44, +0.1, -1,+2 },
+ { 1.0e-12, 4, 9.81, 67, +0.1, -1,+2 },
+ { 1.0e-12, 4, 9.85, 67, +0.5, -1,+2 },
+ { 1.0e-12, 4, 9.89, 67, +0.9, -1,+2 },
+ { 1.0e-12, 4, 13.39, 102, +0.9, -1,+2 },
+ { 1.0e-12, 4, 13.41, 103, +0.1, -1,+2 },
+ { 1.0e-12, 4, 13.48, 103, +0.8, -1,+2 },
+ {-1.0, 4, 13.48, 103, +0.8, -1,+2 },
+ { 1.0e-12, 4, 13.5, 103, +1.0, -1,+2 },
+ { 1.0e-12, 4, 13.51, 103, +1.1, -1,+2 },
+ {-1.0, 4, 13.51, INT_MAX, +1.1, -1,+2 },
+ { 1.0e-12, 4, 13.55, 103, +1.5, -1,+2 },
+ { 1.0e-12, 4, 13.59, 103, +1.9, -1,+2 },
+ { 1.0e-12, 4, 13.6, 103, +2.0, -1,+2 }, /* x == grid_x_max */
+ { 2.0, 4, 13.79, 103, +3.9, -1,+2 },
+ { 2.0, 4, 13.81, INT_MAX, +4.1, -1,+2 },
+ /* molecule size 5 */
+ { 3.0, 5, 6.99, INT_MIN, -5.1, -2,+2 },
+ { 3.0, 5, 7.01, 44, -4.9, -2,+2 },
+ { 1.0e-12, 5, 7.3, 44, -2.0, -2,+2 }, /* x == grid_x_min */
+ { 1.0e-12, 5, 7.4, 44, -1.0, -2,+2 },
+ { 1.0e-12, 5, 7.44, 44, -0.6, -2,+2 },
+ {-1.0, 5, 7.44, INT_MIN, -0.6, -2,+2 },
+ { 1.0e-12, 5, 7.46, 44, -0.4, -2,+2 },
+ {-1.0, 5, 7.46, 44, -0.4, -2,+2 },
+ { 1.0e-12, 5, 7.49, 44, -0.1, -2,+2 },
+ { 1.0e-12, 5, 7.5, 44, 0.0, -2,+2 },
+ { 1.0e-12, 5, 7.54, 44, +0.4, -2,+2 },
+ { 1.0e-12, 5, 7.56, 45, -0.4, -2,+2 },
+ { 1.0e-12, 5, 7.6, 45, 0.0, -2,+2 },
+ { 1.0e-12, 5, 7.64, 45, +0.4, -2,+2 },
+ { 1.0e-12, 5, 9.8, 67, 0.0, -2,+2 },
+ { 1.0e-12, 5, 9.81, 67, +0.1, -2,+2 },
+ { 1.0e-12, 5, 9.84, 67, +0.4, -2,+2 },
+ { 1.0e-12, 5, 9.86, 68, -0.4, -2,+2 },
+ { 1.0e-12, 5, 9.89, 68, -0.1, -2,+2 },
+ { 1.0e-12, 5, 9.9, 68, 0.0, -2,+2 },
+ { 1.0e-12, 5, 13.34, 102, +0.4, -2,+2 },
+ { 1.0e-12, 5, 13.36, 103, -0.4, -2,+2 },
+ { 1.0e-12, 5, 13.39, 103, -0.1, -2,+2 },
+ { 1.0e-12, 5, 13.41, 103, +0.1, -2,+2 },
+ { 1.0e-12, 5, 13.44, 103, +0.4, -2,+2 },
+ {-1.0, 5, 13.44, 103, +0.4, -2,+2 },
+ { 1.0e-12, 5, 13.46, 103, +0.6, -2,+2 },
+ {-1.0, 5, 13.46, INT_MAX, +0.6, -2,+2 },
+ { 1.0e-12, 5, 13.48, 103, +0.8, -2,+2 },
+ { 1.0e-12, 5, 13.5, 103, +1.0, -2,+2 },
+ { 1.0e-12, 5, 13.51, 103, +1.1, -2,+2 },
+ { 1.0e-12, 5, 13.54, 103, +1.4, -2,+2 },
+ {-1.0, 5, 13.54, INT_MAX, +1.4, -2,+2 },
+ { 1.0e-12, 5, 13.56, 103, +1.6, -2,+2 },
+ {-1.0, 5, 13.56, INT_MAX, +1.6, -2,+2 },
+ { 1.0e-12, 5, 13.59, 103, +1.9, -2,+2 },
+ { 1.0e-12, 5, 13.6, 103, +2.0, -2,+2 }, /* x == grid_x_max */
+ { 1.5, 5, 13.74, 103, +3.4, -2,+2 },
+ { 1.5, 5, 13.76, INT_MAX, +3.6, -2,+2 },
+ };
+#define N_TESTS ((int) (sizeof(test_data)/sizeof(test_data[0])))
+
+
+/******************************************************************************/
+
+int main(int argc, const char *const argv[])
+{
+bool N_fail;
+fp out_of_range_tolerance;
+int molecule_size;
+fp x;
+
+switch (argc)
+ {
+case 1:
+ /* run batch tests */
+ N_fail = run_batch_tests();
+ if (N_fail == 0)
+ then {
+ printf("*** all tests successful ***\n");
+ return 0;
+ }
+ else {
+ printf("*** %d test(s) failed ***\n", N_fail);
+ return 1;
+ }
+
+case 4:
+ if ( (sscanf(argv[1], "%lf", &out_of_range_tolerance) == 1)
+ && (sscanf(argv[2], "%d", &molecule_size) == 1)
+ && (sscanf(argv[3], "%lf", &x) == 1) )
+ then {
+ run_interactive_test(out_of_range_tolerance, molecule_size, x);
+ return 0;
+ }
+ /* fall through */
+default:
+ fprintf(stderr,
+ "usage:\n"
+ "# run a single test as specified:\n"
+ " %s out_of_range_tolerance molecule_size x\n"
+ "# run a preset set of tests:\n"
+ " %s\n"
+ ,
+ argv[0], argv[0]);
+ return 1;
+ }
+}
+
+/******************************************************************************/
+
+/* run a single test as specified */
+void run_interactive_test(fp out_of_range_tolerance, int molecule_size, fp x)
+{
+fp x_rel;
+int m_min, m_max;
+
+int i_center = LocalInterp_molecule_posn(grid_x0, grid_dx,
+ grid_i_min, grid_i_max,
+ out_of_range_tolerance,
+ molecule_size,
+ x,
+ &x_rel,
+ &m_min, &m_max);
+
+if ((i_center == INT_MIN) || (i_center == INT_MAX))
+ then printf("i_center=%d\n", i_center);
+ else printf("i_center=%d x_rel=%g m_[min,max]=[%d,%d] i_[min,max]=[%d,%d]\n",
+ i_center, x_rel, m_min, m_max, i_center+m_min, i_center+m_max);
+}
+
+/******************************************************************************/
+
+/* run a preset set of tests, return number of failures */
+int run_batch_tests(void)
+{
+int i;
+int failure_count = 0;
+
+ for (i = 0 ; i < N_TESTS ; ++i)
+ {
+ const struct args_results *p = & test_data[i];
+ fp x_rel = 0.0;
+ int m_min = 0, m_max = 0;
+ int i_center = LocalInterp_molecule_posn(grid_x0, grid_dx,
+ grid_i_min, grid_i_max,
+ p->out_of_range_tolerance,
+ p->molecule_size,
+ p->x,
+ &x_rel,
+ &m_min, &m_max);
+ bool ok = ((i_center == INT_MIN) || (i_center == INT_MAX))
+ ? (i_center == p->i_center)
+ : ( (i_center == p->i_center)
+ && fuzzy_EQ(x_rel, p->x_rel)
+ && (m_min == p->m_min)
+ && (m_max == p->m_max) );
+ int msglen = printf("tol=%g size=%d x=%g ==> ",
+ p->out_of_range_tolerance, p->molecule_size, p->x);
+ printf("i_center=%d x_rel=%g m_[min,max]=[%d,%d]\n",
+ i_center, x_rel, m_min, m_max);
+ if (! ok)
+ then {
+ ++failure_count;
+ {
+ int error_msglen = printf("***** FAIL: ");
+ printf("%-*s", msglen-error_msglen, "expected");
+ printf("i_center=%d x_rel=%g m_[min,max]=[%d,%d]\n",
+ p->i_center, p->x_rel, p->m_min, p->m_max);
+ }
+ }
+ }
+
+return failure_count;
+}
diff --git a/src/GeneralizedPolynomial-Uniform/util.c b/src/GeneralizedPolynomial-Uniform/util.c
new file mode 100644
index 0000000..443fa1b
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/util.c
@@ -0,0 +1,109 @@
+ /*@@
+ @file util.c
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Utility routines for generalized interpolation.
+
+ This file contains various utility routines for the interpolator.
+ @enddesc
+ @version $Id$
+ @@*/
+
+#include <limits.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+
+#ifndef LOCALINTERP_STANDALONE_BUILD
+ #include "cctk.h"
+#endif
+
+#include "InterpLocalUniform.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+#ifndef LOCALINTERP_STANDALONE_BUILD
+ CCTK_FILEVERSION(CactusBase_LocalInterp_src_GeneralizedPolynomialUniform_util_c)
+#endif
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_zero_int_array
+ @date 23 Oct 2001
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc This function sets a CCTK_INT array to all zeros.
+ @enddesc
+
+ @var N
+ @vdesc The number of elements in the array.
+ @vtype CCTK_INT N
+ @endvar
+
+ @var array
+ @vdesc (A pointer to) the array
+ @vtype CCTK_INT array[]
+ @vio out
+ @endvar
+ @@*/
+void LocalInterp_zero_int_array(int N, CCTK_INT array[])
+{
+int i;
+
+ for (i = 0 ; i < N ; ++i)
+ {
+ array[i] = 0;
+ }
+}
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_decode_N_parts
+ @date 22 Jan 2002
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc This function decodes a CCTK_VARIABLE_* variable type code
+ (cctk_Constants.h) to determine whether the type is real
+ or complex.
+ @enddesc
+
+ @var type_code
+ @vdesc The type code to be decoded
+ @vtype int
+ @endvar
+
+ @returntype int
+ @returndesc This function returns
+ 1 if the data type represents a real number of some sort
+ (includes integers)
+ 2 if the data type represents a complex number
+ 0 if the data type doesn't represent a number,
+ eg strings and pointers
+ -1 if the data type is invalid
+ @endreturndesc
+ @@*/
+int LocalInterp_decode_N_parts(int type_code)
+{
+switch (type_code)
+ {
+case CCTK_VARIABLE_VOID: return 0;
+case CCTK_VARIABLE_BYTE: return 1;
+case CCTK_VARIABLE_INT: return 1;
+case CCTK_VARIABLE_INT2: return 1;
+case CCTK_VARIABLE_INT4: return 1;
+case CCTK_VARIABLE_INT8: return 1;
+case CCTK_VARIABLE_REAL: return 1;
+case CCTK_VARIABLE_REAL4: return 1;
+case CCTK_VARIABLE_REAL8: return 1;
+case CCTK_VARIABLE_REAL16: return 1;
+case CCTK_VARIABLE_COMPLEX: return 2;
+case CCTK_VARIABLE_COMPLEX8: return 2;
+case CCTK_VARIABLE_COMPLEX16: return 2;
+case CCTK_VARIABLE_COMPLEX32: return 2;
+case CCTK_VARIABLE_STRING: return 0;
+case CCTK_VARIABLE_POINTER: return 0;
+case CCTK_VARIABLE_FN_POINTER: return 0;
+default: return -1;
+ }
+}
diff --git a/src/GeneralizedPolynomial-Uniform/util.maple b/src/GeneralizedPolynomial-Uniform/util.maple
new file mode 100644
index 0000000..4598c0c
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/util.maple
@@ -0,0 +1,377 @@
+# util.maple -- misc utility routines
+# $Id$
+
+#
+# C_str - codegen[C](), but returning its result as a Maple string
+# fix_rationals - convert numbers to RATIONAL() calls
+# nonmatching_names - find names in a list which *don't* have a specified prefix
+# sprint_numeric_list - convert a numeric list to a valid C identifier suffix
+# print_name_list_dcl - print a C declaration for a list of names
+#
+# hypercube_points - compute all (integer) points in an N-dimensional hypercube
+#
+# ftruncate - truncate a file to zero length
+#
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function is a wrapper around codegen[C]() which returns the
+# genenerated code explictly as a Maple string.
+#
+# Arguments:
+# expr = (in) The expression for which code is to be generated.
+# ... = (in) Any further arguments are taken as options to be passed
+# to codegen[C]()
+#
+# Results:
+# The function returns a maple string of C code.
+#
+C_str :=
+proc(expr::algebraic)
+local tempname, str, temp;
+
+# name of temp file
+# FIXME: should use process number to ensure uniqueness
+tempname := "/tmp/C_str.tmp.c";
+
+# truncate temp file to zero length
+fopen(tempname, WRITE);
+fclose(tempname);
+
+# generate the code
+codegen[C](args, filename=tempname);
+
+# read the code back in
+str := "";
+ while true
+ do
+ temp := readline(tempname);
+ if (temp = 0)
+ then break;
+ end if;
+ str := cat(str, temp);
+ end do;
+fclose(tempname);
+
+# strip off the leading " t0 = "
+return op(2,sscanf(str, "%s = %[^;];"));
+end proc;
+
+################################################################################
+
+#
+# This function converts all {integer, rational} subexpressions of its
+# input except integer exponents and -1 factors in products, into function
+# calls
+# RATIONAL(num,den)
+# This is useful in conjunction with the C() library function, since
+#
+# C( (1/3) * foo * bar )
+# t0 = foo*bar/3;
+#
+# generates a (slow) division (and runs the risk of mixed-mode-arithmetic
+# problems), while
+#
+# C((1.0/3.0) * foo * bar);
+# t0 = 0.3333333333*foo*bar;
+#
+# suffers from roundoff error. With this function,
+#
+# fix_rationals((1/3) * foo * bar);
+# RATIONAL(1,3) foo bar
+# C(%);
+# t0 = RATIONAL(1.0,3.0)*foo*bar;
+#
+# which a C preprocessor macro can easily convert to the desired
+#
+# t0 = (1.0/3.0)*foo*bar;
+#
+# Additionally, this function can be told to leave certain types of
+# subexpressions unconverged. For example,
+# fix_rationals(expr, type, specfunc(integer, DATA));
+# will leave all subexpressions of the form DATA(integer arguments)
+# unconverted.
+#
+# Arguments:
+# expr = (in) The expression to be converted.
+# inert_fn = (optional in)
+# If specified, this argument should be a Boolean procedure
+# or the name of a Boolean procedure. This procedure should
+# take one or more argument, and return true if and only if
+# the first argument should *not* be converted, i.e. if we
+# should leave this expression unchanged. See the last
+# example above.
+# ... = (optional in)
+# Any further arguments are passed as additional arguments to
+# the inert_fn procedure.
+#
+fix_rationals :=
+proc(
+ expr::{
+ algebraic, name = algebraic,
+ list({algebraic, name = algebraic}),
+ set ({algebraic, name = algebraic})
+ },
+ inert_fn::{name, procedure}
+ )
+local nn, k,
+ base, power, fbase, fpower,
+ fn, fn_args_list,
+ num, den, mult;
+
+# do we want to convert this expression?
+if ((nargs >= 2) and inert_fn(expr, args[3..nargs]))
+ then return expr;
+end if;
+
+# recurse over lists and sets
+if (type(expr, {list,set}))
+ then return map(fix_rationals, expr, args[2..nargs]);
+end if;
+
+# recurse over equation right hand sides
+if (type(expr, name = algebraic))
+ then return ( lhs(expr) = fix_rationals(rhs(expr), args[2..nargs]) );
+end if;
+
+# recurse over functions other than RATIONAL()
+if (type(expr, function))
+ then
+ fn := op(0, expr);
+ if (fn <> 'RATIONAL')
+ then
+ fn_args_list := [op(expr)];
+ fn_args_list := map(fix_rationals, fn_args_list, args[2..nargs]);
+ fn; return '%'( op(fn_args_list) );
+ end if;
+end if;
+
+nn := nops(expr);
+
+# recurse over sums
+if (type(expr, `+`))
+ then return sum('fix_rationals(op(k,expr), args[2..nargs])', 'k'=1..nn);
+end if;
+
+# recurse over products
+# ... leaving leading -1 factors intact, i.e. not converted to RATIONAL(-1,1)
+if (type(expr, `*`))
+ then
+ if (op(1, expr) = -1)
+ then return -1*fix_rationals(remove(type, expr, 'identical(-1)'),
+ args[2..nargs]);
+ else return product('fix_rationals(op(k,expr), args[2..nargs])',
+ 'k'=1..nn);
+ end if;
+end if;
+
+# recurse over powers
+# ... leaving integer exponents intact
+if (type(expr, `^`))
+ then
+ base := op(1, expr);
+ power := op(2, expr);
+
+ fbase := fix_rationals(base, args[2..nargs]);
+ if (type(power, integer))
+ then fpower := power;
+ else fpower := fix_rationals(power, args[2..nargs]);
+ end if;
+ return fbase ^ fpower;
+end if;
+
+# fix integers and fractions
+if (type(expr, integer))
+ then return 'RATIONAL'(expr, 1);
+end if;
+if (type(expr, fraction))
+ then
+ num := op(1, expr);
+ den := op(2, expr);
+
+ return 'RATIONAL'(num, den);
+end if;
+
+# turn Maple floating-point into integer fraction, then recursively fix that
+if (type(expr, float))
+ then
+ mult := op(1, expr);
+ power := op(2, expr);
+ return fix_rationals(mult * 10^power, args[2..nargs]);
+end if;
+
+# identity op on names
+if (type(expr, name))
+ then return expr;
+end if;
+
+# unknown type
+error "%0",
+ "unknown type for expr!",
+ " whattype(expr) = ", whattype(expr),
+ " expr = ", expr;
+end proc;
+
+################################################################################
+
+#
+# This function finds names in a list which *don't* have a specified prefix.
+#
+# Arguments:
+# name_list = A list of the names.
+# prefix = The prefix we want to filter out.
+#
+# Results:
+# This function returns the subset list of names which don't have the
+# specified prefix.
+#
+nonmatching_names :=
+proc( name_list::list({name,string}), prefix::{name,string} )
+
+select( proc(n)
+ evalb(not StringTools[IsPrefix](prefix,n));
+ end proc
+ ,
+ name_list
+ );
+end proc;
+
+################################################################################
+
+#
+# This function converts a numeric list to a string which is a valid
+# C identifier suffix: elements are separated by "_", decimal points are
+# replaced by "x", and all nonzero values have explicit +/- signs, which
+# are replaced by "p"/"m".
+#
+# For example, [0,-3.5,+4] --> "0_m3x5_p4".
+#
+sprint_numeric_list :=
+proc(nlist::list(numeric))
+
+# generate preliminary string, eg "+0_-3.5_+4"
+map2(sprintf, "%+a", nlist);
+ListTools[Join](%, "_");
+cat(op(%));
+
+# fixup bad characters
+StringTools[SubstituteAll](%, "+0", "0");
+StringTools[CharacterMap](".+-", "xpm", %);
+
+return %;
+end proc;
+
+################################################################################
+
+#
+# This function prints a C declaration for a list of names.
+#
+# Argument:
+# name_list = A list of the names.
+# name_type = The C type of the names, eg. "double".
+# file_name = The file name to write the declaration to. This is
+# truncated before writing.
+#
+print_name_list_dcl :=
+proc( name_list::list({name,string}),
+ name_type::string,
+ file_name::string )
+local blanks, separator_string;
+
+ftruncate(file_name);
+
+# a sequence of blanks with the same length as name_type
+seq(" ", i=1..length(name_type));
+
+# string to separate names
+separator_string := cat(",\n", %, " ");
+
+map(convert, name_list, string);
+ListTools[Join](%, separator_string);
+cat(op(%));
+
+fprintf(file_name,
+ "%s %s;\n",
+ name_type, %);
+NULL;
+end proc;
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function computes a list of all the (integer) points in an
+# N-dimensional hypercube, in lexicographic order. The present
+# implementation requires N <= 4.
+#
+# Arguments:
+# cmin,cmax = N-element lists of cube minimum/maximum coordinates.
+#
+# Results:
+# The function returns a set of d-element lists giving the coordinates.
+# For example,
+# hypercube([0,0], [2,1]
+# returns
+# { [0,0], [0,1], [1,0], [1,1], [2,0], [2,1] }
+hypercube_points :=
+proc(cmin::list(integer), cmax::list(integer))
+local N, i,j,k,l;
+
+N := nops(cmin);
+if (nops(cmax) <> N)
+ then error
+ "must have same number of dimensions for min and max coordinates!";
+fi;
+
+if (N = 1)
+ then return [seq([i], i=cmin[1]..cmax[1])];
+elif (N = 2)
+ then return [
+ seq(
+ seq([i,j], j=cmin[2]..cmax[2]),
+ i=cmin[1]..cmax[1])
+ ];
+elif (N = 3)
+ then return [
+ seq(
+ seq(
+ seq([i,j,k], k=cmin[3]..cmax[3]),
+ j=cmin[2]..cmax[2] ),
+ i=cmin[1]..cmax[1])
+ ];
+elif (N = 4)
+ then return [
+ seq(
+ seq(
+ seq(
+ seq([i,j,k,l], l=cmin[4]..cmax[4]),
+ k=cmin[3]..cmax[3] ),
+ j=cmin[2]..cmax[2]),
+ i=cmin[1]..cmax[1])
+ ];
+else
+ error "implementation restriction: must have N <= 4, got %1!", N;
+fi;
+end proc;
+
+################################################################################
+################################################################################
+################################################################################
+
+#
+# This function truncates a file to 0 length if it exists, or creates
+# it at that length if it doesn't exist.
+#
+# Arguments:
+# file_name = (in) The name of the file.
+#
+ftruncate :=
+proc(file_name::string)
+fopen(file_name, 'WRITE');
+fclose(%);
+NULL;
+end proc;
diff --git a/src/UniformCartesian/Interpolate.c b/src/UniformCartesian/Interpolate.c
new file mode 100644
index 0000000..95b44ce
--- /dev/null
+++ b/src/UniformCartesian/Interpolate.c
@@ -0,0 +1,586 @@
+/*@@
+ @file Interpolate.c
+ @date Wed 17 Jan 2001
+ @author Thomas Radke
+ @desc
+ Interpolation of arrays to arbitrary points
+
+ This interpolator is based on the Cactus 3.x Fortran version
+ written by Paul Walker. It also contains some nice optimization
+ features from Erik Schnetter. Jonathan Thornburg added some
+ additional comments in October 2001.
+ @enddesc
+
+ @history
+ @date Wed 17 Jan 2001
+ @author Thomas Radke
+ @hdesc Translation from Fortran to C
+ @date Thu 18 Oct 2001
+ @author Jonathan Thornburg
+ @hdesc Add lots of comments, LOCALINTERP_VERBOSE_DEBUG debugging code
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @hdesc Move all local-interpolation code from LocalInterp to here
+ @endhistory
+
+ @version $Header$
+ @@*/
+
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "Interpolate.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(CactusBase_LocalInterp_UniformCartesian_Interpolate_c)
+
+#ifdef LOCALINTERP_VERBOSE_DEBUG
+ /* if this is >= 0, we print verbose debugging information at this point */
+ int LocalInterp_verbose_debug_n = -1;
+#endif
+
+/* the highest order of interpolation we support so far */
+#define MAXORDER 3
+
+/* the highest dimension for variables we can deal with (so far) */
+#define MAXDIM 3
+
+/******************************************************************************/
+
+/*@@
+ @routine INTERPOLATE (macro)
+ @date 18 Oct 2001
+ @author code by ???, these comments by Jonathan Thornburg
+ @desc
+ This macro does the interpolation of in_array[] to compute
+ a single value out_array[n] (actually out_array[n]subpart ;
+ see the comments below for details). The data to be interpolated
+ must be real numbers of some type, i.e. if the arrays are
+ complex this macro must be called separately for the real
+ and imaginary parts.
+ @enddesc
+
+ @var cctk_type
+ @vdesc C type of input and output array elements (might be complex)
+ @endvar
+
+ @var cctk_subtype
+ @vdesc C type of actual numbers being interpolated (must be real)
+ @endvar
+
+ @var subpart
+ @vdesc string to be suffixed to input/output array element to get
+ to get real number, i.e. empty string if cctk_type is real,
+ .Re or .Im as appropriate if cctk_type is complex
+ @endvar
+
+ @var in_array
+ @vdesc A pointer to array to be interpolated (strictly speaking, to
+ the array's [0][0]...[0] element); this is typically passed
+ as a void * pointer so we typecast it as necessary.
+ @endvar
+
+ @var out_array
+ @vdesc A 1-dimensional array where the interpolation result should be
+ stored; this is typically passed as a void * pointer so we
+ typecast it as necessary.
+ @endvar
+
+ @var order
+ @vdesc The order of the interpolation (1=linear, 2=quadratic, 3=cubic, ...)
+ @endvar
+
+ @var point
+ @vdesc [MAXDIM] array of integers giving the integer grid coordinates
+ of the closest grid point to the interpolation point; the
+ interpolation molecule/stencil is centered at this point.
+ @endvar
+
+ @var dims
+ @vdesc [MAXDIM] array of integers giving the dimensions of in_array .
+ @endvar
+
+ @var n
+ @vdesc Position in out_array where we should store the interpolation
+ result.
+ @endvar
+
+ @var coeff
+ @vdesc [MAXDIM][MAX_ORDER+1] array of (floating-point) interpolation
+ coefficients; detailed semantics are that coeff[axis][m] is the
+ coefficient of y[m] when the 1-dimensional Lagrange interpolation
+ polynomial passing through the order+1 points
+ {(0,y[0]), (1,y[1]), ..., (order,y[order])}
+ is evaluated at the position x=offset[axis].
+ @endvar
+ @@*/
+/*
+ * The basic idea here is that conceptually we first interpolate the
+ * (say) 3D gridfn in the x direction at each y and z grid point,
+ * then interpolate that 2D plane of values in the y direction at
+ * each z grid point, and finally interpolate that 1D line of values
+ * in the z direction. The implementation actually interleaves the
+ * different directions' interpolations so that only 3 scalar temporaries
+ * are needed.
+ */
+#define INTERPOLATE(cctk_type, cctk_subtype, subpart, in_array, out_array, \
+ order, point, dims, n, coeff) \
+ { \
+ int ii, jj, kk; \
+ const cctk_type *fi; \
+ /* for some reason (probably loop unrolling & pipelining) the compiler \
+ produces faster code if arrays are used instead of scalars */ \
+ cctk_subtype interp_result, fj[1], fk[1]; \
+ \
+ \
+ interp_result = 0; \
+ \
+ /* NOTE-MAXDIM: support >3D arrays by adding more loops */ \
+ for (kk = 0; kk <= order; kk++) \
+ { \
+ fk[0] = 0; \
+ for (jj = 0; jj <= order; jj++) \
+ { \
+ /* NOTE-MAXDIM: for >3D arrays adapt the index calculation here */ \
+ fi = (const cctk_type *) in_array + \
+ point[0] + dims[0]*(point[1]+jj + dims[1]*(point[2]+kk)); \
+ \
+ fj[0] = 0; \
+ for (ii = 0; ii <= order; ii++) \
+ { \
+ fj[0] += fi[ii]subpart * coeff[0][ii]; \
+ } \
+ /* at this point we have just computed */ \
+ /* fj[0] = in_array[*][jj][kk] interpolated to x=offset[0] */ \
+ \
+ fk[0] += fj[0] * coeff[1][jj]; \
+ } \
+ /* at this point we have just computed */ \
+ /* fk[0] = fj[0][*][kk] interpolated to y=offset[1] */ \
+ /* = in_array[*][*][kk] interpolated to */ \
+ /* x=offset[0], y=offset[1] */ \
+ \
+ interp_result += fk[0] * coeff[2][kk]; \
+ } \
+ /* at this point we have just computed */ \
+ /* interp_result = fk[0][*] interpolated to z=offset[2] */ \
+ /* = in_array[*][*][*] interpolated to */ \
+ /* x=offset[0], y=offset[1], z=offset[2] */ \
+ \
+ /* assign the result */ \
+ ((cctk_type *) out_array)[n]subpart = interp_result; \
+ } /* end of macro */
+
+/* this is needed by some preprocessors to pass into INTERPOLATE
+ as a dummy macro */
+#define NOTHING
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_Interpolate
+ @date Wed 17 Jan 2001
+ @author Thomas Radke
+ @desc
+ This routine interpolates a set of input arrays
+ to a set of output arrays (one-to-one) at arbitrary points
+ which are given by their coordinates and the underlying
+ regular, uniform grid.
+
+ Current limitations of this implementation are:
+ - arrays up to three (MAXDIM) dimensions only can be handled
+ - interpolation orders up to three (MAXORDER) only are supported
+ - coordinates must be given as CCTK_REAL types
+ - input and output array types must be the same
+ (no type casting of interpolation results supported)
+
+ Despite of these limitations, the code was programmed almost
+ generically in that it can easily be extended to support
+ higher-dimensional arrays or more interpolation orders.
+ Places where the code would need to be changed to do this,
+ are marked with NOTE-MAXDIM and/or NOTE-MAXORDER comments
+ as appropriate.
+ @enddesc
+
+ @var num_points
+ @vdesc number of points to interpolate at
+ @vtype int
+ @vio in
+ @endvar
+ @var num_dims
+ @vdesc dimensionality of the input arrays
+ @vtype int
+ @vio in
+ @endvar
+ @var num_arrays
+ @vdesc number of input/output arrays
+ @vtype int
+ @vio in
+ @endvar
+ @var dims
+ @vdesc dimensions of the input arrays
+ @vtype int[ num_dims ]
+ @vio in
+ @endvar
+ @var coord
+ @vdesc coordinates to interpolate at
+ @vtype CCTK_REAL coord[ num_dims * num_points ]
+ @vio in
+ @endvar
+ @var origin
+ @vdesc origin of the underlying grid
+ @vtype CCTK_REAL origin[ num_dims ]
+ @vio in
+ @endvar
+ @var delta
+ @vdesc deltas of the underlying grid
+ @vtype CCTK_REAL delta[ num_dims ]
+ @vio in
+ @endvar
+ @var in_types
+ @vdesc CCTK variable types of input arrays
+ @vtype int in_types[ num_arrays ]
+ @vio in
+ @endvar
+ @var in_arrays
+ @vdesc list of input arrays
+ @vtype void *in_arrays[ num_arrays ]
+ @vio in
+ @endvar
+ @var out_types
+ @vdesc CCTK variable types of output arrays
+ @vtype int out_types[ num_arrays ]
+ @vio in
+ @endvar
+ @var out_arrays
+ @vdesc list of output arrays
+ @vtype void *out_arrays[ num_arrays ]
+ @vio out
+ @endvar
+
+ @returntype int
+ @returndesc
+ 0 - successful interpolation
+ -1 - in case of any errors
+ @endreturndesc
+ @@*/
+int LocalInterp_Interpolate (int order,
+ int num_points,
+ int num_dims,
+ int num_arrays,
+ const int dims[],
+ const CCTK_REAL coord[],
+ const CCTK_REAL origin[],
+ const CCTK_REAL delta[],
+ const int in_types[],
+ const void *const in_arrays[],
+ const int out_types[],
+ void *const out_arrays[])
+{
+ int retval;
+ int i, a, n, out_of_bounds, shift;
+ int max_dims[MAXDIM], point[MAXDIM];
+ CCTK_REAL below[MAXDIM];
+ CCTK_REAL offset[MAXDIM];
+ CCTK_REAL coeff[MAXDIM][MAXORDER + 1];
+
+ /* verify parameters and check against our restrictions */
+ retval = -1;
+ if (num_dims < 1)
+ {
+ CCTK_WARN (1, "Number of dimensions must be positive");
+ }
+ else if (num_dims > MAXDIM)
+ {
+ CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Interpolation of %d-dimensional arrays not implemented",
+ num_dims);
+ }
+ else if (order < 1)
+ {
+ CCTK_WARN (1, "Inperpolation order must be positive");
+ }
+ else if (order > MAXORDER)
+ {
+ CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Interpolation order %d not implemented", order);
+ }
+ else if (num_points < 0)
+ {
+ CCTK_WARN (1, "Negative number of points given");
+ }
+ else
+ {
+ retval = 0;
+ }
+
+ /* immediately return in case of errors */
+ if (retval)
+ {
+ return (retval);
+ }
+
+ /* also immediately return if there's nothing to do */
+ if (num_points == 0)
+ {
+ return (retval);
+ }
+
+ /* duplicate the dims[] vector into one with MAXDIM-1 elements
+ (with the remaining elements zeroed out)
+ so that we can use nested loops over MAXDIM dimensions later on */
+ memset (max_dims, 0, sizeof (max_dims));
+ memcpy (max_dims, dims, (num_dims - 1) * sizeof (int));
+
+ /* zero out the coefficients and set the elements with index 'order' to one
+ so that we can use nested loops over MAXDIM dimensions later on */
+ memset (coeff, 0, sizeof (coeff));
+ for (i = num_dims; i < MAXDIM; i++)
+ {
+ coeff[i][0] = 1;
+ }
+
+ /* zero out the iterator */
+ memset (point, 0, sizeof (point));
+
+ /* loop over all points to interpolate at */
+ for (n = 0; n < num_points; n++)
+ {
+ /* reset the out-of-bounds flag */
+ out_of_bounds = 0;
+
+ /* loop over all dimensions */
+ for (i = 0; i < num_dims; i++)
+ {
+ /* closest grid point for stencil */
+ point[i] = floor ((coord[num_dims*n + i] - origin[i]) / delta[i]
+ - 0.5 * (order - 1));
+
+ /* if beyond lower bound shift the grid point to the right */
+ shift = point[i];
+ if (shift < 0)
+ {
+ point[i] -= shift;
+ }
+
+ /* if beyond upper bound shift the grid point to the left */
+ shift = point[i] + order - (dims[i] - 1);
+ if (shift > 0)
+ {
+ point[i] -= shift;
+ }
+
+ /* physical coordinate of that grid point */
+ below[i] = origin[i] + point[i] * delta[i];
+
+ /* offset from that grid point, in fractions of grid points */
+ offset[i] = (coord[num_dims*n + i] - below[i]) / delta[i];
+
+ /* test bounds */
+ out_of_bounds |= point[i] < 0 || point[i]+order >= dims[i];
+ }
+
+#ifdef LOCALINTERP_VERBOSE_DEBUG
+if (n == LocalInterp_verbose_debug_n)
+ {
+ int ii;
+ printf("out_of_bounds = %d\n", out_of_bounds);
+ for (ii = 0 ; ii < num_dims ; ++ii)
+ {
+ printf("offset[%d] = %g\n", ii, (double) offset[ii]);
+ }
+ }
+#endif /* LOCALINTERP_VERBOSE_DEBUG */
+
+ /* check bounds */
+ if (out_of_bounds)
+ {
+ char *msg;
+
+
+ /* put all information into a single message string for output */
+ msg = (char *) malloc (100 + num_dims*(10 + 4*20));
+ sprintf (msg, "Interpolation stencil out of bounds at grid point [%d",
+ point[0]);
+ for (i = 1; i < num_dims; i++)
+ {
+ sprintf (msg, "%s, %d", msg, point[i]);
+ }
+ sprintf (msg, "%s]\nrange would be min/max [%f / %f", msg,
+ (double) below[0], (double) (below[0] + offset[0]));
+ for (i = 1; i < num_dims; i++)
+ {
+ sprintf (msg, "%s, %f / %f", msg,
+ (double) below[i], (double) (below[i] + offset[i]));
+ }
+ sprintf (msg, "%s]\ngrid is min/max [%f / %f", msg,
+ (double) origin[0], (double) (origin[0] + dims[0]*delta[0]));
+ for (i = 1; i < num_dims; i++)
+ {
+ sprintf (msg, "%s, %f / %f", msg,
+ (double) origin[i], (double) (origin[i] + dims[i]*delta[i]));
+ }
+ sprintf (msg, "%s]", msg);
+ CCTK_WARN (1, msg);
+ free (msg);
+
+ continue;
+ }
+
+ /*
+ * *** compute the interpolation coefficients according to the order ***
+ *
+ * (Thanks to Erik for formulating these so nicely.)
+ *
+ * These formulas are "just" the coefficients of the classical
+ * Lagrange interpolation polynomials along each dimension.
+ * For example, in 1 dimension the unique quadratic passing
+ * through the 3 points {(x0,y0), (x1,y1), (x2,y2)} is:
+ * ( x-x1)( x-x2) ( x-x0)( x-x2) ( x-x0)( x-x1)
+ * -------------- y0 + -------------- y1 + -------------- y2
+ * (x0-x1)(x0-x2) (x1-x0)(x1-x2) (x2-x0)(x2-x1)
+ * (It's easy to see this: each of the terms is yi if x=xi, or
+ * zero if x=any other xj.) To get the formulas below, just negate
+ * each (x-x) factor, and substitute the values xi=i.
+ */
+ /*
+ * NOTE-MAXORDER: support higher interpolation orders by adding the
+ * appropriate coefficients in another else branch
+ */
+ if (order == 1)
+ {
+ /* first order (linear) 1D interpolation */
+ for (i = 0; i < num_dims; i++)
+ {
+ coeff[i][0] = 1 - offset[i];
+ coeff[i][1] = offset[i];
+ }
+ }
+ else if (order == 2)
+ {
+ /* second order (quadratic) 1D interpolation */
+ for (i = 0; i < num_dims; i++)
+ {
+ coeff[i][0] = (1-offset[i]) * (2-offset[i]) / ( 2 * 1 );
+ coeff[i][1] = ( -offset[i]) * (2-offset[i]) / ( 1 * (-1));
+ coeff[i][2] = ( -offset[i]) * (1-offset[i]) / ((-1) * (-2));
+ }
+ }
+ else if (order == 3)
+ {
+ /* third order (cubic) 1D interpolation */
+ for (i = 0; i < num_dims; i++)
+ {
+ coeff[i][0] = (1-offset[i]) * (2-offset[i]) * (3-offset[i]) /
+ ( 3 * 2 * 1 );
+ coeff[i][1] = ( -offset[i]) * (2-offset[i]) * (3-offset[i]) /
+ ( 2 * 1 * (-1));
+ coeff[i][2] = ( -offset[i]) * (1-offset[i]) * (3-offset[i]) /
+ ( 1 * (-1) * (-2));
+ coeff[i][3] = ( -offset[i]) * (1-offset[i]) * (2-offset[i]) /
+ ((-1) * (-2) * (-3));
+ }
+ }
+ else
+ {
+ CCTK_WARN (0, "Implementation error");
+ }
+
+#ifdef LOCALINTERP_VERBOSE_DEBUG
+if (n == LocalInterp_verbose_debug_n)
+ {
+ int ii,mm;
+ for (ii = 0 ; ii < num_dims ; ++ii)
+ {
+ for (mm = 0 ; mm <= order ; ++mm)
+ {
+ printf("coeff[%d][%d] = %g\n",
+ ii, mm, (double) coeff[ii][mm]);
+ }
+ }
+ }
+#endif /* LOCALINTERP_VERBOSE_DEBUG */
+
+ /* now loop over all arrays to interpolate at the current point */
+ for (a = 0; a < num_arrays; a++)
+ {
+ /* sorry, for now input and output arrays must be of same type */
+ if (in_types[a] != out_types[a])
+ {
+ CCTK_WARN (1, "Type casting of interpolation results not implemented");
+ continue;
+ }
+
+ /* now do the interpolation according to the array type
+ we support all kinds of CCTK_REAL* and CCTK_COMPLEX* types here */
+ if (in_types[a] == CCTK_VARIABLE_REAL)
+ {
+ INTERPOLATE (CCTK_REAL, CCTK_REAL, NOTHING, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+ else if (in_types[a] == CCTK_VARIABLE_COMPLEX)
+ {
+ INTERPOLATE (CCTK_COMPLEX, CCTK_REAL, .Re, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ INTERPOLATE (CCTK_COMPLEX, CCTK_REAL, .Im, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+#ifdef CCTK_REAL4
+ else if (in_types[a] == CCTK_VARIABLE_REAL4)
+ {
+ INTERPOLATE (CCTK_REAL4, CCTK_REAL4, NOTHING, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+ else if (in_types[a] == CCTK_VARIABLE_COMPLEX8)
+ {
+ INTERPOLATE (CCTK_COMPLEX8, CCTK_REAL4, .Re, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ INTERPOLATE (CCTK_COMPLEX8, CCTK_REAL4, .Im, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+#endif
+#ifdef CCTK_REAL8
+ else if (in_types[a] == CCTK_VARIABLE_REAL8)
+ {
+ INTERPOLATE (CCTK_REAL8, CCTK_REAL8, NOTHING, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+ else if (in_types[a] == CCTK_VARIABLE_COMPLEX16)
+ {
+ INTERPOLATE (CCTK_COMPLEX16, CCTK_REAL8, .Re, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ INTERPOLATE (CCTK_COMPLEX16, CCTK_REAL8, .Im, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+#endif
+#ifdef CCTK_REAL16
+ else if (in_types[a] == CCTK_VARIABLE_REAL16)
+ {
+ INTERPOLATE (CCTK_REAL16, CCTK_REAL16, NOTHING, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+ else if (in_types[a] == CCTK_VARIABLE_COMPLEX32)
+ {
+ INTERPOLATE (CCTK_COMPLEX32, CCTK_REAL16, .Re, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ INTERPOLATE (CCTK_COMPLEX32, CCTK_REAL16, .Im, in_arrays[a],
+ out_arrays[a], order, point, max_dims, n, coeff);
+ }
+#endif
+ else
+ {
+ CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Unsupported variable type %d", (int) in_types[a]);
+ }
+ } /* end of loop over all arrays */
+
+ } /* end of loop over all points to interpolate at */
+
+ /* we're done */
+ return (retval);
+}
diff --git a/src/UniformCartesian/Interpolate.h b/src/UniformCartesian/Interpolate.h
new file mode 100644
index 0000000..35dac21
--- /dev/null
+++ b/src/UniformCartesian/Interpolate.h
@@ -0,0 +1,45 @@
+/*@@
+ @file Interpolate.h
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @desc function prototypes
+ @enddesc
+ @version $Header$
+ @history
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @hdesc created by editing down LocalInterp::pughInterpGH.h
+ (originally dated 4 July 1999, by Thomas Radke)
+ @endhistory
+ @@*/
+
+/* prototypes of interpolation operator to be registered */
+int LocalInterp_InterpLocal(cGH *GH,
+ int order,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[]);
+
+/* prototypes of routines used internally */
+int LocalInterp_Interpolate(int order,
+ int num_points,
+ int num_dims,
+ int num_arrays,
+ const int dims[ /* num_dims */ ],
+ const CCTK_REAL coord[ /* num_dims*num_points */ ],
+ const CCTK_REAL origin[ /* num_dims */ ],
+ const CCTK_REAL delta[ /* num_dims */ ],
+ const int in_types[ /* num_arrays */ ],
+ const void *const in_arrays[ /* num_arrays */ ],
+ const int out_types[ /* num_arrays */ ],
+ void *const out_arrays[ /* num_arrays */ ]);
diff --git a/src/UniformCartesian/Operator.c b/src/UniformCartesian/Operator.c
new file mode 100644
index 0000000..28de748
--- /dev/null
+++ b/src/UniformCartesian/Operator.c
@@ -0,0 +1,323 @@
+/*@@
+ @file Operator.c
+ @date Tue Apr 15 18:22:45 1997
+ @author Paul Walker
+ @desc
+ Definition of interpolation operators for regular uniform grids.
+ @enddesc
+
+ @history
+ @date Sun Jul 04 1999
+ @author Thomas Radke
+ @hdesc conversion to Cactus 4.0 (copied from pughGetPoints.c)
+ @date Wed 31 Jan 2001
+ @author Thomas Radke
+ @hdesc translation of fortran interpolators into C
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @hdesc Move all local-interpolation code from LocalInterp to here
+ @endhistory
+
+ @version $Header$
+ @@*/
+
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "CactusPUGH/PUGH/src/include/pugh.h"
+#include "Interpolate.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(CactusBase_LocalInterp_UniformCartesian_Operator_c)
+
+/* uncomment this to get some debugging output */
+/* #define PUGHINTERP_DEBUG 1 */
+
+
+
+/* prototypes of routines defined in this source file */
+static int LocalInterp_CheckArguments (cGH *GH,
+ int num_dims,
+ int num_points,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int interp_coord_array_types[]);
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_InterpLocal
+ @date Sun Jul 04 1999
+ @author Thomas Radke
+ @desc
+ The interpolation operator registered with the CCTK
+ under the name "uniform cartesian".
+
+ Interpolates a list of non-distributed, processor-local
+ input arrays to a list of output arrays (one-to-one)
+ at a given number of interpolation points (indicated by
+ their coordinates). The points are located on a coordinate
+ system which is assumed to be a uniform cartesian.
+ @enddesc
+
+ @var GH
+ @vdesc Pointer to CCTK grid hierarchy
+ @vtype cGH *
+ @vio in
+ @endvar
+ @var order
+ @vdesc interpolation order
+ @vtype int
+ @vio in
+ @endvar
+ @var num_points
+ @vdesc number of points to be interpolated on this processor
+ @vtype int
+ @vio in
+ @endvar
+ @var num_dims
+ @vdesc dimensionality of the underlying grid
+ @vtype int
+ @vio in
+ @endvar
+ @var num_in_arrays
+ @vdesc number of input arrays to interpolate from
+ @vtype int
+ @vio in
+ @endvar
+ @var num_out_arrays
+ @vdesc number of output arrays to interpolate to
+ @vtype int
+ @vio in
+ @endvar
+ @var coord_dims
+ @vdesc dimensions of the underlying grid
+ @vtype int [num_dims]
+ @vio in
+ @endvar
+ @var coord_arrays
+ @vdesc list of grid coordinate arrays
+ @vtype void *const [num_dims]
+ @vio in
+ @endvar
+ @var coord_array_types
+ @vdesc CCTK data type of coordinate arrays
+ @vtype int [num_dims]
+ @vio int
+ @endvar
+ @var interp_coord_arrays
+ @vdesc coordinates of points to interpolate at
+ @vtype void *const [num_dims]
+ @vio in
+ @endvar
+ @var interp_coord_array_types
+ @vdesc CCTK data type of coordinate arrays to interpolate at
+ @vtype int [num_dims]
+ @vio out
+ @endvar
+ @var in_arrays
+ @vdesc list of input arrays to interpolate on
+ @vtype void *const [num_in_arrays]
+ @vio in
+ @endvar
+ @var in_array_types
+ @vdesc CCTK data types of input arrays
+ @vtype int [num_in_arrays]
+ @vio in
+ @endvar
+ @var out_arrays
+ @vdesc list of output arrays to interpolate to
+ @vtype void *const [num_out_arrays]
+ @vio out
+ @endvar
+ @var out_array_types
+ @vdesc CCTK data types of output arrays
+ @vtype int [num_out_arrays]
+ @vio in
+ @endvar
+
+ @returntype int
+ @returndesc
+ 0 - successful interpolation
+ -1 - in case of any errors
+ @endreturndesc
+ @@*/
+int LocalInterp_InterpLocal (cGH *GH,
+ int order,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[])
+{
+ int dim, point, retval;
+ CCTK_REAL *coords, *origin, *delta;
+ const CCTK_REAL *const *data;
+
+ /* check arguments */
+ retval = LocalInterp_CheckArguments (GH, num_dims, num_points,
+ num_in_arrays, num_out_arrays,
+ interp_coord_array_types);
+ if (retval <= 0)
+ {
+ return (retval);
+ }
+ for (dim = 0; dim < num_dims; dim++)
+ {
+ if (coord_array_types[dim] != CCTK_VARIABLE_REAL)
+ {
+ CCTK_WARN (1, "Coordinates should be of type CCTK_REAL");
+ return (-1);
+ }
+ if (interp_coord_array_types[dim] != CCTK_VARIABLE_REAL)
+ {
+ CCTK_WARN (1, "Interpolation coordinates should be of type CCTK_REAL");
+ return (-1);
+ }
+ }
+
+ /* get the grid spacings - this assumes a cartesian grid */
+ origin = (CCTK_REAL *) malloc (2 * num_dims * sizeof (CCTK_REAL));
+ delta = origin + num_dims;
+ data = (const CCTK_REAL *const *) coord_arrays;
+ for (dim = 0; dim < num_dims; dim++)
+ {
+ origin[dim] = data[dim][0];
+ delta[dim] = data[dim][1] - data[dim][0];
+ }
+
+ /* sort the individual interpolation coordinate arrays into a single one */
+ coords = (CCTK_REAL *) malloc (num_dims * num_points * sizeof (CCTK_REAL));
+ data = (const CCTK_REAL *const *) interp_coord_arrays;
+ for (point = 0; point < num_points; point++)
+ {
+ for (dim = 0; dim < num_dims; dim++)
+ {
+ *coords++ = data[dim][point];
+ }
+ }
+ coords -= num_dims * num_points;
+
+ /* call the interpolator function */
+ retval = LocalInterp_Interpolate (order,
+ num_points, num_dims, num_out_arrays,
+ coord_dims, coords, origin, delta,
+ in_array_types, in_arrays,
+ out_array_types, out_arrays);
+
+ /* free allocated resources */
+ free (coords);
+ free (origin);
+
+ return (retval);
+}
+
+/**************************************************************************/
+/* local routines */
+/**************************************************************************/
+
+/*@@
+ @routine LocalInterp_CheckArguments
+ @date Thu 25 Jan 2001
+ @author Thomas Radke
+ @desc
+ Checks the interpolation arguments passed in via
+ the flesh's general interpolation calling interface
+
+ This routine also verifies that the parameters meet
+ the limitations of LocalInterp's interpolation operators.
+ @enddesc
+
+ @var GH
+ @vdesc Pointer to CCTK grid hierarchy
+ @vtype cGH *
+ @vio in
+ @endvar
+ @var num_dims
+ @vdesc dimensionality of the underlying grid
+ @vtype int
+ @vio in
+ @endvar
+ @var num_points
+ @vdesc number of points to interpolate at
+ @vtype int
+ @vio in
+ @endvar
+ @var num_in_arrays
+ @vdesc number of passed input arrays
+ @vtype int
+ @vio in
+ @endvar
+ @var num_out_arrays
+ @vdesc number of passed input arrays
+ @vtype int
+ @vio in
+ @endvar
+ @var interp_coord_array_types
+ @vdesc types of passed coordinates to interpolate at
+ @vtype int [num_dims]
+ @vio in
+ @endvar
+
+ @returntype int
+ @returndesc
+ +1 for success
+ 0 for success but nothing to do
+ -1 for failure (wrong parameters passed or limitations not met)
+ @endreturndesc
+ @@*/
+static int LocalInterp_CheckArguments (cGH *GH,
+ int num_dims,
+ int num_points,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int interp_coord_array_types[])
+{
+ int i;
+
+
+ /* check for invalid arguments */
+ if (num_dims < 0 || num_points < 0 || num_in_arrays < 0 || num_out_arrays < 0)
+ {
+ return (-1);
+ }
+
+ /* check if there's anything to do at all */
+ /* NOTE: num_points can be 0 in a collective call */
+ if (num_dims == 0 || num_in_arrays == 0 || num_out_arrays == 0)
+ {
+ return (0);
+ }
+
+ /* for now we can only deal with coordinates of type CCTK_REAL */
+ for (i = 0; i < num_dims; i++)
+ {
+ if (interp_coord_array_types[i] != CCTK_VARIABLE_REAL)
+ {
+ CCTK_WARN (1, "Interpolation coordinates must be of type CCTK_REAL");
+ return (-1);
+ }
+ }
+
+ /* LocalInterp's interpolation operators compute one output array
+ per input array */
+ if (num_in_arrays != num_out_arrays)
+ {
+ CCTK_WARN (1, "Number of input arrays must match number of output arrays");
+ return (-1);
+ }
+
+ return (1);
+}
diff --git a/src/UniformCartesian/README b/src/UniformCartesian/README
new file mode 100644
index 0000000..2342312
--- /dev/null
+++ b/src/UniformCartesian/README
@@ -0,0 +1,14 @@
+This directory contains the interpolation functions registered for
+ CCTK_InterpLocal()
+under the names
+ "first-order uniform cartesian"
+ "second-order uniform cartesian"
+ "third-order uniform cartesian"
+
+Implementation Notes
+====================
+The interpolation operators registered for different orders are mapped
+via wrappers (in "Startup.c") onto a single routine (in "Operator.c"),
+just passing the order as an additional argument.
+
+The actual core interpolation routine is located in "Interpolate.c".
diff --git a/src/UniformCartesian/Startup.c b/src/UniformCartesian/Startup.c
new file mode 100644
index 0000000..b25dc9f
--- /dev/null
+++ b/src/UniformCartesian/Startup.c
@@ -0,0 +1,185 @@
+/*@@
+ @file Startup.c
+ @date Sun Jul 04 1999
+ @author Thomas Radke
+ @desc
+ Startup routines for LocalInterp/UniformCartesian
+ @enddesc
+
+ @history
+ @date 22 Jan 2002
+ @author Jonathan Thornburg
+ @hdesc Move all local-interpolation code from LocalInterp to here
+ @endhistory
+
+ @version $Header$
+ @@*/
+
+#include <stdlib.h>
+
+#include "cctk.h"
+#include "cctk_Interp.h"
+#include "Interpolate.h"
+
+/* the rcs ID and its dummy function to use it */
+static const char *rcsid = "$Header$";
+CCTK_FILEVERSION(CactusBase_LocalInterp_UniformCartesian_Startup_c)
+
+
+/* prototypes of externally-visible routines defined in this source file */
+void LocalInterp_UC_Startup(void);
+
+/* prototypes of static routines defined in this source file */
+static int LocalInterp_InterpLocal_1stOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[]);
+static int LocalInterp_InterpLocal_2ndOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[]);
+static int LocalInterp_InterpLocal_3rdOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[]);
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_InterpLocal_NthOrder
+ @date Wed 14 Feb 2001
+ @author Thomas Radke
+ @desc
+ Wrappers for the different interpolation operators
+ registered for first/second/third order interpolation.
+ These wrappers just call the common interpolation routine
+ passing all arguments plus the interpolation order.
+ @enddesc
+
+ @returntype int
+ @returndesc
+ the return code of the common interpolation routine
+ @endreturndesc
+ @@*/
+static int LocalInterp_InterpLocal_1stOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[])
+{
+ return (LocalInterp_InterpLocal (GH, 1, num_points, num_dims,
+ num_in_arrays, num_out_arrays,
+ coord_dims, coord_arrays, coord_array_types,
+ interp_coord_arrays, interp_coord_array_types,
+ in_arrays, in_array_types,
+ out_arrays, out_array_types));
+}
+
+
+static int LocalInterp_InterpLocal_2ndOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[])
+{
+ return (LocalInterp_InterpLocal (GH, 2, num_points, num_dims,
+ num_in_arrays, num_out_arrays,
+ coord_dims, coord_arrays, coord_array_types,
+ interp_coord_arrays, interp_coord_array_types,
+ in_arrays, in_array_types,
+ out_arrays, out_array_types));
+}
+
+
+static int LocalInterp_InterpLocal_3rdOrder(cGH *GH,
+ int num_points,
+ int num_dims,
+ int num_in_arrays,
+ int num_out_arrays,
+ const int coord_dims[],
+ const void *const coord_arrays[],
+ const int coord_array_types[],
+ const void *const interp_coord_arrays[],
+ const int interp_coord_array_types[],
+ const void *const in_arrays[],
+ const int in_array_types[],
+ void *const out_arrays[],
+ const int out_array_types[])
+{
+ return (LocalInterp_InterpLocal (GH, 3, num_points, num_dims,
+ num_in_arrays, num_out_arrays,
+ coord_dims, coord_arrays, coord_array_types,
+ interp_coord_arrays, interp_coord_array_types,
+ in_arrays, in_array_types,
+ out_arrays, out_array_types));
+}
+
+/******************************************************************************/
+
+/*@@
+ @routine LocalInterp_Startup
+ @date Sun Jul 04 1999
+ @author Thomas Radke
+ @desc
+ The startup registration routine for LocalInterp.
+ Registers the interpolation operators with the flesh.
+ @enddesc
+ @calls CCTK_InterpRegisterOperatorLocal
+ @@*/
+void LocalInterp_UC_Startup(void)
+{
+ CCTK_InterpRegisterOperatorLocal (LocalInterp_InterpLocal_1stOrder,
+ "first-order uniform cartesian");
+ CCTK_InterpRegisterOperatorLocal (LocalInterp_InterpLocal_2ndOrder,
+ "second-order uniform cartesian");
+ CCTK_InterpRegisterOperatorLocal (LocalInterp_InterpLocal_3rdOrder,
+ "third-order uniform cartesian");
+}
diff --git a/src/UniformCartesian/make.code.defn b/src/UniformCartesian/make.code.defn
new file mode 100644
index 0000000..4a506e8
--- /dev/null
+++ b/src/UniformCartesian/make.code.defn
@@ -0,0 +1,4 @@
+# $Header$
+
+# Source files in this directory
+SRCS = Startup.c Operator.c Interpolate.c
diff --git a/src/make.code.defn b/src/make.code.defn
new file mode 100644
index 0000000..647ac4a
--- /dev/null
+++ b/src/make.code.defn
@@ -0,0 +1,8 @@
+# Main make.code.defn file for thorn LocalInterp
+# $Header$
+
+# Source files in this directory
+SRCS =
+
+# Subdirectories containing source files
+SUBDIRS = UniformCartesian GeneralizedPolynomial-Uniform
diff --git a/test/README b/test/README
new file mode 100644
index 0000000..d5552b1
--- /dev/null
+++ b/test/README
@@ -0,0 +1,10 @@
+This thorn doesn't have a "test suite" in the usual Cactus sense of
+this phrase. However, the CactusTest arrangement contains (among others)
+the thorns TestInterp and TestInterp2:
+* TestInterp used to test CCTK_InterpGV() and CCTK_InterpLocal()
+ interpolators, although it seems to be broken at the moment
+* TestInterp2 tests CCTK_InterpGV(), CCTK_InterpLocal(), and
+ CCTK_InterpLocalUniform() interpolators, but at the moment it's
+ not integrated into the Cactus test architecture, i.e. you have
+ to run it explicitly and look at the output to see how well things
+ worked.