This repository serve as a backup for my Maxwell-TD code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

114 lines
51 KiB

/*
* 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};