/[escript]/branches/diaplayground/ripley/src/Brick.cpp
ViewVC logotype

Diff of /branches/diaplayground/ripley/src/Brick.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4357 by caltinay, Thu Apr 11 06:07:14 2013 UTC revision 4370 by caltinay, Fri Apr 19 06:15:24 2013 UTC
# Line 463  void Brick::readBinaryGrid(escript::Data Line 463  void Brick::readBinaryGrid(escript::Data
463                                             +m2*myN0*myN1;                                             +m2*myN0*myN1;
464                              double* dest = out.getSampleDataRW(dataIndex);                              double* dest = out.getSampleDataRW(dataIndex);
465                              for (index_t c=0; c<numComp; c++) {                              for (index_t c=0; c<numComp; c++) {
466                                  if (!::isnan(values[x*numComp+c])) {                                  if (!std::isnan(values[x*numComp+c])) {
467                                      for (index_t q=0; q<dpp; q++) {                                      for (index_t q=0; q<dpp; q++) {
468                                          *dest++ = static_cast<double>(values[x*numComp+c]);                                          *dest++ = static_cast<double>(values[x*numComp+c]);
469                                      }                                      }
# Line 1095  void Brick::assembleCoordinates(escript: Line 1095  void Brick::assembleCoordinates(escript:
1095  void Brick::assembleGradient(escript::Data& out, escript::Data& in) const  void Brick::assembleGradient(escript::Data& out, escript::Data& in) const
1096  {  {
1097      const dim_t numComp = in.getDataPointSize();      const dim_t numComp = in.getDataPointSize();
1098      const double h0 = m_length[0]/m_gNE[0];      const double h0 = m_dx[0];
1099      const double h1 = m_length[1]/m_gNE[1];      const double h1 = m_dx[1];
1100      const double h2 = m_length[2]/m_gNE[2];      const double h2 = m_dx[2];
1101      const double C0 = .044658198738520451079;      const double C0 = .044658198738520451079;
1102      const double C1 = .16666666666666666667;      const double C1 = .16666666666666666667;
1103      const double C2 = .21132486540518711775;      const double C2 = .21132486540518711775;
# Line 1569  void Brick::assembleGradient(escript::Da Line 1569  void Brick::assembleGradient(escript::Da
1569  void Brick::assembleIntegrate(vector<double>& integrals, escript::Data& arg) const  void Brick::assembleIntegrate(vector<double>& integrals, escript::Data& arg) const
1570  {  {
1571      const dim_t numComp = arg.getDataPointSize();      const dim_t numComp = arg.getDataPointSize();
1572      const double h0 = m_length[0]/m_gNE[0];      const double h0 = m_dx[0];
1573      const double h1 = m_length[1]/m_gNE[1];      const double h1 = m_dx[1];
1574      const double h2 = m_length[2]/m_gNE[2];      const double h2 = m_dx[2];
1575      const index_t left = (m_offset[0]==0 ? 0 : 1);      const index_t left = (m_offset[0]==0 ? 0 : 1);
1576      const index_t bottom = (m_offset[1]==0 ? 0 : 1);      const index_t bottom = (m_offset[1]==0 ? 0 : 1);
1577      const index_t front = (m_offset[2]==0 ? 0 : 1);      const index_t front = (m_offset[2]==0 ? 0 : 1);
# Line 2802  void Brick::assemblePDESingle(Paso_Syste Line 2802  void Brick::assemblePDESingle(Paso_Syste
2802          const escript::Data& C, const escript::Data& D,          const escript::Data& C, const escript::Data& D,
2803          const escript::Data& X, const escript::Data& Y) const          const escript::Data& X, const escript::Data& Y) const
2804  {  {
2805      const double h0 = m_length[0]/m_gNE[0];      /* GENERATOR SNIP_PDE_SINGLE_PRE TOP */
2806      const double h1 = m_length[1]/m_gNE[1];      const double w0 = 0.00093037914038584273081*m_dx[1]*m_dx[2]/m_dx[0];
2807      const double h2 = m_length[2]/m_gNE[2];      const double w1 = 0.00093037914038584273081*m_dx[2];
2808      const double w0 = 0.0009303791403858427308*h1*h2/h0;      const double w2 = -0.000249294339321148701*m_dx[1];
2809      const double w1 = 0.0009303791403858427308*h2;      const double w3 = 0.00093037914038584273081*m_dx[0]*m_dx[2]/m_dx[1];
2810      const double w2 = -0.00024929433932114870101*h1;      const double w4 = -0.000249294339321148701*m_dx[0];
2811      const double w3 = 0.0009303791403858427308*h0*h2/h1;      const double w5 = 0.00093037914038584273081*m_dx[1];
2812      const double w4 = -0.00024929433932114870101*h0;      const double w6 = 0.00093037914038584273081*m_dx[0];
2813      const double w5 = 0.0009303791403858427308*h1;      const double w7 = -0.000249294339321148701*m_dx[0]*m_dx[1]/m_dx[2];
2814      const double w6 = 0.0009303791403858427308*h0;      const double w8 = 0.0034722222222222222222*m_dx[2];
2815      const double w7 = -0.00024929433932114870101*h0*h1/h2;      const double w9 = 0.012958509748503046158*m_dx[0]*m_dx[2]/m_dx[1];
2816      const double w8 = 0.0034722222222222222222*h2;      const double w10 = -0.0034722222222222222222*m_dx[0];
2817      const double w9 = -0.0009303791403858427308*h1;      const double w11 = 0.0034722222222222222222*m_dx[1];
2818      const double w10 = 0.012958509748503046158*h0*h2/h1;      const double w12 = 0.012958509748503046158*m_dx[0];
2819      const double w11 = -0.0034722222222222222222*h0;      const double w13 = -0.0034722222222222222222*m_dx[0]*m_dx[1]/m_dx[2];
2820      const double w12 = 0.0034722222222222222222*h1;      const double w14 = 0.012958509748503046158*m_dx[1]*m_dx[2]/m_dx[0];
2821      const double w13 = 0.012958509748503046158*h0;      const double w15 = 0.012958509748503046158*m_dx[1];
2822      const double w14 = -0.0034722222222222222222*h0*h1/h2;      const double w16 = 0.012958509748503046158*m_dx[2];
2823      const double w15 = 0.012958509748503046158*h1*h2/h0;      const double w17 = 0.04836181677178996241*m_dx[1];
2824      const double w16 = -0.0034722222222222222222*h1;      const double w18 = 0.04836181677178996241*m_dx[0];
2825      const double w17 = -0.0009303791403858427308*h0;      const double w19 = -0.04836181677178996241*m_dx[0]*m_dx[1]/m_dx[2];
2826      const double w18 = 0.012958509748503046158*h1;      const double w20 = -0.000249294339321148701*m_dx[2];
2827      const double w19 = 0.0034722222222222222222*h0;      const double w21 = -0.04836181677178996241*m_dx[2];
2828      const double w20 = 0.012958509748503046158*h2;      const double w22 = -0.0034722222222222222222*m_dx[0]*m_dx[2]/m_dx[1];
2829      const double w21 = -0.012958509748503046158*h1;      const double w23 = 0.00093037914038584273081*m_dx[0]*m_dx[1]/m_dx[2];
2830      const double w22 = -0.012958509748503046158*h0;      const double w24 = -0.04836181677178996241*m_dx[0]*m_dx[2]/m_dx[1];
2831      const double w23 = 0.04836181677178996241*h1;      const double w25 = 0.012958509748503046158*m_dx[0]*m_dx[1]/m_dx[2];
2832      const double w24 = 0.04836181677178996241*h0;      const double w26 = -0.000249294339321148701*m_dx[0]*m_dx[2]/m_dx[1];
2833      const double w25 = -0.04836181677178996241*h0*h1/h2;      const double w27 = -0.0034722222222222222222*m_dx[1]*m_dx[2]/m_dx[0];
2834      const double w26 = 0.00024929433932114870101*h1;      const double w28 = -0.000249294339321148701*m_dx[1]*m_dx[2]/m_dx[0];
2835      const double w27 = 0.00024929433932114870101*h0;      const double w29 = -0.04836181677178996241*m_dx[1]*m_dx[2]/m_dx[0];
2836      const double w28 = -0.04836181677178996241*h1;      const double w30 = 0.0001966122466178319053*m_dx[1]*m_dx[2];
2837      const double w29 = -0.04836181677178996241*h0;      const double w31 = 0.0001966122466178319053*m_dx[0]*m_dx[2];
2838      const double w30 = -0.0009303791403858427308*h1*h2/h0;      const double w32 = 0.0001966122466178319053*m_dx[0]*m_dx[1];
2839      const double w31 = -0.0009303791403858427308*h2;      const double w33 = 0.0007337668937680108255*m_dx[1]*m_dx[2];
2840      const double w32 = -0.0009303791403858427308*h0*h2/h1;      const double w34 = 0.0027384553284542113967*m_dx[0]*m_dx[2];
2841      const double w33 = 0.0034722222222222222222*h0*h1/h2;      const double w35 = 0.0027384553284542113967*m_dx[0]*m_dx[1];
2842      const double w34 = -0.0034722222222222222222*h2;      const double w36 = 0.0027384553284542113967*m_dx[1]*m_dx[2];
2843      const double w35 = -0.00024929433932114870101*h2;      const double w37 = 0.0007337668937680108255*m_dx[0]*m_dx[2];
2844      const double w36 = -0.012958509748503046158*h1*h2/h0;      const double w38 = 0.010220054420048834761*m_dx[1]*m_dx[2];
2845      const double w37 = -0.012958509748503046158*h2;      const double w39 = 0.010220054420048834761*m_dx[0]*m_dx[2];
2846      const double w38 = -0.012958509748503046158*h0*h2/h1;      const double w40 = 0.038141762351741127649*m_dx[0]*m_dx[1];
2847      const double w39 = -0.04836181677178996241*h2;      const double w41 = 0.000052682092703316795698*m_dx[0]*m_dx[1];
2848      const double w40 = -0.0034722222222222222222*h0*h2/h1;      const double w42 = 0.0007337668937680108255*m_dx[0]*m_dx[1];
2849      const double w41 = 0.0009303791403858427308*h0*h1/h2;      const double w43 = 0.010220054420048834761*m_dx[0]*m_dx[1];
2850      const double w42 = 0.04836181677178996241*h2;      const double w44 = -0.038141762351741127649*m_dx[0]*m_dx[2];
2851      const double w43 = -0.04836181677178996241*h0*h2/h1;      const double w45 = -0.000052682092703316795698*m_dx[0]*m_dx[2];
2852      const double w44 = 0.012958509748503046158*h0*h1/h2;      const double w46 = 0.000052682092703316795698*m_dx[1]*m_dx[2];
2853      const double w45 = -0.00024929433932114870101*h0*h2/h1;      const double w47 = 0.038141762351741127649*m_dx[1]*m_dx[2];
2854      const double w46 = 0.00024929433932114870101*h2;      const double w48 = 0.027777777777777777778*m_dx[1]*m_dx[2];
2855      const double w47 = -0.0034722222222222222222*h1*h2/h0;      const double w49 = 0.027777777777777777778*m_dx[0]*m_dx[2];
2856      const double w48 = -0.00024929433932114870101*h1*h2/h0;      const double w50 = 0.055555555555555555556*m_dx[0]*m_dx[1];
2857      const double w49 = -0.04836181677178996241*h1*h2/h0;      const double w51 = -0.055555555555555555556*m_dx[0]*m_dx[2];
2858      const double w50 = 0.0034722222222222222222*h0*h2/h1;      const double w52 = -0.027777777777777777778*m_dx[0]*m_dx[1];
2859      const double w51 = -0.0009303791403858427308*h0*h1/h2;      const double w53 = -0.013888888888888888889*m_dx[1]*m_dx[2];
2860      const double w52 = -0.012958509748503046158*h0*h1/h2;      const double w54 = 0.0000415490565535247835*m_dx[0]*m_dx[1]*m_dx[2];
2861      const double w53 = 0.0034722222222222222222*h1*h2/h0;      const double w55 = 0.0005787037037037037037*m_dx[0]*m_dx[1]*m_dx[2];
2862      const double w54 = 0.00024929433932114870101*h0*h1/h2;      const double w56 = 0.0080603027952983270684*m_dx[0]*m_dx[1]*m_dx[2];
2863      const double w55 = 0.04836181677178996241*h0*h2/h1;      const double w57 = 0.0001550631900643071218*m_dx[0]*m_dx[1]*m_dx[2];
2864      const double w56 = 0.04836181677178996241*h1*h2/h0;      const double w58 = 0.002159751624750507693*m_dx[0]*m_dx[1]*m_dx[2];
2865      const double w57 = 0.04836181677178996241*h0*h1/h2;      const double w59 = 0.03008145955644280058*m_dx[0]*m_dx[1]*m_dx[2];
2866      const double w58 = 0.00024929433932114870101*h1*h2/h0;      const double w60 = 0.000011133036149792012194*m_dx[0]*m_dx[1]*m_dx[2];
2867      const double w59 = 0.00024929433932114870101*h0*h2/h1;      const double w61 = -0.077751058491018276948*m_dx[1]*m_dx[2];
2868      const double w60 = 0.055555555555555555556*h1*h2/h0;      const double w62 = -0.077751058491018276948*m_dx[0]*m_dx[2];
2869      const double w61 = 0.041666666666666666667*h2;      const double w63 = -0.077751058491018276948*m_dx[0]*m_dx[1];
2870      const double w62 = -0.083333333333333333333*h1;      const double w64 = -0.020833333333333333333*m_dx[0]*m_dx[2];
2871      const double w63 = 0.055555555555555555556*h0*h2/h1;      const double w65 = -0.020833333333333333333*m_dx[0]*m_dx[1];
2872      const double w64 = -0.083333333333333333333*h0;      const double w66 = -0.020833333333333333333*m_dx[1]*m_dx[2];
2873      const double w65 = 0.083333333333333333333*h1;      const double w67 = -0.0055822748423150563848*m_dx[0]*m_dx[1];
2874      const double w66 = 0.083333333333333333333*h0;      const double w68 = -0.0055822748423150563848*m_dx[0]*m_dx[2];
2875      const double w67 = -0.11111111111111111111*h0*h1/h2;      const double w69 = -0.0055822748423150563848*m_dx[1]*m_dx[2];
2876      const double w68 = -0.055555555555555555556*h1*h2/h0;      const double w70 = 0.061320326520293008568*m_dx[0]*m_dx[1]*m_dx[2];
2877      const double w69 = -0.083333333333333333333*h2;      const double w71 = 0.01643073197072526838*m_dx[0]*m_dx[1]*m_dx[2];
2878      const double w70 = -0.041666666666666666667*h1;      const double w72 = 0.004402601362608064953*m_dx[0]*m_dx[1]*m_dx[2];
2879      const double w71 = -0.055555555555555555556*h0*h2/h1;      const double w73 = 0.0011796734797069914318*m_dx[0]*m_dx[1]*m_dx[2];
2880      const double w72 = -0.041666666666666666667*h0;      /* GENERATOR SNIP_PDE_SINGLE_PRE BOTTOM */
     const double w73 = 0.041666666666666666667*h1;  
     const double w74 = 0.041666666666666666667*h0;  
     const double w75 = 0.027777777777777777778*h0*h1/h2;  
     const double w76 = 0.083333333333333333333*h2;  
     const double w77 = -0.11111111111111111111*h0*h2/h1;  
     const double w78 = 0.055555555555555555556*h0*h1/h2;  
     const double w79 = -0.11111111111111111111*h1*h2/h0;  
     const double w80 = -0.027777777777777777778*h1*h2/h0;  
     const double w81 = -0.041666666666666666667*h2;  
     const double w82 = -0.027777777777777777778*h0*h2/h1;  
     const double w83 = -0.027777777777777777778*h0*h1/h2;  
     const double w84 = 0.027777777777777777778*h0*h2/h1;  
     const double w85 = -0.055555555555555555556*h0*h1/h2;  
     const double w86 = 0.11111111111111111111*h1*h2/h0;  
     const double w87 = 0.11111111111111111111*h0*h2/h1;  
     const double w88 = 0.11111111111111111111*h0*h1/h2;  
     const double w89 = 0.027777777777777777778*h1*h2/h0;  
     const double w90 = 0.0001966122466178319053*h1*h2;  
     const double w91 = 0.0001966122466178319053*h0*h2;  
     const double w92 = 0.0001966122466178319053*h0*h1;  
     const double w93 = 0.0007337668937680108255*h1*h2;  
     const double w94 = 0.0027384553284542113967*h0*h2;  
     const double w95 = 0.0027384553284542113967*h0*h1;  
     const double w96 = 0.0027384553284542113967*h1*h2;  
     const double w97 = 0.0007337668937680108255*h0*h2;  
     const double w98 = 0.010220054420048834761*h1*h2;  
     const double w99 = 0.010220054420048834761*h0*h2;  
     const double w100 = 0.038141762351741127649*h0*h1;  
     const double w101 = 0.000052682092703316795705*h0*h1;  
     const double w102 = 0.0007337668937680108255*h0*h1;  
     const double w103 = 0.010220054420048834761*h0*h1;  
     const double w104 = -0.0001966122466178319053*h1*h2;  
     const double w105 = -0.0001966122466178319053*h0*h2;  
     const double w106 = -0.0007337668937680108255*h1*h2;  
     const double w107 = -0.0007337668937680108255*h0*h2;  
     const double w108 = -0.0027384553284542113967*h1*h2;  
     const double w109 = -0.0027384553284542113967*h0*h2;  
     const double w110 = -0.010220054420048834761*h1*h2;  
     const double w111 = -0.010220054420048834761*h0*h2;  
     const double w112 = -0.0007337668937680108255*h0*h1;  
     const double w113 = -0.010220054420048834761*h0*h1;  
     const double w114 = -0.038141762351741127649*h0*h2;  
     const double w115 = -0.000052682092703316795705*h0*h2;  
     const double w116 = -0.0001966122466178319053*h0*h1;  
     const double w117 = -0.0027384553284542113967*h0*h1;  
     const double w118 = 0.000052682092703316795705*h0*h2;  
     const double w119 = 0.038141762351741127649*h0*h2;  
     const double w120 = 0.000052682092703316795705*h1*h2;  
     const double w121 = 0.038141762351741127649*h1*h2;  
     const double w122 = -0.000052682092703316795705*h0*h1;  
     const double w123 = -0.038141762351741127649*h0*h1;  
     const double w124 = -0.000052682092703316795705*h1*h2;  
     const double w125 = -0.038141762351741127649*h1*h2;  
     const double w126 = 0.027777777777777777778*h1*h2;  
     const double w127 = 0.027777777777777777778*h0*h2;  
     const double w128 = 0.055555555555555555556*h0*h1;  
     const double w129 = -0.027777777777777777778*h1*h2;  
     const double w130 = -0.027777777777777777778*h0*h2;  
     const double w131 = 0.013888888888888888889*h0*h1;  
     const double w132 = -0.055555555555555555556*h0*h2;  
     const double w133 = -0.027777777777777777778*h0*h1;  
     const double w134 = 0.055555555555555555556*h0*h2;  
     const double w135 = 0.027777777777777777778*h0*h1;  
     const double w136 = -0.013888888888888888889*h0*h1;  
     const double w137 = 0.055555555555555555556*h1*h2;  
     const double w138 = -0.013888888888888888889*h1*h2;  
     const double w139 = -0.013888888888888888889*h0*h2;  
     const double w140 = -0.055555555555555555556*h0*h1;  
     const double w141 = 0.013888888888888888889*h1*h2;  
     const double w142 = 0.013888888888888888889*h0*h2;  
     const double w143 = -0.055555555555555555556*h1*h2;  
     const double w144 = 0.000041549056553524783501*h0*h1*h2;  
     const double w145 = 0.0005787037037037037037*h0*h1*h2;  
     const double w146 = 0.0080603027952983270684*h0*h1*h2;  
     const double w147 = 0.0001550631900643071218*h0*h1*h2;  
     const double w148 = 0.002159751624750507693*h0*h1*h2;  
     const double w149 = 0.03008145955644280058*h0*h1*h2;  
     const double w150 = 0.000011133036149792012204*h0*h1*h2;  
     const double w151 = 0.018518518518518518519*h0*h1*h2;  
     const double w152 = 0.0092592592592592592592*h0*h1*h2;  
     const double w153 = 0.0046296296296296296296*h0*h1*h2;  
     const double w154 = 0.037037037037037037037*h0*h1*h2;  
     const double w155 = -0.077751058491018276949*h1*h2;  
     const double w156 = -0.077751058491018276949*h0*h2;  
     const double w157 = -0.077751058491018276949*h0*h1;  
     const double w158 = -0.020833333333333333333*h0*h2;  
     const double w159 = -0.020833333333333333333*h0*h1;  
     const double w160 = -0.020833333333333333333*h1*h2;  
     const double w161 = -0.0055822748423150563848*h0*h1;  
     const double w162 = -0.0055822748423150563848*h0*h2;  
     const double w163 = -0.0055822748423150563848*h1*h2;  
     const double w164 = 0.077751058491018276949*h1*h2;  
     const double w165 = 0.020833333333333333333*h1*h2;  
     const double w166 = 0.0055822748423150563848*h1*h2;  
     const double w167 = 0.077751058491018276949*h0*h2;  
     const double w168 = 0.020833333333333333333*h0*h2;  
     const double w169 = 0.0055822748423150563848*h0*h2;  
     const double w170 = 0.077751058491018276949*h0*h1;  
     const double w171 = 0.020833333333333333333*h0*h1;  
     const double w172 = 0.0055822748423150563848*h0*h1;  
     const double w173 = -0.25*h1*h2;  
     const double w174 = -0.25*h0*h2;  
     const double w175 = -0.25*h0*h1;  
     const double w176 = 0.25*h1*h2;  
     const double w177 = 0.25*h0*h2;  
     const double w178 = 0.25*h0*h1;  
     const double w179 = 0.061320326520293008568*h0*h1*h2;  
     const double w180 = 0.01643073197072526838*h0*h1*h2;  
     const double w181 = 0.004402601362608064953*h0*h1*h2;  
     const double w182 = 0.0011796734797069914318*h0*h1*h2;  
     const double w183 = 0.125*h0*h1*h2;  
2881    
2882      rhs.requireWrite();      rhs.requireWrite();
2883  #pragma omp parallel  #pragma omp parallel
# Line 3003  void Brick::assemblePDESingle(Paso_Syste Line 2892  void Brick::assemblePDESingle(Paso_Syste
2892                          vector<double> EM_S(8*8, 0);                          vector<double> EM_S(8*8, 0);
2893                          vector<double> EM_F(8, 0);                          vector<double> EM_F(8, 0);
2894                          const index_t e = k0 + m_NE[0]*k1 + m_NE[0]*m_NE[1]*k2;                          const index_t e = k0 + m_NE[0]*k1 + m_NE[0]*m_NE[1]*k2;
2895                            /* GENERATOR SNIP_PDE_SINGLE TOP */
2896                          ///////////////                          ///////////////
2897                          // process A //                          // process A //
2898                          ///////////////                          ///////////////
2899                          if (!A.isEmpty()) {                          if (!A.isEmpty()) {
2900                              add_EM_S=true;                              add_EM_S = true;
2901                              const double* A_p=const_cast<escript::Data*>(&A)->getSampleDataRO(e);                              const double* A_p = const_cast<escript::Data*>(&A)->getSampleDataRO(e);
2902                              if (A.actsExpanded()) {                              if (A.actsExpanded()) {
2903                                  const double A_00_0 = A_p[INDEX3(0,0,0,3,3)];                                  const double A_00_0 = A_p[INDEX3(0,0,0,3,3)];
2904                                  const double A_01_0 = A_p[INDEX3(0,1,0,3,3)];                                  const double A_01_0 = A_p[INDEX3(0,1,0,3,3)];
# Line 3082  void Brick::assemblePDESingle(Paso_Syste Line 2972  void Brick::assemblePDESingle(Paso_Syste
2972                                  const double A_20_7 = A_p[INDEX3(2,0,7,3,3)];                                  const double A_20_7 = A_p[INDEX3(2,0,7,3,3)];
2973                                  const double A_21_7 = A_p[INDEX3(2,1,7,3,3)];                                  const double A_21_7 = A_p[INDEX3(2,1,7,3,3)];
2974                                  const double A_22_7 = A_p[INDEX3(2,2,7,3,3)];                                  const double A_22_7 = A_p[INDEX3(2,2,7,3,3)];
2975                                  const double tmp160_0 = A_12_0 + A_12_6 + A_21_0 + A_21_6;                                  const double tmp0 = w18*(-A_12_7 + A_21_3);
2976                                  const double tmp8_0 = A_21_0 + A_21_6;                                  const double tmp1 = w13*(A_22_1 + A_22_2 + A_22_5 + A_22_6);
2977                                  const double tmp135_0 = A_10_1 + A_10_2 + A_10_5 + A_10_6;                                  const double tmp2 = w11*(-A_02_2 - A_02_5 + A_20_1 + A_20_6);
2978                                  const double tmp67_0 = A_02_2 + A_02_7;                                  const double tmp3 = w14*(A_00_2 + A_00_3 + A_00_6 + A_00_7);
2979                                  const double tmp211_0 = A_12_6 + A_21_6;                                  const double tmp4 = w7*(A_22_0 + A_22_4);
2980                                  const double tmp180_0 = A_10_2 + A_10_6;                                  const double tmp5 = w10*(A_12_1 + A_12_6 - A_21_2 - A_21_5);
2981                                  const double tmp37_0 = A_00_0 + A_00_1 + A_00_2 + A_00_3;                                  const double tmp6 = w3*(A_11_0 + A_11_2 + A_11_4 + A_11_6);
2982                                  const double tmp92_0 = A_11_0 + A_11_1 + A_11_2 + A_11_3 + A_11_4 + A_11_5 + A_11_6 + A_11_7;                                  const double tmp7 = w1*(A_01_0 + A_01_4 + A_10_0 + A_10_4);
2983                                  const double tmp195_0 = A_02_2 + A_20_2;                                  const double tmp8 = w4*(A_12_0 - A_21_4);
2984                                  const double tmp70_0 = A_01_0 + A_01_7;                                  const double tmp9 = w15*(-A_02_3 - A_02_6 + A_20_2 + A_20_7);
2985                                  const double tmp139_0 = A_02_3 + A_02_4 + A_20_1 + A_20_6;                                  const double tmp10 = w0*(A_00_0 + A_00_1 + A_00_4 + A_00_5);
2986                                  const double tmp200_0 = A_12_3 + A_12_5 + A_21_3 + A_21_5;                                  const double tmp11 = w16*(A_01_3 + A_01_7 + A_10_3 + A_10_7);
2987                                  const double tmp60_0 = A_22_0 + A_22_2 + A_22_4 + A_22_6;                                  const double tmp12 = w9*(A_11_1 + A_11_3 + A_11_5 + A_11_7);
2988                                  const double tmp192_0 = A_01_5 + A_10_5;                                  const double tmp13 = w12*(-A_12_3 - A_12_5 + A_21_1 + A_21_7);
2989                                  const double tmp46_0 = A_21_0 + A_21_7;                                  const double tmp14 = w5*(-A_02_1 - A_02_4 + A_20_0 + A_20_5);
2990                                  const double tmp48_0 = A_10_0 + A_10_7;                                  const double tmp15 = w8*(A_01_1 + A_01_2 + A_01_5 + A_01_6 + A_10_1 + A_10_2 + A_10_5 + A_10_6);
2991                                  const double tmp166_0 = A_11_5 + A_11_7;                                  const double tmp16 = w6*(-A_12_2 - A_12_4 + A_21_0 + A_21_6);
2992                                  const double tmp221_0 = A_02_1 + A_02_6 + A_20_3 + A_20_4;                                  const double tmp17 = w19*(A_22_3 + A_22_7);
2993                                  const double tmp50_0 = A_02_4 + A_02_6 + A_20_4 + A_20_6;                                  const double tmp18 = w17*(-A_02_7 + A_20_3);
2994                                  const double tmp217_0 = A_02_3 + A_02_4 + A_20_3 + A_20_4;                                  const double tmp19 = w2*(A_02_0 - A_20_4);
2995                                  const double tmp216_0 = A_01_2 + A_01_5 + A_10_2 + A_10_5;                                  const double tmp20 = w13*(-A_22_0 - A_22_1 - A_22_2 - A_22_3 - A_22_4 - A_22_5 - A_22_6 - A_22_7);
2996                                  const double tmp104_0 = A_22_2 + A_22_6;                                  const double tmp21 = w11*(-A_02_1 - A_02_3 - A_02_4 - A_02_6 + A_20_0 + A_20_2 + A_20_5 + A_20_7);
2997                                  const double tmp72_0 = A_20_3 + A_20_6;                                  const double tmp22 = w14*(-A_00_4 - A_00_5 - A_00_6 - A_00_7);
2998                                  const double tmp79_0 = A_10_4 + A_10_7;                                  const double tmp23 = w20*(A_01_2 + A_10_1);
2999                                  const double tmp86_0 = A_01_2 + A_01_6 + A_10_1 + A_10_5;                                  const double tmp24 = w10*(A_12_2 + A_12_3 + A_12_4 + A_12_5 - A_21_0 - A_21_1 - A_21_6 - A_21_7);
3000                                  const double tmp214_0 = A_12_0 + A_12_7 + A_21_0 + A_21_7;                                  const double tmp25 = w3*(-A_11_0 - A_11_1 - A_11_2 - A_11_3);
3001                                  const double tmp32_0 = A_02_0 + A_02_2;                                  const double tmp26 = w1*(-A_01_0 - A_01_3 - A_10_0 - A_10_3);
3002                                  const double tmp112_0 = A_01_0 + A_01_4 + A_10_3 + A_10_7;                                  const double tmp27 = w15*(-A_02_5 - A_02_7 + A_20_4 + A_20_6);
3003                                  const double tmp197_0 = A_12_0 + A_21_0;                                  const double tmp28 = w0*(-A_00_0 - A_00_1 - A_00_2 - A_00_3);
3004                                  const double tmp106_0 = A_22_1 + A_22_5;                                  const double tmp29 = w16*(-A_01_4 - A_01_7 - A_10_4 - A_10_7);
3005                                  const double tmp2_0 = A_00_0 + A_00_1 + A_00_4 + A_00_5;                                  const double tmp30 = w9*(-A_11_4 - A_11_5 - A_11_6 - A_11_7);
3006                                  const double tmp115_0 = A_02_5 + A_02_7 + A_20_0 + A_20_2;                                  const double tmp31 = w21*(A_01_5 + A_10_6);
3007                                  const double tmp175_0 = A_01_3 + A_01_7;                                  const double tmp32 = w12*(-A_12_6 - A_12_7 + A_21_4 + A_21_5);
3008                                  const double tmp126_0 = A_01_2 + A_01_5 + A_10_1 + A_10_6;                                  const double tmp33 = w5*(-A_02_0 - A_02_2 + A_20_1 + A_20_3);
3009                                  const double tmp90_0 = A_00_0 + A_00_1 + A_00_2 + A_00_3 + A_00_4 + A_00_5 + A_00_6 + A_00_7;                                  const double tmp34 = w8*(-A_01_1 - A_01_6 - A_10_2 - A_10_5);
3010                                  const double tmp47_0 = A_12_0 + A_12_6;                                  const double tmp35 = w6*(-A_12_0 - A_12_1 + A_21_2 + A_21_3);
3011                                  const double tmp205_0 = A_02_7 + A_20_7;                                  const double tmp36 = w20*(-A_01_6 + A_10_4);
3012                                  const double tmp148_0 = A_01_3 + A_01_4;                                  const double tmp37 = w18*(A_12_3 - A_21_1);
3013                                  const double tmp113_0 = A_01_3 + A_01_7 + A_10_0 + A_10_4;                                  const double tmp38 = w11*(-A_02_0 - A_02_2 - A_02_5 - A_02_7 - A_20_0 - A_20_2 - A_20_5 - A_20_7);
3014                                  const double tmp43_0 = A_20_4 + A_20_6;                                  const double tmp39 = w14*(A_00_0 + A_00_1 + A_00_2 + A_00_3);
3015                                  const double tmp161_0 = A_02_1 + A_02_6 + A_20_1 + A_20_6;                                  const double tmp40 = w26*(A_11_4 + A_11_6);
3016                                  const double tmp69_0 = A_12_0 + A_12_1 + A_12_6 + A_12_7 + A_21_0 + A_21_1 + A_21_6 + A_21_7;                                  const double tmp41 = w0*(A_00_4 + A_00_5 + A_00_6 + A_00_7);
3017                                  const double tmp176_0 = A_01_1 + A_01_2 + A_01_5 + A_01_6;                                  const double tmp42 = w10*(-A_12_2 - A_12_5 + A_21_0 + A_21_7);
3018                                  const double tmp105_0 = A_01_2 + A_01_6 + A_10_2 + A_10_6;                                  const double tmp43 = w22*(A_11_0 + A_11_2 + A_11_5 + A_11_7);
3019                                  const double tmp22_0 = A_01_5 + A_10_6;                                  const double tmp44 = w1*(A_01_4 + A_01_7 - A_10_5 - A_10_6);
3020                                  const double tmp91_0 = A_02_4 + A_02_6 + A_20_1 + A_20_3;                                  const double tmp45 = w25*(A_22_1 + A_22_3 + A_22_5 + A_22_7);
3021                                  const double tmp206_0 = A_12_7 + A_21_7;                                  const double tmp46 = w4*(-A_12_4 + A_21_6);
3022                                  const double tmp188_0 = A_02_5 + A_20_5;                                  const double tmp47 = w15*(-A_02_1 - A_02_3 - A_20_1 - A_20_3);
3023                                  const double tmp117_0 = A_21_1 + A_21_6;                                  const double tmp48 = w21*(-A_01_1 + A_10_3);
3024                                  const double tmp165_0 = A_01_1 + A_01_6;                                  const double tmp49 = w16*(A_01_0 + A_01_3 - A_10_1 - A_10_2);
3025                                  const double tmp66_0 = A_00_4 + A_00_5;                                  const double tmp50 = w5*(-A_02_4 - A_02_6 - A_20_4 - A_20_6);
3026                                  const double tmp57_0 = A_02_0 + A_02_2 + A_02_5 + A_02_7 + A_20_0 + A_20_2 + A_20_5 + A_20_7;                                  const double tmp51 = w12*(A_12_1 + A_12_7 - A_21_3 - A_21_5);
3027                                  const double tmp31_0 = A_21_4 + A_21_5;                                  const double tmp52 = w24*(A_11_1 + A_11_3);
3028                                  const double tmp3_0 = A_11_0 + A_11_2 + A_11_4 + A_11_6;                                  const double tmp53 = w8*(A_01_2 + A_01_5 - A_10_0 - A_10_7);
3029                                  const double tmp183_0 = A_12_0 + A_12_7;                                  const double tmp54 = w6*(A_12_0 + A_12_6 - A_21_2 - A_21_4);
3030                                  const double tmp61_0 = A_02_1 + A_02_3 + A_20_1 + A_20_3;                                  const double tmp55 = w23*(A_22_0 + A_22_2 + A_22_4 + A_22_6);
3031                                  const double tmp54_0 = A_10_5 + A_10_6;                                  const double tmp56 = w18*(A_12_4 - A_21_6);
3032                                  const double tmp18_0 = A_02_3 + A_02_6;                                  const double tmp57 = w14*(A_00_4 + A_00_5 + A_00_6 + A_00_7);
3033                                  const double tmp119_0 = A_12_2 + A_12_3 + A_12_4 + A_12_5 + A_21_2 + A_21_3 + A_21_4 + A_21_5;                                  const double tmp58 = w26*(A_11_1 + A_11_3);
3034                                  const double tmp29_0 = A_21_2 + A_21_3;                                  const double tmp59 = w20*(-A_01_1 + A_10_3);
3035                                  const double tmp17_0 = A_01_3 + A_01_7 + A_10_3 + A_10_7;                                  const double tmp60 = w1*(A_01_0 + A_01_3 - A_10_1 - A_10_2);
3036                                  const double tmp212_0 = A_02_6 + A_20_6;                                  const double tmp61 = w25*(A_22_0 + A_22_2 + A_22_4 + A_22_6);
3037                                  const double tmp220_0 = A_02_3 + A_20_6;                                  const double tmp62 = w4*(-A_12_3 + A_21_1);
3038                                  const double tmp78_0 = A_20_0 + A_20_7;                                  const double tmp63 = w15*(-A_02_4 - A_02_6 - A_20_4 - A_20_6);
3039                                  const double tmp215_0 = A_01_6 + A_10_6;                                  const double tmp64 = w0*(A_00_0 + A_00_1 + A_00_2 + A_00_3);
3040                                  const double tmp203_0 = A_01_7 + A_10_7;                                  const double tmp65 = w16*(A_01_4 + A_01_7 - A_10_5 - A_10_6);
3041                                  const double tmp87_0 = A_12_2 + A_12_3 + A_21_4 + A_21_5;                                  const double tmp66 = w24*(A_11_4 + A_11_6);
3042                                  const double tmp114_0 = A_02_0 + A_02_2 + A_20_5 + A_20_7;                                  const double tmp67 = w21*(-A_01_6 + A_10_4);
3043                                  const double tmp0_0 = A_01_0 + A_01_4 + A_10_0 + A_10_4;                                  const double tmp68 = w12*(A_12_0 + A_12_6 - A_21_2 - A_21_4);
3044                                  const double tmp202_0 = A_01_3 + A_01_4 + A_10_3 + A_10_4;                                  const double tmp69 = w5*(-A_02_1 - A_02_3 - A_20_1 - A_20_3);
3045                                  const double tmp4_0 = A_20_0 + A_20_5;                                  const double tmp70 = w6*(A_12_1 + A_12_7 - A_21_3 - A_21_5);
3046                                  const double tmp65_0 = A_00_2 + A_00_3;                                  const double tmp71 = w23*(A_22_1 + A_22_3 + A_22_5 + A_22_7);
3047                                  const double tmp24_0 = A_20_1 + A_20_3;                                  const double tmp72 = w20*(A_01_5 + A_10_6);
3048                                  const double tmp64_0 = A_10_0 + A_10_3;                                  const double tmp73 = w14*(-A_00_0 - A_00_1 - A_00_2 - A_00_3);
3049                                  const double tmp170_0 = A_02_0 + A_02_2 + A_20_0 + A_20_2;                                  const double tmp74 = w0*(-A_00_4 - A_00_5 - A_00_6 - A_00_7);
3050                                  const double tmp11_0 = A_20_1 + A_20_6;                                  const double tmp75 = w3*(-A_11_4 - A_11_5 - A_11_6 - A_11_7);
3051                                  const double tmp82_0 = A_12_4 + A_12_5 + A_21_4 + A_21_5;                                  const double tmp76 = w1*(-A_01_4 - A_01_7 - A_10_4 - A_10_7);
3052                                  const double tmp99_0 = A_01_4 + A_10_7;                                  const double tmp77 = w15*(-A_02_0 - A_02_2 + A_20_1 + A_20_3);
3053                                  const double tmp49_0 = A_12_1 + A_12_7;                                  const double tmp78 = w21*(A_01_2 + A_10_1);
3054                                  const double tmp130_0 = A_12_0 + A_12_1 + A_12_6 + A_12_7;                                  const double tmp79 = w16*(-A_01_0 - A_01_3 - A_10_0 - A_10_3);
3055                                  const double tmp144_0 = A_01_0 + A_10_3;                                  const double tmp80 = w9*(-A_11_0 - A_11_1 - A_11_2 - A_11_3);
3056                                  const double tmp109_0 = A_22_0 + A_22_3 + A_22_4 + A_22_7;                                  const double tmp81 = w12*(-A_12_0 - A_12_1 + A_21_2 + A_21_3);
3057                                  const double tmp185_0 = A_02_0 + A_02_7 + A_20_2 + A_20_5;                                  const double tmp82 = w5*(-A_02_5 - A_02_7 + A_20_4 + A_20_6);
3058                                  const double tmp157_0 = A_01_4 + A_10_4;                                  const double tmp83 = w6*(-A_12_6 - A_12_7 + A_21_4 + A_21_5);
3059                                  const double tmp51_0 = A_22_1 + A_22_3 + A_22_5 + A_22_7;                                  const double tmp84 = w6*(-A_12_2 - A_12_3 - A_21_2 - A_21_3);
3060                                  const double tmp146_0 = A_00_6 + A_00_7;                                  const double tmp85 = w11*(A_02_1 + A_02_6 - A_20_0 - A_20_7);
3061                                  const double tmp147_0 = A_12_0 + A_12_1 + A_21_0 + A_21_1;                                  const double tmp86 = w20*(A_01_3 - A_10_2);
3062                                  const double tmp150_0 = A_00_2 + A_00_3 + A_00_4 + A_00_5;                                  const double tmp87 = w10*(A_12_0 + A_12_1 + A_12_6 + A_12_7 + A_21_0 + A_21_1 + A_21_6 + A_21_7);
3063                                  const double tmp62_0 = A_21_3 + A_21_5;                                  const double tmp88 = w3*(A_11_0 + A_11_1 + A_11_2 + A_11_3);
3064                                  const double tmp223_0 = A_12_2 + A_21_4;                                  const double tmp89 = w23*(A_22_2 + A_22_3 + A_22_6 + A_22_7);
3065                                  const double tmp16_0 = A_02_2 + A_02_5;                                  const double tmp90 = w1*(-A_01_1 - A_01_2 + A_10_0 + A_10_3);
3066                                  const double tmp168_0 = A_11_1 + A_11_3 + A_11_4 + A_11_6;                                  const double tmp91 = w25*(A_22_0 + A_22_1 + A_22_4 + A_22_5);
3067                                  const double tmp88_0 = A_12_4 + A_12_5 + A_21_2 + A_21_3;                                  const double tmp92 = w15*(A_02_0 + A_02_5 - A_20_1 - A_20_4);
3068                                  const double tmp142_0 = A_01_7 + A_10_4;                                  const double tmp93 = w21*(A_01_4 - A_10_5);
3069                                  const double tmp34_0 = A_20_0 + A_20_2 + A_20_5 + A_20_7;                                  const double tmp94 = w16*(-A_01_5 - A_01_6 + A_10_4 + A_10_7);
3070                                  const double tmp71_0 = A_00_0 + A_00_1 + A_00_6 + A_00_7;                                  const double tmp95 = w28*(A_00_2 + A_00_3);
3071                                  const double tmp213_0 = A_02_1 + A_20_1;                                  const double tmp96 = w12*(-A_12_4 - A_12_5 - A_21_4 - A_21_5);
3072                                  const double tmp227_0 = A_12_2 + A_12_5 + A_21_3 + A_21_4;                                  const double tmp97 = w29*(A_00_4 + A_00_5);
3073                                  const double tmp228_0 = A_12_1 + A_21_7;                                  const double tmp98 = w5*(A_02_2 + A_02_7 - A_20_3 - A_20_6);
3074                                  const double tmp140_0 = A_01_2 + A_01_6;                                  const double tmp99 = w8*(-A_01_0 - A_01_7 + A_10_1 + A_10_6);
3075                                  const double tmp74_0 = A_22_0 + A_22_1 + A_22_4 + A_22_5;                                  const double tmp100 = w9*(A_11_4 + A_11_5 + A_11_6 + A_11_7);
3076                                  const double tmp167_0 = A_11_0 + A_11_2;                                  const double tmp101 = w27*(A_00_0 + A_00_1 + A_00_6 + A_00_7);
3077                                  const double tmp143_0 = A_01_3 + A_01_4 + A_10_0 + A_10_7;                                  const double tmp102 = w17*(A_02_4 - A_20_5);
3078                                  const double tmp83_0 = A_02_0 + A_02_5;                                  const double tmp103 = w2*(-A_02_3 + A_20_2);
3079                                  const double tmp14_0 = A_22_1 + A_22_2 + A_22_5 + A_22_6;                                  const double tmp104 = w13*(A_22_0 + A_22_1 + A_22_2 + A_22_3 + A_22_4 + A_22_5 + A_22_6 + A_22_7);
3080                                  const double tmp5_0 = A_12_1 + A_12_6;                                  const double tmp105 = w6*(-A_12_4 - A_12_5 - A_21_2 - A_21_3);
3081                                  const double tmp94_0 = A_02_1 + A_02_3;                                  const double tmp106 = w22*(A_11_0 + A_11_1 + A_11_2 + A_11_3 + A_11_4 + A_11_5 + A_11_6 + A_11_7);
3082                                  const double tmp193_0 = A_01_1 + A_01_6 + A_10_1 + A_10_6;                                  const double tmp107 = w1*(-A_01_2 - A_01_6 - A_10_1 - A_10_5);
3083                                  const double tmp97_0 = A_02_0 + A_02_2 + A_02_5 + A_02_7;                                  const double tmp108 = w15*(-A_02_1 - A_02_3 - A_20_4 - A_20_6);
3084                                  const double tmp131_0 = A_01_1 + A_01_5;                                  const double tmp109 = w16*(-A_01_1 - A_01_5 - A_10_2 - A_10_6);
3085                                  const double tmp124_0 = A_01_6 + A_10_5;                                  const double tmp110 = w12*(-A_12_2 - A_12_3 - A_21_4 - A_21_5);
3086                                  const double tmp149_0 = A_12_6 + A_12_7 + A_21_6 + A_21_7;                                  const double tmp111 = w5*(-A_02_4 - A_02_6 - A_20_1 - A_20_3);
3087                                  const double tmp187_0 = A_01_2 + A_10_2;                                  const double tmp112 = w8*(-A_01_0 - A_01_3 - A_01_4 - A_01_7 - A_10_0 - A_10_3 - A_10_4 - A_10_7);
3088                                  const double tmp93_0 = A_01_1 + A_01_2 + A_10_1 + A_10_2;                                  const double tmp113 = w27*(A_00_0 + A_00_1 + A_00_2 + A_00_3 + A_00_4 + A_00_5 + A_00_6 + A_00_7);
3089                                  const double tmp25_0 = A_01_4 + A_01_7 + A_10_4 + A_10_7;                                  const double tmp114 = w11*(A_02_0 + A_02_2 + A_02_5 + A_02_7 - A_20_1 - A_20_3 - A_20_4 - A_20_6);
3090                                  const double tmp156_0 = A_12_2 + A_12_5 + A_21_2 + A_21_5;                                  const double tmp115 = w21*(-A_01_4 - A_10_7);
3091                                  const double tmp20_0 = A_21_2 + A_21_5;                                  const double tmp116 = w20*(-A_01_3 - A_10_0);
3092                                  const double tmp55_0 = A_21_2 + A_21_4;                                  const double tmp117 = w15*(A_02_4 + A_02_6 - A_20_5 - A_20_7);
3093                                  const double tmp208_0 = A_12_1 + A_12_6 + A_21_0 + A_21_7;                                  const double tmp118 = w16*(A_01_5 + A_01_6 + A_10_5 + A_10_6);
3094                                  const double tmp125_0 = A_12_4 + A_12_5;                                  const double tmp119 = w5*(A_02_1 + A_02_3 - A_20_0 - A_20_2);
3095                                  const double tmp158_0 = A_01_0 + A_01_7 + A_10_0 + A_10_7;                                  const double tmp120 = w8*(A_01_0 + A_01_7 + A_10_3 + A_10_4);
3096                                  const double tmp108_0 = A_01_1 + A_01_5 + A_10_1 + A_10_5;                                  const double tmp121 = w1*(A_01_1 + A_01_2 + A_10_1 + A_10_2);
3097                                  const double tmp199_0 = A_12_2 + A_12_4 + A_21_2 + A_21_4;                                  const double tmp122 = w18*(A_12_2 - A_21_6);
3098                                  const double tmp10_0 = A_02_1 + A_02_4;                                  const double tmp123 = w13*(A_22_0 + A_22_3 + A_22_4 + A_22_7);
3099                                  const double tmp182_0 = A_02_3 + A_02_6 + A_20_3 + A_20_6;                                  const double tmp124 = w11*(-A_02_0 - A_02_7 + A_20_3 + A_20_4);
3100                                  const double tmp132_0 = A_02_1 + A_20_4;                                  const double tmp125 = w7*(A_22_1 + A_22_5);
3101                                  const double tmp191_0 = A_12_3 + A_12_4 + A_21_3 + A_21_4;                                  const double tmp126 = w10*(-A_12_3 - A_12_4 + A_21_0 + A_21_7);
3102                                  const double tmp35_0 = A_11_0 + A_11_1 + A_11_2 + A_11_3;                                  const double tmp127 = w3*(A_11_1 + A_11_3 + A_11_5 + A_11_7);
3103                                  const double tmp164_0 = A_10_3 + A_10_4;                                  const double tmp128 = w1*(-A_01_1 - A_01_5 - A_10_1 - A_10_5);
3104                                  const double tmp190_0 = A_12_5 + A_21_5;                                  const double tmp129 = w4*(-A_12_5 + A_21_1);
3105                                  const double tmp73_0 = A_02_1 + A_02_6;                                  const double tmp130 = w16*(-A_01_2 - A_01_6 - A_10_2 - A_10_6);
3106                                  const double tmp98_0 = A_01_0 + A_01_7 + A_10_3 + A_10_4;                                  const double tmp131 = w9*(A_11_0 + A_11_2 + A_11_4 + A_11_6);
3107                                  const double tmp225_0 = A_12_4 + A_21_2;                                  const double tmp132 = w19*(A_22_2 + A_22_6);
3108                                  const double tmp103_0 = A_02_4 + A_02_6;                                  const double tmp133 = w17*(-A_02_2 + A_20_6);
3109                                  const double tmp194_0 = A_02_0 + A_02_7 + A_20_0 + A_20_7;                                  const double tmp134 = w2*(A_02_5 - A_20_1);
3110                                  const double tmp207_0 = A_12_0 + A_21_6;                                  const double tmp135 = w11*(A_02_1 + A_02_3 + A_02_4 + A_02_6 + A_20_1 + A_20_3 + A_20_4 + A_20_6);
3111                                  const double tmp102_0 = A_20_5 + A_20_7;                                  const double tmp136 = w1*(A_01_3 + A_01_7 + A_10_0 + A_10_4);
3112                                  const double tmp1_0 = A_22_3 + A_22_7;                                  const double tmp137 = w15*(A_02_0 + A_02_2 + A_20_5 + A_20_7);
3113                                  const double tmp172_0 = A_10_1 + A_10_5;                                  const double tmp138 = w16*(A_01_0 + A_01_4 + A_10_3 + A_10_7);
3114                                  const double tmp222_0 = A_12_5 + A_21_3;                                  const double tmp139 = w5*(A_02_5 + A_02_7 + A_20_0 + A_20_2);
3115                                  const double tmp201_0 = A_02_2 + A_02_5 + A_20_2 + A_20_5;                                  const double tmp140 = w18*(A_12_5 - A_21_1);
3116                                  const double tmp155_0 = A_12_4 + A_21_4;                                  const double tmp141 = w14*(A_00_0 + A_00_1 + A_00_4 + A_00_5);
3117                                  const double tmp174_0 = A_02_1 + A_02_4 + A_20_1 + A_20_4;                                  const double tmp142 = w7*(A_22_2 + A_22_6);
3118                                  const double tmp59_0 = A_01_0 + A_01_3;                                  const double tmp143 = w1*(-A_01_2 - A_01_6 - A_10_2 - A_10_6);
3119                                  const double tmp21_0 = A_20_2 + A_20_7;                                  const double tmp144 = w4*(-A_12_2 + A_21_6);
3120                                  const double tmp141_0 = A_02_2 + A_02_7 + A_20_2 + A_20_7;                                  const double tmp145 = w15*(-A_02_1 - A_02_4 + A_20_0 + A_20_5);
3121                                  const double tmp210_0 = A_01_1 + A_10_1;                                  const double tmp146 = w0*(A_00_2 + A_00_3 + A_00_6 + A_00_7);
3122                                  const double tmp145_0 = A_00_0 + A_00_1;                                  const double tmp147 = w16*(-A_01_1 - A_01_5 - A_10_1 - A_10_5);
3123                                  const double tmp121_0 = A_12_0 + A_12_1 + A_21_6 + A_21_7;                                  const double tmp148 = w5*(-A_02_3 - A_02_6 + A_20_2 + A_20_7);
3124                                  const double tmp224_0 = A_12_3 + A_12_4 + A_21_2 + A_21_5;                                  const double tmp149 = w19*(A_22_1 + A_22_5);
3125                                  const double tmp186_0 = A_02_2 + A_20_7;                                  const double tmp150 = w17*(-A_02_5 + A_20_1);
3126                                  const double tmp53_0 = A_11_4 + A_11_6;                                  const double tmp151 = w2*(A_02_2 - A_20_6);
3127                                  const double tmp184_0 = A_02_5 + A_20_0;                                  const double tmp152 = w18*(A_12_3 - A_21_7);
3128                                  const double tmp38_0 = A_12_0 + A_12_1;                                  const double tmp153 = w11*(A_02_1 + A_02_6 - A_20_2 - A_20_5);
3129                                  const double tmp12_0 = A_01_1 + A_01_2 + A_01_5 + A_01_6 + A_10_1 + A_10_2 + A_10_5 + A_10_6;                                  const double tmp154 = w10*(-A_12_2 - A_12_5 + A_21_1 + A_21_6);
3130                                  const double tmp230_0 = A_12_6 + A_21_0;                                  const double tmp155 = w4*(-A_12_4 + A_21_0);
3131                                  const double tmp23_0 = A_11_4 + A_11_5 + A_11_6 + A_11_7;                                  const double tmp156 = w15*(A_02_2 + A_02_7 - A_20_3 - A_20_6);
3132                                  const double tmp81_0 = A_20_1 + A_20_4;                                  const double tmp157 = w5*(A_02_0 + A_02_5 - A_20_1 - A_20_4);
3133                                  const double tmp134_0 = A_10_3 + A_10_7;                                  const double tmp158 = w17*(A_02_3 - A_20_7);
3134                                  const double tmp129_0 = A_21_0 + A_21_1;                                  const double tmp159 = w2*(-A_02_4 + A_20_0);
3135                                  const double tmp137_0 = A_01_0 + A_01_3 + A_01_4 + A_01_7;                                  const double tmp160 = w6*(A_12_6 + A_12_7 + A_21_0 + A_21_1);
3136                                  const double tmp198_0 = A_01_0 + A_10_0;                                  const double tmp161 = w10*(-A_12_2 - A_12_3 - A_12_4 - A_12_5 - A_21_2 - A_21_3 - A_21_4 - A_21_5);
3137                                  const double tmp9_0 = A_21_1 + A_21_7;                                  const double tmp162 = w1*(A_01_0 + A_01_4 + A_10_3 + A_10_7);
3138                                  const double tmp179_0 = A_01_0 + A_01_4;                                  const double tmp163 = w16*(A_01_3 + A_01_7 + A_10_0 + A_10_4);
3139                                  const double tmp100_0 = A_20_1 + A_20_3 + A_20_4 + A_20_6;                                  const double tmp164 = w12*(A_12_0 + A_12_1 + A_21_6 + A_21_7);
3140                                  const double tmp173_0 = A_02_0 + A_20_5;                                  const double tmp165 = w20*(A_01_6 + A_10_5);
3141                                  const double tmp42_0 = A_21_0 + A_21_1 + A_21_6 + A_21_7;                                  const double tmp166 = w10*(-A_12_0 - A_12_1 - A_12_6 - A_12_7 + A_21_2 + A_21_3 + A_21_4 + A_21_5);
3142                                  const double tmp226_0 = A_12_3 + A_21_5;                                  const double tmp167 = w15*(A_02_1 + A_02_3 - A_20_0 - A_20_2);
3143                                  const double tmp6_0 = A_22_0 + A_22_4;                                  const double tmp168 = w21*(A_01_1 + A_10_2);
3144                                  const double tmp218_0 = A_12_1 + A_21_1;                                  const double tmp169 = w12*(A_12_2 + A_12_3 - A_21_0 - A_21_1);
3145                                  const double tmp28_0 = A_01_2 + A_10_1;                                  const double tmp170 = w5*(A_02_4 + A_02_6 - A_20_5 - A_20_7);
3146                                  const double tmp133_0 = A_02_6 + A_20_3;                                  const double tmp171 = w8*(-A_01_2 - A_01_5 - A_10_1 - A_10_6);
3147                                  const double tmp13_0 = A_00_2 + A_00_3 + A_00_6 + A_00_7;                                  const double tmp172 = w6*(A_12_4 + A_12_5 - A_21_6 - A_21_7);
3148                                  const double tmp27_0 = A_12_2 + A_12_3 + A_12_4 + A_12_5;                                  const double tmp173 = w2*(A_02_1 + A_20_4);
3149                                  const double tmp75_0 = A_10_1 + A_10_6;                                  const double tmp174 = w11*(-A_02_3 - A_02_4 - A_20_1 - A_20_6);
3150                                  const double tmp36_0 = A_01_0 + A_01_3 + A_10_0 + A_10_3;                                  const double tmp175 = w14*(-A_00_2 - A_00_3 - A_00_6 - A_00_7);
3151                                  const double tmp138_0 = A_10_0 + A_10_4;                                  const double tmp176 = w22*(-A_11_0 - A_11_1 - A_11_2 - A_11_3 - A_11_4 - A_11_5 - A_11_6 - A_11_7);
3152                                  const double tmp189_0 = A_12_2 + A_21_2;                                  const double tmp177 = w1*(A_01_1 + A_01_5 - A_10_0 - A_10_4);
3153                                  const double tmp181_0 = A_02_7 + A_20_2;                                  const double tmp178 = w25*(-A_22_2 - A_22_3 - A_22_6 - A_22_7);
3154                                  const double tmp85_0 = A_02_1 + A_02_3 + A_20_4 + A_20_6;                                  const double tmp179 = w15*(-A_02_2 - A_02_7 - A_20_2 - A_20_7);
3155                                  const double tmp122_0 = A_01_1 + A_10_2;                                  const double tmp180 = w0*(-A_00_0 - A_00_1 - A_00_4 - A_00_5);
3156                                  const double tmp95_0 = A_01_3 + A_10_0;                                  const double tmp181 = w16*(A_01_2 + A_01_6 - A_10_3 - A_10_7);
3157                                  const double tmp120_0 = A_12_6 + A_12_7 + A_21_0 + A_21_1;                                  const double tmp182 = w12*(-A_12_6 - A_12_7 + A_21_2 + A_21_3);
3158                                  const double tmp196_0 = A_02_0 + A_20_0;                                  const double tmp183 = w5*(-A_02_0 - A_02_5 - A_20_0 - A_20_5);
3159                                  const double tmp171_0 = A_02_3 + A_02_4;                                  const double tmp184 = w8*(A_01_0 + A_01_3 + A_01_4 + A_01_7 - A_10_1 - A_10_2 - A_10_5 - A_10_6);
3160                                  const double tmp204_0 = A_12_1 + A_12_6 + A_21_1 + A_21_6;                                  const double tmp185 = w6*(-A_12_0 - A_12_1 + A_21_4 + A_21_5);
3161                                  const double tmp45_0 = A_10_1 + A_10_2;                                  const double tmp186 = w17*(-A_02_6 - A_20_3);
3162                                  const double tmp101_0 = A_01_5 + A_01_6 + A_10_5 + A_10_6;                                  const double tmp187 = w23*(-A_22_0 - A_22_1 - A_22_4 - A_22_5);
3163                                  const double tmp58_0 = A_11_0 + A_11_2 + A_11_5 + A_11_7;                                  const double tmp188 = w18*(A_12_4 - A_21_0);
3164                                  const double tmp107_0 = A_20_3 + A_20_4;                                  const double tmp189 = w7*(A_22_3 + A_22_7);
3165                                  const double tmp30_0 = A_01_1 + A_01_6 + A_10_2 + A_10_5;                                  const double tmp190 = w1*(A_01_3 + A_01_7 + A_10_3 + A_10_7);
3166                                  const double tmp63_0 = A_12_2 + A_12_5;                                  const double tmp191 = w4*(-A_12_3 + A_21_7);
3167                                  const double tmp127_0 = A_12_2 + A_12_3;                                  const double tmp192 = w16*(A_01_0 + A_01_4 + A_10_0 + A_10_4);
3168                                  const double tmp177_0 = A_02_2 + A_02_5 + A_20_0 + A_20_7;                                  const double tmp193 = w19*(A_22_0 + A_22_4);
3169                                  const double tmp178_0 = A_10_0 + A_10_3 + A_10_4 + A_10_7;                                  const double tmp194 = w17*(A_02_4 - A_20_0);
3170                                  const double tmp76_0 = A_01_1 + A_01_2;                                  const double tmp195 = w2*(-A_02_3 + A_20_7);
3171                                  const double tmp80_0 = A_22_2 + A_22_3 + A_22_6 + A_22_7;                                  const double tmp196 = w20*(-A_01_7 - A_10_4);
3172                                  const double tmp41_0 = A_12_6 + A_12_7;                                  const double tmp197 = w21*(-A_01_0 - A_10_3);
3173                                  const double tmp89_0 = A_01_0 + A_01_3 + A_01_4 + A_01_7 + A_10_0 + A_10_3 + A_10_4 + A_10_7;                                  const double tmp198 = w16*(A_01_1 + A_01_2 + A_10_1 + A_10_2);
3174                                  const double tmp116_0 = A_02_1 + A_02_3 + A_02_4 + A_02_6 + A_20_1 + A_20_3 + A_20_4 + A_20_6;                                  const double tmp199 = w8*(A_01_3 + A_01_4 + A_10_0 + A_10_7);
3175                                  const double tmp33_0 = A_22_0 + A_22_1 + A_22_2 + A_22_3 + A_22_4 + A_22_5 + A_22_6 + A_22_7;                                  const double tmp200 = w1*(A_01_5 + A_01_6 + A_10_5 + A_10_6);
3176                                  const double tmp169_0 = A_21_3 + A_21_4;                                  const double tmp201 = w27*(A_00_2 + A_00_3 + A_00_4 + A_00_5);
3177                                  const double tmp96_0 = A_20_0 + A_20_2;                                  const double tmp202 = w11*(-A_02_2 - A_02_5 + A_20_3 + A_20_4);
3178                                  const double tmp111_0 = A_12_3 + A_12_4;                                  const double tmp203 = w20*(A_01_0 - A_10_1);
3179                                  const double tmp118_0 = A_20_2 + A_20_5;                                  const double tmp204 = w23*(A_22_0 + A_22_1 + A_22_4 + A_22_5);
3180                                  const double tmp19_0 = A_12_3 + A_12_5;                                  const double tmp205 = w25*(A_22_2 + A_22_3 + A_22_6 + A_22_7);
3181                                  const double tmp68_0 = A_01_5 + A_01_6;                                  const double tmp206 = w21*(A_01_7 - A_10_6);
3182                                  const double tmp7_0 = A_11_1 + A_11_3 + A_11_5 + A_11_7;                                  const double tmp207 = w12*(A_12_6 + A_12_7 + A_21_6 + A_21_7);
3183                                  const double tmp154_0 = A_12_3 + A_21_3;                                  const double tmp208 = w28*(A_00_0 + A_00_1);
3184                                  const double tmp152_0 = A_02_4 + A_20_4;                                  const double tmp209 = w29*(A_00_6 + A_00_7);
3185                                  const double tmp153_0 = A_02_3 + A_20_3;                                  const double tmp210 = w8*(-A_01_3 - A_01_4 + A_10_2 + A_10_5);
3186                                  const double tmp163_0 = A_02_5 + A_02_7 + A_20_5 + A_20_7;                                  const double tmp211 = w6*(A_12_0 + A_12_1 + A_21_0 + A_21_1);
3187                                  const double tmp44_0 = A_01_4 + A_01_7;                                  const double tmp212 = w17*(-A_02_7 + A_20_6);
3188                                  const double tmp39_0 = A_02_1 + A_02_3 + A_02_4 + A_02_6;                                  const double tmp213 = w2*(A_02_0 - A_20_1);
3189                                  const double tmp123_0 = A_21_2 + A_21_3 + A_21_4 + A_21_5;                                  const double tmp214 = w13*(-A_22_1 - A_22_2 - A_22_5 - A_22_6);
3190                                  const double tmp40_0 = A_02_5 + A_02_7;                                  const double tmp215 = w22*(-A_11_0 - A_11_2 - A_11_5 - A_11_7);
3191                                  const double tmp110_0 = A_02_0 + A_02_7;                                  const double tmp216 = w8*(A_01_0 + A_01_7 + A_10_0 + A_10_7);
3192                                  const double tmp77_0 = A_12_2 + A_12_3 + A_21_2 + A_21_3;                                  const double tmp217 = w27*(-A_00_0 - A_00_1 - A_00_6 - A_00_7);
3193                                  const double tmp209_0 = A_12_7 + A_21_1;                                  const double tmp218 = w17*(-A_02_3 - A_20_3);
3194                                  const double tmp219_0 = A_02_4 + A_20_1;                                  const double tmp219 = w2*(A_02_4 + A_20_4);
3195                                  const double tmp84_0 = A_01_1 + A_01_5 + A_10_2 + A_10_6;                                  const double tmp220 = w11*(-A_02_1 - A_02_6 - A_20_1 - A_20_6);
3196                                  const double tmp162_0 = A_12_1 + A_12_7 + A_21_1 + A_21_7;                                  const double tmp221 = w26*(-A_11_4 - A_11_6);
3197                                  const double tmp159_0 = A_01_3 + A_10_3;                                  const double tmp222 = w10*(A_12_2 + A_12_5 + A_21_2 + A_21_5);
3198                                  const double tmp56_0 = A_11_1 + A_11_3;                                  const double tmp223 = w20*(-A_01_4 - A_10_4);
3199                                  const double tmp52_0 = A_01_2 + A_01_5;                                  const double tmp224 = w21*(-A_01_3 - A_10_3);
3200                                  const double tmp26_0 = A_00_4 + A_00_5 + A_00_6 + A_00_7;                                  const double tmp225 = w6*(-A_12_0 - A_12_6 - A_21_0 - A_21_6);
3201                                  const double tmp229_0 = A_12_0 + A_12_7 + A_21_1 + A_21_6;                                  const double tmp226 = w7*(-A_22_0 - A_22_4);
3202                                  const double tmp151_0 = A_10_2 + A_10_5;                                  const double tmp227 = w24*(-A_11_1 - A_11_3);
3203                                  const double tmp136_0 = A_02_0 + A_02_5 + A_20_0 + A_20_5;                                  const double tmp228 = w19*(-A_22_3 - A_22_7);
3204                                  const double tmp128_0 = A_21_6 + A_21_7;                                  const double tmp229 = w18*(-A_12_3 - A_21_3);
3205                                  const double tmp15_0 = A_12_2 + A_12_4;                                  const double tmp230 = w4*(A_12_4 + A_21_4);
3206                                  const double tmp296_1 = tmp159_0*w42;                                  const double tmp231 = w28*(-A_00_4 - A_00_5);
3207                                  const double tmp130_1 = tmp67_0*w5;                                  const double tmp232 = w12*(-A_12_1 - A_12_7 - A_21_1 - A_21_7);
3208                                  const double tmp98_1 = A_01_6*w42;                                  const double tmp233 = w29*(-A_00_2 - A_00_3);
3209                                  const double tmp231_1 = tmp125_0*w6;                                  const double tmp234 = w20*(-A_01_5 + A_10_7);
3210                                  const double tmp42_1 = tmp34_0*w12;                                  const double tmp235 = w18*(-A_12_0 + A_21_2);
3211                                  const double tmp199_1 = A_02_5*w28;                                  const double tmp236 = w26*(A_11_5 + A_11_7);
3212                                  const double tmp113_1 = tmp29_0*w13;                                  const double tmp237 = w10*(A_12_1 + A_12_6 - A_21_3 - A_21_4);
3213                                  const double tmp330_1 = tmp152_0*w28;                                  const double tmp238 = w22*(A_11_1 + A_11_3 + A_11_4 + A_11_6);
3214                                  const double tmp90_1 = A_01_1*w46;                                  const double tmp239 = w4*(A_12_7 - A_21_5);
3215                                  const double tmp446_1 = tmp77_0*w22;                                  const double tmp240 = w15*(A_02_0 + A_02_2 + A_20_0 + A_20_2);
3216                                  const double tmp108_1 = tmp43_0*w5;                                  const double tmp241 = w21*(-A_01_2 + A_10_0);
3217                                  const double tmp524_1 = A_12_6*w29;                                  const double tmp242 = w5*(A_02_5 + A_02_7 + A_20_5 + A_20_7);
3218                                  const double tmp232_1 = tmp126_0*w34;                                  const double tmp243 = w12*(-A_12_2 - A_12_4 + A_21_0 + A_21_6);
3219                                  const double tmp33_1 = tmp25_0*w37;                                  const double tmp244 = w24*(A_11_0 + A_11_2);
3220                                  const double tmp461_1 = tmp180_0*w1;                                  const double tmp245 = w8*(A_01_1 + A_01_6 - A_10_3 - A_10_4);
3221                                  const double tmp14_1 = tmp8_0*w6;                                  const double tmp246 = w6*(-A_12_3 - A_12_5 + A_21_1 + A_21_7);
3222                                  const double tmp447_1 = tmp205_0*w26;                                  const double tmp247 = w11*(A_02_3 + A_02_4 - A_20_2 - A_20_5);
3223                                  const double tmp452_1 = tmp198_0*w42;                                  const double tmp248 = w20*(-A_01_1 + A_10_0);
3224                                  const double tmp217_1 = tmp81_0*w9;                                  const double tmp249 = w21*(-A_01_6 + A_10_7);
3225                                  const double tmp76_1 = tmp59_0*w20;                                  const double tmp250 = w8*(A_01_2 + A_01_5 - A_10_3 - A_10_4);
3226                                  const double tmp421_1 = tmp134_0*w31;                                  const double tmp251 = w17*(A_02_6 - A_20_7);
3227                                  const double tmp485_1 = tmp51_0*w51;                                  const double tmp252 = w2*(-A_02_1 + A_20_0);
3228                                  const double tmp240_1 = tmp131_0*w1;                                  const double tmp253 = w17*(-A_02_4 - A_20_4);
3229                                  const double tmp160_1 = tmp91_0*w9;                                  const double tmp254 = w2*(A_02_3 + A_20_3);
3230                                  const double tmp174_1 = A_20_1*w26;                                  const double tmp255 = w26*(-A_11_1 - A_11_3);
3231                                  const double tmp273_1 = A_10_1*w46;                                  const double tmp256 = w20*(-A_01_3 - A_10_3);
3232                                  const double tmp159_1 = tmp90_0*w47;                                  const double tmp257 = w21*(-A_01_4 - A_10_4);
3233                                  const double tmp228_1 = tmp103_0*w5;                                  const double tmp258 = w6*(-A_12_1 - A_12_7 - A_21_1 - A_21_7);
3234                                  const double tmp313_1 = tmp166_0*w45;                                  const double tmp259 = w7*(-A_22_3 - A_22_7);
3235                                  const double tmp45_1 = tmp37_0*w30;                                  const double tmp260 = w15*(-A_02_0 - A_02_5 - A_20_0 - A_20_5);
3236                                  const double tmp512_1 = tmp147_0*w13;                                  const double tmp261 = w24*(-A_11_4 - A_11_6);
3237                                  const double tmp73_1 = tmp56_0*w43;                                  const double tmp262 = w19*(-A_22_0 - A_22_4);
3238                                  const double tmp61_1 = A_01_6*w46;                                  const double tmp263 = w18*(-A_12_4 - A_21_4);
3239                                  const double tmp316_1 = tmp167_0*w43;                                  const double tmp264 = w4*(A_12_3 + A_21_3);
3240                                  const double tmp189_1 = tmp112_0*w20;                                  const double tmp265 = w28*(-A_00_2 - A_00_3);
3241                                  const double tmp455_1 = tmp215_0*w39;                                  const double tmp266 = w12*(-A_12_0 - A_12_6 - A_21_0 - A_21_6);
3242                                  const double tmp360_1 = A_21_5*w24;                                  const double tmp267 = w5*(-A_02_2 - A_02_7 - A_20_2 - A_20_7);
3243                                  const double tmp258_1 = A_20_7*w2;                                  const double tmp268 = w29*(-A_00_4 - A_00_5);
3244                                  const double tmp196_1 = A_20_6*w26;                                  const double tmp269 = w11*(A_02_2 + A_02_5 + A_20_0 + A_20_7);
3245                                  const double tmp37_1 = tmp29_0*w6;                                  const double tmp270 = w1*(-A_01_0 - A_01_4 + A_10_1 + A_10_5);
3246                                  const double tmp9_1 = A_12_7*w29;                                  const double tmp271 = w15*(A_02_3 + A_02_6 + A_20_3 + A_20_6);
3247                                  const double tmp80_1 = tmp63_0*w19;                                  const double tmp272 = w16*(-A_01_3 - A_01_7 + A_10_2 + A_10_6);
3248                                  const double tmp312_1 = tmp165_0*w8;                                  const double tmp273 = w5*(A_02_1 + A_02_4 + A_20_1 + A_20_4);
3249                                  const double tmp264_1 = tmp101_0*w1;                                  const double tmp274 = w8*(-A_01_1 - A_01_2 - A_01_5 - A_01_6 + A_10_0 + A_10_3 + A_10_4 + A_10_7);
3250                                  const double tmp124_1 = A_02_3*w26;                                  const double tmp275 = w17*(A_02_7 + A_20_2);
3251                                  const double tmp229_1 = tmp123_0*w11;                                  const double tmp276 = w2*(-A_02_0 - A_20_5);
3252                                  const double tmp333_1 = tmp159_0*w46;                                  const double tmp277 = w18*(-A_12_1 + A_21_5);
3253                                  const double tmp533_1 = tmp222_0*w4;                                  const double tmp278 = w11*(A_02_3 + A_02_4 - A_20_0 - A_20_7);
3254                                  const double tmp201_1 = tmp108_0*w37;                                  const double tmp279 = w10*(A_12_0 + A_12_7 - A_21_3 - A_21_4);
3255                                  const double tmp444_1 = tmp35_0*w10;                                  const double tmp280 = w4*(A_12_6 - A_21_2);
3256                                  const double tmp51_1 = tmp43_0*w18;                                  const double tmp281 = w17*(A_02_1 - A_20_5);
3257                                  const double tmp214_1 = A_21_7*w29;                                  const double tmp282 = w2*(-A_02_6 + A_20_2);
3258                                  const double tmp518_1 = tmp86_0*w37;                                  const double tmp283 = w11*(A_02_0 + A_02_7 + A_20_2 + A_20_5);
3259                                  const double tmp192_1 = tmp115_0*w5;                                  const double tmp284 = w12*(A_12_2 + A_12_3 - A_21_6 - A_21_7);
3260                                  const double tmp355_1 = A_21_2*w27;                                  const double tmp285 = w6*(A_12_4 + A_12_5 - A_21_0 - A_21_1);
3261                                  const double tmp156_1 = tmp87_0*w22;                                  const double tmp286 = w17*(A_02_2 + A_20_7);
3262                                  const double tmp516_1 = tmp230_0*w27;                                  const double tmp287 = w2*(-A_02_5 - A_20_0);
3263                                  const double tmp366_1 = tmp104_0*w57;                                  const double tmp288 = w13*(-A_22_0 - A_22_3 - A_22_4 - A_22_7);
3264                                  const double tmp271_1 = tmp146_0*w49;                                  const double tmp289 = w22*(-A_11_1 - A_11_3 - A_11_4 - A_11_6);
3265                                  const double tmp437_1 = tmp218_0*w24;                                  const double tmp290 = w8*(-A_01_1 - A_01_6 - A_10_1 - A_10_6);
3266                                  const double tmp436_1 = tmp104_0*w54;                                  const double tmp291 = w17*(A_02_2 + A_20_2);
3267                                  const double tmp167_1 = tmp98_0*w8;                                  const double tmp292 = w2*(-A_02_5 - A_20_5);
3268                                  const double tmp136_1 = tmp70_0*w34;                                  const double tmp293 = w11*(A_02_0 + A_02_7 + A_20_0 + A_20_7);
3269                                  const double tmp406_1 = tmp207_0*w27;                                  const double tmp294 = w26*(-A_11_5 - A_11_7);
3270                                  const double tmp193_1 = tmp116_0*w12;                                  const double tmp295 = w10*(A_12_3 + A_12_4 + A_21_3 + A_21_4);
3271                                  const double tmp486_1 = tmp225_0*w29;                                  const double tmp296 = w20*(A_01_5 + A_10_5);
3272                                  const double tmp469_1 = tmp224_0*w11;                                  const double tmp297 = w21*(A_01_2 + A_10_2);
3273                                  const double tmp287_1 = tmp71_0*w53;                                  const double tmp298 = w7*(-A_22_1 - A_22_5);
3274                                  const double tmp430_1 = tmp213_0*w28;                                  const double tmp299 = w24*(-A_11_0 - A_11_2);
3275                                  const double tmp462_1 = tmp220_0*w2;                                  const double tmp300 = w19*(-A_22_2 - A_22_6);
3276                                  const double tmp294_1 = tmp53_0*w59;                                  const double tmp301 = w18*(-A_12_2 - A_21_2);
3277                                  const double tmp218_1 = tmp118_0*w16;                                  const double tmp302 = w4*(A_12_5 + A_21_5);
3278                                  const double tmp116_1 = tmp25_0*w31;                                  const double tmp303 = w8*(A_01_3 + A_01_4 + A_10_3 + A_10_4);
3279                                  const double tmp495_1 = tmp76_0*w37;                                  const double tmp304 = w27*(-A_00_2 - A_00_3 - A_00_4 - A_00_5);
3280                                  const double tmp501_1 = tmp99_0*w46;                                  const double tmp305 = w17*(A_02_7 + A_20_7);
3281                                  const double tmp0_1 = tmp0_0*w1;                                  const double tmp306 = w2*(-A_02_0 - A_20_0);
3282                                  const double tmp99_1 = tmp62_0*w17;                                  const double tmp307 = w11*(A_02_2 + A_02_5 + A_20_2 + A_20_5);
3283                                  const double tmp429_1 = tmp212_0*w2;                                  const double tmp308 = w26*(-A_11_0 - A_11_2);
3284                                  const double tmp249_1 = tmp136_0*w9;                                  const double tmp309 = w10*(-A_12_1 - A_12_6 - A_21_1 - A_21_6);
3285                                  const double tmp504_1 = tmp229_0*w19;                                  const double tmp310 = w20*(-A_01_0 - A_10_0);
3286                                  const double tmp197_1 = A_12_2*w27;                                  const double tmp311 = w21*(-A_01_7 - A_10_7);
3287                                  const double tmp531_1 = tmp122_0*w35;                                  const double tmp312 = w6*(A_12_2 + A_12_4 + A_21_2 + A_21_4);
3288                                  const double tmp265_1 = tmp142_0*w46;                                  const double tmp313 = w24*(-A_11_5 - A_11_7);
3289                                  const double tmp488_1 = tmp226_0*w4;                                  const double tmp314 = w18*(A_12_7 + A_21_7);
3290                                  const double tmp528_1 = tmp115_0*w18;                                  const double tmp315 = w4*(-A_12_0 - A_21_0);
3291                                  const double tmp438_1 = tmp219_0*w2;                                  const double tmp316 = w28*(-A_00_0 - A_00_1);
3292                                  const double tmp233_1 = tmp127_0*w13;                                  const double tmp317 = w12*(A_12_3 + A_12_5 + A_21_3 + A_21_5);
3293                                  const double tmp491_1 = tmp79_0*w1;                                  const double tmp318 = w29*(-A_00_6 - A_00_7);
3294                                  const double tmp215_1 = A_21_0*w4;                                  const double tmp319 = w18*(-A_12_7 + A_21_5);
3295                                  const double tmp24_1 = tmp18_0*w21;                                  const double tmp320 = w26*(A_11_0 + A_11_2);
3296                                  const double tmp538_1 = tmp209_0*w27;                                  const double tmp321 = w21*(-A_01_5 + A_10_7);
3297                                  const double tmp379_1 = tmp167_0*w55;                                  const double tmp322 = w20*(-A_01_2 + A_10_0);
3298                                  const double tmp332_1 = tmp154_0*w4;                                  const double tmp323 = w4*(A_12_0 - A_21_2);
3299                                  const double tmp498_1 = tmp68_0*w31;                                  const double tmp324 = w15*(A_02_5 + A_02_7 + A_20_5 + A_20_7);
3300                                  const double tmp41_1 = tmp33_0*w33;                                  const double tmp325 = w24*(A_11_5 + A_11_7);
3301                                  const double tmp464_1 = tmp179_0*w37;                                  const double tmp326 = w5*(A_02_0 + A_02_2 + A_20_0 + A_20_2);
3302                                  const double tmp317_1 = tmp168_0*w40;                                  const double tmp327 = w18*(A_12_7 + A_21_1);
3303                                  const double tmp378_1 = tmp106_0*w54;                                  const double tmp328 = w10*(-A_12_1 - A_12_6 - A_21_0 - A_21_7);
3304                                  const double tmp184_1 = tmp109_0*w14;                                  const double tmp329 = w3*(-A_11_0 - A_11_2 - A_11_4 - A_11_6);
3305                                  const double tmp292_1 = tmp14_0*w33;                                  const double tmp330 = w1*(A_01_2 + A_01_6 - A_10_0 - A_10_4);
3306                                  const double tmp11_1 = tmp5_0*w11;                                  const double tmp331 = w4*(-A_12_0 - A_21_6);
3307                                  const double tmp354_1 = A_02_6*w26;                                  const double tmp332 = w25*(-A_22_1 - A_22_3 - A_22_5 - A_22_7);
3308                                  const double tmp84_1 = tmp37_0*w0;                                  const double tmp333 = w15*(-A_02_5 - A_02_7 + A_20_1 + A_20_3);
3309                                  const double tmp422_1 = tmp13_0*w30;                                  const double tmp334 = w16*(A_01_1 + A_01_5 - A_10_3 - A_10_7);
3310                                  const double tmp132_1 = tmp69_0*w11;                                  const double tmp335 = w9*(-A_11_1 - A_11_3 - A_11_5 - A_11_7);
3311                                  const double tmp251_1 = tmp138_0*w31;                                  const double tmp336 = w5*(-A_02_0 - A_02_2 + A_20_4 + A_20_6);
3312                                  const double tmp18_1 = tmp12_0*w8;                                  const double tmp337 = w27*(-A_00_0 - A_00_1 - A_00_2 - A_00_3 - A_00_4 - A_00_5 - A_00_6 - A_00_7);
3313                                  const double tmp88_1 = A_21_1*w4;                                  const double tmp338 = w23*(-A_22_0 - A_22_2 - A_22_4 - A_22_6);
3314                                  const double tmp188_1 = A_12_2*w24;                                  const double tmp339 = w14*(-A_00_0 - A_00_1 - A_00_4 - A_00_5);
3315                                  const double tmp465_1 = tmp175_0*w31;                                  const double tmp340 = w23*(-A_22_2 - A_22_3 - A_22_6 - A_22_7);
3316                                  const double tmp235_1 = tmp128_0*w17;                                  const double tmp341 = w1*(A_01_2 + A_01_6 - A_10_3 - A_10_7);
3317                                  const double tmp323_1 = A_02_1*w26;                                  const double tmp342 = w25*(-A_22_0 - A_22_1 - A_22_4 - A_22_5);
3318                                  const double tmp31_1 = tmp23_0*w38;                                  const double tmp343 = w15*(A_02_1 + A_02_4 + A_20_1 + A_20_4);
3319                                  const double tmp397_1 = tmp170_0*w5;                                  const double tmp344 = w0*(-A_00_2 - A_00_3 - A_00_6 - A_00_7);
3320                                  const double tmp175_1 = tmp7_0*w3;                                  const double tmp345 = w16*(A_01_1 + A_01_5 - A_10_0 - A_10_4);
3321                                  const double tmp148_1 = tmp81_0*w21;                                  const double tmp346 = w12*(A_12_4 + A_12_5 - A_21_0 - A_21_1);
3322                                  const double tmp238_1 = tmp130_0*w19;                                  const double tmp347 = w5*(A_02_3 + A_02_6 + A_20_3 + A_20_6);
3323                                  const double tmp59_1 = tmp46_0*w11;                                  const double tmp348 = w6*(A_12_2 + A_12_3 - A_21_6 - A_21_7);
3324                                  const double tmp432_1 = tmp215_0*w35;                                  const double tmp349 = w17*(A_02_5 + A_20_0);
3325                                  const double tmp398_1 = A_01_2*w46;                                  const double tmp350 = w2*(-A_02_2 - A_20_7);
3326                                  const double tmp497_1 = A_10_5*w46;                                  const double tmp351 = w8*(-A_01_2 - A_01_5 - A_10_2 - A_10_5);
3327                                  const double tmp28_1 = tmp21_0*w18;                                  const double tmp352 = w17*(-A_02_1 - A_20_1);
3328                                  const double tmp115_1 = tmp23_0*w32;                                  const double tmp353 = w2*(A_02_6 + A_20_6);
3329                                  const double tmp441_1 = tmp23_0*w3;                                  const double tmp354 = w11*(-A_02_3 - A_02_4 - A_20_3 - A_20_4);
3330                                  const double tmp131_1 = tmp68_0*w37;                                  const double tmp355 = w10*(-A_12_0 - A_12_7 - A_21_0 - A_21_7);
3331                                  const double tmp289_1 = tmp155_0*w4;                                  const double tmp356 = w20*(A_01_6 + A_10_6);
3332                                  const double tmp278_1 = tmp80_0*w44;                                  const double tmp357 = w21*(A_01_1 + A_10_1);
3333                                  const double tmp5_1 = A_21_4*w27;                                  const double tmp358 = w7*(-A_22_2 - A_22_6);
3334                                  const double tmp254_1 = tmp140_0*w20;                                  const double tmp359 = w19*(-A_22_1 - A_22_5);
3335                                  const double tmp183_1 = tmp108_0*w31;                                  const double tmp360 = w18*(A_12_1 + A_21_1);
3336                                  const double tmp279_1 = tmp151_0*w8;                                  const double tmp361 = w4*(-A_12_6 - A_21_6);
3337                                  const double tmp298_1 = tmp161_0*w16;                                  const double tmp362 = w28*(-A_00_6 - A_00_7);
3338                                  const double tmp505_1 = tmp230_0*w24;                                  const double tmp363 = w29*(-A_00_0 - A_00_1);
3339                                  const double tmp246_1 = tmp80_0*w52;                                  const double tmp364 = w2*(A_02_4 + A_20_1);
3340                                  const double tmp100_1 = tmp53_0*w43;                                  const double tmp365 = w11*(-A_02_1 - A_02_6 - A_20_3 - A_20_4);
3341                                  const double tmp440_1 = tmp221_0*w16;                                  const double tmp366 = w17*(-A_02_3 - A_20_6);
3342                                  const double tmp481_1 = tmp188_0*w23;                                  const double tmp367 = w2*(A_02_5 - A_20_4);
3343                                  const double tmp480_1 = tmp187_0*w35;                                  const double tmp368 = w6*(-A_12_4 - A_12_5 - A_21_4 - A_21_5);
3344                                  const double tmp384_1 = tmp150_0*w53;                                  const double tmp369 = w11*(-A_02_0 - A_02_7 + A_20_1 + A_20_6);
3345                                  const double tmp142_1 = tmp76_0*w31;                                  const double tmp370 = w20*(-A_01_5 + A_10_4);
3346                                  const double tmp372_1 = tmp191_0*w11;                                  const double tmp371 = w3*(A_11_4 + A_11_5 + A_11_6 + A_11_7);
3347                                  const double tmp307_1 = A_10_7*w35;                                  const double tmp372 = w12*(-A_12_2 - A_12_3 - A_21_2 - A_21_3);
3348                                  const double tmp186_1 = tmp111_0*w19;                                  const double tmp373 = w21*(-A_01_2 + A_10_3);
3349                                  const double tmp127_1 = A_20_2*w2;                                  const double tmp374 = w9*(A_11_0 + A_11_1 + A_11_2 + A_11_3);
3350                                  const double tmp391_1 = tmp167_0*w59;                                  const double tmp375 = w29*(A_00_2 + A_00_3);
3351                                  const double tmp223_1 = tmp113_0*w20;                                  const double tmp376 = w8*(A_01_1 + A_01_6 - A_10_0 - A_10_7);
3352                                  const double tmp454_1 = tmp197_0*w24;                                  const double tmp377 = w28*(A_00_4 + A_00_5);
3353                                  const double tmp241_1 = tmp74_0*w51;                                  const double tmp378 = w17*(-A_02_2 + A_20_3);
3354                                  const double tmp529_1 = tmp114_0*w5;                                  const double tmp379 = w17*(A_02_0 + A_20_0);
3355                                  const double tmp202_1 = tmp104_0*w7;                                  const double tmp380 = w2*(-A_02_7 - A_20_7);
3356                                  const double tmp236_1 = tmp96_0*w21;                                  const double tmp381 = w20*(-A_01_7 - A_10_7);
3357                                  const double tmp358_1 = tmp183_0*w11;                                  const double tmp382 = w21*(-A_01_0 - A_10_0);
3358                                  const double tmp102_1 = tmp51_0*w41;                                  const double tmp383 = w6*(A_12_3 + A_12_5 + A_21_3 + A_21_5);
3359                                  const double tmp493_1 = A_20_5*w2;                                  const double tmp384 = w18*(A_12_0 + A_21_0);
3360                                  const double tmp468_1 = tmp223_0*w4;                                  const double tmp385 = w4*(-A_12_7 - A_21_7);
3361                                  const double tmp435_1 = tmp217_0*w16;                                  const double tmp386 = w12*(A_12_2 + A_12_4 + A_21_2 + A_21_4);
3362                                  const double tmp110_1 = tmp37_0*w36;                                  const double tmp387 = w17*(-A_02_6 - A_20_6);
3363                                  const double tmp479_1 = tmp189_0*w4;                                  const double tmp388 = w2*(A_02_1 + A_20_1);
3364                                  const double tmp120_1 = tmp38_0*w22;                                  const double tmp389 = w20*(A_01_1 + A_10_1);
3365                                  const double tmp16_1 = tmp10_0*w9;                                  const double tmp390 = w21*(A_01_6 + A_10_6);
3366                                  const double tmp407_1 = tmp90_0*w53;                                  const double tmp391 = w18*(A_12_6 + A_21_6);
3367                                  const double tmp442_1 = tmp66_0*w48;                                  const double tmp392 = w4*(-A_12_1 - A_21_1);
3368                                  const double tmp60_1 = A_10_4*w35;                                  const double tmp393 = w2*(A_02_3 + A_20_6);
3369                                  const double tmp69_1 = tmp53_0*w45;                                  const double tmp394 = w1*(-A_01_3 - A_01_7 + A_10_2 + A_10_6);
3370                                  const double tmp144_1 = tmp77_0*w17;                                  const double tmp395 = w16*(-A_01_0 - A_01_4 + A_10_1 + A_10_5);
3371                                  const double tmp507_1 = tmp146_0*w48;                                  const double tmp396 = w17*(-A_02_4 - A_20_1);
3372                                  const double tmp424_1 = tmp174_0*w18;                                  const double tmp397 = w18*(-A_12_5 - A_21_3);
3373                                  const double tmp352_1 = tmp181_0*w23;                                  const double tmp398 = w10*(A_12_3 + A_12_4 + A_21_2 + A_21_5);
3374                                  const double tmp451_1 = tmp199_0*w13;                                  const double tmp399 = w1*(-A_01_0 - A_01_4 + A_10_2 + A_10_6);
3375                                  const double tmp253_1 = tmp139_0*w16;                                  const double tmp400 = w4*(A_12_2 + A_21_4);
3376                                  const double tmp353_1 = tmp182_0*w18;                                  const double tmp401 = w16*(-A_01_3 - A_01_7 + A_10_1 + A_10_5);
3377                                  const double tmp521_1 = tmp88_0*w22;                                  const double tmp402 = w20*(-A_01_2 + A_10_3);
3378                                  const double tmp346_1 = tmp175_0*w37;                                  const double tmp403 = w21*(-A_01_5 + A_10_4);
3379                                  const double tmp416_1 = tmp138_0*w37;                                  const double tmp404 = w17*(-A_02_5 + A_20_4);
3380                                  const double tmp324_1 = A_10_0*w35;                                  const double tmp405 = w2*(A_02_2 - A_20_3);
3381                                  const double tmp152_1 = tmp84_0*w37;                                  const double tmp406 = w18*(-A_12_0 + A_21_4);
3382                                  const double tmp119_1 = tmp32_0*w21;                                  const double tmp407 = w4*(A_12_7 - A_21_3);
3383                                  const double tmp86_1 = A_21_6*w29;                                  const double tmp408 = w17*(-A_02_0 + A_20_4);
3384                                  const double tmp290_1 = tmp156_0*w11;                                  const double tmp409 = w2*(A_02_7 - A_20_3);
3385                                  const double tmp382_1 = tmp196_0*w26;                                  const double tmp410 = w17*(A_02_5 + A_20_5);
3386                                  const double tmp91_1 = tmp49_0*w6;                                  const double tmp411 = w2*(-A_02_2 - A_20_2);
3387                                  const double tmp499_1 = A_10_2*w42;                                  const double tmp412 = w20*(A_01_2 + A_10_2);
3388                                  const double tmp226_1 = tmp121_0*w13;                                  const double tmp413 = w21*(A_01_5 + A_10_5);
3389                                  const double tmp477_1 = tmp195_0*w26;                                  const double tmp414 = w18*(-A_12_5 - A_21_5);
3390                                  const double tmp150_1 = A_02_4*w23;                                  const double tmp415 = w4*(A_12_2 + A_21_2);
3391                                  const double tmp318_1 = tmp15_0*w22;                                  const double tmp416 = w12*(-A_12_0 - A_12_1 + A_21_4 + A_21_5);
3392                                  const double tmp396_1 = tmp206_0*w24;                                  const double tmp417 = w6*(-A_12_6 - A_12_7 + A_21_2 + A_21_3);
3393                                  const double tmp474_1 = A_02_0*w28;                                  const double tmp418 = w17*(A_02_0 + A_20_5);
3394                                  const double tmp245_1 = tmp134_0*w37;                                  const double tmp419 = w2*(-A_02_7 - A_20_2);
3395                                  const double tmp3_1 = A_20_4*w26;                                  const double tmp420 = w18*(-A_12_4 - A_21_2);
3396                                  const double tmp44_1 = tmp36_0*w31;                                  const double tmp421 = w10*(A_12_2 + A_12_5 + A_21_3 + A_21_4);
3397                                  const double tmp487_1 = tmp60_0*w52;                                  const double tmp422 = w3*(-A_11_1 - A_11_3 - A_11_5 - A_11_7);
3398                                  const double tmp293_1 = tmp158_0*w8;                                  const double tmp423 = w1*(A_01_1 + A_01_5 - A_10_3 - A_10_7);
3399                                  const double tmp314_1 = A_01_2*w42;                                  const double tmp424 = w25*(-A_22_0 - A_22_2 - A_22_4 - A_22_6);
3400                                  const double tmp414_1 = tmp80_0*w51;                                  const double tmp425 = w4*(A_12_3 + A_21_5);
3401                                  const double tmp472_1 = A_21_3*w27;                                  const double tmp426 = w15*(A_02_4 + A_02_6 - A_20_0 - A_20_2);
3402                                  const double tmp321_1 = A_21_2*w24;                                  const double tmp427 = w16*(A_01_2 + A_01_6 - A_10_0 - A_10_4);
3403                                  const double tmp225_1 = tmp120_0*w6;                                  const double tmp428 = w9*(-A_11_0 - A_11_2 - A_11_4 - A_11_6);
3404                                  const double tmp377_1 = tmp166_0*w59;                                  const double tmp429 = w5*(A_02_1 + A_02_3 - A_20_5 - A_20_7);
3405                                  const double tmp413_1 = tmp186_0*w26;                                  const double tmp430 = w23*(-A_22_1 - A_22_3 - A_22_5 - A_22_7);
3406                                  const double tmp385_1 = tmp166_0*w55;                                  const double tmp431 = w18*(A_12_5 - A_21_7);
3407                                  const double tmp310_1 = tmp164_0*w34;                                  const double tmp432 = w10*(-A_12_3 - A_12_4 + A_21_1 + A_21_6);
3408                                  const double tmp158_1 = tmp89_0*w34;                                  const double tmp433 = w21*(A_01_7 - A_10_5);
3409                                  const double tmp449_1 = tmp203_0*w46;                                  const double tmp434 = w20*(A_01_0 - A_10_2);
3410                                  const double tmp439_1 = tmp220_0*w28;                                  const double tmp435 = w4*(-A_12_2 + A_21_0);
3411                                  const double tmp22_1 = tmp16_0*w16;                                  const double tmp436 = w8*(-A_01_3 - A_01_4 + A_10_1 + A_10_6);
3412                                  const double tmp164_1 = tmp95_0*w46;                                  const double tmp437 = w2*(-A_02_4 + A_20_5);
3413                                  const double tmp417_1 = tmp74_0*w52;                                  const double tmp438 = w20*(A_01_4 - A_10_5);
3414                                  const double tmp257_1 = tmp6_0*w25;                                  const double tmp439 = w21*(A_01_3 - A_10_2);
3415                                  const double tmp203_1 = tmp18_0*w9;                                  const double tmp440 = w16*(-A_01_1 - A_01_2 + A_10_0 + A_10_3);
3416                                  const double tmp286_1 = tmp153_0*w28;                                  const double tmp441 = w1*(-A_01_5 - A_01_6 + A_10_4 + A_10_7);
3417                                  const double tmp155_1 = tmp33_0*w14;                                  const double tmp442 = w17*(A_02_3 - A_20_2);
3418                                  const double tmp389_1 = tmp201_0*w12;                                  const double tmp443 = w20*(-A_01_4 - A_10_7);
3419                                  const double tmp508_1 = tmp145_0*w49;                                  const double tmp444 = w21*(-A_01_3 - A_10_0);
3420                                  const double tmp300_1 = tmp56_0*w55;                                  const double tmp445 = w18*(A_12_6 + A_21_0);
3421                                  const double tmp299_1 = tmp162_0*w22;                                  const double tmp446 = w10*(-A_12_0 - A_12_7 - A_21_1 - A_21_6);
3422                                  const double tmp173_1 = tmp104_0*w25;                                  const double tmp447 = w1*(-A_01_3 - A_01_7 + A_10_1 + A_10_5);
3423                                  const double tmp32_1 = tmp24_0*w5;                                  const double tmp448 = w4*(-A_12_1 - A_21_7);
3424                                  const double tmp227_1 = tmp122_0*w39;                                  const double tmp449 = w16*(-A_01_0 - A_01_4 + A_10_2 + A_10_6);
3425                                  const double tmp484_1 = tmp3_0*w38;                                  const double tmp450 = w2*(A_02_7 - A_20_6);
3426                                  const double tmp171_1 = tmp102_0*w21;                                  const double tmp451 = w6*(A_12_6 + A_12_7 + A_21_6 + A_21_7);
3427                                  const double tmp478_1 = tmp190_0*w29;                                  const double tmp452 = w20*(A_01_7 - A_10_6);
3428                                  const double tmp320_1 = tmp170_0*w18;                                  const double tmp453 = w21*(A_01_0 - A_10_1);
3429                                  const double tmp327_1 = tmp6_0*w57;                                  const double tmp454 = w12*(A_12_0 + A_12_1 + A_21_0 + A_21_1);
3430                                  const double tmp490_1 = tmp7_0*w32;                                  const double tmp455 = w29*(A_00_0 + A_00_1);
3431                                  const double tmp419_1 = tmp127_0*w6;                                  const double tmp456 = w28*(A_00_6 + A_00_7);
3432                                  const double tmp463_1 = tmp219_0*w28;                                  const double tmp457 = w17*(-A_02_0 + A_20_1);
3433                                  const double tmp12_1 = tmp6_0*w7;                                  const double tmp458 = w21*(-A_01_7 - A_10_4);
3434                                  const double tmp49_1 = tmp41_0*w22;                                  const double tmp459 = w20*(-A_01_0 - A_10_3);
3435                                  const double tmp344_1 = tmp173_0*w26;                                  const double tmp460 = w12*(A_12_4 + A_12_5 - A_21_6 - A_21_7);
3436                                  const double tmp243_1 = tmp132_0*w2;                                  const double tmp461 = w6*(A_12_2 + A_12_3 - A_21_0 - A_21_1);
3437                                  const double tmp83_1 = A_10_4*w39;                                  const double tmp462 = w18*(A_12_1 + A_21_7);
3438                                  const double tmp297_1 = tmp160_0*w17;                                  const double tmp463 = w4*(-A_12_6 - A_21_0);
3439                                  const double tmp275_1 = tmp148_0*w34;                                  const double tmp464 = w15*(A_02_1 + A_02_3 - A_20_5 - A_20_7);
3440                                  const double tmp168_1 = tmp99_0*w42;                                  const double tmp465 = w5*(A_02_4 + A_02_6 - A_20_0 - A_20_2);
3441                                  const double tmp409_1 = tmp3_0*w32;                                  const double tmp466 = w2*(-A_02_6 + A_20_7);
3442                                  const double tmp1_1 = tmp1_0*w25;                                  const double tmp467 = w20*(-A_01_6 + A_10_7);
3443                                  const double tmp426_1 = tmp210_0*w39;                                  const double tmp468 = w21*(-A_01_1 + A_10_0);
3444                                  const double tmp375_1 = tmp109_0*w33;                                  const double tmp469 = w17*(A_02_1 - A_20_0);
3445                                  const double tmp50_1 = tmp42_0*w19;                                  const double tmp470 = w6*(-A_12_2 - A_12_3 - A_21_4 - A_21_5);
3446                                  const double tmp513_1 = A_10_1*w42;                                  const double tmp471 = w1*(-A_01_1 - A_01_5 - A_10_2 - A_10_6);
3447                                  const double tmp97_1 = tmp45_0*w31;                                  const double tmp472 = w15*(-A_02_4 - A_02_6 - A_20_1 - A_20_3);
3448                                  const double tmp403_1 = tmp140_0*w1;                                  const double tmp473 = w16*(-A_01_2 - A_01_6 - A_10_1 - A_10_5);
3449                                  const double tmp71_1 = A_01_1*w42;                                  const double tmp474 = w12*(-A_12_4 - A_12_5 - A_21_2 - A_21_3);
3450                                  const double tmp520_1 = tmp84_0*w31;                                  const double tmp475 = w5*(-A_02_1 - A_02_3 - A_20_4 - A_20_6);
3451                                  const double tmp510_1 = A_10_6*w46;                                  const double tmp476 = w18*(-A_12_6 + A_21_4);
3452                                  const double tmp302_1 = A_10_0*w39;                                  const double tmp477 = w20*(A_01_3 - A_10_1);
3453                                  const double tmp364_1 = tmp128_0*w22;                                  const double tmp478 = w10*(A_12_0 + A_12_7 - A_21_2 - A_21_5);
3454                                  const double tmp515_1 = tmp142_0*w42;                                  const double tmp479 = w4*(A_12_1 - A_21_3);
3455                                  const double tmp283_1 = tmp65_0*w56;                                  const double tmp480 = w21*(A_01_4 - A_10_6);
3456                                  const double tmp222_1 = tmp112_0*w1;                                  const double tmp481 = w8*(-A_01_0 - A_01_7 + A_10_2 + A_10_5);
3457                                  const double tmp428_1 = tmp211_0*w27;                                  const double tmp482 = w6*(A_12_0 + A_12_1 + A_21_6 + A_21_7);
3458                                  const double tmp371_1 = tmp190_0*w4;                                  const double tmp483 = w12*(A_12_6 + A_12_7 + A_21_0 + A_21_1);
3459                                  const double tmp423_1 = tmp184_0*w23;                                  const double tmp484 = w15*(A_02_5 + A_02_7 + A_20_0 + A_20_2);
3460                                  const double tmp276_1 = tmp149_0*w13;                                  const double tmp485 = w5*(A_02_0 + A_02_2 + A_20_5 + A_20_7);
3461                                  const double tmp65_1 = tmp50_0*w9;                                  const double tmp486 = w18*(-A_12_1 + A_21_3);
3462                                  const double tmp305_1 = A_12_0*w29;                                  const double tmp487 = w20*(A_01_4 - A_10_6);
3463                                  const double tmp170_1 = tmp101_0*w20;                                  const double tmp488 = w4*(A_12_6 - A_21_4);
3464                                  const double tmp350_1 = tmp179_0*w31;                                  const double tmp489 = w21*(A_01_3 - A_10_1);
3465                                  const double tmp466_1 = tmp172_0*w20;                                  const double tmp490 = w20*(A_01_7 - A_10_5);
3466                                  const double tmp361_1 = tmp184_0*w26;                                  const double tmp491 = w18*(A_12_2 - A_21_0);
3467                                  const double tmp431_1 = tmp214_0*w19;                                  const double tmp492 = w4*(-A_12_5 + A_21_7);
3468                                  const double tmp363_1 = tmp129_0*w17;                                  const double tmp493 = w21*(A_01_0 - A_10_2);
3469                                  const double tmp178_1 = A_02_2*w28;                                  const double tmp494 = w20*(A_01_1 + A_10_2);
3470                                  const double tmp527_1 = tmp120_0*w13;                                  const double tmp495 = w21*(A_01_6 + A_10_5);
3471                                  const double tmp415_1 = tmp182_0*w5;                                  const double tmp496 = w18*(-A_12_2 - A_21_4);
3472                                  const double tmp450_1 = tmp200_0*w6;                                  const double tmp497 = w4*(A_12_5 + A_21_3);
3473                                  const double tmp269_1 = A_01_7*w39;                                  const double tmp498 = w15*(-A_02_0 - A_02_2 + A_20_4 + A_20_6);
3474                                  const double tmp285_1 = tmp152_0*w2;                                  const double tmp499 = w5*(-A_02_5 - A_02_7 + A_20_1 + A_20_3);
3475                                  const double tmp272_1 = A_01_0*w35;                                  const double tmp500 = w18*(-A_12_6 + A_21_2);
3476                                  const double tmp339_1 = tmp136_0*w21;                                  const double tmp501 = w4*(A_12_1 - A_21_5);
3477                                  const double tmp502_1 = tmp95_0*w42;                                  const double tmp502 = w17*(A_02_6 - A_20_2);
3478                                  const double tmp38_1 = tmp30_0*w34;                                  const double tmp503 = w2*(-A_02_1 + A_20_5);
3479                                  const double tmp514_1 = tmp144_0*w46;                                  const double tmp504 = w18*(-A_12_3 - A_21_5);
3480                                  const double tmp96_1 = tmp56_0*w45;                                  const double tmp505 = w4*(A_12_4 + A_21_2);
3481                                  const double tmp399_1 = tmp167_0*w45;                                  const double tmp506 = w2*(A_02_6 + A_20_3);
3482                                  const double tmp483_1 = tmp173_0*w23;                                  const double tmp507 = w17*(-A_02_1 - A_20_4);
3483                                  const double tmp522_1 = tmp87_0*w17;                                  const double tmp508 = w18*(A_12_0 + A_21_6);
3484                                  const double tmp519_1 = tmp91_0*w21;                                  const double tmp509 = w4*(-A_12_7 - A_21_1);
3485                                  const double tmp209_1 = A_12_5*w24;                                  EM_S[INDEX2(0,0,8)]+=tmp198 + tmp200 + tmp214 + tmp259 + tmp262 + tmp289 + tmp294 + tmp299 + tmp303 + tmp304 + tmp307 + tmp309 + tmp343 + tmp347 + tmp362 + tmp363 + tmp379 + tmp380 + tmp381 + tmp382 + tmp383 + tmp384 + tmp385 + tmp386;
3486                                  const double tmp126_1 = tmp65_0*w48;                                  EM_S[INDEX2(0,1,8)]+=tmp161 + tmp201 + tmp247 + tmp250 + tmp371 + tmp374 + tmp44 + tmp451 + tmp454 + tmp455 + tmp456 + tmp466 + tmp467 + tmp468 + tmp469 + tmp49 + tmp89 + tmp91 + tmp92 + tmp98;
3487                                  const double tmp367_1 = tmp187_0*w39;                                  EM_S[INDEX2(0,2,8)]+=tmp135 + tmp236 + tmp238 + tmp240 + tmp242 + tmp244 + tmp39 + tmp41 + tmp432 + tmp436 + tmp440 + tmp441 + tmp490 + tmp491 + tmp492 + tmp493 + tmp61 + tmp68 + tmp70 + tmp71;
3488                                  const double tmp221_1 = tmp67_0*w18;                                  EM_S[INDEX2(0,3,8)]+=tmp114 + tmp165 + tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp171 + tmp172 + tmp20 + tmp73 + tmp74 + tmp75 + tmp76 + tmp79 + tmp80;
3489                                  const double tmp381_1 = tmp146_0*w56;                                  EM_S[INDEX2(0,4,8)]+=tmp1 + tmp127 + tmp131 + tmp141 + tmp145 + tmp146 + tmp148 + tmp15 + tmp189 + tmp190 + tmp192 + tmp193 + tmp2 + tmp243 + tmp246 + tmp406 + tmp407 + tmp408 + tmp409 + tmp5;
3490                                  const double tmp70_1 = tmp54_0*w31;                                  EM_S[INDEX2(0,5,8)]+=tmp174 + tmp176 + tmp184 + tmp24 + tmp260 + tmp267 + tmp339 + tmp340 + tmp341 + tmp342 + tmp344 + tmp345 + tmp416 + tmp417 + tmp506 + tmp507;
3491                                  const double tmp216_1 = tmp117_0*w11;                                  EM_S[INDEX2(0,6,8)]+=tmp21 + tmp258 + tmp266 + tmp274 + tmp337 + tmp398 + tmp422 + tmp424 + tmp428 + tmp430 + tmp447 + tmp449 + tmp496 + tmp497 + tmp498 + tmp499;
3492                                  const double tmp473_1 = A_02_7*w2;                                  EM_S[INDEX2(0,7,8)]+=tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp38 + tmp87;
3493                                  const double tmp149_1 = tmp82_0*w22;                                  EM_S[INDEX2(1,0,8)]+=tmp145 + tmp148 + tmp161 + tmp201 + tmp202 + tmp210 + tmp371 + tmp374 + tmp440 + tmp441 + tmp450 + tmp451 + tmp452 + tmp453 + tmp454 + tmp455 + tmp456 + tmp457 + tmp89 + tmp91;
3494                                  const double tmp357_1 = A_12_6*w4;                                  EM_S[INDEX2(1,1,8)]+=tmp215 + tmp221 + tmp227 + tmp260 + tmp267 + tmp288 + tmp304 + tmp312 + tmp317 + tmp351 + tmp352 + tmp353 + tmp354 + tmp355 + tmp356 + tmp357 + tmp358 + tmp359 + tmp360 + tmp361 + tmp362 + tmp363 + tmp76 + tmp79;
3495                                  const double tmp534_1 = tmp226_0*w29;                                  EM_S[INDEX2(1,2,8)]+=tmp166 + tmp169 + tmp172 + tmp196 + tmp197 + tmp198 + tmp199 + tmp20 + tmp200 + tmp21 + tmp73 + tmp74 + tmp75 + tmp77 + tmp80 + tmp82;
3496                                  const double tmp95_1 = tmp26_0*w15;                                  EM_S[INDEX2(1,3,8)]+=tmp36 + tmp37 + tmp38 + tmp39 + tmp40 + tmp41 + tmp42 + tmp43 + tmp44 + tmp45 + tmp46 + tmp47 + tmp48 + tmp49 + tmp50 + tmp51 + tmp52 + tmp53 + tmp54 + tmp55;
3497                                  const double tmp500_1 = tmp64_0*w20;                                  EM_S[INDEX2(1,4,8)]+=tmp176 + tmp24 + tmp269 + tmp274 + tmp339 + tmp340 + tmp342 + tmp343 + tmp344 + tmp347 + tmp394 + tmp395 + tmp416 + tmp417 + tmp418 + tmp419;
3498                                  const double tmp387_1 = tmp199_0*w6;                                  EM_S[INDEX2(1,5,8)]+=tmp112 + tmp12 + tmp123 + tmp13 + tmp141 + tmp142 + tmp143 + tmp146 + tmp147 + tmp149 + tmp16 + tmp277 + tmp278 + tmp279 + tmp280 + tmp281 + tmp282 + tmp6 + tmp92 + tmp98;
3499                                  const double tmp471_1 = A_20_4*w23;                                  EM_S[INDEX2(1,6,8)]+=tmp104 + tmp105 + tmp106 + tmp110 + tmp113 + tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp15 + tmp87;
3500                                  const double tmp281_1 = tmp74_0*w41;                                  EM_S[INDEX2(1,7,8)]+=tmp114 + tmp184 + tmp225 + tmp232 + tmp329 + tmp330 + tmp332 + tmp334 + tmp335 + tmp337 + tmp338 + tmp421 + tmp464 + tmp465 + tmp504 + tmp505;
3501                                  const double tmp351_1 = tmp180_0*w20;                                  EM_S[INDEX2(2,0,8)]+=tmp135 + tmp234 + tmp235 + tmp236 + tmp237 + tmp238 + tmp239 + tmp240 + tmp241 + tmp242 + tmp243 + tmp244 + tmp245 + tmp246 + tmp39 + tmp41 + tmp44 + tmp49 + tmp61 + tmp71;
3502                                  const double tmp63_1 = tmp48_0*w34;                                  EM_S[INDEX2(2,1,8)]+=tmp114 + tmp120 + tmp167 + tmp170 + tmp198 + tmp20 + tmp200 + tmp24 + tmp443 + tmp444 + tmp73 + tmp74 + tmp75 + tmp80 + tmp81 + tmp83;
3503                                  const double tmp365_1 = tmp186_0*w23;                                  EM_S[INDEX2(2,2,8)]+=tmp217 + tmp231 + tmp233 + tmp258 + tmp266 + tmp271 + tmp273 + tmp288 + tmp289 + tmp290 + tmp291 + tmp292 + tmp293 + tmp294 + tmp295 + tmp296 + tmp297 + tmp298 + tmp299 + tmp300 + tmp301 + tmp302 + tmp76 + tmp79;
3504                                  const double tmp448_1 = tmp206_0*w27;                                  EM_S[INDEX2(2,3,8)]+=tmp101 + tmp156 + tmp157 + tmp204 + tmp205 + tmp368 + tmp371 + tmp372 + tmp374 + tmp375 + tmp377 + tmp437 + tmp438 + tmp439 + tmp440 + tmp441 + tmp442 + tmp85 + tmp87 + tmp99;
3505                                  const double tmp39_1 = tmp31_0*w13;                                  EM_S[INDEX2(2,4,8)]+=tmp184 + tmp21 + tmp328 + tmp337 + tmp383 + tmp386 + tmp422 + tmp423 + tmp424 + tmp427 + tmp428 + tmp430 + tmp498 + tmp499 + tmp508 + tmp509;
3506                                  const double tmp453_1 = tmp196_0*w23;                                  EM_S[INDEX2(2,5,8)]+=tmp104 + tmp106 + tmp108 + tmp111 + tmp113 + tmp15 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp38;
3507                                  const double tmp402_1 = tmp163_0*w18;                                  EM_S[INDEX2(2,6,8)]+=tmp10 + tmp112 + tmp122 + tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp133 + tmp134 + tmp14 + tmp3 + tmp68 + tmp70 + tmp9;
3508                                  const double tmp137_1 = tmp71_0*w47;                                  EM_S[INDEX2(2,7,8)]+=tmp166 + tmp175 + tmp176 + tmp178 + tmp179 + tmp180 + tmp183 + tmp187 + tmp270 + tmp272 + tmp274 + tmp284 + tmp285 + tmp364 + tmp365 + tmp366;
3509                                  const double tmp6_1 = A_02_0*w2;                                  EM_S[INDEX2(3,0,8)]+=tmp20 + tmp21 + tmp24 + tmp34 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83;
3510                                  const double tmp34_1 = tmp26_0*w36;                                  EM_S[INDEX2(3,1,8)]+=tmp13 + tmp16 + tmp38 + tmp39 + tmp40 + tmp41 + tmp43 + tmp440 + tmp441 + tmp45 + tmp47 + tmp478 + tmp481 + tmp486 + tmp487 + tmp488 + tmp489 + tmp50 + tmp52 + tmp55;
3511                                  const double tmp383_1 = tmp197_0*w27;                                  EM_S[INDEX2(3,2,8)]+=tmp101 + tmp14 + tmp204 + tmp205 + tmp367 + tmp368 + tmp369 + tmp370 + tmp371 + tmp372 + tmp373 + tmp374 + tmp375 + tmp376 + tmp377 + tmp378 + tmp44 + tmp49 + tmp87 + tmp9;
3512                                  const double tmp166_1 = tmp97_0*w12;                                  EM_S[INDEX2(3,3,8)]+=tmp179 + tmp183 + tmp198 + tmp200 + tmp214 + tmp215 + tmp216 + tmp217 + tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp223 + tmp224 + tmp225 + tmp226 + tmp227 + tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp233;
3513                                  const double tmp114_1 = tmp40_0*w9;                                  EM_S[INDEX2(3,4,8)]+=tmp104 + tmp106 + tmp112 + tmp113 + tmp135 + tmp137 + tmp139 + tmp160 + tmp161 + tmp164 + tmp471 + tmp473;
3514                                  const double tmp306_1 = A_12_7*w4;                                  EM_S[INDEX2(3,5,8)]+=tmp114 + tmp274 + tmp312 + tmp317 + tmp329 + tmp332 + tmp335 + tmp337 + tmp338 + tmp399 + tmp401 + tmp446 + tmp462 + tmp463 + tmp464 + tmp465;
3515                                  const double tmp530_1 = tmp124_0*w39;                                  EM_S[INDEX2(3,6,8)]+=tmp166 + tmp175 + tmp176 + tmp177 + tmp178 + tmp180 + tmp181 + tmp184 + tmp187 + tmp271 + tmp273 + tmp283 + tmp284 + tmp285 + tmp286 + tmp287;
3516                                  const double tmp388_1 = tmp200_0*w13;                                  EM_S[INDEX2(3,7,8)]+=tmp1 + tmp10 + tmp11 + tmp12 + tmp15 + tmp152 + tmp153 + tmp154 + tmp155 + tmp156 + tmp157 + tmp158 + tmp159 + tmp17 + tmp3 + tmp4 + tmp51 + tmp54 + tmp6 + tmp7;
3517                                  const double tmp252_1 = tmp2_0*w30;                                  EM_S[INDEX2(4,0,8)]+=tmp1 + tmp127 + tmp131 + tmp141 + tmp146 + tmp15 + tmp153 + tmp154 + tmp188 + tmp189 + tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp68 + tmp70 + tmp92 + tmp98;
3518                                  const double tmp210_1 = A_02_4*w26;                                  EM_S[INDEX2(4,1,8)]+=tmp166 + tmp176 + tmp184 + tmp283 + tmp339 + tmp340 + tmp341 + tmp342 + tmp343 + tmp344 + tmp345 + tmp346 + tmp347 + tmp348 + tmp349 + tmp350;
3519                                  const double tmp200_1 = tmp21_0*w5;                                  EM_S[INDEX2(4,2,8)]+=tmp114 + tmp274 + tmp337 + tmp383 + tmp386 + tmp422 + tmp424 + tmp426 + tmp428 + tmp429 + tmp430 + tmp445 + tmp446 + tmp447 + tmp448 + tmp449;
3520                                  const double tmp181_1 = tmp3_0*w10;                                  EM_S[INDEX2(4,3,8)]+=tmp104 + tmp106 + tmp107 + tmp109 + tmp112 + tmp113 + tmp135 + tmp161 + tmp482 + tmp483 + tmp484 + tmp485;
3521                                  const double tmp425_1 = tmp106_0*w57;                                  EM_S[INDEX2(4,4,8)]+=tmp118 + tmp121 + tmp214 + tmp215 + tmp216 + tmp217 + tmp220 + tmp222 + tmp253 + tmp254 + tmp255 + tmp256 + tmp257 + tmp258 + tmp259 + tmp260 + tmp261 + tmp262 + tmp263 + tmp264 + tmp265 + tmp266 + tmp267 + tmp268;
3522                                  const double tmp261_1 = A_21_7*w4;                                  EM_S[INDEX2(4,5,8)]+=tmp100 + tmp101 + tmp145 + tmp148 + tmp369 + tmp376 + tmp402 + tmp403 + tmp404 + tmp405 + tmp60 + tmp65 + tmp84 + tmp87 + tmp88 + tmp89 + tmp91 + tmp95 + tmp96 + tmp97;
3523                                  const double tmp64_1 = tmp49_0*w13;                                  EM_S[INDEX2(4,6,8)]+=tmp243 + tmp246 + tmp38 + tmp43 + tmp476 + tmp477 + tmp478 + tmp479 + tmp480 + tmp481 + tmp57 + tmp58 + tmp61 + tmp63 + tmp64 + tmp66 + tmp69 + tmp71 + tmp90 + tmp94;
3524                                  const double tmp506_1 = A_01_0*w39;                                  EM_S[INDEX2(4,7,8)]+=tmp20 + tmp21 + tmp22 + tmp23 + tmp24 + tmp25 + tmp26 + tmp27 + tmp28 + tmp29 + tmp30 + tmp31 + tmp32 + tmp33 + tmp34 + tmp35;
3525                                  const double tmp457_1 = tmp213_0*w2;                                  EM_S[INDEX2(5,0,8)]+=tmp166 + tmp176 + tmp260 + tmp267 + tmp274 + tmp339 + tmp340 + tmp342 + tmp344 + tmp346 + tmp348 + tmp365 + tmp393 + tmp394 + tmp395 + tmp396;
3526                                  const double tmp2_1 = tmp2_0*w0;                                  EM_S[INDEX2(5,1,8)]+=tmp112 + tmp12 + tmp123 + tmp124 + tmp126 + tmp140 + tmp141 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp151 + tmp51 + tmp54 + tmp6;
3527                                  const double tmp393_1 = tmp203_0*w42;                                  EM_S[INDEX2(5,2,8)]+=tmp104 + tmp106 + tmp113 + tmp136 + tmp138 + tmp15 + tmp161 + tmp38 + tmp472 + tmp475 + tmp482 + tmp483;
3528                                  const double tmp133_1 = A_01_3*w35;                                  EM_S[INDEX2(5,3,8)]+=tmp184 + tmp21 + tmp312 + tmp317 + tmp327 + tmp328 + tmp329 + tmp330 + tmp331 + tmp332 + tmp333 + tmp334 + tmp335 + tmp336 + tmp337 + tmp338;
3529                                  const double tmp147_1 = tmp80_0*w41;                                  EM_S[INDEX2(5,4,8)]+=tmp100 + tmp101 + tmp102 + tmp103 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99;
3530                                  const double tmp8_1 = tmp4_0*w5;                                  EM_S[INDEX2(5,5,8)]+=tmp217 + tmp225 + tmp232 + tmp26 + tmp265 + tmp268 + tmp288 + tmp289 + tmp29 + tmp290 + tmp293 + tmp295 + tmp308 + tmp313 + tmp343 + tmp347 + tmp358 + tmp359 + tmp410 + tmp411 + tmp412 + tmp413 + tmp414 + tmp415;
3531                                  const double tmp267_1 = tmp144_0*w42;                                  EM_S[INDEX2(5,6,8)]+=tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp20 + tmp22 + tmp24 + tmp25 + tmp28 + tmp30 + tmp32 + tmp35;
3532                                  const double tmp17_1 = tmp11_0*w12;                                  EM_S[INDEX2(5,7,8)]+=tmp13 + tmp135 + tmp16 + tmp237 + tmp238 + tmp245 + tmp319 + tmp320 + tmp321 + tmp322 + tmp323 + tmp324 + tmp325 + tmp326 + tmp45 + tmp55 + tmp57 + tmp60 + tmp64 + tmp65;
3533                                  const double tmp284_1 = tmp58_0*w50;                                  EM_S[INDEX2(6,0,8)]+=tmp114 + tmp184 + tmp258 + tmp266 + tmp337 + tmp420 + tmp421 + tmp422 + tmp423 + tmp424 + tmp425 + tmp426 + tmp427 + tmp428 + tmp429 + tmp430;
3534                                  const double tmp328_1 = tmp66_0*w56;                                  EM_S[INDEX2(6,1,8)]+=tmp104 + tmp106 + tmp113 + tmp135 + tmp15 + tmp162 + tmp163 + tmp470 + tmp474 + tmp484 + tmp485 + tmp87;
3535                                  const double tmp405_1 = tmp60_0*w51;                                  EM_S[INDEX2(6,2,8)]+=tmp10 + tmp112 + tmp123 + tmp125 + tmp127 + tmp128 + tmp130 + tmp131 + tmp132 + tmp156 + tmp157 + tmp243 + tmp246 + tmp278 + tmp279 + tmp3 + tmp500 + tmp501 + tmp502 + tmp503;
3536                                  const double tmp467_1 = tmp222_0*w29;                                  EM_S[INDEX2(6,3,8)]+=tmp175 + tmp176 + tmp178 + tmp180 + tmp182 + tmp185 + tmp187 + tmp24 + tmp269 + tmp270 + tmp271 + tmp272 + tmp273 + tmp274 + tmp275 + tmp276;
3537                                  const double tmp535_1 = tmp225_0*w4;                                  EM_S[INDEX2(6,4,8)]+=tmp38 + tmp42 + tmp43 + tmp53 + tmp56 + tmp57 + tmp58 + tmp59 + tmp60 + tmp61 + tmp62 + tmp63 + tmp64 + tmp65 + tmp66 + tmp67 + tmp68 + tmp69 + tmp70 + tmp71;
3538                                  const double tmp356_1 = A_12_1*w29;                                  EM_S[INDEX2(6,5,8)]+=tmp118 + tmp121 + tmp166 + tmp199 + tmp20 + tmp21 + tmp22 + tmp25 + tmp27 + tmp28 + tmp30 + tmp33 + tmp458 + tmp459 + tmp460 + tmp461;
3539                                  const double tmp274_1 = tmp147_0*w6;                                  EM_S[INDEX2(6,6,8)]+=tmp179 + tmp183 + tmp215 + tmp255 + tmp26 + tmp261 + tmp288 + tmp29 + tmp298 + tmp300 + tmp304 + tmp316 + tmp318 + tmp351 + tmp354 + tmp355 + tmp383 + tmp386 + tmp387 + tmp388 + tmp389 + tmp390 + tmp391 + tmp392;
3540                                  const double tmp476_1 = tmp192_0*w39;                                  EM_S[INDEX2(6,7,8)]+=tmp100 + tmp14 + tmp161 + tmp201 + tmp202 + tmp203 + tmp204 + tmp205 + tmp206 + tmp207 + tmp208 + tmp209 + tmp210 + tmp211 + tmp212 + tmp213 + tmp88 + tmp9 + tmp90 + tmp94;
3541                                  const double tmp206_1 = tmp10_0*w21;                                  EM_S[INDEX2(7,0,8)]+=tmp104 + tmp106 + tmp112 + tmp113 + tmp38 + tmp470 + tmp471 + tmp472 + tmp473 + tmp474 + tmp475 + tmp87;
3542                                  const double tmp334_1 = tmp141_0*w9;                                  EM_S[INDEX2(7,1,8)]+=tmp21 + tmp225 + tmp232 + tmp274 + tmp329 + tmp332 + tmp333 + tmp335 + tmp336 + tmp337 + tmp338 + tmp397 + tmp398 + tmp399 + tmp400 + tmp401;
3543                                  const double tmp482_1 = tmp181_0*w26;                                  EM_S[INDEX2(7,2,8)]+=tmp173 + tmp174 + tmp175 + tmp176 + tmp177 + tmp178 + tmp179 + tmp180 + tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp24;
3544                                  const double tmp212_1 = A_20_7*w28;                                  EM_S[INDEX2(7,3,8)]+=tmp0 + tmp1 + tmp10 + tmp11 + tmp12 + tmp13 + tmp14 + tmp15 + tmp16 + tmp17 + tmp18 + tmp19 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8 + tmp9;
3545                                  const double tmp219_1 = tmp72_0*w21;                                  EM_S[INDEX2(7,4,8)]+=tmp114 + tmp117 + tmp119 + tmp166 + tmp171 + tmp20 + tmp22 + tmp25 + tmp26 + tmp28 + tmp29 + tmp30 + tmp460 + tmp461 + tmp494 + tmp495;
3546                                  const double tmp47_1 = tmp39_0*w16;                                  EM_S[INDEX2(7,5,8)]+=tmp135 + tmp238 + tmp320 + tmp324 + tmp325 + tmp326 + tmp431 + tmp432 + tmp433 + tmp434 + tmp435 + tmp436 + tmp45 + tmp51 + tmp54 + tmp55 + tmp57 + tmp64 + tmp90 + tmp94;
3547                                  const double tmp89_1 = A_10_3*w35;                                  EM_S[INDEX2(7,6,8)]+=tmp100 + tmp156 + tmp157 + tmp161 + tmp201 + tmp204 + tmp205 + tmp207 + tmp208 + tmp209 + tmp211 + tmp247 + tmp248 + tmp249 + tmp250 + tmp251 + tmp252 + tmp60 + tmp65 + tmp88;
3548                                  const double tmp52_1 = tmp44_0*w1;                                  EM_S[INDEX2(7,7,8)]+=tmp118 + tmp121 + tmp214 + tmp226 + tmp228 + tmp271 + tmp273 + tmp289 + tmp303 + tmp304 + tmp305 + tmp306 + tmp307 + tmp308 + tmp309 + tmp310 + tmp311 + tmp312 + tmp313 + tmp314 + tmp315 + tmp316 + tmp317 + tmp318;
                                 const double tmp492_1 = A_01_3*w39;  
                                 const double tmp81_1 = A_12_3*w24;  
                                 const double tmp77_1 = tmp60_0*w41;  
                                 const double tmp153_1 = tmp85_0*w21;  
                                 const double tmp304_1 = tmp163_0*w5;  
                                 const double tmp489_1 = tmp227_0*w11;  
                                 const double tmp107_1 = tmp35_0*w38;  
                                 const double tmp30_1 = tmp22_0*w39;  
                                 const double tmp260_1 = A_21_0*w29;  
                                 const double tmp343_1 = tmp172_0*w1;  
                                 const double tmp511_1 = tmp149_0*w6;  
                                 const double tmp139_1 = tmp73_0*w12;  
                                 const double tmp66_1 = tmp51_0*w44;  
                                 const double tmp208_1 = tmp4_0*w18;  
                                 const double tmp134_1 = tmp23_0*w10;  
                                 const double tmp205_1 = tmp105_0*w31;  
                                 const double tmp349_1 = tmp178_0*w8;  
                                 const double tmp341_1 = tmp53_0*w55;  
                                 const double tmp72_1 = tmp55_0*w17;  
                                 const double tmp79_1 = tmp62_0*w22;  
                                 const double tmp26_1 = tmp20_0*w19;  
                                 const double tmp141_1 = tmp75_0*w8;  
                                 const double tmp118_1 = tmp41_0*w17;  
                                 const double tmp259_1 = A_20_0*w28;  
                                 const double tmp458_1 = tmp212_0*w28;  
                                 const double tmp68_1 = tmp37_0*w15;  
                                 const double tmp154_1 = tmp86_0*w31;  
                                 const double tmp335_1 = tmp56_0*w59;  
                                 const double tmp359_1 = A_02_1*w23;  
                                 const double tmp56_1 = A_21_1*w29;  
                                 const double tmp392_1 = tmp145_0*w58;  
                                 const double tmp270_1 = tmp145_0*w48;  
                                 const double tmp92_1 = tmp47_0*w13;  
                                 const double tmp433_1 = tmp216_0*w34;  
                                 const double tmp420_1 = tmp125_0*w13;  
                                 const double tmp408_1 = tmp51_0*w52;  
                                 const double tmp494_1 = A_20_2*w28;  
                                 const double tmp362_1 = tmp185_0*w12;  
                                 const double tmp411_1 = tmp208_0*w19;  
                                 const double tmp336_1 = tmp65_0*w58;  
                                 const double tmp475_1 = A_21_4*w24;  
                                 const double tmp85_1 = A_12_3*w27;  
                                 const double tmp19_1 = tmp13_0*w15;  
                                 const double tmp537_1 = tmp132_0*w28;  
                                 const double tmp67_1 = tmp52_0*w8;  
                                 const double tmp459_1 = tmp210_0*w35;  
                                 const double tmp248_1 = tmp135_0*w34;  
                                 const double tmp326_1 = A_02_6*w23;  
                                 const double tmp23_1 = tmp17_0*w20;  
                                 const double tmp35_1 = tmp27_0*w11;  
                                 const double tmp62_1 = tmp47_0*w6;  
                                 const double tmp180_1 = tmp106_0*w7;  
                                 const double tmp277_1 = tmp150_0*w47;  
                                 const double tmp373_1 = tmp192_0*w35;  
                                 const double tmp337_1 = tmp157_0*w42;  
                                 const double tmp106_1 = tmp28_0*w39;  
                                 const double tmp369_1 = tmp168_0*w50;  
                                 const double tmp434_1 = tmp146_0*w58;  
                                 const double tmp331_1 = tmp155_0*w29;  
                                 const double tmp503_1 = tmp228_0*w27;  
                                 const double tmp93_1 = tmp61_0*w9;  
                                 const double tmp25_1 = tmp19_0*w22;  
                                 const double tmp146_1 = tmp79_0*w20;  
                                 const double tmp280_1 = A_10_6*w42;  
                                 const double tmp94_1 = tmp60_0*w44;  
                                 const double tmp400_1 = A_01_5*w42;  
                                 const double tmp151_1 = tmp83_0*w18;  
                                 const double tmp78_1 = tmp61_0*w21;  
                                 const double tmp301_1 = tmp6_0*w54;  
                                 const double tmp48_1 = tmp40_0*w21;  
                                 const double tmp75_1 = tmp58_0*w40;  
                                 const double tmp82_1 = tmp59_0*w1;  
                                 const double tmp74_1 = tmp57_0*w16;  
                                 const double tmp36_1 = tmp28_0*w35;  
                                 const double tmp370_1 = tmp189_0*w29;  
                                 const double tmp224_1 = tmp119_0*w19;  
                                 const double tmp109_1 = tmp36_0*w37;  
                                 const double tmp345_1 = tmp174_0*w5;  
                                 const double tmp101_1 = tmp44_0*w20;  
                                 const double tmp308_1 = A_01_5*w46;  
                                 const double tmp295_1 = tmp66_0*w58;  
                                 const double tmp117_1 = tmp26_0*w30;  
                                 const double tmp125_1 = tmp35_0*w3;  
                                 const double tmp309_1 = tmp9_0*w6;  
                                 const double tmp412_1 = tmp209_0*w24;  
                                 const double tmp46_1 = tmp38_0*w17;  
                                 const double tmp7_1 = A_02_7*w28;  
                                 const double tmp40_1 = tmp32_0*w9;  
                                 const double tmp386_1 = tmp198_0*w46;  
                                 const double tmp517_1 = tmp228_0*w24;  
                                 const double tmp532_1 = tmp223_0*w29;  
                                 const double tmp220_1 = A_02_3*w23;  
                                 const double tmp268_1 = tmp93_0*w20;  
                                 const double tmp322_1 = A_10_7*w39;  
                                 const double tmp311_1 = tmp8_0*w13;  
                                 const double tmp123_1 = A_01_4*w39;  
                                 const double tmp187_1 = A_20_6*w23;  
                                 const double tmp177_1 = A_02_5*w2;  
                                 const double tmp58_1 = A_21_6*w4;  
                                 const double tmp404_1 = tmp7_0*w38;  
                                 const double tmp122_1 = tmp64_0*w1;  
                                 const double tmp163_1 = tmp94_0*w5;  
                                 const double tmp15_1 = tmp9_0*w13;  
                                 const double tmp128_1 = A_20_5*w28;  
                                 const double tmp204_1 = tmp2_0*w15;  
                                 const double tmp539_1 = tmp207_0*w24;  
                                 const double tmp57_1 = tmp45_0*w37;  
                                 const double tmp53_1 = A_10_3*w39;  
                                 const double tmp157_1 = tmp88_0*w17;  
                                 const double tmp169_1 = tmp100_0*w16;  
                                 const double tmp162_1 = tmp93_0*w1;  
                                 const double tmp325_1 = tmp171_0*w12;  
                                 const double tmp179_1 = tmp105_0*w37;  
                                 const double tmp207_1 = A_20_1*w23;  
                                 const double tmp427_1 = tmp145_0*w56;  
                                 const double tmp368_1 = tmp188_0*w26;  
                                 const double tmp460_1 = tmp211_0*w24;  
                                 const double tmp347_1 = tmp176_0*w34;  
                                 const double tmp234_1 = tmp102_0*w9;  
                                 const double tmp21_1 = tmp15_0*w17;  
                                 const double tmp112_1 = tmp31_0*w6;  
                                 const double tmp319_1 = tmp169_0*w19;  
                                 const double tmp509_1 = A_01_7*w35;  
                                 const double tmp418_1 = tmp2_0*w36;  
                                 const double tmp266_1 = tmp143_0*w8;  
                                 const double tmp244_1 = tmp133_0*w28;  
                                 const double tmp138_1 = tmp72_0*w9;  
                                 const double tmp20_1 = tmp14_0*w14;  
                                 const double tmp29_1 = A_21_3*w24;  
                                 const double tmp190_1 = tmp113_0*w1;  
                                 const double tmp338_1 = tmp162_0*w17;  
                                 const double tmp87_1 = tmp54_0*w37;  
                                 const double tmp374_1 = tmp193_0*w34;  
                                 const double tmp195_1 = tmp13_0*w0;  
                                 const double tmp194_1 = tmp106_0*w25;  
                                 const double tmp111_1 = tmp22_0*w35;  
                                 const double tmp213_1 = tmp83_0*w5;  
                                 const double tmp291_1 = tmp157_0*w46;  
                                 const double tmp329_1 = tmp153_0*w2;  
                                 const double tmp256_1 = tmp17_0*w1;  
                                 const double tmp342_1 = tmp1_0*w54;  
                                 const double tmp376_1 = tmp194_0*w12;  
                                 const double tmp239_1 = tmp94_0*w18;  
                                 const double tmp340_1 = tmp160_0*w22;  
                                 const double tmp262_1 = tmp1_0*w7;  
                                 const double tmp54_1 = tmp26_0*w0;  
                                 const double tmp470_1 = A_20_3*w26;  
                                 const double tmp121_1 = tmp24_0*w18;  
                                 const double tmp523_1 = tmp85_0*w9;  
                                 const double tmp182_1 = tmp107_0*w12;  
                                 const double tmp140_1 = tmp74_0*w44;  
                                 const double tmp250_1 = tmp137_0*w8;  
                                 const double tmp104_1 = tmp55_0*w22;  
                                 const double tmp303_1 = A_21_5*w27;  
                                 const double tmp4_1 = tmp3_0*w3;  
                                 const double tmp526_1 = tmp121_0*w6;  
                                 const double tmp410_1 = tmp131_0*w20;  
                                 const double tmp255_1 = tmp141_0*w21;  
                                 const double tmp394_1 = tmp204_0*w19;  
                                 const double tmp172_1 = tmp103_0*w18;  
                                 const double tmp211_1 = A_20_0*w2;  
                                 const double tmp263_1 = tmp0_0*w20;  
                                 const double tmp230_1 = tmp124_0*w35;  
                                 const double tmp496_1 = A_01_4*w35;  
                                 const double tmp176_1 = A_12_5*w27;  
                                 const double tmp401_1 = tmp166_0*w43;  
                                 const double tmp43_1 = tmp35_0*w32;  
                                 const double tmp395_1 = tmp205_0*w23;  
                                 const double tmp348_1 = tmp177_0*w12;  
                                 const double tmp390_1 = tmp202_0*w8;  
                                 const double tmp525_1 = A_12_1*w4;  
                                 const double tmp237_1 = tmp129_0*w22;  
                                 const double tmp105_1 = A_12_4*w24;  
                                 const double tmp242_1 = tmp92_0*w50;  
                                 const double tmp161_1 = tmp92_0*w40;  
                                 const double tmp10_1 = A_12_0*w4;  
                                 const double tmp536_1 = tmp133_0*w2;  
                                 const double tmp55_1 = A_12_4*w27;  
                                 const double tmp445_1 = tmp82_0*w17;  
                                 const double tmp198_1 = A_02_2*w2;  
                                 const double tmp27_1 = A_20_3*w23;  
                                 const double tmp143_1 = A_10_5*w42;  
                                 const double tmp165_1 = tmp96_0*w9;  
                                 const double tmp145_1 = tmp78_0*w16;  
                                 const double tmp282_1 = tmp1_0*w57;  
                                 const double tmp13_1 = tmp7_0*w10;  
                                 const double tmp129_1 = tmp66_0*w49;  
                                 const double tmp443_1 = tmp65_0*w49;  
                                 const double tmp135_1 = A_10_2*w46;  
                                 const double tmp103_1 = tmp50_0*w21;  
                                 const double tmp247_1 = tmp13_0*w36;  
                                 const double tmp185_1 = tmp110_0*w16;  
                                 const double tmp191_1 = tmp114_0*w18;  
                                 const double tmp315_1 = tmp19_0*w17;  
                                 const double tmp380_1 = tmp195_0*w23;  
                                 const double tmp456_1 = tmp218_0*w27;  
                                 const double tmp288_1 = tmp154_0*w29;  
                                 EM_S[INDEX2(0,0,8)]+=tmp264_1 + tmp268_1 + tmp292_1 + tmp327_1 + tmp342_1 + tmp369_1 + tmp377_1 + tmp379_1 + tmp384_1 + tmp389_1 + tmp390_1 + tmp394_1 + tmp415_1 + tmp424_1 + tmp427_1 + tmp434_1 + tmp447_1 + tmp448_1 + tmp449_1 + tmp450_1 + tmp451_1 + tmp452_1 + tmp453_1 + tmp454_1;  
                                 EM_S[INDEX2(1,0,8)]+=tmp140_1 + tmp147_1 + tmp182_1 + tmp196_1 + tmp200_1 + tmp203_1 + tmp206_1 + tmp207_1 + tmp208_1 + tmp224_1 + tmp22_1 + tmp275_1 + tmp277_1 + tmp279_1 + tmp441_1 + tmp444_1 + tmp473_1 + tmp474_1 + tmp491_1 + tmp495_1 + tmp498_1 + tmp500_1 + tmp506_1 + tmp507_1 + tmp508_1 + tmp509_1 + tmp510_1 + tmp511_1 + tmp512_1 + tmp513_1;  
                                 EM_S[INDEX2(2,0,8)]+=tmp102_1 + tmp11_1 + tmp193_1 + tmp302_1 + tmp303_1 + tmp304_1 + tmp305_1 + tmp306_1 + tmp307_1 + tmp308_1 + tmp309_1 + tmp310_1 + tmp311_1 + tmp312_1 + tmp313_1 + tmp314_1 + tmp315_1 + tmp316_1 + tmp317_1 + tmp318_1 + tmp319_1 + tmp320_1 + tmp321_1 + tmp52_1 + tmp54_1 + tmp57_1 + tmp68_1 + tmp70_1 + tmp76_1 + tmp94_1;  
                                 EM_S[INDEX2(3,0,8)]+=tmp106_1 + tmp107_1 + tmp108_1 + tmp109_1 + tmp110_1 + tmp111_1 + tmp112_1 + tmp113_1 + tmp114_1 + tmp115_1 + tmp116_1 + tmp117_1 + tmp118_1 + tmp119_1 + tmp120_1 + tmp121_1 + tmp35_1 + tmp38_1 + tmp41_1 + tmp42_1 + tmp47_1 + tmp50_1;  
                                 EM_S[INDEX2(4,0,8)]+=tmp104_1 + tmp105_1 + tmp124_1 + tmp130_1 + tmp138_1 + tmp139_1 + tmp148_1 + tmp150_1 + tmp151_1 + tmp175_1 + tmp181_1 + tmp18_1 + tmp195_1 + tmp204_1 + tmp20_1 + tmp216_1 + tmp218_1 + tmp256_1 + tmp257_1 + tmp258_1 + tmp259_1 + tmp260_1 + tmp261_1 + tmp262_1 + tmp263_1 + tmp80_1 + tmp85_1 + tmp91_1 + tmp92_1 + tmp99_1;  
                                 EM_S[INDEX2(5,0,8)]+=tmp229_1 + tmp235_1 + tmp237_1 + tmp238_1 + tmp242_1 + tmp334_1 + tmp339_1 + tmp347_1 + tmp349_1 + tmp414_1 + tmp417_1 + tmp418_1 + tmp419_1 + tmp420_1 + tmp422_1 + tmp440_1 + tmp461_1 + tmp462_1 + tmp463_1 + tmp464_1 + tmp465_1 + tmp466_1;  
                                 EM_S[INDEX2(6,0,8)]+=tmp163_1 + tmp166_1 + tmp169_1 + tmp172_1 + tmp234_1 + tmp236_1 + tmp240_1 + tmp248_1 + tmp250_1 + tmp254_1 + tmp338_1 + tmp340_1 + tmp407_1 + tmp416_1 + tmp421_1 + tmp484_1 + tmp485_1 + tmp486_1 + tmp487_1 + tmp488_1 + tmp489_1 + tmp490_1;  
                                 EM_S[INDEX2(7,0,8)]+=tmp132_1 + tmp155_1 + tmp158_1 + tmp159_1 + tmp161_1 + tmp518_1 + tmp519_1 + tmp520_1 + tmp521_1 + tmp522_1 + tmp523_1 + tmp74_1;  
                                 EM_S[INDEX2(0,1,8)]+=tmp130_1 + tmp138_1 + tmp140_1 + tmp147_1 + tmp148_1 + tmp151_1 + tmp218_1 + tmp224_1 + tmp258_1 + tmp259_1 + tmp277_1 + tmp302_1 + tmp307_1 + tmp310_1 + tmp325_1 + tmp354_1 + tmp359_1 + tmp441_1 + tmp444_1 + tmp507_1 + tmp508_1 + tmp511_1 + tmp512_1 + tmp52_1 + tmp57_1 + tmp61_1 + tmp67_1 + tmp70_1 + tmp71_1 + tmp76_1;  
                                 EM_S[INDEX2(1,1,8)]+=tmp109_1 + tmp116_1 + tmp284_1 + tmp294_1 + tmp300_1 + tmp334_1 + tmp339_1 + tmp375_1 + tmp384_1 + tmp387_1 + tmp388_1 + tmp425_1 + tmp426_1 + tmp427_1 + tmp428_1 + tmp429_1 + tmp430_1 + tmp431_1 + tmp432_1 + tmp433_1 + tmp434_1 + tmp435_1 + tmp436_1 + tmp437_1;  
                                 EM_S[INDEX2(2,1,8)]+=tmp107_1 + tmp110_1 + tmp112_1 + tmp113_1 + tmp115_1 + tmp117_1 + tmp118_1 + tmp120_1 + tmp166_1 + tmp167_1 + tmp169_1 + tmp228_1 + tmp234_1 + tmp236_1 + tmp239_1 + tmp264_1 + tmp268_1 + tmp35_1 + tmp41_1 + tmp501_1 + tmp502_1 + tmp50_1;  
                                 EM_S[INDEX2(3,1,8)]+=tmp136_1 + tmp14_1 + tmp15_1 + tmp21_1 + tmp25_1 + tmp26_1 + tmp279_1 + tmp29_1 + tmp356_1 + tmp357_1 + tmp358_1 + tmp491_1 + tmp492_1 + tmp495_1 + tmp496_1 + tmp498_1 + tmp500_1 + tmp510_1 + tmp513_1 + tmp54_1 + tmp5_1 + tmp65_1 + tmp66_1 + tmp68_1 + tmp69_1 + tmp73_1 + tmp74_1 + tmp75_1 + tmp77_1 + tmp78_1;  
                                 EM_S[INDEX2(4,1,8)]+=tmp229_1 + tmp235_1 + tmp237_1 + tmp238_1 + tmp242_1 + tmp248_1 + tmp250_1 + tmp362_1 + tmp403_1 + tmp410_1 + tmp413_1 + tmp414_1 + tmp415_1 + tmp416_1 + tmp417_1 + tmp418_1 + tmp419_1 + tmp420_1 + tmp421_1 + tmp422_1 + tmp423_1 + tmp424_1;  
                                 EM_S[INDEX2(5,1,8)]+=tmp13_1 + tmp158_1 + tmp182_1 + tmp184_1 + tmp185_1 + tmp186_1 + tmp194_1 + tmp195_1 + tmp196_1 + tmp197_1 + tmp198_1 + tmp199_1 + tmp200_1 + tmp201_1 + tmp202_1 + tmp203_1 + tmp204_1 + tmp205_1 + tmp206_1 + tmp207_1 + tmp208_1 + tmp209_1 + tmp4_1 + tmp56_1 + tmp58_1 + tmp59_1 + tmp62_1 + tmp64_1 + tmp72_1 + tmp79_1;  
                                 EM_S[INDEX2(6,1,8)]+=tmp132_1 + tmp155_1 + tmp159_1 + tmp161_1 + tmp18_1 + tmp193_1 + tmp222_1 + tmp223_1 + tmp521_1 + tmp522_1 + tmp528_1 + tmp529_1;  
                                 EM_S[INDEX2(7,1,8)]+=tmp108_1 + tmp121_1 + tmp297_1 + tmp299_1 + tmp346_1 + tmp347_1 + tmp349_1 + tmp350_1 + tmp404_1 + tmp405_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp40_1 + tmp42_1 + tmp461_1 + tmp466_1 + tmp467_1 + tmp468_1 + tmp469_1 + tmp47_1 + tmp48_1;  
                                 EM_S[INDEX2(0,2,8)]+=tmp102_1 + tmp104_1 + tmp141_1 + tmp176_1 + tmp186_1 + tmp188_1 + tmp193_1 + tmp216_1 + tmp260_1 + tmp261_1 + tmp275_1 + tmp304_1 + tmp313_1 + tmp316_1 + tmp317_1 + tmp320_1 + tmp491_1 + tmp495_1 + tmp497_1 + tmp498_1 + tmp499_1 + tmp500_1 + tmp506_1 + tmp509_1 + tmp54_1 + tmp68_1 + tmp91_1 + tmp92_1 + tmp94_1 + tmp99_1;  
                                 EM_S[INDEX2(1,2,8)]+=tmp107_1 + tmp108_1 + tmp110_1 + tmp114_1 + tmp115_1 + tmp117_1 + tmp119_1 + tmp121_1 + tmp229_1 + tmp231_1 + tmp233_1 + tmp235_1 + tmp237_1 + tmp238_1 + tmp264_1 + tmp265_1 + tmp266_1 + tmp267_1 + tmp268_1 + tmp41_1 + tmp42_1 + tmp47_1;  
                                 EM_S[INDEX2(2,2,8)]+=tmp109_1 + tmp116_1 + tmp283_1 + tmp287_1 + tmp295_1 + tmp338_1 + tmp340_1 + tmp345_1 + tmp353_1 + tmp366_1 + tmp367_1 + tmp368_1 + tmp369_1 + tmp370_1 + tmp371_1 + tmp372_1 + tmp373_1 + tmp374_1 + tmp375_1 + tmp376_1 + tmp377_1 + tmp378_1 + tmp379_1 + tmp380_1;  
                                 EM_S[INDEX2(3,2,8)]+=tmp132_1 + tmp137_1 + tmp16_1 + tmp177_1 + tmp178_1 + tmp17_1 + tmp185_1 + tmp24_1 + tmp278_1 + tmp27_1 + tmp281_1 + tmp28_1 + tmp308_1 + tmp312_1 + tmp314_1 + tmp3_1 + tmp441_1 + tmp442_1 + tmp443_1 + tmp444_1 + tmp445_1 + tmp446_1 + tmp52_1 + tmp53_1 + tmp57_1 + tmp60_1 + tmp63_1 + tmp70_1 + tmp76_1 + tmp8_1;  
                                 EM_S[INDEX2(4,2,8)]+=tmp163_1 + tmp166_1 + tmp169_1 + tmp172_1 + tmp234_1 + tmp236_1 + tmp343_1 + tmp347_1 + tmp349_1 + tmp351_1 + tmp407_1 + tmp450_1 + tmp451_1 + tmp464_1 + tmp465_1 + tmp484_1 + tmp485_1 + tmp487_1 + tmp490_1 + tmp503_1 + tmp504_1 + tmp505_1;  
                                 EM_S[INDEX2(5,2,8)]+=tmp155_1 + tmp159_1 + tmp161_1 + tmp189_1 + tmp18_1 + tmp190_1 + tmp224_1 + tmp519_1 + tmp523_1 + tmp526_1 + tmp527_1 + tmp74_1;  
                                 EM_S[INDEX2(6,2,8)]+=tmp145_1 + tmp158_1 + tmp173_1 + tmp175_1 + tmp179_1 + tmp180_1 + tmp181_1 + tmp183_1 + tmp184_1 + tmp19_1 + tmp213_1 + tmp217_1 + tmp219_1 + tmp221_1 + tmp2_1 + tmp303_1 + tmp309_1 + tmp311_1 + tmp315_1 + tmp318_1 + tmp319_1 + tmp321_1 + tmp323_1 + tmp325_1 + tmp326_1 + tmp358_1 + tmp493_1 + tmp494_1 + tmp524_1 + tmp525_1;  
                                 EM_S[INDEX2(7,2,8)]+=tmp112_1 + tmp113_1 + tmp240_1 + tmp241_1 + tmp242_1 + tmp243_1 + tmp244_1 + tmp245_1 + tmp246_1 + tmp247_1 + tmp248_1 + tmp249_1 + tmp250_1 + tmp251_1 + tmp252_1 + tmp253_1 + tmp254_1 + tmp255_1 + tmp35_1 + tmp46_1 + tmp49_1 + tmp50_1;  
                                 EM_S[INDEX2(0,3,8)]+=tmp107_1 + tmp109_1 + tmp110_1 + tmp115_1 + tmp116_1 + tmp117_1 + tmp166_1 + tmp169_1 + tmp227_1 + tmp228_1 + tmp229_1 + tmp230_1 + tmp231_1 + tmp232_1 + tmp233_1 + tmp234_1 + tmp235_1 + tmp236_1 + tmp237_1 + tmp238_1 + tmp239_1 + tmp41_1;  
                                 EM_S[INDEX2(1,3,8)]+=tmp52_1 + tmp53_1 + tmp54_1 + tmp55_1 + tmp56_1 + tmp57_1 + tmp58_1 + tmp59_1 + tmp60_1 + tmp61_1 + tmp62_1 + tmp63_1 + tmp64_1 + tmp65_1 + tmp66_1 + tmp67_1 + tmp68_1 + tmp69_1 + tmp70_1 + tmp71_1 + tmp72_1 + tmp73_1 + tmp74_1 + tmp75_1 + tmp76_1 + tmp77_1 + tmp78_1 + tmp79_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(2,3,8)]+=tmp132_1 + tmp136_1 + tmp137_1 + tmp139_1 + tmp141_1 + tmp145_1 + tmp210_1 + tmp213_1 + tmp217_1 + tmp219_1 + tmp220_1 + tmp221_1 + tmp278_1 + tmp281_1 + tmp441_1 + tmp442_1 + tmp443_1 + tmp444_1 + tmp445_1 + tmp446_1 + tmp491_1 + tmp492_1 + tmp493_1 + tmp494_1 + tmp495_1 + tmp496_1 + tmp497_1 + tmp498_1 + tmp499_1 + tmp500_1;  
                                 EM_S[INDEX2(3,3,8)]+=tmp249_1 + tmp255_1 + tmp264_1 + tmp268_1 + tmp282_1 + tmp283_1 + tmp284_1 + tmp285_1 + tmp286_1 + tmp287_1 + tmp288_1 + tmp289_1 + tmp290_1 + tmp291_1 + tmp292_1 + tmp293_1 + tmp294_1 + tmp295_1 + tmp296_1 + tmp297_1 + tmp298_1 + tmp299_1 + tmp300_1 + tmp301_1;  
                                 EM_S[INDEX2(4,3,8)]+=tmp152_1 + tmp154_1 + tmp155_1 + tmp158_1 + tmp159_1 + tmp161_1 + tmp193_1 + tmp224_1 + tmp526_1 + tmp527_1 + tmp528_1 + tmp529_1;  
                                 EM_S[INDEX2(5,3,8)]+=tmp108_1 + tmp121_1 + tmp245_1 + tmp248_1 + tmp250_1 + tmp251_1 + tmp387_1 + tmp388_1 + tmp403_1 + tmp404_1 + tmp405_1 + tmp406_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp40_1 + tmp410_1 + tmp411_1 + tmp412_1 + tmp42_1 + tmp47_1 + tmp48_1;  
                                 EM_S[INDEX2(6,3,8)]+=tmp112_1 + tmp113_1 + tmp241_1 + tmp242_1 + tmp246_1 + tmp247_1 + tmp252_1 + tmp343_1 + tmp344_1 + tmp345_1 + tmp346_1 + tmp347_1 + tmp348_1 + tmp349_1 + tmp350_1 + tmp351_1 + tmp352_1 + tmp353_1 + tmp35_1 + tmp46_1 + tmp49_1 + tmp50_1;  
                                 EM_S[INDEX2(7,3,8)]+=tmp0_1 + tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp14_1 + tmp15_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp20_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp29_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1 + tmp8_1 + tmp9_1;  
                                 EM_S[INDEX2(0,4,8)]+=tmp11_1 + tmp175_1 + tmp17_1 + tmp181_1 + tmp18_1 + tmp195_1 + tmp200_1 + tmp203_1 + tmp204_1 + tmp206_1 + tmp208_1 + tmp20_1 + tmp22_1 + tmp256_1 + tmp257_1 + tmp262_1 + tmp263_1 + tmp26_1 + tmp305_1 + tmp306_1 + tmp309_1 + tmp311_1 + tmp315_1 + tmp318_1 + tmp470_1 + tmp471_1 + tmp472_1 + tmp473_1 + tmp474_1 + tmp475_1;  
                                 EM_S[INDEX2(1,4,8)]+=tmp118_1 + tmp120_1 + tmp242_1 + tmp347_1 + tmp348_1 + tmp349_1 + tmp35_1 + tmp37_1 + tmp39_1 + tmp414_1 + tmp415_1 + tmp417_1 + tmp418_1 + tmp422_1 + tmp424_1 + tmp461_1 + tmp464_1 + tmp465_1 + tmp466_1 + tmp482_1 + tmp483_1 + tmp50_1;  
                                 EM_S[INDEX2(2,4,8)]+=tmp114_1 + tmp119_1 + tmp240_1 + tmp248_1 + tmp250_1 + tmp254_1 + tmp32_1 + tmp407_1 + tmp411_1 + tmp416_1 + tmp421_1 + tmp42_1 + tmp450_1 + tmp451_1 + tmp47_1 + tmp484_1 + tmp485_1 + tmp487_1 + tmp490_1 + tmp51_1 + tmp538_1 + tmp539_1;  
                                 EM_S[INDEX2(3,4,8)]+=tmp155_1 + tmp158_1 + tmp159_1 + tmp161_1 + tmp191_1 + tmp192_1 + tmp193_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp518_1 + tmp520_1;  
                                 EM_S[INDEX2(4,4,8)]+=tmp162_1 + tmp170_1 + tmp284_1 + tmp287_1 + tmp290_1 + tmp292_1 + tmp293_1 + tmp298_1 + tmp327_1 + tmp328_1 + tmp329_1 + tmp330_1 + tmp331_1 + tmp332_1 + tmp333_1 + tmp334_1 + tmp335_1 + tmp336_1 + tmp337_1 + tmp338_1 + tmp339_1 + tmp340_1 + tmp341_1 + tmp342_1;  
                                 EM_S[INDEX2(5,4,8)]+=tmp122_1 + tmp123_1 + tmp124_1 + tmp125_1 + tmp126_1 + tmp127_1 + tmp128_1 + tmp129_1 + tmp130_1 + tmp131_1 + tmp132_1 + tmp133_1 + tmp134_1 + tmp135_1 + tmp136_1 + tmp137_1 + tmp138_1 + tmp139_1 + tmp140_1 + tmp141_1 + tmp142_1 + tmp143_1 + tmp144_1 + tmp145_1 + tmp146_1 + tmp147_1 + tmp148_1 + tmp149_1 + tmp150_1 + tmp151_1;  
                                 EM_S[INDEX2(6,4,8)]+=tmp100_1 + tmp101_1 + tmp102_1 + tmp103_1 + tmp104_1 + tmp105_1 + tmp59_1 + tmp63_1 + tmp67_1 + tmp74_1 + tmp75_1 + tmp80_1 + tmp82_1 + tmp83_1 + tmp84_1 + tmp85_1 + tmp86_1 + tmp87_1 + tmp88_1 + tmp89_1 + tmp90_1 + tmp91_1 + tmp92_1 + tmp93_1 + tmp94_1 + tmp95_1 + tmp96_1 + tmp97_1 + tmp98_1 + tmp99_1;  
                                 EM_S[INDEX2(7,4,8)]+=tmp163_1 + tmp165_1 + tmp166_1 + tmp169_1 + tmp171_1 + tmp172_1 + tmp229_1 + tmp232_1 + tmp238_1 + tmp31_1 + tmp33_1 + tmp34_1 + tmp363_1 + tmp364_1 + tmp419_1 + tmp41_1 + tmp420_1 + tmp43_1 + tmp44_1 + tmp45_1 + tmp530_1 + tmp531_1;  
                                 EM_S[INDEX2(0,5,8)]+=tmp118_1 + tmp120_1 + tmp242_1 + tmp248_1 + tmp250_1 + tmp253_1 + tmp334_1 + tmp339_1 + tmp35_1 + tmp37_1 + tmp39_1 + tmp403_1 + tmp410_1 + tmp414_1 + tmp416_1 + tmp417_1 + tmp418_1 + tmp421_1 + tmp422_1 + tmp50_1 + tmp536_1 + tmp537_1;  
                                 EM_S[INDEX2(1,5,8)]+=tmp127_1 + tmp128_1 + tmp130_1 + tmp138_1 + tmp13_1 + tmp145_1 + tmp148_1 + tmp14_1 + tmp151_1 + tmp158_1 + tmp15_1 + tmp184_1 + tmp194_1 + tmp195_1 + tmp201_1 + tmp202_1 + tmp204_1 + tmp205_1 + tmp21_1 + tmp25_1 + tmp319_1 + tmp325_1 + tmp354_1 + tmp355_1 + tmp356_1 + tmp357_1 + tmp358_1 + tmp359_1 + tmp360_1 + tmp4_1;  
                                 EM_S[INDEX2(2,5,8)]+=tmp153_1 + tmp155_1 + tmp159_1 + tmp160_1 + tmp161_1 + tmp18_1 + tmp222_1 + tmp223_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp74_1;  
                                 EM_S[INDEX2(3,5,8)]+=tmp165_1 + tmp166_1 + tmp169_1 + tmp171_1 + tmp228_1 + tmp239_1 + tmp346_1 + tmp347_1 + tmp349_1 + tmp350_1 + tmp387_1 + tmp388_1 + tmp404_1 + tmp405_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp461_1 + tmp466_1 + tmp504_1 + tmp516_1 + tmp517_1;  
                                 EM_S[INDEX2(4,5,8)]+=tmp101_1 + tmp125_1 + tmp126_1 + tmp129_1 + tmp132_1 + tmp134_1 + tmp137_1 + tmp140_1 + tmp144_1 + tmp147_1 + tmp149_1 + tmp17_1 + tmp185_1 + tmp198_1 + tmp199_1 + tmp200_1 + tmp203_1 + tmp206_1 + tmp208_1 + tmp312_1 + tmp398_1 + tmp400_1 + tmp470_1 + tmp471_1 + tmp63_1 + tmp82_1 + tmp83_1 + tmp87_1 + tmp89_1 + tmp97_1;  
                                 EM_S[INDEX2(5,5,8)]+=tmp287_1 + tmp297_1 + tmp299_1 + tmp328_1 + tmp336_1 + tmp33_1 + tmp369_1 + tmp372_1 + tmp374_1 + tmp375_1 + tmp376_1 + tmp385_1 + tmp391_1 + tmp415_1 + tmp424_1 + tmp425_1 + tmp436_1 + tmp44_1 + tmp476_1 + tmp477_1 + tmp478_1 + tmp479_1 + tmp480_1 + tmp481_1;  
                                 EM_S[INDEX2(6,5,8)]+=tmp162_1 + tmp170_1 + tmp229_1 + tmp238_1 + tmp266_1 + tmp31_1 + tmp32_1 + tmp34_1 + tmp363_1 + tmp364_1 + tmp40_1 + tmp419_1 + tmp41_1 + tmp420_1 + tmp42_1 + tmp43_1 + tmp45_1 + tmp47_1 + tmp48_1 + tmp514_1 + tmp515_1 + tmp51_1;  
                                 EM_S[INDEX2(7,5,8)]+=tmp122_1 + tmp131_1 + tmp135_1 + tmp141_1 + tmp142_1 + tmp143_1 + tmp146_1 + tmp186_1 + tmp193_1 + tmp197_1 + tmp209_1 + tmp214_1 + tmp215_1 + tmp216_1 + tmp269_1 + tmp272_1 + tmp275_1 + tmp317_1 + tmp397_1 + tmp399_1 + tmp401_1 + tmp402_1 + tmp62_1 + tmp64_1 + tmp66_1 + tmp72_1 + tmp77_1 + tmp79_1 + tmp84_1 + tmp95_1;  
                                 EM_S[INDEX2(0,6,8)]+=tmp114_1 + tmp119_1 + tmp32_1 + tmp338_1 + tmp340_1 + tmp343_1 + tmp347_1 + tmp349_1 + tmp351_1 + tmp407_1 + tmp42_1 + tmp464_1 + tmp465_1 + tmp469_1 + tmp47_1 + tmp484_1 + tmp485_1 + tmp487_1 + tmp490_1 + tmp51_1 + tmp532_1 + tmp533_1;  
                                 EM_S[INDEX2(1,6,8)]+=tmp132_1 + tmp155_1 + tmp156_1 + tmp157_1 + tmp159_1 + tmp161_1 + tmp189_1 + tmp18_1 + tmp190_1 + tmp191_1 + tmp192_1 + tmp193_1;  
                                 EM_S[INDEX2(2,6,8)]+=tmp104_1 + tmp158_1 + tmp16_1 + tmp173_1 + tmp174_1 + tmp175_1 + tmp176_1 + tmp177_1 + tmp178_1 + tmp179_1 + tmp180_1 + tmp181_1 + tmp182_1 + tmp183_1 + tmp184_1 + tmp185_1 + tmp186_1 + tmp187_1 + tmp188_1 + tmp19_1 + tmp24_1 + tmp28_1 + tmp2_1 + tmp59_1 + tmp86_1 + tmp88_1 + tmp8_1 + tmp91_1 + tmp92_1 + tmp99_1;  
                                 EM_S[INDEX2(3,6,8)]+=tmp229_1 + tmp231_1 + tmp233_1 + tmp238_1 + tmp240_1 + tmp241_1 + tmp242_1 + tmp245_1 + tmp246_1 + tmp247_1 + tmp248_1 + tmp250_1 + tmp251_1 + tmp252_1 + tmp254_1 + tmp345_1 + tmp353_1 + tmp361_1 + tmp362_1 + tmp363_1 + tmp364_1 + tmp365_1;  
                                 EM_S[INDEX2(4,6,8)]+=tmp100_1 + tmp102_1 + tmp103_1 + tmp122_1 + tmp123_1 + tmp131_1 + tmp133_1 + tmp136_1 + tmp142_1 + tmp146_1 + tmp26_1 + tmp273_1 + tmp279_1 + tmp280_1 + tmp309_1 + tmp311_1 + tmp315_1 + tmp318_1 + tmp358_1 + tmp472_1 + tmp475_1 + tmp524_1 + tmp525_1 + tmp74_1 + tmp75_1 + tmp84_1 + tmp93_1 + tmp94_1 + tmp95_1 + tmp96_1;  
                                 EM_S[INDEX2(5,6,8)]+=tmp162_1 + tmp163_1 + tmp164_1 + tmp165_1 + tmp166_1 + tmp167_1 + tmp168_1 + tmp169_1 + tmp170_1 + tmp171_1 + tmp172_1 + tmp31_1 + tmp34_1 + tmp35_1 + tmp37_1 + tmp39_1 + tmp41_1 + tmp43_1 + tmp45_1 + tmp46_1 + tmp49_1 + tmp50_1;  
                                 EM_S[INDEX2(6,6,8)]+=tmp249_1 + tmp255_1 + tmp284_1 + tmp335_1 + tmp33_1 + tmp341_1 + tmp366_1 + tmp375_1 + tmp378_1 + tmp381_1 + tmp384_1 + tmp392_1 + tmp431_1 + tmp433_1 + tmp435_1 + tmp44_1 + tmp450_1 + tmp451_1 + tmp455_1 + tmp456_1 + tmp457_1 + tmp458_1 + tmp459_1 + tmp460_1;  
                                 EM_S[INDEX2(7,6,8)]+=tmp101_1 + tmp125_1 + tmp134_1 + tmp211_1 + tmp212_1 + tmp213_1 + tmp217_1 + tmp218_1 + tmp219_1 + tmp221_1 + tmp224_1 + tmp270_1 + tmp271_1 + tmp274_1 + tmp276_1 + tmp277_1 + tmp278_1 + tmp281_1 + tmp310_1 + tmp322_1 + tmp323_1 + tmp324_1 + tmp325_1 + tmp326_1 + tmp67_1 + tmp82_1 + tmp87_1 + tmp90_1 + tmp97_1 + tmp98_1;  
                                 EM_S[INDEX2(0,7,8)]+=tmp132_1 + tmp152_1 + tmp153_1 + tmp154_1 + tmp155_1 + tmp156_1 + tmp157_1 + tmp158_1 + tmp159_1 + tmp160_1 + tmp161_1 + tmp74_1;  
                                 EM_S[INDEX2(1,7,8)]+=tmp165_1 + tmp166_1 + tmp169_1 + tmp171_1 + tmp228_1 + tmp239_1 + tmp245_1 + tmp248_1 + tmp250_1 + tmp251_1 + tmp297_1 + tmp299_1 + tmp403_1 + tmp404_1 + tmp405_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp410_1 + tmp489_1 + tmp534_1 + tmp535_1;  
                                 EM_S[INDEX2(2,7,8)]+=tmp229_1 + tmp231_1 + tmp233_1 + tmp238_1 + tmp241_1 + tmp242_1 + tmp246_1 + tmp247_1 + tmp249_1 + tmp252_1 + tmp255_1 + tmp343_1 + tmp346_1 + tmp347_1 + tmp349_1 + tmp350_1 + tmp351_1 + tmp363_1 + tmp364_1 + tmp438_1 + tmp439_1 + tmp440_1;  
                                 EM_S[INDEX2(3,7,8)]+=tmp0_1 + tmp12_1 + tmp139_1 + tmp13_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp20_1 + tmp210_1 + tmp211_1 + tmp212_1 + tmp213_1 + tmp214_1 + tmp215_1 + tmp216_1 + tmp217_1 + tmp218_1 + tmp219_1 + tmp220_1 + tmp221_1 + tmp23_1 + tmp2_1 + tmp4_1 + tmp55_1 + tmp62_1 + tmp64_1 + tmp72_1 + tmp79_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(4,7,8)]+=tmp30_1 + tmp31_1 + tmp32_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp36_1 + tmp37_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp49_1 + tmp50_1 + tmp51_1;  
                                 EM_S[INDEX2(5,7,8)]+=tmp101_1 + tmp10_1 + tmp11_1 + tmp14_1 + tmp15_1 + tmp193_1 + tmp21_1 + tmp25_1 + tmp310_1 + tmp312_1 + tmp317_1 + tmp319_1 + tmp322_1 + tmp324_1 + tmp355_1 + tmp360_1 + tmp397_1 + tmp398_1 + tmp399_1 + tmp400_1 + tmp401_1 + tmp402_1 + tmp66_1 + tmp77_1 + tmp82_1 + tmp84_1 + tmp87_1 + tmp95_1 + tmp97_1 + tmp9_1;  
                                 EM_S[INDEX2(6,7,8)]+=tmp122_1 + tmp125_1 + tmp131_1 + tmp134_1 + tmp142_1 + tmp146_1 + tmp16_1 + tmp174_1 + tmp182_1 + tmp187_1 + tmp224_1 + tmp22_1 + tmp24_1 + tmp269_1 + tmp270_1 + tmp271_1 + tmp272_1 + tmp273_1 + tmp274_1 + tmp275_1 + tmp276_1 + tmp277_1 + tmp278_1 + tmp279_1 + tmp280_1 + tmp281_1 + tmp28_1 + tmp6_1 + tmp7_1 + tmp8_1;  
                                 EM_S[INDEX2(7,7,8)]+=tmp162_1 + tmp170_1 + tmp282_1 + tmp292_1 + tmp301_1 + tmp345_1 + tmp353_1 + tmp369_1 + tmp381_1 + tmp382_1 + tmp383_1 + tmp384_1 + tmp385_1 + tmp386_1 + tmp387_1 + tmp388_1 + tmp389_1 + tmp390_1 + tmp391_1 + tmp392_1 + tmp393_1 + tmp394_1 + tmp395_1 + tmp396_1;  
3549                              } else { // constant data                              } else { // constant data
3550                                  const double A_00 = A_p[INDEX2(0,0,3)];                                  const double A_00 = A_p[INDEX2(0,0,3)];
3551                                  const double A_01 = A_p[INDEX2(0,1,3)];                                  const double A_01 = A_p[INDEX2(0,1,3)];
# Line 3927  void Brick::assemblePDESingle(Paso_Syste Line 3556  void Brick::assemblePDESingle(Paso_Syste
3556                                  const double A_20 = A_p[INDEX2(2,0,3)];                                  const double A_20 = A_p[INDEX2(2,0,3)];
3557                                  const double A_21 = A_p[INDEX2(2,1,3)];                                  const double A_21 = A_p[INDEX2(2,1,3)];
3558                                  const double A_22 = A_p[INDEX2(2,2,3)];                                  const double A_22 = A_p[INDEX2(2,2,3)];
3559                                  const double tmp0_0 = A_01 + A_10;                                  const double tmp0 = 24*w11*(-A_02 + A_20);
3560                                  const double tmp1_0 = A_02 + A_20;                                  const double tmp1 = 24*w10*(A_12 - A_21);
3561                                  const double tmp2_0 = A_12 + A_21;                                  const double tmp2 = 12*w8*(A_01 + A_10);
3562                                  const double tmp25_1 = A_01*w69;                                  const double tmp3 = 12*w11*(-A_02 + A_20);
3563                                  const double tmp2_1 = tmp0_0*w61;                                  const double tmp4 = 12*w10*(A_12 - A_21);
3564                                  const double tmp33_1 = A_20*w70;                                  const double tmp5 = 24*w8*(-A_01 - A_10);
3565                                  const double tmp23_1 = A_02*w65;                                  const double tmp6 = 12*w11*(-A_02 - A_20);
3566                                  const double tmp41_1 = A_01*w61;                                  const double tmp7 = 24*w10*(-A_12 + A_21);
3567                                  const double tmp34_1 = A_02*w73;                                  const double tmp8 = 24*w8*(A_01 - A_10);
3568                                  const double tmp8_1 = A_11*w71;                                  const double tmp9 = 24*w11*(A_02 - A_20);
3569                                  const double tmp50_1 = A_10*w61;                                  const double tmp10 = 12*w10*(A_12 + A_21);
3570                                  const double tmp15_1 = A_22*w75;                                  const double tmp11 = 24*w8*(-A_01 + A_10);
3571                                  const double tmp9_1 = A_21*w74;                                  const double tmp12 = 12*w8*(-A_01 - A_10);
3572                                  const double tmp19_1 = A_10*w69;                                  const double tmp13 = 12*w11*(A_02 - A_20);
3573                                  const double tmp11_1 = A_00*w68;                                  const double tmp14 = 24*w8*(A_01 + A_10);
3574                                  const double tmp52_1 = tmp2_0*w66;                                  const double tmp15 = 12*w11*(A_02 + A_20);
3575                                  const double tmp37_1 = tmp2_0*w74;                                  const double tmp16 = 12*w10*(-A_12 - A_21);
3576                                  const double tmp0_1 = A_00*w60;                                  const double tmp17 = 12*w10*(-A_12 + A_21);
3577                                  const double tmp17_1 = A_21*w64;                                  const double tmp18 = 24*w11*(-A_02 - A_20);
3578                                  const double tmp26_1 = A_00*w79;                                  const double tmp19 = 12*w8*(A_01 - A_10);
3579                                  const double tmp5_1 = A_21*w66;                                  const double tmp20 = 24*w10*(A_12 + A_21);
3580                                  const double tmp29_1 = A_00*w80;                                  const double tmp21 = 24*w11*(A_02 + A_20);
3581                                  const double tmp7_1 = A_22*w67;                                  const double tmp22 = 12*w8*(-A_01 + A_10);
3582                                  const double tmp48_1 = A_11*w87;                                  const double tmp23 = 24*w10*(-A_12 - A_21);
3583                                  const double tmp44_1 = A_11*w84;                                  EM_S[INDEX2(0,0,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp14 + tmp21 + tmp23;
3584                                  const double tmp27_1 = tmp2_0*w72;                                  EM_S[INDEX2(0,1,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp16 + tmp8 + tmp9;
3585                                  const double tmp42_1 = A_22*w85;                                  EM_S[INDEX2(0,2,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp11 + tmp15 + tmp7;
3586                                  const double tmp18_1 = A_11*w77;                                  EM_S[INDEX2(0,3,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp13 + tmp17 + tmp5;
3587                                  const double tmp35_1 = tmp0_0*w76;                                  EM_S[INDEX2(0,4,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp0 + tmp1 + tmp2;
3588                                  const double tmp46_1 = A_00*w86;                                  EM_S[INDEX2(0,5,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp18 + tmp19 + tmp4;
3589                                  const double tmp32_1 = A_22*w83;                                  EM_S[INDEX2(0,6,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp20 + tmp22 + tmp3;
3590                                  const double tmp22_1 = A_01*w76;                                  EM_S[INDEX2(0,7,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp10 + tmp12 + tmp6;
3591                                  const double tmp4_1 = A_02*w62;                                  EM_S[INDEX2(1,0,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp0 + tmp11 + tmp16;
3592                                  const double tmp10_1 = A_02*w70;                                  EM_S[INDEX2(1,1,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp18 + tmp23 + tmp5;
3593                                  const double tmp3_1 = A_20*w65;                                  EM_S[INDEX2(1,2,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp14 + tmp17 + tmp3;
3594                                  const double tmp39_1 = A_21*w72;                                  EM_S[INDEX2(1,3,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp6 + tmp7 + tmp8;
3595                                  const double tmp51_1 = tmp1_0*w65;                                  EM_S[INDEX2(1,4,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp21 + tmp22 + tmp4;
3596                                  const double tmp12_1 = A_20*w73;                                  EM_S[INDEX2(1,5,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp1 + tmp12 + tmp9;
3597                                  const double tmp40_1 = A_10*w81;                                  EM_S[INDEX2(1,6,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp10 + tmp15 + tmp2;
3598                                  const double tmp43_1 = tmp1_0*w62;                                  EM_S[INDEX2(1,7,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp13 + tmp19 + tmp20;
3599                                  const double tmp28_1 = A_10*w76;                                  EM_S[INDEX2(2,0,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp1 + tmp15 + tmp8;
3600                                  const double tmp45_1 = tmp2_0*w64;                                  EM_S[INDEX2(2,1,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp13 + tmp14 + tmp4;
3601                                  const double tmp49_1 = A_01*w81;                                  EM_S[INDEX2(2,2,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp20 + tmp21 + tmp5;
3602                                  const double tmp36_1 = tmp1_0*w73;                                  EM_S[INDEX2(2,3,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp10 + tmp11 + tmp9;
3603                                  const double tmp53_1 = A_00*w89;                                  EM_S[INDEX2(2,4,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp19 + tmp23 + tmp3;
3604                                  const double tmp6_1 = A_11*w63;                                  EM_S[INDEX2(2,5,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp16 + tmp2 + tmp6;
3605                                  const double tmp31_1 = A_11*w82;                                  EM_S[INDEX2(2,6,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp0 + tmp12 + tmp7;
3606                                  const double tmp21_1 = A_22*w78;                                  EM_S[INDEX2(2,7,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp17 + tmp18 + tmp22;
3607                                  const double tmp16_1 = tmp1_0*w70;                                  EM_S[INDEX2(3,0,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp3 + tmp4 + tmp5;
3608                                  const double tmp14_1 = A_12*w72;                                  EM_S[INDEX2(3,1,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp1 + tmp11 + tmp6;
3609                                  const double tmp38_1 = A_12*w74;                                  EM_S[INDEX2(3,2,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp0 + tmp10 + tmp8;
3610                                  const double tmp30_1 = tmp0_0*w81;                                  EM_S[INDEX2(3,3,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp14 + tmp18 + tmp20;
3611                                  const double tmp47_1 = A_22*w88;                                  EM_S[INDEX2(3,4,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp12 + tmp15 + tmp16;
3612                                  const double tmp13_1 = tmp0_0*w69;                                  EM_S[INDEX2(3,5,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp13 + tmp22 + tmp23;
3613                                  const double tmp20_1 = A_12*w66;                                  EM_S[INDEX2(3,6,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp17 + tmp19 + tmp21;
3614                                  const double tmp1_1 = A_12*w64;                                  EM_S[INDEX2(3,7,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp2 + tmp7 + tmp9;
3615                                  const double tmp24_1 = A_20*w62;                                  EM_S[INDEX2(4,0,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp2 + tmp7 + tmp9;
3616                                  EM_S[INDEX2(0,0,8)]+=tmp35_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1 + tmp52_1;                                  EM_S[INDEX2(4,1,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp17 + tmp19 + tmp21;
3617                                  EM_S[INDEX2(1,0,8)]+=tmp21_1 + tmp25_1 + tmp26_1 + tmp28_1 + tmp37_1 + tmp3_1 + tmp4_1 + tmp6_1;                                  EM_S[INDEX2(4,2,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp13 + tmp22 + tmp23;
3618                                  EM_S[INDEX2(2,0,8)]+=tmp0_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp21_1 + tmp22_1 + tmp36_1 + tmp5_1;                                  EM_S[INDEX2(4,3,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp12 + tmp15 + tmp16;
3619                                  EM_S[INDEX2(3,0,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp14_1 + tmp15_1 + tmp8_1 + tmp9_1;                                  EM_S[INDEX2(4,4,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp14 + tmp18 + tmp20;
3620                                  EM_S[INDEX2(4,0,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp23_1 + tmp24_1 + tmp2_1 + tmp6_1 + tmp7_1;                                  EM_S[INDEX2(4,5,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp0 + tmp10 + tmp8;
3621                                  EM_S[INDEX2(5,0,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp49_1 + tmp50_1;                                  EM_S[INDEX2(4,6,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp1 + tmp11 + tmp6;
3622                                  EM_S[INDEX2(6,0,8)]+=tmp33_1 + tmp34_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp45_1 + tmp53_1 + tmp8_1;                                  EM_S[INDEX2(4,7,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp3 + tmp4 + tmp5;
3623                                  EM_S[INDEX2(7,0,8)]+=tmp16_1 + tmp27_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1;                                  EM_S[INDEX2(5,0,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp17 + tmp18 + tmp22;
3624                                  EM_S[INDEX2(0,1,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp24_1 + tmp26_1 + tmp37_1 + tmp6_1;                                  EM_S[INDEX2(5,1,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp0 + tmp12 + tmp7;
3625                                  EM_S[INDEX2(1,1,8)]+=tmp13_1 + tmp43_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp52_1;                                  EM_S[INDEX2(5,2,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp16 + tmp2 + tmp6;
3626                                  EM_S[INDEX2(2,1,8)]+=tmp11_1 + tmp14_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp8_1 + tmp9_1;                                  EM_S[INDEX2(5,3,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp19 + tmp23 + tmp3;
3627                                  EM_S[INDEX2(3,1,8)]+=tmp0_1 + tmp16_1 + tmp18_1 + tmp1_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp5_1;                                  EM_S[INDEX2(5,4,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp10 + tmp11 + tmp9;
3628                                  EM_S[INDEX2(4,1,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp44_1 + tmp51_1;                                  EM_S[INDEX2(5,5,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp20 + tmp21 + tmp5;
3629                                  EM_S[INDEX2(5,1,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp30_1 + tmp3_1 + tmp4_1 + tmp6_1 + tmp7_1;                                  EM_S[INDEX2(5,6,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp13 + tmp14 + tmp4;
3630                                  EM_S[INDEX2(6,1,8)]+=tmp27_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp36_1;                                  EM_S[INDEX2(5,7,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp1 + tmp15 + tmp8;
3631                                  EM_S[INDEX2(7,1,8)]+=tmp10_1 + tmp12_1 + tmp42_1 + tmp45_1 + tmp49_1 + tmp50_1 + tmp53_1 + tmp8_1;                                  EM_S[INDEX2(6,0,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp13 + tmp19 + tmp20;
3632                                  EM_S[INDEX2(0,2,8)]+=tmp0_1 + tmp17_1 + tmp18_1 + tmp20_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp36_1;                                  EM_S[INDEX2(6,1,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp10 + tmp15 + tmp2;
3633                                  EM_S[INDEX2(1,2,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp15_1 + tmp35_1 + tmp38_1 + tmp39_1 + tmp8_1;                                  EM_S[INDEX2(6,2,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp1 + tmp12 + tmp9;
3634                                  EM_S[INDEX2(2,2,8)]+=tmp13_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1;                                  EM_S[INDEX2(6,3,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp21 + tmp22 + tmp4;
3635                                  EM_S[INDEX2(3,2,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp26_1 + tmp27_1 + tmp3_1 + tmp4_1 + tmp6_1;                                  EM_S[INDEX2(6,4,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp6 + tmp7 + tmp8;
3636                                  EM_S[INDEX2(4,2,8)]+=tmp33_1 + tmp34_1 + tmp42_1 + tmp49_1 + tmp50_1 + tmp52_1 + tmp53_1 + tmp8_1;                                  EM_S[INDEX2(6,5,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp14 + tmp17 + tmp3;
3637                                  EM_S[INDEX2(5,2,8)]+=tmp16_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp37_1;                                  EM_S[INDEX2(6,6,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp18 + tmp23 + tmp5;
3638                                  EM_S[INDEX2(6,2,8)]+=tmp0_1 + tmp1_1 + tmp23_1 + tmp24_1 + tmp30_1 + tmp5_1 + tmp6_1 + tmp7_1;                                  EM_S[INDEX2(6,7,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp0 + tmp11 + tmp16;
3639                                  EM_S[INDEX2(7,2,8)]+=tmp11_1 + tmp14_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp9_1;                                  EM_S[INDEX2(7,0,8)]+=8*A_00*w27 + 8*A_11*w22 + 8*A_22*w13 + tmp10 + tmp12 + tmp6;
3640                                  EM_S[INDEX2(0,3,8)]+=tmp11_1 + tmp13_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp38_1 + tmp39_1 + tmp8_1;                                  EM_S[INDEX2(7,1,8)]+=-8*A_00*w27 + 16*A_11*w22 + 16*A_22*w13 + tmp20 + tmp22 + tmp3;
3641                                  EM_S[INDEX2(1,3,8)]+=tmp0_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1;                                  EM_S[INDEX2(7,2,8)]+=16*A_00*w27 - 8*A_11*w22 + 16*A_22*w13 + tmp18 + tmp19 + tmp4;
3642                                  EM_S[INDEX2(2,3,8)]+=tmp21_1 + tmp23_1 + tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp6_1;                                  EM_S[INDEX2(7,3,8)]+=-16*A_00*w27 - 16*A_11*w22 + 32*A_22*w13 + tmp0 + tmp1 + tmp2;
3643                                  EM_S[INDEX2(3,3,8)]+=tmp35_1 + tmp43_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1;                                  EM_S[INDEX2(7,4,8)]+=16*A_00*w27 + 16*A_11*w22 - 8*A_22*w13 + tmp13 + tmp17 + tmp5;
3644                                  EM_S[INDEX2(4,3,8)]+=tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp36_1 + tmp37_1;                                  EM_S[INDEX2(7,5,8)]+=-16*A_00*w27 + 32*A_11*w22 - 16*A_22*w13 + tmp11 + tmp15 + tmp7;
3645                                  EM_S[INDEX2(5,3,8)]+=tmp10_1 + tmp12_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp52_1 + tmp53_1 + tmp8_1;                                  EM_S[INDEX2(7,6,8)]+=32*A_00*w27 - 16*A_11*w22 - 16*A_22*w13 + tmp16 + tmp8 + tmp9;
3646                                  EM_S[INDEX2(6,3,8)]+=tmp11_1 + tmp14_1 + tmp42_1 + tmp44_1 + tmp49_1 + tmp50_1 + tmp51_1 + tmp9_1;                                  EM_S[INDEX2(7,7,8)]+=-32*A_00*w27 - 32*A_11*w22 - 32*A_22*w13 + tmp14 + tmp21 + tmp23;
                                 EM_S[INDEX2(7,3,8)]+=tmp0_1 + tmp1_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1;  
                                 EM_S[INDEX2(0,4,8)]+=tmp0_1 + tmp1_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1;  
                                 EM_S[INDEX2(1,4,8)]+=tmp11_1 + tmp14_1 + tmp42_1 + tmp44_1 + tmp49_1 + tmp50_1 + tmp51_1 + tmp9_1;  
                                 EM_S[INDEX2(2,4,8)]+=tmp10_1 + tmp12_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp52_1 + tmp53_1 + tmp8_1;  
                                 EM_S[INDEX2(3,4,8)]+=tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp36_1 + tmp37_1;  
                                 EM_S[INDEX2(4,4,8)]+=tmp35_1 + tmp43_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1;  
                                 EM_S[INDEX2(5,4,8)]+=tmp21_1 + tmp23_1 + tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp6_1;  
                                 EM_S[INDEX2(6,4,8)]+=tmp0_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1;  
                                 EM_S[INDEX2(7,4,8)]+=tmp11_1 + tmp13_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp38_1 + tmp39_1 + tmp8_1;  
                                 EM_S[INDEX2(0,5,8)]+=tmp11_1 + tmp14_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp9_1;  
                                 EM_S[INDEX2(1,5,8)]+=tmp0_1 + tmp1_1 + tmp23_1 + tmp24_1 + tmp30_1 + tmp5_1 + tmp6_1 + tmp7_1;  
                                 EM_S[INDEX2(2,5,8)]+=tmp16_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp37_1;  
                                 EM_S[INDEX2(3,5,8)]+=tmp33_1 + tmp34_1 + tmp42_1 + tmp49_1 + tmp50_1 + tmp52_1 + tmp53_1 + tmp8_1;  
                                 EM_S[INDEX2(4,5,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp26_1 + tmp27_1 + tmp3_1 + tmp4_1 + tmp6_1;  
                                 EM_S[INDEX2(5,5,8)]+=tmp13_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1;  
                                 EM_S[INDEX2(6,5,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp15_1 + tmp35_1 + tmp38_1 + tmp39_1 + tmp8_1;  
                                 EM_S[INDEX2(7,5,8)]+=tmp0_1 + tmp17_1 + tmp18_1 + tmp20_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp36_1;  
                                 EM_S[INDEX2(0,6,8)]+=tmp10_1 + tmp12_1 + tmp42_1 + tmp45_1 + tmp49_1 + tmp50_1 + tmp53_1 + tmp8_1;  
                                 EM_S[INDEX2(1,6,8)]+=tmp27_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp36_1;  
                                 EM_S[INDEX2(2,6,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp30_1 + tmp3_1 + tmp4_1 + tmp6_1 + tmp7_1;  
                                 EM_S[INDEX2(3,6,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp44_1 + tmp51_1;  
                                 EM_S[INDEX2(4,6,8)]+=tmp0_1 + tmp16_1 + tmp18_1 + tmp1_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp5_1;  
                                 EM_S[INDEX2(5,6,8)]+=tmp11_1 + tmp14_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp8_1 + tmp9_1;  
                                 EM_S[INDEX2(6,6,8)]+=tmp13_1 + tmp43_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp52_1;  
                                 EM_S[INDEX2(7,6,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp24_1 + tmp26_1 + tmp37_1 + tmp6_1;  
                                 EM_S[INDEX2(0,7,8)]+=tmp16_1 + tmp27_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1;  
                                 EM_S[INDEX2(1,7,8)]+=tmp33_1 + tmp34_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp45_1 + tmp53_1 + tmp8_1;  
                                 EM_S[INDEX2(2,7,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp49_1 + tmp50_1;  
                                 EM_S[INDEX2(3,7,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp23_1 + tmp24_1 + tmp2_1 + tmp6_1 + tmp7_1;  
                                 EM_S[INDEX2(4,7,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp14_1 + tmp15_1 + tmp8_1 + tmp9_1;  
                                 EM_S[INDEX2(5,7,8)]+=tmp0_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp21_1 + tmp22_1 + tmp36_1 + tmp5_1;  
                                 EM_S[INDEX2(6,7,8)]+=tmp21_1 + tmp25_1 + tmp26_1 + tmp28_1 + tmp37_1 + tmp3_1 + tmp4_1 + tmp6_1;  
                                 EM_S[INDEX2(7,7,8)]+=tmp35_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1 + tmp52_1;  
3647                              }                              }
3648                          }                          }
3649                          ///////////////                          ///////////////
# Line 4081  void Brick::assemblePDESingle(Paso_Syste Line 3677  void Brick::assemblePDESingle(Paso_Syste
3677                                  const double B_0_7 = B_p[INDEX2(0,7,3)];                                  const double B_0_7 = B_p[INDEX2(0,7,3)];
3678                                  const double B_1_7 = B_p[INDEX2(1,7,3)];                                  const double B_1_7 = B_p[INDEX2(1,7,3)];
3679                                  const double B_2_7 = B_p[INDEX2(2,7,3)];                                  const double B_2_7 = B_p[INDEX2(2,7,3)];
3680                                  const double tmp24_0 = B_2_0 + B_2_2;                                  const double tmp0 = w38*(B_0_3 + B_0_7);
3681                                  const double tmp19_0 = B_2_0 + B_2_1 + B_2_2 + B_2_3;                                  const double tmp1 = w31*(B_1_0 + B_1_4);
3682                                  const double tmp20_0 = B_1_0 + B_1_5;                                  const double tmp2 = w42*(B_2_5 + B_2_6);
3683                                  const double tmp22_0 = B_2_1 + B_2_3;                                  const double tmp3 = w35*(B_2_1 + B_2_2);
3684                                  const double tmp29_0 = B_2_2 + B_2_3;                                  const double tmp4 = w37*(B_1_2 + B_1_6);
3685                                  const double tmp34_0 = B_1_0 + B_1_1 + B_1_4 + B_1_5;                                  const double tmp5 = w39*(B_1_3 + B_1_7);
3686                                  const double tmp15_0 = B_2_4 + B_2_5 + B_2_6 + B_2_7;                                  const double tmp6 = w36*(B_0_2 + B_0_6);
3687                                  const double tmp7_0 = B_0_0 + B_0_4;                                  const double tmp7 = w33*(B_0_1 + B_0_5);
3688                                  const double tmp40_0 = B_1_1 + B_1_4;                                  const double tmp8 = w30*(B_0_0 + B_0_4);
3689                                  const double tmp14_0 = B_1_4 + B_1_5;                                  const double tmp9 = w34*(B_1_1 + B_1_5);
3690                                  const double tmp35_0 = B_1_2 + B_1_3 + B_1_6 + B_1_7;                                  const double tmp10 = w38*(-B_0_5 - B_0_7);
3691                                  const double tmp17_0 = B_1_6 + B_1_7;                                  const double tmp11 = w31*(-B_1_0 - B_1_1);
3692                                  const double tmp8_0 = B_1_2 + B_1_6;                                  const double tmp12 = w42*(B_2_0 + B_2_1 + B_2_2 + B_2_3);
3693                                  const double tmp28_0 = B_2_4 + B_2_5;                                  const double tmp13 = w35*(B_2_4 + B_2_5 + B_2_6 + B_2_7);
3694                                  const double tmp10_0 = B_0_1 + B_0_3;                                  const double tmp14 = w37*(-B_1_2 - B_1_3);
3695                                  const double tmp9_0 = B_2_5 + B_2_6;                                  const double tmp15 = w39*(-B_1_6 - B_1_7);
3696                                  const double tmp30_0 = B_2_0 + B_2_1;                                  const double tmp16 = w36*(-B_0_4 - B_0_6);
3697                                  const double tmp27_0 = B_0_0 + B_0_6;                                  const double tmp17 = w33*(-B_0_1 - B_0_3);
3698                                  const double tmp32_0 = B_0_0 + B_0_2 + B_0_4 + B_0_6;                                  const double tmp18 = w30*(-B_0_0 - B_0_2);
3699                                  const double tmp16_0 = B_0_0 + B_0_2;                                  const double tmp19 = w34*(-B_1_4 - B_1_5);
3700                                  const double tmp2_0 = B_1_3 + B_1_7;                                  const double tmp20 = w38*(B_0_1 + B_0_3);
3701                                  const double tmp3_0 = B_2_1 + B_2_2;                                  const double tmp21 = w42*(-B_2_0 - B_2_2);
3702                                  const double tmp33_0 = B_0_1 + B_0_3 + B_0_5 + B_0_7;                                  const double tmp22 = w35*(-B_2_5 - B_2_7);
3703                                  const double tmp23_0 = B_2_5 + B_2_7;                                  const double tmp23 = w37*(-B_1_0 - B_1_5);
3704                                  const double tmp36_0 = B_2_4 + B_2_7;                                  const double tmp24 = w32*(-B_2_4 - B_2_6);
3705                                  const double tmp39_0 = B_0_3 + B_0_5;                                  const double tmp25 = w36*(B_0_0 + B_0_2);
3706                                  const double tmp41_0 = B_1_3 + B_1_6;                                  const double tmp26 = w33*(B_0_5 + B_0_7);
3707                                  const double tmp5_0 = B_1_0 + B_1_4;                                  const double tmp27 = w30*(B_0_4 + B_0_6);
3708                                  const double tmp18_0 = B_1_0 + B_1_1;                                  const double tmp28 = w43*(-B_2_1 - B_2_3);
3709                                  const double tmp0_0 = B_0_1 + B_0_5;                                  const double tmp29 = w34*(-B_1_2 - B_1_7);
3710                                  const double tmp37_0 = B_2_0 + B_2_3;                                  const double tmp30 = w38*(-B_0_4 - B_0_6);
3711                                  const double tmp25_0 = B_2_4 + B_2_6;                                  const double tmp31 = w42*(B_2_5 + B_2_7);
3712                                  const double tmp38_0 = B_0_2 + B_0_4;                                  const double tmp32 = w35*(B_2_0 + B_2_2);
3713                                  const double tmp31_0 = B_2_6 + B_2_7;                                  const double tmp33 = w37*(B_1_2 + B_1_7);
3714                                  const double tmp1_0 = B_0_2 + B_0_6;                                  const double tmp34 = w32*(B_2_1 + B_2_3);
3715                                  const double tmp11_0 = B_0_4 + B_0_6;                                  const double tmp35 = w36*(-B_0_5 - B_0_7);
3716                                  const double tmp21_0 = B_1_2 + B_1_7;                                  const double tmp36 = w33*(-B_0_0 - B_0_2);
3717                                  const double tmp6_0 = B_1_1 + B_1_5;                                  const double tmp37 = w30*(-B_0_1 - B_0_3);
3718                                  const double tmp13_0 = B_1_2 + B_1_3;                                  const double tmp38 = w43*(B_2_4 + B_2_6);
3719                                  const double tmp12_0 = B_0_5 + B_0_7;                                  const double tmp39 = w34*(B_1_0 + B_1_5);
3720                                  const double tmp26_0 = B_0_1 + B_0_7;                                  const double tmp40 = w38*(B_0_0 + B_0_2);
3721                                  const double tmp4_0 = B_0_3 + B_0_7;                                  const double tmp41 = w31*(B_1_6 + B_1_7);
3722                                  const double tmp324_1 = B_0_6*w104;                                  const double tmp42 = w42*(-B_2_4 - B_2_5 - B_2_6 - B_2_7);
3723                                  const double tmp209_1 = B_1_4*w114;                                  const double tmp43 = w35*(-B_2_0 - B_2_1 - B_2_2 - B_2_3);
3724                                  const double tmp255_1 = B_2_3*w103;                                  const double tmp44 = w37*(B_1_4 + B_1_5);
3725                                  const double tmp37_1 = B_1_1*w111;                                  const double tmp45 = w39*(B_1_0 + B_1_1);
3726                                  const double tmp326_1 = tmp38_0*w108;                                  const double tmp46 = w36*(B_0_1 + B_0_3);
3727                                  const double tmp179_1 = tmp21_0*w94;                                  const double tmp47 = w33*(B_0_4 + B_0_6);
3728                                  const double tmp102_1 = tmp4_0*w93;                                  const double tmp48 = w30*(B_0_5 + B_0_7);
3729                                  const double tmp251_1 = B_0_2*w125;                                  const double tmp49 = w34*(B_1_2 + B_1_3);
3730                                  const double tmp321_1 = B_0_4*w90;                                  const double tmp50 = w31*(-B_1_2 - B_1_3);
3731                                  const double tmp198_1 = tmp41_0*w97;                                  const double tmp51 = w42*(B_2_6 + B_2_7);
3732                                  const double tmp15_1 = tmp11_0*w108;                                  const double tmp52 = w35*(B_2_0 + B_2_1);
3733                                  const double tmp158_1 = tmp17_0*w99;                                  const double tmp53 = w37*(-B_1_0 - B_1_1);
3734                                  const double tmp138_1 = tmp35_0*w94;                                  const double tmp54 = w32*(B_2_2 + B_2_3);
3735                                  const double tmp5_1 = B_2_3*w100;                                  const double tmp55 = w39*(-B_1_4 - B_1_5);
3736                                  const double tmp51_1 = tmp25_0*w103;                                  const double tmp56 = w36*(B_0_0 + B_0_6);
3737                                  const double tmp258_1 = B_2_7*w100;                                  const double tmp57 = w33*(B_0_1 + B_0_7);
3738                                  const double tmp221_1 = B_0_4*w125;                                  const double tmp58 = w43*(B_2_4 + B_2_5);
3739                                  const double tmp70_1 = B_0_5*w98;                                  const double tmp59 = w34*(-B_1_6 - B_1_7);
3740                                  const double tmp202_1 = tmp38_0*w96;                                  const double tmp60 = w42*(-B_2_0 - B_2_1 - B_2_2 - B_2_3);
3741                                  const double tmp247_1 = tmp41_0*w94;                                  const double tmp61 = w35*(-B_2_4 - B_2_5 - B_2_6 - B_2_7);
3742                                  const double tmp122_1 = tmp34_0*w94;                                  const double tmp62 = w37*(-B_1_0 - B_1_1 - B_1_4 - B_1_5);
3743                                  const double tmp349_1 = B_2_1*w101;                                  const double tmp63 = w36*(-B_0_1 - B_0_3 - B_0_5 - B_0_7);
3744                                  const double tmp167_1 = tmp31_0*w103;                                  const double tmp64 = w33*(-B_0_0 - B_0_2 - B_0_4 - B_0_6);
3745                                  const double tmp408_1 = tmp8_0*w111;                                  const double tmp65 = w34*(-B_1_2 - B_1_3 - B_1_6 - B_1_7);
3746                                  const double tmp20_1 = tmp16_0*w104;                                  const double tmp66 = w38*(B_0_4 + B_0_6);
3747                                  const double tmp2_1 = B_2_7*w103;                                  const double tmp67 = w36*(B_0_5 + B_0_7);
3748                                  const double tmp398_1 = B_1_7*w99;                                  const double tmp68 = w33*(B_0_0 + B_0_2);
3749                                  const double tmp262_1 = B_1_7*w119;                                  const double tmp69 = w30*(B_0_1 + B_0_3);
3750                                  const double tmp97_1 = tmp5_0*w94;                                  const double tmp70 = w38*(-B_0_2 - B_0_6);
3751                                  const double tmp157_1 = tmp30_0*w92;                                  const double tmp71 = w31*(B_1_1 + B_1_5);
3752                                  const double tmp67_1 = tmp18_0*w107;                                  const double tmp72 = w42*(-B_2_0 - B_2_3);
3753                                  const double tmp144_1 = tmp7_0*w110;                                  const double tmp73 = w35*(-B_2_4 - B_2_7);
3754                                  const double tmp264_1 = B_0_0*w120;                                  const double tmp74 = w37*(B_1_3 + B_1_7);
3755                                  const double tmp396_1 = tmp6_0*w97;                                  const double tmp75 = w39*(B_1_2 + B_1_6);
3756                                  const double tmp218_1 = B_1_6*w111;                                  const double tmp76 = w36*(-B_0_3 - B_0_7);
3757                                  const double tmp147_1 = tmp8_0*w109;                                  const double tmp77 = w33*(-B_0_0 - B_0_4);
3758                                  const double tmp39_1 = tmp12_0*w108;                                  const double tmp78 = w30*(-B_0_1 - B_0_5);
3759                                  const double tmp58_1 = tmp15_0*w112;                                  const double tmp79 = w34*(B_1_0 + B_1_4);
3760                                  const double tmp214_1 = B_1_3*w115;                                  const double tmp80 = w36*(B_0_0 + B_0_2 + B_0_4 + B_0_6);
3761                                  const double tmp69_1 = tmp30_0*w95;                                  const double tmp81 = w33*(B_0_1 + B_0_3 + B_0_5 + B_0_7);
3762                                  const double tmp54_1 = tmp18_0*w99;                                  const double tmp82 = w38*(B_0_1 + B_0_5);
3763                                  const double tmp261_1 = B_2_0*w101;                                  const double tmp83 = w31*(-B_1_2 - B_1_6);
3764                                  const double tmp390_1 = tmp24_0*w103;                                  const double tmp84 = w42*(B_2_4 + B_2_7);
3765                                  const double tmp374_1 = B_2_1*w103;                                  const double tmp85 = w35*(B_2_0 + B_2_3);
3766                                  const double tmp151_1 = tmp2_0*w105;                                  const double tmp86 = w37*(-B_1_0 - B_1_4);
3767                                  const double tmp274_1 = tmp22_0*w95;                                  const double tmp87 = w39*(-B_1_1 - B_1_5);
3768                                  const double tmp126_1 = tmp16_0*w108;                                  const double tmp88 = w36*(B_0_0 + B_0_4);
3769                                  const double tmp302_1 = B_2_6*w122;                                  const double tmp89 = w33*(B_0_3 + B_0_7);
3770                                  const double tmp14_1 = tmp10_0*w106;                                  const double tmp90 = w30*(B_0_2 + B_0_6);
3771                                  const double tmp190_1 = B_1_2*w99;                                  const double tmp91 = w34*(-B_1_3 - B_1_7);
3772                                  const double tmp9_1 = B_2_4*w101;                                  const double tmp92 = w42*(-B_2_1 - B_2_2);
3773                                  const double tmp150_1 = B_2_7*w101;                                  const double tmp93 = w35*(-B_2_5 - B_2_6);
3774                                  const double tmp66_1 = tmp29_0*w92;                                  const double tmp94 = w37*(B_1_2 + B_1_3 + B_1_6 + B_1_7);
3775                                  const double tmp334_1 = B_0_7*w124;                                  const double tmp95 = w34*(B_1_0 + B_1_1 + B_1_4 + B_1_5);
3776                                  const double tmp252_1 = tmp38_0*w93;                                  const double tmp96 = w38*(-B_0_1 - B_0_3);
3777                                  const double tmp392_1 = tmp5_0*w99;                                  const double tmp97 = w31*(-B_1_4 - B_1_5);
3778                                  const double tmp4_1 = tmp2_0*w99;                                  const double tmp98 = w37*(-B_1_6 - B_1_7);
3779                                  const double tmp63_1 = B_0_4*w121;                                  const double tmp99 = w39*(-B_1_2 - B_1_3);
3780                                  const double tmp152_1 = tmp5_0*w111;                                  const double tmp100 = w36*(-B_0_0 - B_0_2);
3781                                  const double tmp133_1 = tmp4_0*w96;                                  const double tmp101 = w33*(-B_0_5 - B_0_7);
3782                                  const double tmp195_1 = tmp40_0*w94;                                  const double tmp102 = w30*(-B_0_4 - B_0_6);
3783                                  const double tmp145_1 = B_2_3*w92;                                  const double tmp103 = w34*(-B_1_0 - B_1_1);
3784                                  const double tmp35_1 = tmp25_0*w116;                                  const double tmp104 = w38*(B_0_2 + B_0_6);
3785                                  const double tmp316_1 = B_0_3*w98;                                  const double tmp105 = w42*(B_2_0 + B_2_1);
3786                                  const double tmp208_1 = B_2_0*w103;                                  const double tmp106 = w35*(B_2_6 + B_2_7);
3787                                  const double tmp373_1 = B_1_2*w115;                                  const double tmp107 = w37*(B_1_0 + B_1_1 + B_1_4 + B_1_5);
3788                                  const double tmp62_1 = tmp26_0*w93;                                  const double tmp108 = w32*(B_2_4 + B_2_5);
3789                                  const double tmp85_1 = tmp10_0*w90;                                  const double tmp109 = w36*(B_0_3 + B_0_7);
3790                                  const double tmp187_1 = tmp11_0*w106;                                  const double tmp110 = w33*(B_0_0 + B_0_4);
3791                                  const double tmp342_1 = B_2_5*w92;                                  const double tmp111 = w30*(B_0_1 + B_0_5);
3792                                  const double tmp77_1 = tmp33_0*w108;                                  const double tmp112 = w43*(B_2_2 + B_2_3);
3793                                  const double tmp121_1 = B_2_4*w116;                                  const double tmp113 = w34*(B_1_2 + B_1_3 + B_1_6 + B_1_7);
3794                                  const double tmp379_1 = B_2_2*w101;                                  const double tmp114 = w38*(-B_0_0 - B_0_4);
3795                                  const double tmp391_1 = tmp23_0*w92;                                  const double tmp115 = w31*(-B_1_3 - B_1_7);
3796                                  const double tmp451_1 = tmp22_0*w116;                                  const double tmp116 = w37*(-B_1_1 - B_1_5);
3797                                  const double tmp73_1 = B_0_2*w90;                                  const double tmp117 = w39*(-B_1_0 - B_1_4);
3798                                  const double tmp436_1 = B_1_6*w114;                                  const double tmp118 = w36*(-B_0_1 - B_0_5);
3799                                  const double tmp233_1 = tmp29_0*w117;                                  const double tmp119 = w33*(-B_0_2 - B_0_6);
3800                                  const double tmp426_1 = tmp23_0*w113;                                  const double tmp120 = w30*(-B_0_3 - B_0_7);
3801                                  const double tmp124_1 = tmp11_0*w104;                                  const double tmp121 = w34*(-B_1_2 - B_1_6);
3802                                  const double tmp148_1 = B_2_0*w100;                                  const double tmp122 = w31*(B_1_0 + B_1_1);
3803                                  const double tmp314_1 = tmp29_0*w113;                                  const double tmp123 = w42*(B_2_4 + B_2_5);
3804                                  const double tmp163_1 = B_0_0*w124;                                  const double tmp124 = w35*(B_2_2 + B_2_3);
3805                                  const double tmp301_1 = B_1_6*w115;                                  const double tmp125 = w37*(B_1_2 + B_1_3);
3806                                  const double tmp171_1 = B_2_4*w122;                                  const double tmp126 = w32*(B_2_0 + B_2_1);
3807                                  const double tmp7_1 = tmp4_0*w98;                                  const double tmp127 = w39*(B_1_6 + B_1_7);
3808                                  const double tmp11_1 = tmp7_0*w90;                                  const double tmp128 = w36*(-B_0_3 - B_0_5);
3809                                  const double tmp308_1 = B_2_2*w116;                                  const double tmp129 = w33*(-B_0_2 - B_0_4);
3810                                  const double tmp117_1 = B_2_3*w113;                                  const double tmp130 = w43*(B_2_6 + B_2_7);
3811                                  const double tmp403_1 = B_0_5*w104;                                  const double tmp131 = w34*(B_1_4 + B_1_5);
3812                                  const double tmp178_1 = tmp9_0*w112;                                  const double tmp132 = w42*(-B_2_5 - B_2_6);
3813                                  const double tmp128_1 = tmp17_0*w107;                                  const double tmp133 = w35*(-B_2_1 - B_2_2);
3814                                  const double tmp89_1 = tmp1_0*w110;                                  const double tmp134 = w37*(B_1_0 + B_1_5);
3815                                  const double tmp434_1 = tmp19_0*w95;                                  const double tmp135 = w36*(B_0_1 + B_0_7);
3816                                  const double tmp270_1 = B_1_7*w114;                                  const double tmp136 = w33*(B_0_0 + B_0_6);
3817                                  const double tmp358_1 = tmp6_0*w99;                                  const double tmp137 = w34*(B_1_2 + B_1_7);
3818                                  const double tmp411_1 = tmp14_0*w107;                                  const double tmp138 = w38*(-B_0_0 - B_0_2);
3819                                  const double tmp433_1 = B_0_1*w125;                                  const double tmp139 = w42*(-B_2_1 - B_2_3);
3820                                  const double tmp376_1 = B_2_6*w92;                                  const double tmp140 = w35*(-B_2_4 - B_2_6);
3821                                  const double tmp42_1 = B_1_6*w99;                                  const double tmp141 = w37*(B_1_3 + B_1_6);
3822                                  const double tmp72_1 = tmp13_0*w105;                                  const double tmp142 = w32*(-B_2_5 - B_2_7);
3823                                  const double tmp287_1 = tmp2_0*w111;                                  const double tmp143 = w36*(-B_0_1 - B_0_3);
3824                                  const double tmp191_1 = tmp24_0*w113;                                  const double tmp144 = w33*(-B_0_4 - B_0_6);
3825                                  const double tmp6_1 = tmp3_0*w95;                                  const double tmp145 = w30*(-B_0_5 - B_0_7);
3826                                  const double tmp309_1 = B_1_4*w105;                                  const double tmp146 = w43*(-B_2_0 - B_2_2);
3827                                  const double tmp367_1 = B_0_5*w125;                                  const double tmp147 = w34*(B_1_1 + B_1_4);
3828                                  const double tmp234_1 = tmp28_0*w112;                                  const double tmp148 = w36*(B_0_2 + B_0_4);
3829                                  const double tmp339_1 = B_1_2*w111;                                  const double tmp149 = w33*(B_0_3 + B_0_5);
3830                                  const double tmp335_1 = tmp41_0*w107;                                  const double tmp150 = w42*(B_2_1 + B_2_2);
3831                                  const double tmp173_1 = B_2_7*w113;                                  const double tmp151 = w35*(B_2_5 + B_2_6);
3832                                  const double tmp384_1 = tmp28_0*w113;                                  const double tmp152 = w37*(-B_1_2 - B_1_7);
3833                                  const double tmp81_1 = tmp19_0*w112;                                  const double tmp153 = w36*(-B_0_0 - B_0_6);
3834                                  const double tmp328_1 = B_2_7*w122;                                  const double tmp154 = w33*(-B_0_1 - B_0_7);
3835                                  const double tmp413_1 = tmp30_0*w113;                                  const double tmp155 = w34*(-B_1_0 - B_1_5);
3836                                  const double tmp111_1 = B_2_6*w101;                                  const double tmp156 = w38*(-B_0_3 - B_0_7);
3837                                  const double tmp378_1 = B_0_4*w98;                                  const double tmp157 = w36*(-B_0_2 - B_0_6);
3838                                  const double tmp211_1 = tmp21_0*w107;                                  const double tmp158 = w33*(-B_0_1 - B_0_5);
3839                                  const double tmp79_1 = tmp35_0*w109;                                  const double tmp159 = w30*(-B_0_0 - B_0_4);
3840                                  const double tmp354_1 = tmp1_0*w93;                                  const double tmp160 = w42*(-B_2_4 - B_2_5);
3841                                  const double tmp333_1 = B_2_0*w123;                                  const double tmp161 = w35*(-B_2_2 - B_2_3);
3842                                  const double tmp169_1 = B_0_3*w121;                                  const double tmp162 = w32*(-B_2_0 - B_2_1);
3843                                  const double tmp300_1 = B_0_1*w121;                                  const double tmp163 = w43*(-B_2_6 - B_2_7);
3844                                  const double tmp118_1 = B_2_7*w123;                                  const double tmp164 = w42*(-B_2_4 - B_2_7);
3845                                  const double tmp372_1 = B_0_5*w121;                                  const double tmp165 = w35*(-B_2_0 - B_2_3);
3846                                  const double tmp104_1 = B_2_5*w103;                                  const double tmp166 = w37*(B_1_1 + B_1_4);
3847                                  const double tmp304_1 = B_2_5*w113;                                  const double tmp167 = w34*(B_1_3 + B_1_6);
3848                                  const double tmp397_1 = tmp22_0*w102;                                  const double tmp168 = w36*(B_0_3 + B_0_5);
3849                                  const double tmp61_1 = tmp14_0*w97;                                  const double tmp169 = w33*(B_0_2 + B_0_4);
3850                                  const double tmp290_1 = tmp4_0*w106;                                  const double tmp170 = w38*(B_0_5 + B_0_7);
3851                                  const double tmp269_1 = tmp23_0*w103;                                  const double tmp171 = w42*(B_2_4 + B_2_6);
3852                                  const double tmp361_1 = tmp5_0*w97;                                  const double tmp172 = w35*(B_2_1 + B_2_3);
3853                                  const double tmp189_1 = tmp16_0*w110;                                  const double tmp173 = w37*(-B_1_1 - B_1_4);
3854                                  const double tmp116_1 = B_2_0*w122;                                  const double tmp174 = w32*(B_2_0 + B_2_2);
3855                                  const double tmp449_1 = tmp24_0*w117;                                  const double tmp175 = w36*(B_0_4 + B_0_6);
3856                                  const double tmp268_1 = tmp11_0*w96;                                  const double tmp176 = w33*(B_0_1 + B_0_3);
3857                                  const double tmp325_1 = tmp39_0*w106;                                  const double tmp177 = w30*(B_0_0 + B_0_2);
3858                                  const double tmp27_1 = tmp20_0*w107;                                  const double tmp178 = w43*(B_2_5 + B_2_7);
3859                                  const double tmp174_1 = B_2_3*w123;                                  const double tmp179 = w34*(-B_1_3 - B_1_6);
3860                                  const double tmp422_1 = tmp14_0*w99;                                  const double tmp180 = w31*(-B_1_0 - B_1_4);
3861                                  const double tmp146_1 = tmp6_0*w107;                                  const double tmp181 = w42*(B_2_0 + B_2_2);
3862                                  const double tmp277_1 = B_1_2*w105;                                  const double tmp182 = w35*(B_2_5 + B_2_7);
3863                                  const double tmp443_1 = B_1_6*w118;                                  const double tmp183 = w37*(-B_1_2 - B_1_6);
3864                                  const double tmp446_1 = B_1_7*w105;                                  const double tmp184 = w32*(B_2_4 + B_2_6);
3865                                  const double tmp91_1 = tmp8_0*w99;                                  const double tmp185 = w39*(-B_1_3 - B_1_7);
3866                                  const double tmp405_1 = B_0_3*w125;                                  const double tmp186 = w36*(B_0_1 + B_0_3 + B_0_5 + B_0_7);
3867                                  const double tmp57_1 = tmp17_0*w91;                                  const double tmp187 = w33*(B_0_0 + B_0_2 + B_0_4 + B_0_6);
3868                                  const double tmp455_1 = B_2_6*w103;                                  const double tmp188 = w43*(B_2_1 + B_2_3);
3869                                  const double tmp110_1 = tmp0_0*w98;                                  const double tmp189 = w34*(-B_1_1 - B_1_5);
3870                                  const double tmp341_1 = B_1_6*w119;                                  const double tmp190 = w38*(-B_0_1 - B_0_5);
3871                                  const double tmp203_1 = B_0_7*w98;                                  const double tmp191 = w42*(B_2_2 + B_2_3);
3872                                  const double tmp371_1 = B_2_7*w116;                                  const double tmp192 = w35*(B_2_4 + B_2_5);
3873                                  const double tmp382_1 = B_0_3*w90;                                  const double tmp193 = w37*(-B_1_2 - B_1_3 - B_1_6 - B_1_7);
3874                                  const double tmp320_1 = tmp28_0*w116;                                  const double tmp194 = w32*(B_2_6 + B_2_7);
3875                                  const double tmp107_1 = tmp2_0*w109;                                  const double tmp195 = w36*(-B_0_0 - B_0_4);
3876                                  const double tmp149_1 = tmp4_0*w104;                                  const double tmp196 = w33*(-B_0_3 - B_0_7);
3877                                  const double tmp159_1 = tmp29_0*w95;                                  const double tmp197 = w30*(-B_0_2 - B_0_6);
3878                                  const double tmp253_1 = B_0_7*w121;                                  const double tmp198 = w43*(B_2_0 + B_2_1);
3879                                  const double tmp90_1 = B_2_1*w122;                                  const double tmp199 = w34*(-B_1_0 - B_1_1 - B_1_4 - B_1_5);
3880                                  const double tmp360_1 = tmp2_0*w94;                                  const double tmp200 = w31*(B_1_4 + B_1_5);
3881                                  const double tmp414_1 = tmp28_0*w117;                                  const double tmp201 = w42*(-B_2_0 - B_2_1);
3882                                  const double tmp26_1 = tmp16_0*w96;                                  const double tmp202 = w35*(-B_2_6 - B_2_7);
3883                                  const double tmp84_1 = tmp11_0*w98;                                  const double tmp203 = w37*(B_1_6 + B_1_7);
3884                                  const double tmp225_1 = tmp1_0*w108;                                  const double tmp204 = w32*(-B_2_4 - B_2_5);
3885                                  const double tmp1_1 = tmp1_0*w96;                                  const double tmp205 = w39*(B_1_2 + B_1_3);
3886                                  const double tmp344_1 = B_2_6*w100;                                  const double tmp206 = w43*(-B_2_2 - B_2_3);
3887                                  const double tmp400_1 = B_1_5*w119;                                  const double tmp207 = w34*(B_1_0 + B_1_1);
3888                                  const double tmp345_1 = tmp36_0*w95;                                  const double tmp208 = w37*(-B_1_3 - B_1_6);
3889                                  const double tmp407_1 = tmp5_0*w109;                                  const double tmp209 = w36*(-B_0_2 - B_0_4);
3890                                  const double tmp228_1 = B_2_2*w122;                                  const double tmp210 = w33*(-B_0_3 - B_0_5);
3891                                  const double tmp113_1 = tmp8_0*w105;                                  const double tmp211 = w34*(-B_1_1 - B_1_4);
3892                                  const double tmp347_1 = B_0_0*w104;                                  const double tmp212 = w42*(B_2_0 + B_2_3);
3893                                  const double tmp286_1 = tmp23_0*w95;                                  const double tmp213 = w35*(B_2_4 + B_2_7);
3894                                  const double tmp395_1 = tmp8_0*w94;                                  const double tmp214 = w38*(B_0_0 + B_0_4);
3895                                  const double tmp401_1 = B_1_2*w118;                                  const double tmp215 = w36*(B_0_1 + B_0_5);
3896                                  const double tmp380_1 = B_1_7*w111;                                  const double tmp216 = w33*(B_0_2 + B_0_6);
3897                                  const double tmp327_1 = B_0_1*w110;                                  const double tmp217 = w30*(B_0_3 + B_0_7);
3898                                  const double tmp55_1 = tmp19_0*w117;                                  const double tmp218 = w31*(B_1_2 + B_1_6);
3899                                  const double tmp291_1 = tmp7_0*w108;                                  const double tmp219 = w37*(B_1_0 + B_1_4);
3900                                  const double tmp31_1 = tmp10_0*w98;                                  const double tmp220 = w39*(B_1_1 + B_1_5);
3901                                  const double tmp125_1 = tmp12_0*w106;                                  const double tmp221 = w34*(B_1_3 + B_1_7);
3902                                  const double tmp330_1 = tmp40_0*w109;                                  const double tmp222 = w36*(-B_0_1 - B_0_7);
3903                                  const double tmp323_1 = tmp17_0*w97;                                  const double tmp223 = w33*(-B_0_0 - B_0_6);
3904                                  const double tmp136_1 = tmp31_0*w95;                                  const double tmp224 = w42*(-B_2_6 - B_2_7);
3905                                  const double tmp16_1 = tmp12_0*w110;                                  const double tmp225 = w35*(-B_2_0 - B_2_1);
3906                                  const double tmp418_1 = B_0_6*w90;                                  const double tmp226 = w32*(-B_2_2 - B_2_3);
3907                                  const double tmp428_1 = tmp25_0*w112;                                  const double tmp227 = w43*(-B_2_4 - B_2_5);
3908                                  const double tmp385_1 = tmp30_0*w117;                                  const double tmp228 = w31*(B_1_3 + B_1_7);
3909                                  const double tmp351_1 = B_1_1*w118;                                  const double tmp229 = w42*(B_2_1 + B_2_3);
3910                                  const double tmp165_1 = B_0_7*w125;                                  const double tmp230 = w35*(B_2_4 + B_2_6);
3911                                  const double tmp298_1 = tmp29_0*w102;                                  const double tmp231 = w37*(B_1_1 + B_1_5);
3912                                  const double tmp295_1 = tmp34_0*w109;                                  const double tmp232 = w32*(B_2_5 + B_2_7);
3913                                  const double tmp296_1 = tmp28_0*w95;                                  const double tmp233 = w39*(B_1_0 + B_1_4);
3914                                  const double tmp283_1 = tmp25_0*w92;                                  const double tmp234 = w36*(-B_0_0 - B_0_2 - B_0_4 - B_0_6);
3915                                  const double tmp230_1 = B_2_5*w123;                                  const double tmp235 = w33*(-B_0_1 - B_0_3 - B_0_5 - B_0_7);
3916                                  const double tmp350_1 = B_0_1*w124;                                  const double tmp236 = w43*(B_2_0 + B_2_2);
3917                                  const double tmp293_1 = tmp31_0*w92;                                  const double tmp237 = w34*(B_1_2 + B_1_6);
3918                                  const double tmp8_1 = tmp5_0*w91;                                  const double tmp238 = w31*(-B_1_1 - B_1_5);
3919                                  const double tmp215_1 = tmp9_0*w95;                                  const double tmp239 = w37*(-B_1_3 - B_1_7);
3920                                  const double tmp329_1 = B_1_0*w114;                                  const double tmp240 = w39*(-B_1_2 - B_1_6);
3921                                  const double tmp115_1 = tmp6_0*w111;                                  const double tmp241 = w34*(-B_1_0 - B_1_4);
3922                                  const double tmp387_1 = tmp29_0*w116;                                  const double tmp242 = w31*(-B_1_6 - B_1_7);
3923                                  const double tmp442_1 = B_1_1*w119;                                  const double tmp243 = w42*(-B_2_2 - B_2_3);
3924                                  const double tmp281_1 = tmp33_0*w96;                                  const double tmp244 = w35*(-B_2_4 - B_2_5);
3925                                  const double tmp415_1 = B_0_1*w98;                                  const double tmp245 = w37*(-B_1_4 - B_1_5);
3926                                  const double tmp311_1 = B_1_3*w111;                                  const double tmp246 = w32*(-B_2_6 - B_2_7);
3927                                  const double tmp50_1 = tmp23_0*w102;                                  const double tmp247 = w39*(-B_1_0 - B_1_1);
3928                                  const double tmp294_1 = tmp35_0*w107;                                  const double tmp248 = w43*(-B_2_0 - B_2_1);
3929                                  const double tmp362_1 = tmp27_0*w106;                                  const double tmp249 = w34*(-B_1_2 - B_1_3);
3930                                  const double tmp340_1 = B_2_2*w103;                                  const double tmp250 = w31*(B_1_2 + B_1_3);
3931                                  const double tmp282_1 = tmp22_0*w103;                                  const double tmp251 = w37*(B_1_0 + B_1_1);
3932                                  const double tmp254_1 = tmp39_0*w96;                                  const double tmp252 = w39*(B_1_4 + B_1_5);
3933                                  const double tmp186_1 = tmp12_0*w104;                                  const double tmp253 = w34*(B_1_6 + B_1_7);
3934                                  const double tmp106_1 = tmp5_0*w107;                                  const double tmp254 = w42*(-B_2_4 - B_2_6);
3935                                  const double tmp170_1 = tmp26_0*w96;                                  const double tmp255 = w35*(-B_2_1 - B_2_3);
3936                                  const double tmp427_1 = tmp22_0*w117;                                  const double tmp256 = w32*(-B_2_0 - B_2_2);
3937                                  const double tmp452_1 = B_2_1*w92;                                  const double tmp257 = w43*(-B_2_5 - B_2_7);
3938                                  const double tmp437_1 = B_1_1*w115;                                  const double tmp258 = w42*(B_2_4 + B_2_5 + B_2_6 + B_2_7);
3939                                  const double tmp431_1 = B_0_0*w110;                                  const double tmp259 = w35*(B_2_0 + B_2_1 + B_2_2 + B_2_3);
3940                                  const double tmp201_1 = B_0_6*w121;                                  const double tmp260 = w42*(-B_2_5 - B_2_7);
3941                                  const double tmp310_1 = B_0_6*w120;                                  const double tmp261 = w35*(-B_2_0 - B_2_2);
3942                                  const double tmp331_1 = B_2_4*w113;                                  const double tmp262 = w32*(-B_2_1 - B_2_3);
3943                                  const double tmp212_1 = tmp20_0*w109;                                  const double tmp263 = w43*(-B_2_4 - B_2_6);
3944                                  const double tmp47_1 = B_1_4*w119;                                  EM_S[INDEX2(0,0,8)]+=-B_0_0*w47 - B_0_1*w38 - B_0_6*w30 - B_0_7*w46 + B_1_0*w44 - B_1_2*w39 - B_1_5*w31 + B_1_7*w45 - B_2_0*w40 - B_2_3*w32 - B_2_4*w43 - B_2_7*w41 + tmp132 + tmp133 + tmp208 + tmp209 + tmp210 + tmp211;
3945                                  const double tmp420_1 = B_0_7*w120;                                  EM_S[INDEX2(0,1,8)]+=-B_0_0*w38 - B_0_1*w47 - B_0_6*w46 - B_0_7*w30 + tmp128 + tmp129 + tmp242 + tmp243 + tmp244 + tmp245 + tmp246 + tmp247 + tmp248 + tmp249;
3946                                  const double tmp38_1 = tmp16_0*w106;                                  EM_S[INDEX2(0,2,8)]+=-B_1_0*w39 + B_1_2*w44 + B_1_5*w45 - B_1_7*w31 + tmp138 + tmp139 + tmp140 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp173 + tmp179;
3947                                  const double tmp184_1 = tmp20_0*w97;                                  EM_S[INDEX2(0,3,8)]+=tmp100 + tmp101 + tmp102 + tmp103 + tmp42 + tmp43 + tmp96 + tmp97 + tmp98 + tmp99;
3948                                  const double tmp280_1 = tmp32_0*w93;                                  EM_S[INDEX2(0,4,8)]+=-B_2_0*w43 - B_2_3*w41 - B_2_4*w40 - B_2_7*w32 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp92 + tmp93;
3949                                  const double tmp123_1 = tmp35_0*w97;                                  EM_S[INDEX2(0,5,8)]+=tmp190 + tmp193 + tmp195 + tmp196 + tmp197 + tmp199 + tmp224 + tmp225 + tmp226 + tmp227;
3950                                  const double tmp359_1 = tmp8_0*w91;                                  EM_S[INDEX2(0,6,8)]+=tmp234 + tmp235 + tmp238 + tmp239 + tmp240 + tmp241 + tmp260 + tmp261 + tmp262 + tmp263;
3951                                  const double tmp95_1 = tmp6_0*w91;                                  EM_S[INDEX2(0,7,8)]+=tmp60 + tmp61 + tmp62 + tmp63 + tmp64 + tmp65;
3952                                  const double tmp246_1 = tmp36_0*w112;                                  EM_S[INDEX2(1,0,8)]+=B_0_0*w47 + B_0_1*w38 + B_0_6*w30 + B_0_7*w46 + tmp148 + tmp149 + tmp242 + tmp243 + tmp244 + tmp245 + tmp246 + tmp247 + tmp248 + tmp249;
3953                                  const double tmp241_1 = B_2_6*w113;                                  EM_S[INDEX2(1,1,8)]+=B_0_0*w38 + B_0_1*w47 + B_0_6*w46 + B_0_7*w30 + B_1_1*w44 - B_1_3*w39 - B_1_4*w31 + B_1_6*w45 - B_2_1*w40 - B_2_2*w32 - B_2_5*w43 - B_2_6*w41 + tmp152 + tmp155 + tmp164 + tmp165 + tmp168 + tmp169;
3954                                  const double tmp3_1 = B_2_0*w92;                                  EM_S[INDEX2(1,2,8)]+=tmp103 + tmp40 + tmp42 + tmp43 + tmp46 + tmp47 + tmp48 + tmp97 + tmp98 + tmp99;
3955                                  const double tmp162_1 = tmp14_0*w94;                                  EM_S[INDEX2(1,3,8)]+=-B_1_1*w39 + B_1_3*w44 + B_1_4*w45 - B_1_6*w31 + tmp20 + tmp21 + tmp22 + tmp23 + tmp24 + tmp25 + tmp26 + tmp27 + tmp28 + tmp29;
3956                                  const double tmp406_1 = tmp2_0*w107;                                  EM_S[INDEX2(1,4,8)]+=tmp193 + tmp199 + tmp214 + tmp215 + tmp216 + tmp217 + tmp224 + tmp225 + tmp226 + tmp227;
3957                                  const double tmp175_1 = tmp3_0*w117;                                  EM_S[INDEX2(1,5,8)]+=-B_2_1*w43 - B_2_2*w41 - B_2_5*w40 - B_2_6*w32 + tmp72 + tmp73 + tmp82 + tmp83 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91;
3958                                  const double tmp205_1 = B_0_1*w120;                                  EM_S[INDEX2(1,6,8)]+=tmp60 + tmp61 + tmp62 + tmp65 + tmp80 + tmp81;
3959                                  const double tmp416_1 = tmp29_0*w112;                                  EM_S[INDEX2(1,7,8)]+=tmp180 + tmp183 + tmp185 + tmp186 + tmp187 + tmp189 + tmp254 + tmp255 + tmp256 + tmp257;
3960                                  const double tmp48_1 = tmp21_0*w97;                                  EM_S[INDEX2(2,0,8)]+=-B_1_0*w44 + B_1_2*w39 + B_1_5*w31 - B_1_7*w45 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147;
3961                                  const double tmp101_1 = tmp32_0*w96;                                  EM_S[INDEX2(2,1,8)]+=tmp100 + tmp101 + tmp102 + tmp41 + tmp42 + tmp43 + tmp44 + tmp45 + tmp49 + tmp96;
3962                                  const double tmp231_1 = B_2_6*w116;                                  EM_S[INDEX2(2,2,8)]+=-B_0_2*w47 - B_0_3*w38 - B_0_4*w30 - B_0_5*w46 + B_1_0*w39 - B_1_2*w44 - B_1_5*w45 + B_1_7*w31 - B_2_1*w32 - B_2_2*w40 - B_2_5*w41 - B_2_6*w43 + tmp153 + tmp154 + tmp164 + tmp165 + tmp166 + tmp167;
3963                                  const double tmp366_1 = B_0_2*w124;                                  EM_S[INDEX2(2,3,8)]+=-B_0_2*w38 - B_0_3*w47 - B_0_4*w46 - B_0_5*w30 + tmp200 + tmp201 + tmp202 + tmp203 + tmp204 + tmp205 + tmp206 + tmp207 + tmp222 + tmp223;
3964                                  const double tmp34_1 = tmp11_0*w90;                                  EM_S[INDEX2(2,4,8)]+=tmp228 + tmp231 + tmp233 + tmp234 + tmp235 + tmp237 + tmp260 + tmp261 + tmp262 + tmp263;
3965                                  const double tmp200_1 = tmp39_0*w93;                                  EM_S[INDEX2(2,5,8)]+=tmp60 + tmp61 + tmp63 + tmp64 + tmp94 + tmp95;
3966                                  const double tmp44_1 = tmp10_0*w104;                                  EM_S[INDEX2(2,6,8)]+=-B_2_1*w41 - B_2_2*w43 - B_2_5*w32 - B_2_6*w40 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79;
3967                                  const double tmp346_1 = B_0_6*w125;                                  EM_S[INDEX2(2,7,8)]+=tmp107 + tmp113 + tmp156 + tmp157 + tmp158 + tmp159 + tmp160 + tmp161 + tmp162 + tmp163;
3968                                  const double tmp65_1 = tmp28_0*w103;                                  EM_S[INDEX2(3,0,8)]+=tmp40 + tmp41 + tmp42 + tmp43 + tmp44 + tmp45 + tmp46 + tmp47 + tmp48 + tmp49;
3969                                  const double tmp248_1 = B_1_2*w119;                                  EM_S[INDEX2(3,1,8)]+=-B_1_1*w44 + B_1_3*w39 + B_1_4*w31 - B_1_6*w45 + tmp20 + tmp21 + tmp22 + tmp24 + tmp25 + tmp26 + tmp27 + tmp28 + tmp33 + tmp39;
3970                                  const double tmp288_1 = tmp5_0*w105;                                  EM_S[INDEX2(3,2,8)]+=B_0_2*w47 + B_0_3*w38 + B_0_4*w30 + B_0_5*w46 + tmp200 + tmp201 + tmp202 + tmp203 + tmp204 + tmp205 + tmp206 + tmp207 + tmp56 + tmp57;
3971                                  const double tmp227_1 = tmp4_0*w110;                                  EM_S[INDEX2(3,3,8)]+=B_0_2*w38 + B_0_3*w47 + B_0_4*w46 + B_0_5*w30 + B_1_1*w39 - B_1_3*w44 - B_1_4*w45 + B_1_6*w31 - B_2_0*w32 - B_2_3*w40 - B_2_4*w41 - B_2_7*w43 + tmp132 + tmp133 + tmp134 + tmp135 + tmp136 + tmp137;
3972                                  const double tmp343_1 = B_1_4*w99;                                  EM_S[INDEX2(3,4,8)]+=tmp60 + tmp61 + tmp80 + tmp81 + tmp94 + tmp95;
3973                                  const double tmp139_1 = tmp0_0*w90;                                  EM_S[INDEX2(3,5,8)]+=tmp186 + tmp187 + tmp218 + tmp219 + tmp220 + tmp221 + tmp254 + tmp255 + tmp256 + tmp257;
3974                                  const double tmp41_1 = tmp22_0*w92;                                  EM_S[INDEX2(3,6,8)]+=tmp104 + tmp107 + tmp109 + tmp110 + tmp111 + tmp113 + tmp160 + tmp161 + tmp162 + tmp163;
3975                                  const double tmp305_1 = B_2_1*w123;                                  EM_S[INDEX2(3,7,8)]+=-B_2_0*w41 - B_2_3*w43 - B_2_4*w32 - B_2_7*w40 + tmp0 + tmp1 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8 + tmp9 + tmp92 + tmp93;
3976                                  const double tmp307_1 = B_0_7*w90;                                  EM_S[INDEX2(4,0,8)]+=B_2_0*w40 + B_2_3*w32 + B_2_4*w43 + B_2_7*w41 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp2 + tmp3;
3977                                  const double tmp217_1 = B_2_3*w101;                                  EM_S[INDEX2(4,1,8)]+=tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp198 + tmp199;
3978                                  const double tmp219_1 = B_0_3*w124;                                  EM_S[INDEX2(4,2,8)]+=tmp229 + tmp230 + tmp232 + tmp234 + tmp235 + tmp236 + tmp238 + tmp239 + tmp240 + tmp241;
3979                                  const double tmp105_1 = B_2_2*w92;                                  EM_S[INDEX2(4,3,8)]+=tmp258 + tmp259 + tmp62 + tmp63 + tmp64 + tmp65;
3980                                  const double tmp423_1 = tmp13_0*w91;                                  EM_S[INDEX2(4,4,8)]+=-B_0_2*w30 - B_0_3*w46 - B_0_4*w47 - B_0_5*w38 - B_1_1*w31 + B_1_3*w45 + B_1_4*w44 - B_1_6*w39 + B_2_0*w43 + B_2_3*w41 + B_2_4*w40 + B_2_7*w32 + tmp150 + tmp151 + tmp152 + tmp153 + tmp154 + tmp155;
3981                                  const double tmp381_1 = B_1_0*w105;                                  EM_S[INDEX2(4,5,8)]+=-B_0_2*w46 - B_0_3*w30 - B_0_4*w38 - B_0_5*w47 + tmp222 + tmp223 + tmp50 + tmp51 + tmp52 + tmp53 + tmp54 + tmp55 + tmp58 + tmp59;
3982                                  const double tmp166_1 = tmp28_0*w102;                                  EM_S[INDEX2(4,6,8)]+=B_1_1*w45 - B_1_3*w31 - B_1_4*w39 + B_1_6*w44 + tmp23 + tmp29 + tmp30 + tmp31 + tmp32 + tmp34 + tmp35 + tmp36 + tmp37 + tmp38;
3983                                  const double tmp259_1 = B_0_6*w98;                                  EM_S[INDEX2(4,7,8)]+=tmp10 + tmp11 + tmp12 + tmp13 + tmp14 + tmp15 + tmp16 + tmp17 + tmp18 + tmp19;
3984                                  const double tmp402_1 = B_0_2*w110;                                  EM_S[INDEX2(5,0,8)]+=tmp191 + tmp192 + tmp193 + tmp194 + tmp198 + tmp199 + tmp214 + tmp215 + tmp216 + tmp217;
3985                                  const double tmp263_1 = B_0_1*w90;                                  EM_S[INDEX2(5,1,8)]+=B_2_1*w40 + B_2_2*w32 + B_2_5*w43 + B_2_6*w41 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91;
3986                                  const double tmp276_1 = B_1_5*w111;                                  EM_S[INDEX2(5,2,8)]+=tmp258 + tmp259 + tmp62 + tmp65 + tmp80 + tmp81;
3987                                  const double tmp243_1 = B_2_2*w123;                                  EM_S[INDEX2(5,3,8)]+=tmp180 + tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp189;
3988                                  const double tmp131_1 = tmp13_0*w111;                                  EM_S[INDEX2(5,4,8)]+=B_0_2*w30 + B_0_3*w46 + B_0_4*w47 + B_0_5*w38 + tmp50 + tmp51 + tmp52 + tmp53 + tmp54 + tmp55 + tmp56 + tmp57 + tmp58 + tmp59;
3989                                  const double tmp265_1 = B_1_0*w118;                                  EM_S[INDEX2(5,5,8)]+=B_0_2*w46 + B_0_3*w30 + B_0_4*w38 + B_0_5*w47 - B_1_0*w31 + B_1_2*w45 + B_1_5*w44 - B_1_7*w39 + B_2_1*w43 + B_2_2*w41 + B_2_5*w40 + B_2_6*w32 + tmp135 + tmp136 + tmp208 + tmp211 + tmp212 + tmp213;
3990                                  const double tmp337_1 = B_1_5*w105;                                  EM_S[INDEX2(5,6,8)]+=tmp11 + tmp12 + tmp13 + tmp14 + tmp15 + tmp19 + tmp66 + tmp67 + tmp68 + tmp69;
3991                                  const double tmp172_1 = B_1_1*w99;                                  EM_S[INDEX2(5,7,8)]+=B_1_0*w45 - B_1_2*w31 - B_1_5*w39 + B_1_7*w44 + tmp170 + tmp171 + tmp172 + tmp173 + tmp174 + tmp175 + tmp176 + tmp177 + tmp178 + tmp179;
3992                                  const double tmp161_1 = tmp18_0*w91;                                  EM_S[INDEX2(6,0,8)]+=tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp233 + tmp234 + tmp235 + tmp236 + tmp237;
3993                                  const double tmp88_1 = tmp4_0*w108;                                  EM_S[INDEX2(6,1,8)]+=tmp258 + tmp259 + tmp63 + tmp64 + tmp94 + tmp95;
3994                                  const double tmp236_1 = B_1_5*w118;                                  EM_S[INDEX2(6,2,8)]+=B_2_1*w32 + B_2_2*w40 + B_2_5*w41 + B_2_6*w43 + tmp70 + tmp71 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp84 + tmp85;
3995                                  const double tmp273_1 = tmp41_0*w109;                                  EM_S[INDEX2(6,3,8)]+=tmp105 + tmp106 + tmp107 + tmp108 + tmp112 + tmp113 + tmp156 + tmp157 + tmp158 + tmp159;
3996                                  const double tmp154_1 = tmp38_0*w106;                                  EM_S[INDEX2(6,4,8)]+=B_1_1*w31 - B_1_3*w45 - B_1_4*w44 + B_1_6*w39 + tmp30 + tmp31 + tmp32 + tmp33 + tmp34 + tmp35 + tmp36 + tmp37 + tmp38 + tmp39;
3997                                  const double tmp440_1 = B_1_3*w99;                                  EM_S[INDEX2(6,5,8)]+=tmp10 + tmp12 + tmp13 + tmp16 + tmp17 + tmp18 + tmp250 + tmp251 + tmp252 + tmp253;
3998                                  const double tmp33_1 = B_1_3*w114;                                  EM_S[INDEX2(6,6,8)]+=-B_0_0*w30 - B_0_1*w46 - B_0_6*w47 - B_0_7*w38 - B_1_1*w45 + B_1_3*w31 + B_1_4*w39 - B_1_6*w44 + B_2_1*w41 + B_2_2*w43 + B_2_5*w32 + B_2_6*w40 + tmp134 + tmp137 + tmp209 + tmp210 + tmp212 + tmp213;
3999                                  const double tmp141_1 = tmp30_0*w102;                                  EM_S[INDEX2(6,7,8)]+=-B_0_0*w46 - B_0_1*w30 - B_0_6*w38 - B_0_7*w47 + tmp122 + tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131;
4000                                  const double tmp393_1 = tmp25_0*w95;                                  EM_S[INDEX2(7,0,8)]+=tmp258 + tmp259 + tmp80 + tmp81 + tmp94 + tmp95;
4001                                  const double tmp289_1 = tmp24_0*w102;                                  EM_S[INDEX2(7,1,8)]+=tmp181 + tmp182 + tmp184 + tmp186 + tmp187 + tmp188 + tmp218 + tmp219 + tmp220 + tmp221;
4002                                  const double tmp180_1 = B_1_3*w119;                                  EM_S[INDEX2(7,2,8)]+=tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113;
4003                                  const double tmp86_1 = tmp36_0*w117;                                  EM_S[INDEX2(7,3,8)]+=B_2_0*w32 + B_2_3*w40 + B_2_4*w41 + B_2_7*w43 + tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8 + tmp9;
4004                                  const double tmp444_1 = B_1_5*w115;                                  EM_S[INDEX2(7,4,8)]+=tmp12 + tmp13 + tmp250 + tmp251 + tmp252 + tmp253 + tmp66 + tmp67 + tmp68 + tmp69;
4005                                  const double tmp447_1 = B_1_0*w111;                                  EM_S[INDEX2(7,5,8)]+=B_1_0*w31 - B_1_2*w45 - B_1_5*w44 + B_1_7*w39 + tmp141 + tmp147 + tmp170 + tmp171 + tmp172 + tmp174 + tmp175 + tmp176 + tmp177 + tmp178;
4006                                  const double tmp315_1 = tmp31_0*w117;                                  EM_S[INDEX2(7,6,8)]+=B_0_0*w30 + B_0_1*w46 + B_0_6*w47 + B_0_7*w38 + tmp122 + tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp130 + tmp131 + tmp148 + tmp149;
4007                                  const double tmp120_1 = tmp3_0*w112;                                  EM_S[INDEX2(7,7,8)]+=B_0_0*w46 + B_0_1*w30 + B_0_6*w38 + B_0_7*w47 - B_1_0*w45 + B_1_2*w31 + B_1_5*w39 - B_1_7*w44 + B_2_0*w41 + B_2_3*w43 + B_2_4*w32 + B_2_7*w40 + tmp150 + tmp151 + tmp166 + tmp167 + tmp168 + tmp169;
                                 const double tmp355_1 = tmp0_0*w96;  
                                 const double tmp223_1 = B_0_5*w110;  
                                 const double tmp60_1 = tmp12_0*w90;  
                                 const double tmp239_1 = B_2_5*w122;  
                                 const double tmp194_1 = tmp22_0*w112;  
                                 const double tmp28_1 = tmp21_0*w109;  
                                 const double tmp24_1 = tmp12_0*w93;  
                                 const double tmp424_1 = tmp17_0*w94;  
                                 const double tmp237_1 = B_0_4*w104;  
                                 const double tmp322_1 = B_0_5*w120;  
                                 const double tmp453_1 = B_2_2*w100;  
                                 const double tmp238_1 = B_0_3*w110;  
                                 const double tmp370_1 = B_2_4*w123;  
                                 const double tmp155_1 = tmp39_0*w108;  
                                 const double tmp23_1 = tmp19_0*w102;  
                                 const double tmp181_1 = B_2_0*w116;  
                                 const double tmp164_1 = tmp13_0*w97;  
                                 const double tmp168_1 = tmp27_0*w93;  
                                 const double tmp285_1 = tmp6_0*w109;  
                                 const double tmp32_1 = tmp24_0*w112;  
                                 const double tmp210_1 = B_2_7*w92;  
                                 const double tmp399_1 = B_1_0*w91;  
                                 const double tmp183_1 = B_0_4*w120;  
                                 const double tmp185_1 = B_1_4*w118;  
                                 const double tmp40_1 = tmp11_0*w110;  
                                 const double tmp59_1 = tmp13_0*w94;  
                                 const double tmp279_1 = tmp25_0*w102;  
                                 const double tmp242_1 = B_1_7*w91;  
                                 const double tmp454_1 = B_2_5*w101;  
                                 const double tmp114_1 = tmp1_0*w90;  
                                 const double tmp319_1 = tmp18_0*w94;  
                                 const double tmp394_1 = tmp2_0*w91;  
                                 const double tmp229_1 = B_2_1*w113;  
                                 const double tmp93_1 = B_2_6*w123;  
                                 const double tmp278_1 = tmp16_0*w90;  
                                 const double tmp46_1 = tmp20_0*w94;  
                                 const double tmp87_1 = tmp7_0*w106;  
                                 const double tmp421_1 = tmp18_0*w111;  
                                 const double tmp313_1 = tmp13_0*w99;  
                                 const double tmp364_1 = B_0_4*w110;  
                                 const double tmp412_1 = tmp13_0*w109;  
                                 const double tmp30_1 = tmp23_0*w117;  
                                 const double tmp365_1 = B_0_3*w104;  
                                 const double tmp425_1 = tmp18_0*w97;  
                                 const double tmp134_1 = tmp29_0*w103;  
                                 const double tmp143_1 = tmp0_0*w108;  
                                 const double tmp213_1 = B_2_4*w100;  
                                 const double tmp435_1 = tmp15_0*w102;  
                                 const double tmp78_1 = tmp34_0*w107;  
                                 const double tmp76_1 = tmp32_0*w106;  
                                 const double tmp132_1 = tmp7_0*w93;  
                                 const double tmp348_1 = B_1_3*w91;  
                                 const double tmp68_1 = tmp17_0*w109;  
                                 const double tmp130_1 = tmp14_0*w105;  
                                 const double tmp142_1 = tmp1_0*w106;  
                                 const double tmp153_1 = B_2_4*w103;  
                                 const double tmp432_1 = B_0_6*w124;  
                                 const double tmp256_1 = B_2_4*w92;  
                                 const double tmp204_1 = B_0_0*w90;  
                                 const double tmp82_1 = tmp16_0*w93;  
                                 const double tmp222_1 = tmp3_0*w102;  
                                 const double tmp272_1 = tmp40_0*w107;  
                                 const double tmp19_1 = tmp15_0*w95;  
                                 const double tmp226_1 = tmp7_0*w104;  
                                 const double tmp25_1 = B_1_4*w115;  
                                 const double tmp199_1 = B_1_7*w118;  
                                 const double tmp303_1 = B_1_1*w114;  
                                 const double tmp318_1 = tmp30_0*w112;  
                                 const double tmp100_1 = tmp33_0*w93;  
                                 const double tmp439_1 = B_1_4*w111;  
                                 const double tmp17_1 = tmp13_0*w107;  
                                 const double tmp83_1 = tmp12_0*w96;  
                                 const double tmp45_1 = B_1_1*w91;  
                                 const double tmp75_1 = tmp14_0*w111;  
                                 const double tmp368_1 = B_2_3*w122;  
                                 const double tmp216_1 = B_0_2*w104;  
                                 const double tmp429_1 = tmp24_0*w116;  
                                 const double tmp388_1 = tmp33_0*w106;  
                                 const double tmp13_1 = tmp9_0*w102;  
                                 const double tmp18_1 = tmp14_0*w109;  
                                 const double tmp112_1 = tmp36_0*w102;  
                                 const double tmp140_1 = tmp34_0*w97;  
                                 const double tmp383_1 = B_0_2*w120;  
                                 const double tmp119_1 = tmp9_0*w117;  
                                 const double tmp36_1 = B_1_6*w105;  
                                 const double tmp266_1 = tmp10_0*w93;  
                                 const double tmp336_1 = B_2_3*w116;  
                                 const double tmp419_1 = tmp31_0*w116;  
                                 const double tmp363_1 = tmp26_0*w108;  
                                 const double tmp196_1 = B_1_0*w119;  
                                 const double tmp182_1 = B_0_5*w90;  
                                 const double tmp0_1 = tmp0_0*w93;  
                                 const double tmp297_1 = tmp1_0*w104;  
                                 const double tmp12_1 = tmp8_0*w97;  
                                 const double tmp244_1 = tmp37_0*w117;  
                                 const double tmp332_1 = B_1_7*w115;  
                                 const double tmp156_1 = B_0_6*w110;  
                                 const double tmp127_1 = tmp10_0*w110;  
                                 const double tmp257_1 = B_1_5*w99;  
                                 const double tmp64_1 = tmp27_0*w96;  
                                 const double tmp389_1 = tmp32_0*w108;  
                                 const double tmp10_1 = tmp6_0*w94;  
                                 const double tmp317_1 = tmp14_0*w91;  
                                 const double tmp275_1 = tmp12_0*w98;  
                                 const double tmp99_1 = tmp2_0*w97;  
                                 const double tmp192_1 = tmp25_0*w117;  
                                 const double tmp224_1 = tmp0_0*w106;  
                                 const double tmp410_1 = B_0_0*w121;  
                                 const double tmp409_1 = tmp6_0*w105;  
                                 const double tmp441_1 = B_1_4*w91;  
                                 const double tmp206_1 = tmp26_0*w106;  
                                 const double tmp232_1 = tmp31_0*w113;  
                                 const double tmp108_1 = B_2_1*w100;  
                                 const double tmp21_1 = tmp17_0*w111;  
                                 const double tmp52_1 = tmp11_0*w93;  
                                 const double tmp103_1 = tmp7_0*w96;  
                                 const double tmp197_1 = tmp23_0*w116;  
                                 const double tmp438_1 = B_1_3*w105;  
                                 const double tmp235_1 = tmp30_0*w116;  
                                 const double tmp29_1 = tmp22_0*w113;  
                                 const double tmp98_1 = B_2_5*w116;  
                                 const double tmp369_1 = B_2_0*w113;  
                                 const double tmp74_1 = B_0_3*w120;  
                                 const double tmp137_1 = tmp1_0*w98;  
                                 const double tmp284_1 = tmp8_0*w107;  
                                 const double tmp109_1 = tmp37_0*w95;  
                                 const double tmp448_1 = tmp25_0*w113;  
                                 const double tmp56_1 = tmp16_0*w98;  
                                 const double tmp375_1 = B_1_5*w114;  
                                 const double tmp188_1 = tmp10_0*w108;  
                                 const double tmp94_1 = tmp0_0*w104;  
                                 const double tmp260_1 = B_1_2*w91;  
                                 const double tmp49_1 = B_1_3*w118;  
                                 const double tmp404_1 = B_0_4*w124;  
                                 const double tmp430_1 = B_0_7*w104;  
                                 const double tmp299_1 = tmp0_0*w110;  
                                 const double tmp417_1 = tmp17_0*w105;  
                                 const double tmp445_1 = B_1_2*w114;  
                                 const double tmp353_1 = B_0_7*w110;  
                                 const double tmp135_1 = tmp28_0*w92;  
                                 const double tmp357_1 = tmp4_0*w90;  
                                 const double tmp356_1 = tmp7_0*w98;  
                                 const double tmp267_1 = B_1_0*w115;  
                                 const double tmp220_1 = B_1_1*w105;  
                                 const double tmp338_1 = B_0_0*w125;  
                                 const double tmp292_1 = tmp30_0*w103;  
                                 const double tmp53_1 = tmp10_0*w96;  
                                 const double tmp43_1 = tmp24_0*w95;  
                                 const double tmp386_1 = tmp31_0*w112;  
                                 const double tmp92_1 = B_2_2*w113;  
                                 const double tmp245_1 = B_0_5*w124;  
                                 const double tmp306_1 = B_0_0*w98;  
                                 const double tmp96_1 = tmp37_0*w112;  
                                 const double tmp177_1 = B_1_6*w91;  
                                 const double tmp176_1 = B_0_2*w98;  
                                 const double tmp71_1 = tmp31_0*w102;  
                                 const double tmp129_1 = tmp18_0*w109;  
                                 const double tmp352_1 = tmp37_0*w102;  
                                 const double tmp312_1 = B_0_2*w121;  
                                 const double tmp80_1 = tmp15_0*w117;  
                                 const double tmp450_1 = tmp23_0*w112;  
                                 const double tmp271_1 = tmp24_0*w92;  
                                 const double tmp22_1 = tmp18_0*w105;  
                                 const double tmp250_1 = tmp40_0*w97;  
                                 const double tmp249_1 = B_2_1*w116;  
                                 const double tmp207_1 = tmp27_0*w108;  
                                 const double tmp193_1 = B_1_5*w91;  
                                 const double tmp240_1 = B_1_0*w99;  
                                 const double tmp160_1 = B_0_1*w104;  
                                 const double tmp377_1 = B_2_5*w100;  
                                 EM_S[INDEX2(0,0,8)]+=tmp175_1 + tmp178_1 + tmp324_1 + tmp325_1 + tmp326_1 + tmp327_1 + tmp328_1 + tmp329_1 + tmp330_1 + tmp331_1 + tmp332_1 + tmp333_1 + tmp334_1 + tmp335_1 + tmp336_1 + tmp337_1 + tmp338_1 + tmp339_1;  
                                 EM_S[INDEX2(1,0,8)]+=tmp200_1 + tmp202_1 + tmp410_1 + tmp411_1 + tmp412_1 + tmp413_1 + tmp414_1 + tmp415_1 + tmp416_1 + tmp417_1 + tmp418_1 + tmp419_1 + tmp420_1 + tmp421_1;  
                                 EM_S[INDEX2(2,0,8)]+=tmp186_1 + tmp187_1 + tmp188_1 + tmp189_1 + tmp190_1 + tmp191_1 + tmp192_1 + tmp193_1 + tmp194_1 + tmp195_1 + tmp196_1 + tmp197_1 + tmp198_1 + tmp199_1;  
                                 EM_S[INDEX2(3,0,8)]+=tmp52_1 + tmp53_1 + tmp54_1 + tmp55_1 + tmp56_1 + tmp57_1 + tmp58_1 + tmp59_1 + tmp60_1 + tmp61_1;  
                                 EM_S[INDEX2(4,0,8)]+=tmp13_1 + tmp142_1 + tmp143_1 + tmp144_1 + tmp145_1 + tmp146_1 + tmp147_1 + tmp148_1 + tmp149_1 + tmp150_1 + tmp151_1 + tmp152_1 + tmp153_1 + tmp6_1;  
                                 EM_S[INDEX2(5,0,8)]+=tmp292_1 + tmp293_1 + tmp294_1 + tmp295_1 + tmp296_1 + tmp298_1 + tmp354_1 + tmp355_1 + tmp356_1 + tmp357_1;  
                                 EM_S[INDEX2(6,0,8)]+=tmp388_1 + tmp389_1 + tmp390_1 + tmp391_1 + tmp392_1 + tmp393_1 + tmp394_1 + tmp395_1 + tmp396_1 + tmp397_1;  
                                 EM_S[INDEX2(7,0,8)]+=tmp100_1 + tmp101_1 + tmp122_1 + tmp123_1 + tmp434_1 + tmp435_1;  
                                 EM_S[INDEX2(0,1,8)]+=tmp154_1 + tmp155_1 + tmp411_1 + tmp412_1 + tmp413_1 + tmp414_1 + tmp416_1 + tmp417_1 + tmp419_1 + tmp421_1 + tmp430_1 + tmp431_1 + tmp432_1 + tmp433_1;  
                                 EM_S[INDEX2(1,1,8)]+=tmp211_1 + tmp212_1 + tmp244_1 + tmp246_1 + tmp252_1 + tmp254_1 + tmp300_1 + tmp301_1 + tmp302_1 + tmp303_1 + tmp304_1 + tmp305_1 + tmp306_1 + tmp307_1 + tmp308_1 + tmp309_1 + tmp310_1 + tmp311_1;  
                                 EM_S[INDEX2(2,1,8)]+=tmp124_1 + tmp125_1 + tmp126_1 + tmp127_1 + tmp54_1 + tmp55_1 + tmp57_1 + tmp58_1 + tmp59_1 + tmp61_1;  
                                 EM_S[INDEX2(3,1,8)]+=tmp24_1 + tmp26_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp34_1 + tmp35_1 + tmp440_1 + tmp441_1 + tmp442_1 + tmp443_1 + tmp46_1 + tmp48_1;  
                                 EM_S[INDEX2(4,1,8)]+=tmp290_1 + tmp291_1 + tmp292_1 + tmp293_1 + tmp294_1 + tmp295_1 + tmp296_1 + tmp297_1 + tmp298_1 + tmp299_1;  
                                 EM_S[INDEX2(5,1,8)]+=tmp102_1 + tmp103_1 + tmp104_1 + tmp105_1 + tmp106_1 + tmp107_1 + tmp108_1 + tmp109_1 + tmp110_1 + tmp111_1 + tmp112_1 + tmp113_1 + tmp114_1 + tmp115_1;  
                                 EM_S[INDEX2(6,1,8)]+=tmp122_1 + tmp123_1 + tmp434_1 + tmp435_1 + tmp76_1 + tmp77_1;  
                                 EM_S[INDEX2(7,1,8)]+=tmp280_1 + tmp281_1 + tmp282_1 + tmp283_1 + tmp286_1 + tmp289_1 + tmp358_1 + tmp359_1 + tmp360_1 + tmp361_1;  
                                 EM_S[INDEX2(0,2,8)]+=tmp186_1 + tmp187_1 + tmp188_1 + tmp189_1 + tmp191_1 + tmp192_1 + tmp194_1 + tmp197_1 + tmp272_1 + tmp273_1 + tmp444_1 + tmp445_1 + tmp446_1 + tmp447_1;  
                                 EM_S[INDEX2(1,2,8)]+=tmp128_1 + tmp129_1 + tmp130_1 + tmp131_1 + tmp52_1 + tmp53_1 + tmp55_1 + tmp56_1 + tmp58_1 + tmp60_1;  
                                 EM_S[INDEX2(2,2,8)]+=tmp206_1 + tmp207_1 + tmp236_1 + tmp237_1 + tmp238_1 + tmp239_1 + tmp240_1 + tmp241_1 + tmp242_1 + tmp243_1 + tmp244_1 + tmp245_1 + tmp246_1 + tmp247_1 + tmp248_1 + tmp249_1 + tmp250_1 + tmp251_1;  
                                 EM_S[INDEX2(3,2,8)]+=tmp312_1 + tmp313_1 + tmp314_1 + tmp315_1 + tmp316_1 + tmp317_1 + tmp318_1 + tmp319_1 + tmp320_1 + tmp321_1 + tmp322_1 + tmp323_1 + tmp62_1 + tmp64_1;  
                                 EM_S[INDEX2(4,2,8)]+=tmp388_1 + tmp389_1 + tmp390_1 + tmp391_1 + tmp393_1 + tmp397_1 + tmp406_1 + tmp407_1 + tmp408_1 + tmp409_1;  
                                 EM_S[INDEX2(5,2,8)]+=tmp100_1 + tmp101_1 + tmp434_1 + tmp435_1 + tmp78_1 + tmp79_1;  
                                 EM_S[INDEX2(6,2,8)]+=tmp109_1 + tmp112_1 + tmp452_1 + tmp453_1 + tmp454_1 + tmp455_1 + tmp87_1 + tmp88_1 + tmp89_1 + tmp91_1 + tmp94_1 + tmp95_1 + tmp97_1 + tmp99_1;  
                                 EM_S[INDEX2(7,2,8)]+=tmp132_1 + tmp133_1 + tmp134_1 + tmp135_1 + tmp136_1 + tmp137_1 + tmp138_1 + tmp139_1 + tmp140_1 + tmp141_1;  
                                 EM_S[INDEX2(0,3,8)]+=tmp124_1 + tmp125_1 + tmp126_1 + tmp127_1 + tmp128_1 + tmp129_1 + tmp130_1 + tmp131_1 + tmp55_1 + tmp58_1;  
                                 EM_S[INDEX2(1,3,8)]+=tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp36_1 + tmp37_1;  
                                 EM_S[INDEX2(2,3,8)]+=tmp313_1 + tmp314_1 + tmp315_1 + tmp317_1 + tmp318_1 + tmp319_1 + tmp320_1 + tmp323_1 + tmp362_1 + tmp363_1 + tmp402_1 + tmp403_1 + tmp404_1 + tmp405_1;  
                                 EM_S[INDEX2(3,3,8)]+=tmp168_1 + tmp169_1 + tmp170_1 + tmp171_1 + tmp172_1 + tmp173_1 + tmp174_1 + tmp175_1 + tmp176_1 + tmp177_1 + tmp178_1 + tmp179_1 + tmp180_1 + tmp181_1 + tmp182_1 + tmp183_1 + tmp184_1 + tmp185_1;  
                                 EM_S[INDEX2(4,3,8)]+=tmp434_1 + tmp435_1 + tmp76_1 + tmp77_1 + tmp78_1 + tmp79_1;  
                                 EM_S[INDEX2(5,3,8)]+=tmp280_1 + tmp281_1 + tmp282_1 + tmp283_1 + tmp284_1 + tmp285_1 + tmp286_1 + tmp287_1 + tmp288_1 + tmp289_1;  
                                 EM_S[INDEX2(6,3,8)]+=tmp134_1 + tmp135_1 + tmp136_1 + tmp138_1 + tmp140_1 + tmp141_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp227_1;  
                                 EM_S[INDEX2(7,3,8)]+=tmp0_1 + tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp1_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1 + tmp8_1 + tmp9_1;  
                                 EM_S[INDEX2(0,4,8)]+=tmp119_1 + tmp120_1 + tmp142_1 + tmp143_1 + tmp144_1 + tmp146_1 + tmp147_1 + tmp149_1 + tmp151_1 + tmp152_1 + tmp368_1 + tmp369_1 + tmp370_1 + tmp371_1;  
                                 EM_S[INDEX2(1,4,8)]+=tmp294_1 + tmp295_1 + tmp354_1 + tmp355_1 + tmp356_1 + tmp357_1 + tmp384_1 + tmp385_1 + tmp386_1 + tmp387_1;  
                                 EM_S[INDEX2(2,4,8)]+=tmp388_1 + tmp389_1 + tmp392_1 + tmp394_1 + tmp395_1 + tmp396_1 + tmp448_1 + tmp449_1 + tmp450_1 + tmp451_1;  
                                 EM_S[INDEX2(3,4,8)]+=tmp100_1 + tmp101_1 + tmp122_1 + tmp123_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(4,4,8)]+=tmp206_1 + tmp207_1 + tmp208_1 + tmp209_1 + tmp210_1 + tmp211_1 + tmp212_1 + tmp213_1 + tmp214_1 + tmp215_1 + tmp216_1 + tmp217_1 + tmp218_1 + tmp219_1 + tmp220_1 + tmp221_1 + tmp222_1 + tmp223_1;  
                                 EM_S[INDEX2(5,4,8)]+=tmp62_1 + tmp63_1 + tmp64_1 + tmp65_1 + tmp66_1 + tmp67_1 + tmp68_1 + tmp69_1 + tmp70_1 + tmp71_1 + tmp72_1 + tmp73_1 + tmp74_1 + tmp75_1;  
                                 EM_S[INDEX2(6,4,8)]+=tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp49_1 + tmp50_1 + tmp51_1;  
                                 EM_S[INDEX2(7,4,8)]+=tmp19_1 + tmp23_1 + tmp422_1 + tmp423_1 + tmp424_1 + tmp425_1 + tmp82_1 + tmp83_1 + tmp84_1 + tmp85_1;  
                                 EM_S[INDEX2(0,5,8)]+=tmp290_1 + tmp291_1 + tmp294_1 + tmp295_1 + tmp297_1 + tmp299_1 + tmp384_1 + tmp385_1 + tmp386_1 + tmp387_1;  
                                 EM_S[INDEX2(1,5,8)]+=tmp102_1 + tmp103_1 + tmp106_1 + tmp107_1 + tmp110_1 + tmp113_1 + tmp114_1 + tmp115_1 + tmp228_1 + tmp229_1 + tmp230_1 + tmp231_1 + tmp86_1 + tmp96_1;  
                                 EM_S[INDEX2(2,5,8)]+=tmp122_1 + tmp123_1 + tmp76_1 + tmp77_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(3,5,8)]+=tmp280_1 + tmp281_1 + tmp358_1 + tmp359_1 + tmp360_1 + tmp361_1 + tmp426_1 + tmp427_1 + tmp428_1 + tmp429_1;  
                                 EM_S[INDEX2(4,5,8)]+=tmp362_1 + tmp363_1 + tmp364_1 + tmp365_1 + tmp366_1 + tmp367_1 + tmp65_1 + tmp66_1 + tmp67_1 + tmp68_1 + tmp69_1 + tmp71_1 + tmp72_1 + tmp75_1;  
                                 EM_S[INDEX2(5,5,8)]+=tmp168_1 + tmp170_1 + tmp330_1 + tmp335_1 + tmp345_1 + tmp352_1 + tmp372_1 + tmp373_1 + tmp374_1 + tmp375_1 + tmp376_1 + tmp377_1 + tmp378_1 + tmp379_1 + tmp380_1 + tmp381_1 + tmp382_1 + tmp383_1;  
                                 EM_S[INDEX2(6,5,8)]+=tmp14_1 + tmp15_1 + tmp16_1 + tmp19_1 + tmp20_1 + tmp23_1 + tmp422_1 + tmp423_1 + tmp424_1 + tmp425_1;  
                                 EM_S[INDEX2(7,5,8)]+=tmp195_1 + tmp198_1 + tmp266_1 + tmp268_1 + tmp269_1 + tmp271_1 + tmp274_1 + tmp275_1 + tmp278_1 + tmp279_1 + tmp398_1 + tmp399_1 + tmp400_1 + tmp401_1;  
                                 EM_S[INDEX2(0,6,8)]+=tmp388_1 + tmp389_1 + tmp406_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp448_1 + tmp449_1 + tmp450_1 + tmp451_1;  
                                 EM_S[INDEX2(1,6,8)]+=tmp100_1 + tmp101_1 + tmp78_1 + tmp79_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(2,6,8)]+=tmp86_1 + tmp87_1 + tmp88_1 + tmp89_1 + tmp90_1 + tmp91_1 + tmp92_1 + tmp93_1 + tmp94_1 + tmp95_1 + tmp96_1 + tmp97_1 + tmp98_1 + tmp99_1;  
                                 EM_S[INDEX2(3,6,8)]+=tmp132_1 + tmp133_1 + tmp137_1 + tmp138_1 + tmp139_1 + tmp140_1 + tmp232_1 + tmp233_1 + tmp234_1 + tmp235_1;  
                                 EM_S[INDEX2(4,6,8)]+=tmp27_1 + tmp28_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp436_1 + tmp437_1 + tmp438_1 + tmp439_1 + tmp43_1 + tmp44_1 + tmp50_1 + tmp51_1;  
                                 EM_S[INDEX2(5,6,8)]+=tmp17_1 + tmp18_1 + tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp82_1 + tmp83_1 + tmp84_1 + tmp85_1;  
                                 EM_S[INDEX2(6,6,8)]+=tmp179_1 + tmp184_1 + tmp325_1 + tmp326_1 + tmp340_1 + tmp341_1 + tmp342_1 + tmp343_1 + tmp344_1 + tmp345_1 + tmp346_1 + tmp347_1 + tmp348_1 + tmp349_1 + tmp350_1 + tmp351_1 + tmp352_1 + tmp353_1;  
                                 EM_S[INDEX2(7,6,8)]+=tmp157_1 + tmp158_1 + tmp159_1 + tmp161_1 + tmp162_1 + tmp164_1 + tmp166_1 + tmp167_1 + tmp200_1 + tmp201_1 + tmp202_1 + tmp203_1 + tmp204_1 + tmp205_1;  
                                 EM_S[INDEX2(0,7,8)]+=tmp76_1 + tmp77_1 + tmp78_1 + tmp79_1 + tmp80_1 + tmp81_1;  
                                 EM_S[INDEX2(1,7,8)]+=tmp280_1 + tmp281_1 + tmp284_1 + tmp285_1 + tmp287_1 + tmp288_1 + tmp426_1 + tmp427_1 + tmp428_1 + tmp429_1;  
                                 EM_S[INDEX2(2,7,8)]+=tmp138_1 + tmp140_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp227_1 + tmp232_1 + tmp233_1 + tmp234_1 + tmp235_1;  
                                 EM_S[INDEX2(3,7,8)]+=tmp0_1 + tmp10_1 + tmp116_1 + tmp117_1 + tmp118_1 + tmp119_1 + tmp11_1 + tmp120_1 + tmp121_1 + tmp12_1 + tmp1_1 + tmp4_1 + tmp7_1 + tmp8_1;  
                                 EM_S[INDEX2(4,7,8)]+=tmp14_1 + tmp15_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1 + tmp23_1;  
                                 EM_S[INDEX2(5,7,8)]+=tmp266_1 + tmp267_1 + tmp268_1 + tmp269_1 + tmp270_1 + tmp271_1 + tmp272_1 + tmp273_1 + tmp274_1 + tmp275_1 + tmp276_1 + tmp277_1 + tmp278_1 + tmp279_1;  
                                 EM_S[INDEX2(6,7,8)]+=tmp154_1 + tmp155_1 + tmp156_1 + tmp157_1 + tmp158_1 + tmp159_1 + tmp160_1 + tmp161_1 + tmp162_1 + tmp163_1 + tmp164_1 + tmp165_1 + tmp166_1 + tmp167_1;  
                                 EM_S[INDEX2(7,7,8)]+=tmp215_1 + tmp222_1 + tmp247_1 + tmp250_1 + tmp252_1 + tmp253_1 + tmp254_1 + tmp255_1 + tmp256_1 + tmp257_1 + tmp258_1 + tmp259_1 + tmp260_1 + tmp261_1 + tmp262_1 + tmp263_1 + tmp264_1 + tmp265_1;  
4008                              } else { // constant data                              } else { // constant data
4009                                  const double B_0 = B_p[0];                                  const double B_0 = B_p[0];
4010                                  const double B_1 = B_p[1];                                  const double B_1 = B_p[1];
4011                                  const double B_2 = B_p[2];                                  const double B_2 = B_p[2];
4012                                  const double tmp7_1 = B_2*w133;                                  EM_S[INDEX2(0,0,8)]+=4*B_0*w53 + B_1*w51 - B_2*w50;
4013                                  const double tmp17_1 = B_0*w143;                                  EM_S[INDEX2(0,1,8)]+=4*B_0*w53 - B_1*w49 + B_2*w52;
4014                                  const double tmp1_1 = B_1*w127;                                  EM_S[INDEX2(0,2,8)]+=-B_0*w48 + B_1*w51 + B_2*w52;
4015                                  const double tmp8_1 = B_2*w135;                                  EM_S[INDEX2(0,3,8)]+=-B_0*w48 - B_1*w49 + B_2*w52/2;
4016                                  const double tmp15_1 = B_0*w141;                                  EM_S[INDEX2(0,4,8)]+=-B_0*w48 - B_1*w49 - B_2*w50;
4017                                  const double tmp3_1 = B_0*w129;                                  EM_S[INDEX2(0,5,8)]+=-B_0*w48 + B_1*w51/4 + B_2*w52;
4018                                  const double tmp13_1 = B_1*w139;                                  EM_S[INDEX2(0,6,8)]+=B_0*w53 - B_1*w49 + B_2*w52;
4019                                  const double tmp2_1 = B_0*w126;                                  EM_S[INDEX2(0,7,8)]+=B_0*w53 + B_1*w51/4 + B_2*w52/2;
4020                                  const double tmp12_1 = B_0*w138;                                  EM_S[INDEX2(1,0,8)]+=-4*B_0*w53 - B_1*w49 + B_2*w52;
4021                                  const double tmp5_1 = B_2*w131;                                  EM_S[INDEX2(1,1,8)]+=-4*B_0*w53 + B_1*w51 - B_2*w50;
4022                                  const double tmp10_1 = B_2*w136;                                  EM_S[INDEX2(1,2,8)]+=B_0*w48 - B_1*w49 + B_2*w52/2;
4023                                  const double tmp4_1 = B_1*w130;                                  EM_S[INDEX2(1,3,8)]+=B_0*w48 + B_1*w51 + B_2*w52;
4024                                  const double tmp6_1 = B_1*w132;                                  EM_S[INDEX2(1,4,8)]+=B_0*w48 + B_1*w51/4 + B_2*w52;
4025                                  const double tmp9_1 = B_1*w134;                                  EM_S[INDEX2(1,5,8)]+=B_0*w48 - B_1*w49 - B_2*w50;
4026                                  const double tmp14_1 = B_2*w140;                                  EM_S[INDEX2(1,6,8)]+=-B_0*w53 + B_1*w51/4 + B_2*w52/2;
4027                                  const double tmp0_1 = B_2*w128;                                  EM_S[INDEX2(1,7,8)]+=-B_0*w53 - B_1*w49 + B_2*w52;
4028                                  const double tmp16_1 = B_1*w142;                                  EM_S[INDEX2(2,0,8)]+=-B_0*w48 - B_1*w51 + B_2*w52;
4029                                  const double tmp11_1 = B_0*w137;                                  EM_S[INDEX2(2,1,8)]+=-B_0*w48 + B_1*w49 + B_2*w52/2;
4030                                  EM_S[INDEX2(0,0,8)]+=tmp14_1 + tmp17_1 + tmp6_1;                                  EM_S[INDEX2(2,2,8)]+=4*B_0*w53 - B_1*w51 - B_2*w50;
4031                                  EM_S[INDEX2(1,0,8)]+=tmp11_1 + tmp4_1 + tmp7_1;                                  EM_S[INDEX2(2,3,8)]+=4*B_0*w53 + B_1*w49 + B_2*w52;
4032                                  EM_S[INDEX2(2,0,8)]+=tmp3_1 + tmp7_1 + tmp9_1;                                  EM_S[INDEX2(2,4,8)]+=B_0*w53 + B_1*w49 + B_2*w52;
4033                                  EM_S[INDEX2(3,0,8)]+=tmp10_1 + tmp1_1 + tmp2_1;                                  EM_S[INDEX2(2,5,8)]+=B_0*w53 - B_1*w51/4 + B_2*w52/2;
4034                                  EM_S[INDEX2(4,0,8)]+=tmp0_1 + tmp3_1 + tmp4_1;                                  EM_S[INDEX2(2,6,8)]+=-B_0*w48 + B_1*w49 - B_2*w50;
4035                                  EM_S[INDEX2(5,0,8)]+=tmp13_1 + tmp2_1 + tmp8_1;                                  EM_S[INDEX2(2,7,8)]+=-B_0*w48 - B_1*w51/4 + B_2*w52;
4036                                  EM_S[INDEX2(6,0,8)]+=tmp12_1 + tmp1_1 + tmp8_1;                                  EM_S[INDEX2(3,0,8)]+=B_0*w48 + B_1*w49 + B_2*w52/2;
4037                                  EM_S[INDEX2(7,0,8)]+=tmp15_1 + tmp16_1 + tmp5_1;                                  EM_S[INDEX2(3,1,8)]+=B_0*w48 - B_1*w51 + B_2*w52;
4038                                  EM_S[INDEX2(0,1,8)]+=tmp17_1 + tmp4_1 + tmp7_1;                                  EM_S[INDEX2(3,2,8)]+=-4*B_0*w53 + B_1*w49 + B_2*w52;
4039                                  EM_S[INDEX2(1,1,8)]+=tmp11_1 + tmp14_1 + tmp6_1;                                  EM_S[INDEX2(3,3,8)]+=-4*B_0*w53 - B_1*w51 - B_2*w50;
4040                                  EM_S[INDEX2(2,1,8)]+=tmp10_1 + tmp1_1 + tmp3_1;                                  EM_S[INDEX2(3,4,8)]+=-B_0*w53 - B_1*w51/4 + B_2*w52/2;
4041                                  EM_S[INDEX2(3,1,8)]+=tmp2_1 + tmp7_1 + tmp9_1;                                  EM_S[INDEX2(3,5,8)]+=-B_0*w53 + B_1*w49 + B_2*w52;
4042                                  EM_S[INDEX2(4,1,8)]+=tmp13_1 + tmp3_1 + tmp8_1;                                  EM_S[INDEX2(3,6,8)]+=B_0*w48 - B_1*w51/4 + B_2*w52;
4043                                  EM_S[INDEX2(5,1,8)]+=tmp0_1 + tmp2_1 + tmp4_1;                                  EM_S[INDEX2(3,7,8)]+=B_0*w48 + B_1*w49 - B_2*w50;
4044                                  EM_S[INDEX2(6,1,8)]+=tmp12_1 + tmp16_1 + tmp5_1;                                  EM_S[INDEX2(4,0,8)]+=-B_0*w48 - B_1*w49 + B_2*w50;
4045                                  EM_S[INDEX2(7,1,8)]+=tmp15_1 + tmp1_1 + tmp8_1;                                  EM_S[INDEX2(4,1,8)]+=-B_0*w48 + B_1*w51/4 - B_2*w52;
4046                                  EM_S[INDEX2(0,2,8)]+=tmp3_1 + tmp6_1 + tmp7_1;                                  EM_S[INDEX2(4,2,8)]+=B_0*w53 - B_1*w49 - B_2*w52;
4047                                  EM_S[INDEX2(1,2,8)]+=tmp10_1 + tmp2_1 + tmp4_1;                                  EM_S[INDEX2(4,3,8)]+=B_0*w53 + B_1*w51/4 + B_2*w50/4;
4048                                  EM_S[INDEX2(2,2,8)]+=tmp14_1 + tmp17_1 + tmp9_1;                                  EM_S[INDEX2(4,4,8)]+=4*B_0*w53 + B_1*w51 + B_2*w50;
4049                                  EM_S[INDEX2(3,2,8)]+=tmp11_1 + tmp1_1 + tmp7_1;                                  EM_S[INDEX2(4,5,8)]+=4*B_0*w53 - B_1*w49 - B_2*w52;
4050                                  EM_S[INDEX2(4,2,8)]+=tmp12_1 + tmp4_1 + tmp8_1;                                  EM_S[INDEX2(4,6,8)]+=-B_0*w48 + B_1*w51 - B_2*w52;
4051                                  EM_S[INDEX2(5,2,8)]+=tmp13_1 + tmp15_1 + tmp5_1;                                  EM_S[INDEX2(4,7,8)]+=-B_0*w48 - B_1*w49 + B_2*w50/4;
4052                                  EM_S[INDEX2(6,2,8)]+=tmp0_1 + tmp1_1 + tmp3_1;                                  EM_S[INDEX2(5,0,8)]+=B_0*w48 + B_1*w51/4 - B_2*w52;
4053                                  EM_S[INDEX2(7,2,8)]+=tmp16_1 + tmp2_1 + tmp8_1;                                  EM_S[INDEX2(5,1,8)]+=B_0*w48 - B_1*w49 + B_2*w50;
4054                                  EM_S[INDEX2(0,3,8)]+=tmp10_1 + tmp3_1 + tmp4_1;                                  EM_S[INDEX2(5,2,8)]+=-B_0*w53 + B_1*w51/4 + B_2*w50/4;
4055                                  EM_S[INDEX2(1,3,8)]+=tmp2_1 + tmp6_1 + tmp7_1;                                  EM_S[INDEX2(5,3,8)]+=-B_0*w53 - B_1*w49 - B_2*w52;
4056                                  EM_S[INDEX2(2,3,8)]+=tmp17_1 + tmp1_1 + tmp7_1;                                  EM_S[INDEX2(5,4,8)]+=2*B_0*w48 - B_1*w49 - B_2*w52;
4057                                  EM_S[INDEX2(3,3,8)]+=tmp11_1 + tmp14_1 + tmp9_1;                                  EM_S[INDEX2(5,5,8)]+=-4*B_0*w53 + B_1*w51 + B_2*w50;
4058                                  EM_S[INDEX2(4,3,8)]+=tmp12_1 + tmp13_1 + tmp5_1;                                  EM_S[INDEX2(5,6,8)]+=B_0*w48 - B_1*w49 + B_2*w50/4;
4059                                  EM_S[INDEX2(5,3,8)]+=tmp15_1 + tmp4_1 + tmp8_1;                                  EM_S[INDEX2(5,7,8)]+=B_0*w48 + B_1*w51 - B_2*w52;
4060                                  EM_S[INDEX2(6,3,8)]+=tmp16_1 + tmp3_1 + tmp8_1;                                  EM_S[INDEX2(6,0,8)]+=B_0*w53 + B_1*w49 - B_2*w52;
4061                                  EM_S[INDEX2(7,3,8)]+=tmp0_1 + tmp1_1 + tmp2_1;                                  EM_S[INDEX2(6,1,8)]+=B_0*w53 - B_1*w51/4 + B_2*w50/4;
4062                                  EM_S[INDEX2(0,4,8)]+=tmp14_1 + tmp3_1 + tmp4_1;                                  EM_S[INDEX2(6,2,8)]+=-B_0*w48 + B_1*w49 + B_2*w50;
4063                                  EM_S[INDEX2(1,4,8)]+=tmp13_1 + tmp2_1 + tmp7_1;                                  EM_S[INDEX2(6,3,8)]+=-B_0*w48 - B_1*w51/4 - B_2*w52;
4064                                  EM_S[INDEX2(2,4,8)]+=tmp12_1 + tmp1_1 + tmp7_1;                                  EM_S[INDEX2(6,4,8)]+=-B_0*w48 - B_1*w51 - B_2*w52;
4065                                  EM_S[INDEX2(3,4,8)]+=tmp10_1 + tmp15_1 + tmp16_1;                                  EM_S[INDEX2(6,5,8)]+=-B_0*w48 + B_1*w49 + B_2*w50/4;
4066                                  EM_S[INDEX2(4,4,8)]+=tmp0_1 + tmp17_1 + tmp6_1;                                  EM_S[INDEX2(6,6,8)]+=4*B_0*w53 - B_1*w51 + B_2*w50;
4067                                  EM_S[INDEX2(5,4,8)]+=tmp11_1 + tmp4_1 + tmp8_1;                                  EM_S[INDEX2(6,7,8)]+=4*B_0*w53 + B_1*w49 - B_2*w52;
4068                                  EM_S[INDEX2(6,4,8)]+=tmp3_1 + tmp8_1 + tmp9_1;                                  EM_S[INDEX2(7,0,8)]+=-B_0*w53 - B_1*w51/4 + B_2*w50/4;
4069                                  EM_S[INDEX2(7,4,8)]+=tmp1_1 + tmp2_1 + tmp5_1;                                  EM_S[INDEX2(7,1,8)]+=-B_0*w53 + B_1*w49 - B_2*w52;
4070                                  EM_S[INDEX2(0,5,8)]+=tmp13_1 + tmp3_1 + tmp7_1;                                  EM_S[INDEX2(7,2,8)]+=B_0*w48 - B_1*w51/4 - B_2*w52;
4071                                  EM_S[INDEX2(1,5,8)]+=tmp14_1 + tmp2_1 + tmp4_1;                                  EM_S[INDEX2(7,3,8)]+=B_0*w48 + B_1*w49 + B_2*w50;
4072                                  EM_S[INDEX2(2,5,8)]+=tmp10_1 + tmp12_1 + tmp16_1;                                  EM_S[INDEX2(7,4,8)]+=B_0*w48 + B_1*w49 + B_2*w50/4;
4073                                  EM_S[INDEX2(3,5,8)]+=tmp15_1 + tmp1_1 + tmp7_1;                                  EM_S[INDEX2(7,5,8)]+=B_0*w48 - B_1*w51 - B_2*w52;
4074                                  EM_S[INDEX2(4,5,8)]+=tmp17_1 + tmp4_1 + tmp8_1;                                  EM_S[INDEX2(7,6,8)]+=-4*B_0*w53 + B_1*w49 - B_2*w52;
4075                                  EM_S[INDEX2(5,5,8)]+=tmp0_1 + tmp11_1 + tmp6_1;                                  EM_S[INDEX2(7,7,8)]+=-4*B_0*w53 - B_1*w51 + B_2*w50;
                                 EM_S[INDEX2(6,5,8)]+=tmp1_1 + tmp3_1 + tmp5_1;  
                                 EM_S[INDEX2(7,5,8)]+=tmp2_1 + tmp8_1 + tmp9_1;  
                                 EM_S[INDEX2(0,6,8)]+=tmp12_1 + tmp4_1 + tmp7_1;  
                                 EM_S[INDEX2(1,6,8)]+=tmp10_1 + tmp13_1 + tmp15_1;  
                                 EM_S[INDEX2(2,6,8)]+=tmp14_1 + tmp1_1 + tmp3_1;  
                                 EM_S[INDEX2(3,6,8)]+=tmp16_1 + tmp2_1 + tmp7_1;  
                                 EM_S[INDEX2(4,6,8)]+=tmp3_1 + tmp6_1 + tmp8_1;  
                                 EM_S[INDEX2(5,6,8)]+=tmp2_1 + tmp4_1 + tmp5_1;  
                                 EM_S[INDEX2(6,6,8)]+=tmp0_1 + tmp17_1 + tmp9_1;  
                                 EM_S[INDEX2(7,6,8)]+=tmp11_1 + tmp1_1 + tmp8_1;  
                                 EM_S[INDEX2(0,7,8)]+=tmp10_1 + tmp12_1 + tmp13_1;  
                                 EM_S[INDEX2(1,7,8)]+=tmp15_1 + tmp4_1 + tmp7_1;  
                                 EM_S[INDEX2(2,7,8)]+=tmp16_1 + tmp3_1 + tmp7_1;  
                                 EM_S[INDEX2(3,7,8)]+=tmp14_1 + tmp1_1 + tmp2_1;  
                                 EM_S[INDEX2(4,7,8)]+=tmp3_1 + tmp4_1 + tmp5_1;  
                                 EM_S[INDEX2(5,7,8)]+=tmp2_1 + tmp6_1 + tmp8_1;  
                                 EM_S[INDEX2(6,7,8)]+=tmp17_1 + tmp1_1 + tmp8_1;  
                                 EM_S[INDEX2(7,7,8)]+=tmp0_1 + tmp11_1 + tmp9_1;  
4076                              }                              }
4077                          }                          }
4078                          ///////////////                          ///////////////
# Line 4762  void Brick::assemblePDESingle(Paso_Syste Line 4106  void Brick::assemblePDESingle(Paso_Syste
4106                                  const double C_0_7 = C_p[INDEX2(0,7,3)];                                  const double C_0_7 = C_p[INDEX2(0,7,3)];
4107                                  const double C_1_7 = C_p[INDEX2(1,7,3)];                                  const double C_1_7 = C_p[INDEX2(1,7,3)];
4108                                  const double C_2_7 = C_p[INDEX2(2,7,3)];                                  const double C_2_7 = C_p[INDEX2(2,7,3)];
4109                                  const double tmp11_0 = C_0_5 + C_0_7;                                  const double tmp0 = w38*(C_0_3 + C_0_7);
4110                                  const double tmp39_0 = C_0_2 + C_0_4;                                  const double tmp1 = w31*(C_1_0 + C_1_4);
4111                                  const double tmp40_0 = C_1_1 + C_1_4;                                  const double tmp2 = w42*(-C_2_1 - C_2_2);
4112                                  const double tmp14_0 = C_0_4 + C_0_6;                                  const double tmp3 = w35*(-C_2_5 - C_2_6);
4113                                  const double tmp34_0 = C_1_0 + C_1_1 + C_1_4 + C_1_5;                                  const double tmp4 = w37*(C_1_2 + C_1_6);
4114                                  const double tmp23_0 = C_1_0 + C_1_5;                                  const double tmp5 = w39*(C_1_3 + C_1_7);
4115                                  const double tmp12_0 = C_1_4 + C_1_5;                                  const double tmp6 = w36*(C_0_2 + C_0_6);
4116                                  const double tmp35_0 = C_1_2 + C_1_3 + C_1_6 + C_1_7;                                  const double tmp7 = w33*(C_0_1 + C_0_5);
4117                                  const double tmp16_0 = C_1_6 + C_1_7;                                  const double tmp8 = w30*(C_0_0 + C_0_4);
4118                                  const double tmp19_0 = C_2_0 + C_2_1 + C_2_2 + C_2_3;                                  const double tmp9 = w34*(C_1_1 + C_1_5);
4119                                  const double tmp2_0 = C_1_3 + C_1_7;                                  const double tmp10 = w38*(C_0_4 + C_0_6);
4120                                  const double tmp31_0 = C_2_4 + C_2_5;                                  const double tmp11 = w31*(C_1_2 + C_1_3);
4121                                  const double tmp22_0 = C_2_0 + C_2_2;                                  const double tmp12 = w42*(C_2_0 + C_2_1 + C_2_2 + C_2_3);
4122                                  const double tmp37_0 = C_2_4 + C_2_7;                                  const double tmp13 = w35*(C_2_4 + C_2_5 + C_2_6 + C_2_7);
4123                                  const double tmp6_0 = C_2_1 + C_2_2;                                  const double tmp14 = w37*(C_1_0 + C_1_1);
4124                                  const double tmp29_0 = C_2_0 + C_2_1;                                  const double tmp15 = w39*(C_1_4 + C_1_5);
4125                                  const double tmp27_0 = C_0_1 + C_0_7;                                  const double tmp16 = w36*(C_0_5 + C_0_7);
4126                                  const double tmp1_0 = C_0_2 + C_0_6;                                  const double tmp17 = w33*(C_0_0 + C_0_2);
4127                                  const double tmp4_0 = C_0_3 + C_0_7;                                  const double tmp18 = w30*(C_0_1 + C_0_3);
4128                                  const double tmp38_0 = C_0_3 + C_0_5;                                  const double tmp19 = w34*(C_1_6 + C_1_7);
4129                                  const double tmp26_0 = C_0_0 + C_0_6;                                  const double tmp20 = w38*(C_0_1 + C_0_3);
4130                                  const double tmp33_0 = C_0_0 + C_0_2 + C_0_4 + C_0_6;                                  const double tmp21 = w42*(-C_2_0 - C_2_2);
4131                                  const double tmp10_0 = C_0_0 + C_0_2;                                  const double tmp22 = w35*(-C_2_5 - C_2_7);
4132                                  const double tmp25_0 = C_1_2 + C_1_7;                                  const double tmp23 = w37*(C_1_2 + C_1_7);
4133                                  const double tmp7_0 = C_1_1 + C_1_5;                                  const double tmp24 = w32*(-C_2_4 - C_2_6);
4134                                  const double tmp18_0 = C_1_0 + C_1_1;                                  const double tmp25 = w36*(C_0_0 + C_0_2);
4135                                  const double tmp8_0 = C_0_0 + C_0_4;                                  const double tmp26 = w33*(C_0_5 + C_0_7);
4136                                  const double tmp13_0 = C_2_4 + C_2_5 + C_2_6 + C_2_7;                                  const double tmp27 = w30*(C_0_4 + C_0_6);
4137                                  const double tmp28_0 = C_2_2 + C_2_3;                                  const double tmp28 = w43*(-C_2_1 - C_2_3);
4138                                  const double tmp17_0 = C_0_1 + C_0_3;                                  const double tmp29 = w34*(C_1_0 + C_1_5);
4139                                  const double tmp36_0 = C_2_0 + C_2_3;                                  const double tmp30 = w38*(-C_0_4 - C_0_6);
4140                                  const double tmp9_0 = C_1_2 + C_1_6;                                  const double tmp31 = w42*(C_2_5 + C_2_7);
4141                                  const double tmp20_0 = C_2_1 + C_2_3;                                  const double tmp32 = w35*(C_2_0 + C_2_2);
4142                                  const double tmp41_0 = C_1_3 + C_1_6;                                  const double tmp33 = w37*(-C_1_0 - C_1_5);
4143                                  const double tmp5_0 = C_1_0 + C_1_4;                                  const double tmp34 = w32*(C_2_1 + C_2_3);
4144                                  const double tmp3_0 = C_2_5 + C_2_6;                                  const double tmp35 = w36*(-C_0_5 - C_0_7);
4145                                  const double tmp15_0 = C_1_2 + C_1_3;                                  const double tmp36 = w33*(-C_0_0 - C_0_2);
4146                                  const double tmp24_0 = C_2_4 + C_2_6;                                  const double tmp37 = w30*(-C_0_1 - C_0_3);
4147                                  const double tmp32_0 = C_0_1 + C_0_3 + C_0_5 + C_0_7;                                  const double tmp38 = w43*(C_2_4 + C_2_6);
4148                                  const double tmp0_0 = C_0_1 + C_0_5;                                  const double tmp39 = w34*(-C_1_2 - C_1_7);
4149                                  const double tmp21_0 = C_2_5 + C_2_7;                                  const double tmp40 = w38*(-C_0_1 - C_0_3);
4150                                  const double tmp30_0 = C_2_6 + C_2_7;                                  const double tmp41 = w31*(-C_1_4 - C_1_5);
4151                                  const double tmp28_1 = tmp21_0*w117;                                  const double tmp42 = w42*(-C_2_4 - C_2_5 - C_2_6 - C_2_7);
4152                                  const double tmp404_1 = C_0_4*w90;                                  const double tmp43 = w35*(-C_2_0 - C_2_1 - C_2_2 - C_2_3);
4153                                  const double tmp153_1 = tmp5_0*w111;                                  const double tmp44 = w37*(-C_1_6 - C_1_7);
4154                                  const double tmp208_1 = C_2_0*w103;                                  const double tmp45 = w39*(-C_1_2 - C_1_3);
4155                                  const double tmp201_1 = tmp38_0*w108;                                  const double tmp46 = w36*(-C_0_0 - C_0_2);
4156                                  const double tmp102_1 = tmp4_0*w93;                                  const double tmp47 = w33*(-C_0_5 - C_0_7);
4157                                  const double tmp277_1 = tmp41_0*w97;                                  const double tmp48 = w30*(-C_0_4 - C_0_6);
4158                                  const double tmp39_1 = tmp11_0*w108;                                  const double tmp49 = w34*(-C_1_0 - C_1_1);
4159                                  const double tmp443_1 = C_1_1*w111;                                  const double tmp50 = w31*(-C_1_2 - C_1_3);
4160                                  const double tmp61_1 = tmp15_0*w111;                                  const double tmp51 = w42*(C_2_6 + C_2_7);
4161                                  const double tmp188_1 = tmp17_0*w108;                                  const double tmp52 = w35*(C_2_0 + C_2_1);
4162                                  const double tmp139_1 = tmp35_0*w94;                                  const double tmp53 = w37*(-C_1_0 - C_1_1);
4163                                  const double tmp378_1 = C_0_4*w98;                                  const double tmp54 = w32*(C_2_2 + C_2_3);
4164                                  const double tmp10_1 = tmp7_0*w94;                                  const double tmp55 = w39*(-C_1_4 - C_1_5);
4165                                  const double tmp31_1 = tmp22_0*w112;                                  const double tmp56 = w36*(-C_0_1 - C_0_7);
4166                                  const double tmp209_1 = C_1_4*w114;                                  const double tmp57 = w33*(-C_0_0 - C_0_6);
4167                                  const double tmp369_1 = C_2_0*w100;                                  const double tmp58 = w43*(C_2_4 + C_2_5);
4168                                  const double tmp213_1 = C_2_4*w100;                                  const double tmp59 = w34*(-C_1_6 - C_1_7);
4169                                  const double tmp254_1 = tmp38_0*w96;                                  const double tmp60 = w42*(C_2_4 + C_2_5 + C_2_6 + C_2_7);
4170                                  const double tmp350_1 = C_0_1*w124;                                  const double tmp61 = w35*(C_2_0 + C_2_1 + C_2_2 + C_2_3);
4171                                  const double tmp183_1 = C_0_4*w120;                                  const double tmp62 = w37*(C_1_2 + C_1_3 + C_1_6 + C_1_7);
4172                                  const double tmp182_1 = C_0_5*w90;                                  const double tmp63 = w36*(C_0_0 + C_0_2 + C_0_4 + C_0_6);
4173                                  const double tmp83_1 = tmp14_0*w108;                                  const double tmp64 = w33*(C_0_1 + C_0_3 + C_0_5 + C_0_7);
4174                                  const double tmp247_1 = tmp41_0*w94;                                  const double tmp65 = w34*(C_1_0 + C_1_1 + C_1_4 + C_1_5);
4175                                  const double tmp79_1 = tmp34_0*w94;                                  const double tmp66 = w38*(-C_0_5 - C_0_7);
4176                                  const double tmp332_1 = C_1_7*w115;                                  const double tmp67 = w36*(-C_0_4 - C_0_6);
4177                                  const double tmp75_1 = tmp31_0*w103;                                  const double tmp68 = w33*(-C_0_1 - C_0_3);
4178                                  const double tmp303_1 = C_1_1*w114;                                  const double tmp69 = w30*(-C_0_0 - C_0_2);
4179                                  const double tmp304_1 = C_2_5*w113;                                  const double tmp70 = w38*(-C_0_2 - C_0_6);
4180                                  const double tmp420_1 = C_0_1*w125;                                  const double tmp71 = w31*(C_1_1 + C_1_5);
4181                                  const double tmp271_1 = tmp20_0*w95;                                  const double tmp72 = w42*(C_2_4 + C_2_7);
4182                                  const double tmp444_1 = C_1_2*w99;                                  const double tmp73 = w35*(C_2_0 + C_2_3);
4183                                  const double tmp381_1 = C_1_0*w105;                                  const double tmp74 = w37*(C_1_3 + C_1_7);
4184                                  const double tmp96_1 = tmp5_0*w94;                                  const double tmp75 = w39*(C_1_2 + C_1_6);
4185                                  const double tmp385_1 = tmp30_0*w92;                                  const double tmp76 = w36*(-C_0_3 - C_0_7);
4186                                  const double tmp371_1 = C_2_4*w103;                                  const double tmp77 = w33*(-C_0_0 - C_0_4);
4187                                  const double tmp66_1 = tmp18_0*w107;                                  const double tmp78 = w30*(-C_0_1 - C_0_5);
4188                                  const double tmp300_1 = C_0_1*w121;                                  const double tmp79 = w34*(C_1_0 + C_1_4);
4189                                  const double tmp379_1 = C_2_2*w101;                                  const double tmp80 = w36*(-C_0_1 - C_0_3 - C_0_5 - C_0_7);
4190                                  const double tmp283_1 = tmp21_0*w113;                                  const double tmp81 = w33*(-C_0_0 - C_0_2 - C_0_4 - C_0_6);
4191                                  const double tmp242_1 = C_1_7*w91;                                  const double tmp82 = w38*(C_0_1 + C_0_5);
4192                                  const double tmp234_1 = tmp30_0*w95;                                  const double tmp83 = w31*(-C_1_2 - C_1_6);
4193                                  const double tmp51_1 = tmp24_0*w103;                                  const double tmp84 = w42*(-C_2_0 - C_2_3);
4194                                  const double tmp151_1 = tmp2_0*w105;                                  const double tmp85 = w35*(-C_2_4 - C_2_7);
4195                                  const double tmp46_1 = tmp22_0*w95;                                  const double tmp86 = w37*(-C_1_0 - C_1_4);
4196                                  const double tmp120_1 = C_2_4*w101;                                  const double tmp87 = w39*(-C_1_1 - C_1_5);
4197                                  const double tmp38_1 = tmp10_0*w106;                                  const double tmp88 = w36*(C_0_0 + C_0_4);
4198                                  const double tmp413_1 = tmp15_0*w109;                                  const double tmp89 = w33*(C_0_3 + C_0_7);
4199                                  const double tmp173_1 = C_2_7*w113;                                  const double tmp90 = w30*(C_0_2 + C_0_6);
4200                                  const double tmp116_1 = C_2_7*w103;                                  const double tmp91 = w34*(-C_1_3 - C_1_7);
4201                                  const double tmp221_1 = C_0_4*w125;                                  const double tmp92 = w42*(C_2_5 + C_2_6);
4202                                  const double tmp158_1 = tmp29_0*w92;                                  const double tmp93 = w35*(C_2_1 + C_2_2);
4203                                  const double tmp30_1 = C_1_4*w91;                                  const double tmp94 = w37*(-C_1_0 - C_1_1 - C_1_4 - C_1_5);
4204                                  const double tmp154_1 = tmp38_0*w93;                                  const double tmp95 = w34*(-C_1_2 - C_1_3 - C_1_6 - C_1_7);
4205                                  const double tmp406_1 = tmp5_0*w99;                                  const double tmp96 = w38*(C_0_0 + C_0_2);
4206                                  const double tmp204_1 = C_0_0*w124;                                  const double tmp97 = w31*(C_1_6 + C_1_7);
4207                                  const double tmp452_1 = C_2_1*w122;                                  const double tmp98 = w37*(C_1_4 + C_1_5);
4208                                  const double tmp117_1 = C_2_0*w92;                                  const double tmp99 = w39*(C_1_0 + C_1_1);
4209                                  const double tmp323_1 = C_0_3*w125;                                  const double tmp100 = w36*(C_0_1 + C_0_3);
4210                                  const double tmp225_1 = tmp4_0*w96;                                  const double tmp101 = w33*(C_0_4 + C_0_6);
4211                                  const double tmp274_1 = tmp40_0*w94;                                  const double tmp102 = w30*(C_0_5 + C_0_7);
4212                                  const double tmp71_1 = C_0_2*w124;                                  const double tmp103 = w34*(C_1_2 + C_1_3);
4213                                  const double tmp43_1 = tmp23_0*w107;                                  const double tmp104 = w38*(-C_0_3 - C_0_7);
4214                                  const double tmp408_1 = tmp9_0*w94;                                  const double tmp105 = w42*(-C_2_4 - C_2_5);
4215                                  const double tmp427_1 = tmp24_0*w92;                                  const double tmp106 = w35*(-C_2_2 - C_2_3);
4216                                  const double tmp82_1 = tmp17_0*w106;                                  const double tmp107 = w37*(C_1_0 + C_1_1 + C_1_4 + C_1_5);
4217                                  const double tmp168_1 = tmp26_0*w93;                                  const double tmp108 = w32*(-C_2_0 - C_2_1);
4218                                  const double tmp276_1 = tmp10_0*w90;                                  const double tmp109 = w36*(-C_0_2 - C_0_6);
4219                                  const double tmp336_1 = C_2_3*w116;                                  const double tmp110 = w33*(-C_0_1 - C_0_5);
4220                                  const double tmp53_1 = tmp11_0*w106;                                  const double tmp111 = w30*(-C_0_0 - C_0_4);
4221                                  const double tmp161_1 = C_0_7*w98;                                  const double tmp112 = w43*(-C_2_6 - C_2_7);
4222                                  const double tmp382_1 = C_0_3*w90;                                  const double tmp113 = w34*(C_1_2 + C_1_3 + C_1_6 + C_1_7);
4223                                  const double tmp27_1 = tmp20_0*w113;                                  const double tmp114 = w38*(-C_0_0 - C_0_4);
4224                                  const double tmp73_1 = C_0_5*w125;                                  const double tmp115 = w31*(-C_1_3 - C_1_7);
4225                                  const double tmp389_1 = tmp33_0*w108;                                  const double tmp116 = w37*(-C_1_1 - C_1_5);
4226                                  const double tmp288_1 = tmp22_0*w116;                                  const double tmp117 = w39*(-C_1_0 - C_1_4);
4227                                  const double tmp258_1 = C_2_7*w100;                                  const double tmp118 = w36*(-C_0_1 - C_0_5);
4228                                  const double tmp295_1 = tmp29_0*w117;                                  const double tmp119 = w33*(-C_0_2 - C_0_6);
4229                                  const double tmp64_1 = C_0_4*w110;                                  const double tmp120 = w30*(-C_0_3 - C_0_7);
4230                                  const double tmp250_1 = tmp40_0*w97;                                  const double tmp121 = w34*(-C_1_2 - C_1_6);
4231                                  const double tmp338_1 = C_0_0*w125;                                  const double tmp122 = w31*(C_1_0 + C_1_1);
4232                                  const double tmp359_1 = tmp7_0*w109;                                  const double tmp123 = w42*(C_2_4 + C_2_5);
4233                                  const double tmp400_1 = C_1_5*w111;                                  const double tmp124 = w35*(C_2_2 + C_2_3);
4234                                  const double tmp414_1 = tmp29_0*w113;                                  const double tmp125 = w37*(C_1_2 + C_1_3);
4235                                  const double tmp214_1 = C_1_3*w115;                                  const double tmp126 = w32*(C_2_0 + C_2_1);
4236                                  const double tmp237_1 = C_0_4*w104;                                  const double tmp127 = w39*(C_1_6 + C_1_7);
4237                                  const double tmp7_1 = tmp4_0*w98;                                  const double tmp128 = w36*(C_0_2 + C_0_4);
4238                                  const double tmp145_1 = C_2_3*w122;                                  const double tmp129 = w33*(C_0_3 + C_0_5);
4239                                  const double tmp129_1 = tmp15_0*w94;                                  const double tmp130 = w43*(C_2_6 + C_2_7);
4240                                  const double tmp45_1 = C_1_1*w115;                                  const double tmp131 = w34*(C_1_4 + C_1_5);
4241                                  const double tmp124_1 = tmp14_0*w93;                                  const double tmp132 = w42*(-C_2_5 - C_2_6);
4242                                  const double tmp284_1 = tmp20_0*w117;                                  const double tmp133 = w35*(-C_2_1 - C_2_2);
4243                                  const double tmp148_1 = C_2_0*w113;                                  const double tmp134 = w37*(C_1_0 + C_1_5);
4244                                  const double tmp334_1 = C_0_7*w124;                                  const double tmp135 = w36*(C_0_1 + C_0_7);
4245                                  const double tmp257_1 = C_1_5*w99;                                  const double tmp136 = w33*(C_0_0 + C_0_6);
4246                                  const double tmp186_1 = tmp11_0*w104;                                  const double tmp137 = w34*(C_1_2 + C_1_7);
4247                                  const double tmp344_1 = C_2_6*w100;                                  const double tmp138 = w38*(-C_0_0 - C_0_2);
4248                                  const double tmp433_1 = C_0_7*w120;                                  const double tmp139 = w42*(-C_2_1 - C_2_3);
4249                                  const double tmp169_1 = C_0_3*w121;                                  const double tmp140 = w35*(-C_2_4 - C_2_6);
4250                                  const double tmp262_1 = C_1_7*w119;                                  const double tmp141 = w37*(-C_1_1 - C_1_4);
4251                                  const double tmp47_1 = tmp17_0*w104;                                  const double tmp142 = w32*(-C_2_5 - C_2_7);
4252                                  const double tmp278_1 = C_1_2*w118;                                  const double tmp143 = w36*(-C_0_1 - C_0_3);
4253                                  const double tmp217_1 = C_2_3*w101;                                  const double tmp144 = w33*(-C_0_4 - C_0_6);
4254                                  const double tmp33_1 = C_1_1*w119;                                  const double tmp145 = w30*(-C_0_5 - C_0_7);
4255                                  const double tmp157_1 = tmp30_0*w103;                                  const double tmp146 = w43*(-C_2_0 - C_2_2);
4256                                  const double tmp44_1 = tmp25_0*w109;                                  const double tmp147 = w34*(-C_1_3 - C_1_6);
4257                                  const double tmp454_1 = C_2_6*w123;                                  const double tmp148 = w36*(-C_0_3 - C_0_5);
4258                                  const double tmp205_1 = C_0_7*w125;                                  const double tmp149 = w33*(-C_0_2 - C_0_4);
4259                                  const double tmp373_1 = C_1_2*w115;                                  const double tmp150 = w42*(C_2_1 + C_2_2);
4260                                  const double tmp361_1 = tmp2_0*w111;                                  const double tmp151 = w35*(C_2_5 + C_2_6);
4261                                  const double tmp392_1 = tmp24_0*w113;                                  const double tmp152 = w37*(-C_1_2 - C_1_7);
4262                                  const double tmp308_1 = C_2_2*w116;                                  const double tmp153 = w36*(-C_0_0 - C_0_6);
4263                                  const double tmp215_1 = tmp3_0*w95;                                  const double tmp154 = w33*(-C_0_1 - C_0_7);
4264                                  const double tmp417_1 = C_0_6*w124;                                  const double tmp155 = w34*(-C_1_0 - C_1_5);
4265                                  const double tmp416_1 = tmp28_0*w112;                                  const double tmp156 = w38*(C_0_2 + C_0_6);
4266                                  const double tmp210_1 = C_2_7*w92;                                  const double tmp157 = w36*(C_0_3 + C_0_7);
4267                                  const double tmp335_1 = tmp41_0*w107;                                  const double tmp158 = w33*(C_0_0 + C_0_4);
4268                                  const double tmp429_1 = tmp22_0*w102;                                  const double tmp159 = w30*(C_0_1 + C_0_5);
4269                                  const double tmp315_1 = tmp28_0*w113;                                  const double tmp160 = w42*(C_2_0 + C_2_1);
4270                                  const double tmp435_1 = tmp19_0*w112;                                  const double tmp161 = w35*(C_2_6 + C_2_7);
4271                                  const double tmp407_1 = tmp2_0*w91;                                  const double tmp162 = w32*(C_2_4 + C_2_5);
4272                                  const double tmp365_1 = C_0_5*w98;                                  const double tmp163 = w43*(C_2_2 + C_2_3);
4273                                  const double tmp136_1 = tmp30_0*w113;                                  const double tmp164 = w42*(-C_2_4 - C_2_7);
4274                                  const double tmp218_1 = C_1_6*w111;                                  const double tmp165 = w35*(-C_2_0 - C_2_3);
4275                                  const double tmp171_1 = C_2_4*w122;                                  const double tmp166 = w37*(C_1_1 + C_1_4);
4276                                  const double tmp253_1 = C_0_7*w121;                                  const double tmp167 = w34*(C_1_3 + C_1_6);
4277                                  const double tmp123_1 = tmp35_0*w109;                                  const double tmp168 = w36*(C_0_3 + C_0_5);
4278                                  const double tmp149_1 = C_2_4*w123;                                  const double tmp169 = w33*(C_0_2 + C_0_4);
4279                                  const double tmp291_1 = tmp0_0*w96;                                  const double tmp170 = w38*(C_0_5 + C_0_7);
4280                                  const double tmp267_1 = tmp14_0*w96;                                  const double tmp171 = w42*(C_2_4 + C_2_6);
4281                                  const double tmp147_1 = tmp9_0*w109;                                  const double tmp172 = w35*(C_2_1 + C_2_3);
4282                                  const double tmp296_1 = tmp8_0*w98;                                  const double tmp173 = w37*(C_1_3 + C_1_6);
4283                                  const double tmp42_1 = tmp20_0*w92;                                  const double tmp174 = w32*(C_2_0 + C_2_2);
4284                                  const double tmp430_1 = C_0_0*w121;                                  const double tmp175 = w36*(C_0_4 + C_0_6);
4285                                  const double tmp399_1 = C_1_7*w114;                                  const double tmp176 = w33*(C_0_1 + C_0_3);
4286                                  const double tmp355_1 = tmp4_0*w106;                                  const double tmp177 = w30*(C_0_0 + C_0_2);
4287                                  const double tmp56_1 = tmp16_0*w107;                                  const double tmp178 = w43*(C_2_5 + C_2_7);
4288                                  const double tmp289_1 = tmp5_0*w97;                                  const double tmp179 = w34*(C_1_1 + C_1_4);
4289                                  const double tmp125_1 = tmp17_0*w96;                                  const double tmp180 = w31*(C_1_2 + C_1_6);
4290                                  const double tmp397_1 = tmp9_0*w111;                                  const double tmp181 = w42*(-C_2_4 - C_2_6);
4291                                  const double tmp333_1 = C_2_0*w123;                                  const double tmp182 = w35*(-C_2_1 - C_2_3);
4292                                  const double tmp15_1 = tmp11_0*w96;                                  const double tmp183 = w37*(C_1_0 + C_1_4);
4293                                  const double tmp200_1 = tmp39_0*w106;                                  const double tmp184 = w32*(-C_2_0 - C_2_2);
4294                                  const double tmp285_1 = tmp9_0*w91;                                  const double tmp185 = w39*(C_1_1 + C_1_5);
4295                                  const double tmp374_1 = C_2_1*w103;                                  const double tmp186 = w36*(C_0_1 + C_0_3 + C_0_5 + C_0_7);
4296                                  const double tmp354_1 = tmp1_0*w104;                                  const double tmp187 = w33*(C_0_0 + C_0_2 + C_0_4 + C_0_6);
4297                                  const double tmp97_1 = tmp2_0*w97;                                  const double tmp188 = w43*(-C_2_5 - C_2_7);
4298                                  const double tmp104_1 = C_2_2*w122;                                  const double tmp189 = w34*(C_1_3 + C_1_7);
4299                                  const double tmp339_1 = C_1_2*w111;                                  const double tmp190 = w38*(C_0_0 + C_0_4);
4300                                  const double tmp437_1 = C_1_1*w91;                                  const double tmp191 = w42*(-C_2_6 - C_2_7);
4301                                  const double tmp259_1 = C_0_6*w98;                                  const double tmp192 = w35*(-C_2_0 - C_2_1);
4302                                  const double tmp110_1 = tmp0_0*w98;                                  const double tmp193 = w37*(-C_1_2 - C_1_3 - C_1_6 - C_1_7);
4303                                  const double tmp419_1 = tmp30_0*w116;                                  const double tmp194 = w32*(-C_2_2 - C_2_3);
4304                                  const double tmp236_1 = C_1_5*w118;                                  const double tmp195 = w36*(C_0_1 + C_0_5);
4305                                  const double tmp41_1 = C_1_6*w114;                                  const double tmp196 = w33*(C_0_2 + C_0_6);
4306                                  const double tmp320_1 = C_0_4*w124;                                  const double tmp197 = w30*(C_0_3 + C_0_7);
4307                                  const double tmp74_1 = tmp12_0*w111;                                  const double tmp198 = w43*(-C_2_4 - C_2_5);
4308                                  const double tmp63_1 = tmp27_0*w108;                                  const double tmp199 = w34*(-C_1_0 - C_1_1 - C_1_4 - C_1_5);
4309                                  const double tmp106_1 = tmp2_0*w109;                                  const double tmp200 = w31*(C_1_4 + C_1_5);
4310                                  const double tmp150_1 = tmp4_0*w104;                                  const double tmp201 = w42*(-C_2_0 - C_2_1);
4311                                  const double tmp195_1 = tmp20_0*w112;                                  const double tmp202 = w35*(-C_2_6 - C_2_7);
4312                                  const double tmp270_1 = C_1_7*w99;                                  const double tmp203 = w37*(C_1_6 + C_1_7);
4313                                  const double tmp230_1 = C_2_1*w100;                                  const double tmp204 = w32*(-C_2_4 - C_2_5);
4314                                  const double tmp68_1 = tmp29_0*w95;                                  const double tmp205 = w39*(C_1_2 + C_1_3);
4315                                  const double tmp287_1 = tmp2_0*w94;                                  const double tmp206 = w43*(-C_2_2 - C_2_3);
4316                                  const double tmp132_1 = tmp28_0*w117;                                  const double tmp207 = w34*(C_1_0 + C_1_1);
4317                                  const double tmp423_1 = tmp12_0*w109;                                  const double tmp208 = w37*(-C_1_3 - C_1_6);
4318                                  const double tmp272_1 = tmp11_0*w98;                                  const double tmp209 = w36*(-C_0_2 - C_0_4);
4319                                  const double tmp134_1 = tmp1_0*w108;                                  const double tmp210 = w33*(-C_0_3 - C_0_5);
4320                                  const double tmp1_1 = tmp1_0*w96;                                  const double tmp211 = w34*(-C_1_1 - C_1_4);
4321                                  const double tmp301_1 = C_1_6*w115;                                  const double tmp212 = w42*(C_2_0 + C_2_3);
4322                                  const double tmp241_1 = C_2_6*w113;                                  const double tmp213 = w35*(C_2_4 + C_2_7);
4323                                  const double tmp29_1 = tmp17_0*w98;                                  const double tmp214 = w38*(-C_0_1 - C_0_5);
4324                                  const double tmp337_1 = C_1_5*w105;                                  const double tmp215 = w36*(-C_0_0 - C_0_4);
4325                                  const double tmp92_1 = tmp36_0*w95;                                  const double tmp216 = w33*(-C_0_3 - C_0_7);
4326                                  const double tmp40_1 = tmp14_0*w110;                                  const double tmp217 = w30*(-C_0_2 - C_0_6);
4327                                  const double tmp203_1 = C_0_1*w104;                                  const double tmp218 = w31*(-C_1_0 - C_1_4);
4328                                  const double tmp349_1 = C_2_1*w101;                                  const double tmp219 = w37*(-C_1_2 - C_1_6);
4329                                  const double tmp78_1 = tmp19_0*w95;                                  const double tmp220 = w39*(-C_1_3 - C_1_7);
4330                                  const double tmp266_1 = tmp17_0*w93;                                  const double tmp221 = w34*(-C_1_1 - C_1_5);
4331                                  const double tmp58_1 = tmp19_0*w117;                                  const double tmp222 = w36*(C_0_0 + C_0_6);
4332                                  const double tmp310_1 = C_0_6*w120;                                  const double tmp223 = w33*(C_0_1 + C_0_7);
4333                                  const double tmp127_1 = tmp10_0*w98;                                  const double tmp224 = w42*(C_2_2 + C_2_3);
4334                                  const double tmp307_1 = C_0_7*w90;                                  const double tmp225 = w35*(C_2_4 + C_2_5);
4335                                  const double tmp330_1 = tmp40_0*w109;                                  const double tmp226 = w32*(C_2_6 + C_2_7);
4336                                  const double tmp386_1 = tmp31_0*w95;                                  const double tmp227 = w43*(C_2_0 + C_2_1);
4337                                  const double tmp351_1 = C_1_1*w118;                                  const double tmp228 = w31*(-C_1_1 - C_1_5);
4338                                  const double tmp306_1 = C_0_0*w98;                                  const double tmp229 = w42*(-C_2_5 - C_2_7);
4339                                  const double tmp312_1 = tmp30_0*w117;                                  const double tmp230 = w35*(-C_2_0 - C_2_2);
4340                                  const double tmp108_1 = C_2_5*w123;                                  const double tmp231 = w37*(-C_1_3 - C_1_7);
4341                                  const double tmp140_1 = tmp29_0*w116;                                  const double tmp232 = w32*(-C_2_1 - C_2_3);
4342                                  const double tmp235_1 = tmp29_0*w102;                                  const double tmp233 = w39*(-C_1_2 - C_1_6);
4343                                  const double tmp293_1 = tmp34_0*w109;                                  const double tmp234 = w36*(-C_0_0 - C_0_2 - C_0_4 - C_0_6);
4344                                  const double tmp446_1 = C_1_0*w119;                                  const double tmp235 = w33*(-C_0_1 - C_0_3 - C_0_5 - C_0_7);
4345                                  const double tmp160_1 = tmp28_0*w95;                                  const double tmp236 = w43*(-C_2_4 - C_2_6);
4346                                  const double tmp393_1 = tmp22_0*w117;                                  const double tmp237 = w34*(-C_1_0 - C_1_4);
4347                                  const double tmp231_1 = C_2_6*w101;                                  const double tmp238 = w31*(C_1_3 + C_1_7);
4348                                  const double tmp233_1 = tmp31_0*w92;                                  const double tmp239 = w37*(C_1_1 + C_1_5);
4349                                  const double tmp8_1 = tmp5_0*w91;                                  const double tmp240 = w39*(C_1_0 + C_1_4);
4350                                  const double tmp229_1 = C_2_2*w92;                                  const double tmp241 = w34*(C_1_2 + C_1_6);
4351                                  const double tmp128_1 = tmp16_0*w91;                                  const double tmp242 = w31*(-C_1_6 - C_1_7);
4352                                  const double tmp187_1 = tmp14_0*w106;                                  const double tmp243 = w42*(-C_2_2 - C_2_3);
4353                                  const double tmp86_1 = tmp8_0*w106;                                  const double tmp244 = w35*(-C_2_4 - C_2_5);
4354                                  const double tmp49_1 = C_1_3*w105;                                  const double tmp245 = w37*(-C_1_4 - C_1_5);
4355                                  const double tmp447_1 = C_1_7*w118;                                  const double tmp246 = w32*(-C_2_6 - C_2_7);
4356                                  const double tmp442_1 = C_1_6*w105;                                  const double tmp247 = w39*(-C_1_0 - C_1_1);
4357                                  const double tmp77_1 = tmp33_0*w96;                                  const double tmp248 = w43*(-C_2_0 - C_2_1);
4358                                  const double tmp358_1 = tmp9_0*w107;                                  const double tmp249 = w34*(-C_1_2 - C_1_3);
4359                                  const double tmp292_1 = tmp35_0*w107;                                  const double tmp250 = w31*(-C_1_0 - C_1_1);
4360                                  const double tmp81_1 = tmp13_0*w102;                                  const double tmp251 = w37*(-C_1_2 - C_1_3);
4361                                  const double tmp206_1 = tmp27_0*w106;                                  const double tmp252 = w39*(-C_1_6 - C_1_7);
4362                                  const double tmp366_1 = C_0_2*w90;                                  const double tmp253 = w34*(-C_1_4 - C_1_5);
4363                                  const double tmp448_1 = tmp22_0*w103;                                  const double tmp254 = w42*(C_2_0 + C_2_2);
4364                                  const double tmp156_1 = tmp39_0*w96;                                  const double tmp255 = w35*(C_2_5 + C_2_7);
4365                                  const double tmp105_1 = tmp5_0*w107;                                  const double tmp256 = w32*(C_2_4 + C_2_6);
4366                                  const double tmp179_1 = tmp25_0*w94;                                  const double tmp257 = w43*(C_2_1 + C_2_3);
4367                                  const double tmp364_1 = tmp26_0*w96;                                  const double tmp258 = w42*(-C_2_0 - C_2_1 - C_2_2 - C_2_3);
4368                                  const double tmp449_1 = tmp21_0*w92;                                  const double tmp259 = w35*(-C_2_4 - C_2_5 - C_2_6 - C_2_7);
4369                                  const double tmp453_1 = C_2_2*w113;                                  const double tmp260 = w42*(C_2_1 + C_2_3);
4370                                  const double tmp12_1 = tmp8_0*w90;                                  const double tmp261 = w35*(C_2_4 + C_2_6);
4371                                  const double tmp59_1 = tmp13_0*w112;                                  const double tmp262 = w32*(C_2_5 + C_2_7);
4372                                  const double tmp99_1 = C_2_6*w103;                                  const double tmp263 = w43*(C_2_0 + C_2_2);
4373                                  const double tmp327_1 = C_0_1*w110;                                  EM_S[INDEX2(0,0,8)]+=-C_0_0*w47 - C_0_1*w38 - C_0_6*w30 - C_0_7*w46 + C_1_0*w44 - C_1_2*w39 - C_1_5*w31 + C_1_7*w45 - C_2_0*w40 - C_2_3*w32 - C_2_4*w43 - C_2_7*w41 + tmp132 + tmp133 + tmp208 + tmp209 + tmp210 + tmp211;
4374                                  const double tmp50_1 = C_1_4*w111;                                  EM_S[INDEX2(0,1,8)]+=C_0_0*w47 + C_0_1*w38 + C_0_6*w30 + C_0_7*w46 + tmp128 + tmp129 + tmp242 + tmp243 + tmp244 + tmp245 + tmp246 + tmp247 + tmp248 + tmp249;
4375                                  const double tmp126_1 = tmp18_0*w99;                                  EM_S[INDEX2(0,2,8)]+=-C_1_0*w44 + C_1_2*w39 + C_1_5*w31 - C_1_7*w45 + tmp138 + tmp139 + tmp140 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp173 + tmp179;
4376                                  const double tmp445_1 = C_1_5*w91;                                  EM_S[INDEX2(0,3,8)]+=tmp100 + tmp101 + tmp102 + tmp103 + tmp42 + tmp43 + tmp96 + tmp97 + tmp98 + tmp99;
4377                                  const double tmp152_1 = C_2_7*w116;                                  EM_S[INDEX2(0,4,8)]+=C_2_0*w40 + C_2_3*w32 + C_2_4*w43 + C_2_7*w41 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp92 + tmp93;
4378                                  const double tmp76_1 = tmp32_0*w93;                                  EM_S[INDEX2(0,5,8)]+=tmp190 + tmp193 + tmp195 + tmp196 + tmp197 + tmp199 + tmp224 + tmp225 + tmp226 + tmp227;
4379                                  const double tmp80_1 = tmp35_0*w97;                                  EM_S[INDEX2(0,6,8)]+=tmp234 + tmp235 + tmp238 + tmp239 + tmp240 + tmp241 + tmp260 + tmp261 + tmp262 + tmp263;
4380                                  const double tmp146_1 = tmp7_0*w107;                                  EM_S[INDEX2(0,7,8)]+=tmp60 + tmp61 + tmp62 + tmp63 + tmp64 + tmp65;
4381                                  const double tmp197_1 = tmp21_0*w116;                                  EM_S[INDEX2(1,0,8)]+=-C_0_0*w38 - C_0_1*w47 - C_0_6*w46 - C_0_7*w30 + tmp148 + tmp149 + tmp242 + tmp243 + tmp244 + tmp245 + tmp246 + tmp247 + tmp248 + tmp249;
4382                                  const double tmp111_1 = tmp36_0*w112;                                  EM_S[INDEX2(1,1,8)]+=C_0_0*w38 + C_0_1*w47 + C_0_6*w46 + C_0_7*w30 + C_1_1*w44 - C_1_3*w39 - C_1_4*w31 + C_1_6*w45 - C_2_1*w40 - C_2_2*w32 - C_2_5*w43 - C_2_6*w41 + tmp152 + tmp155 + tmp164 + tmp165 + tmp168 + tmp169;
4383                                  const double tmp115_1 = tmp7_0*w111;                                  EM_S[INDEX2(1,2,8)]+=tmp103 + tmp40 + tmp42 + tmp43 + tmp46 + tmp47 + tmp48 + tmp97 + tmp98 + tmp99;
4384                                  const double tmp396_1 = tmp7_0*w105;                                  EM_S[INDEX2(1,3,8)]+=-C_1_1*w44 + C_1_3*w39 + C_1_4*w31 - C_1_6*w45 + tmp20 + tmp21 + tmp22 + tmp23 + tmp24 + tmp25 + tmp26 + tmp27 + tmp28 + tmp29;
4385                                  const double tmp248_1 = C_1_2*w119;                                  EM_S[INDEX2(1,4,8)]+=tmp193 + tmp199 + tmp214 + tmp215 + tmp216 + tmp217 + tmp224 + tmp225 + tmp226 + tmp227;
4386                                  const double tmp390_1 = tmp2_0*w107;                                  EM_S[INDEX2(1,5,8)]+=C_2_1*w40 + C_2_2*w32 + C_2_5*w43 + C_2_6*w41 + tmp72 + tmp73 + tmp82 + tmp83 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91;
4387                                  const double tmp119_1 = tmp6_0*w95;                                  EM_S[INDEX2(1,6,8)]+=tmp60 + tmp61 + tmp62 + tmp65 + tmp80 + tmp81;
4388                                  const double tmp440_1 = C_1_4*w115;                                  EM_S[INDEX2(1,7,8)]+=tmp180 + tmp183 + tmp185 + tmp186 + tmp187 + tmp189 + tmp254 + tmp255 + tmp256 + tmp257;
4389                                  const double tmp6_1 = tmp3_0*w117;                                  EM_S[INDEX2(2,0,8)]+=-C_1_0*w39 + C_1_2*w44 + C_1_5*w45 - C_1_7*w31 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147;
4390                                  const double tmp346_1 = C_0_6*w125;                                  EM_S[INDEX2(2,1,8)]+=tmp100 + tmp101 + tmp102 + tmp41 + tmp42 + tmp43 + tmp44 + tmp45 + tmp49 + tmp96;
4391                                  const double tmp144_1 = tmp8_0*w110;                                  EM_S[INDEX2(2,2,8)]+=-C_0_2*w47 - C_0_3*w38 - C_0_4*w30 - C_0_5*w46 + C_1_0*w39 - C_1_2*w44 - C_1_5*w45 + C_1_7*w31 - C_2_1*w32 - C_2_2*w40 - C_2_5*w41 - C_2_6*w43 + tmp153 + tmp154 + tmp164 + tmp165 + tmp166 + tmp167;
4392                                  const double tmp249_1 = C_2_1*w116;                                  EM_S[INDEX2(2,3,8)]+=C_0_2*w47 + C_0_3*w38 + C_0_4*w30 + C_0_5*w46 + tmp200 + tmp201 + tmp202 + tmp203 + tmp204 + tmp205 + tmp206 + tmp207 + tmp222 + tmp223;
4393                                  const double tmp318_1 = tmp29_0*w112;                                  EM_S[INDEX2(2,4,8)]+=tmp228 + tmp231 + tmp233 + tmp234 + tmp235 + tmp237 + tmp260 + tmp261 + tmp262 + tmp263;
4394                                  const double tmp265_1 = C_1_0*w118;                                  EM_S[INDEX2(2,5,8)]+=tmp60 + tmp61 + tmp63 + tmp64 + tmp94 + tmp95;
4395                                  const double tmp387_1 = tmp28_0*w102;                                  EM_S[INDEX2(2,6,8)]+=C_2_1*w32 + C_2_2*w40 + C_2_5*w41 + C_2_6*w43 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79;
4396                                  const double tmp130_1 = tmp11_0*w90;                                  EM_S[INDEX2(2,7,8)]+=tmp107 + tmp113 + tmp156 + tmp157 + tmp158 + tmp159 + tmp160 + tmp161 + tmp162 + tmp163;
4397                                  const double tmp348_1 = C_1_3*w91;                                  EM_S[INDEX2(3,0,8)]+=tmp40 + tmp41 + tmp42 + tmp43 + tmp44 + tmp45 + tmp46 + tmp47 + tmp48 + tmp49;
4398                                  const double tmp252_1 = tmp39_0*w93;                                  EM_S[INDEX2(3,1,8)]+=-C_1_1*w39 + C_1_3*w44 + C_1_4*w45 - C_1_6*w31 + tmp20 + tmp21 + tmp22 + tmp24 + tmp25 + tmp26 + tmp27 + tmp28 + tmp33 + tmp39;
4399                                  const double tmp85_1 = tmp10_0*w104;                                  EM_S[INDEX2(3,2,8)]+=-C_0_2*w38 - C_0_3*w47 - C_0_4*w46 - C_0_5*w30 + tmp200 + tmp201 + tmp202 + tmp203 + tmp204 + tmp205 + tmp206 + tmp207 + tmp56 + tmp57;
4400                                  const double tmp21_1 = tmp17_0*w90;                                  EM_S[INDEX2(3,3,8)]+=C_0_2*w38 + C_0_3*w47 + C_0_4*w46 + C_0_5*w30 + C_1_1*w39 - C_1_3*w44 - C_1_4*w45 + C_1_6*w31 - C_2_0*w32 - C_2_3*w40 - C_2_4*w41 - C_2_7*w43 + tmp132 + tmp133 + tmp134 + tmp135 + tmp136 + tmp137;
4401                                  const double tmp90_1 = tmp9_0*w99;                                  EM_S[INDEX2(3,4,8)]+=tmp60 + tmp61 + tmp80 + tmp81 + tmp94 + tmp95;
4402                                  const double tmp232_1 = tmp28_0*w103;                                  EM_S[INDEX2(3,5,8)]+=tmp186 + tmp187 + tmp218 + tmp219 + tmp220 + tmp221 + tmp254 + tmp255 + tmp256 + tmp257;
4403                                  const double tmp441_1 = C_1_3*w114;                                  EM_S[INDEX2(3,6,8)]+=tmp104 + tmp107 + tmp109 + tmp110 + tmp111 + tmp113 + tmp160 + tmp161 + tmp162 + tmp163;
4404                                  const double tmp360_1 = tmp5_0*w105;                                  EM_S[INDEX2(3,7,8)]+=C_2_0*w32 + C_2_3*w40 + C_2_4*w41 + C_2_7*w43 + tmp0 + tmp1 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8 + tmp9 + tmp92 + tmp93;
4405                                  const double tmp4_1 = C_2_3*w113;                                  EM_S[INDEX2(4,0,8)]+=-C_2_0*w43 - C_2_3*w41 - C_2_4*w40 - C_2_7*w32 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp2 + tmp3;
4406                                  const double tmp313_1 = C_0_2*w110;                                  EM_S[INDEX2(4,1,8)]+=tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp198 + tmp199;
4407                                  const double tmp135_1 = tmp4_0*w110;                                  EM_S[INDEX2(4,2,8)]+=tmp229 + tmp230 + tmp232 + tmp234 + tmp235 + tmp236 + tmp238 + tmp239 + tmp240 + tmp241;
4408                                  const double tmp155_1 = C_0_6*w121;                                  EM_S[INDEX2(4,3,8)]+=tmp258 + tmp259 + tmp62 + tmp63 + tmp64 + tmp65;
4409                                  const double tmp20_1 = tmp16_0*w94;                                  EM_S[INDEX2(4,4,8)]+=-C_0_2*w30 - C_0_3*w46 - C_0_4*w47 - C_0_5*w38 - C_1_1*w31 + C_1_3*w45 + C_1_4*w44 - C_1_6*w39 + C_2_0*w43 + C_2_3*w41 + C_2_4*w40 + C_2_7*w32 + tmp150 + tmp151 + tmp152 + tmp153 + tmp154 + tmp155;
4410                                  const double tmp432_1 = C_0_6*w90;                                  EM_S[INDEX2(4,5,8)]+=C_0_2*w30 + C_0_3*w46 + C_0_4*w47 + C_0_5*w38 + tmp222 + tmp223 + tmp50 + tmp51 + tmp52 + tmp53 + tmp54 + tmp55 + tmp58 + tmp59;
4411                                  const double tmp227_1 = tmp0_0*w90;                                  EM_S[INDEX2(4,6,8)]+=C_1_1*w31 - C_1_3*w45 - C_1_4*w44 + C_1_6*w39 + tmp23 + tmp29 + tmp30 + tmp31 + tmp32 + tmp34 + tmp35 + tmp36 + tmp37 + tmp38;
4412                                  const double tmp269_1 = tmp22_0*w92;                                  EM_S[INDEX2(4,7,8)]+=tmp10 + tmp11 + tmp12 + tmp13 + tmp14 + tmp15 + tmp16 + tmp17 + tmp18 + tmp19;
4413                                  const double tmp261_1 = C_2_0*w101;                                  EM_S[INDEX2(5,0,8)]+=tmp191 + tmp192 + tmp193 + tmp194 + tmp198 + tmp199 + tmp214 + tmp215 + tmp216 + tmp217;
4414                                  const double tmp19_1 = tmp15_0*w91;                                  EM_S[INDEX2(5,1,8)]+=-C_2_1*w43 - C_2_2*w41 - C_2_5*w40 - C_2_6*w32 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91;
4415                                  const double tmp16_1 = tmp12_0*w99;                                  EM_S[INDEX2(5,2,8)]+=tmp258 + tmp259 + tmp62 + tmp65 + tmp80 + tmp81;
4416                                  const double tmp395_1 = tmp20_0*w116;                                  EM_S[INDEX2(5,3,8)]+=tmp180 + tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp189;
4417                                  const double tmp356_1 = tmp8_0*w108;                                  EM_S[INDEX2(5,4,8)]+=-C_0_2*w46 - C_0_3*w30 - C_0_4*w38 - C_0_5*w47 + tmp50 + tmp51 + tmp52 + tmp53 + tmp54 + tmp55 + tmp56 + tmp57 + tmp58 + tmp59;
4418                                  const double tmp222_1 = tmp6_0*w102;                                  EM_S[INDEX2(5,5,8)]+=C_0_2*w46 + C_0_3*w30 + C_0_4*w38 + C_0_5*w47 - C_1_0*w31 + C_1_2*w45 + C_1_5*w44 - C_1_7*w39 + C_2_1*w43 + C_2_2*w41 + C_2_5*w40 + C_2_6*w32 + tmp135 + tmp136 + tmp208 + tmp211 + tmp212 + tmp213;
4419                                  const double tmp281_1 = tmp32_0*w96;                                  EM_S[INDEX2(5,6,8)]+=tmp11 + tmp12 + tmp13 + tmp14 + tmp15 + tmp19 + tmp66 + tmp67 + tmp68 + tmp69;
4420                                  const double tmp164_1 = C_0_0*w90;                                  EM_S[INDEX2(5,7,8)]+=C_1_0*w31 - C_1_2*w45 - C_1_5*w44 + C_1_7*w39 + tmp170 + tmp171 + tmp172 + tmp173 + tmp174 + tmp175 + tmp176 + tmp177 + tmp178 + tmp179;
4421                                  const double tmp375_1 = C_1_5*w114;                                  EM_S[INDEX2(6,0,8)]+=tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp233 + tmp234 + tmp235 + tmp236 + tmp237;
4422                                  const double tmp238_1 = C_0_3*w110;                                  EM_S[INDEX2(6,1,8)]+=tmp258 + tmp259 + tmp63 + tmp64 + tmp94 + tmp95;
4423                                  const double tmp340_1 = C_2_2*w103;                                  EM_S[INDEX2(6,2,8)]+=-C_2_1*w41 - C_2_2*w43 - C_2_5*w32 - C_2_6*w40 + tmp70 + tmp71 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp84 + tmp85;
4424                                  const double tmp290_1 = tmp1_0*w93;                                  EM_S[INDEX2(6,3,8)]+=tmp105 + tmp106 + tmp107 + tmp108 + tmp112 + tmp113 + tmp156 + tmp157 + tmp158 + tmp159;
4425                                  const double tmp311_1 = C_1_3*w111;                                  EM_S[INDEX2(6,4,8)]+=C_1_1*w45 - C_1_3*w31 - C_1_4*w39 + C_1_6*w44 + tmp30 + tmp31 + tmp32 + tmp33 + tmp34 + tmp35 + tmp36 + tmp37 + tmp38 + tmp39;
4426                                  const double tmp162_1 = tmp18_0*w91;                                  EM_S[INDEX2(6,5,8)]+=tmp10 + tmp12 + tmp13 + tmp16 + tmp17 + tmp18 + tmp250 + tmp251 + tmp252 + tmp253;
4427                                  const double tmp107_1 = C_2_1*w113;                                  EM_S[INDEX2(6,6,8)]+=-C_0_0*w30 - C_0_1*w46 - C_0_6*w47 - C_0_7*w38 - C_1_1*w45 + C_1_3*w31 + C_1_4*w39 - C_1_6*w44 + C_2_1*w41 + C_2_2*w43 + C_2_5*w32 + C_2_6*w40 + tmp134 + tmp137 + tmp209 + tmp210 + tmp212 + tmp213;
4428                                  const double tmp401_1 = C_1_2*w105;                                  EM_S[INDEX2(6,7,8)]+=C_0_0*w30 + C_0_1*w46 + C_0_6*w47 + C_0_7*w38 + tmp122 + tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131;
4429                                  const double tmp87_1 = tmp4_0*w108;                                  EM_S[INDEX2(7,0,8)]+=tmp258 + tmp259 + tmp80 + tmp81 + tmp94 + tmp95;
4430                                  const double tmp172_1 = C_1_1*w99;                                  EM_S[INDEX2(7,1,8)]+=tmp181 + tmp182 + tmp184 + tmp186 + tmp187 + tmp188 + tmp218 + tmp219 + tmp220 + tmp221;
4431                                  const double tmp402_1 = C_0_2*w121;                                  EM_S[INDEX2(7,2,8)]+=tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113;
4432                                  const double tmp434_1 = tmp13_0*w117;                                  EM_S[INDEX2(7,3,8)]+=-C_2_0*w41 - C_2_3*w43 - C_2_4*w32 - C_2_7*w40 + tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6 + tmp7 + tmp8 + tmp9;
4433                                  const double tmp394_1 = tmp21_0*w112;                                  EM_S[INDEX2(7,4,8)]+=tmp12 + tmp13 + tmp250 + tmp251 + tmp252 + tmp253 + tmp66 + tmp67 + tmp68 + tmp69;
4434                                  const double tmp191_1 = tmp41_0*w109;                                  EM_S[INDEX2(7,5,8)]+=C_1_0*w45 - C_1_2*w31 - C_1_5*w39 + C_1_7*w44 + tmp141 + tmp147 + tmp170 + tmp171 + tmp172 + tmp174 + tmp175 + tmp176 + tmp177 + tmp178;
4435                                  const double tmp325_1 = tmp38_0*w106;                                  EM_S[INDEX2(7,6,8)]+=-C_0_0*w46 - C_0_1*w30 - C_0_6*w38 - C_0_7*w47 + tmp122 + tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp130 + tmp131 + tmp148 + tmp149;
4436                                  const double tmp91_1 = C_2_2*w100;                                  EM_S[INDEX2(7,7,8)]+=C_0_0*w46 + C_0_1*w30 + C_0_6*w38 + C_0_7*w47 - C_1_0*w45 + C_1_2*w31 + C_1_5*w39 - C_1_7*w44 + C_2_0*w41 + C_2_3*w43 + C_2_4*w32 + C_2_7*w40 + tmp150 + tmp151 + tmp166 + tmp167 + tmp168 + tmp169;
                                 const double tmp35_1 = tmp14_0*w90;  
                                 const double tmp279_1 = tmp24_0*w102;  
                                 const double tmp436_1 = C_1_6*w99;