/* * This file contains the nine constant matrices that could be used * to assemble the element matrix for tetrahedral element, upto H2(curl). * The basis functiones are wriiten in a hierarchical way. Therefore, * to assemble H0(curl) use the first 6x6 block, for H1(curl) the first * 20x20 block, and then of course for H2(curl) the entire 45x45 block. * It is our opinion that higher order than H2(curl) would not offer * any significant practical benefits. Consequently, we do not concern * ourselves much with the extensions to H3(curl) and higher. Although, * the extensions may turn out to be trivial. * Basis Functions: H2(curl) TVFEM * tetra{0, 1, 2, 3} and the barycentric coordinates (z0, z1, z2, z3) * * Basis Functions: * GROUP, Associate Topology, Form , dimension *===================================================================== * 0 edge{i,j} zi grad(zj) - zj grad(zi) 6 * 1 edge{i,j} 4grad(zi zj) 6 * 2 face{i,j,k} 4zj(zi grad(zk) - zk grad(zi)) 4 * 2 face{i,j,k} 4zk(zi grad(zj) - zj grad(zi)) 4 * 3 edge{i,j} 4grad(zi^2 zj - zj^2 zi) 6 * 4 face{i,j,k} 8grad(zi zj zk) 4 * 5 face{i,j,k} 4zi^2(zj grad(zk) - zk grad(zj)) 4 * 5 face{i,j,k} 4zj^2(zi grad(zk) - zk grad(zi)) 4 * 5 face{i,j,k} 4zk^2(zi grad(zj) - zj grad(zi)) 4 * 6 tetra{0,1,2,3} 8z1 z2 (z0 grad(z3) - z3 grad(z0)) 1 * 6 tetra{0,1,2,3} 8z1 z3 (z0 grad(z2) - z2 grad(z0)) 1 * 6 tetra{0,1,2,3} 8z2 z3 (z0 grad(z1) - z1 grad(z0)) 1 * where edge{i,j} and face{i,j,k} are ordered doublet and triplet, * respectively. * * With these nine matrices, the element matrix can be formed simply by * [S] = 1 / (S_DNUM * vol) { * L00 [S00] + L01 [S01] + L10 [S10] * + L02 [S02] + L20 [S20] + L11 [S11] * + L12 [S12] + L21 [S21] + L22 [S22] * } * Similarly for the T matrix, simply replace S by T and L by A * And, Lij = vtr(Li) * tensor(epsr) * vtr(Lj) * Aij = vtr(Ai) * tensor( 1/ mur) * vtr(Aj) * where L0 = p0p1, L1 = p0p2, L2 = p0p3, * L3 = p1p2 L4 = p1p3 L5 = p2p3 * A0 = inward normal of face{1,2,3} |A0| = area (face{1,2,3}) * A1 = inward normal of face{0,2,3} |A1| = area (face{0,2,3}) * A2 = inward normal of face{0,1,3} |A2| = area (face{0,1,3}) * A3 = inward normal of face{0,1,2} |A3| = area (face{0,1,2}) * * Note also: [Sij] = [Sji]^{t} and [Tij] = [Tji]^{t} */ #include "../dgtd-performance.hpp" static int S_DNUM = 1890; static int T_DNUM = 7560; static fp_t S00[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S01[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S02[16][16]={ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S10[16][16]={0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S11[16][16]={0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S12[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S20[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S21[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t S22[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; static fp_t T00[16][16]= {840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, -420.000000, 0.000000, 0.000000, 420.000000, 84.000000, 84.000000, 252.000000, 0.000000, 84.000000, 84.000000, -336.000000, -336.000000, 0.000000, 0.000000, 336.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, 840.000000, 0.000000, 0.000000, -840.000000, -336.000000, -168.000000, -336.000000, 0.000000, -336.000000, -168.000000, 1344.000000, 672.000000, 0.000000, 0.000000, -1344.000000, -672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -336.000000, -336.000000, 0.000000, -168.000000, -336.000000, 672.000000, 1344.000000, 0.000000, 0.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 336.000000, 168.000000, 336.000000, 0.000000, 336.000000, 168.000000, -1344.000000, -672.000000, 0.000000, 0.000000, 1344.000000, 672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 336.000000, 336.000000, 0.000000, 168.000000, 336.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 672.000000, 1344.000000}; static fp_t T01[16][16]= {0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, -420.000000, 0.000000, 420.000000, -126.000000, 0.000000, 126.000000, 84.000000, 210.000000, 84.000000, -504.000000, 0.000000, 504.000000, -336.000000, -168.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -168.000000, -504.000000, -168.000000, 672.000000, 0.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -336.000000, -336.000000, -336.000000, 672.000000, 0.000000, -672.000000, 1344.000000, 0.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 0.000000, 168.000000, 0.000000, -168.000000, 0.000000, -672.000000, 0.000000, 672.000000, 0.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 168.000000, 504.000000, 168.000000, -672.000000, 0.000000, 672.000000, -672.000000, 672.000000, 672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 336.000000, 336.000000, 336.000000, -672.000000, 0.000000, 672.000000, -1344.000000, 0.000000, 1344.000000}; static fp_t T02[16][16]= {0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -126.000000, 126.000000, -84.000000, 84.000000, 210.000000, 0.000000, -504.000000, 504.000000, -336.000000, 336.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, -336.000000, 0.000000, 672.000000, -672.000000, 1344.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 168.000000, -168.000000, -504.000000, 0.000000, 672.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 168.000000, 0.000000, 0.000000, -168.000000, 0.000000, -672.000000, 672.000000, 0.000000, 0.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 336.000000, 0.000000, -672.000000, 672.000000, -1344.000000, 1344.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 504.000000, 0.000000, -672.000000, 672.000000, -672.000000, 672.000000, 672.000000}; static fp_t T10[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, 210.000000, 0.000000, 0.000000, -210.000000, -42.000000, -42.000000, -126.000000, 0.000000, -42.000000, -42.000000, 168.000000, 168.000000, -168.000000, 0.000000, -168.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 42.000000, 126.000000, 0.000000, 42.000000, 42.000000, -168.000000, -168.000000, 168.000000, 0.000000, 168.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, -420.000000, 0.000000, 0.000000, 420.000000, 126.000000, 84.000000, 210.000000, 0.000000, 126.000000, 84.000000, -504.000000, -336.000000, -168.000000, 0.000000, 504.000000, 336.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -168.000000, -504.000000, 0.000000, -168.000000, -168.000000, 672.000000, 672.000000, -672.000000, 0.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 168.000000, 504.000000, 0.000000, 168.000000, 168.000000, -672.000000, -672.000000, 672.000000, 0.000000, 672.000000, 672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -336.000000, -336.000000, 0.000000, -168.000000, -336.000000, 672.000000, 1344.000000, 0.000000, 0.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, 0.000000, -168.000000, 0.000000, 168.000000, 0.000000, -672.000000, 0.000000, 672.000000, 0.000000, 672.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 336.000000, 336.000000, 0.000000, 168.000000, 336.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 672.000000, 1344.000000}; static fp_t T11[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, 210.000000, 0.000000, -210.000000, 84.000000, 0.000000, -84.000000, -42.000000, -84.000000, -42.000000, 336.000000, 0.000000, -336.000000, 168.000000, 0.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, -84.000000, 0.000000, 84.000000, 42.000000, 84.000000, 42.000000, -336.000000, 0.000000, 336.000000, -168.000000, 0.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, -420.000000, 0.000000, 420.000000, -84.000000, 0.000000, 84.000000, 84.000000, 252.000000, 84.000000, -336.000000, 0.000000, 336.000000, -336.000000, 0.000000, 336.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, 840.000000, 0.000000, -840.000000, 336.000000, 0.000000, -336.000000, -168.000000, -336.000000, -168.000000, 1344.000000, 0.000000, -1344.000000, 672.000000, 0.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -336.000000, 0.000000, 336.000000, 168.000000, 336.000000, 168.000000, -1344.000000, 0.000000, 1344.000000, -672.000000, 0.000000, 672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -336.000000, -336.000000, -336.000000, 672.000000, 0.000000, -672.000000, 1344.000000, 0.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 336.000000, 336.000000, 336.000000, -672.000000, 0.000000, 672.000000, -1344.000000, 0.000000, 1344.000000}; static fp_t T12[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 84.000000, -84.000000, 42.000000, -42.000000, -84.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -84.000000, 84.000000, -42.000000, 42.000000, 84.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -84.000000, 84.000000, -126.000000, 126.000000, 210.000000, 0.000000, -336.000000, 336.000000, -504.000000, 504.000000, -168.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, -336.000000, 0.000000, 1344.000000, -1344.000000, 672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 336.000000, 0.000000, -1344.000000, 1344.000000, -672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 168.000000, -168.000000, -504.000000, 0.000000, 672.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, -672.000000, 672.000000, 672.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 504.000000, 0.000000, -672.000000, 672.000000, -672.000000, 672.000000, 672.000000}; static fp_t T20[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, -210.000000, -42.000000, -42.000000, -126.000000, 0.000000, -42.000000, -42.000000, 168.000000, 168.000000, -168.000000, 0.000000, -168.000000, -168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 42.000000, 126.000000, 0.000000, 42.000000, 42.000000, -168.000000, -168.000000, 168.000000, 0.000000, 168.000000, 168.000000, 210.000000, 0.000000, 0.000000, -210.000000, -84.000000, -42.000000, -84.000000, 0.000000, -84.000000, -42.000000, 336.000000, 168.000000, 0.000000, 0.000000, -336.000000, -168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -420.000000, 0.000000, 0.000000, 420.000000, 84.000000, 126.000000, 210.000000, 0.000000, 84.000000, 126.000000, -336.000000, -504.000000, -168.000000, 0.000000, 336.000000, 504.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -168.000000, -504.000000, 0.000000, -168.000000, -168.000000, 672.000000, 672.000000, -672.000000, 0.000000, -672.000000, -672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 168.000000, 504.000000, 0.000000, 168.000000, 168.000000, -672.000000, -672.000000, 672.000000, 0.000000, 672.000000, 672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -336.000000, -168.000000, -336.000000, 0.000000, -336.000000, -168.000000, 1344.000000, 672.000000, 0.000000, 0.000000, -1344.000000, -672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 336.000000, 168.000000, 336.000000, 0.000000, 336.000000, 168.000000, -1344.000000, -672.000000, 0.000000, 0.000000, 1344.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, -168.000000, 0.000000, 0.000000, 168.000000, 0.000000, -672.000000, 672.000000, 0.000000, 0.000000, 672.000000}; static fp_t T21[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 84.000000, 0.000000, -84.000000, -42.000000, -84.000000, -42.000000, 336.000000, 0.000000, -336.000000, 168.000000, 0.000000, -168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -84.000000, 0.000000, 84.000000, 42.000000, 84.000000, 42.000000, -336.000000, 0.000000, 336.000000, -168.000000, 0.000000, 168.000000, 0.000000, 210.000000, 0.000000, -210.000000, 42.000000, 0.000000, -42.000000, -42.000000, -126.000000, -42.000000, 168.000000, 0.000000, -168.000000, 168.000000, -168.000000, -168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -420.000000, 0.000000, 420.000000, -84.000000, 0.000000, 84.000000, 126.000000, 210.000000, 126.000000, -336.000000, 0.000000, 336.000000, -504.000000, -168.000000, 504.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 336.000000, 0.000000, -336.000000, -168.000000, -336.000000, -168.000000, 1344.000000, 0.000000, -1344.000000, 672.000000, 0.000000, -672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -336.000000, 0.000000, 336.000000, 168.000000, 336.000000, 168.000000, -1344.000000, 0.000000, 1344.000000, -672.000000, 0.000000, 672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -168.000000, -504.000000, -168.000000, 672.000000, 0.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 168.000000, 504.000000, 168.000000, -672.000000, 0.000000, 672.000000, -672.000000, 672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, -672.000000, 672.000000, 672.000000}; static fp_t T22[16][16]= {0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 84.000000, -84.000000, 42.000000, -42.000000, -84.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -84.000000, 84.000000, -42.000000, 42.000000, 84.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 42.000000, -42.000000, 84.000000, -84.000000, -84.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -84.000000, 84.000000, -84.000000, 84.000000, 252.000000, 0.000000, -336.000000, 336.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, -336.000000, 0.000000, 1344.000000, -1344.000000, 672.000000, -672.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 336.000000, 0.000000, -1344.000000, 1344.000000, -672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, -336.000000, 0.000000, 672.000000, -672.000000, 1344.000000, -1344.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 336.000000, 0.000000, -672.000000, 672.000000, -1344.000000, 1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000};